附录C 实物图
21
附录D 程序清单
项目名称:数字电压表 设 计 者:xxx
时 间:2016年x月
项目功能:设计一个能够测量直流电压的数字电压表
*******************************************************************
ORG START: LJMP 0000H //初始化 MAINP //跳转主程序 ORG
LJMP
MAINP: MOV P2, #00H // SETB P2.4 //P2.4 MOV P1, #0CH //
LCALL MAIN: MOV SP, #2FH // MOV DPTR, #0FEF8H SETB SETB
MOVX @DPTR, A //HERE: LJMP INOT1: MOVX A, @DPTR MOV DIV MOV MOV MOV DIV MOV MOV MOV MOV MOV MOVC MOV
MOV
将00H送入P2 口置1 将0CH送入P1 长跳转延时
将2FH送入堆栈 将A内容读到外部
将AB相除 将A中商给R0 将B中余数给A 将AB相除 将A中的商给R1 将B中余数给A 查表 将A送入P1
22
0013H INOT1
DELAY2 // EA EX1 HERE
B,
#51
A // B // #5
A // B // A
#TAB // R0 @A+DPTR #04H
A // AB // R0, A, B,
AB // R1, A,
R2, DPTR, A, A,
P2, P1,
LCALL DELAY MOV MOVC MOV MOV MOV MOVC MOV MOV
A, A,
R1 //将R1送入A @A+DPTR
#08H //将08H送入P2 A //将A送入P1
P2, P1, A, A,
LCALL DELAY
R2
@A+DPTR
#10H //将10H送入P2 A
P2, P1,
LCALL DELAY
MOV DPTR, #0FEF8H
MOVX @DPTR, A //将A送入DPTR RETI
DELAY: ;100US: ;误差 0us MOV R6, #01H DL0: MOV R5, #2FH
DJNZ R5, $ //减1转移 DJNZ R6, DL0
RET //返回 DELAY2:;2S误差 0us
MOV R7, #7FH //将7FH送入R7 DL7: MOV R6, #0EBH //将0EBH送入R6 DL6: MOV R5, #20H //将20H送入R5 DJNZ R5, $ //减1转移 DJNZ R6, DL6 DJNZ R7, DL7 NOP RET TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
23