单片机原理与c51程序设计基础教程 978-7-302-23075-5 chap11新_第1页
单片机原理与c51程序设计基础教程 978-7-302-23075-5 chap11新_第2页
单片机原理与c51程序设计基础教程 978-7-302-23075-5 chap11新_第3页
单片机原理与c51程序设计基础教程 978-7-302-23075-5 chap11新_第4页
单片机原理与c51程序设计基础教程 978-7-302-23075-5 chap11新_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理与C51语言程序设计基础教程重点内容L输入设备种类及结构L键盘与单片机的接口L本章小结第第11章章输输入设备入设备2018/1/101单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构1、开关和按键、开关和按键在单片机系统中常用的开关为DIP(双列直插式)封装。在一般使用中将DIP开关的两端分别接在电路中需要链接和断开的地方,当DIP开关推到“ON”端时两端的线路接通,当推到“OFF”端时两端断开连接,DIP开关原理的简单示意图如图111所示。按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等。另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者价格便宜,后者寿命长,安全性好但比较贵。2018/1/102单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构2、按键去抖动、按键去抖动按键通常使用机械触点式按键开关。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图112所示,抖动时间的长短与开关的机械特性有关,一般为510MS。在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。2018/1/103单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构2、按键去抖动、按键去抖动1硬件去抖在硬件上可采用在键输出端加RS触发器双稳态触发器或单稳态触发器构成去抖动电路(如图112所示),一般在键数较少的情况下采用,在此不作介绍。2018/1/104单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构2、按键去抖动、按键去抖动2软件去抖软件上采取的措施是在检测到有按键按下时,执行一个10MS左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。软件去抖动流程图如下图114所示2018/1/105单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构3、非编码独立式键盘、非编码独立式键盘开关和按键只能实现电路中简单的电气信号选择,在需要向CPU输入数据是要用到键盘。键盘是一个由开关组成的矩阵,是重要的输入设备。在小型微机系统中,如单板微型计算机、带有微处理器的专用设备中,键盘的规模小,可采用简单实用的接口方式,在软件控制下完成键盘的输入功能。独立式按键是指直接用I/O口线构成的单个按键电路。每根I/O线上按键的工作状态不会影响其他I/O口线的工作状态。独立式键盘的示意图如图115所示。2018/1/106单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构4、非编码矩阵式键盘、非编码矩阵式键盘在键盘中按键数量较多时,为了减少I/O口的资源占用,通常将按键排列成矩阵形式,如图116所示。矩阵式键盘与单片机的接口将在本章的1122进行详细介绍。2018/1/107单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构4、非编码矩阵式键盘、非编码矩阵式键盘编码键盘全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键等的保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,在一般的小型系统中使用的不是很多。但是随着硬件设计的越来越复杂,加上硬件设计也倾向于使用集成度较高的模块,所以编码式键盘在实际应用中也越来越普及。从掌握单片机接口及其程序设计的角度看,对于非编码独立式、行列式键盘的接口及其键值的程序读取还是比较重要的,其编程思想在其他接口模块中也经常用到,所以请读者务必掌握。2018/1/108单片机原理与C51语言程序设计基础教程一、输入设备种一、输入设备种类及结构类及结构5、编码键盘、编码键盘全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键等的保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,在一般的小型系统中使用的不是很多。但是随着硬件设计的越来越复杂,加上硬件设计也倾向于使用集成度较高的模块,所以编码式键盘在实际应用中也越来越普及。从掌握单片机接口及其程序设计的角度看,对于非编码独立式、行列式键盘的接口及其键值的程序读取还是比较重要的,其编程思想在其他接口模块中也经常用到,所以请读者务必掌握。2018/1/109单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口1、编码键盘、编码键盘独立式键盘与单片机的接口单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图117所示。2018/1/1010单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口1、独立式键盘与单片机的接口、独立式键盘与单片机的接口独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。图117中按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。独立式按键的程序设计一般采用查询法编程。所谓查询法编程,就是先逐位查询每根I/O口线的输入状态,如果某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。因此,实现比较简单。2018/1/1011单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口1、独立式键盘与单片机的接口、独立式键盘与单片机的接口【例111】本例采用的原理图如图117所示,当按下KI键时,要求在KEIL中用PRINTF函数输出如下字样“您已经按下I号键”,例如,当按下K0键时,此时输出字样为“您已经按下0号键”。试编写程序实现如上功能。分析题目要求用PRINTF函数进行输出,因此首先要进行串口初始化。程序详细请参考教材2018/1/1012单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口在单片机系统中按键数量较多时,为了减少I/O口的占用,常常将按键排列成矩阵形式。1矩阵式键盘的原理与识别由图116可知,一个44的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。键盘识别按键的方法很多,其中,最常见的方法是扫描法。下面以图116中8号键的识别为例来说明扫描法识别按键的过程。2018/1/1013单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,不一定是8号键按下,因为9、10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。采用键盘扫描后,再来观察8号键按下时的工作过程,当第0列处于低电平时,第2行处于低电平,而第1、2、3列处于低电平时,第2行却处在高电平,由此可判定按下的键应是第2行与第0列的交叉点,即8号键。2018/1/1014单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口2键盘的编码对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。如图114中的8号键,它位于第2行,第0列,因此,其键盘编码应为20H。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对安排进行编码。以图114中的44键盘为例,可将键号编码为01H、02H、03H0EH、0FH、10H等16个键号。编码相互转换可通过计算或查表的方法实现。2018/1/1015单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口3键盘的工作方式在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。(1)编程扫描方式编程扫描方式是利用CPU完成其它工作的空余调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。键盘扫描程序一般应包括以下内容判别有无键按下。键盘扫描取得闭合键的行、列值。用计算法或查表法得到键值。判断闭合键是否释放,如没释放则继续等待。将闭合键键号保存,同时转去执行该闭合键的功能。2018/1/1016单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口(2)定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10MS)的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。3)中断扫描方式中断扫描方式是通过产生中断而去键盘执行扫描程序。对于上述两种键盘扫描方式,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态,浪费了CPU资源。但是,如果采用中断扫描工作方式,当键按下后,产生一个中断,再去执行键盘扫描程序,这样将大大节约CPU资源。2018/1/1017单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口图115是中断扫描方式的硬件电路图。其工作过程如下当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。2018/1/1018单片机原理与C51语言程序设计基础教程二、键盘与单片二、键盘与单片机的接口机的接口2、矩阵式键盘与单片机的接口、矩阵式键盘与单片机的接口图115是中断扫描方式的硬件电路图。其工作过程如下当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。【例112】采用中断扫描的方式,按图119的电路编写键盘接口程序。程序参考教材2018/1/1019单片机原理与C51语言程序设计基础教程三、本章小结三、本章小结本章小结本章主要介绍了常用的输入设备,详细介绍了输入设备的结构和分类,并分别对独立式键盘和矩阵式键盘做了详细介绍,包括接口、连线以及编程方法,并用实例进行说明。通过本章的学习,读者应该掌握以下几个知识点1知道单片机的输入设备,学会对输入设备的选择。2掌握独立式键盘的接口以及编程。3掌握矩阵式键盘的编码、工作方式以及编程2018/1/1020单片机原理与C51语言程序设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论