《单片机原理及应用第10章 键盘显示器接口》由会员分享,可在线阅读,更多相关《单片机原理及应用第10章 键盘显示器接口(36页珍藏版)》请在金锄头文库上搜索。
1、第第1010章章 AT89S51AT89S51单片机与输入单片机与输入/输出输出 外设的接口外设的接口1第第1010章章 目录目录10.1LED数码管的显示原理数码管的显示原理 10.1.1 LED数码管的结构 10.1.2 LED数码管工作原理10.2键盘接口原理键盘接口原理 10.2.1 键盘输入应解决的问题 10.2.2 键盘的工作原理 10.2.3 键盘的工作方式10.3键盘键盘/显示器接口设计实例显示器接口设计实例 10.3.1 利用AT89S51单片机串行口实现的键盘/显示器接口2内容概要内容概要大多数的单片机应用系统,都要配置输入外设和输出外大多数的单片机应用系统,都要配置输入外
2、设和输出外设。常用的设。常用的输入外设输入外设有有键盘、键盘、BCD码拨盘码拨盘等;常用的等;常用的输出输出外设外设有有LED数码管、数码管、LCD显示器、打印机显示器、打印机等。等。本章介绍本章介绍AT89S51与各种输入外设、输出外设的接口与各种输入外设、输出外设的接口设设计以及计以及软件编程软件编程。3编辑课件10.1LED数码管的显示原理数码管的显示原理LEDLightEmittingDiode发光二极管缩写。发光二极管缩写。LED数码管是由发光二极管构成的。数码管是由发光二极管构成的。10.1.1LED数码管的结构数码管的结构常见的常见的LED数码管为数码管为“8字型的,共计字型的,
3、共计8段。每一段段。每一段对应一个发光二极管。有共阳极和共阴极两种,如图对应一个发光二极管。有共阳极和共阴极两种,如图10-1所示。共阴极发光二极管的阴极连在一起,通常公共阴极所示。共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,发光二极管点亮。接地。当阳极为高电平时,发光二极管点亮。同样,共阳极同样,共阳极LED数码管的发光二极管的阳极连接在数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。电平时,发光二极管被点亮,相应的段被显示。4图图10-18段段
4、LED数码管结构及外形数码管结构及外形5为了使数码管显示不同的符号或数字,要把某些段发光为了使数码管显示不同的符号或数字,要把某些段发光二极管点亮,就要为二极管点亮,就要为LED数码管提供段码字型码。数码管提供段码字型码。LED数码管共计数码管共计8段。正好是一个字节。习惯上是以段。正好是一个字节。习惯上是以“a段对应段码字节的最低位。各段与字节中各位对应关系段对应段码字节的最低位。各段与字节中各位对应关系如表如表10-1所示。所示。按照上述格式,显示各种字符的按照上述格式,显示各种字符的8段段LED数码管的段码数码管的段码如表如表10-2所示。所示。67表表10-1只列出了局部段码,读者可以
5、根据实际情况选用,只列出了局部段码,读者可以根据实际情况选用,或重新定义。除或重新定义。除“8字型的字型的LED数码管外,市面上还有数码管外,市面上还有“1型、型、“米字型和米字型和“点阵型点阵型LED显示器,如图显示器,如图10-2所示。本章均以所示。本章均以“8字型的字型的LED数码管为例。数码管为例。图图10-2其他各种字型的其他各种字型的LED显示器显示器810.1.2LED数码管工作原理数码管工作原理图图10-3所示为显示所示为显示4位字符的位字符的LED数码管的结构原理数码管的结构原理图。图。N位位位选线位选线和和8 N条条段码线段码线。段码线控制段码线控制显示显示字型字型,而而位
6、选线位选线控制着该显示位的控制着该显示位的LED数码管的数码管的亮或暗亮或暗。图图10-3 4位位LED数码管的结构原理图数码管的结构原理图9LED数码管有静态显示和动态显示两种显示方式。数码管有静态显示和动态显示两种显示方式。1LED静态显示方式静态显示方式无论多少位无论多少位LED数码管,同时处于显示状态。数码管,同时处于显示状态。静态显示方式,各位的共阴极或共阳极连接在一起静态显示方式,各位的共阴极或共阳极连接在一起并接地或接并接地或接+5V;每位的段码线;每位的段码线adp分别与一分别与一个个8位的位的I/O口锁存器输出相连。如果送往各个口锁存器输出相连。如果送往各个LED数码管数码管
7、所显示字符的段码一经确定,那么相应所显示字符的段码一经确定,那么相应I/O口锁存器锁存口锁存器锁存的段码输出将维持不变,直到送入另一个字符的段码为止。的段码输出将维持不变,直到送入另一个字符的段码为止。正因为如此,静态显示方式的显示无闪烁,亮度都较高,正因为如此,静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易。软件控制比较容易。10图图10-4为为4位位LED数码管静态显示器电路,各位可独立数码管静态显示器电路,各位可独立显示,静态显示方式接口编程容易,但是占用口线较多。显示,静态显示方式接口编程容易,但是占用口线较多。对图对图10-4电路,假设用电路,假设用I/O口线接口,要占用口线
8、接口,要占用4个个8位位I/O口。口。因此在显示位数较多的情况下,所需的电流比较大,对电因此在显示位数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这时一般都采用动态显示方式。源的要求也就随之增高,这时一般都采用动态显示方式。图图10-44位位LED静态显示电路静态显示电路112LED动态显示方式动态显示方式无论在任何时刻只有一个无论在任何时刻只有一个LED数码管处于显示状态,即数码管处于显示状态,即单片机采用单片机采用“扫描方式控制各个数码管轮流显示。扫描方式控制各个数码管轮流显示。在多位在多位LED显示时,为简化硬件电路,通常将所有显示显示时,为简化硬件电路,通常将所有显示位的
9、段码线的相应段并联在一起,由一个位的段码线的相应段并联在一起,由一个8位位I/O口控制,口控制,而各位的共阳极或共阴极分别由相应的而各位的共阳极或共阴极分别由相应的I/O线控制,形成线控制,形成各位的分时选通。各位的分时选通。图图10-5所示为一个所示为一个4位位8段段LED动态显示电路。其中段码动态显示电路。其中段码线占用一个线占用一个8位位I/O口,而位选线占用一个口,而位选线占用一个4位位I/O口。必须口。必须采用动态的采用动态的“扫描显示方式。即在某一时刻,只让某一扫描显示方式。即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭位的位选线处于选通状态,而其他各位的
10、位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码。状态,同时,段码线上输出相应位要有显示的字符的段码。12图图10-54位位8段段LED动态显示电路动态显示电路13虽然这些字符是在不同时刻出现,而在同一时刻,只有虽然这些字符是在不同时刻出现,而在同一时刻,只有一位显示,其他各位熄灭,由于余辉和人眼的一位显示,其他各位熄灭,由于余辉和人眼的“视觉暂留视觉暂留作用,只要每位显示间隔足够短,那么可以造成作用,只要每位显示间隔足够短,那么可以造成“多位多位同时亮的假象,到达同时显示的效果。同时亮的假象,到达同时显示的效果。LED不同位显示的时间间隔扫描间隔应根据实际情不同位显示的时间间
11、隔扫描间隔应根据实际情况而定。显示位数多,将占大量的单片机时间,因此动态况而定。显示位数多,将占大量的单片机时间,因此动态显示的实质是以牺牲单片机时间来换取显示的实质是以牺牲单片机时间来换取I/O端口的减少。端口的减少。图图10-6所示为所示为8位位LED动态显示动态显示2021.10.10的过程。图的过程。图10-6a所示为显示过程,某一时刻,只有一位所示为显示过程,某一时刻,只有一位LED被被选通显示,其余位那么是熄灭的;图选通显示,其余位那么是熄灭的;图10-6b所示为实所示为实际的显示结果,人眼看到的是际的显示结果,人眼看到的是8位稳定的同时显示的字符。位稳定的同时显示的字符。14 图
12、10-6 8位LED动态显示过程和结果动态显示的优点是硬件电路简单,显示器越多,优势越明显。缺点是显示亮度不如静态显示的亮度高。如果“扫描速率较低,会出现闪烁现象。1510.2键盘接口原理键盘接口原理键盘具有向单片机输入数据、命令等功能,是人与单片键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。下面介绍键盘的工作原理和键盘的工机对话的主要手段。下面介绍键盘的工作原理和键盘的工作方式。作方式。10.2.1键盘输入应解决的问题键盘输入应解决的问题1键盘的任务键盘的任务任务有三项:任务有三项:(1)判别是否有键按下?假设有,进入下一步工作。判别是否有键按下?假设有,进入下一步工作。
13、(2)识别哪一个键被按下,并求出相应的键值。识别哪一个键被按下,并求出相应的键值。(3)根据键值,找到相应键值的处理程序入口。根据键值,找到相应键值的处理程序入口。162键盘输入的特点键盘输入的特点常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常用的是按键式键盘。按键实质上就是一个开关。如图用的是按键式键盘。按键实质上就是一个开关。如图10-7a所示,按键开关的两端分别连接在行线和列线上,所示,按键开关的两端分别连接在行线和列线上,通过键盘开关机械触点的断开、闭合,其行线电压输出波通过键盘开关机械触点的断开、闭合,其行线电压输出波形如图形如图10
14、-7b所示。所示。图图10-7键盘开关及其行线波形键盘开关及其行线波形17图图10-7b所示的所示的t1和和t3分别为键的闭合和断开过程分别为键的闭合和断开过程中的抖动期呈现一串负脉冲,抖动时间长短与开关的中的抖动期呈现一串负脉冲,抖动时间长短与开关的机械特性有关,一般为机械特性有关,一般为510ms,t2为稳定的闭合期,其为稳定的闭合期,其时间由按键动作确定,一般为十分之几秒到几秒,时间由按键动作确定,一般为十分之几秒到几秒,t0、t4为断开期。为断开期。183按键的识别按键的识别键的闭合与否,行线输出电压上就是呈现高电平或低电键的闭合与否,行线输出电压上就是呈现高电平或低电平。高电平,表示
15、键断开,低电平那么表示键闭合,通过平。高电平,表示键断开,低电平那么表示键闭合,通过对行线电平的上下状态的检测,可确认按键按下以及按键对行线电平的上下状态的检测,可确认按键按下以及按键释放与否。为了确保对一次按键动作只确认一次按键有效,释放与否。为了确保对一次按键动作只确认一次按键有效,必须消除抖动期必须消除抖动期t1和和t3的影响。的影响。194如何消除按键的抖动如何消除按键的抖动按键去抖动的方法有两种:按键去抖动的方法有两种:一种软件延时,本思想是:在检测到有键按下时,该键一种软件延时,本思想是:在检测到有键按下时,该键所对应的行线为低电平,执行一段延时所对应的行线为低电平,执行一段延时1
16、0ms的子程序后,的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,那么确认该行线电平是否仍为低电平,如果仍为低电平,那么确认该行确实有键按下。当按键松开时,行线的低电平变确认该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时为高电平,执行一段延时10ms的子程序后,检测该行线的子程序后,检测该行线为高电平,说明按键确实已经松开。采取本措施,可消除为高电平,说明按键确实已经松开。采取本措施,可消除两个抖动期两个抖动期t1和和t3的影响。的影响。另一种是采用专用的键盘另一种是采用专用的键盘/显示器接口芯片,这类芯片显示器接口芯片,这类芯片中都有自动去抖动的硬件电路。中都有自动去抖动的硬件电路。2010.2.2键盘的工作原理键盘的工作原理键盘可分为两类:非编码键盘和编码键盘。键盘可分为两类:非编码键盘和编码键盘。非编码键盘是利用按键直接与单片机相连接而成,这种非编码键盘是利用按键直接与单片机相连接而成,这种键盘通常使用在按键数量较少的场合。使用这种键盘,系键盘通常使用在按键数量较少的场合。使用这种键盘,系统功能通常比较简单,需要处理的任务较少,但是可以降统功能通常