单片机课程设计简易数字电压表的设计.docx
- 文档编号:9950133
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:18
- 大小:1.32MB
单片机课程设计简易数字电压表的设计.docx
《单片机课程设计简易数字电压表的设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计简易数字电压表的设计.docx(18页珍藏版)》请在冰豆网上搜索。
单片机课程设计简易数字电压表的设计
单片机课程设计
-----------简易数字电压表的设计
RTX
2011-7
湖北:
:
汽院:
:
电系
简易数字电压表的设计
1.功能要求
简易数字电压表的设计可以测量0~5V的8路输入电压值,并在四位上轮流显示或单路选择显示。
测量最小分辨率为0.019V,测量误差为±0.02V。
2.硬件图
硬件图分解:
简化图
3.算法
ADC0809的模拟数量与数字输出量的对应关系
用整数运算实现实数运算(上图中的对应关系)的结果
4.程序代码:
ORG0000H
LJMPSTART
PressEQU30H
ORG0050H
START:
MOVP1,#0FFH;效果:
’8.’从右→左移动(一次)
MOVR0,#11110111B
MOVR3,#4
Retest:
MOVR6,#0FFH
Test:
MOVP0,#0FFH
MOVA,R0
MOVP1,A
CALLD10ms
MOVP1,#0FFH
DJNZR6,Test
CALLD10ms
RRA
MOVR0,A
DJNZR3,Retest
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVP1,#0FFH;;效果:
显示’H.E.L.P.’一段时间
;MOVR0,#11111110B
MOVR6,#0FFH
REHLP:
MOVDPTR,#Help
MOVR0,#11111110B;;;;;;;;;;;;;
MOVR3,#4
HLP:
CLRA
MOVCA,@A+DPTR
MOVP0,A
MOVA,R0
MOVP1,A
CALLD10ms
;MOVP1,#0FFH
INCDPTR
RLA
MOVR0,A
DJNZR3,HLP
DJNZR6,REHLP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVP1,#0FFH;效果:
显示’1.0-0.’一段时间
;MOVR0,#11111110B
MOVR6,#0FFH
REMOD11:
MOVDPTR,#MOD1
MOVR0,#11111110B;;;;;;;;;;;;;
MOVR3,#4
MOD11:
CLRA
MOVCA,@A+DPTR
MOVP0,A
MOVA,R0
MOVP1,A
CALLD10ms
;MOVP1,#0FFH
INCDPTR
RLA
MOVR0,A
DJNZR3,MOD11
DJNZR6,REMOD11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVP1,#0FFH;效果:
显示’2.0-7.’一段时间
;MOVR0,#11111110B
MOVR6,#0FFH
REMOD21:
MOVDPTR,#MOD2
MOVR0,#11111110B;;;;;;;;;;;;;
MOVR3,#4
MOD21:
CLRA
MOVCA,@A+DPTR
MOVP0,A
MOVA,R0
MOVP1,A
CALLD10ms
;MOVP1,#0FFH
INCDPTR
RLA
MOVR0,A
DJNZR3,MOD21
DJNZR6,REMOD21
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVP1,#0FFH;等待键入选择
WaitPress:
MOVA,P1
CPLA
JZWaitPress
MOVA,P1
CALLD10ms
MOVPress,P1
CJNEA,Press,WaitPress;去抖动
ANLA,#00010000B;S1:
模式(MODE1)
JZMODE1
MOVA,Press
ANLA,#00100000B;S2:
模式(MODE2)
JZMODE2
MOVP1,#0FFH;S3,S4未定义
JMPWaitPress
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MODE1:
MOVP1,#0FFH;模式1:
IN0:
单道电压显示
CLREA
MOVDPTR,#7FF8H;P2.7=0,IN0
MOVX@DPTR,A;P2=7FH,P0=F8H,写(/WR=0,/RD=1)
Waiting1:
JNBP3.3,Waiting1
MOVXA,@DPTR;P2=7FH,P0=F8H,读(/RD=0,/WR=1)
Conver1:
MOVB,#51
DIVAB
MOVDPTR,#LED
MOVCA,@A+DPTR
ADDA,#10000000B;第1个LED的小数点dp亮
MOVP0,A
CLRP1.0;第1个LED亮
MOVR0,#11111110B
MOVR1,#3
NEXT1:
CALLD10ms
MOVP1,#0FFH;
MOVA,B
MOVB,#10
MULAB;这之后B不是’1’就是’0’:
最大50*10=01f4H
JBPSW.2,BEQU11;PSW.2就是OV
MOVB,#51
DIVAB
JMPDISP1
BEQU11:
INCA
MOVB,#51
DIVAB
ADDA,#5
DISP1:
MOVDPTR,#LED
MOVCA,@A+DPTR
MOVP0,A
MOVA,R0
RLA
MOVR0,A
MOVP1,A
CALLD10ms
DJNZR1,NEXT1;显示完4位LED为止
MOVP1,#0FFH
JMPMODE1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MODE2:
MOVP1,#0FFH;模式2:
IN0-IN7:
多道电压循环显示
CLREA
MOVDPTR,#7FF8H;P2.7=0
MOVR7,#00H;R7为通道
NEXT2In:
MOVR6,#0FFH
ThisIn:
MOVX@DPTR,A;IN0时P2=7FH,P0=F8H,写(/WR=0,/RD=1)
Waiting2:
JNBP3.3,Waiting2
MOVXA,@DPTR;IN0时P2=7FH,P0=F8H,读(/RD=0,/WR=1)
MOVR2,A;R2为0809的二进制转换结果
Conver2:
MOVA,R7
MOVDPTR,#LED
MOVCA,@A+DPTR
MOVP0,A
CLRP1.0
CALLD10ms
MOVP1,#0FFH
MOVA,R2
MOVB,#51
DIVAB
MOVDPTR,#LED
MOVCA,@A+DPTR
ADDA,#10000000B;第2个LED的小数点dp亮
MOVP0,A
CLRP1.1;第2个LED亮
MOVR0,#11111101B;R0控制LED
MOVR1,#2
NEXT2:
CALLD10ms
MOVP1,#0FFH;
MOVA,B
MOVB,#10
MULAB
JBPSW.2,BEQU12
MOVB,#51
DIVAB
JMPDISP
BEQU12:
INCA
MOVB,#51
DIVAB
ADDA,#5
DISP:
MOVDPTR,#LED
MOVCA,@A+DPTR
MOVP0,A
MOVA,R0
RLA
MOVR0,A
MOVP1,A
CALLD10ms
DJNZR1,NEXT2;显示完4位LED为止
CALLD10ms
MOVP1,#0FFH
;MOVA,R2
MOVA,R7;还原DPTR
ADDA,#0F8H;相加之和最大为0FFH
MOVDPL,A
MOVDPH,#7FH
DJNZR6,ThisIn
CALLD1s
;MOVA,R7
;ADDA,#0F8H
;MOVDPL,A
;MOVDPH,#7FH
INCDPTR
INCR7
MOVA,R7
CLRC
SUBBA,#8
JZMODE2
JMPNEXT2In
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D10ms:
MOVR4,#01H;延时10ms
D1ms:
MOVR5,#249
DL:
NOP
NOP
DJNZR5,DL
DJNZR4,D1ms
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D1s:
MOVR3,#100;延时1s
D:
CALLD10ms
DJNZR3,D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;共阴极;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LED:
DB3FH,06H,5BH,4FH,66H;0-4
DB6DH,7DH,07H,7FH,6FH;5-9
Help:
DB0F6H,0F9H,0B8H,0F3H;H.E.L.P
MOD1:
DB86H,3FH,40H,3FH;1.0-0
MOD2:
DB0DBH,3FH,40H,07H;2.0-7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END
实验效果图
模式1:
IN0
模式2:
IN0->IN7
IN0
IN1
…………
IN5
………
提示:
按复位键可以重新进行模式选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 简易 数字 电压表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)