恒温加热带设定温度
- 格式:doc
- 大小:46.00 KB
- 文档页数:8
;=================================
DQ EQU P3.7 ;18B20 接口
NO_18 BIT 20H ;20H.0 存在标志位
D_BUF EQU 30H ;30H ~ 37H 显示空间
TEMP EQU 38H ;38H ~ 39H 温度数据
S_BOTT EQU 70H ;栈底位置
;=================================
ORG 0000H
RESET:
MOV 66H,#0
MOV 67H,#0
MOV 68H,#0
START:
MOV SP, #S_BOTT
CALL SETTING
CALL GET_T
CALL T_PROC
CALL HOTTER
CALL DISPLAY
JMP START
;=================================
SETTING:
JB 68H,JIANCE ;不设置出氧温度,机器默认出氧温度为25℃
MOV 66H,#5
MOV 67H,#2
JIANCE:
JNB P1.0,CP1
RET
CP1:
ACALL DELAY0
JNB P1.0,CP2;P1.6=0顺序执行
RET
CP2:
JNB P1.0,$ ;P2.6松开,顺序执行
CLR 68H
MOV R1,#19 ;用户只能在20到30℃之间,控出氧温度。该装置没有制冷。;--------------------------
;设置加热温度
;--------------------------
SETTEM:
JIA1: ;检测+按键
JB P1.1,JIAN1
ACALL DELAY0
JB P1.1,JIAN1;P2.3=0顺序执行
JNB P1.1,$;+按键由按下到松开,定时+1
CJNE R1,#30,KAK1
MOV R1,#19
KAK1:
SETB P3.5
SETB P3.6
SETB 68H
INC R1
JIAN1:
JB P1.2,B2
ACALL DELAY0
JB P1.2,B2
JNB P1.2,$
CJNE R1,#20,KAK2
MOV R1,#31
KAK2:
SETB P3.5
SETB P3.6
SETB 68H
DEC R1
B2:
MOV A,R1
MOV B,#10
DIV AB
MOV 66H,B
MOV 67H,A
MOV A,66H
ACALL SEG7
MOV P0,A
SETB P2.5
ACALL DELAY
CLR P2.5
MOV A,67H
ACALL SEG7
MOV P0,A
SETB P2.4
ACALL DELAY
CLR P2.4
JB P1.0,SETTEM ;再次按下则跳出定时程序,否则继续AAA:
JNB P1.0,$
RET
;----------------------------
SEG7:
MOV DPTR,#TAB1
MOVC A,@A+DPTR
RET
;-------------------------
;段码表
;--------------------------
TAB1:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;段码表,P0.0-P0.7对应A-DP ;------------------------
;屏显间隔
;-----------------------
DELAY: ;延时2MS
MOV 77H,#20
D1: MOV 78H,#100
DJNZ 78H,$
DJNZ 77H,D1
RET
;------------------------
;防抖动
;-------------------------
DELAY0: ;延时10MS去抖动
MOV 7AH,#50
D0: MOV 7BH,#200
DJNZ 7BH,$
DJNZ 7AH,D1
RET
;-----------------------
;=================================
HOTTER:
JNB F0,ZHENG
CLR P3.5
CLR P3.6
RET
ZHENG:
MOV A,42H
CLR CY
SUBB A,67H
JZ PAN
JNB CY,CLOSE
AJMP HOT
PAN:
MOV A,43H
CLR CY
SUBB A,66h