




已阅读5页,还剩100页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章并行I O接口 接口的类型 MCS 51内部并行I O接口 MCS 51并行I O的扩展 MCS 51内部定时器 计数器 什么是接口 为什么需要使用接口 接口电路的功能 数据缓冲数据格式转换地址译码及设备选择传递控制及状态信号电平转换 接口的类型 按照接口的功能分类 通用接口专用接口按照数据传送方式分类并行接口串行接口 I O接口的端口寻址 CPU与外设间的信号 CPU与外设之间交换的信息主要有3类 数据信息数字信号 0或1 形式的二进制数据 模拟信号 传感器 控制器的输入 输出的表示温度 压力 流量 阀门等数据的电压或电流信号 需要A D D A转换使用 开关量 表示开 关两种状态 例如电机的启动与停止等 状态信息反映外设的工作状态 如 准备好 或 忙 状态 控制信息读写控制信号 片选等 接口的一般结构 接口电路一般包括以下部件 数据寄存器状态寄存器控制 命令 寄存器 I O数据的四种传送方式 程序控制传送方式同步传送异步传送中断传送DMA 直接存储器存取 方式 程序控制传送方式 无条件传送方式 条件传送方式 中断传送方式 中断传送方式的接口电路 DMA传送方式 不需要CPU参与 需要专用控制芯片控制总线的使用及数据存取 7 2MCS 51内部并行I O端口 一 内部并行IO端口 二 MCS 51并行I O端口的应用 一 端口操作方式 二 IO直接输入输出 三 8位IO改装成非8位IO 四 对外部三态门和锁存器的接口三态门 缓冲器 缓冲器 对输入不作运算 输出和输入一致 计算机设计中有重要作用 作用 使高速工作的CPU与慢速工作的外设起协调和缓冲作用 实现数据传送的同步 输入缓冲器 将外设送来的数据暂时存放 以便处理器将它取走 输出缓冲器 暂时存放处理器送往外设的数据 常规缓冲器 不同系统之间连接 推动电流到高一级电路系统 如外设的工作电流和控制器不一样 驱动电流超过驱动器驱动能力 缓冲器作用 三态缓冲器 用于总线连接三种状态 高电平 低电平 高阻态 锁存器 锁存器就是把当前的状态锁存起来 使CPU送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变化 直到解除锁定 作用 最主要作用是缓存 其次完成高速的控制其与慢速的外设的不同步问题 再其次是解决驱动的问题 最后是解决一个I O口既能输出也能输入的问题 对外部三态门和锁存器的接口 7 3并行接口芯片 8255A 8155 上海工程技术大学机械工程学院 一 8255 专用接口芯片 作用 1 能提供三个8位IO口2 IO数据传送有同步 异步 中断三种方式 上海工程技术大学机械工程学院 上海工程技术大学机械工程学院 控制字和状态字 上海工程技术大学机械工程学院 工作模式 CPU内部RAM以20H为起始地址的连续50个单元中的数据输出打印程序 扩展举例1 综合例子 Org1000HMOVDPTR 2000H 数据首地址 MOVR7 08H 8个通道 MOVR0 7EH C口地址 MOVR2 C0H 通道0开始地址 MAIN MOVAR2MOVX R0A 启动A D MOVR1 7CH A口 LOOP1 MOVXA R1ANLA 80H 检测STS JNZLOOP1MOVA 10HORLAR2MOVX R0A MOVXA R1ANLA 0FHMOVX DPTRAINCDPTRINCR1MOVXA R1MOVX DPTRAINCR2DJNZR7MAINRET 二 8155A 2 8位I O1 6位I O256字节RAM1 14位定时器 8155A引脚及内部结构 8155A端口地址 8155A命令字 8155A状态字 8155A定时器长度字 8155工作方式 C口引脚在各种方式下的定义 选通I O输入 选通I O输出 8155A定时器长度字格式 8155A定时器初始化 8155A定时器应用举例 借用外部RAM地址扩展I O端口 应用举例 采用8155扩展并行I O端口 1 采用8155扩展并行I O端口 2 采用8155扩展并行I O端口 3 7 5MCS 51对LED 键盘的接口 单片机应用系统经常需要连接一些外部设备 其中键盘和显示器是构成人机对话的一种基本方式 使用最为频繁 键盘主要用于输入数据 代码和命令等 显示器主要用来显示过程控制和运算结果 MCS 51对LED的接口MCS 51对键盘的接口 一 单片机与LED数码管接口 在单片机系统中 经常采用LED数码管来显示单片机系统的工作状态 运算结果等各种信息 LED数码管是单片机人机对话的一种重要输出设备 LED数码管的工作原理 LED数码管可分为共阳极和共阴极两种结构 共阳极共阴极 显示原理 控制相应的发光二极管导通 截止 使某些段点亮而另一些段不亮就可以显示0 9 A F等字型 使某段点亮必须具备2个条件 共阴极管的公共端接地和共阳极管的公共端接电源 共阴极管的控制端接电源和共阳极管的控制端接地 LED数码管的工作原理 例如 欲使LED数码管显示0 对于八段共阴LED数码 可依次给dp g f e d c b a字段加上00111111B 3FH 即使dp g两段为0V 不亮 其余为高电平而被点亮 对于八段共阳LED数码管显示0 可依次给dp g f e d c b a字段加上11000000B 即使dp g两段为1V 不亮 其余为低电平而被点亮 把00111111B 3FH称为使八段共阴LED数码管显示0的字形码或段码 把11000000B C0H称为使八段共阴LED数码管显示0的字形码或段码 LED数码管的工作原理 LED数码管的工作原理 八段LED数码管的部分字形码表 上海工程技术大学机械工程学院 译码方式 从要显示数字的BCD码转换成对应的段选码称为译码 1 硬件译码 微机输出的是要显示数字的BCD码 微机与LED段选端之间接口电路包括锁存器 锁存显示数字的BCD码 译码器 将BCD码输入转换成段选码输出 驱动器 驱动发光二极管发光 2 软件译码 微机输出的是通过查表软件得到的段选码 因此接口电路中无需译码器 只需锁存器和驱动器 单片机与LED数码显示管的接口 静态显示接口静态显示是指LED数码管显示字符时 在时间上是连续恒定发光的 特点是亮度较大 显示稳定 无闪烁现象 缺点是由于每个LED数码管都需要一个并行输出芯片与之连接 所以显示位数较多时 硬件开销较大 动态显示接口动态显示 是一位一位地轮流点亮各个LED数码管 每一位LED数码管每隔一段时间才点亮一次 虽然在任一时刻只有一位LED数码管点亮 但只要使点亮的间隔时间小于人眼的视觉暂留时间 我们看到的现象仍然是多个LED数码管在 同时 显示 静态显示接口 MOVDPTR TABUP0 MOVA 30HMOVCA A DPTRMOVP0 AMOVA 31HMOVCA A DPTRMOVP1 AMOVA 32HMOVCA A DPTRMOVP2 AMOVA 33HMOVCA A DPTRMOVP3 ASJMPUP0TAB DB3FH 06H 5BHDB4FH 66H 6DHDB7DH 07H 7FH 6FH 动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一 显示器的8个笔划段a h同名端连在一起公共极COM是各自独立地受I O线控制 CPU向字段输出口送出字形码时 所有显示器接收到相同的字形码 但究竟是那个显示器亮 则取决于COM端 而这一端是由I O控制的 就可以自行决定何时显示哪一位了 动态扫描就是采用分时的方法 轮流控制各个显示器的COM端 使各个显示器轮流点亮 在轮流点亮扫描过程中 每位显示器的点亮时间是极为短暂的 约1 2ms 但由于人的视觉暂留现象及发光二极管的余辉效应 尽管实际上各位显示器并非同时点亮 但只要扫描的速度足够快 给人的印象就是一组稳定的显示数据 不会有闪烁感 动态显示接口 1 START MOVR0 30HMOVR7 4MOVR2 0E0HUP MOVA R0ORLA R2MOVP1 ALCALLD2MSINCR0MOVA R2RLAMOVR2 ADJNZR7 UPSJMPSTART 动态显示 2 DISP ORLP1 80H 选择8155为I O口MOVR1 0F8H 置8155命令 状态寄存器地址MOVA 0F3HMOVX R1 A 送8155工作方式命令字START MOVDPTR TABMOVR0 00H 字型码地址偏移量MOVR2 80H 选择第1位显示SCAN MOVR1 0FAH 置8155PB口地址MOVA 00HMOVX R1 A 熄灭显示器MOVA R0MOVCA A DPTR 取字型码DECR1 置8155PA口地址MOVX R1 A 送字型码MOVA R2 INCR1MOVX R1 A 送位选码ACALLDELAY1ms 延时1msINCR0 指向下一字型码MOVA R2CLRCRRCA 指向下一位MOVR2 AXRLA 00H 8位未完 扫描显示下一位JNZSCANAJMPSTART 开始下一轮扫描 DELAY1ms SETBD3HMOVR2 83HLL0 NOPNOPDJNZR2 LL0CLRD3HRETTAB DB0C6H 8CH 0C1H 0CEH 86H 88H 0A1H 91H 显示字符字型码 二 单片机对键盘接口 键盘是单片机控制系统最常用 最简单的输入设备 用户可以通过键盘输入数据或命令 实现简单的人机通信 单片机控制系统所用的键盘有编码键盘和非编码键盘两种 编码键盘除了键开关外 还有专门的硬件电路 用于识别闭合键并产生键代码 不仅如此 编码键盘一般还有去键抖动电路和防串键保护电路等 这种键盘的优点是所需软件简短 但硬件电路较复杂 价格较昂贵 目前在单片机控制系统中使用不多 非编码键盘仅由键开关组成 其它工作如键识别 键代码的产生 去抖动等 不是由硬件完成而是由软件完成的 为了简化硬件电路 降低成本 目前单片机控制系统中大多数采用非编码键盘 非编码键盘的键开关可以独立连接式或矩阵形式 1 独立式非编码键盘 1 独立式键盘每一个按键的电路是独立的 占用一条数据线 这种键盘占用硬件资源多 适合少量按键的情况 优点 硬件电路简单 缺点 每个按键都需要独立占用一条I O通道 START MOVA 0FFH MOVP1 A 置P1口为输入状态MOVA P1 键状态输入CPLAJZSTART 没有键按下 则转开始JBACC 0 K0 检测0号键是否按下 按下转JBACC 1 K1 检测1号键是否按下 按下转JBACC 2 K2 检测2号键是否按下 按下转JBACC 3 K3 检测3号键是否按下 按下转JBACC 4 K4 检测4号键是否按下 按下转JBACC 5 K5 检测5号键是否按下 按下转JBACC 6 K6 检测6号键是否按下 按下转JBACC 7 K7 检测7号键是否按下 按下转JMPSTART 无键按下返回 再顺次检测K0 AJMPKEY0K1 AJMPKEY1 K7 AJIMPKEY7KEY0 0号键功能程序JMPSTART 0号键功能程序执行完返回KEY1 0号键功能程序JMPSTART 1号键功能程序执行完返回 KEY7 7号键功能程序JMPSTART 7号键功能程序执行完返回 2 行列式非编码键盘 矩阵 行列式非编码键盘是一种把所有按键排列成行列矩阵的键盘 在这种键盘中 每根行线和列线的交叉处都接有一个按键 每当某个按键被按下时 与这个按键相连的行线和列线就会接通 否则是断开状态 因此 一个M N的行列式非编码键盘只需M条行线和N条列线 共占用M N条单片机的I O端口线 上海工程技术大学机械工程学院 上海工程技术大学机械工程学院 1 基本原理 1 扫描法扫描法的接口特点是 每条作为键输入线的行线 或列线 都通过一个上拉电阻接到 5V上 并与该行 或列 各按键的测试端相连 每条作为键扫描输出的列线 或行线 都不接上拉电阻和 5V 只与该列 或行 各键的接零端相连 1 监测有无键被按下 让所有键扫描输出线均置0电平 检查各键输入线电平是否有变化 例如图中 将P1 0 P1 3编程为输出线 P1 4 P1 7编程为输入线 第一步使P1 0 P1 3输出全 0 然后读入P1 4 P1 7 若为全 1 则无键按下 若非全 1 则有键按下 2 识别哪一个键被按下 键扫描输出线逐线置 0 电平 其余各输出线均置高电平 检查各条键输入线电平的变化 如果某输入线由高电平变为零电平 则可确定此输入线与此输出线交叉处的按键被按下 例如图中 如果P1 0 P1 3输出0111 而P1 4 P1 7读入0111 则可判定图中第3号键被按下了 上海工程技术大学机械工程学院 2 反转法扫描法要逐行或逐列扫描查询 当被按下的键处于最后一行或列时 则要经过多次扫描才能最后获得此按键所处的行列值 而反转法只要经过两步就能获得此按键所在的行列值 反转法的特点是 行线和列线都要通过上拉电阻接 5V 按键所在行号和列号分别由两步操作判定 上海工程技术大学机械工程学院 1 将行线编程为输入线 列线编程为输出线 并使输出线输出全 0 则行线中电平由高变到低的所在行为按键所在行 2 和第一步完全相反 将行线编程为输出线 列线编程为输入线 并使输出线输出全 0 则列线中电平由高到低的所在列为按键所在列 上海工程技术大学机械工程学院 软件消除抖动 见程序 7 6MCS 51内部的定时器 计数器 8051内部有两个16位可编程加法定时器 计数器 命名为T0和T1 T0 T1 由两个8位工作寄存器TH0和TL0 TH1和TL1 拼装而成 T0和T1有定时器和计数器两种工作模式 每种工作模式又分为若干个工作方式 四种工作方式 1 定时功能 启动定时器工作后 每隔一个机器周期加一 定时发出脉冲信号 向CPU申请中断 其定时间隔的长短及起始控制的时间均可由程序控制 2 计数功能 启动定时器工作后 每来一个脉冲加一 对外界发生的事件脉冲进行计数 当达到程序规定的计数值时 输出一脉冲信号 申请中断 1 方式0 2 方式1 3 方式2 4 方式3 定时器控制寄存器TCON 字节地址88H可位寻址 0 停止T0计数1 启动T0计数 0 无T0中断 硬件复位 1 有T0中断 0 停止T1计数1 启动T1计数 0 无T1中断 硬件复位 1 有T1中断 定时器方式寄存器TMOD 字节地址89H不可位寻址 00 方式001 方式110 方式211 方式3 0 定时器模式1 计数器模式 0 与INT0有关1 与INT1有关 与T0相同 定时器计数器方式控制逻辑 若C T 0 则T0为定时器模式 fosc经12分频使T0计数 若C T 1 则T0为计数器模式 T0线上脉冲使T0计数 若GATE 0 INT0对T0无控制 T0仍由TCON中TR0控制计数 若GATE 1 INT0对T0有控制 INT0 0 禁止TR0对T0控制 INT0 1 允许TR0对T0控制 MCS 51内部定时器工作方式 方式0 T0 T1为13位加1计数器 无自动重装入 13位由TH中8位和TL中低5位组成 故计数范围为1 8192 启动T0 T1的顺序 给TMOD装方式控制字给TH和TL装定时 计数初值给TCON装启动字计满为0时产生溢出中断请求 中断服务程序应安排重装时间常数初值的指令 TH TL 弃用 计数 方式1 T0 T1为16位加1计数器 无自动重装入 16位由TH中8位和TL中8位组成 故计数范围为1 65536 启动T0 T1的顺序 给TMOD装方式控制字给TH和TL装定时 计数初值给TCON装启动字计满为0时产生溢出中断请求 中断服务程序应安排重装时间常数初值的指令 TH TL 计数 方式2 T0 T1为被拆分为一个8位寄存器TH和一个8位加1计数器TL 自动重装入 8位计数器计数范围为1 256 启动T0 T1的顺序 给TMOD装方式控制字给TH和TL装定时 计数初值给TCON装启动字TL计满为0时产生溢出中断请求 中断服务程序无需给TL重装时间常数初值 TH TL 计数 方式3 只有T0才有 TH0和TL0按两个独立的8位计数器工作 T1按照不需要中断的方式2工作 几点说明 TL0 有定时器 计数器模式两种 TR0控制启停 TF0指示溢出中断TH0 只能按定时器模式工作 TR1控制启停 TF1指示溢出中断TL1 8位重装计数器 TL1计满回0时不产生溢出中断请求 但TL1被自动重装TH1的初值 TH1 TL1 计数 TH0 TL0 计数 计数 MCS 51对内部定时器的初始化 给定时器方式寄存器TMOD送一个方式控制字 以便设定定时器 计数器相应的工作方式根据要求给定时器 计数器选送定时器时间常数初值或计数器基值 以确定需要定时的时间和需要计数的初值给中断允许寄存器IE选送中断控制字 并给中断优先级寄存器IP选送中断优先级字 以开放相应中断并设中断优先级给定时器控制寄存器TCON送命令字 以便启动或禁止
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路主题旅馆(如旧火车车厢改造)行业深度调研及发展项目商业计划书
- 2025至2030中国氢氯噻嗪行业发展趋势分析与未来投资战略咨询研究报告
- 2025年工业互联网平台数据备份与恢复解决方案研究报告
- 中国萘酐项目投资计划书
- 2025年应急预案评估报告范文(三)
- 美食餐饮简约活动计划模板
- 酶结构解析-洞察及研究
- 有限理性认知偏差-洞察及研究
- 大规模网络社区发现-洞察及研究
- 口述历史的记忆再现-洞察及研究
- 2025年河南高考真题化学试题含答案
- 2025年高考全国二卷数学高考真题解析 含参考答案
- 2025年普通高等学校招生全国统一考试数学试题(全国一卷)(有解析)
- 防火门施工方案及工艺流程
- 护士文职面试题及答案
- 解剖期末试题题库及答案
- 【高分复习笔记】胡裕树《现代汉语》(重订本)笔记和课后习题(含考研真题)详解
- 保姆带小孩合同协议书
- 工程监理资料管理制度
- 2025春季学期国开电大专科《中级财务会计(二)》一平台在线形考(第一至四次形考任务)试题及答案
- 2025年日历表全年(打印版)完整清新每月一张
评论
0/150
提交评论