STC89S58单片机+JH7A检查仪微机接口软件设计(11)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

STC89S58单片机+JH7A检查仪微机接口软件设计(11)


        ......
4.2.3    自检子程序
在设计中,自检程序不是随启动而进行自检的。而是用74HC165通过需求时而进行自检。自检主要是在软件自身出现问题时,进行检测。如果程序自身都出现了异常时,检查仪仍在继续工作,那么这个检查仪的检测结果必然是不对的。所以,自检也是必不可少的一部分。
in_165_2:   ; clr     ea
        clr     CH_165;p1.4;
        nop
        nop
        setb    CLK_165;p1.5;clk
        nop
        setb    DA1_165;p1.6
        nop
        setb    CH_165; p1.4;
        nop
        clr     a
4.2.4    按键子程序
在本次设计中,按键主要有四个,分别是两个菜单选择按键,一个菜单确认按键,还有一个菜单返回按键。其中较为复杂的是菜单选择按键,它根据每层菜单的不同,选择不同项目的菜单进入,进行选择不同的检测。在菜单选择时,它必须得一层一层的往下。从主菜单开始,它有七种不同的检测,通过按键选择其中一种检测。之后,通过确认键,进入下一层子菜单,选择这种检测的哪个项目检测。返回键也是层层向上返回,并不能够一下子回到主菜单。
在按键中,确认菜单键较为复杂,它通过现在菜单显示位置的不同,来进行不同的操作。
 key:    ANL    A,#0F0H
    CJNE  A,#0F0H,IN_12
    CLR    H_KEY
    MOV    KEYRAM,A
    MOV    A,#0FFH
    RET
IN_12:  JB     H_KEY,IN_13
        MOV    R0,A
        XRL    A,KEYRAM
        JZ     IN_14
        MOV    KEYRAM,R0
        SJMP   IN_13
IN_14:
        SETB   H_KEY
     clr    bell
     mov    keyjs,#30
     RET        
IN_13:  MOV    A,#0FFH        
     ret
;K1=UP,K2=DOUN,K3=确认,K4=返回
KEY_PR:    CJNE    A,#0FFH,KEY_P1
        RET
KEY_P1:    
      clr    bell
      mov    keyjs,#30
      MOV    A,KEYRAM
      CJNE  A,#0E0H,KEY_2
      LCALL  K1
         RET
KEY_2:
         CJNE  A,#0D0H,KEY_3
         LCALL  K2
         RET                
KEY_3: (责任编辑:qin)