- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1、键盘的分类
※键盘分编码键盘和非编码键盘。
在单片机组成的测控系统及智能化仪器中,用的最多的是非编码键盘。
非编码键盘有分为:独立式非编码键盘和行列式非编码键盘。;
2、键盘的结构
※常用的机械式按键,按键是4脚封装,内部2脚相连,图(b)是按键的背面图,用万用表测试4只引脚的通断。1号和2号引脚是连通的,3号和4号
引脚是连通的。硬件连接时注意引出按键4个引脚中不相通的2个引脚,如
按键的对角上的两个引脚。;
独立式按键是指各按键相互独立地接通一条输入数据线。当任
何一个键按下时,与之相连的输入数据线即可读入数据0,而没有
按下时读入1。
独立式键盘的电路简单,易于编程,但占用的IO口线较多,当
需要较多按键时可能产生IO资源紧张问题。;
F20A8
P21A9
P22A10
P23A11
P24A12
P25A13P26/A14P27A15;
※2)当按键闭合时,单
片机引脚接地,当按键断
开时,单片机引脚被上拉
电阻拉为高电平,按键闭
合或按下,单片机引脚的
电平稳定,是一种标准的
接法。;
※3)当按键断开时,单
片机引脚接地,当按键闭
合时,单片机引脚直接
和电源相连,这种接法
短路电流大,易烧毁单片机I/O口电路,是危险
的连接方法。;
软件方面如何读取引脚状态呢?有查询法和中断法。普遍采用查询法。查询法是CPU读取连接按键的单片机端口的电平状态,如果读取的是低电平,就确认该端口对
应的按键已按下,如果读取的是高电平,就确认该端口对
应的按键没按下。
提示:因为51系列单片机的端口是准双向口,在读
引脚前,需要先对输入端口置1。
举例:读P1.0
bits1;//定义位变量s1,保存按键通断状态
P1_0=1;S1=P1_0;
读P1:
Unsignedcharsw;//定义字节变量
P1=0xff;Sw=P1;;
5、按键的去抖
由于机械触点的弹性作用,按键在闭合时不会马上稳定地接地,在断开时也不会立刻断开。通常在闭合和断开
的瞬间都伴随有一定时间的触点机械抖动,如下图。抖
动时间一般为5~10ms,在触点抖动期间检测按键的通与
断状态,可能导致判断出错。因此,为保证CPU对按键
的断开和闭合做出正确的判断,就必须消除抖动。
键按下;
4.7K
Vcc(+5V)
在键数较少时可用硬件方法消除键抖动。如图所示的RS触发器为常用的硬件去抖。
图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0
此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。;
按键的去抖—硬件方法;
有键按下否?
Y
延时10mS
有键按下否?
Y
(a)检测按键
按键去抖流程图;
※软件去抖的原理一:前沿消抖法。读按键状
态,判断有键按下,延时10ms,再次读按键
状态,有键按下,才确认是哪一个按键,从而消除前沿的抖动。流程如下图(a)。;
按键释放否?
(e)技键释放等停
软件去抖的原理二:在去抖时间内连续多次去读按键所在端口的状态,并与上一次进
行对比,若状态改变,则重新初始化去抖时间。直到在去抖时间内,每次读到的口状态都一致时,我们才认为扫描到稳定的按键。流程如下图(C)。;
举例
编写程序,识别图中的8个按键是哪一个键被
按下,返回键的编号。;
硬件电路
C1
U1
4TL作;
按键编号;
/****************获取按键状态的参考程序片段*************/
//**********按键扫描程序
unsignedcharkeyscan()
{
unsignedcharsw;//定义变量sw,暂存P1状态的变量
unsignedcharkey//定义变量key,暂存按下键的编号
P1=0xff;//预先对输入端口置1
Sw=P1;
switch(sw)
caseOxfe:key=0;break;
caseOxfd:key=1;break;
caseOxfb:key=2;break;
caseOxf7:key=3;break;
caseOxef:key=4;break;
caseOxdf:key=5;break;
caseOxbf:key=6;break;
caseOx7f:key=7;break;
returnkey;//获得按键编号;
6、矩阵式按键;
特点:占用IO口线较少,但软件将较为
复杂。
判断
您可能关注的文档
最近下载
- 浅析企业员工流失的原因及对策——以福州永辉超市为例.docx VIP
- XK3190-C8技术手册.pdf VIP
- 广州市历年中考(2025-2026)化学试题(含答案).doc VIP
- 办公设备维护方案.docx VIP
- 浙江省杭州市学军中学四校区2022-2023学年高二上学期期末物理试题(含答案解析).docx
- 《金瓶梅》中潘金莲“绣鞋”之物象探析.doc VIP
- 14s501-1P35-37页球磨铸铁踏步施工检验标准.pdf VIP
- 2026年上海市松江区中考一模化学试卷含详解.docx VIP
- 2025研读新课标,探寻数学教育新方向——读《小学数学新课程标准》有感.docx
- 如何通过手机号码查询行动轨迹.docx VIP
原创力文档


文档评论(0)