片机应用接口技术ppt课件

上传人:优*** 文档编号:135790566 上传时间:2020-06-18 格式:PPT 页数:71 大小:1.63MB
返回 下载 相关 举报
片机应用接口技术ppt课件_第1页
第1页 / 共71页
片机应用接口技术ppt课件_第2页
第2页 / 共71页
片机应用接口技术ppt课件_第3页
第3页 / 共71页
片机应用接口技术ppt课件_第4页
第4页 / 共71页
片机应用接口技术ppt课件_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《片机应用接口技术ppt课件》由会员分享,可在线阅读,更多相关《片机应用接口技术ppt课件(71页珍藏版)》请在金锄头文库上搜索。

1、第8章单片机应用接口技术 8 1显示器接口在MCS 51系列单片机应用系统中 显示器是人机对话的主要输出器件 它显示系统运行中用户关心的实时数据 常见的显示器件有LED 发光二极管显示器 器件和LCD 液晶显示器 器件两大类 点阵显示屏通过编程能够显示各种图形 汉字 目前也被广泛应用于各种单片机应用系统中 1 8 1 1LED显示器接口 1 LED数码显示器的结构LED数码显示器是一种由LED发光二极管组合显示字符的显示器件 它使用了8个LED发光二极管 其中7个用于显示字符 1个用于显示小数点 故通常称之为8段发光二极管数码显示器 其内部结构如图8 1所示 2 LED数码显示器有两种连接方法

2、 1 共阴极接法 把发光二极管的阴极连在一起构成公共阴极 使用时公共阴极接地 每个发光二极管的阳极通过电阻与输入端相连 2 共阳极接法 把发光二极管的阳极连在一起构成公共阳极 使用时公共阳极接 5V 每个发光二极管的阴极通过电阻与输入端相连 为了显示字符 要为LED显示器提供显示段码 或称字形代码 组成一个 8 字形字符的7段 再加上1个小数点位 共计8段 因此提供给LED显示器的显示段码为1个字节 各段码位的对应关系如表8 1所示 3 4 2 LED显示接口在单片机系统中 LED显示一般采用静态显示和动态扫描两种驱动方式 静态驱动方式的工作原理是每一个LED显示器用一个I O端口驱动 亮度大

3、 耗电也大 占用的I O端口多 但显示位多时一般很小采用 动态扫面方式的工作原理是将多个显示器的段码同名端连在一起 位码分别控制 利用视角暂留效应 分别进行显示 只要保证显示的频率 看起来的效果和一直显示是一样的 电路上一般用一个I O端口驱动段码 用另一个I O口实现位控 因此动态显示占用的I O口少 耗电也少 5 1 静态显示接口目前静态显示接口一般采用如下三种方式1 采用并行输出接口的静态显示接口采用的并行输出接口可以是TTL的锁存器 如74LS273 74LS373 也可采用大规模集成并行输出接口 如8155 8255A等 图8 2中8255A的PA PB PC口各驱动1个8段数码管

4、实现静态接口 6 7 2 采用硬件译码器件构成静态显示接口在CMOS和TTL器件里 都有专门用于驱动显示的器件 CMOS类型的器件有CD4511 CD14547 CD14495 CM14513等 TTL类型器件有74LS47 74LS247 74LS48等 其中74LS47和74LS247可驱动共阳数码管 其余只可驱动共阴数码管 这些驱动器中大部分CMOS驱动器均带有锁存器 而TTL器件均不带锁存器 在设计时应在其前面加上锁存电路 图8 3是CD4511构成的静态显示电路 图中要显示的数据送P1 0 P1 2 利用74LS138译码信号使能CD4511 通过CD4511译码并锁存 从而实现静态

5、显示的功能 8 9 3 用串转并接口芯片构成静态显示接口利用串转并接口芯片74LS164可以比较方便地实现多位静态显示 见图8 4 图中4片74LS164依次级联 要显示的数据通过TXD端依次移入各片74LS164中 并锁存输出 从而实现4片LED静态显示 10 设8031的串行口工作于方式0 要显示的数据存在DispBuf 4 中 则相应的显示程如下 UcharcodeShape 10 0 xc0 0 xf9 0 xa4 0 xb0 0 x990 x92 0 x82 0 xf8 0 x80 voidDisp164 void uchari for i 0 i 4 i SBUF Shape Di

