- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目三 简易计算器
项目描述:键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。由于非编码键盘结构简单、成本低廉,在单片机中使用的都是非编码键盘。非编码键盘的类型很多,常用的有独立式键盘、行列式键盘等。本项目就是通过设计能实现加、减、乘、除等运算的简易计算器,掌握单片机按键开关的硬件电路设计与工作原理;了解2、能编写单键控制程序。
任务要求:用四个独立按键控制数码管分别显示1、2、3、4。
相关知识讲解:
一.键盘
1.键盘的结构
(1)按键——一种按压式或触摸式常开型按钮开关(按压或触摸按键时触点闭合)。
(2)键盘——是一组按键的集合
2.键盘的分类
(1)键盘的分类
常用键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如BCD码键盘、ASCLL码键盘等;而靠软件来识别的称为非编码键盘。在单片机组成的测控系统及智能化仪器中,用的最多的是非编码键盘。非编码键盘又分为:独立式非编码键盘和行列式非编码键盘。
(2)非编码键盘的工作方式。
查询方式:CPU要不间断地对键盘进行扫描工作,直到有键按下为止,期间CPU不能干任何其他工作。
定时方式:利用定时器产生定时中断,CPU响应中断后对键盘进行扫描。
中断方式:当有按键按下时,向CPU发出中断申请,CPU响应中断后对键盘进行扫描工作方式。
键输入中存在的问题及解决方法
(1)键抖动
按键开关的机械触点在闭合与断开瞬间,由于弹性作用均有抖动的过程,从而使电压信号也出现抖动,如图3-1-1所示。抖动时间的长短与开关的机械特性有关,一般为(5~10)ms。
图3-1-1 按键抖动时的电压波动
为了保证按键一次仅作一次键输入处理,必须去除抖动影响。通常采用的去抖方法有硬件去抖动和软件去抖动两种。硬件去抖动方法是在按键输出端加R-S触发器或单稳态电路构成去抖动电路。
由R-S触发器构成的硬件去抖动电路如图3-1-2所示,当按键S没有按下时,左边与非门输出为高电平,右边与非门输出为低电平;当按键按下时,左边与非门输出为低电平,右边与非门输出为高电平;当按键释放后,左边与非门输出又恢复为高电平,右边与非门输出又恢复为低电平;所以当S键进行一次按键操作,左边与非门输出一个负脉冲,右边与非门输出一个正脉冲。
图3-1-2 按键去抖动电路
在按键按下时,一旦接通右边触点,输出电平就发生翻转,由于+5V电源分别经过一个电阻接到左边与非门1脚和右边与非门5脚,所以在电平翻转后按键发生抖动时,根据R-S触发器的特性电路输出会保持翻转后的电平;在按键释放时,一旦接通左边触点,输出电平又发生翻转,同样原理在电平翻转后按键抖动时会一直保持翻转后的电平;从而利用该电路消除了按键抖动的影响。
软件去抖动方法是在第一次检测到有键按下时,调用10ms左右的延时程序,通过延时去掉抖动处的波动电压阶段,然后再确认该键是否仍保持闭合状态电平;若仍保持闭合状态电平则确认为该键真正被按下,否则视为干扰信号。
重键(两个或多个键同时按下)。
处理办法:当只有一个键按下时才读取键盘的输出,并且认为最后仍被按下的键是有效的正确按键。
4.键盘接口
单片机应用系统通常都具有人机对话功能,用户通过按键向单片机系统发出控制指令,单片机接收到键盘指令后完成相应的控制功能。在单片机应用系统中,常用的是独立式键盘和矩阵式键盘,此类键盘只简单提供通、断两种状态。
在本任务中用到的是独立式键盘,有关矩阵式键盘将在任务三中详细讲解。独立式键盘是指直接用I/O口线构成的单个按键电路,每个按键单独占有一根I/O口线,各I/O口线的工作状态不会互相影响。独立式键盘接口电路如图3-1-3所示。
图3-1-3 独立式键盘
独立式键盘接口电路的硬件电路和软件编程都比较简单,但每个按键必须占一根I/O口线,在按键个数较多时,I/O口线资源浪费较大,故只在按键数量不多时采用这种键盘电路。
二、.if语句
if语句是C语言的一个基本判定语句(条件选择语句)。它的基本结构是:
if(表达式) {语句};
在这种结构中,如果括号中的表达式成立(为真),则程序执行大括号中的语句;否则程序将跳过大括号中的语句部分,执行下面其他语句。
C语言提供了3种形式的if语句。
形式一:if(表达式){语句}
例 : if(P1!=0){c=20;}
形式二:if(表达式){语句1;} else {语句2;}
例: if(P1!=0){c=20;}
else {c=0;}
形式三:if(表达式1){语句1;}
else if(表达式2){语句2;}
else if(表达式3){语句3;}
┇
else if(表达式m){语句n;}
else {语句m;}
您可能关注的文档
- 参考教案-蔗糖酶的提取纯化与鉴定综述.doc
- 参考范文1论文正文综述.doc
- 参与政治生活复习课件综述.ppt
- 简单结构的设计(通用技术)分解.ppt
- 参股矿山运营监管办法综述.doc
- 简单两声部节奏分解.ppt
- 简单线性回归模型分解.doc
- 简单嗅探器的设计分解.doc
- 火车北站扩能改造配套市政工程环境影响报告书分解.docx
- 参观北京史家小学体会综述.doc
- 2.2.1 2~6的乘法口诀教学课件 2025人教版数学二年级上册.ppt
- 3.1.2 除法的初步认识(2)(教学课件) 2025人教版数学二年级上册.ppt
- 3.3 整理和复习(教学课件) 2025人教版数学二年级上册.ppt
- 道法人教版(2025)8上2.5.3《友善待人》课件.ppt
- 2.2.3 2~6的乘法口诀(3)(教学课件) 2025人教版数学二年级上册.ppt
- 1分类与整理(2)(教学课件) 2025人教版数学二年级上册.ppt
- 道法人教版(2025)8上1.2.2《养成亲社会行为》课件.ppt
- 4.4 厘米和米教学课件 2025人教版数学二年级上册.ppt
- 5.1.2 7~9的乘法口诀 教学课件 2025人教版数学二年级上册.ppt
- 2.2.2 2~6的乘法口诀(2)(教学课件) 2025人教版数学二年级上册.ppt
最近下载
- 长期卧床患者的体位护理技巧.pptx VIP
- JBT14159.3-2022 空气分离设备能效限额第3部分:液化设备.pdf VIP
- 《民用建筑设计通则》图示.docx VIP
- 灭火应急疏散预案.doc VIP
- 铁路内燃、电力司机考试题库.doc VIP
- 新概念英语第一册 Lesson 55-56 课件.ppt VIP
- 2025AI+BI峰会:DeepInsight Copilot 演进史以及未来探索.pdf VIP
- 《临床药学文献阅读汇报抗感染粘菌素在治疗鲍曼不动杆菌感染vap中的应用》课件模板.ppt VIP
- 2025年福建公需课答案.pdf VIP
- 2020四川园林绿化工程说明及计算规则.pdf VIP
文档评论(0)