微型计算机串行接口技术.ppt

上传人:小飞机 文档编号:6161583 上传时间:2023-10-01 格式:PPT 页数:61 大小:6.22MB
返回 下载 相关 举报
微型计算机串行接口技术.ppt_第1页
第1页 / 共61页
微型计算机串行接口技术.ppt_第2页
第2页 / 共61页
微型计算机串行接口技术.ppt_第3页
第3页 / 共61页
微型计算机串行接口技术.ppt_第4页
第4页 / 共61页
微型计算机串行接口技术.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《微型计算机串行接口技术.ppt》由会员分享,可在线阅读,更多相关《微型计算机串行接口技术.ppt(61页珍藏版)》请在三一办公上搜索。

1、第12章 微型计算机串行接口技术,12.1数据通信的基础知识12.2可编程串行异步通信接口8250,12.1 数据通信的基础知识,12.1.1并行通信与串行通信12.1.2数据通信方式12.1.3异步通信与同步通信12.1.4串行异步通信接口标准EIA RS-232C,12.1.1并行通信与串行通信,图12.1 并行接口的连接,图12.2 串行接口的连接,12.1.2数据通信方式,图12.3 单工通信,图12.4 半双工通信,图12.5 全双工通信,12.1.3异步通信与同步通信,图12.6 异步通信的字符格式,异步通信的一个字符通常由起始位,数据位,奇偶校验位,停止位,空闲位组成。,12.1

2、.3异步通信与同步通信,图12.7 异步通信字符传输位图(接收时钟频率为波特率的16倍),12.1.4串行异步通信接口标准EIA RS-232C,图12.8 DTE通过DCE与通信传输线路相连,12.1.4串行异步通信接口标准EIA RS-232C,图12.9 RS-232连接器(25芯和9芯),DSR数据装置就绪(Data Set Ready):表明DCE状态。DTR数据终端就绪(Data Terminal Ready):表明DTE状态。RTS请求发送(Request to Send):当DTE端要发送数据时,使该信号有效,向DCE请求发送。CTS允许发送(Clear to Send):表示

3、DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。DCD数据载波检测(Data Carrier Detect):当DCE检测到载波信号时,使DCD信号有效,通知DTE端准备接收。RI振铃指示(Ring Indicator):当DCE收到振铃信号时,该信号有效,通知DTE端已被呼叫。TXD发送数据(Transmit Data):DTE通过TXD终端将串行数据发送到DCE。RXD接收数据(Received Data):DTE通过RXD终端接收从DCE发来的串行数据。GND地线:信号地。,12.1.4串行异步通信接口标准EIA RS-232C,图12.10 RS-232电平信号,1

4、2.2 可编程串行异步通信接口8250,8250是一种可编程串行异步通信接口芯片。8250芯片引脚定义与功能 8250芯片的内部结构和寻址方式 8250内部控制状态寄存器的功能 8250通信编程 8250应用举例,8250的主要性能,8250芯片是一种通用的串行异步通信接口芯片,是沟通微机和串行外设之间的桥梁。它的基本性能如下:8250是异步接收和发送控制器,发送时自动在每帧数据中插入起始位(1位)、停止位(1、1.5或2位)和奇偶校验位,字符格式可以编程,接收时自动删除这些附加位。最高波特率为9600b/s,波特率可编程设置。具有独立的中断优先级控制和自测试功能,并能提供MODEM的全部状态

5、。具有错误检测的功能。,1.8250芯片引脚定义与功能,8250是一个40脚封装的双列直插式芯片。其引脚可分为两类:与CPU系统总线相连的信号线;与通信设备相连的信号线。,与CPU系统总线相连的信号线 1)双向数据线:D7D0:8位数据线。2)地址控制信号:CS0、CS1、CS2#:片选信号、输入。必须同时有效。A2、A1、A0:地址信号、输入。选择内部寄存器。ADS#:地址选通信号、输入。ADS#=0 时锁存片选信号和地址信号。如果不锁存,可将ADS#直接接地。CSOUT:片选输出,高电平有效。8250芯片被选中时,输出高电平。此信号通常不用而悬空。,与CPU系统总线相连的信号线 3)读/写

6、控制信号 DISTR与DISTR#:数据输入选通信号、输入。若DISTR=1或DISTR#=0,CPU就会从被选择的内部寄存器中读出数据;若选择DISTR#接CPU的IORC#,则应将DISTR接地使其变为无效。DOSTR与DOSTR#:数据输出选通信号、输入。若DOSTR=1或DOSTR#=0,CPU就会将数据写入从被选择的内部寄存器中。若选择DOSTR#接CPU的IOWC#,则应将DOSTR接地使其变为无效。DDIS:驱动器禁止、输出。该输出信号在CPU读8250时为低电平,非读时为高电平,可用此信号来控制8250与系统总线间的数据总线驱动器。,与CPU系统总线相连的信号线 4)中断控制和

