《最新完全手册 51单片机C语言开发详解系列之第7章输入接口实战—键盘PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新完全手册 51单片机C语言开发详解系列之第7章输入接口实战—键盘PPT课件.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、完全手册完全手册 51 51单片机单片机C C语言开语言开发详解系列之第发详解系列之第7 7章章 输入输入接口实战接口实战键盘键盘技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.1 键盘接口电路设计l键盘是嵌入式系统中人机交互界面不可缺少的外围设备,客户或使用者可以通过键盘进行数据输入、命令控制、程序生成等操作,是人机会话中一个十分重要的输入工具。本节将详细讲解键盘的工作原理,键盘按键的识别方法,以及各种不同键盘与单片机的接口技术。技术凝聚实力技术凝聚实力专业创新出版专业创新出版技术凝聚实力技术凝聚实力专业创新出版专业创新出版技术凝聚实力技术凝聚实力专业创新出版专业创新出版技术凝聚实力技术
2、凝聚实力专业创新出版专业创新出版技术凝聚实力技术凝聚实力专业创新出版专业创新出版技术凝聚实力技术凝聚实力专业创新出版专业创新出版技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.1.7 阵列式键盘接口电路设计l针对直接式键盘接口的缺点和不足,可以采用阵列式键盘接口电路。在阵列式键盘接口电路中,按键开关被组合成了行和列的矩阵,单片机的I/O口一部分作为行线,一部分作为列线,按键布置在行线和列线的交叉点上,行列式键盘中的按键数量可以达到行线线数与列线线数的乘积。例如一个8位的I/O端口最多可以布置的按键数为44=16个,阵列式键盘接口的最大优点就是可以用最少的I/O端口资源,实现最多的按键输入。
3、于直接式键盘接口相比,要节省很多单片机的I/O端口,适合应用于按键数目较多的场合。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.1.8 中断键盘接口电路设计l当键盘工作于扫描状态时,无论是采用程序扫描方式,还是采用定时扫描方式,都不可避免地要占用微处理器的资源对键盘状态进行查询,无论当前是否有按键按下,这样的方式也统一称为查询模式的键盘输入接口。l此外,查询模式的键盘输入接口只有在程序对键盘进行查询的时候才能得到按键的状态,不能快速的响应键盘的输入,在一些对键盘响应速度有较高要求的场合就必须使用键盘输入的中断接口电路。l键盘输入的中断接口电路,顾名思义就是利用中断响应键盘输入,当有按键被
4、按下时,键盘的电平变化触发单片机的输入中断,单片机启动键盘扫描程序,将键盘状态读入。当没有任何按键被按下时,并不执行键盘扫描程序,这样,即降低了单片机的计算负荷,也减小了键盘输入的响应时洹l直接式的中断键盘输入接口电路如图7.10所示,电路将所有的按键输入通过与门电路连接到AT89S51单片机的INT0中断,只要其中任意一个按键被按下,都会在INT0引脚引起一个低电平,触发INT0中断,进入中断服务程序,在中断服务程序中读取按键的状态。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.2 键盘接口程序设计l在前面一节中详细介绍了单片机系统各种键盘输入接口的基本知识与硬件设计方法,本节将要以A
5、T89S51单片机为实例,继续讲解针对不同嵌入式系统键盘输入接口的软件设计,软件设计的目标是使嵌入式系统能够正确地、及时地获得键盘的按键值,按照输入的按键值执行不同的任务,下面详细讲述键盘输入接口的软件设计。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.2.1 直接式键盘接口软件设计l如图所示为AT89S51单片机采用直接式键盘接口的最小系统电路,8位的直接式键盘与单片机的P2端口相连接,与P0端口相连的是在第6章中介绍的跑马灯系统,系统采用24M晶振。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.2.2 键盘接口软件消抖程序设计l在本章第一节中介绍了从硬件角度对键盘输入进行消抖处
6、理的方法,本小节介绍如何通过软件的方法对键盘输入进行消抖处理。l第一种软件消抖的方法就是延时消抖,当检测到有键按下时,延时一段时间再读按键值,如果读到的键值与第一次读到的相同,则认为该按键已经被按下,并进入了按键的稳定期,该键值有效。一般延迟的时间即为按键的抖动时间常数,不同的按键开关具有不同的抖动时间常数,可以通过试验来确定合适的延时时间,延时消抖的软件流程图如图所示。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.2.3 阵列式键盘接口软件设计l为了正确指示读入的按键值,设计程序如下。l当按下一个按键时,跑马灯系统上LED03显示按下键盘的行,例如当按下第一行的按键时,LED0发光,当
7、按下第三行按键时,LED2发光;跑马灯系统上的LED47显示按下键盘的列,例如当按下第一列的按键时,LED4发光,当按下第三列的按键时,LED6发光。如图所示,8位的LED跑马灯能够指示所有按键的输入。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.2.4 中断式阵列键盘接口软件设计l如图所示为AT89S51单片机采用中断式阵列键盘接口的最小系统电路,44的阵列式键盘与单片机的P2端口相连接,共16个按键输入,与P0端口相连的是在第六章中介绍的跑马灯系统,系统采用24M晶振。四列按钮的上拉电阻输入端信号通过4通道与门芯片SN74HC21进行处理后输入AT89S51的INT0中断输入脚,为按
8、键触发中断源。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.2.5 中断式直接键盘接口软件设计l如图所示为AT89S51单片机采用中断式直接键盘接口的最小系统电路,直接式键盘与单片机的P2端口相连接,共8个按键输入,与P0端口相连的是在第六章中介绍的跑马灯系统,系统采用24M晶振。八个按钮的上拉电阻输入端信号通过美国TI公司生产的与门芯片SN74HC21与SN74HC08进行处理后输入AT89S51的INT0中断输入脚,为按键触发中断源。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.3 问题与思考l本章从初学者设计中最容易犯的错误中挑出三个问题进行讲解,请读者自行完成题目后再依照题
9、后答案进行思考与学习。技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.3.1 直接键盘接口电路设计问题l如图所示为一基于Atmel公司的AT89S51单片机设计的直接键盘接口电路,这个电路存在哪些问题,为什么?技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.3.2 阵列式键盘接口电路设计问题l如图所示为一基于Atmel公司的AT89S51单片机设计的阵列式键盘接口电路,这个电路存在哪些问题,为什么?技术凝聚实力技术凝聚实力专业创新出版专业创新出版7.3.3 中断键盘接口电路设计问题l如图所示为一基于Atmel公司的AT89S51单片机设计的中断式阵列键盘接口电路,这个电路存在哪些问题,为什么?结束语结束语谢谢大家聆听!谢谢大家聆听!21