6、spBuf i while TI 0 TI 0 11 2 动态显示接口所谓动态显示是指一位一位地轮流点亮各个显示器 对于每一位显示器来说 每隔一段时间点亮一次 通常点亮时间为1mS左右 相隔时间为20mS 图8 5为8位共阴显示器和74LS273构成的动态显示接口 12 图中74LS273 1的输出为段数据口 接显示器的各个段极 74LS273 2的输出为位扫描口 接LED的公共极 显示时 首先使74LS273 2的Q0为低电平 Q1 Q7为高电平 则仅第一位显示器的公共阴极为低电平 被选通 同时74LS273 1输出第一个显示数据的段码 这时第一位显示器将显示出第一个显示数据 持续1ms左右

7、后 使Q0为低电平 关闭第一个显示器 随后使Q1为低电平 选通第二位显示器 并由74LS273 1输出第二个显示数据 并持续1ms左右 用类似的方法依次选通第3 第4 第8位即完成一次循环显示 如果连续地循环便可在显示器上稳定地显示所需显示的内容 13 设图中74LS273 1的地址为BFFFH 74LS273 2的地址为7FFFHVoidDisp273 void ucharI for i 0 i 8 i p Shape DispBuf i q Position Position 1 Delay 1 p 0 xff 14 includeUcharcodeShape 10 0 xc0 0 xf9

8、 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 UcharDispBuf 8 ucharPosition Main ucharxdata p q Position 0 xfe p 0 xBFFF q 0 x7fff while 1 Disp273 Position 0 xfe 15 3 定时扫描显示程序上述的动态扫描子程序用延时方法控制一位的显示时间 CPU的效率低下 使用定时器T0中断 定时扫描显示器 可以解决这个问题 方法如下 用变量DispBuf指向显示缓冲区 用Position保存位扫描码 当它的某一位为0 对应的LED选通 Position的初始

9、值设为7EH 然后每扫描一次位扫描码码左移一位以便选通下一个LED 8个LED全显示完了 又设置其值为7EH 设置一个显示1位子程序 其功能是将DispBuf指向的单元值显示在对应位上 显示完后 把下一个显示单元的值装入DispBuf 同时Position装入下一个位扫面码 启动定时器 使定时器产生1ms定时 在定时中断中调用显示1位子程序 16 VoidDisp273 ucharxdata p ucharxdata q ucharIn ucharEnBit p Shape DispBuf i q EnBit 17 includeUcharcodeShape 10 UcharDispBuf 8

10、 UcharPosition UcharDispSeq Main TMOD 0X01 TH0 0XFC TL0 0X18 ET0 1 EA 1 TR0 1 Position 0 xfe DispSeq 0 18 VoidT0Isr void interrupt1using1 TH0 0XFC TL0 0X18 Disp273 ucharxdata 0 xbfff ucharxdata 0 x7fff Shape DispBuf DispSeq Position DispSeq Position 1 if DispSeq 0 x07 Position 0XFE DispSeq 0 19 8 2键

11、盘接口技术 键盘是一种常见的输入设备 通过它用户可以向计算机输入数据或命令 通常键盘可分为编码键盘和非编码键盘两种 通过硬件识别的键盘称编码键盘 通过软件识别的键盘称非编码键盘 非编码键盘有独立按键接口和矩阵式按键接口两种接口方式 20 8 2 1独立式键盘接口设计 独立式键盘就是各按键相互独立 每个按键各接一根输入线 一根输入线上的按键工作状态不会影响其它输入线上的工作状态 因此 通过检测输入线的电平状态可以很容易判断哪个按键被按下了 这类键盘的接口方式可分为串行和并行两类 21 1 并行方式按键的一端接地 另一端接上拉电阻后接输入端 当按键未按下时 由于上拉电阻的作用使输入端确保为高电平

