第10章 MCS-51与键盘、显示器的接口设计.ppt_第1页
第10章 MCS-51与键盘、显示器的接口设计.ppt_第2页
第10章 MCS-51与键盘、显示器的接口设计.ppt_第3页
第10章 MCS-51与键盘、显示器的接口设计.ppt_第4页
第10章 MCS-51与键盘、显示器的接口设计.ppt_第5页
已阅读5页,还剩78页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第10章MCS 51与键盘 显示器 拨盘 打印机的接口设计 主要内容 从工程应用角度介绍了MCS 51单片机的交互通道配置与接口 主要包括人机界面中的键盘 显示器 微型打印机等 介绍了多种实用方案和设计技巧 重点 系统概念的形成 各种接口设计方案和设计技巧的掌握 熟悉各种交互设备 难点 使用动态方法进行键盘和显示的硬件及软件设计 2 10 1LED显示器的接口技术 单片机应用系统中使用的显示器主要有 发光二极管显示器 简称LED LightEmittingDiode 液晶显示器 简称LCD LiquidCrystalDisplay 3 10 1LED显示器接口原理 发光二极管简称LED LightEmittingDiode LED显示器从外观可分为 8 字形的七段数码管 米字形数码管 点阵块 矩形平面显示器 数字笔划显示器等 共阳极 共阴极 4 10 1LED显示器接口原理 5 10 1LED显示器接口原理 LED点阵模块显示器 6 LED的驱动接口 7 LED显示器显示与驱动方式 LED显示器有静态显示和动态显示两种方式 静态显示就是当LED显示器显示某个字符时 相应的段 发光二极管 恒定地导通或截止 直到显示另一个字符为止 8 静态显示方式 9 静态显示方式 10 ORG1000HDSP8255 MOVDPTR 7FFFHMOVA 80H 8255A工作方式设置MOVX DPTR A MOVR0 40HMOVR1 3MOVDPTR 7FFCHLOOP MOVA R0ADDA 06HMOVCA A PCMOVX DPTR AINCR0INCDPTRDJNZR3 LOOPRETTAB DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8HDB80H 90H 88H 83H 0C6H 0A1H 86H 8EHEND 11 静态显示方式 12 静态显示方式 13 动态显示方式 在多位LED显示时 将所有位的段选线并联在一起 由一个8位I O口控制 而每位LED的共阴 或共阳 极公共端分别由相应的I O线控制 实现各位的分时选通 14 动态显示方式 P1 0 P1 3 P0 0 P0 7 15 P1 0 P1 3 P0 0 P0 7 Connectiontoanodes 1 0 0 0 1001111 16 P1 0 P1 3 P0 0 P0 7 Connectiontoanodes 0 1 0 0 0001111 17 P1 0 P1 3 P0 0 P0 7 Connectiontoanodes 0 0 1 0 0000000 18 P1 0 P1 3 P0 0 P0 7 Connectiontoanodes 0 0 0 1 0000001 19 P1 0 P1 3 P0 0 P0 7 Connectiontoanodes Display3 Display2 Display1 Display0 7 Segmenttodisplay1780 20 动态显示方式 21 动态显示方式 22 23 动态显示方式 24 10 2键盘接口技术 键盘 单片机系统中完成控制参数输入及修改的基本输入设备 是人工干预系统的重要手段 键盘的分类 按键组连接方式可分为独立连接式键盘与矩阵连接式键盘 25 键盘结构 独立式按键独立式按键是每个按键占用一根I O端线 各按键相互独立 电路配置灵活 按键数量较多时 I O端线耗费较多 电路结构繁杂 软件结构简单 适用于按键数量较少的场合 26 键盘结构 行列式 矩阵式 键盘I O端线分为行线和列线 按键跨接在行线和列线上 按键按下时 行线与列线发生短路 占用I O端线较少 软件结构教复杂 适用于按键较多的场合 27 使用键盘时必须解决的问题 键盘去抖动问题 键盘的抖动时间一般为5 10ms 抖动现象会引起CPU对一次键操作进行多次处理 从而可能产生错误 28 键盘接口 键扫描输入程序的设计方法 1 判断键盘上是否有键闭合 2 消除键的机械抖动 3 确定闭合键的物理位置 4 得到闭合键的编号 5 确保CPU对键的一次闭合只做一次处理 29 独立式键盘接口扫描方式 30 KEYIN MOVDPTR 0BFFFH 键盘端口地址BFFFHMOVXA DPTR 读键盘状态ANLA 1FH 屏蔽高三位MOVR3 A 保存键盘状态值LCALLDELAY10 延时10ms去键盘抖动MOVXA DPTR 再读键盘状态ANLA 1FH 屏蔽高三位CJNEA R3 RETURN 两次不同 抖动引起转RETURNCJNEA 1EH KEY2 相等 有键按下 不等转KEY2LJMPKEY1 是K1键按下 转K1键处理子程序KEY2 CJNEA 1DH KEY3 S2键未按下 转KEY3LJMPKEY2 S2键按下 转PKEY2处理KEY3 CJNEA 1BH KEY4 S3未按下 转KEY4LJMPKEY3 S3按下 转PKEY3处理KEY4 CJNEA 17H KEY5 S4键未按下 转KEY5LJMPKEY4 S4按下 转PKEY4处理KEY5 CJNEA 0FH PASS S5未按下 转RETURNLJMPKEY5 S5按下 转PKEY5处理RETURN RET 重键或无键按下 从子程序返回 31 独立式键盘接口扫描方式 32 独立式键盘接口扫描方式 主程序如下 ORG0000HLJMPMAINORG0003H 外部中断0中断服务入口地址LJMPINTI 转中断服务ORG0100HMAIN SETBEA 开总中断允许SETBEX0 开INT0中断SETBIT0 下降沿有效 中断服务程序清单如下 INTI CALLD10 延时去抖动MOVP1 0FFH P1口送全1值MOVA P1 读P1口各引脚CJNEA 0FFH CLOSE 验证是否确实有键闭合AJMPINT0 无键按下 33 独立式键盘接口扫描方式 CLOSE JNBACC 7 KEY7 查询7号键JNBACC 6 KEY6 查询6号键JNBACC 5 KEY5 查询5号键JNBACC 4 KEY4 查询4号键JNBACC 3 KEY3 查询3号键JNBACC 2 KEY2 查询2号键JNBACC 1 KEY1 查询1号键JNBACC 0 KEY0 查询0号键INT0 RETIKEY7 7号键处理程序KEY71 MOVA P1 再读P1口各引脚JNBACC 7 FUNC71 确认键是否释放RETIKEY6 其他键处理程序 D20 20ms延时子程序RETEND 34 矩阵式键盘接口 行反转法 35 矩阵式键盘接口 行反转法 36 矩阵式键盘接口 行动态扫描方法 37 矩阵式键盘接口 行动态扫描方法 38 矩阵式键盘接口 行动态扫描方法 39 矩阵式键盘接口 行动态扫描方法 40 矩阵式键盘接口 行动态扫描方法 键号 行数m 列数n扫描初值初始化 输出扫描初值 读列值 是否有为0列 扫描初值左移 键号 n 计数器 1 m行扫描完 N N Y Y 后续处理 列值循环右移1位 进位位为0 键盘处理命令 41 键盘的工作方式 程序控制扫描方式键处理程序固定在主程序的某个程序段 定时控制扫描方式利用定时 计数器每隔一段时间产生定时中断 CPU响应中断后对键盘进行扫描 中断方式当键盘上有键闭合时 向CPU申请中断 CPU响应中断后对键盘进行扫描 单片机在忙于各项工作任务时 如何兼顾键盘的输入 取决于键盘的工作方式 42 键盘的工作方式 43 键盘显示器接口实例 44 动态显示程序设计 45 键盘程序设计 1 判别键盘上有无键闭合 2 去除键的机械抖动 3 判别闭合键的键号 4 使CPU对键的一次闭合仅作一次处理 46 键盘程序设计 47 通过串行口扩展键盘显示接口 48 KEYI MOVA 00H 判有无键按下 使所有列线为0MOVSBUF AKL0 JNBTI KL0 串行输出完否 CLRTI 串行输出完毕 清TIKL1 JNBP3 4 PK1 第1行有闭合键跳到PK1JBP3 5 KL1 第2行无闭合键跳KL1PK1 ACALLDL10 调用延时10ms子程序消除抖动JNBP3 4 PK2 判是否抖动引起的 JBP3 5 KL1PK2 MOVR7 08H 不是抖动引起的MOVR6 0FEH 判别是哪一个键按下 MOVR3 00H R3为列号寄存器MOVA R6 KL5 MOVSBUF A 列扫描码从串行口输出KL2 JNBTI KL2 等待串行口发送完CLRTI 串行口发送完毕 清TI标志JNBP3 4 PKONE 第1行有键闭合 跳PKONE处理 49 JBP3 5 NEXT 读第2行状态 是第2行某键否 MOVR4 08H 第2行行首键号08H送R4AJMPPK3PKONE MOVR4 00H 第1行行首键号00H送R4PK3 MOVSBUF 00H 发送00H使所有列线为低KL3 JNBTI KL3CLRTI 发送完毕 清标志KL4 JNBP3 4 KL4 判行线状态JNBP3 5 KL4MOVA R4 两行线均为高 说明键已释放ADDA R3 计算得键码 ARETNEXT MOVA R6 列扫描码左移一位 判下列键RLAMOVR6 A 记住列扫描码于R6中INCR3 列号增1DJNZR7 KL5 8列键都检查完 50 10 4LCD显示器及其接口 LCD LiquidCrystalDisplay 液晶显示器的缩写 一种被动式的显示器 即液晶本身并不发光 而是经液晶经过处理后能改变光线通过方向的特性 而达到白底黑字或黑底白字显示的目的 液晶显示器具有功耗低 抗干扰能力强等优点 广泛地应用在仪器仪表和控制系统中 51 10 4LCD显示器及其接口 笔段式和点阵式 可分为字符型和图形型 52 10 4LCD显示器及其接口 在实际应用中 用户很少直接设计LCD显示器驱动接口 一般是直接使用专用的LCD显示驱动器或LCD显示模块LCM LCM是把LCD显示屏 背景光源 线路板和驱动集成电路等部件构造成一个整体 作为一个独立部件使用 其特点是功能较强 易于控制 接口简单 在单片机系统中应用较多 LCM一般带有内部显示RAM和字符发生器 只要输入ASCII码就可以进行显示 53 HD44780液晶显示模块 54 HD44780液晶显示模块 55 56 内部结构 57 内部结构 DDRAM DDRAM的内容与显示屏的物理位置一一对应 给DDRAM某一单元写入欲显示字符的ASCII码时 就会在显示屏对应位置显示该字符 DDRAM地址与显示位置的对应关系 58 HD44780液晶显示模块 LCD实验模块的连接管脚 59 引脚排列 Vss 5V电源管脚 Vcc VDD 地管脚 GND Vo 液晶显示驱动电源 0V 5V 60 引脚排列 DB0 DB7 数据线 可以用8位连接 也可以只用高4位连接 61 引脚排列 A 背光控制正电源K 背光控制地 62 引脚排列 RS 数据和指令选择控制端 RS 0 命令 状态 RS 1 数据R W 读写控制线 R W 0 写操作 R W 1 读操作E 数据读写操作控制位 通过E端向LCD模块发送一个脉冲 LCD模块与单片机之间将进行一次数据交换 63 基本操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VSS VDD VO RS R W E DB0 DB1 A DB3 DB2 DB5 DB4 DB7 DB6 K LCD模块 单片机与LCD模块之间有四种基本操作 写命令读状态写显示数据读显示数据 64 基本操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VSS VDD VO RS R W E DB0 DB1 A DB3 DB2 DB5 DB4 DB7 DB6 K LCD模块 65 LCD控制指令 66 LCD控制指令 67 LCD控制指令 因此第一行首地址命令字为 80H第二行首地址命令字为 C0H 68 LCD控制指令 69 LCD接口程序设计 程序设计功能设置 写命令子程序LCD初始化 按一定顺序写命令字如 写清屏命令字 写DDRAM光标定位地址命令字显示数据 写数据子程序读入状态字 读状态子程序 70 71 LCD接口程序设计 72 查寻忙碌位 BF 子程序 查寻忙碌位 BF 子程序 BUSY PUSHDPLPUSHDPHBF MOVDPTR 8501H 读BF及ACMOVXA DPTRJBACC 7 BF 读BF位 BF 1 忙碌POPDPHPOPDPLRET 73 写命令字 采用查询方式 先读入状态字 判断LCD不忙 再向8500H地址写入命令字 74 写命令字 写控制指令的子程序 R2中存放控制指令代码 WRC PUSHDPL 保护现场PUSHDPHACALLBUSY 先查寻BF位MOVA R2MOVDPTR 8500HMOVX DPTR APOPDPHPOPDPLRET 75 初始化LCD 液晶显示模块初始化程序要求 选择8位数据总线 显示二行 5 7点阵 AC自动加1 开显示 关光标 清除DDRAM 置AC 0 字符不闪烁 命令字1 00111000B 76 初始化LCD 液晶显示模块初始化程序要求 选择8位数据总线 显示二行 5 7点阵 AC自动加1 开显示 关光标 清除DDRAM 置AC 0 字符不闪烁 命令字2 00000001B 77 初始化LCD 液晶显示模块初始化程序要求 选择8位数据总线 显示二行 5 7点阵 AC自动加1 开显示 关光标 清除DDR

温馨提示

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

评论

0/150

提交评论