键盘电路的设计与软件实现
0赞
设计电路的时候首先要考虑空间和成本,当然还有设计要求,为了节省空间和成本,考虑按键所需要实现的功能,为了给几个主要参数设定给定值,我们假设系统需要五个按键,一个上限值键,一个下限值键,一个设定值键,一个上翻键,一个下翻键。需要设置上下限值或给定值时,首先通过上翻键和下翻键对照显示电路所显示的数值来进行调节,当参数的值已经达到预期数值的时候,再按下确认键,完成对参数给定值的设置。键盘在系统中的工作分为三个层次:第一层是监视键盘的输入。采用中断扫描工作方式,当有按键按下时,把五个按键线与以后接到单片机的外部中断0上,只要有按键被按下,则有低电平出现在单片机的INT0端,产生中断。第二层是确定具体按键。通过检测8155H的PC口的状态判断出是那个按键被按下。第三层是键处理程序处理。判断出具体的按键之后,进行相应键的处理。
系统中键盘电路如图所示。

图 键盘接口电路
如果系统采用的是并行通讯,那么所需的I/O口数量较多,所以要进行I/O口的扩展,设计使用I/O接口芯片8155H进行扩展。ADuC841外扩一片8155H的地址为:RAM是4000H~40FFH,PA口是4101H,PB是4102H,PC是4103H。PA口作为8位共阴极显示器的段码输出口,PB口是显示器的位扫描口,PC口作为5个按键的扫描口。图为键盘程序流程。
键盘子程序的功能如下:判别键盘上有无键闭合,方法是利用中断扫描方式,当CPU检测到
有中断产生时,主程序跳转到键盘处理程序。跳转到键盘处理程序后,首先要利用延时来消除键盘的抖动,延时一段时间后
再判断键盘的状态,仍有键按下,则表明确实有按键闭合。之后判断具体的按键,进入对应的按键处理程序。

图 键盘程序流程图
