并行与串行接口.ppt_第1页
并行与串行接口.ppt_第2页
并行与串行接口.ppt_第3页
并行与串行接口.ppt_第4页
并行与串行接口.ppt_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

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

文档简介

第七章并行接口与串行接口 7 1并行接口与串行接口概述7 2简单的并行接口电路7 3可编程并行接口芯片8255A7 4并行接口应用思维7 5串行通信的基本概念7 6异步串行通信接口标准 7 1并行接口与串行接口概述 1 并行与串行接口 微型计算机与I O设备的接口按照数据传送方式的不同 可分为并行接口和串行接口两种 7 1并行接口与串行接口概述 主要差别 串行接口需要实行并行和串行之间的相互转化 而并行接口则无需实现这种变化 2 并行与串行接口在结构 功能上的异同 简单的不可编程并行接口电路主要由数据锁存器和 或三态门构成 7 2简单的不可编程并行接口 7 2 1三态门接口7 2 2锁存器接口7 2 3带三态缓冲输出的锁存器接口 7 2 1三态门接口 以74LS244为例 其内部结构 外部引脚与真值表如下 三态门具有 通断 控制能力 可用作各种接口电路中的单向或双向总线缓冲器 驱动器 用74LS244构成的输入接口 7 2 1三态门接口 7 2 2锁存器接口 以8D触发器74LS273为例 其外部引脚图与真值表如下 数据锁存器具有数据保持功能 所以常用作输出接口 用74LS273构成的继电器控制接口 7 2 2锁存器接口 7 2 3带三态缓冲输出的锁存器接口 数据锁存器无 通断 控制能力 所以不能作为输入接口 而三态门没有数据 保持 功能 也不能用作输出接口 只有带三态缓冲输出的锁存器既可用作输出接口 又可用作输入接口 以74LS374为例 其单个锁存器的内部结构如下 74LS374用作输入和输出接口的连接 7 2 3带三态缓冲输出的锁存器接口 如图是利用三态门和锁存器 D触发器 分别构成输出接口和输入接口 希望利用输出口控制发光二极管D的亮灭 利用输入接口输入开关K的状态 试指出图中的错误并说明错在哪里 例7 1 简单并行接口电路分析 7 2简单的不可编程并行接口 7 3可编程并行接口芯片8255 7 3 1内部结构与外部引脚7 3 2内部端口寻址与读 写控制7 3 3控制字格式7 3 4三种工作方式 7 3 1内部结构与引脚功能 与外设接口部分 与MPU接口部分 内部控制部分 由三大部分组成 控制部件分为A组和B组 用于控制8255的工作方式 输入 输出状态和对C口的按位置位 复位操作 与存储器和其他可编程接口芯片大同小异 有三种可编程的工作方式 A口 B口只能用作数据I O口 C口则因工作方式不同 有时是I O数据端口线 有时是A口 B口数据传送的应答控制线 7 3 2内部端口寻址与读 写控制 8255内部共有A口 B口 C口和控制口4个端口寄存器 对他们的寻址和读 写操作是由CS A1 A0和RD WR 几个信号来控制的 7 3 3控制字格式 8255有两种控制字 工作方式控制字 C口按位置位 复位控制字 7 3 3控制字格式 1 工作方式控制字 D7D6D5D4D3D2D1D0 2 C口按位置位 复位控制字 C口的按位置位 复位操作一次只能使C口的1位置 1 或置 0 如果要在某位上输出一个开关量信号 对该位的置 1 置 0 操作必须成对使用 C口按位置位 复位控制字不是送到C口地址 而是送到控制寄存器地址 说明 7 3 3控制字格式 7 3 4三种工作方式 1 方式0 基本I O方式 7 3 4三种工作方式 方式0主要用于无条件I O传送 这时输出有锁存功能 而输入则无锁存功能 C口支持按位操作 方式0亦可用于应答式工作 A B C三个端口均为数据I O口 其中A口 B口 C口高4位 C口低4位可通过编程选择分别工作于输入或输出状态 例7 2用8255实现的开关输入和显示输出接口 无条件输入 输出 7 3 4三种工作方式 方式0 A口可用三态门代替 B口可用锁存器代替 K2K1K0 000 LED0亮 K2K1K0 001 LED1亮 K2K1K0 010 LED2亮 K2K1K0 011 LED3亮 K2K1K0 100 LED4亮 K2K1K0 101 LED5亮 K2K1K0 110 LED6亮 K2K1K0 111 LED7亮 例7 2程序 7 3 4三种工作方式 方式0 include includeunsignedchartab 0 x01 0 x02 0 x04 0 x08 0 x10 0 x20 0 x40 0 x80 main unsignedchari outportb 0 x203 0 x90 写8255方式控制字 while kbhit 无键按下时 循环 i inportb 0 x200 从A口输入开关状态 i 从B口输出相应控制字 有条件输入 输出 7 3 4三种工作方式 方式0 在例7 2中 用一按钮控制实现有条件开关输入和状态显示 按钮按下时 输入 输出 2 方式1 应答式I O方式 A B口为数据I O口 C口的高4位和低4位分别作为A B口的控制 状态口 可用中断式应答 也可用查询式应答 方式 的输入方式 的输出方式 的状态字方式 的接口方法 7 3 4三种工作方式 方式1的输入 PC2 1 使INTEB 1 B口控制字 D7D6D5D4D3D2D1D0 信号挂靠关系中断开启 D7D6D5D4D3D2D1D0 PC4 1 使INTEA 1 A口控制字 7 3 4三种工作方式 方式1 方式1的输出 D7D6D5D4D3D2D1D0 PC6 1 使INTEA 1 A口控制字 PC2 1 使INTEB 1 B口控制字 D7D6D5D4D3D2D1D0 信号挂靠关系中断开启 7 3 4三种工作方式 方式1 D7D6D5D4D3 输入口 D7D6D5D4D3 方式1的状态字 通过读C口 可获得状态字 从中查询I O设备状态 是否IBF 1或OBF 0 C口 A组状态 B组状态 输入口 D2D1D0 D2D1D0 7 3 4三种工作方式 方式1 方式1的接口方法 方式1接口时 首先要根据应用的具体要求确定A口和B口是输入还是输出 然后把C口的应答线与外设的控制 状态线相连 具体又可采用 7 3 4三种工作方式 方式1 中断驱动式接口 程序查询式接口 方式1中断驱动式接口 例7 3快速启停电容式纸带机接口设计 7 3 4三种工作方式 方式1 方式1查询式接口 这时无需使用INTR信号 而是通过C口读入方式1输入状态字 查询IBF的状态来实现查询式输入 7 3 4三种工作方式 方式1 以例7 3为例 若要从纸带机输入一组以 符号结束的数据 并存入内存BUFFER开始的数据缓冲区 则相应的C语言查询式驱动程序如下 例7 3查询式驱动程序 include includeunsignedcharbuffer 256 main unsignedchari 0 status x outportb 0 x216 0 xb0 写8255方式控制字 outportb 0 x216 0 x0c 从PC6输出正脉冲启动纸带机工作 outportb 0 x216 0 x0d outportb 0 x216 0 x0c while 1 循环 status inportb 0 x214 从C口输入状态 while status 7 3 4三种工作方式 方式1 3 方式2 应答式双向数据传送方式 在这种方式下 A口为双向数据传送端口 C口的高5位 PC7 PC3 作为相应的应答控制线 B口和C口余下的低3位 PC2 PC0 可工作于方式0或方式1 7 3 4三种工作方式 方始的接口功能 方式2的状态字 方式2的接口方法 方式2的接口功能 方式2的接口功能相当于方式1输入和输出功能的组合 7 3 4三种工作方式 方式2 方式2的状态字 7 3 4三种工作方式 方式2 D7D6D5D4D3 C口 A组状态 B组状态 方式1输入 D2D1D0 D2D1D0 D2D1D0 方式1输出 方式0输入 输出 方式2的接口方法 方式2的接口方法有两种形式 即 对中断式接口 只能采用查询式中断 中断响应后 先读状态字 查明是输入中断还是输出中断 再转入相应中断服务 中断驱动式接口 程序查询式接口 7 3 4三种工作方式 方式2 本节通过几个具体实例来说明并行接口在实际应用中的使用方法 7 4并行接口应用思维 7 4 1步进电机控制接口设计7 4 2LED显示器接口设计7 4 3键盘接口设计7 4 4打印机接口设计 7 4 1步进电机控制接口设计 例7 4设计一个三相步进电机控制接口 编写程序使步进电机按一定速度正 反转 1 三相步进电机的工作原理2 三相步进电机的驱动控制方法3 控制接口设计4 驱动软件设计 1 三相步进电机的工作原理 三相步进电机的内部结构如图所示 当三相定子绕组轮流接通驱动脉冲时 所产生的磁场吸引转子转动 按各相定子依次励磁的顺序不同 三相步进电机有3种工作方式 三相三拍 正转 A B C A 反转 三相双三拍 正转 AB BC CA AB三相六拍 正转 A AB B BC C CA A 7 4 1步进电机控制接口设计 2 步进电机的驱动控制方法 步进电机的驱动控制方法 在于根据转速或位移的要求产生所需频率的步进脉冲 并控制其发出的个数 再由脉冲分配器将步进脉冲按照步进电机工作方式分配给各相绕组 常用并口代替 软件分配 7 4 1步进电机控制接口设计 3 硬件设计 方案一 用8255实现 这时可选用PA口 PB口作控制接口 C口作状态接口输入正反转标志 相应接口可如下所示 7 4 1步进电机控制接口设计 方案二 用简单并口实现 7 4 1步进电机控制接口设计 硬件设计 这时可选用锁存器作控制接口 三态门作状态接口输入正反转标志 相应接口可如下所示 方案三 用单片机并口实现 7 4 1步进电机控制接口设计 硬件设计 这时可选用P0口输出作为控制接口 P1 0状态接口输入正反转标志 相应接口可如下所示 4 驱动软件设计 以上述电路为基础 根据步进频率计算出每一拍的时间 然后按所选择的工作方式列出一周期内各拍应向并行输出口送出的控制字表 以三相六拍为例 对应的控制字表如下 7 4 1步进电机控制接口设计 例7 4方案一程序 延时程序略 include includeunsignedcharbase 01H 03H 02H 06H 04H 05H 定义三相六拍控制字表 main unsignedchari 0 status x outputb 0 x216 0 x81 写8255方式控制字 status inportb 0 x214 输入正反转标志 if status 反转完一周 i指向最后一个控制字 7 4 1步进电机控制接口设计 例7 4方案三程序 延时程序略 include defineucharunsignedchar defineuintunsignedintsbitBF P1 0 正反转标志ucharcodebase 01H 03H 02H 06H 04H 05H 定义三相六拍控制字表main uchari 0 status x BF 1 置p1 0输入if BF 0 i 5 反转 i指向最后一个控制字while 1 循环p0 base i 从P0口输出当前控制字delay1s 延时 步进电机走一拍if BF 正转i if i 6 i 0 正转完一周 i指向第一个控制字 else i if i 1 i 5 反转完一周 i指向最后一个控制字 7 4 1步进电机控制接口设计 7 4 2LED显示器接口设计 例7 5在微机中扩展如图所示的8位8段LED显示器 1 LED显示器内部结构及显示原理2 LED显示器的驱动控制方法3 8位LED显示器接口硬件设计4 接口驱动软件设计 1 LED显示器内部结构及显示原理 显示段码 7 4 2LED显示器接口设计 2 LED显示器的驱动控制方法 以1位LED显示器为例 只需在8段LED显示器与微处理器之间加一个8位锁存器 7 4 2LED显示器接口设计 3 8位LED显示器接口设计 7 4 2LED显示器接口设计 需2个并行输出口 方案一 若用单片机实现 使用2个并行输出口 如下所示 3 8位LED显示器接口设计 方案二 7 4 2LED显示器接口设计 若用8255实现 电路可如下所示 也可用2个锁存器代替PA PB口 假定要从左至右显示 1997 10 设计该接口的驱动程序设计 数据结构 4 接口驱动软件设计 该接口采用软件译码 可在ROM区建立一个显示字符段码表 在RAM区 应开辟一个显示数据缓冲区 将要显示的内容预先存放到该缓冲区 7 4 2LED显示器接口设计 程序流程图 7 4 2LED显示器接口设计 驱动软件设计 C语言程序 include stdio h include conio h include dos h unsignedcharsegpt 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 x88 0 x83 0 xc6 0 xa1 0 x86 0 x8e 0 x7f unsignedchardismem 1 9 9 8 0 x10 1 0 0 x10 main unsignedchartemp datal i intcount outportb 0 x203 0 x80 while kbhit 无键按下 循环 i 0 datal 0 x80 outportb 0 x201 0 位码指向最左端 关显示 while 1 temp dismem i 取要显示的字符 outportb 0 x200 segpt temp 将字符显示段码送端口A outportb 0 x201 datal 将位码送端口B count 0 xffff while count 0 count 延时 if datal 0 x01 break i datal 1 调整指针 位码右移一位 7 4 2LED显示器接口设计 驱动软件设计 单片机方案 C语言程序 include defineucharunsignedchar defineuintunsignedintucharcodeSegCode 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 x88 0 x83 0 xc6 0 xa1 0 x86 0 x8e 0 x7f ucharcodeDisMem 1 9 2 7 0 x10 8 0 x10 1 定义显示缓冲区voidmain uchartemp BitCode i while 1 i 0 BitCode 0 x80 位码指向左端LED显示器P0 0 关显示while 1 temp DisMem i 取要显示的字符P1 SegCode temp 将显示字符的显示段码送P1口P0 BitCode 将位码送P0口DelayMs 延时if BitCode 0 x01 break i BitCode 1 调整指针 位码右移1位 7 4 2LED显示器接口设计 驱动软件设计 7 4 3键盘接口设计 要求 键盘提供16个数字键0 F 当有键按下时 在PC机屏幕上显示按键所对应的数字 若按下 F 键 则退出程序运行 例6 6设计一个4行 4列的非编码键盘接口 行 列扫描式键盘接口设计 单片机 7 4 3键盘接口设计 可用1个并行口的4位作为行信号输入 另一个并行口的4位作为列状态输入 行 列扫描式键盘接口设计 7 4 3键盘接口设计 可用1个锁存器代替PC3 0口 三态门代替PC7 4口 键码产生 查表法 C语言可用二维表 二维数组 如下所示 当识别出按键时 根据按键的行列坐标获取按键的键码 7 4 3键盘接口设计 汇编语言用顺序表 一维数组 当识别出按键时 根据按键的行列坐标计算出被按键的键码在表中存放的序号 然后以该序号查表获取键码 ASCII码 此例 根据按键排列有 序号 行号 4 列号 7 4 3键盘接口设计 键码产生 方法是预先在内存中按顺序建立0 F这16个字符的键码 ASCII码 表 如图所示 行扫描程序流程 7 4 3键盘接口设计 行扫描程序流程 续 7 4 3键盘接口设计 线反转式键盘接口 7 4 3键盘接口设计 需2个可编程的输入 输出口 线反转式键盘接口 单片机 7 4 3键盘接口设计 需2个可编程的输入 输出口 Centronics打印机接口标准查询式打印机接口设计中断式打印机接口设计 7 4 4并行打印机接口设计 例7 7设计一个基于Centronics标准的查询式 中断式打印机接口 编程将存放在内存BUF单元开始 以数字0结束的打印数据输出 Centronics标准最主要的是8位并行数据线 两根握手联络信号线STROBE ACK 和一根忙线BUSY 1 Centronics打印机接口标准 7 4 4并行打印机接口设计 2 查询式打印机接口设计 用8255的A口作输出数据口 C口的高4位作控制口 低4位作状态口 电路如下 7 4 4并行打印机接口设计 查询式驱动程序流程 7 4 4并行打印机接口设计 查询式驱动程序 include stdio h include dos h unsignedcharbuf 256 main unsignedcharstatus i outportb 0 x93 0 x81 设置8255方式字 outportb 0 x93 0 x0d 置PC6 1 i 0 While buf i 0 未打印完 循环 do status inportb 0 x92 输入忙状态 status 7 4 4并行打印机接口设计 假定仍以8255A作为接口器件 中断式打印机接口如下 3 中断驱动式接口 7 4 4并行打印机接口设计 基于上述中断式接口的驱动程序流程图如下 7 4 4并行打印机接口设计 7 5串行通信的基本概念 7 5 1串行通信工作方式7 5 2波特率和收 发时钟7 5 3信号的调制与解调7 5 4误码率与差错控制7 5 5信道的多路复用7 5 6串行通信的基本方式7 5 7串行通信协议7 5 8串行通信的实现方法 7 5 1串行通信工作方式 串行数据在通信线上的传送方式有三种 单工方式 半双工方式 双工方式 7 5 2波特率和收 发时钟 1 波特率指单位时间内传送二进制数据的位数 以位 秒为单位 有时也叫数据位率 它是衡量串行数据传送速度快慢的重要指标和参数 有时也用 位周期 来表示传输速度 位周期 1 波特率 2 收 发时钟 7 5 2波特率和收 发时钟 用于对传送的数据进行定位和同步控制 发送时钟 接收时钟 发送数据 接收数据 接收方通常采用倍频采样方法 以提高采样的分辨率 即收 发时钟与波特率之间通常有下列关系 收 发时钟频率 n 波特率一般n取1 16 32 64等 3 收 发时钟与波特率的关系 7 5 2波特率和收 发时钟 7 5 3信号的调制和解调 串行接口直接发送的串行数据在其基本不产生信号畸变和失真的条件下 所能传送的最大距离取决于传输速度和传输线的电气性能 对于同种传输线 最大传输距离和传输速率是一对矛盾 工作点在曲线下方时没矛盾 可直接通过串行接口通信 工作点在曲线上方时有矛盾 需加MODEM通信 1 远距离通信示意图 7 5 3信号的调制和解调 当传输距离与传输速率发生矛盾时 常在通信线路上引入调制 解调设备 MODEM 发送方使用调制器把要传送的数字信号调制转换为适合在线路上传输的音频模拟信号 接收方则使用解调器从线路上测出这个模拟信号 并还原成数字信号 2 常用调制方法 它们分别按传输数字信号的变化规律去改变载波 音频模拟信号 Asin 2 ft 的频率f 幅度A或相位 使之随数字信号的变化而变化 7 5 3信号的调制和解调 调频 FM 频移键控法 调幅 AM 幅移键控法 调相 PM 相移键控法 3 三种调制方法示意图 7 5 3信号的调制和解调 Asin 2 ft 4 调制实现方法 7 5 3信号的调制和解调 以频移键控法为例 其基本思想是把数字信号的 1 和 0 调制成不同频率f1和f2的 容易识别的音频模拟信号 7 5 4误码率和串行通信中的差错控制 2 差错控制 为减小误码率 常采取两方面措施 1 误码率 指数据经传输后发生错误的位数与总传输位数之比 进行可靠性设计 尽量少出错 对传输信息采用检错 纠错编码技术 以便发现和纠正错误 这种方法称为差错控制技术 3 差错控制方式 应用检错 纠错编码方法进行差错控制 主要有三种方式 a 自动请求重发ARQ b 前向纠错FEC c 混合纠错HEC 7 5 4误码率和串行通信中的差错控制 自动请求重发ARQ 前向纠错FEC 混合纠错HEC 7 5 5信道的多路复用 把多个信号按一定原则组合起来 在一条传输线路上用一套传输设备进行传输 根据多个信号组合原则的不同 常用的多路信道复用技术有两种 时分多路复用TDM 频分多路复用FDM 1 时分多路复用TDM 将一条物理传输线路按时间分成若干时间片轮换地为多个信号所占用 7 5 5信道的多路复用 2 频分多路复用FDM 利用频率调制原理 将要同时传送的多个信号进行频谱搬移 使它们互不重叠地占据信道频带的不同频率段 然后经发送器从同一信道上同时或不同时地发送出去 信号1 信号2 信号3 信号4 0 30 4 30 34 38 42 46 kHz 7 5 5信道的多路复用 7 5 6串行通信的基本方式 根据在串行通信中数据定时 同步方法的不同 串行通信有两种基本方式 异步串行方式 同步串行方式 在通信的数据流中 字符间异步 字符内部各位间同步 数据流中的字符与字符之间和字符内部的位与位之间都同步 前者对同步要求不严 收 发双方无需用同一时钟源 只需用同频率的收 发时钟 后者对同步要求严格 收 发双方需用同一时钟源 7 5 7串行通信协议 通信协议是收 发双方必须共同遵守的数据传输协定 用于规定数据传送格式 起始标志 结束标志 校验方式等 1 异步串行通信协议 2 同步串行通信协议 1 异步串行通信协议 7 5 7串行通信协议 数据帧格式 以相反极性的起始位 停止位 空闲位 检测新字符的开始 为接收端正确采样提供时间基准 接收器在每位码元的中心采样 以获得最大的收 发时钟频率偏差容限 接收器采用比传送波特率更高频率的时钟来

温馨提示

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

最新文档

评论

0/150

提交评论