单片机按键介绍

发布者:Yuexiang666最新更新时间:2016-12-23 来源: eefocus关键字:单片机  按键介绍 手机看文章 扫描二维码
随时随地手机看文章

独立按键

常用的按键电路有两种形式,独立式按键和矩阵式按键,独立式按键比较简单,它们各自与独立的输入线相连接,如图 8-6 所示。

图 8-6  独立式按键原理图
图 8-6  独立式按键原理图


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

这个电路中按键的原理我们清楚了,但是实际上在我们的单片机 IO 口内部,也有一个上拉电阻的存在。我们的按键是接到了 P2 口上,P2 口上电默认是准双向 IO 口,我们来简单了解一下这个准双向 IO 口的电路,如图 8-7 所示。

图 8-7  准双向 IO 口结构图
图 8-7  准双向 IO 口结构图


首先说明一点,就是我们现在绝大多数单片机的 IO 口都是使用 MOS 管而非三极管,但用在这里的 MOS 管其原理和三极管是一样的,因此在这里我用三极管替代它来进行原理讲解,把前面讲过的三极管的知识搬过来,一切都是适用的,有助于理解。

图 8-7 方框内的电路都是指单片机内部部分,方框外的就是我们外接的上拉电阻和按键。这个地方大家要注意一下,就是当我们要读取外部按键信号的时候,单片机必须先给该引脚写“1”,也就是高电平,这样我们才能正确读取到外部按键信号,我们来分析一下缘由。

当内部输出是高电平,经过一个反向器变成低电平,NPN 三极管不会导通,那么单片机IO 口从内部来看,由于上拉电阻 R 的存在,所以是一个高电平。当外部没有按键按下将电平拉低的话,VCC 也是+5V,它们之间虽然有 2 个电阻,但是没有压差,就不会有电流,线上所有的位置都是高电平,这个时候我们就可以正常读取到按键的状态了。

当内部输出是个低电平,经过一个反相器变成高电平,NPN 三极管导通,那么单片机的内部 IO 口就是个低电平,这个时候,外部虽然也有上拉电阻的存在,但是两个电阻是并联关系,不管按键是否按下,单片机的 IO 口上输入到单片机内部的状态都是低电平,我们就无法正常读取到按键的状态了。

这个和水流其实很类似的,内部和外部,只要有一边是低电位,那么电流就会顺流而下,由于只有上拉电阻,下边没有电阻分压,直接到 GND 上了,所以不管另外一边是高还是低,那电平肯定就是低电平了。

从上面的分析就可以得出一个结论,这种具有上拉的准双向 IO 口,如果要正常读取外部信号的状态,必须首先得保证自己内部输出的是 1,如果内部输出 0,则无论外部信号是 1还是 0,这个引脚读进来的都是 0。

矩阵按键

在某一个系统设计中,如果需要使用很多的按键时,做成独立按键会大量占用 IO 口,因此我们引入了矩阵按键的设计。如图 8-8 所示,是我们的 KST-51 开发板上的矩阵按键电路原理图,使用 8 个 IO 口来实现了 16 个按键。

图 8-8  矩阵按键原理图
图 8-8  矩阵按键原理图


如果独立按键理解了,矩阵按键也不难理解,那么我们一起来分析一下。图 8-8 中,一共有 4 组按键,我们只看其中一组,如图 8-9 所示。大家认真看一下,如果 KeyOut1 输出一个低电平,KeyOut1 就相当于是 GND,是否相当于 4 个独立按键呢。当然这时候 KeyOut2、KeyOut3、KeyOut4 都必须输出高电平,它们都输出高电平才能保证与它们相连的三路按键不会对这一路产生干扰,大家可以对照两张原理图分析一下。

图 8-9  矩阵按键变独立按键示意图
图 8-9  矩阵按键变独立按键示意图


关键字:单片机  按键介绍 引用地址:单片机按键介绍

上一篇:C语言函数的调用
下一篇:单片机独立按键的扫描

推荐阅读最新更新时间:2024-03-16 15:26