7、复位控制信号:INTRPT:中断请求、输出。高电平申请中断。MR:复位信号、输入。高电平有效。一般接系统复位线RESET。,与CPU系统总线相连的信号线5)时钟与传输速率控制信号:XTAL1与XTAL2:时钟信号输入和输出引脚。外接晶振或时钟信号。时钟频率为1.8432MHz。BAUDOUT#:波特率输出引脚。频率为发送数据波特率的16倍。RCLK:接收时钟输入引脚。接收外部提供的16倍波特率的时钟信号。由于通常采用8250内部的发送时钟作为接收时钟,故可直接连到BAUDOUT#引脚,以保证接收与发送的波特率相同。,与外部通信设备相连的信号线 RTS#:请求发送输出引脚。当RTS#为低电平时,

8、表示8250(DTE)通知数据通信装置(DCE),准备发送数据。CTS#:允许发送输入引脚。当CTS#为低电平时,表示数据通信装置(DCE)通知8250(DTE),已做好接收数据的准备。DTR#:数据终端就绪输出引脚。当DTR#为低电平时,表示8250(DTE)通知数据通信装置(DCE),已经做好通信准备。DSR#:数据通信装置就绪输出引脚。当DSR#为低电平时,表示数据通信装置(DCE)通知8250(DTE),已做好建立通信链路的准备。,与外部通信设备相连的信号线 RLSD#:载波检测输入引脚。当RLSD#为低电平时,表示数据通信装置(DCE)通知8250(DTE),已检测到通信线路上的载波

9、信号,开始接收数据。RI#:振铃指示输入引脚。当RI#为低电平时,表示 表示数据通信装置(DCE)通知8250(DTE),已接收到振铃信号。OUT1#:用户指定的输出引脚。可以通过对8250的编程使OUT1为低电平或高电平。OUT2#:用户指定的另一输出引脚。也可以通过对8250的编程使OUT2为低电平或高电平。,2.8250芯片的内部结构和寻址方式,8250芯片的内部结构:10个内部寄存器、数据缓冲器、寄存器选择与I/O控制逻辑。通过微处理器的输入/输出指令可以对10个内部寄存器进行操作,以实现各种异步通信的要求。,2、8250芯片的内部结构和寻址方式,线路控制寄存器,3FF未用,3.825

10、0内部控制状态寄存器的功能,(1)发送保持寄存器THR(3F8H)(2)接收数据缓冲寄存器RBR(3F8H)(3)线路控制寄存器LCR(3FBH)(4)除数寄存器DLR(3F8H,3F9H)(5)中断允许寄存器IER(3F9H)(6)中断标识寄存器IIR(3FAH)(7)线路状态寄存器LSR(3FDH)(8)Modem控制寄存器MCR(3FCH)(9)Modem状态寄存器MSR(3FEH),(1)发送保持寄存器THR(3F8H)当发送数据时,CPU先将待发送的字符写入已空的THR中,其中第0位是串行发送的第1位数据。只要发送移位寄存器TSR为空,则THR中的数据会由8250的硬件自动送入TSR

11、,并在发送时钟的作用下转换成串行信号,且按照预置的帧格式添加起始位、校验位和停止位,从SOUT引脚输出。(2)接收数据缓冲寄存器RBR(3F8H)当外来的串行数据(一个完整的字符)在接收时钟作用下,由SIN引脚输入到接收移位寄存器时,会自动去掉起始位、校验位和停止位,并转换成并行数据,输入到RBR中,等待CPU读取该字符。,(3)线路控制寄存器LCR(3FBH)规定了异步串行通信的数据格式,包括数据位数(字长)、停止位的位数与奇偶校验位的设置等。由于8250仅用了3根地址线来寻址内部的8个寄存器,故不得不使波特率因子寄存器或除数寄存器DLR和其他寄存器公用地址,由D7位来加以区分。,3、825

12、0内部控制状态寄存器的功能,D5D4D3为101时:在奇偶校验位和停止位之间插入一个奇偶标志位1。D5D4D3为111时:在奇偶校验位和停止位之间插入一个奇偶标志位0。,强迫8250连续输出低电平。,3、8250内部控制状态寄存器的功能,D5D4D3为101时:在奇偶校验位和停止位之间插入一个奇偶标志位1。D5D4D3为111时:在奇偶校验位和停止位之间插入一个奇偶标志位0。,强迫8250连续输出低电平。,(4)除数寄存器DLR(3F8H,3F9H)8250芯片规定当LCR 的位D7写入1时,接着可对口地址3F8H、3F9H分别写入分频系数的低字节和高字节,即将16位除数写入DLR(L)和DL

13、R(H)中。波特率=1.8432MHz/(分频系数16)分频系数=1.8432MHz/(波特率16)例如:要求发送波特率为1200波特,则分频系数为:分频系数=1.8432MHz/(120016)=96 因此,3F8H口地址应写入96(60H),3F9H口地址应写入0。,3、8250内部控制状态寄存器的功能,(5)中断允许寄存器IER(3F9H)IER用来设置允许或禁止8250 的4个中断源发出中断请求(将相应位置1或0即可)。D7D4位:恒为0。D3D0位:表示是否允许4类中断。当允许中断时,则通过IR4向8086/8088CPU发中断请求。,(6)中断标识寄存器IIR(3FAH)IIR可以

14、用来判断有无中断产生以及产生了哪一类中断请求。D7D3位:恒为0。D0位:表示有无中断待处理,若D0=1,表示无中断待处理;若D0=0,表示有待处理的中断。D2D1:位用于标识4类中断,其中,D2D1=11的线路出错中断的优先级最高,而D2D1=00的Modem中断的优先级最低。,(7)线路状态寄存器LSR(3FDH)LSR是一个8位寄存器,它向CPU提供有关发送与接收数据的状态信息。,D0:接收数据就绪位。当D0=1时,表示8250的接收器已接收到一帧完整的字符。D1:数据重叠错(又称为越限状态错或溢出错)标志。当D1=1时,表示接收器的输入字符尚未读走,而新的字符已经到来并将前一帧数据覆盖

15、。D2:数据奇偶错标志位。当D2=1时,表示接收的数据经校验出现奇偶性错误。D3:帧错(即接收数据格式错)标志。当接收数据的停止位个数不正确时,则D3=1。,D4:接收空缺位。若在一个完整的字符编码的时间间隔中收到的均为空闲状态,则D4=1,表示线路信号间断。注意:D1D4均为出错标志,只要其中有一位置1,在中断允许的情况下,8250内部就会产生“接收字符错误”中断,一旦CPU读取这些状态后,即自动复0。D5:数据发送保持器空标志。当D5为1时,表示THR空。一旦CPU将数据写入THR,则此位复0。D6:数据发送移位寄存器空标志。当D6为1时,表示TSR空。一旦THR将数据写入TSR,则此位复

16、0。D7:恒为0。,(8)Modem控制寄存器MCR(3FCH)MCR用于控制调制解调器或数传机,可直接控制RS-232C接口的引脚信号。,(9)Modem状态寄存器MSR(3FEH)MSR反映了调制解调器控制线的当前状态及其变化信息。各数据等于1为有效。MSR低4位中任一位置1,均将产生调制解调器状态中断,当CPU读取该寄存器或复位后,低4位被清零。,4.8250通信编程,1)、8250初始化(1)设置波特率(2)设置串行通信数据格式(3)设置工作方式 2)、程序查询方式通信编程 3)、用中断方式编程(1)初始化8259A中断控制器(2)设置中断向量IR4(3)设置允许/屏蔽位(4)8250

17、重新响应中断请求,1)、8250初始化(1)设置波特率 例如,设波特率为9600,则波特率因子N=12MOV DX,3FBHMOV AL,80H;设置波特率OUT DX,ALMOV DX,3F8HMOV AL,12OUT DX,ALINC DX MOV AL,0OUT DX,AL,3、8250内部控制状态寄存器的功能,D5D4D3为101时:在奇偶校验位和停止位之间插入一个奇偶标志位1。D5D4D3为111时:在奇偶校验位和停止位之间插入一个奇偶标志位0。,强迫8250连续输出低电平。,1)、8250初始化(2)设置串行通信数据格式 例如,数据格式为8位,1位停止位,奇校验。MOV AL,0B

18、HMOV DX,3FBHOUT DX,AL,1)、8250初始化(3)设置工作方式 无中断:MOV AL,3;OUT1#、OUT2#均为高电平MOV DX,3FCHOUT DX,AL 有中断:MOV AL,0BH;OUT2#为低电平,允许INTRT去申请中断MOV DX,3FCHOUT DX,AL 循环测试:MOV AL,13HMOV DX,3FCHOUT DX,AL,(8)Modem控制寄存器MCR(3FCH)MCR用于控制调制解调器或数传机,可直接控制RS-232C接口的引脚信号。,2、8250芯片的内部结构和寻址方式,2)、程序查询方式通信编程 采用程序查询方式工作时,CPU可以通过读线

19、路状态寄存器(3FDH)查相应状态位(D0与D5位),来检查接收数据寄存器是否就绪(D0=1)与发送保持器是否空(D5=1)。,2)、程序查询方式通信编程 发送程序:TR:MOV DX,3FDH IN AL,DXTEST AL,20H JZ TR MOV AL,SI;从SI中取出发送数据 MOV DX,3F8H OUT DX,AL,2)、程序查询方式通信编程 接收程序:RE:MOV DX,3FDH IN AL,DX TEST AL,1 JZ RE MOV DX,3F8H IN AL,DX MOV DI,AL;读入数据存入DI中,3)、用中断方式编程(1)初始化8259A中断控制器MOV AL,

20、13H;单片使用,需要ICW4MOV DX,20H OUT DX,AL;ICW1 MOV AL,8;中断类型号为08H0FH INC DX OUT DX,AL;ICW2 INC AL;缓冲方式,8088/8086 OUT DX,AL;ICW4MOV AL,8CH;允许0,1,4,5,6级中断 OUT DX,AL;送中断屏蔽字OCW1,3)、用中断方式编程(2)设置中断向量IR4 对IR4,中断类型号为0CH,0CH4=30H。因此,应在30H、31H存放IP值,32H、33H存放CS值。设中断服务程序入口地址为2000H:100HXOR AX,AX MOV DS,AX MOV AX,100H

21、MOV WORD PTR0030H,AXMOV AX,2000HMOV WORD PTR0032H,AX,3)、用中断方式编程(3)设置允许/屏蔽位 对8250送中断允许寄存器(3F9H)设置允许/屏蔽位。例如,允许发送与接收中断请求。MOV AL,3 MOV DX,3F9H OUT DX,AL,3)、用中断方式编程(4)8250重新响应中断请求 在中断结束返回时,需要对8259A发EOI命令,保证8259可以重新响应中断请求。MOV AL,20H MOV DX,20HOUT DX,AL;发EOI命令,OCW2IRET;开中断允许,并从中断返回,课堂练习,1、利用8250、74LS245、1.

22、8432MHz晶体、门电路、电阻、电容等,画出基于PC/XT总线的串行接口卡电路原理图(不考虑电平转换)。,课堂练习,课堂练习,2、程序设计要求:在IBM PC机上用汇编语言按查询方式编制一个发送与接收程序,它能把键入的每一个ASCII字符发送出去,并显示在CRT上,同时能把接收到的每一个字符也以ASCII码形式显示在CRT屏幕上 设:数据传送速率为9600波特:通信格式为8位/每字符,1位停止位,奇校验。,课堂练习1,在IBM PC机上用汇编语言按查询方式编制一个发送与接收程序,它能把键入的每一个ASCII字符发送出去,并显示在CRT上,同时能把接收到的每一个字符也以ASCII码形式显示在C

23、RT屏幕上 设:数据传送速率为9600波特:通信格式为8位/每字符,1位停止位,奇校验。,课堂练习1,在IBM PC机上用汇编语言按查询方式编制一个发送与接收程序,它能把键入的每一个ASCII字符发送出去,并显示在CRT上,同时能把接收到的每一个字符也以ASCII码形式显示在CRT屏幕上 设:数据传送速率为9600波特:通信格式为8位/每字符,1位停止位,奇校验。,课堂练习2,MOV AL,13HMOV DX,3FCHOUT DX,AL;循环测试CHECK:MOV DX,3FDHIN AL,DX;读线路状态寄存器TEST AL,1H;查接收缓冲器是否满,若满转接;收子程序JNZ REVTEST

24、 AL,20H;查发送缓冲器是否空,不空;转CHECKJZ CHECKTR:MOV AH,1;读键盘缓冲器内容,若有键按;下,则ZF标志为0,且AL=字符码INT 16HJZ CHECK;如ZF=1,转CHECKMOV DX,3F8H OUT DX,AL;将键入代码发送出去,课堂练习2,JMP CHECKREV:MOV DX,3F8HIN AL,DX;读入接收字符AND AL,7FH;屏蔽掉D7MOV BX,0041H;BH=00H,选0页;BL=41H,显示属;性(红底兰字)MOV AH,14;用中断调用显示接收到的字符INT 10H JMP CHECK,作业,12.1 12.2 12.3,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号