单片机原理及应用第10章键盘显示器接口ppt课件

上传人:痛*** 文档编号:186948556 上传时间:2023-02-10 格式:PPT 页数:36 大小:964KB
收藏 版权申诉 举报 下载
单片机原理及应用第10章键盘显示器接口ppt课件_第1页
第1页 / 共36页
单片机原理及应用第10章键盘显示器接口ppt课件_第2页
第2页 / 共36页
单片机原理及应用第10章键盘显示器接口ppt课件_第3页
第3页 / 共36页
资源描述:

《单片机原理及应用第10章键盘显示器接口ppt课件》由会员分享,可在线阅读,更多相关《单片机原理及应用第10章键盘显示器接口ppt课件(36页珍藏版)》请在装配图网上搜索。

1、 第第10章章 AT89S51单片机与输入单片机与输入/输出输出 外设的接口外设的接口12 第第10章章 目录目录10.1 LED数码管的显示原理数码管的显示原理 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、概要大多数的单片机应用系统,都要配置输入外设和输出外设。常用的输入外设有键盘、BCD码拨盘等;常用的输出外设有LED数码管、LCD显示器、打印机等。本章介绍AT89S51与各种输入外设、输出外设的接口设计以及软件编程。10.1 LED数码管的显示原理数码管的显示原理LEDLight Emitting Diode发光二极管缩写。发光二极管缩写。LED数码管是由发光二极管构成的。数码管是由发光二极管构成的。10.1.1 LED数码管的结构数码管的结构常见的常见的LED数码管为数码管为“8字型的,共计字型的,共计8段。每一段段。每一段对应一个发光二极管。有共阳极和共阴极两种,如图对应一个发光二极管。

3、有共阳极和共阴极两种,如图10-1所示。共阴极发光二极管的阴极连在一起,通常公共阴极所示。共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,发光二极管点亮。接地。当阳极为高电平时,发光二极管点亮。同样,共阳极同样,共阳极LED数码管的发光二极管的阳极连接在数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。电平时,发光二极管被点亮,相应的段被显示。45图图10-1 8段段LED数码管结构及外形数码管结构及外形为了使数码管显示不同的符号或数字,要把某些段发光为

4、了使数码管显示不同的符号或数字,要把某些段发光二极管点亮,就要为二极管点亮,就要为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.2 LED数码管工作原理数码管工作原理图图10-3所示为显示所示为显示4位字符的位字符的LED数码管的结构原理数码管的结构原理图。图。N位位选线和位位选线和8 N条段码线。段码线控制显示字型,条段码线。段码线控制显示字型,而位选线控制着该显示位的而位选线控制着该显示位的LED数码管的亮或暗。数码管的亮或暗

6、。9图图10-3 4位位LED数码管的结构原理图数码管的结构原理图LED数码管有静态显示和动态显示两种显示方式。数码管有静态显示和动态显示两种显示方式。1LED静态显示方式静态显示方式无论多少位无论多少位LED数码管,同时处于显示状态。数码管,同时处于显示状态。静态显示方式,各位的共阴极或共阳极连接在一起静态显示方式,各位的共阴极或共阳极连接在一起并接地或接并接地或接+5V);每位的段码线);每位的段码线adp分别与一分别与一个个8位的位的I/O口锁存器输出相连。如果送往各个口锁存器输出相连。如果送往各个LED数码管数码管所显示字符的段码一经确定,则相应所显示字符的段码一经确定,则相应I/O口

7、锁存器锁存的口锁存器锁存的段码输出将维持不变,直到送入另一个字符的段码为止。段码输出将维持不变,直到送入另一个字符的段码为止。正因为如此,静态显示方式的显示无闪烁,亮度都较高,正因为如此,静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易。软件控制比较容易。10图图10-4为为4位位LED数码管静态显示器电路,各位可独立数码管静态显示器电路,各位可独立显示,静态显示方式接口编程容易,但是占用口线较多。显示,静态显示方式接口编程容易,但是占用口线较多。对图对图10-4电路,若用电路,若用I/O口线接口,要占用口线接口,要占用4个个8位位I/O口。口。因此在显示位数较多的情况下,所需的电流比较

