STC89S58单片机+JH7A检查仪微机接口软件设计(11)
时间:2017-06-22 16:50 来源:毕业论文 作者:毕业论文 点击:次
...... 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) |