- 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
- 筏板基础桩基承台分析.ppt
- 大气污染控制工程课程设计题目解析.doc
- 大樱桃栽培技术07-8解析.ppt
- 等级医院评审药事组关注内容9.30分析.ppt
- 答辩PPT建筑电气与智能化专业强电系统设计分析.ppt
- 策略4三种文体分析.doc
- 策划书专题1分析.ppt
- 大气污染治理设备-电除尘器解析.ppt
- 策划书分析分析.ppt
- [++初中数学]+第2课时+从不同方向观察立体图形和立体图形的展开+++课件+人教版七年级数学上册.pptx
- [++初中数学]第4课时+方案选择问题(27页)+++课件+人教版数学七年级上册.pptx
- [++初中数学]+第2课时+角的平分线++课件+人教版数学七年级上册.pptx
- [++初中数学]+第2课时+方程的解及一元一次方程++课件++人教版数学七年级上册.pptx
- [++初中数学]成比例线段第2课时++等比性质课件+北师大版九年级数学上册.pptx
- [++初中数学]+第1课时+认识几何体课件+人教版数学七年级上册.pptx
- [++初中数学]第3课时+去括号解一元一次方程(23页)+++课件+教版数学七年级上册.pptx
- [++初中数学]二元一次方程组及其解法第3课时课件+沪科版数学七年级上册.pptx
- [++初中数学]几何图形初步+复习课+课件+人教版七年级数学上册.pptx
- [++初中数学]+二元一次方程组及其解法第1课时课件+沪科版数学七年级上册.pptx
文档评论(0)