温度检测部分单片机程序
ORG 00H
ORG 0003H;清除显示器
RETI
ORG 000BH
RETI
ORG 00BH
RETI
ROG 001B
RETI
ORG 0023H
RETI
ANL P1,#0F0H
MOV R2,#FOH
SETB P2.1;
MOV A,R2
MOV P0,A
INC R2;
SRART: MOVX @R0,A;令 ADC0809 开始转换
WAIT: JB OP2.0,ADC;检测 ADC0809 转换完成否?
CALL DISP;调用显示子程序
JMP WAIT
ADC:MOVX A,@R0;将转换好的数据送入累加器
CALL L1;调用十进制转换子程序
MOV RI,#OFFH;显示延时
DISP1:CALL DISP;调用显示子程序
DJNZ R1,DISP1
CONTROL:
SETB P3.5;
MOV R3,#1FH
MOV A,R3
MOV P2,A
INC R3
JMP SRART
L1: CLR C;C=0
MOV R5,#00H;十进制转换的低位寄存器
MOV R4,#00H;十进制转换的高位寄存器
MOV R3,#08H;作为十进制调整,调整的次数
NEXT: RLC A;将取入值转换为十进制
MOV R2,A;暂存于 R5
MOV A,R5;R5 乘 2 加 C
ADDC A,R5
DA A;做十进制调整
MOV R5,A;结果存回 R5