MOVC A,@A+DPTR MOV SBUF,A D1: JNB TI,D1 17 CLR TI
MOV DPTR,#SETTAB MOV A,SHI MOVC A,@A+DPTR MOV SBUF,A D2: JNB TI,D2 CLR TI
MOV DPTR,#SETTAB MOV A,BEI MOVC A,@A+DPTR MOV SBUF,A D3: JNB TI,D3 CLR TI
MOV DPTR,#SETTAB MOV A,QIAN MOVC A,@A+DPTR MOV SBUF,A D4: JNB TI,D4
CLR TI
;///////////////////////////////////////////// ;个,十,百,千的依次加一///////////////////// INC GEE MOV A,GEE
CJNE A,#0AH,DISPLAY MOV GEE,#00H INC SHI MOV A,SHI
CJNE A,#0AH,DISPLAY 18
MOV SHI,#00H INC BEI MOV A,BEI
CJNE A,#0AH,DISPLAY MOV BEI,#00H INC QIAN MOV A,QIAN
CJNE A,#0AH,DISPLAY MOV QIAN,#00H AJMP DISPLAY
;//////////////////////////////////////////////////
;延时////////////////////////////////////////////// DELAY: MOV R1,#0FFH E1: MOV R2,#0FFH DJNZ R2,$ DJNZ R1,E1 RET
;///////////////////////////////////////////// SETTAB:
DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH, F6H,0EEH,3EH,9CH,7AH,9EH,8EH ;数显代码 END 七、AD 转换
7.1 AD转换(数码显示)
程序介绍:利用ADC0809模拟通道3输入电压,经单片机 19
处理后在数码管上用相对应的16进制数显示出来,0—5V对 应为0--0FFH,实际应用例如:数据采集。
程序操作:程序写完上电运行后,用本机配带的专用起微调 图15所示电位器,会在数码管上看到随不同电压而变化的对 应16进制值。也可以用 万用表实ADC0809IN3脚 电压,来检验所对应显
示的16进制数。 图15
程序实例(ad.asm): ORG 0000H MAIN1:
ACALL DELAY ;延时 ACALL AD ;呼叫AD子程序
;将转换的数字量屏蔽高位低位送显//////////////////// MOV 31H,30H MOV A,30H ANL A,#0FH MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV SBUF,A D1: JNB TI,D1 CLR TI
;////////////////////////////////////////////////// ;将转换的数字量屏蔽低位高位送显//////////////////// MOV A,30H 20
ANL A,#0F0H SWAP A
MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV SBUF,A D2: JNB TI,D2 CLR TI
;////////////////////////////////////////////////// AJMP MAIN1 ;返回主程序
AD: MOV DPTR,#7F00H ;指向转换地址 MOV A,#03H ;指向转换口 MOVX @DPTR,A ;转换 MOV R1,#64H
D3: DJNZ R1,D3 ;等100微秒转换完 MOVX A,@DPTR ;转换后的值给A MOV 30H,A ;转换的值给30H RET
DELAY: ;延时 MOV R2,#0FFH D14: MOV R3,#0FFH D12: DJNZ R3,D12 DJNZ R2,D14 RET SETTAB:
单片机汇编语言经典一百例



