......
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:
上一篇:基于USB数据采集系统的设计+源程序
下一篇:Flash平台上自动寻路(A)算法优化设计

AT89C51单片机智能窗帘控制...

Android+Msp430单片机玩具小车设计+源代码

Arduino单片机C#指纹考勤机设计+源代码

16位单片机的语音电子门锁系统【2910字】

DSP与单片机通信的多種方案设计【1567字】

Android+CC2541单片机物联网的...

ARM单片机+CAN总线工程车辆...

AES算法GPU协处理下分组加...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

基于Joomla平台的计算机学院网站设计与开发

酵母菌发酵生产天然香料...

浅谈高校行政管理人员的...

压疮高危人群的标准化中...

从政策角度谈黑龙江對俄...

提高教育质量,构建大學生...

浅论职工思想政治工作茬...

上海居民的社会参与研究