按键
常用的按键电路有两种,一种是独立式按键,另一种是矩阵式按键。
独立按键
独立式按键各自与独立的输入线相连接。
以下图中的电路为例,进行分析。
独立式按键原理图:
判断按键是否被按下的依据是:KeyIn(n) IO口电平的高低。
当K1按下时,电路高低电平端联通。此时Keyln1引脚为低电平。
当K1松开时,线路断开,Keyln1与+5V是等电位。此时Keyln1引脚为高电平。
通常,单片机IO口内部存在上拉电阻。
以准双向IO口结构图为例:
方框内的电路是单片机的内部部分,方框外是外接的上拉电阻和按键。
注意:读取外部按键信号时,单片机必须先给该引脚置1!!!
分析如下:
当内部输出=1时,经过非门取反为0,NPN三极管无电位差,电路不接通。VCC(也是+5V)与+5V之间无电位差,此时单片机IO口为高电平。可以正常读取按键状态。
当内部输出=0时,取反后为1,NPN三极管产生电位差,电路接通。单片机IO口受影响变为低电平,无法正常读取按键状态。
矩阵按键
在独立按键的基础上,为了提高IO口的利用率,矩阵按键应运而生。
如图,8个IO口实现16个按键。
如果KeyOut1输出一个低电平,KeyOut1就相当于GND,其他四个按键相当于独立按键。需要注意,此时KeyOut2、KeyOut3和KeyOut4都应输出高电平,以免影响KeyOut1线路。
此时的电路图就简化成了这样:
上一篇:#51单片机#按键消抖
下一篇:#51单片机#中断与数码管的应用
推荐阅读
史海拾趣
Block USA Inc.最初以其线下支付业务Square在电子支付领域崭露头角。公司创始人杰克·多尔西洞察到小型商户在支付处理方面的需求,并推出了简单易用的磁条卡读卡器Square Reader。这一创新产品迅速受到市场欢迎,帮助无数小型企业和个体经营者实现了便捷、安全的电子支付。随着Square品牌的知名度不断提升,Block逐渐在支付领域建立了坚实的地位。
随着公司规模的扩大和市场份额的增加,DAYLIGHT开始将目光投向国际市场。公司通过与国际知名电子企业的合作,成功将其产品打入国际市场,并在多个国家和地区建立了销售渠道。同时,DAYLIGHT还积极参与国际电子展和技术交流会议,不断提升其在国际市场上的知名度和影响力。
随着全球对环保问题的日益关注,Gem Asia积极响应号召,将环保理念融入企业发展中。公司投入大量资源研发绿色电子产品和生产工艺,减少了对环境的影响。同时,Gem Asia还建立了完善的废旧电子产品回收体系,实现了资源的循环利用。这些举措不仅提升了企业的社会形象,还为企业带来了长期的经济效益和社会效益。
进入21世纪,Cree在功率器件领域取得了重大突破。2004年,Cree开始大范围采用氮化镓(GaN)材料,并成功将其应用于大功率RF器件产品设计。这些GaN射频器件主要服务于美国军工领域,如“萨德”导弹防御系统,其超宽的频率覆盖和大功率射频功率技术无人能及。这一技术的成功应用,不仅提升了Cree的技术实力,也为其打开了新的市场空间。
在全球供应链受到冲击、芯片告急的背景下,爱普特半导体始终坚持纯国产化发展理念。公司从管理层到核心研发人员,都具有深厚的半导体从业经验,无需借助任何海外团队支持,就能实现技术攻关和市场把控。这种全国产化的优势使得爱普特在面对外部风险时能够保持稳健的发展态势,也为公司的长远发展奠定了坚实基础。
看了版主的博客,自己也很想用单片机做点事情。马上快毕业了,发现自己没有真正学到什么本领。最近找了个项目练手。用单片机做一个光源追踪的装置。大体是:弄2个光敏电阻,中间放一个挡板,光照偏向任何一个光敏电阻都会引起电机转动调整光敏电阻 ...… 查看全部问答∨ |
|
#include <AT89X52.H> unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[10][8]={{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0 &nbs ...… 查看全部问答∨ |
我的是DELL1501本本,要实现纯DOS下使用串口(RS232)通信,在市场上买了个prolific USB转串口,不知是否可行?之前试过在DOS下可以使用USB鼠标,和读取USB软驱(B:)里的资料!… 查看全部问答∨ |
也是偶然看到一个节目,当初算是有炒作的因素在里面,是北大才子卖猪肉。好像是广州那边的,某人在九几年的时候从政府辞职下海,前后做过房地产、醋饮料等。让我感兴趣的是,当其瞅准猪肉市场时,带着自己手下千来口子,一齐转型。于是那些人一齐跨 ...… 查看全部问答∨ |
针对 Xilinx Spartan™-6 LX150 的电源参考设计 此参考设计旨在给Spartan 6 LX150及带有TI Swift Integrated FETS的DC/DC转换器供电… 查看全部问答∨ |
我用9B90内部3V参考电压时能正常转换出结果,但将 ADC_REF_INT 改为 ADC_REF_EXT_3V ,并在PB6引脚上接入3V电压。 却没办法采到结果。。 求指点。。。。… 查看全部问答∨ |