📄 ad conversion.asm
字号:
ORG 0000H
LJMP START
ORG 0100H
START: MOV A,#80H
MOV DPTR,#0FF7FH
MOVX @DPTR,A
MAIN: LCALL ADCON ;调用AD子程序
LCALL DISPLAY ;调用显示子程序
LCALL DACON ;调用DA子程序
LJMP MAIN
DISPLAY:MOV R2,#0FEH ;数码显示子程序,选择数码管点亮位置
MOV R0,#60H ;设置显示起始地址
LOOP2: MOV A,R2
MOV DPTR,#0FF7CH ;选择PA作为数码管片选输出
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#DSEG1
MOVC A,@A+DPTR ;数据查表
MOV DPTR,#0FF7EH
MOVX @DPTR,A
LCALL DL1ms
MOV A,R2
RL A
MOV R2,A
INC R0
CJNE R0,#062H,LOOP2
RET
DL1ms: MOV R7,#02H ;软件延时子程序
DL: MOV R6,#0FFH
DL6: DJNZ R6,DL6
DJNZ R7,DL
RET
ADCON: MOV DPTR,#7FF8H ;AD转换子程序,P2.7口做为片选信号
MOVX @DPTR,A
LCALL DL1ms ;等待AD转换完毕
MOVX A,@DPTR ;AD信号读入寄存器A中
MOV 66H,A ;把A中数据保存在66H中
ANL A,#0FH ;保留字节低四位
MOV 61H,A ;低四位保存在61H中
MOV A,66H
SWAP A
ANL A,#0FH
MOV 60H,A
RET
DACON: MOV DPTR,#7EFFH ;P2.0做为片选信号
MOV A,66H
MOVX @DPTR,A
RET
DSEG1: DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H,73H,3EH
DB 31H,6EH,1CH,23H,40H,03H
DB 18H,00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -