欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

输入-输出接口技术.ppt

  • 资源ID:15496825       资源大小:3.52MB        全文页数:122页
  • 资源格式: PPT        下载积分:14.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要14.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

输入-输出接口技术.ppt

第7章 输入/输出接口技术,内容安排,一. 接口技术概述 二. 可编程并行接口芯片8255A 三. 可编程定时器/计数器接口芯片8253A 四. 串行通信 五. 串行异步通信接口芯片8250,7.1 接口技术概述,定义:输入/输出(I/O)接口是CPU和外设信息交换的桥梁,是一个过渡的大规模集成电路,1. 输入/输出接口,存在方式: 与CPU集成在同一块芯片上(如:MCS-51, MC908GP32, AT89C52等) 以单独芯片存在(如:8255,8253,8250,8279等),I/O接口与I/O端口之间的关系:,I/O端口(I/O口):是指I/O接口中带有端口地址的寄存器或缓冲器,I/O接口:是指CPU和外设间的I/O接口芯片,二者之间关系: CPU通过端口地址对端口中信息进行读写,但不能直接通过接口读写信息,需要借助于接口中的端口地址 一个外设通常需要一个I/O接口,但一个I/O接口可以有多个I/O端口,I/O接口的作用:,(1)隔离主机与外设之间的数据,实现和不同外设的速度匹配。 如:打印机、数控机床控制 (2)数据类型的转换 如:并 串,串 并,模/数转换(A/D) (3)传输外设控制信号和接收外设的状态信号 (4)改变信号的性质和电平,2. 外部设备的编址,外设编址实际上是给所有I/O接口中的端口编址,以便CPU通过端口地址和外设交换信息,是指外设端口地址和存储单元地址分别编址,互为独立,(1) 外设端口的单独编址,例7-1:,存储器地址范围:00000H FFFFFH I/O端口地址范围:0000H FFFFH,注意:区分16位地址总线上地址究竟是送给存储器还是外设端口,依据是I/O指令产生的M/IO信号,特点: 外设端口单独编址不占用存储器地址 需要CPU指令集中有专用的I/O指令 需要增加相应的控制线,(2) 外设端口和存储器统一编址,是把外设端口当作存储器单元对待,也就是让外设端口地址占用部分存储器单元地址,例7-2:,存储器地址范围:0000H 1FFFH I/O端口地址范围:2000H 3FFFH,3. 输入/输出接口的交换信息,特点: 不需要专门访问I/O端口的指令,大大增强了CPU对外设端口信息的处理能力 外设端口地址安排灵活,数量不受限制 外设端口占用了部分存储器地址,译码电路较复杂, 数字量:二进制表示一个数据,如:字节、ASCII码 模拟量:随时间连续变化的物理量 如:电压、电流、湿度、压力、流量 开关量:二进制“0”和“1”描述外设的状态 如:开关、 启停、通断 脉冲信号:上下沿跳变信号,4. 输入/输出的控制方式(见6.1节),以位(Bit)为单位进行数据传输(如:通信,网络等) 特点:传输距离相对较远,但速率较低 芯片:8250A,8251A等,(1)串行I/O接口,(2)并行I/O接口,以字节(或字、双字)为单位,做输入/输出 如:打印机、A/D、D/A等 特点:传输距离近(一般 2m),传输速率快 芯片:8255A、8253A、8279等,6. 举例,步骤:(1)构造总线系统(2)将接口挂在总线上(3)按题意要求设置接口电路,地址分析:,思考:(1)如果CPU为8086 (2)除了上述输入/输出设备,还有2片存储器6116 电路如何设计?,7.2 可编程并行接口芯片8255A,1. 8255A内部结构及引脚功能,并行输入/输出端口A、B、C: PA口、PB口、PC口均为8位、双向I/O数据口,都可直接与外设连接,但在结构上稍有差异, PA口、PB口、PC口受读写控制部件及A组或B组控制部件控制,A组和B组控制部件:,数据总线缓冲器:是一个三态双向8位数据缓冲存储器,是8255A与CPU之间的数据接口。有了数据总线缓冲器,8255A可直接“挂”到系统的数据总线(DB)上功能: CPU控制字/数据 数据总线缓冲器 8255A(OUT指令) (IN指令) 8255A 状态信息/数据数据总线缓冲器 CPU,读/写控制部件:接收控制信号,并产生8255A内部控制时序,向片内功能部件发出操作命令,RESET 复位信号,高电平有效,CPU输入。当RESET有效时,清除8255A中所有控制字寄存器内容,并将各端口置成输入方式,A1 、A0 端口选择信号线(端口地址输入线),8255A共有4个端口地址 A1 A0 =00 端口A A1 A0 =10 端口C A1 A0 =01 端口B A1 A0 =11 控制字寄存器,注意:PA,PB,PC 三个端口各占用一个端口地址,加上控制字寄存器地址,这些地址连续,其中一个端口地址确定,则其它端口地址也就随之确定 如:82H 1000 0010 PC口, PA口: 80H,PB口:81H, 控制字寄存器: 83H,2. 8255A工作方式类型及控制字,(1)8255A工作方式类型,工作方式0:基本输入/输出方式(无条件传送方式),PA、PB、PC口均可选择此方式 工作方式1:选通输入/输出方式(条件传送方式或中断方式),PA、PB口可选择此方式 注:此方式一般用于连接需要联络信号的外设,其中PC口为PA、PB口提供控制和联络信号 工作方式2:选通的双向传送方式,只有PA口可用于此方式,既可做输入,又可做输出,由PC口提供控制和联络信号,(2)8255A工作方式选择控制字,8255A内部有一个控制寄存器,占用一个端口地址,专门用来接收CPU送来的控制字 工作方式控制字格式:,例7-4:设PA口与输出设备连接,工作于有条件传输方式(查询);PB口与输入设备连接,工作于中断方式; PC5,PC4 驱动二个发光二极管,设PA口地址为A0H,用138译码器,设计电路,并编写程序,解: 步骤: 设计电路; 确定8255A的工作方式; 编写初始化程序,工作方式:,初始化程序: MOV AL, 0A6H OUT 0A3H,AL;向8255A送控制字 IN AL, 0A1H ;PB口输入 OUT 0A0H,AL ;PA口输出 OUT 0A2H,AL ; PC5,PC4输出,置位/复位控制字:,只对端口C有效 当PA口、PB口工作方式1或2时,需要PC口作为控制和联络信号线,工作前或工作过程中对其置位/复位,如:PA口工作于方式1,输入,格式:,例7-5:设8255A某端口地址为A5H,请编写一个程序使灯灭,继电器闭合, PC7出的电机停转,解:地址分析 A5H = 10100101 PB口 则:PA口:A4H;PC口:A6H;控制字寄存器:A7H,程序: MOVAL, 00H OUT0A7H,AL;灯灭 MOVAL, 0BH OUT0A7H,AL;继电器闭合 MOVAL, 0EH OUT0A7H,AL;停转,3. 8255A的工作方式,(1)工作方式0 PA口、 PB口、 PC口均可选择该方式 基本输入/输出方式 无条件传送,注意: CPU通过对状态( PC口)查询,可以实现I/O数据的异步传送,(2)工作方式1,选通输入/输出方式, PA、PB口可选择此方式,PC口为PA、PB口提供控制和联络信号且相应PC端口位置固定, 选通输入方式 (以PA口为例),工作过程:,注意:PA口做方式1输入时,中断允许触发器INTEA 的状态是由PC4 位操作指令设置,如:MOV AL, 09H OUT 43H, AL, 选通输出方式 (以PB口为例),工作过程:,注意: PB口做方式1输出时,中断允许触发器INTEB 的状态是由PC2 位操作指令设置 实际应用中,在进入中断服务程序之前应先向外设送出一个无意义数据,目的是使系统进入中断时,真正的输出数据在中断服务程序中,(3)工作方式2,选通的双向传送方式,只有PA口可用于此方式,既可做输入,又可做输出,由PC口提供控制和联络信号,4. 8255A的状态字及PC口功能,(1)8255A的状态字 若8255A的工作方式设定为方式1或方式2时,读PC口便可读得相应的状态字,以便了解8255A的工作状态,并供CPU查询,PA口、PB口工作于方式1时,PC口状态,PA口工作于方式2、PB口工作于方式0或1时,PC口状态,(2)PC口的功能,可独立使用(方式0)与外设连接 可以拆成两部分,分别作为PA口、PB口的联络信号线 可以为8255A做中断控制 可以做8255A的状态字 可以工作于位控输出方式,单独使用某一根I/O线,对外设开关量控制,5. 8255A的应用,例7-6:某系统要求使用8255的PA口工作于方式1做输入,PB口工作于方式0作输出,PC口高4位做联络信号线后剩余的I/O线做输入、低4位输出。设8255端口地址为60-63H,以中断传送方式,解:工作方式控制字:10111000 B = B8 H 初始化程序: MOV AL, 0B8H OUT 63H, AL MOV AL, 09H OUT 63H, AL,例7-7:假设利用8255A的PA口方式0与打印机相连,将内存缓冲区BUFF中的字符打印输出来,硬件连接见下图。设8255A的工作频率与CPU的工作频率相当。打印机接口要求在有效时,才能接收数据;而在BUSY有效时,则表示打印机忙,不能接收数据,程序: DATA SEGMENT BUFF DB HELLO ,WORLD,13,10,$ PORTA EQU 60H PORTB EQU 61H PORTC EQU 62H PORTCN EQU 63H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START PROC FAR MOV AX,DATA MOV DS,AX,LEA SI,BUFF MOV AL,88H ;8255初始化 OUT PORTCN ,AL ;PC口高4位输入,低4位输出 MOV AL,01H ;PC0置1,STB初始状态=1 OUT PORTCN ,AL WAIT: IN AL,PORTC ;查询打印机状态, TEST AL,80H ;判BUSY=1? JNZ WAIT ;若“忙”则等待 MOV AL,SI ;从缓冲区取数 CMP AL,$ ;判是结束符$否? JZ PRINT_OVER ;若是结束符$,退出 OUT PORTA,AL ;输出字符,MOV AL,00H ;产生选通信号(STB=0),启动打印机 OUT PORTCN ,AL MOV AL, 01H ;使STB=1,STB引脚负方波结束 OUT PORTCN ,AL INC SI ;修改缓冲区指针 JMP WAIT PRINT_OVER: MOV AH ,4CH ;返回DOS INT 21H START ENDP CODE ENDS END START,注意:PC口的按位置/复位控制字用来产生打印机的控制信号,控制打印机启/停,解:地址分析:,初始化程序:,INTT:MOVDX, 0FFFEH;初始化8255A MOVAL, 86H;8255A工作方式设定 OUTDX, AL MOVAL, 05; PC2口置位 OUTDX, AL MOVDX, 0FFFDH;8259A工作方式设定 MOVAL, 13H;ICW1设定 OUTDX, AL MOVDX, 0FFFFH;ICW2设定 MOVAL, 40H OUTDX, AL MOVAL, 03H ;ICW4设定 OUTDX, AL MOVAL, 0FEH;OCW1设定 OUTDX, AL,POUT:MOVDX, 0FFF8H ;从端口A输出8位数据 MOVAL, H OUTDX, AL MOVDX, 0FFFCH ;启动ADC0809 MOVAL, 80H OUTDX, AL MOVAL, 0 OUTDX, AL WAIT: STI JMPWAIT,40H类型中断服务程序: MOVDX, 0FFFAH INAL, DX IRET,7.3 可编程定时/计数器接口芯片8253A,定时用途:定时打铃、石英钟、红绿灯、动态存储器 的刷新定时、系统的日历时钟 计数用途:生产线、出租车计费、点钞机,软件定时: 通过执行延迟子程序,达到定时目的。延迟子程序包含一定的指令,设计者要求对这些指令的执行时间进行严密的计算或者精确的测试,以便确立延迟时间是否符合要求。定时时间较长时,一般采用循环程序 优点:不需添加硬件设备,只需编制有关延时程序 缺点:增加CPU的开销,时间越长,开销越大,浪费CPU资源,不可编程的硬件定时: 单稳态延时电路或计数电路来实现延时或定时(如:555) 优点:不增加CPU的开销 缺点:器件容易老化,导致定时不准(RC决定脉冲宽度),可编程硬件定时: 结合软件定时及不可编程的硬件定时的方法,并将它们作成一个通用的器件,工作原理:计数器/定时器计数或定时达到确定值时,可以自动产生一个输出,特点:计数器/定时器与CPU可同时做不同的工作,计数或定时时,不占用CPU,并且利用计数/定时器产生中断信号,还可以建立多作业环境,提高了CPU 的效率,可编程计数器/定时器的功能: 计数器,设置计数初值后,计数器被启动,减1计数,当减为0时,输出一个信号 定时器,设置计数初值后,启动减1计数,按定时常数不断的输出为时钟周期整数倍的定时间隔,二者共同点:都基于减1计数 二者区别: 计数时,减到0之后,输出一个信号结束 定时时,不断产生信号,1. 8253A芯片内部结构,数据总线缓冲器: 8位三态缓冲器,CPU通过数据总线缓冲器向8253 写入数据和命令或从数据总线缓冲器向8253读取数据 或状态信息 功能: 向8253写入确定工作方式的命令 向8253计数器寄存器装入计数初值 读出8253的计数值,读写控制逻辑: 8253内部操作的控制部分,接受来自系统总线的信息,产生控制整个芯片的控制信号 A1A0:端口选择信号,由CPU输入,选择3个通道和控制端口,RD、WR:输入低电平有效 RD :CPU读取A1A0所选定通道内计数器的当前值 WR :CPU向8253控制字寄存器或向计数器置计数初值 CS :片选信号,低电平有效 通常由端口地址的高位地址译码形成,控制字寄存器: 用来存放由CPU写入8253A的工作方式选择控制字 定义8253A中各通道的工作方式,通道02: 三个通道功能完全相同,:锁住当前计数值,供CPU查询,:计数脉冲CLKi 计数器减1 0溢出,OUTi输出,:时钟脉冲CLKi 计数器减1 0溢出,OUTi输出,频率没有特殊要求,例7-9:设时钟频率为2KHz,要求定时1s,计算计数器初值 解:计数器初值 = 1/(0.510-3)= 2 103 = 07D0H,注意: 任意通道作计数或定时用时,其内部结构完全相同 计数时,由计数脉冲决定计数器是否减1;定时时,由定时脉冲决定计数器是否减1 计数脉冲周期可不固定,一般来自外部(现场);定时脉冲周期固定,一般来自系统主时钟 计数时,计数的次数直接作为计数器的初值;定时时,计数器的初值由定时时间和定时脉冲频率确定 无论是计数还是定时,当前计数值由计数值锁存器锁住,供CPU查询,2. 8253A工作方式选择控制字,功能:定义8253中各通道的工作方式,格式:,例7-10:设8253A通道0工作于方式0,用二进制计数,其初始值为4, 8253A端口地址为40H43H,其初始化程序:,MOV AL,10H;控制字(00010000B) OUT 43H,AL;写入控制寄存器 MOV AL,4;计数初值,只送低8位 OUT 40H,AL;初值送通道0,例7-11:设8253A通道1工作于方式1,用BCD码计数,其初始值为4000,8253A端口地址为40H43H,其初始化程序:,MOV AL,63H;控制字(01100011B) OUT 43H,AL;写入控制寄存器 MOV AL,40H;计数初值,只送高8位 OUT 41H,AL;初值送通道1,例7-12:设8253A通道2工作于方式2,用二进制计数,其初始值为0304H, 8253A端口地址为40H43H,其初始化程序:,MOV AL,0B4H;控制字(10110100B) OUT 43H,AL;写入控制寄存器 MOV AL,04H;先设置计数初值低字节 OUT 42H,AL;初值低8位送通道2 MOV AL,03H;后设置计数初值高字节 OUT 42H,AL;初值高8位送通道2,MOV AL,84H;控制字(10000100B) OUT 43H,AL;写入控制寄存器 INAX,42H;读通道2计数器值,8253A的编程步骤:, 设置8253A的工作方式:由CPU向8253的控制寄存器输出一个控制字 设置8253A计数器初值:初值可以是8位的,也可以是16位 读取计数器当前值(可选),注意: 在读计数值时,须先用锁存命令,将当前计数值在输出锁存器中锁定,方可由CPU读取,否则计数器的数值有可能正在改变过程中,可能读取一个不确定的结果 当CPU将锁定值用输入指令读走时,锁存器自动失锁,又跟随减法计数器工作,在锁存和读出计数值的过程中,不影响计数进行,3. 8253A芯片的工作方式,基本原则:,控制字写入8253时,所有的控制逻辑电路立即复位,输出端OUT进入初态 计数器初值写入以后,要经过一个时钟周期,计数器才开始工作,下降沿使计数器进行减1计数,计数器容纳的最大初值为“0” 时钟脉冲的上升沿采样门控信号,边沿触发器检测门控信号的上升沿,计数器控制逻辑电路在每个时钟脉冲的上升沿采样边沿触发器,检测是否被外部门控脉冲触发过,(1) 工作方式0 计数结束中断方式,功能:定时、计数 注意: 门控信号GATE的作用 计数器初值一次有效,(2) 工作方式1 可编程单脉冲发生器,功能:单脉冲发生器 注意: 门控信号GATE的作用 计数器初值一次有效,(3) 工作方式2 速率发生器,功能:速率发生器 注意: 门控信号GATE的作用 计数器初值,(4)工作方式3 方波发生器,注意: 门控信号GATE的作用 计数器初值 占空比: n为偶数, 1:1 n为奇数,(n+1)/2:(n-1)/2,(5)工作方式4 软件触发方式,注意: 门控信号GATE的作用; 计数器值通过软件 计数器初值一次有效; 与工作方式0的区别,(6)工作方式5 硬件触发方式,注意: 门控信号GATE的作用 硬件触发信号 计数器初值 与工作方式4的区别,4. 8253A芯片的应用,例7-13:某8086系统中包含一个8253芯片,要求完成如下功能: 利用通道0完成对外部事件计数功能,计满100次向CPU发出中断请求 利用通道1产生频率为1KHz的方波 利用通道2作标准时钟 相应的系统结构图如图所示,编写初始化程序?,解:地址分析:,通道0:工作方式0,计数值 100 = 64H 工作方式选择控制字:00010000 B = 10 H,通道1:工作方式3,输出方波频率:1KHz T= 1 ms CLK1输入时钟脉冲为2.5MHz T = 0.4 s 计数值 = T/T = 1 ms/ 0.4 s = 2500 = 09C4 H 工作方式选择控制字:01110110 B = 76 H 通道2:工作方式0,定时 T= 1 s CLK2输入时钟脉冲为1KHz T = 1ms 计数值 = T/T = 1 s/ 1ms = 1000 工作方式选择控制字:10100001 B = A1 H,初始化程序: STT: MOVDX, 0FFFFH;定义通道0工作在方式0 MOV AL, 10H OUTDX, AL MOVDX, 0FFF9H;给通道0送计数值,只选低8位 MOVAL, 64H OUTDX, AL MOV DX, 0FFFFH;定义通道1工作在方式3 MOV AL, 76H OUT DX, AL MOV DX, 0FFFBH ;给通道1送计数初值 MOV AX, 09C4H ;先送低8位,后送高8位 OUT DX, AL MOV AL, AH OUT DX, AL MOV DX, 0FFFFH ;定义通道2工作在方式0 MOV AL, 0A1H OUT DX, AL,MOVDX, 0FFFDH;给通道2送计数初值 MOVAL, 10 OUTDX, AL MOVDX, 0FFFCH ;初始化8259A MOVAL, 13H ;ICW1设置 OUTDX, AL MOV DX, 0FFFEH ;ICW2设置,通道0和通道2 MOV AL, 50H ;的中断类型码分别为50H和52H OUT DX, AL MOV AL, 03 ;ICW4设置 OUT DX, AL MOV AL, 0FAH ; OCW1设置 OUT DX, AL STI ;CPU等中断 HH:JMP HH,7.4 串行通信,串行通信:使数据一位一位的进行传输而实现的通信 特点:需要传输线少,成本低,速度慢,适合于远距离传输,1. 串行通信的数据传输模式,(1) 单工通信,单向传输数据,只允许一个方向传输数据,如:有线电视、广播,如:对讲机,(3) 全双工通信,串行口之间分别有两根独立的传输发送和接收信号,可以同时进行发送和接收 一根通信链路 频分复用方式(FDM) 两根通信链路 发送、接收各占其一,至少在逻辑上是分开的,2. 串行通信方式,数据格式:,特点: 以一组不定“位数”数据组成 每一个数据传送时,前面须加一位起始位,后面加1(或1.5或2) 停止位 两组数据之间可有空闲位“1”,波特率(Band Rate):,定义:单位时间传输的信息量,也可以说,每秒传送数据的位数 单位:bps(1 bps = 1位/秒),例7-14:数据传送速率为120字符/秒,每帧包括10个数据位,求波特率 解:波特率 = 10 120 = 1200位/秒 = 1200 bps,常用的异步通信的波特率:150、300、600、1200、2400、4800、9600、14400、 如:实验室中,用COM2,波特率为4800 bps,注:异步通信时,字符/字节是一帧一帧的传送,每帧字符必须靠起始位来同步,在异步通信的数据传送中,传输线上允许空字符,校验位:,奇校验 :字符加上校验位有奇数个1 偶校验 :字符加上校验位有偶数个1,注意: 校验位的产生和检查由串行通信控制器内部自动产生,停止位也是由硬件自动产生的 无论是奇校验还是偶校验,当出现偶数个错误时,系统不能检测,(2) 同步通信,利用同步字(SYN)获得双方的同步信息,格式:,特点: 以同步字符(SYN)作为传送的开始,从而保证收/发双方同步 每位占用的时间都相等 字符数据之间无间隔符,当线路空闲或没有字符可发时,发送同步字符,传输速率高,3. 串行通信的时钟,冗余校验: 传送数据作为被除数,发送器本身产生一固定除数,前者除以后者得到余数,即为该“冗余”字符 当数据和冗余字符一起被传送到接收器时,接收器产生和发送器相同的除数,和数据位相除,得到余数进行比较(99%),由协议保证,二进制数据系列在串行传送过程中,以数字信号波形的形式出现。无论接收还是发送,都须有时钟信号对传送的数据进行定位,(1) 发送脉冲和接收脉冲,发送:发送方要靠发送脉冲(移位脉冲)下降沿将数据移出,经TXD引脚对方 接收:接收方要靠接收脉冲(移位脉冲)上升沿将数据接入,经RXD引脚串口,注意: 接收时钟的上升沿对准数据位的中间位置,以保障可靠的接收数据 移位脉冲的频率 = 波特率 发送方与接收方实现同步,随着数据的不断传输,将产生一个误差积累,有可能使数据丢失!,思考题:异步通信中,如何实现同步的?,(2) 检验脉冲,接收方需对发送方发来的数据位进行检测,以决定“0”还是“1” 通常检测脉冲是移位脉冲的16和64倍(常选16),三中取二,目的: 抑制干扰; 提高信号的传输可靠性,因为采样信号总是在每个接收位的中间位置,不仅可以避开信号两端的边沿失真,也可防止接收时钟频率和发送时钟频率不完全同步引起的接收错误,4. 串行通信接口的基本结构,接收移位脉冲寄存器:靠移位脉冲将数据串行传进来 接收数据缓冲寄存器:将移位寄存器中的数缓冲寄存器,实现串并的转换过程,向CPU申请中断后,等待CPU取走数据 接收脉冲发生器:用来产生接收的移位脉冲(RXC) 发送数据缓冲寄存器:接收CPU送来的并行数据 发送移位寄存器:接收发送缓冲寄存器的数据,完成并串的转换,在移位脉冲的作用下,将数据移出去可以重新申请 发送脉冲发生器:用来产生发送移位脉冲(TXC) 状态触发器:PE OE CE PE:奇偶校验出错状态 “1”奇偶错 OE:溢出出错标志 接收到的数未被CPU取走,又接收到新数,前一个数就丢失,这种现象称为溢出错, CE:帧格式错标志 接收数据没有停止位 控制寄存器:读写,中断等控制逻辑 发送/接收时钟:工作时钟CLK,经分频后产生RXC/TXC,5. 调制解调器(MODEM),发送方:在做远距离传输时,需要通过MODEM将数字信号模拟信号,可以利用电话线传输,称为调制 接收方:利用MODEM将模拟信号转换为数字信号,称为解调,局域网不用调制解调器,用网卡即可,7.5 串行异步通信接口芯片8250,特点: 8250是一种可编程的串行异步通信接口芯片 支持异步通信规程 芯片内部设置时钟发生电路,并可以通过编程改变传送数据的波特率 提供MODEM所需的控制信号和接收来自MODEM的状态信息,易通过MODEM实现远程通信 具有数据回送功能,为调试自检提供方便,1. 8250内部结构,2. 8250寄存器的口地址,COM1,COM2:2F82FE,3. 8250寄存器,(1)发送数据保持寄存器(THR,3F8H,只写) 包含要发送的字符,其中第0位是串行发送的第一 位数据 (2)接收数据寄存器(RBR,3F8H ,只读) 存放接收的字符 (3)线路控制寄存器(LCB,3FBH ,只写) 规定了异步串行通信的数据格式,格式:,设置间断,SOUT发送空号,据此,收方能识别发送设备已中止发送,(4)波特率因子寄存器(DLR,3F8H,3F9H ,只写) 当前线路控制寄存器D7写入1时,接着对口地址3F8H、3F9H可分别写入波特率因子分频数的低字节和高字节 波特率 = 1.8432MHz/(波特率因子16),如:要求发送波特率为1200波特,则波特率因子:,3F8H口地址应写入96(60H),3F9H口地址应写入0,注意:波特率因子必须在初始化期间设置(此时线路控制寄存器D7 = 1),以保证波特率发生器执行规定动作,通常BAUDOUT输出信号用于接收和发送时钟,(5)中断允许寄存器(IER,3F9H ,只写) 允许8250四种类型中断(相应位置1),使中断请求INTRPT输出有效的高电平,注意:将中断允许寄存器最低四位清零,可完全禁止芯片中断系统,中断系统的禁止将封锁中断标识寄存器和中断请求的输出,(6)中断标识寄存器(IIR,3FAH ,只读),可以用来判断有无中断与哪一类中断请求。8250具有优先级的中断逻辑,接收线路状态中断(最高)、接收数据就绪中断、发送保持寄存器空中断、Modem状态中断(最低),(7)线路状态寄存器(LSR,3FDH ,可读) 向CPU提供有关数据传输的状态信息 读入时,各数据位等于1有效,作相应的读出与写入操作后将复位,(8)MODEM控制寄存器(MCR,3FCH ,只写) 控制与调制解调器或数传机的接口信号,(9)MODEM状态寄存器(MSR,3FEH ,只读) 反映了调制解调器控制线的当前状态,同时提供了四位控制输入的状态变化信息。各数据等于1为有效,4. 8250的工作过程,(1)数据发送,数据(CPU) THR TSR SOUT,在发送时钟的激励下,按照事先和接收方约定的字符传送格式,加上起始位、奇偶校验位和停止位,再以约定的波特率按照从低到高的顺序一位一位发送,查询该状态位或者利用该状态触发的中断即可实现数据的连续接收,5. 8250的初始化,例7-14:设波特率为1200bps,1位停止位,7位数据位,奇校验,其初始化程序?,程序: MOVDX, 3FBH ;LCR地址 MOV AL, 80H;设置波特率 OUTDX, AL MOVDX, 3F8H MOV AL, 60H OUTDX, AL INCDX MOVAL, 0 OUTDX, AL;3F9H送0,MOVDX, 3FBH ;LCR地址 MOVAL, 0AH ;初始化LCR OUTDX, AL MOVDX, 3FCH ;初始化MCR MOVAL, 03H OUT DX, AL MOVDX, 3F9H ;初始化IER MOVAL, 0 ;禁止所有中断 OUT DX, AL,5. 8250的应用,例7-15:在IBM PC机中,采用8250实现串行通信;通过查询方式发送数据,发送的数据字节数放在BX中,发送的数据顺序存放在以DATA为首地址的内存区中;采用中断方式接收数据,接收一个字符放在以BUFFER为首地址的内存区中;设波特率为1200 bps,1位停止位,7位数据位,奇校验;请编程实现。,解:地址分析,程序:,发送程序: ;8250初始化 MOVDX, 3FBH ;LCR地址 MOV AL, 80H;设置波特率 OUTDX, AL MOVDX, 3F8H MOV AL, 60H OUTDX, AL INCDX MOVAL, 0 OUTDX, AL;3F9H送0,MOVDX, 3FBH ;LCR地址 MOVAL, 0AH ;初始化LCR OUTDX, AL MOVDX, 3FCH ;初始化MCR MOVAL, 03H OUT DX, AL MOVDX, 3F9H ;初始化IER MOVAL, 0 ;禁止所有中断 OUT DX, AL,SENDPRG:MOVDX, 3FDH LEASI, DATA WAITTHR:IN AL, DX TESTAL, 20H JZWAITTHR PUSHDX MOVDX, 3F8H LODSB OUTDX, AL;发送一个字符 POPDX DECBX JNZWAITTHR,CPU可以通过读LSR(3FDH)查相应状态位(D5位),来检查发送保持器是否空(D51),接收程序:,;8250初始化 MOVDX, 3FBH ;LCR地址 MOV AL, 80H;设置波特率 OUTDX, AL MOVDX, 3F8H MOV AL, 60H OUTDX, AL INCDX MOVAL, 0 OUTDX, AL;3F9H送0,MOVDX, 3FBH ;LCR地址 MOVAL, 0AH ;初始化LCR OUTDX, AL MOVDX, 3FCH ;初始化MCR MOVAL, 0BH OUT DX, AL MOVDX, 3F9H ;初始化IER MOVAL, 01H ;开接收中断 OUT DX, AL STI ;开CPU中断,;8259A初始化 MOVAL, 13H MOVDX, 3F0H OUTDX, AL MOVAL, 8;中断类型码从8开始INCDXOUTDX, ALINCAL;缓冲方式,8086/8088OUTDX, ALMOVAL, 8CH;允许0,1,4,5,6级中断OUTDX, AL,将接收一个字符的中断服务程序入口地址装入中断矢量表中,对IRQ4,中断类型码型为0CH,0CH430H,XORAX, AX MOVDS, AX LEAAX,RECVE MOVWORD PTR0030H, AX MOV BX, SEG RECVEMOVWORD PTR0032H, BX,接收一个字符的中断服务程序:,RECVE:PUSH AX PUSH BX PUSH DX PUSH DS MOV DX, 3FDH IN AL, DX MOV AH, AL;保存接收状态 MOV DX, 3F8H IN AL, DX ;读入接收到的数据 AND AL, 7FH TEST AH, 1EH ;检查有无错误产生 JZ SAVEDATA MOV AL, ? ;出错的数据用问号代替,SAVEDATA:MOVDX, SEG BUFFER MOVDS, DX LEABX, BUFFER MOVBX, AL MOVAL, 20H;将EOI命令发给8259 MOV DX, 3F0H OUTDX, AL POPDS POPDX POPBX POPAX STI IRET,作业,当8255A的A口工作于方式2时,能否使B口工作于选通方式的输入/出?为什么? 设计一个电路,使8255A与8086最小系统连接,使8255A的PA口做基本输入,与2位BCD拨码盘连接,并用该数据控制PB口的2位LED输出,请画出电路并编写出输入/出程序,要求用74LS138译码器对8255A片选,编码地址范围为8000H8006H。 编写一初始化程序,使8255A的PC.5端输出一个负跳变。如果要求PC.5输出一个负脉冲,则初始化程序又如何编写?,试叙述8253A的CLK、OUT、GATE三根引脚的作用。 设某PC机的应用系统中,扩展一块8253A,该芯片配置的地址为304H307H,要求从OUT0输出频率为1000Hz的方波,从OUT1输出频率为100Hz的方波,从OUT2输出频率为1Hz的方波。CLK0的时钟是2MHz,请画出8253AGATE0GATE2及从CLK1CLK2的接线圈,并编写出各通道的初始化程序。 8250发送时钟和接收时钟如何获得?当改变数据传输速率时,应作哪些工作? 8250内部有哪些可以被CPU访问的寄存器?如何寻址的?,

注意事项

本文(输入-输出接口技术.ppt)为本站会员(za****8)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!