MOV TEMPHC, A ;
MOV A, TEMPL ;
ANL A, #0FH ;
SWAP A ; TEMPLC HI = 个位数 BCD
ORL A, TEMPLC ;
MOV TEMPLC, A ;
MOV A, R7 ;
JZ TEMPC12 ;
ANL A, #0FH ;
SWAP A ;
MOV R7, A ;
MOV A, TEMPHC ; TEMPHC HI = 百位数 BCD
ANL A, #0FH ;
ORL A, R7 ;
MOV TEMPHC, A ;
TEMPC12: RET ;
;小数部分码表
TEMPDOTTAB: DB 00H, 01H, 01H, 02H, 03H, 03H, 04H, 04H, 05H, 06H
;
DB 06H, 07H, 08H, 08H, 09H, 09H
;显示区BCD码温度值涮新子程序
DISPBCD: MOV A, TEMPLC ;
ANL A, #0FH ;
MOV 70H, A ;
MOV A, TEMPLC ;
SWAP A ;
ANL A, #0FH ;
MOV 71H, A ;
MOV A, TEMPHC ;
ANL A, #0FH ;
MOV 72H, A ;
MOV A, TEMPHC ;
SWAP A ;
ANL A, #0FH ;
MOV 73H, A ;
MOV A, TEMPHC ;
ANL A, #0F0H ;
CJNE A, #010H, DISPBCD0 ;
SJMP DISPBCD2 ;
;
DISPBCD0: MOV A, TEMPHC ;
ANL A, #0FH ;
JNZ DISPBCD2 ; 十位数是零
MOV A, TEMPHC ;
SWAP A ;
ANL A, #0FH ;
MOV 73H, #0AH ; 符号位不显示
MOV 72H, A ; 十位数显示符号
DISPBCD2: RET ;
;单字节 16 进制转 BCD
HEX2BCD1: MOV B, #064H ; 16 进制 -> BCD
DIV AB ; B = A % 100
MOV R7, A ; R7 = 百位数
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
本文关键字:温度计 51单片机,单片机-工控设备 - 51单片机