8、大,对电因此在显示位数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这时一般都采用动态显示方式。源的要求也就随之增高,这时一般都采用动态显示方式。11图图10-4 4位位LED静态显示电路静态显示电路2LED动态显示方式动态显示方式无论在任何时刻只有一个无论在任何时刻只有一个LED数码管处于显示状态,即数码管处于显示状态,即单片机采用单片机采用“扫描方式控制各个数码管轮流显示。扫描方式控制各个数码管轮流显示。在多位在多位LED显示时,为简化硬件电路,通常将所有显示显示时,为简化硬件电路,通常将所有显示位的段码线的相应段并联在一起,由一个位的段码线的相应段并联在一起,由一个8位位I/

9、O口控制,口控制,而各位的共阳极或共阴极分别由相应的而各位的共阳极或共阴极分别由相应的I/O线控制,形成线控制,形成各位的分时选通。各位的分时选通。图图10-5所示为一个所示为一个4位位8段段LED动态显示电路。其中段动态显示电路。其中段码线占用一个码线占用一个8位位I/O口,而位选线占用一个口,而位选线占用一个4位位I/O口。必口。必须采用动态的须采用动态的“扫描显示方式。即在某一时刻,只让某扫描显示方式。即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段闭状态,同时,段码

10、线上输出相应位要有显示的字符的段码。码。1213图图10-5 4位位8段段LED动态显示电路动态显示电路虽然这些字符是在不同时刻出现,而在同一时刻,只有虽然这些字符是在不同时刻出现,而在同一时刻,只有一位显示,其他各位熄灭,由于余辉和人眼的一位显示,其他各位熄灭,由于余辉和人眼的“视觉暂留视觉暂留作用,只要每位显示间隔足够短,则可以造成作用,只要每位显示间隔足够短,则可以造成“多位同多位同时亮的假象,达到同时显示的效果。时亮的假象,达到同时显示的效果。LED不同位显示的时间间隔扫描间隔应根据实际情不同位显示的时间间隔扫描间隔应根据实际情况而定。显示位数多,将占大量的单片机时间,因此动态况而定。

11、显示位数多,将占大量的单片机时间,因此动态显示的实质是以牺牲单片机时间来换取显示的实质是以牺牲单片机时间来换取I/O端口的减少。端口的减少。图图10-6所示为所示为8位位LED动态显示动态显示2009.10.10的过程。图的过程。图10-6a所示为显示过程,某一时刻,只有一位所示为显示过程,某一时刻,只有一位LED被被选通显示,其余位则是熄灭的;图选通显示,其余位则是熄灭的;图10-6b所示为实际所示为实际的显示结果,人眼看到的是的显示结果,人眼看到的是8位稳定的同时显示的字符。位稳定的同时显示的字符。14 图10-6 8位LED动态显示过程和结果动态显示的优点是硬件电路简单,显示器越多,优势

12、越明显。缺点是显示亮度不如静态显示的亮度高。假设“扫描速率较低,会出现闪烁现象。1510.2 键盘接口原理键盘接口原理键盘具有向单片机输入数据、命令等功能,是人与单片键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。下面介绍键盘的工作原理和键盘的工机对话的主要手段。下面介绍键盘的工作原理和键盘的工作方式。作方式。10.2.1 键盘输入应解决的问题键盘输入应解决的问题1键盘的任务键盘的任务任务有三项:任务有三项:(1)判别是否有键按下?若有,进入下一步工作。判别是否有键按下?若有,进入下一步工作。(2)识别哪一个键被按下,并求出相应的键值。识别哪一个键被按下,并求出相应的键值。(

13、3)根据键值,找到相应键值的处理程序入口。根据键值,找到相应键值的处理程序入口。162键盘输入的特点键盘输入的特点常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常常见键盘:触摸式键盘、薄膜键盘和按键式键盘,最常用的是按键式键盘。按键实质上就是一个开关。如图用的是按键式键盘。按键实质上就是一个开关。如图10-7a所示,按键开关的两端分别连接在行线和列线上,所示,按键开关的两端分别连接在行线和列线上,通过键盘开关机械触点的断开、闭合,其行线电压输出波通过键盘开关机械触点的断开、闭合,其行线电压输出波形如图形如图10-7b所示。所示。图图10-7 键盘开关及其行线波形键盘开关及其行线波形17图图10

