基于单片机的单键电路设计

发布者:笑脸猫最新更新时间:2011-10-20 关键字:单键电路 手机看文章 扫描二维码
随时随地手机看文章

  单键,就是每个按键占用一个单片机的管脚,这种接法的特点是电路和程序都很简单,缺点是占用单片机的管脚多、消耗硬件资源大。这种接法一般适合于 6个或不多于6个按键。

  单键电路的电路图见图1,由图可以看出,每一个按键的一端都直接连有一个8255的PC端口的一个管脚作为输入管脚,并且这个端口管脚只连有一个按键,这样的接法就是单键接法。单键接法要求按键的一端接有一个上拉电阻,而按键的另一端直接接地,这样可以在按键没有合上的时候保持输入管脚始终是高电平。如果程序检测到这个管脚为高电平,就会认为该管脚的按键没有按下,而按键合上以后,输入管脚的电平就会变成低电平,这样当程序检测出输入管脚为低电平以后,就会认为这个按键被按下。

 单键电路


图1单键电路

  按键,特别是机械按键按下后会有一定的抖动,这个抖动会持续很短的时间。这个抖动会引起程序的异常,因为程序很可能会认为在这么短的时间内这个按键被按下很多次,有很多资料特别提到了防抖电路。实践证明,这个电路完全可以忽略,使用程序完全可以代替这个电路。

  有些资料也是使用程序代替防抖电路,但是是用数十毫秒的延时电路,这样的程序毫无疑问会增加程序时间的开销,对程序快速反应不利。

  我们可以通过程序处理把按键变成所谓的微分按键,所谓微分,实际上是指我们只处理按键的变化,没有变化的按键信息我们是不处理的,由于微分按键只处理第一次变化的信息,因此短时间的按键抖动是不会产生误操作的。

 下面给出相应的按键程序并分析。

  在本程序中,所谓的单键输入实际上就是读出8255的PC口的信息。

  程序首先检查是不是有按键按下,如果没有,则将按键特征变量ktz置0,同时退出本函数,这样减少了无用程序的运行时间。如果有按键按下同时ktz等于0(表明是第一次按下),则转入按键处理部分。按键处理主要是定义按键编码,因为从输入口读入的按键值通常需要处理,以便过滤不必要的信息或干扰,同时将输入值规整为便于我们处理的键码。这里的键码就是1、2、3、4、5、6、7、8,这8个数字对应8个按键。单键输入函数的流程图如图2所示,对应程序如下:

 


图2 单键输入函数的流程图

 

 

 

关键字:单键电路 引用地址:基于单片机的单键电路设计

上一篇:由51单片机构成的温湿度自动监测系统
下一篇:基于单片机的节能断电保护电路设计

推荐阅读最新更新时间:2024-03-16 12:44

单键可调稳压电源电路
单键可调 稳压电源 电路 要得到相应的电压值,R1...R6的值要经过调试。图示的数值仅供参考,会因为即便相同型号的元件的参数有一定的离散性,还有4066的导通电阻等,而存在差异,故需要调试。调试:电路经装焊检查无误即可调试。调试前R1...R6均不装入。用一个100欧的电阻和10K的电位器串联,接入R1电阻的位置,通电在输出端调至所需电压1.5V后,断开电源拆下量出它们的阻值,再用固定的电阻替上去,然后接R2的位置......这样依次调好R2...R6。这样就调试好了,如果阻值不会刚好是标称阻值,可以采用串并联的方法得到。调速47K电阻或1U电容调节键扫描速度。扩展:  如果想提高输出电压,图示数值最大约为19V,如果
[电源管理]
<font color='red'>单键</font>可调稳压电源<font color='red'>电路</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved