TEMPH DATA 26H ;
TEMP_TH DATA 27H ;高温报警值存放单元
TEMP_TL DATA 28H ;低温报警值存放单元
TEMPHC DATA 29H ;
TEMPLC DATA 2AH
K1 EQU P1.4
K2 EQU P1.5
K3 EQU P1.6
K4 EQU P1.7
BEEP EQU P3.7
RELAY EQU P1.0
LCD_X EQU 2FH ;LCD 地址变量
LCD_RS EQU P2.0
LCD_RW EQU P2.1
LCD_EN EQU P2.2
flag1 equ 20H.0 ;DS18B20是否存在标记
KEY_UD EQU 20H.1 ;设定 KEY 的UP与DOWN 标记
date_line equ p3.3
;=====================================================
ORG 0000H
JMP MAIN
MAIN: MOV SP,#60H
MOV A,#00H
MOV R0,#20H ;将 20H-2FH 单元清零
MOV R1,#10H
CLEAR: MOV @R0,A
INC R0
DJNZ R1,CLEAR
CALL SET_LCD
CALL RE_18B20
start: CALL RESET ;18B20复位子程序
JNB FLAG1,START1 ;DS1820不存在
CALL MENU_OK
CALL READ_E2
CALL TEMP_BJ ;显示温度标记
JMP START2
START1: CALL MENU_ERROR
CALL TEMP_BJ ;显示温度标记
JMP $
START2:
CALL RESET
JNB FLAG1,START1 ;DS1820不存在
MOV A,#0CCH ; 跳过ROM匹配
CALL WRITE
MOV A,#44H ; 发出温度转换命令
CALL WRITE
CALL RESET
MOV A,#0CCH ; 跳过ROM匹配
CALL WRITE
MOV A,#0BEH ; 发出读温度命令
CALL WRITE
CALL READ
call CONVTEMP
Call DISPBCD
CALL CONV
CALL TEMP_COMP
CALL PROC_KEY ; 键扫描
SJMP START2
;-----------------------------------------------------
PROC_KEY:
JB K1,PROC_K1 ; 按键K1处理
CALL BEEP_BL
JNB K1,$
MOV DPTR,#M_ALAX1
MOV A,#1
CALL LCD_PRINT
CALL LOOK_ALARM
JB K3,$
CALL BEEP_BL
JMP PROC_K2
PROC_K1: ; 按键K2处理
JB K2,PROC_END
CALL BEEP_BL
JNB K2,$
MOV DPTR,#RESET_A1
MOV A,#1
CALL LCD_PRINT
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
本文关键字:程序 51单片机,单片机-工控设备 - 51单片机