12、当按键按下时 输入端与地短接而为低电平除采用P1口作为输入口外 还可以用扩展I O口构成并行式键盘接口电路 如用8255扩展I O口 用74LS244扩展输入口等 22 2 串行接口方式串行接口方式的独立式键盘如图8 13所示 图中键盘输入信息通过74LS165串行输入 具体读键程序如下 23 ucharKey165 void ucharKey SCON 0 x10 Key SBUFwhile RI 0 RI 0 if Key 0 xff return 0 x08 else for i 0 i 8 i if Key 24 8 2 2矩阵式键盘接口设计 1 矩阵式键盘原理在单片机系统中 若所需按

13、键数量较多 可采用矩阵式键盘 矩阵式键盘一般采用行列式结构并按矩阵形式排列 图8 14示出4 4行列式键盘的基本结构 4 4表示有4根行线和4根列线 在每根行线和列线的交叉点上均分布1个单触点按键 共有16个按键 25 26 矩阵式按键是通过扫描法实现键盘的识别 所谓行扫描法 就是通过行线发出低电平信号 如果该行线所连接的键没有按下的话 则列线所连接的输出端口得到的是全 1 信号 如图8 14 a 如果有键按下的话 则得到的是非全 1 信号 如图8 14 b 然而对于机械开关结构的按键 由于机械触点的弹性及电压突跳等原因 往往在触点闭合或断开的瞬间会出现5ms 10ms电压抖动 见图8 15

14、为了保证CPU对键的闭合只作一次处理 必须消除抖动 消除抖动可采用硬件方法图8 15按键抖动示意图 27 消除抖动可采用硬件方法图8 15按键抖动示意图 如用R S触发器隔离 和软件方法 延时去抖 两种方法实现 为节省硬件 目前单片机系统一般采用软件方式消除抖动 28 2 矩阵式键盘程序设计方法图8 16是利用74LS273组成的具有4x8键盘 8位显示器的接口电路 图中74LS244的输入为键盘行扫描线 74LS273的输出为列扫描线 键盘编程要点如下 29 1 判别键盘上有无键闭合使74LS273的输出全为 0 读74LS244的输入D0 D3 若D0 D3为全 1 则无键闭合 否则为有键

15、闭合 2 消除抖动当判别有键闭合时 延时10mS后再判别键盘状态 若仍有键闭合 则认为键盘上有一个键处于稳定的闭合期 否则认为是键的抖动 3 确定闭合键的键号方法是对键盘上的列线依次扫描 扫描的列线输出为0 其余的列线输出为1 这样74LS273的输出口分别为 30 相应地顺序读取4位行线 74LS244的D0 D3 的状态 若D0 D3全为1 则输出为0的列线上没有键按下 否则该列有键闭合 由该列号和输入为0的行号就可确定是哪个键闭合 设0 1 2 3行的首键号分别为0 8 16 24 键盘的键号可按下列方式计算 结果见表8 6 键号 行首键号 列号 31 4 对键的一次闭合仅作一次处理 等

16、待闭合键释放后再判断新的键盘输入 32 3 矩阵键盘程序编写矩阵键盘程序编写主要是按上述四个步骤完成 1 判断有无键按下UcharKeyStart ucharxdata Rd ucharxdata Wr ucharaa Wr 0 x00 aa Rd aa aa aa 33 2 读键号BitRdKeyValue ucharxdata Rd ucharxdata Wr uchar KeyNo uchari j ucharScan 0 xfe for j 0 j 8 j Wr Scan RdKey Rd KeyNo 0 x00 pressed 0 for i 0 i 4 i If RdKey 34 2 完整的键盘程序 Ucharxdata p ucharxdata q P ucharxdata 0 xdfff q ucharxdata 0 xbfff 35 ucharkeyProcess if KeyStart p q 0 NoRealse 0 return 0 if NoRelase 1 return 0 delay 10 if KeyStart p q 0 NoRealse 0 retu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号