数字显示温度计程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TIMEL EQU 0E0H
TIMEH EQU 0B1H
TEMPHEAD EQU 36H
;*********************************************************** ; 工作内存定义
;*********************************************************** BITST DATA 20H
TIME1SOK BIT BITST.1
TEMPONEOK BIT BITST.2
TEMPL DATA 26H
TEMPH DATA 27H
TEMPHC DATA 28H
TEMPLC DATA 29H
;********************************************************** ; 引脚定义
;********************************************************** TEMPDIN BIT P3.4
TH BIT P1.3
TL BIT P1.4
;*********************************************************** ; 中断向量区
;*********************************************************** ORG 0000H
LJMP START
ORG 00BH
LJMP T0IT
;************************************************************ ; 系统初始化
;************************************************************ ORG 0100H
START: MOV SP,#60H
CLSMEM: MOV R0,#20H
MOV R1,#60H
CLSMEM1: MOV @R0,#00H
INC R0
DJNZ R1,CLSMEM1
MOV TMOD,#00100001B
MOV TH0,#TIMEH
MOV TL0,#TIMEL
SJMP INIT
ERROR: NOP
LJMP START
NOP
INIT: NOP
SETB ET0
SETB TR0
SETB EA
MOV PSW,#00H
CLR TEMPONEOK
MOV 80H,#00H
MOV 79H,#28H
MOV 78H,#0BH
MOV 77H,#01H
MOV P1,#00H
LJMP MAIN
;************************************************************ ; 定时器0中断程序
;************************************************************ T0IT: PUSH PSW
MOV PSW,#10H
MOV TH0,#TIMEH
MOV TL0,#TIMEL
INC R7
CJNE R7,#32H,TOIT1
MOV R7,#00H
SETB TIME1SOK
TOIT1: POP PSW
RETI
;************************************************************ ; 主程序
;************************************************************ MAIN: LCALL DISP1
JNB TIME1SOK,MAIN
CLR TIME1SOK
JNB TEMPONEOK,MAIN2
LCALL READTEMP1
LCALL CONVTEMP
LCALL DISPBCD
LCALL DISP1
MAIN2: LCALL READTEMP
SETB TEMPONEOK
LCALL KEY
LCALL SHENGJIANG
LCALL SHENGJIANG1
LJMP MAIN
;********************************
; 数值比较子程序
;********************************
SHENGJIANG:CLR C
CLR TH
MOV A,#0AH
CJNE A,73H,MAN
MOV A,#0AH
CJNE A,72H,MAN4
LJMP MAN1
MAN4: JNC MAN2
LJMP SS
MAN: JNC MAN2 ;C=0 跳转 LJMP SS
MAN3: CLR C
MOV A,80H
ANL A,#0FH
CJNE A,73H,MAX
MAN2: CLR C
MOV A,79H
SWAP A
ANL A,#0FH
CJNE A,72H,MAX
MAN1: CLR C
MOV A,79H
ANL A,#0FH
CJNE A,71H,MAX
CLR TH
JMP SS
MAX: JC BJ
CLR TH
JMP SS
BJ: SETB TH
LCALL DELAY10
ret
SS: RET
;****************************** SHENGJIANG1:CLR C
CLR TL
MOV A,78H
ANL A,#0FH
CJNE A,73H,MAX1
CLR C
MOV A,77H
SWAP A