JZ TEMPC12 ANL A,#0FH SWAP A MOV R4,A
MOV A,TEMPHC ;TEMPHC HI = 百位数 BCD
ANL A,#0FH ORL A,R4 MOV TEMPHC,A TEMPC12: RET
;************************ 二-十进制转换子程序 *****************************
HEX2BCD1: MOV B,#064H DIV AB MOV R4,A MOV A,#0AH XCH A,B
DIV AB SWAP A ORL A,B RET
31
TEMPDOTTAB: DB
00H,00H,01H,01H,02H,03H,03H,04H ; 小数部分码表 DB 05H,05H,06H,06H,07H,08H,08H,09H
;********************** 查询温度报警值子程序 *************************** LOOK_ALARM: 到显示信息区
MOV A,#2 LCALL LCD_PRINT MOV A,#0C6H LCALL TEMP_BJ1 MOV A,TEMP_TH MOV LCD_X,#3
;加载TH数据 ;设置显示位置
;显示在第二行
MOV DPTR,#M_ALAX2 ;指针指
LCALL SHOW_DIG2H ;显示数据 MOV A,#0CEH LCALL TEMP_BJ1 MOV A,TEMP_TL MOV LCD_X,#12
;加载TL数据 ;设置显示位置
LCALL SHOW_DIG2L ;显示数据 RET
M_ALAX1: DB \
32
M_ALAX2: DB \ TL: \TEMP_BJ1: LCALL WCOM MOV DPTR,#BJ2
;指针指到显示信息
区
MOV R1,#0 MOV R0,#2 BBJJ2: MOV A,R1 MOVC A,@A+DPTR LCALL WDATA INC R1
DJNZ R0,BBJJ2 RET
BJ2: DB 00H,\
;**************************
LCD
********************************** SHOW_DIG2H: MOV B,#100 DIV AB ADD A,#30H PUSH B MOV B,LCD_X LCALL LCDP2
33
显
示
子
程
序
POP B MOV A,#0AH XCH A,B DIV AB ADD A,#30H INC LCD_X PUSH B MOV B,LCD_X LCALL LCDP2 POP B INC LCD_X MOV A,B MOV B,LCD_X ADD A,#30H LCALL LCDP2 RET
SHOW_DIG2L: MOV B,#100 DIV AB MOV A,#0AH XCH A,B
34
DIV AB ADD A,#30H PUSH B MOV B,LCD_X LCALL LCDP2 POP B INC LCD_X MOV A,B MOV B,LCD_X ADD A,#30H LCALL LCDP2 RET
;************************ 显示区 BCD 码温度值刷新子程序 **********************
DISPBCD: MOV A,TEMPLC ANL A,#0FH
MOV 70H,A ;小数位 MOV A,TEMPLC SWAP A ANL A,#0FH
MOV 71H,A ;个位
35