14、-7b所示的所示的t1和和t3分别为键的闭合和断开过程分别为键的闭合和断开过程中的抖动期呈现一串负脉冲),抖动时间长短与开关的中的抖动期呈现一串负脉冲),抖动时间长短与开关的机械特性有关,一般为机械特性有关,一般为510ms,t2为稳定的闭合期,其为稳定的闭合期,其时间由按键动作确定,一般为十分之几秒到几秒,时间由按键动作确定,一般为十分之几秒到几秒,t0、t4为断开期。为断开期。183按键的识别按键的识别键的闭合与否,行线输出电压上就是呈现高电平或低电键的闭合与否,行线输出电压上就是呈现高电平或低电平。高电平,表示键断开,低电平则表示键闭合,通过对平。高电平,表示键断开,低电平则表示键闭合,

15、通过对行线电平的高低状态的检测,可确认按键按下以及按键释行线电平的高低状态的检测,可确认按键按下以及按键释放与否。为了确保对一次按键动作只确认一次按键有效,放与否。为了确保对一次按键动作只确认一次按键有效,必须消除抖动期必须消除抖动期t1和和t3的影响。的影响。194如何消除按键的抖动如何消除按键的抖动按键去抖动的方法有两种:按键去抖动的方法有两种:一种软件延时,本思想是:在检测到有键按下时,该键一种软件延时,本思想是:在检测到有键按下时,该键所对应的行线为低电平,执行一段延时所对应的行线为低电平,执行一段延时10ms的子程序后,的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确确

16、认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有键按下。当按键松开时,行线的低电平变为认该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时高电平,执行一段延时10ms的子程序后,检测该行线为的子程序后,检测该行线为高电平,说明按键确实已经松开。采取本措施,可消除两高电平,说明按键确实已经松开。采取本措施,可消除两个抖动期个抖动期t1和和t3的影响。的影响。另一种是采用专用的键盘另一种是采用专用的键盘/显示器接口芯片,这类芯片显示器接口芯片,这类芯片中都有自动去抖动的硬件电路。中都有自动去抖动的硬件电路。2010.2.2 键盘的工作原理键盘的工作原理键盘可分为两类:

