消毒柜微电脑控制器的设计 第9页
附录一 程序清单及注释
ORG 0000H
MAIN1:
JR SET P1.4
Z_T EQU 50H
MOV Z_T,#00H
BAI EQU 40H ;40H中存放百位数字
SHI EQU 41H ;41H中存放十位数字
GEE EQU 42H ;42H中存放个位数字
WD EQU 43H
ZHI EQU 44H
MOV BAI,#00H
MOV SHI,#00H
MOV GEE,#00H
MOV SP,#67H ;建立堆栈指针
SETB 03H
CLR 01H
CLR 02H
MOV Z_T,#00H
LCALL INITH
MAIN2:
LCALL KEY ;调用键扫子程序
CJNE A,#0FFH,L1 ;判断有无键按下
LJMP MAIN3
L1:CJNE A,#00H,L2;加热
SETB 01H ;01H为加热标志键
CLR 02H
CLR 03H
MOV Z_T,#01H
LJMP MAIN3
L2:CJNE A,#01H,L3;保温
SETB 02H ;02H为保温标志键
CLR 01H
CLR 03H
MOV Z_T,#02H
LJMP MAIN2
L3:CJNE A,#02H,MAIN3;停止
SETB 03H ;03H为停止标志键
CLR 01H
CLR 02H
MOV Z_T,#03H
LJMP MAIN3
MAIN3:
LCALL CMP
LCALL DELAY
LJMP MAIN2
RET
;7279复位,初始化
INITH:CLR P1.0
MOV R6,#0CH
DJNZ R6,$
MOV A,#0A4H ;把复位指令送给A
ACALL STFS
MOV R6,#2
DJNZ R6,$
SETB P1.0
RET
;发送一字节
STFS:
SETB RS1
MOV R7,#08H
LL1: RLC A
MOV P1.2,C
SETB P1.1
MOV R6,#04H
LL2: DJNZ R6,LL2
CLR P1.1
MOV R6,#04H
LL3: DJNZ R6,LL3
DJNZ R7,LL1
RET
;接收一字节
STJS: SETB RS0
MOV R7,#08H
H1: SETB P1.1
SETB P1.2
MOV R6,#02H
H2: DJNZ R6,H2
MOV C,P1.2
RLC A
CLR P1.1
MOV R6,#01H
H3: DJNZ R6,H3
DJNZ R7,H1
RET
KEYNUM:MOV B,A
MOV R2,#00H
MOV R7,#0CH
KEY_0:MOV A,R2
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>