资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十章第十章 显示器及键盘接口显示器及键盘接口10.1 显示器接口显示器接口 一一.LED 原理简述原理简述LED 显示块是用发光二极管显示字段,单片机应用系统常用的是显示块是用发光二极管显示字段,单片机应用系统常用的是七段七段 LED,如下图,它有其阴极和共阳极两种:,如下图,它有其阴极和共阳极两种:+5Va ab bc cd de effg gh h共阴极共阴极 共阳极共阳极例如,要显示例如,要显示0字符,对于共阴极管应输出段码:字符,对于共阴极管应输出段码:h g f e d c b a a 0 0 1 1 1 1 1 1 3 F H f b g e c对于共阳极管则应输出段码:对于共阳极管则应输出段码: d h.h g f e d c b a 11 0 0 0 0 0 0 C 0 H af bge cd h 共阳极管和共阴极管的段码是互为补码的。共阳极管和共阴极管的段码是互为补码的。二二.动态显示的七段动态显示的七段 LED 基本用法:基本用法:1. 动态显示的七段动态显示的七段 LED 与单片机的硬件接口与单片机的硬件接口扩展显示器接口实质是输出口的扩展,例如设计一个扩展显示器接口实质是输出口的扩展,例如设计一个 6 位的数码位的数码管显示系统,它需要扩充两个管显示系统,它需要扩充两个 8 位输出口,一个输出位输出口,一个输出 8 段码,一段码,一个输出位选码。如下图:个输出位选码。如下图:输出段码输出段码 +5V88 8 8 8 8 8A0 FEH WRFDH A1+5V8由图可知,要显示哪个字符,该字符的段码从由图可知,要显示哪个字符,该字符的段码从 1#377 输出,要使输出,要使1#377 输出只要输出只要 A0 = 0 即可,因此即可,因此 1#377 的地址为的地址为 FEH。该段码。该段码输出到输出到 6 个数码管上是相同的,要哪个管亮,必须使该管的相应个数码管上是相同的,要哪个管亮,必须使该管的相应段二极管导通,则由段二极管导通,则由 2#377 输出的位码控制,对应哪个管为输出的位码控制,对应哪个管为 0,则该管可以亮。要使则该管可以亮。要使 2#377 输出只要输出只要 A1 = 0,2#377 的地址为的地址为1D 1Q8D 8Q 1#377 CLK E CLK E 1D 1Q 2#377 8D 8QFDH。在软件设计上将在软件设计上将 6 个个 LED 管轮流点亮,每管延时约管轮流点亮,每管延时约 1Ms,利,利用人的视觉残留,则可以看成持续点亮。用人的视觉残留,则可以看成持续点亮。2. 动态显示的软件设计:动态显示的软件设计:要点:要点:代码转换:直接驱动代码转换:直接驱动 7 段段 LED 发光的是段码,而我们发光的是段码,而我们习惯的是字符习惯的是字符 0、1、2、F 等,因此软件中必须将待等,因此软件中必须将待显示的字符转换成段码。显示的字符转换成段码。每次只能输出同样的段码,因此要使某管亮,必须用软每次只能输出同样的段码,因此要使某管亮,必须用软件保证逐位轮流点亮并适当延时,给人的眼睛产生持续件保证逐位轮流点亮并适当延时,给人的眼睛产生持续发光的效果。发光的效果。程序中使用的显示缓冲区示意图:程序中使用的显示缓冲区示意图:79H 7AH 7BH 7CH 7DH 7EH显示缓冲区共显示缓冲区共 6 个单元,自左至右一一对应个单元,自左至右一一对应 6 个数码管,其中存个数码管,其中存放待显示字符在段码表中的查表偏移量。放待显示字符在段码表中的查表偏移量。程序如下:程序如下:01 02 03 04 05 06ORG 8100HDISUP: MOV R0 , #79H ;置显示缓冲区首地址置显示缓冲区首地址MOV R2 , #0DFH ;11011111 位码初值,最左面管位码初值,最左面管亮亮DSP1: MOV A , R0MOV DPTR , #TABLMOVC A , A+DPTR ;查表求段码查表求段码MOV R1 , #0FEH ;选选 1#377MOVX R1 , A ;送段码送段码MOV R1 , #0FDH ;选选 2#377MOV A , R2MOVX R1 , A ;输出位码,最左面管亮输出位码,最左面管亮LCALL D1ms ;延时延时1NC R0 ;指向显示缓冲区的下一地址指向显示缓冲区的下一地址MOV A , R2RR A ;位码右移一位位码右移一位MOV R2 , AXRL A , #7FH ;位码右移位码右移 6 次后为次后为 7FH 时时 6管全显示完管全显示完JNZ DSP1 ;不为不为 7FH 则未显示完,返回则未显示完,返回送下一个送下一个 LEDRETTABL: 段码转换表略段码转换表略D1ms: 延时子程序略延时子程序略三三.LED 静态显示静态显示在静态显示方式中,数码管的共阴极或共阳极接地或十在静态显示方式中,数码管的共阴极或共阳极接地或十 5V,每,每一个数码管的一个数码管的 8 段码需扩展一个段码需扩展一个 8 位输出口与之相连接,输出口位输出口与之相连接,输出口可将令该管显示某字符的段码锁存,同一时间里,每一位的段码可将令该管显示某字符的段码锁存,同一时间里,每一位的段码均可不同,即显示不同字符。如图:均可不同,即显示不同字符。如图:8 8 8 88 8 8 8静态显示方式中,有静态显示方式中,有 N 位数码管则需扩展位数码管则需扩展 N 个个 8 位输出口,占位输出口,占用用 I/O 资源较多。它的优点是软件不必动态扫描,送出段码后可资源较多。它的优点是软件不必动态扫描,送出段码后可锁存,直到需更改显示字符,软件简单,同时由于始终保持显示锁存,直到需更改显示字符,软件简单,同时由于始终保持显示1#3772#3773#3774#377而亮度较好。而亮度较好。P160 页中的串行口扩展也可用于静态显示的扩展。页中的串行口扩展也可用于静态显示的扩展。10.2 按键、键盘及其接口按键、键盘及其接口在单片机应用系统中,为了控制系统的工作状态,或向系统内在单片机应用系统中,为了控制系统的工作状态,或向系统内部输入数据,常设有按键或键盘,使用这些键的开关状态来设置部输入数据,常设有按键或键盘,使用这些键的开关状态来设置控制功能或输入数据。控制功能或输入数据。键盘的扩展实质是输入口的扩展。键盘的扩展实质是输入口的扩展。一一.键输入过程及软件结构:键输入过程及软件结构:当所设置的数字键或功能键按下的时候,单片机应用系统应能当所设置的数字键或功能键按下的时候,单片机应用系统应能完成该键所设定的功能。因此,键输入的信息与软件结构密切相完成该键所设定的功能。因此,键输入的信息与软件结构密切相关。不少应用系统键扫描程序是应用程序的核心部分。键输入程关。不少应用系统键扫描程序是应用程序的核心部分。键输入程序的软件框图大致如下:序的软件框图大致如下:NO有有 键键 按按 下?下?YES(A)=00H (A)=01H 键键 扫扫 描描判判 哪哪 一一 键键 按按 下下 求键值求键值 A0#键处理程序键处理程序1#键处理程序键处理程序CPU 通过查讯或中断方式扫描有无键按下及哪一键按下,将键通过查讯或中断方式扫描有无键按下及哪一键按下,将键号送入号送入 A,根据,根据 A 的内容跳转到该键所应完成的功能的程序中去,的内容跳转到该键所应完成的功能的程序中去,键处理完毕后再回到键扫描程序,查找有无另一键按下。键处理完毕后再回到键扫描程序,查找有无另一键按下。二二.键输入接口与软件应解决的问题:键输入接口与软件应解决的问题:1. 保证键开关状态的可靠输入保证键开关状态的可靠输入键是一种常开式按钮开关,按键和键盘都是利用机械触点的键是一种常开式按钮开关,按键和键盘都是利用机械触点的闭合和断开来输入电平信号的,在键的闭合和断开的瞬间的有闭合和断开来输入电平信号的,在键的闭合和断开的瞬间的有抖动过程,会出现一系列负脉冲,一般为抖动过程,会出现一系列负脉冲,一般为 510ms ,为了保证,为了保证CPU 对键的一次闭合只进行一次键处理,必须消除抖动的影响。对键的一次闭合只进行一次键处理,必须消除抖动的影响。通常去抖动措施可分别采用硬件和软件两种方法来解决,硬通常去抖动措施可分别采用硬件和软件两种方法来解决,硬件的方法是在按键的硬件电路上增加件的方法是在按键的硬件电路上增加 RS 触发器或单稳态电路,触发器或单稳态电路,这需要增加硬件开销。较为方便的软件去抖措施是当检测到有这需要增加硬件开销。较为方便的软件去抖措施是当检测到有键按下时,执行一个延时键按下时,执行一个延时 10ms 的子程序,而后再检测该键是的子程序,而后再检测该键是否仍保持闭合状态,若仍闭合才确认为该键按下。否仍保持闭合状态,若仍闭合才确认为该键按下。2. 对所有按键进行编码,确定键值或直接确定键号。对所有按键进行编码,确定键值或直接确定键号。给每一按键确定一个键值或编号,当给每一按键确定一个键值或编号,当 CPU 扫描键盘时,可扫描键盘时,可根据接收到的键输入信息确定是哪一个键按下。根据接收到的键输入信息确定是哪一个键按下。3. 选择键盘监测方法:选择键盘监测方法:在应用系统软件中,键扫描程序、键处理程序只是应用程在应用系统软件中,键扫描程序、键处理程序只是应用程序的一部分,在程序运行过程中什么时候查询键输入的情况,序的一部分,在程序运行过程中什么时候查询键输入的情况,可有查询方式和中断方式两种:可有查询方式和中断方式两种: 查询方式查询方式在程序中以一定的时间间隔扫描键盘输入的情况,无键按在程序中以一定的时间间隔扫描键盘输入的情况,无键按下则可执行其它程序
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号