17、非编码键盘和编码键盘。键盘可分为两类:非编码键盘和编码键盘。非编码键盘是利用按键直接与单片机相连接而成,这种非编码键盘是利用按键直接与单片机相连接而成,这种键盘通常使用在按键数量较少的场合。使用这种键盘,系键盘通常使用在按键数量较少的场合。使用这种键盘,系统功能通常比较简单,需要处理的任务较少,但是可以降统功能通常比较简单,需要处理的任务较少,但是可以降低成本、简化电路设计。按键的信息通过软件来获取。低成本、简化电路设计。按键的信息通过软件来获取。1非编码键盘非编码键盘常见的为两种结构:独立式键盘和矩阵式键盘。常见的为两种结构:独立式键盘和矩阵式键盘。(1独立式键盘独立式键盘特点是:一键一线,

18、各键相互独立,每个键各接一条特点是:一键一线,各键相互独立,每个键各接一条I/O口线,通过检测口线,通过检测I/O输入线的电平状态,可容易地判断输入线的电平状态,可容易地判断哪个按键被按下,如图哪个按键被按下,如图10-8所示。所示。21图图10-8 独立式键盘接口电路独立式键盘接口电路对于图对于图10-8的键盘,图中的上拉电阻保证按键释放时,的键盘,图中的上拉电阻保证按键释放时,输入检测线上有稳定的高电平。输入检测线上有稳定的高电平。当某一按键按下时,对应的检测线就变成了低电平,与当某一按键按下时,对应的检测线就变成了低电平,与其他按键相连的检测线仍为高电平,只需读入其他按键相连的检测线仍为

19、高电平,只需读入I/O输入线输入线的状态,判别哪一条的状态,判别哪一条I/O输入线为低电平,很容易识别哪输入线为低电平,很容易识别哪个键被按下。个键被按下。优点:电路简单,各条检测线独立,识别按下按键的软优点:电路简单,各条检测线独立,识别按下按键的软件编写简单。适用于键盘按键数目较少的场合,不适用于件编写简单。适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的键盘按键数目较多的场合,因为将占用较多的I/O口线。口线。23识别某一键是否按下的子程序:识别某一键是否按下的子程序:KEYIN:MOV P1,#0FFH;P1口写入口写入1,设置,设置P1口为输入状态口为输

20、入状态MOV A,P1;读入;读入8个按键的状态个按键的状态CJNE A,#0FFH,QUDOU;有键按下,跳去抖动;有键按下,跳去抖动LJMP RETURN;无键按下,前往;无键按下,前往QUDOU:MOV R3,A;8个按键的状态送个按键的状态送R3保存保存LCALL DELAY10;调用延时子程序,软件去键;调用延时子程序,软件去键抖动抖动MOV A,P1;再一次读入;再一次读入8个按键的状态个按键的状态CJNE A,R3,RETURN;两次键值比较,不同,;两次键值比较,不同,;是抖动引起,转;是抖动引起,转RETURN24KEY0:MOVC,P1.0;有键按下,读;有键按下,读P1.

21、0的按键状态的按键状态JCKEY1;P1.0为高,该键未按下,跳为高,该键未按下,跳KEY1,;判下一个键;判下一个键LJMPPKEY0;P1.0的键按下,跳的键按下,跳PKEY0处理处理KEY1:MOVC,P1.1;读;读P1.1的按键状态的按键状态JCKEY2;P1.1为高,该键未按下,跳为高,该键未按下,跳KEY2,;判下一个键;判下一个键LJMPPKEY1;P1.1的键按下,跳的键按下,跳PKEY1处理处理25KEY2:MOVC,P1.2;读;读P1.2的按键状态的按键状态JCKEY3;P1.2为高,该键未按下,跳为高,该键未按下,跳;KEY3,判下一个键,判下一个键LJMPPKEY2

22、;P1.2的键按下,跳的键按下,跳PKEY2处理处理KEY3:MOVC,P1.3;读;读P1.3的按键状态的按键状态KEY7:MOVC,P1.7;读;读P1.7的按键状态的按键状态JCRETURN;P1.7为高,该键未按下,跳为高,该键未按下,跳;RETURN处处LJMPPKEY7;P1.7的键按下,跳的键按下,跳PKEY7处理处理RETURN:RET ;子程序返回;子程序返回26软件延时软件延时10ms子程序子程序DELAY10的编写,参见第的编写,参见第4章。章。对应对应8个按键的键处理程序个按键的键处理程序PKEY0 PKEY7,根据按键功,根据按键功能的要求来编写。留意,在进入键处理程

23、序后,需要先等能的要求来编写。留意,在进入键处理程序后,需要先等待按键释放,再执行键处理功能。另外,在键处理程序完待按键释放,再执行键处理功能。另外,在键处理程序完成后,一定要跳向成后,一定要跳向RETURN标号处返回。标号处返回。2710.2.3 键盘的工作方式键盘的工作方式单片机在忙于其他各项工作任务时,如何兼顾键盘的输入,单片机在忙于其他各项工作任务时,如何兼顾键盘的输入,这取决于键盘的工作方式。工作方式选取原则是,既要保这取决于键盘的工作方式。工作方式选取原则是,既要保证及时响应按键操作,又不过多占用单片机工作时间。键证及时响应按键操作,又不过多占用单片机工作时间。键盘工作方式有盘工作

24、方式有3种,即编程扫描、定时扫描和中断扫描。种,即编程扫描、定时扫描和中断扫描。1编程扫描方式编程扫描方式 也称查询方式,利用单片机空闲时,调用键盘扫描子程序,也称查询方式,利用单片机空闲时,调用键盘扫描子程序,反复扫描键盘。反复扫描键盘。如果单片机的查询的频率过高,虽能及时响应键盘的输入,如果单片机的查询的频率过高,虽能及时响应键盘的输入,但也会影响其他任务的进行。查询的频率过低,可能会键但也会影响其他任务的进行。查询的频率过低,可能会键盘输入漏判。盘输入漏判。所以要根据单片机系统的繁忙程度和键盘的操作频率,来调所以要根据单片机系统的繁忙程度和键盘的操作频率,来调整键盘扫描的频率。整键盘扫描

25、的频率。2定时扫描方式定时扫描方式每隔一定的时间对键盘扫描一次。在这种方式中,通常每隔一定的时间对键盘扫描一次。在这种方式中,通常利用单片机内的定时器产生的定时中断,进入中断子程序利用单片机内的定时器产生的定时中断,进入中断子程序来对键盘进行扫描,在有键按下时识别出该键,并执行相来对键盘进行扫描,在有键按下时识别出该键,并执行相应键的处理程序。为了不漏判有效的按键,定时中断的周应键的处理程序。为了不漏判有效的按键,定时中断的周期一般应小于期一般应小于100ms。293中断扫描方式中断扫描方式为提高单片机扫描键盘的工作效率,可采用中断扫描方为提高单片机扫描键盘的工作效率,可采用中断扫描方式,如图

26、式,如图10-11所示。所示。图中的键盘只有在键盘有按键按下时,发出中断请求信图中的键盘只有在键盘有按键按下时,发出中断请求信号,单片机响应中断,执行键盘扫描程序中断服务子程序。号,单片机响应中断,执行键盘扫描程序中断服务子程序。如无键按下,单片机将不理睬键盘。如无键按下,单片机将不理睬键盘。此种方式的优点是,只有按键按下时,才进行处理,所此种方式的优点是,只有按键按下时,才进行处理,所以其实时性强,工作效率高。以其实时性强,工作效率高。3031图图10-11 采用线反转法的矩阵式键盘采用线反转法的矩阵式键盘10.3 键盘键盘/显示器接口设计实例显示器接口设计实例在单片机应用系统设计中,一般都

27、是把键盘和显示器放在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。也有的系统仅单独需要键盘或显示器。介绍在一起考虑。也有的系统仅单独需要键盘或显示器。介绍几种实用的键盘几种实用的键盘/显示器接口的设计方案。显示器接口的设计方案。3210.3.1 利用利用AT89S51串行口实现的键盘串行口实现的键盘/显示器接口显示器接口当当AT89S51单片机的串行口未作它用时,可使用单片机的串行口未作它用时,可使用AT89S51的串行口的方式的串行口的方式0的输出方式,构成键盘的输出方式,构成键盘/显示器显示器接口,如图接口,如图10-12所示。所示。8个个74LS164:74LS164(0)7

28、4LS164(7)作为作为8位位LED数码管的段码输出口,数码管的段码输出口,AT89S51的的P3.4、P3.5作为作为两行键的行状态输入线,两行键的行状态输入线,P3.3作为作为TXD引脚同步移位脉冲引脚同步移位脉冲输出控制线,输出控制线,P3.3=0时,与门封死,禁止同步移位脉冲时,与门封死,禁止同步移位脉冲输出。这种方案主程序可不必扫描显示器,软件设计简单,输出。这种方案主程序可不必扫描显示器,软件设计简单,使单片机有更多的时间处理其他事务。使单片机有更多的时间处理其他事务。下面列出显示子程序和键盘扫描子程序。下面列出显示子程序和键盘扫描子程序。33 图10-12 用AT89S51串行

29、口扩展键盘/显示器34显示子程序:显示子程序:DIR:SETB P3.3;P3.3=1,允许,允许TXD脚同步移位脉脚同步移位脉冲输出冲输出 MOV R7,08H;送出的段码个数送出的段码个数 MOV R0,7FH;7FH78H为显示数据缓为显示数据缓冲区冲区DL0:MOV A,R0;取出要显示的数送取出要显示的数送A ADD A,0DH;加上偏移量加上偏移量 MOVC A,APC;查段码表查段码表SEGTAB,取出取出段码段码 MOV SBUF,A;将段码送串行口的将段码送串行口的SBUFDL1:JNB TI,DL1;查询查询1个字节的段码个字节的段码输出完否?输出完否?CLRTI;1字节的段码输出完,清字节的段码输出完,清TI标志标志 DECR0;指向下一个显示数据单元指向下一个显示数据单元35DJNZR7,DL0;段码个数计数器R7是否为0,如不;为0,继续送段码 CLR P3.3;8个段码输出完毕,关闭显示器输出 RET ;前往SEGTAB:DB 0C0H,0F9H,0A4H,0B0H,99H;共阳极段;码表 DB92H,82H,0F8H,90H;DB88H,83H,0C6H,0A1H,86H;DB8FH,0BFH,8CH,0FFH,0FFH;36

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!