按键系统
按键系统的硬件设计可以采用独立方式和矩阵方式两种。
(1)独立式中每一个键单独占用一根I/O口线,每一根I/O口线上的按键工作状态不会影响其他I/O口线上的状态,一般应用于按键数量较少的场合;
(2)矩阵式的按键排列为行列式矩阵结构,4行4列共16个键,只占用8根I/O口线,因此当按键数目较多时,可以使用这种方式节省I/O口线。
本仪器共定义了8个按键,考虑到C8051F020上的I/O接口非常丰富,因此采用了独立式。在仪器上共设计了“Yes”、“No”、“↑(上)”、“↓(下)”、“←(左)”、“→(右)”、“复位”和“打印”8个按键,除“复位”键(其按下后直接复位)不通过键盘信息处理程序处理外,其余的7个键的按下处理均由键盘信息处理程序在主循环程序中完成。对于独立式按键,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值可直接进行按键识别。每个键的编码值如表1所示。
按键的具体定义如下:
(1)“↑(上)”、“↓(下)”、“←(左)”、“→(右)”:移动光标或切换不同内容的屏目、数据修改、完成口令输入等;
(2)“Yes”:确认所做的操作,包括确认所选择的菜单项或数据、确认所输入的口令、确认被修改的数据等;
(3)“No”:可取消输入的口令值或被修改的数据;
(4)“复位”:软复位系统;
(5)“打印”:控制打印机打印输出。
按键的工作方式分为编程控制方式和中断控制方式两种。本仪器采用中断控制方式,流程图如图4所示。此方式可以提高CPU的效率,当有键按下时,便向CPU申请中断,CPU响应中断后,在中断服务程序中进行键盘扫描、查键值与处理等工作。而编程控制方式是指在一个工作周期内,利用完成其他任务的空余时间,调用按键扫描子程序。经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。这样对CPU的使用效率就受到了影响。因此选用中断控制方式。
图4 中断法控制流程图
本仪器采用的按键的开关为机械弹性开关。从按键按下到接触稳定要经过数毫秒的抖动时间,松开时也有这样的问题。抖动时间的长短由按键的机械特性决定,一般为5~10 ms。这样就会引起一次按键多次读取,对于抖动问题可以采用软件方法。可以通过延时去抖动的方法避免,即检测出按键闭合后执行一个延时程序产生20 ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平则确认为真正有键按下。当检测到按键释放后,也要给20 ms的延时,待后沿抖动消失后才能转入该键的处理程序。
利用YXD-12864A2图形液晶显示模块设计电极质分析仪的显示界面,采用8位并型模式传递数据,主要是因为虽然占用了较多的I/O引脚,但与串行模式相比,编程简单的多;而且C8051F020有8个8位I/O端口、64个数字I/O引脚,非常丰富,所以也不用考虑引脚不够的问题。通过添加按键系统,使显示的内容可以由用户来操作,非常方便。
按键系统
按键系统的硬件设计可以采用独立方式和矩阵方式两种。
(1)独立式中每一个键单独占用一根I/O口线,每一根I/O口线上的按键工作状态不会影响其他I/O口线上的状态,一般应用于按键数量较少的场合;
(2)矩阵式的按键排列为行列式矩阵结构,4行4列共16个键,只占用8根I/O口线,因此当按键数目较多时,可以使用这种方式节省I/O口线。
本仪器共定义了8个按键,考虑到C8051F020上的I/O接口非常丰富,因此采用了独立式。在仪器上共设计了“Yes”、“No”、“↑(上)”、“↓(下)”、“←(左)”、“→(右)”、“复位”和“打印”8个按键,除“复位”键(其按下后直接复位)不通过键盘信息处理程序处理外,其余的7个键的按下处理均由键盘信息处理程序在主循环程序中完成。对于独立式按键,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值可直接进行按键识别。每个键的编码值如表1所示。
按键的具体定义如下:
(1)“↑(上)”、“↓(下)”、“←(左)”、“→(右)”:移动光标或切换不同内容的屏目、数据修改、完成口令输入等;
(2)“Yes”:确认所做的操作,包括确认所选择的菜单项或数据、确认所输入的口令、确认被修改的数据等;
(3)“No”:可取消输入的口令值或被修改的数据;
(4)“复位”:软复位系统;
(5)“打印”:控制打印机打印输出。
按键的工作方式分为编程控制方式和中断控制方式两种。本仪器采用中断控制方式,流程图如图4所示。此方式可以提高CPU的效率,当有键按下时,便向CPU申请中断,CPU响应中断后,在中断服务程序中进行键盘扫描、查键值与处理等工作。而编程控制方式是指在一个工作周期内,利用完成其他任务的空余时间,调用按键扫描子程序。经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。这样对CPU的使用效率就受到了影响。因此选用中断控制方式。
图4 中断法控制流程图
本仪器采用的按键的开关为机械弹性开关。从按键按下到接触稳定要经过数毫秒的抖动时间,松开时也有这样的问题。抖动时间的长短由按键的机械特性决定,一般为5~10 ms。这样就会引起一次按键多次读取,对于抖动问题可以采用软件方法。可以通过延时去抖动的方法避免,即检测出按键闭合后执行一个延时程序产生20 ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平则确认为真正有键按下。当检测到按键释放后,也要给20 ms的延时,待后沿抖动消失后才能转入该键的处理程序。
利用YXD-12864A2图形液晶显示模块设计电极质分析仪的显示界面,采用8位并型模式传递数据,主要是因为虽然占用了较多的I/O引脚,但与串行模式相比,编程简单的多;而且C8051F020有8个8位I/O端口、64个数字I/O引脚,非常丰富,所以也不用考虑引脚不够的问题。通过添加按键系统,使显示的内容可以由用户来操作,非常方便。
举报