W801单片机学习笔记——SDK的启动流程,例程使用
1.前言 W801的SDK需要配套的CDK集成开发环境进行开发,该SDK具有W801单片机所有硬件的驱动程序,FreeRTOS操作系统,基于蓝牙和WiFi功能的上层应用,以及各种功能的例程,可以通过例程测试硬件并模仿例程编写自己所需要的功能。 该篇文章主要以SDK启动的启动流程,例程的使用,以及SDK中部分文件在实际使用中的修改尝试。 2.SDK的启动流程 W801在上电后先通过复位电路复位,并使用内部振荡器开始工作。此后单片机先进入启动扇区即地址为0X0000_0000,启动扇区检测BOOT0引脚,若需要更新固件则开始从串口接收数据开始更新固件;若无需更新固件,则引导单片机从FLASH启动地址为0X0800_0000。至
[单片机]
W801<font color='red'>单片机</font>学习笔记——SDK的启动流程,例程使用
51单片机来做的PWM来无级调光程序
51单片机 来做的PWM来无级调光程序通过光耦可控硅来控制可控硅的导通角,从而实现白炽灯亮度的变化。 #include "reg51.h" #include "user.h" #define uchar unsigned char unsigned int value=100; unsigned int del=0; uchar value_temp=4; uchar temp=0; uchar code Tab ={0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,0xf7}; sbit PWM_PORT=P3^1; sbit key=P3^7; bit lamp_enable=
[单片机]
MCS-51单片机的中央处理器CPU介绍
MCS-51单片机的中央处理器CPU由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。 一、以ALU为中心的运算器 算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。 PSW的格式如图1-3所示,其各位的含义是: 图1-3 PSW的格式 CY:进位标志。有进位/借位时CY=1,否则CY=0; AC:半进位标志。当D3位向D4位产生进位/借位时AC=1,常用于十进制调整运算中; F0:用户可设定的标志位,可置位/复位,也可供测试。 RS1、RS0:四个通用寄存器组的选择位,该两位的四种组合状态用来选择0~3寄存器组。见表1-2。 OV:
[单片机]
MCS-51<font color='red'>单片机</font>的中央处理器CPU<font color='red'>介绍</font>
单片机在车载酒精探测系统中的作用
引言   如今社会对酒后驾车的危害都有目共睹,国家政府也颁布了相关惩罚条例来禁止这些行为,比如吊销驾照六个月、扣分、罚款等等。   目前几乎所有国家都采用呼气酒精测试仪对驾驶人员进行现场检测,以确定被测量驾驶员是否饮酒。现在市场上警用酒精测试仪种类繁多,随着技术的发展,功能越来越强、灵敏度越来越高,它能有效协助交警定点抽查驾驶员是否饮酒,但由于抽查实施面狭窄,因此无法很好的对酒后驾车进行控制。   本文提出了一种酒精探测及安全控制系统,该系统安装在汽车上,不用交警和其他人员就能判断司机是否酒后驾车,以确保了司机的安全,又减少了交警等人员的工作量。同时根据检测到酒精含量是否超标进行自主判断,能够控制汽车点火器开关,使饮酒
[汽车电子]
<font color='red'>单片机</font>在车载酒精探测系统中的作用
基于单片机的嵌入式SNMP代理器设计与实现
0 引言 SNMP(简单网络管理协议)应用广泛,功能强大,只要管理软件驻留有MIB(管理信息库),并且拥有适当的权限,管理器就可以访问SNMP代理器。SNMP一般用于计算机网络和电信网络,本文提出了用SNMP进行控制。由于其传输媒介是Internet,所以传输距离不受限制,这相对于其他工业控制总线有不可比拟的优势,SNMP最大的优点是协议简洁,适合嵌入式应用。SNMP体系可扩展性强,只要将新的MIB装载在管理软件上就可以实现对新的终端的控制与访问,本文介绍了一种基于廉价的微控制器的实现嵌入式代理器的方案,以微处理器核心实现相关硬件及软件。 1 SNMP体系结构 SNMP的体系结构(见图1)以简单的查询/回答模型为
[单片机]
基于<font color='red'>单片机</font>的嵌入式SNMP代理器设计与实现
单相桥式半控电镀直流电源的单片机恒流装置
【摘要】 一种单相桥式半控电镀直流电源的单片机恒流装置,属于单片机控制技术在电镀直流电源恒流装置中的应用。包括可控硅电压控制电路及单片机控制装置。其特征是直流恒流设定键、时钟设置键、定时设置键分别与单片机输入端相连接;单片机I/O输出端与光耦连接,光耦与可控硅控制端连接。可控整流电路由二只可控硅与二只硅整流管组成,单相电源经变压器降压后分别与可控硅正极与硅整流负极相连接,可控硅的负极端为电镀电源的正极,硅整流的正极为电镀电源的负极,整流后的直流电流供电镀使用。单片机的输出端与数码显示屏连接。本发明创造通过对恒流值的设定,控制与其连接的可控硅导通角大小,实现设定电流的恒流输出,广泛应用小型电镀电源设备中。
[模拟电子]
单片机GUI编程显示汉字
单片机GUI编程显示汉字 int8 GetGB12_Address( int8 *ptr ) { int8 addr; for (addr=0;addr sizeof(gb16Dot)/sizeof(gb12Dot );addr++) // 查找定位 { if (( *ptr == gb12Dot .Index ) && ( *(ptr+1) == gb12Dot .Index )) {break;} } return addr; } GU
[单片机]
紫光新一代车规MCU获功能安全最高认证,携手安谋科技深化车芯市场布局
近日,紫光同芯宣布,其搭载Arm® Cortex®-R52+内核的新一代THA6系列MCU,顺利通过了国际权威认证机构SGS关于功能安全开发流程体系和功能安全产品设计的评估,荣获符合ISO 26262标准的ASIL D等级功能安全流程体系认证、功能安全ASIL D Ready产品认证两项资质。这标志着该款产品成为国内首颗通过ASIL D产品认证的Arm Cortex-R52+内核MCU芯片,达到了功能安全的最高等级要求。作为紫光同芯在汽车电子功能安全领域的最新成果,新一代THA6系列MCU在性能、安全性和可靠性等方面均具有显著优势。目前,该产品已顺利进入流片阶段,将助力国内汽车“新四化”的创新发展。 安谋科技智能物联
[汽车电子]
紫光新一代车规<font color='red'>MCU</font>获功能安全最高认证,携手安谋科技深化车芯市场布局
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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