知方号

知方号

51单片机、独立按键的认识与编程<按键模块作用是什么>

51单片机、独立按键的认识与编程

一、基本知识1. 按键分类与输入原理

按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。

在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入时与软件结构密切相关的过程。

对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将按键输入,并检查是哪一个按键按下,将该键号送入累加器,然后通过跳转指令转入执行该键的功能程序,执行完成后再返回主程序。

2. 按键结构与特点

微机键盘通常使用机械触点式按键开关,其主要功能式把机械上的通断转换为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便于通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定的时间触点机械抖动,然后其触点才稳定下来。

图1-按键抖动

其抖动过程如图1所示,抖动时间的长短与开关的机械特性有关,一般为5-10ms。在触点抖动期间检测按键的通与断,可能导致判断出错,即按键一次按下或释放错误的被认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取消抖措施。按键较少时,可采用硬件消抖;按键较多式,采用软件消抖。

3. 独立按键与矩阵键盘(1)独立按键

单片机控制系统中,如果只需要几个功能键,此时,可采用独立式按键结构。

独立按键式直接用I/O口线构成的单个按键电路,其特点式每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。独立按键的典型应用如图所示。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一个I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。独立按键如图2所示。

图2-独立按键

独立按键的软件常采用查询式结构。先逐位查询与I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。

(2) 关于上拉电阻

单片机按键一般通过配备上拉电阻来实现输入端高低电平的切换。

图3-上拉电阻

4条输入线接到单片机的IO口上,当按键K1按下时,+5V通过电阻R1然后再通过按键K1最终进入GND形成一条通路,那么这条线路的全部电压都加到了R1这个电阻上,KeyIn1这个引脚就是个低电平。当松开按键后,线路断开,就不会有电流通过,那么KeyIn1和+5V就应该是等电位,是一个高电平。我们就可以通过KeyIn1这个IO口的高低电平来判断是否有按键按下。

三、独立按键实例编程1.说明

以普中科技51单片机开发板为例

图4为独立按键电路图 8个按键分别对应JP5的八个引脚,所有按键统一接地,按键之间互不影响,JP5中包含上拉电阻。当按键松开时,对应引脚输入1;当按键按下时,对应引脚输入0。

图5为流水灯电路图 8个LED灯接地共阴,当引脚输出1时,LED灯亮;当引脚输出0时,LED灯灭。

图4-独立按键图5-流水灯2.代码实现(1) 无消抖的8个引脚控制8个LED灯#include #define Key P0 //P0接独立按键电路引脚#define Led P2 //P2接LED流水灯电路引脚int main(){ unsigned char i; P2=0x00; //初始化流水灯全灭 while(1) { //动态扫描八个按键 for(i=0;i

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。