第四章1人机通道配置与接口技术.ppt_第1页
第四章1人机通道配置与接口技术.ppt_第2页
第四章1人机通道配置与接口技术.ppt_第3页
第四章1人机通道配置与接口技术.ppt_第4页
第四章1人机通道配置与接口技术.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第四章1通道配置与接口技术 控制系统与外部设备的输入与输出通道可以分为4个部分 1 人机通道 人与应用系统对话的通道 通过这些通道 人对系统状态进行干预 输入运行参数 发布指令 系统向人显示运行过程 状态与结果 2 前向通道 应用系统中与外部各种物理量检测设备的电路连接通道 即所有反映外界状态信号变化的信号输入通道 3 后向通道 应用系统与被控制对象的连接通道 控制对象有外部驱动设备 执行机构 4 相互通道 多机系统 多个应用系统之间的相互连接通道 4 1人机通道 4 1 1LED数码显示器结构原理 一 LED数码显示器结构原理 二 LED数码显示器的显示码 数码显示器的显示码续 三 LED显示器的显示方式 LED显示器的显示方式一般有两种 其一是静态方式 其二是动态方式 主要由接口电路决定 动态显示方式 所谓动态显示方式是指当数个显示器在显示字符时 显示接口的数据不断地变化着 采用动态显示方式 可以节省接口电路的数量 从而降低硬件成本 例4 2 若某单片机应用系统的显示器接口电路如图9 3所示 试分析接口电路 并编写显示子程序 图9 3 一 分析接口电路 8个显示器配2个并行接口 8255PA口作为输出口 输出信号控制各数码管的共阴极 8255PB口也作为输出口 输出显示码给8个显示器 8255PA口地址为7FFCH 8255PB口地址为7FFDH 8255控制口地址为7FFFH 驱动电路是提高8255A驱动显示器的能力 动态显示方式的工作原理 视觉滞留原理 即当一个物体突然从眼前移去时 该物体的像还能在人的视网膜上保持一定时间 发光物体的余辉原理 当发光体的电源被切断时 该发光体原来显示的内容将被保持一定时间 4 1 2键盘结构原理与接口技术 在通用计算机中 键盘的电路一般采用的是编码键盘 在单片机应用系统中 经常采用非编码键盘 一 键盘电路的结构原理 计算机中使用的键钮一般都是机械式非自锁式键 按下键 开关闭合 松开键 则开关断开 如果想保持开关闭合 就必须一直按住键 在单片机应用系统中 如果键的数量比较少 可采用独立式键盘电路 如果键的数量较多 则可采用行列式键盘电路 1 独立式键盘电路 2 行列式键盘电路 1 如何判断有键按下 先将所有列线Y0 Y3清0 低电平 然后输入行线X0 X3的状态 如果此时有键按下 那么行线X0 X3中一定有一根线的状态为0 反之 如果此时没有键按下 行线X0 X3保持全1 2 如何判断哪一个键按下 要判断哪一个键按下 可采用逐列扫描的方法 通过逐列的扫描 确定按下键的行号和列号 键号 行号 4 列号 二 键抖动问题 由于键的机械触点的弹性作用 键在按下和释放的瞬间产生接触不稳定 造成电压信号的抖动现象 如图9 7所示 键从被按下到释放 共经历三个阶段 t1 键按下时的抖动时间 5 10ms左右 t2 键按下时的保持时间 t3 键释放时的抖动时间 5 10ms左右 消除键抖动的方法 2 触发器法 1 延时法 三 键盘接口电路举例 例4 3 若某单片机拥有系统的显示器 键盘接口电路如图9 9所示 请分析接口电路 并编写键盘扫描子程序 一 分析系统接口电路 8255A的B口是基本方式的输出口 输出显示码 8255A的A口也是基本方式的输出口 经驱动电路 不仅扫描显示器 而且作为键盘的列扫描线 8255A的C口是基本方式的输入口 用了4根线PC0 PC3 作为键盘行线的输入接口 8255A的选片信号端接单片机的P2 7 这样8255A的A口 B口 C口和控制口的地址分别为7FFCH 7FFDH 7FFEH和7FFFH 4 1 38279键盘 显示器电路 考虑到显示器 键盘接口电路的节省成本 又考虑到系统软件运行时间的节省 可以采用一个折中的方案 就是采用专用的显示器 键盘接口电路 8279芯片就是这样一种比较专用的LED显示器 键盘的接口电路芯片 8279芯片的特性 Intel8279是一种通用的可编程的键盘 显示器接口器件 可对64个开关矩阵组成的键盘进行自动扫描 并在有键输入时向CPU请求中断 8279内部有一个16 8的显示缓冲器 能对8位或16位LED数码显示器自动扫描 使显示缓冲器的内容在显示器上显示出来 一 8279内部结构 键盘去抖动和控制 有关显示的电路 1 显示RAM 有8 16个单元 存放显示器所需显示信息的显示码 3 显示寄存器 存放来自显示RAM的显示码 向显示器直接提供显示码 4 扫描计数器 产生显示扫描信息 从SL3 SL0发出扫描信息 控制哪一个显示器显示 2 显示地址寄存器 用于确定对显示RAM输入 输出显示码的单元 有关键盘的电路 1 扫描计数器 它不仅提供显示器的扫描信息 同时也产生键盘列扫描信息 从SL3 SL0发出扫描信息 2 回送电路 接收键盘行线信息 从RL7 RL0输入 确定是否有键按下 3 FIFORAM 存放按键的行线和列线信息 4 键盘去抖动控制 发现有键按下后 自动再产生列扫描信号 5 FIFO RAM状态字寄存器 存放FIFORAM中是否有按键信息 显示器 键盘扫描原理图 OUTA0OUTA1OUTA2OUTA3OUTB0OUTB1OUTB2OUTB3 SL2SL1SL0 8279 RL3 RL0 5V 76543210 15141312111098 2322212019181716 3130292827262524 译码电路 显示RAM Y0Y1Y2Y3Y4Y5Y6Y7 显示工作原理 1 假设在显示扫描前 8279内的显示RAM0 7单元中已存放了8个显示码 2 8279一轮扫描过程如下 将显示RAM0 单元的显示码经显示码寄存器从OUTA OUTB端口输出 同时扫描编码线SL2 SL0输出000信息 经译码器译码 Y0输出低电平 选通最右边的显示器 使其显示刚从显示RAM0 单元输出的显示码 隔一定时间 将显示RAM1 单元的显示码输出 同时扫描编码线SL2 SL0输出001信息 经译码器译码 Y1输出低电平 选通右边第2个的显示器 使其显示刚从显示RAM1 单元输出的显示码 以此类推 最后将显示RAM7 单元的显示码输出 同时扫描编码线SL2 SL0输出111信息 经译码器译码 Y7输出低电平 选通左边第1个的显示器 使其显示刚从显示RAM7 单元输出的显示码 完成一轮显示扫描过程 3 8279一直循环往复一轮一轮扫描显示 使显示器保持显示 键盘工作原理 1 8279一轮键盘扫描过程如下 扫描计数器从扫描编码线SL2 SL0输出000信息 经译码器译码 Y0输出低电平 对第0列键盘进行扫描 接着8279回送电路输入键盘的行线RL0 RL3的信息 隔一定时间 扫描计数器从扫描编码线SL2 SL0输出001信息 经译码器译码 Y1输出低电平 对第1列键盘进行扫描 接着8279回送电路输入键盘的行线RL0 RL3的信息 以此类推 最后扫描编码线SL2 SL0输出111信息 经译码器译码 Y7输出低电平 对第7列键盘进行扫描 接着8279回送电路输入键盘的行线RL0 RL3的信息 在以上对键盘的扫描过程中 如发现行线中RL0 RL3出现0 则将按键的行线和列线的信息存入FIFORAM中 并在FIFO RAM状态寄存器记下有键按下的信息 2 8279一直循环往复一轮一轮扫描键盘 保持对键盘的不断监测 1 I O控制和数据缓冲器 双向的三态数据缓冲器将内部总线和外部系统的数据总线DB0 DB7相连 用于在CPU和8279之间传送命令 数据和状态信息 I O控制电路以CS A0 RD WR线上的输入信号控制总线上信息的传送 即对内部不同的寄存器和缓冲器进行读或写 A0为信息属性选择线 用来指出所传送的信息是命令 状态还是数据 A0为逻辑 1 时 CPU写入8279的信息是控制命令 从8279读出的信息是状态字节 A0为逻辑 0 时 读出和写入的信息都是数据 A0通常接系统的地址总线低位 2 时序控制逻辑 时序和控制部件包含了定时计数器 其中一个计数器是N分频器 分频系数N可编程为2 31之间的任一个数 对CLK上输入的时钟脉冲信号进行N分频 以产生基本的100KHz的内部计数信号 3 扫描计数器 扫描计数器是产生键盘和显示器扫描控制信号的部件 它具有有两种工作方式 一种是编码工作方式 计数器以二进制方式计数 4位计数器的状态直接从扫描线SL0 SL3上输出 必须由外部译码器对SL0 SL3进行译码 以产生对键盘和显示器的扫描信号 另一种是译码工作方式 对计数器的低二位进行译码后从SL0 SL3上输出 作为4 8键盘和4位显示器的扫描信号 因此在译码方式中只有显示RAM的前4个字符被显示出来 译码方式中扫描输出线低电平有效 4 输入缓冲器和键盘去抖动控制 输入缓冲器锁存RL0 RL7上的信息 在键盘工作方式中 对键盘进行扫描 搜索键盘上的闭合键 记录了键盘电路行的信息 去抖动电路检测到某个键闭合后等待10ms 再检测该键的状态 若仍然闭合 则将该键在矩阵中的地址 行 列号 以及SHIFT和CNTL状态都写入FIFORAM 5 FIFO 传感器RAM FIFO 传感器RAM是一个双功能的8 8RAM缓冲器 在键盘和选通输入方式中 8 8RAM是一个先进先出的数据缓冲器 每一个新输入的信息写入RAM中的下个单元 并按写入的次序读出 6 显示地址寄存器和显示RAM 显示地址寄存器用于存放CPU当前正在读 写的显示RAM单元地址以及正在显示的两个4位半字节地址 读 写显示RAM地址由编程设定 也可以定义为每次读 写后地址自动加1 在选定了工作方式和地址后 CPU可直接读出显示RAM中的内容 A B两个半字节显示地址由8279自动刷新 二 接口工作方式 1 键盘工作方式 1 双键封锁 若有许多键同时按下 则不管它们以什么次序释放 只能有一个键的信息进入FIFO 如果在去抖动周期有两个键按下 则认为是同时按下 在两者之一释放之前不进行识别 只有最后释放的那个键作单键闭合处理 送FIFO 2 N键巡回 在N键巡回工作方式中 各个键的处理与其他键无关 按下一个键时 去抖动电路等待两个键扫描周期 然后检查该键状态 如果仍被按下 则该键信息送入FIFO 在这种方式下 一次可以按下任意个键 这些键均被识别 依键扫描的顺序 将键信息分别送入FIFO 2 显示器方式 1 左端输入 左端输入方式是最简单的显示方式 显示RAM地址0 7分别对应于显示器0 左 位 7 右 位 可以依次从零地址或某一个地址开始将显示段数据写入显示RAM 地址大于7时再从0地址开始写入 写入过程如下 左端输入显示过程 8279显示RAM地址 第一次写入数据 第二次写入数据 第八次写入数据 第九次写入数据 2 8位右端输入 输入数据总是写入右边的显示RAM单元 原来的内容左移一个位置 写入的字节数大于8 最左边的字符移出丢失 单片机显示缓冲区 8279显示RAM和显示器 8279RAM 单片机显示缓冲区 三 8279的控制命令字 状态字和数据格式 控制命令字 是8279选择其工作方式的控制命令 常用的有6个 状态字 是反映8279在工作中受控键盘和显示器的状态 只有1个 数据格式 是反映按键的位置以及复合键的按键情况 只有1个 1 8279的命令字 D7D6D5D4D3D2D1D0 D7D6D5 000是方式设置命令的特征位 DD D4D3 为显示器工作方式选择位 KKK D2D1D0 为键盘工作方式选择位 它们的定义如表1 表2所示 1 键盘 显示器方式设置命令 表9 1显示器方式选择 表9 2键盘工作方式选择 如果键盘 显示器方式字 00H 则键盘选择编码扫描键盘 双键封锁方式 显示器选择8 8字符显示左边输入方式 2 时钟编程命令 D7D6D5D4D3D2D1D0 D7D6D5 001为时钟编程命令的特征位 D4 D0为分频系数 2 31 利用这条命令 可以对来自CLK引线的外部输入时钟分频 以取得100KHz的内部定时脉冲信号 例如 CLK输入时钟频率为1MHz 则PPPPP 01010B 10 复位后分频系数为2AH 3 读FIFO 传感器RAM命令 在读8279的FIFO 传感器RAM中的数据之前 必须先将读FIFO 传感器RAM的命令字写入8279 该命令字格式如下 D7D6D5D4D3D2D1D0 D7D6D5 010为该命令的特征位 D2 D0 AAA 为起始地址 D4 AI 为多次读时的地址自动增量标志 在键扫描方式中 AI AAA均被忽略 CPU读键输入数据时总是按先进先出的规律读出 直至输入键全部读出为止 如果键盘选择双键封锁方式 则每一次读同一个FIFO RAM单元 命令字为40H 4 读显示缓冲器命令 在CPU读显示数据 检查 之前必须先输出读显示缓冲器RAM的命令 命令格式如下 D7D6D5D4D3D2D1D0 D7D6D5 011是该命令字的特征位 4位二进制代码AAAA用来寻址显示RAM的一个缓冲单元 AI为自动增量标志 若AI 1 则每次读出后 地址自动加1 5 写显示数据命令 在CPU将显示数据写入8279的显示缓冲器RAM之前必须先输出写显示数据缓冲器的命令 命令格式如下 该命令的特征位为D7D6D5 100 AI为自动增量标志 AAAA为起始地址 数据写入按左输入或右输入的方式操作 若AI 1 每次写入后地址自动加1 一般写显示码是连续进行的 故该命令字为90H D7D6D5D4D3D2D1D0 6 清除命令 CPU将清除命令写入8279 使显示缓冲器清成初态 暗码 同时也能清除键输入标志和中断请求标志 清除命令的格式如下 该命令的特征位D7D6D5 110 D4D3D2用来设定清除显示RAM的方式 定义如表3所示 D7D6D5D4D3D2D1D0 表9 3清除方式设定 如果将显示器全部暗掉 则命令字为D0H 2 FIFO状态字 在键盘和选通方式下 FIFO状态字用来指出FIFO中的字符数 出错信息以及能否对显示RAM进行写入操作 其格式如下 3 键盘扫描方式FIFO RAM数据格式 在键盘扫描方式下 进入FIFORAM的数据对应于闭合键在键盘中的位置以及CNTL和SHIFT线的状态 其格式如下 D2 D0为行线RL0 7的行号 D5 D3为扫描计数器值 列号 FIFO RAM中的数据被称为键值 D7D6D5D4D3D2D1D0 四 8279芯片外部引脚 CLK 时钟输入线 用于产生内部定时 RESET 复位输入线 该引脚上输入一个高电平信号将复位8279 复位后置为下列方式 16位显示器左边输入 编码扫描键盘双键封锁 时钟系数为34H CS 选片输入线 输入低电平时CPU选中8279 允许对8279进行读 写操作 A0 缓冲器地址输入线 高电平时数据线上传送的是命令或状态信息 低电平时数据线上传送的是数据信息 RD 读信号输入线 低电平有效 8279内部缓冲器信息送DB0 7 WR 写信号输入线 低电平有效 接收数据总线DB0 7上的信息写入内部缓冲器 外部引脚续 DB0 DB7 双向数据总线 用于在CPU和8279之间传送命令 数据和状态 OUTA0 OUTA3 四位输出口 OUTB0 OUTB3 四位输出口 这两个端口是16 4显示器更新寄存器的输出端 输出的数据与扫描线 SL0 SL3 上的信号同步 用于多位显示器显示 这两个端口也可以合并为一个8位输出口 输出显示码 OUTB0 3为低4位 OUTA0 3为高4位 SL0 SL3 扫描输出线 用以对键盘 传感器矩阵和显示器进行扫描 RL0 RL7 数据输入线 键盘 传感器矩阵的行 或列 数据输入线 这些输入线内部有拉高电路 使之保持为高电平 也可以由外部开关拉成低电平 在选通工作方式中RL0 RL7可作为8位数据输入线 外部引脚续 SHIFT 换档输入线 在键扫描中闭合键的位置信息 行和列号 和换档输入线状态一起存入FIFORAM 使键盘上的每个键可定义为上 下两档功能 SHIFT线内部也有上拉电路使之保持高电平 也可以被外部开关拉成低电平 CNTL STB 控制 选通输入线 在键盘方式中 作为控制输入线 它的状态和键输入信息一起存贮到FIFORAM中 在选通输入方式中作为数据送入FIFORAM的选通输入线 CNTL STB线内部也有拉高电路使之保持高电平 也可被外部开关拉成低电平 外部引脚 IRQ 中断请求输出线 高电平有效 在键盘工作方式中 FIFORAM中有键输入数据时 IRQ上升为高电平 向CPU请求中断 CPU每次读出FIFORAM数据时 IRQ变为低电平 若RAM中还有数据 IRQ在读出后又返回高电平 直止FIFO中数据被读完IRQ才保持低电平 在传感器方式中 每当检测到传感器信号变化时IRQ上升为高电平 BD 显示消隐输出线 低电平有效 该输出线在数字切换过程中或使用显示器熄灭命令使显示器消隐 暗 Vcc 电源输入脚 5V Vss 地 五 8279的应用举例 实验十四 例4 4 若某单片机拥有系统的显示器 键盘接口电路如图9 12所示 请分析接口电路 并编写显示器 键盘程序 图9 12 8个数码管显示器和16个键 4 4 8279的OUTA0 3 OUTB0 3经74LS244驱动后接数码管数据端 8279的SL2 0经译码器输出扫描信号 Y0 Y7再经74LS244驱动后作为点亮控制扫描信号 Y0 Y3直接作为键盘的列扫描信号 分别接键盘第0列至第3列 8279的RL0 RL3作为键盘的行输入线 分别接键盘的第0行至第3行 8279的CS端接系统译码器的输出Y6 8279的CLK端接系统1Mhz信号 一 接口电路分析 接口电路分析续 根据系统的接线 可得到以下信息 数据口地址为E000H 控制口地址为E001H 8279的分频系数为1Mhz 100Khz 10 因为8279的SL2 0经译码器输出扫描信号 所以扫描计数器采用编码方式 键盘上键号的排列是左下角第一个键是0号键 沿着这一行依次是1号键 2号键和3号键 右上角的是F号键 接口电路分析续 根据键盘电路中行线和列线的接法 键的位置与FIFO RAM数据的对应关系如下 D7D6D5D4D3D2D1D0 0号键 00000000 00H D7D6列号行号 1号键 00001000 08H 2号键 00010000 10H F号键 00011011 1BH 设FIFO RAM中的数据为键值 根据键值可求出键号 键号和键值的对应关系表 8279键盘显示器应用电路 二 程序设计 该程序的功能是初始状态显示器显示 8279 1 然后是按那个键 显示那个键号 整个程序结构由三部分程序构成 一个主程序 二个子程序 主程序的功能 初始化显示缓冲区 初始化8279芯片 循环调用显示子程序和键盘扫描子程序 显示子程序功能 将显示缓冲区的数据转换成显示码 然后送入8279显示RAM 键盘子程序功能 查询键盘是否有键按下 将8279中的键值转换成键号 然后将键号送入显示缓冲区 8279应用程序续 主程序框图 显示子程序框图 键盘扫描子程序框图 8279应用程序续 ORG0000HAJMPMAINORG0030HMAIN MOVSP 60HMOV70H 8H 70H 77H为显示缓存器 初始显示 8279 1 MOV71H 2H MOV72H 7H MOV73H 9H MOV74H 12H MOV75H 12H MOV76H 12H MOV77H 01H 程序编制如下 8279应用程序续 8279初始化C8279EQU0E001H 定义8279控制口地址D8279EQU0E000H 定义8279数据口地址MOVDPTR C8279 设置8279控制口指针MOVA 0H 8 8左边输入显示 编码键盘扫描 双键封锁 MOVX DPTR A 写8279方式字MOVA 2AH 分频系数为10 MOVX DPTR A 写分频系数MOVA 0D0H 将显示RAM清0控制字 MOVX DPTR A 清显示DISP1 MOVXA DPTR 读入FIFO状态字JBACC 7 DISP1 判断8279工作是否正常 8279初始化结束 8279应用程序续 LOOP LCALLDISP 调显示LCALLGETKEY 扫描键盘SJMPLOOP 8279应用程序续 DISP 显示子程序 缓冲区为70H 77HMOVR0 70H 设置指针 准备送入显示数据 MOVR6 08HMOVDPTR C8279 MOVA 90H 设置显示数据命令MOVX DPTR A 设置从左边开始写入数据DISP2 MOVA R0 从显示缓存器取数据 MOVDPTR TABMOVCA A DP

温馨提示

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

评论

0/150

提交评论