消毒柜微电脑控制器的设计 第9页

消毒柜微电脑控制器的设计 第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]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有