串并行通信以及接口技术_第1页
串并行通信以及接口技术_第2页
串并行通信以及接口技术_第3页
串并行通信以及接口技术_第4页
串并行通信以及接口技术_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

1、关于串并行通信和接口技术第1页,共118页,2022年,5月20日,17点3分,星期四2计算机与外设的通信方式1、并行方式2、串行方式数据各位通过信号线同时传输数据一位一位的通过同一信号线传输用的传输线多用的传输线少速率高速率低适于近距离传输适于远距离传输目录6.1 概述第2页,共118页,2022年,5月20日,17点3分,星期四36.2 串行接口和串行通信一、串行接口1、适用场合:外设和计算机按串行方式进行通信。目录第3页,共118页,2022年,5月20日,17点3分,星期四可编程串行接口的典型结构保存传输状态CPU给接口的控制信息保存CPU送外设的数据保存外设送CPU的数据第4页,共1

2、18页,2022年,5月20日,17点3分,星期四5二、串行通信数据传送方式(1)单工方式发送器接收器只允许数据按一个固定方向传输。1、按数据传输时发送过程和接收过程的关系划分(2)半双工方式输入输出使用同一通路,需分时传输。发送器/接收器A发送器/接收器B第5页,共118页,2022年,5月20日,17点3分,星期四6(3)全双工方式 接收和发送采用不同的通路,A、B可同时发送和接收,两方资源完全独立。发送器/接收器A发送器/接收器B(1)同步通信1)概念:将要传输的数据组成一信息块(帧),每信息块开头加上同步字符,在约定的波特率下,使数据一个接一个的从发送端到接收端。2、按时钟对通信过程的

3、定时方式划分第6页,共118页,2022年,5月20日,17点3分,星期四2)基本特点(2)数据流中字符与字符间和字符内的各位 间都同步;(3)发送端和接收端须用同一时钟信号同步。(1)以一个数据块(帧)为传输单位,每块开头用同步字符指示。同步字符数据数据数据校验字符第7页,共118页,2022年,5月20日,17点3分,星期四3)优点4)缺点:硬件电路复杂。(2)适于传大量的数据(1)传送效率高 同步要求每个数据内各位都按预定频率传送,数据间不允许有间隙,若有用同步字符填充,收发时钟严格同步。第8页,共118页,2022年,5月20日,17点3分,星期四9(2)异步通信1)概念 将要传输的数

4、据分成小段,发送端在约定的波特率下发送数据,接收端按约定的波特率接收,不需发同步信号。2)基本特点(2)串行异步通信以字符为单位进行传输,其通信协议是起止 式异步通信协议。(1)字符之间异步,字符内各位基本同步。二、串行通信数据传送方式第9页,共118页,2022年,5月20日,17点3分,星期四10标准(起止式)异步通信协议格式起始位每个字符开始传送的标志,起始位采用逻辑0电平。起始位校验位停止位空闲位数据位低位高位字符0/10/10/10/110111数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送。校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。停止位表示该

5、字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位。空闲位传送字符之间的逻辑1电平,表示没有进行传送。标识态第10页,共118页,2022年,5月20日,17点3分,星期四3)优点4)缺点 对时钟同步要求不严格。 接收到起始位后,只要在一个字符传输时间内收发器保持同步就能正确接收。传送效率低。控制信息至少占总信息的20。注:通信时,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题。第11页,共118页,2022年,5月20日,17点3分,星期四12三、串行通信的传输率1、概念1)传输率:每秒钟传输的二进制数据的位数,又称波特率。2

6、)发送时钟:异步方式通信时,发送端需用时钟决定每一位 对应的时间长度,该时钟称发送时钟。国际上规定的标准波特率:110、300、600、1200、1800、 2400、 4800、9600、19200。4)波特率因子:接收时钟或发送时钟频率与位传输率的比。注:接收时钟或发送时钟频率可以是位传输率的16、32或64倍。3)接收时钟:异步方式通信时,接收端需用时钟测定每一位 的时间长度,该时钟称接收时钟。第12页,共118页,2022年,5月20日,17点3分,星期四例1、在一串行通信系统中,传送速率为960字符每秒,每个字符是10位,则波特率为多少?960109600bit/s(bps)2、例例

7、2、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为多少个? 1200/(1711)120个。 第13页,共118页,2022年,5月20日,17点3分,星期四例3、同步传输: 设每个字符包含7个信息位,波特率为1200bps,用4个同步字符作为信息帧头部,但不用奇偶校验,每个信息帧包含100个字符,每秒钟能传输的字符数最大可达到多少个?传输100个字符所用的时间:7(100+4)/12000.6067s。则每秒钟能传输的字符数可达到:100/0.6067165个。结论:在同样的传输率下,同步传输时实际

8、字符传输率要比 异步传输时高。 第14页,共118页,2022年,5月20日,17点3分,星期四15四、串行接口标准RS-232C RS-232C标准(协议)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000bits范围内的通信。 现在的台式PC机一般有两个RS-232串行口COM1和COM2,通常COM1使用的是9针D形连接器,而COM2使用的是25针连接器。第15页,共118页,2022年,5月20日,17点3分,星期四161、 RS-232C的电气特性注:负逻辑规定电平信号电平标准低电平(逻辑0):5V15V高电平(逻辑1

9、):5V15V实际常用12V或15V2、 RS-232C标准与TTL标准之间的转换标准TTL电平高电平(逻辑1) :2.4V5V低电平(逻辑0) :0V0.4V接口MC1489MC1488RS-232-C输入RS-232-C输出TTL输入TTL输出第16页,共118页,2022年,5月20日,17点3分,星期四176.3 可编程串行通信接口8251A一、8251A的基本性能 1、通过编程,可工作于同步方式和异步方式。 同步方式可用58位代表字符;可外部同步,也可内部同步;可自动插入同步字符;允许增加奇偶校验位进行校验;波特率为064Kbps。目录第17页,共118页,2022年,5月20日,1

10、7点3分,星期四18一、8251A的基本性能异步方式58位/字符;用1位作为奇偶校验;能选择1、1.5、2位停止位;可检查假启动;可产生中止字符;能自动检测和处理中止字符;波特率可为019.2Kbps;时钟频率为波特率的1、16、64倍。第18页,共118页,2022年,5月20日,17点3分,星期四19一、8251A的基本性能2、完全双工工作,具有双缓冲的发送器和接收器。 4、输入输出电路为TTL电平。 3、具有奇偶校验、溢出和帧错误检测等功能电路。 注:8251A接口电平与EIA RS-232-C所要求的电平 不同,所以互相连接时,必须增加驱动级和 接收电路。 第19页,共118页,202

11、2年,5月20日,17点3分,星期四20二、8251A的基本原理 1、8251A编程结构第20页,共118页,2022年,5月20日,17点3分,星期四212、8251A的功能结构第21页,共118页,2022年,5月20日,17点3分,星期四双向三态的8位数据缓冲器。与系统数据总线相连。第22页,共118页,2022年,5月20日,17点3分,星期四配合数据总线缓冲器工作,接收来自系统控制总线的信号。1) :片选信号。2) :控制/数据信号。3) :写控制信号。4) :读控制信号。5)CLK:内部定时信号。6)RESET:复位信号。第23页,共118页,2022年,5月20日,17点3分,星

12、期四提供了一组通用控制信号,使8251可直接与调制解调器连接。第24页,共118页,2022年,5月20日,17点3分,星期四接收串行数据,并进行串并转换。配合接收缓冲器工作,管理有关接收的所有功能。1)异步方式,芯片复位后,先检查输入信号中有效的“1”, 检测到后,搜索有效的低电平来确定起始位;2)消除假启动干扰;3)对接收到的信号奇偶校验,根据校验结果设置状态位;4)异步方式下,检测停止位,根据检测结果设置状态位。 第25页,共118页,2022年,5月20日,17点3分,星期四配合发送缓冲器工作,控制和管理所有和发送有关的功能。(1)异步方式下,为数据加上起始位、校验位和停止位;(2)同

13、步方式下,插入同步字符,在数据中插入校验位。 把并行数据加上相应的控制信息,转换成串行数据输出。第26页,共118页,2022年,5月20日,17点3分,星期四273、8251A的发送和接收(1)检测起始位1)异步接收方式设数据接收时钟频率是数据传输频率的16倍。起始检测确定已检测到起始位起 始 位RXCRXDT16 T8 T备注:无数据传送时,RxD线上是高电平。如在RxD线上检测到低电平,启动接收控制电路中的内部计数器计数,计数脉冲为8251A接收器时钟脉冲。当计数进行到相当于半个数位传输时间时(如时钟脉冲为波特率的16倍时,则计到第八个脉冲相当与半个数位传输时间),再对RxD线检测,如仍

14、为低,则确认为一有效起始位。如8251A在检测起始位时,半个数位传输时间后,没有再检测到低电平,而是测到高电平,8251A就把刚才检测到的信号看成干扰脉冲,再重新开始检测RxD线上是否出现低电平。第27页,共118页,2022年,5月20日,17点3分,星期四采样数据起始检测确定已检测到起始位起 始 位RXCRXDT16 T16 T8 T 每隔一字符传输时间,对RxD进行一次采样,数据送移位寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。 (2)8251A进行常规采样并进行字符装配(3)通知CPU接收数据 并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个

15、数据,可以取用。 第28页,共118页,2022年,5月20日,17点3分,星期四298251A异步接收数据传输格式注:对于少于8位的数据,8251A将高位补0。 第29页,共118页,2022年,5月20日,17点3分,星期四302)8251A异步发送方式(2)8251A由TxD线把串行数据送出 。 8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停止位,由TxD把数据送出。 注:数据及起始位、校验位、停止位总是在发送时钟TxC的下降沿从8251A发出,数据传输的波特率为发送时钟频率的1、1/16或者1/64,具体决定于编程时给出的波特率因子。 (1)程序置T

16、xEN(允许发送)有效。 检测到外设送来的CTS(请求发送信号的响应信号)有效,开始发送。 第30页,共118页,2022年,5月20日,17点3分,星期四318251A异步发送数据传输格式注:对于少于8位的数据,8251A将高位补0。 第31页,共118页,2022年,5月20日,17点3分,星期四323)8251A的同步接收方式单同步字符 8251检测RxD线,当RxD线出现一数据位时,接收送移位寄存器移位,并与同步字符寄存器的内容比较,如不等,继续接收,比较。相等时,8251A的SYNDET引脚为高电平,表示同步已经实现。(1)搜索同步字符双同步字符 检测到第一个同步字符后,再继续检测此

17、后输入的移位寄存器的内容是否与第二个同步字符寄存器的内容相同,不同重新比较第一个同步字符;相同,则认为同步已经实现。内同步(a)第32页,共118页,2022年,5月20日,17点3分,星期四(b)外同步 通过在同步输入端SYNDET加一高电位实现同步。当SYNDET端出现一个高电平,并且维持一时钟接收周期,8251A认为已经完成同步。 (2)数据的同步传输 接收器利用时钟信号对RxD采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收到一数据。 第33页,共118页,2022年,5月20日,17点3分,星期四

18、348251A同步接收数据传输格式第34页,共118页,2022年,5月20日,17点3分,星期四354)8251A的同步发送方式(2)发送同步字符 根据编程要求,发送器先发送一个或两个同步字符。 注:如发送数据时,CPU来不及提供新数据,8251A发送器会自动插入同步字符,由TxD送出。 (3)发送数据块 发送数据块时,发送器根据要求对数据块中的数据加上奇偶校验位或不加。 (1)程序置TxEN(允许发送)有效 检测到外设送来的CTS(请求发送信号的响应信号)有效,开始发送。 第35页,共118页,2022年,5月20日,17点3分,星期四368251A同步发送数据传输格式第36页,共118页

19、,2022年,5月20日,17点3分,星期四37三、8251A的对外连接信号8251A对外连接信号8251A与CPU之间的信号 8251A与外设之间的信号。 1、8251A与CPU之间的信号 1)数据信号D7D0:双向数据线,与系统总线相连,传输数据、 编程命令及状态信息。 2)片选信号CS:CPU的地址信号译码后得到。 CS 0:可以对8251A进行读写; CS 1:数据总线处于高阻态。第37页,共118页,2022年,5月20日,17点3分,星期四381、8251A与CPU之间的信号3)读/写控制信号(1)RD:为低,表示CPU正从8251A读数据或状态信息。(2)WR:为低,表示CPU正

20、往8251A写数据或控制字。(3)C/D:控制/数据信号CPU往8251写控制命令011CPU从8251读状态信息101CPU中数据 82510108251中数据 CPU100操作WRRDC/D第38页,共118页,2022年,5月20日,17点3分,星期四391、8251A与CPU之间的信号4)收发联络信号(1)TxRDY:发送器准备好。 通知CPU 8251A已经准备好从CPU接收字符。CPU得到TxRDY有效后,往8251A写数据,8251A得到数据后,使TxRDY变为低。 当CTS为低,TxEN为高,且发送缓冲器空时,TxRDY有效,可作为中断请求信号,也可作为查询方式的联络信号。 第

21、39页,共118页,2022年,5月20日,17点3分,星期四40(2)TxE:发送器空信号。 8251A无字符发送时,TxE为高,实际上指示了一次发送动作的结束。 当8251A收到CPU发来的字符时,TxE变为低。 注:在同步发送时,如CPU没及时往8251A送字符,TxE会变成高电平,发送器在输出线上插入同步字符,以填补空隙。 1、8251A与CPU之间的信号(3)RxRDY:接收器准备好。 表示8251A已经从外设接收到一个数据,等待CPU来读取。CPU从8251A读取数据后,RxRDY变为低电平。 可作为中断请求信号,也可作为查询方式的联络信号。 第40页,共118页,2022年,5月

22、20日,17点3分,星期四(4)SYNDET:同步检测信号,仅用于同步方式。 8251A内同步:输出信号。 单同步字符: 检测到同步字符,变为高电平; 双同步字符: 检测到第二个同步字符的最后一位后,在该位的中间变为高电平,表示已达到同步。 8251A外同步:输入信号。 如果从SYNDET端输入一个正跳变的信号,并且维持一时钟接收周期,8251A认为已经完成同步,8251A在RXC的下一个下降沿开始装配字符。 注:复位:SYNDET变为低电平; 内同步:CPU执行一次读操作后,变为低电平; 外同步:其电平状况决定于外部信号。 第41页,共118页,2022年,5月20日,17点3分,星期四42

23、2、8251A与外设之间的信号1)数据信号 (1)TxD:发送器数据信号端。 CPU送往8251A的并行数据被转化为串行数据后,通过TxD端发送给外设。 (2)RxD:接收器数据信号端。 接收外设送来的串行数据,经转换为并行数据后由CPU接收。 第42页,共118页,2022年,5月20日,17点3分,星期四432)收发联络信号(1)DTR:数据终端准备好信号。 (2)DSR:数据设备准备好。 由8251A送往外设,CPU通过命令(使命令指令的bit1置1)可使DTR变为有效电平,通知外设CPU已经准备就绪。 外设送往8251A的信号,表外设已准备好。当DSR端出现低电平时,会在8251A的状

24、态寄存器第七位上反映出来,CPU通过状态寄存器实现对DSR信号的检测。 2、8251A与外设之间的信号第43页,共118页,2022年,5月20日,17点3分,星期四44(3)RTS:请求发送。 8251A送给外设的信号。CPU通过编程命令使RTS变为有效电平,以通知外设,CPU请求发送数据。 (4)CTS:准许发送。 外设送给8251A的信号,外设对RTS信号的应答。当该信号有效时,8251A才能发送数据。 2、8251A与外设之间的信号备注:为什么提供四个联络信号?/DTR和/RTS是CPU通过8251A送往外设的,CPU通过软件对控制寄存器中的DTR位和RTS位置1就可以使8251A的/

25、DTR和/RTS引脚输出有效电平,所以/DTR和/RTS是CPU对外设的控制信号。/DSR和/CTS是外设通过8251A传递给CPU的状态信号。当外设和/DSR端相连时,往此引脚送一低电平,就会影响8251A状态寄存器的DSR位,CPU可通过软件对DSR位进行检测。/CTS端电平的高低会影响TxRDY端的电平,TxRDY是8251A送给CPU的状态信号。使用时/CTS必须为低,其它三个信号可以悬空不用。即使CPU和外设之间不需传递任何联络信号,也要将/CTS端接地。因为只有/CTS为低,才能使TxRDY为高,CPU才能往8251A发送数据。如果8251A仅工作在接收状态,/CTS也可悬空。 第

26、44页,共118页,2022年,5月20日,17点3分,星期四453、其它信号1)时钟信号 (1)CLK:产生8251A内部定时信号。 (2)TxC:发送时钟。 控制发送字符的速率。同步传送时,TxC频率等于字符传输的波特率;异步传送时,TxC频率是字符波特率的1、16或64倍。 (3)RxC:接收时钟。 控制接收字符的速率。同步传送时,RxC频率等于字符传输的波特率;异步传送时,RxC频率是字符波特率的1、16或64倍。 2)电源信号 (1)Vcc:5V (2)GND:地线。 第45页,共118页,2022年,5月20日,17点3分,星期四46四、8251A的编程1、8位接口芯片和16位数据

27、总线的连接问题 解决方法硬件上,将总线的A1与芯片的C/D相连;软件上,用连续的偶地址代替奇偶地址。CSC/DA1A0系统高位地址线8251A译码器第46页,共118页,2022年,5月20日,17点3分,星期四472、8251A的初始化1)8251A初始化的约定 (1)芯片复位后,第一次用奇地址端口写入的值作为方式字进入方式寄存器; (2)如果方式字中规定8251A工作在同步方式,CPU接着往奇地址输出的1或2个字节就是同步字符,写入同步寄存器。 (3)随后,只要不是复位命令,不管同步还是异步,CPU用奇地址端口写入的值作为控制字送控制寄存器,用偶地址端口写入的值作为数据送数据输出缓冲寄存器

28、。 第47页,共118页,2022年,5月20日,17点3分,星期四 2)8251A的初始化流程第48页,共118页,2022年,5月20日,17点3分,星期四493、8251A模式寄存器格式1)异步方式下模式寄存器格式D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1 停止位个数:00:无意义01:1位10:1位半11:2位 奇偶校验:0:无校验位01:奇校验11:偶校验 数据位个数:00:5位01:6位10:7位11:8位 波特率因子:01:BF110:BF1611:BF64 时钟频率波特率波特率因子 例如:方式指令D1D011,接收数据的波特

29、率为1200bps。接收时钟RxC的频率?RxC的频率12006476.8KHz第49页,共118页,2022年,5月20日,17点3分,星期四2)同步方式下模式寄存器格式D7 D6 D5 D4 D3 D2 D1 D0 SCS ESDEP PEN L2 L1 00同步字符数:0:2个1:1个 同步方式:0:内同步1:外同步 奇偶校验:0:无校验位01:奇校验11:偶校验 数据位个数:00:5位01:6位10:7位11:8位 同步方式标志 同步方式波特率时钟频率 第50页,共118页,2022年,5月20日,17点3分,星期四514、控制寄存器格式注:D71,在内同步方式中,8251A开始搜索同

30、步字符。 发送允许。0:禁止1:允许 接收允许。0:禁止1:允许 复位错误标志。1 :使PE、OE、FE复位(清除出错指示位) 内部复位。1:使8251A复位,返回方式指令发送空白字符。1:强迫TxD为0,发送空白字符 请求发送。1:强迫RTS为0 数据终端准备好。1:强迫DTR为0搜索同步字符。1:启动搜索 TxEN DTRRxE SBPKERRTSIREH D0 D1 D2 D3 D4 D5 D6 D7 第51页,共118页,2022年,5月20日,17点3分,星期四5、状态寄存器格式2)D11,接口中已收到一个数据,可由CPU来读取。 当CPU读走一个字符后,该位自动清0。 3)D21,

31、表示发送器刚发送一个字符,现为空,等待CPU发 下一个。注:1)当CPU往8251A写入一个字符后, D0位自动清0。 引脚TxRDY为1的条件:数据缓冲器空、CTS0、TxEN1第52页,共118页,2022年,5月20日,17点3分,星期四53五、8251A应用举例例1、异步方式下初始化编程 编写8251A的初始化程序,使之工作于异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16;清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。 8251A端口地址:50H,52H 第53页,共118页,2022年,5月20日,17点3分,星期四D7 D6 D5 D4 D3 D2

32、D1 D0 S2 S1 EP PEN L2 L1 B2 B1 停止位个数:00:无意义01:1位10:1位半11:2位 奇偶校验:0:无校验位01:奇校验11:偶校验 数据位个数:00:5位01:6位10:7位11:8位 波特率因子:01:BF110:BF1611:BF64 1 01 01 11 1解:1)确定8251A的模式字 异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16。第54页,共118页,2022年,5月20日,17点3分,星期四2)确定8251A的控制字:清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。发送允许。0:禁止1:允许 接收允许。0:禁止1:

33、允许 复位错误标志。1:使PE、OE、FE复位(清除出错指示位) 内部复位。1:使8251复位,返回方式指令发送空白字符1:强迫TxD为0,发送空白字符 请求发送。1:强迫RTS为0 数据终端准备好。1:强迫DTR为0搜索同步字符1:启动搜索 TxEN DTRRxE SBPKERRTSIREH D0 D1 D2 D3 D4 D5 D6 D7 00110111MOV AL,0FAH ;11111010B OUT 52H,AL ; 设置模式字MOV AL,37H ;00110111B OUT 52H,AL ;设置控制字第55页,共118页,2022年,5月20日,17点3分,星期四56例2、同步方

34、式下初始化编程 编写8251A的初始化程序,使之工作于同步方式,同步字符1个,内同步,数据位7位,偶校验。一个同步字符为2AH。搜索同步字符,复位出错标志,启动接收器和发送器,CPU准备好发送,请求信号有效。 8251A 端口地址:50H,52H。MOV AL, 0B8H ; 10111000BOUT 52H,AL ;写方式字MOV AL,2AHOUT 52H,AL ;写同步字符 MOV AL,0B7H ;10110111BOUT 52H,AL ;写控制字第56页,共118页,2022年,5月20日,17点3分,星期四57例3、通过检测状态字实现数据接收功能 编程实现CPU接收80个字符,字符

35、输入后放在BUFFER所指的内存缓冲区。8251A工作于异步方式,波特率因子为16,7个数据位,偶校验,2个停止位。8251A 端口地址:50H,52H。MOV AL,0FAH;11111010BOUT 52H,AL ;设置模式字MOV AL,35H ;00110101BOUT 52H,AL ;设置控制字MOV DI,0 ;变址寄存器初始化MOV CX,80 ;计数器初始化第57页,共118页,2022年,5月20日,17点3分,星期四BEGIN: IN AL,52H TEST AL,02H JZ BEGIN ;读状态字并测试,RXRDY=0转 IN AL,50H ;读取字符 MOV BX,O

36、FFSET BUFFER MOV BX+DI,AL ;传输字符 INC DI ;修改缓冲区指针 IN AL,52H;读取状态字 TEST AL,38H;测试有无错误 JNZ ERROR LOOP BEGIN ;如没有错,则接收下1个字符 JMP EXIT ;如满80个字符,则结束ERROR: CALL ERR_OUT ;调用出错处理程序EXIT: 第58页,共118页,2022年,5月20日,17点3分,星期四59例4、8251A作为CRT接口的例子 8251A工作于异步模式,波特率因子为16,8位数据,1位停止位,无校验位。8253计数器2输出方波信号作为8251A的接收时钟TxC和发送时钟

37、RxC,编程实现往CRT输出一个字符,要输出的字符事先放在堆栈中。 8251A 端口地址:00D8H,00DAH。第59页,共118页,2022年,5月20日,17点3分,星期四第60页,共118页,2022年,5月20日,17点3分,星期四8251A的初始化程序段:INIT:MOV AL,00H ;AL清零 MOV CX,0003OUT1: MOV DX,00DAH OUT DX,AL LOOP OUT1 ;往控制端口送3个0 MOV AL,40H OUT DX, AL ;送40H复位 MOV AL,4EH ;01001110 OUT DX, AL ;设模式字 MOV AL,27H ;001

38、00111B OUT DX, AL ;设命令字启动 .注:8251A的复位约定:往奇地址端口先送3个00H,再送一个40H。第61页,共118页,2022年,5月20日,17点3分,星期四往CRT输出一个字符的程序段:CHAROUT:MOV DX,00DAHSTATE: IN AL,DX;输入状态字 TEST AL,01 JZ STATE;不断测试状态位, TXRDY=0转 MOV DX,00D8H ;数据端口地址送DX POP AX ;AX中为要输出的字符 OUT DX,AL ;往端口中输出一个字符第62页,共118页,2022年,5月20日,17点3分,星期四8251A的初始化程序段:IN

39、IT:XOR AX,AX ;AX清零 MOV CX,0003 MOV DX,00DAHOUT1:CALL KKK LOOP OUT1 ;往控制端口送3个0 MOV AL,40H CALL KKK ;送40H复位 MOV AL,4EH ;01001110 CALL KKK ;设模式字 MOV AL,27H ;00100111B CALLKKK ;设命令字启动 .KKK:OUT DX,AL ;数据输出 PUSH CX MOV CX,0002 ABC:LOOP ABC ;等待输出动作完成 POP CX RET第63页,共118页,2022年,5月20日,17点3分,星期四64习题1、串行通信的类型有

40、哪几种?简述各自的特点。2、什么是波特率因子?什么是波特率?设波特率因子为64,波特率为1200bps,则时钟频率为多少?3、写出标准异步通信数据格式。4、对8251A编程时,必须遵守哪些约定?5、利用状态字进行检测,异步发送256个数据。 8251A工作于异步模式,波特率因子为16,7位数据,2位停止位,奇检验。清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。设待发送的字符放在BUFFER标号所指的内存缓冲区。 8251A 端口地址:80H,82H。第64页,共118页,2022年,5月20日,17点3分,星期四D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP

41、PEN L2 L1 B2 B1 停止位个数:00:无意义01:1位10:1位半11:2位 奇偶校验:0:无校验位01:奇校验11:偶校验 数据位个数:00:5位01:6位10:7位11:8位 波特率因子:01:BF110:BF1611:BF64 1 01 00 11 1解:1)确定8251A的模式字(0DAH) 异步模式,1个奇校验位,2个停止位,数据位7位,波特率因子16。第65页,共118页,2022年,5月20日,17点3分,星期四2)确定8251A的控制字(37H)清除出错标志,请求信号有效,发送、接收启动,CPU准备就绪。发送允许。0:禁止1:允许 接收允许。0:禁止1:允许 复位错

42、误标志。1 :使PE、OE、FE复位(清除出错指示位) 内部复位。1:使8251A复位,返回方式指令发送空白字符1:强迫TxD为0,发送空白字符 请求发送。1:强迫RTS为0 数据终端准备好。1:强迫DTR为0搜索同步字符1:启动搜索 TxEN DTRRxE SBPKERRTSIREH D0 D1 D2 D3 D4 D5 D6 D7 00110111第66页,共118页,2022年,5月20日,17点3分,星期四参考答案: MOV AL,0DAH ;11011010B OUT 82H,AL ; 设置模式字 MOV AL,37H ;00110111B OUT 82H,AL ;设置控制字 LEA

43、BX,BUFFER MOV CX,100HAGAIN:IN AL,82H ;取状态字 TEST AL,01H ;测试状态位 JZ AGAIN ;TXRDY=0转 MOV AL,BX ;取一字符 OUT 80H,AL ;发送字符 INC BX ;修改地址指针 LOOP AGAIN ;重复100H次DSRSYNDETFEOEPETXERXRDYTXRDY第67页,共118页,2022年,5月20日,17点3分,星期四686.4 并行通信和并行接口 一、特点数据各位通过信号线同时传输用的传输线多速率高适于近距离传输第68页,共118页,2022年,5月20日,17点3分,星期四69二、并行接口的典型

44、结构第69页,共118页,2022年,5月20日,17点3分,星期四706.5 可编程并行通信接口8255A 6.5.1 8255A的内部结构 1个8位数据输入锁存器1个8位输出锁存器/缓冲器1个8位数据输入缓冲器1个8位输出锁存器/缓冲器1个8位数据输入缓冲器1个8位输出锁存器/缓冲器第70页,共118页,2022年,5月20日,17点3分,星期四71控制端口A和C的高4位的工作方式和读写操作。 控制端口B和C的低4位的工作方式和读写操作。第71页,共118页,2022年,5月20日,17点3分,星期四72双向三态的8位数据缓冲器。与系统数据总线相连管理数据传输过程第72页,共118页,20

45、22年,5月20日,17点3分,星期四736.5.2 8255A的芯片引脚信号 8255芯片引脚信号第73页,共118页,2022年,5月20日,17点3分,星期四74一、 和外设一边相连的信号 1、PA7PA0A组数据信号;2、PB7PB0B组数据信号;3、PC7PC0C组数据信号。第74页,共118页,2022年,5月20日,17点3分,星期四75二、 和CPU一边相连的信号 1、RESET:复位信号 RESET信号到来时,所有内部寄存器被清除,三个端口被设为输入端口。4、 :读信号3、 :片选信号5、 :写信号6、A1、A0:端口选择信号 00:选中A端口01:选中B端口10:选中C端口

46、11:选中控制口2、D7D0:数据线,和系统总线相连。第75页,共118页,2022年,5月20日,17点3分,星期四76系统地址线8255AA2A1A0A1A000000选中A端口01001选中B端口10010选中C端口11011选中控制口A1A0A2A1系统地址线8255A第76页,共118页,2022年,5月20日,17点3分,星期四778255的控制信号与传输动作的对应关系A1A0传输说明00001数据从端口A送数据总线00101数据从端口B送数据总线01001数据从端口C送数据总线00010数据从数据总线送端口A00110数据从数据总线送端口B01010数据从数据总线送端口C0111

47、0数据从数据总线送控制寄存器011D7D0 高阻01101非法信号组合1D7D0 高阻第77页,共118页,2022年,5月20日,17点3分,星期四786.5.3 8255A的控制字 一、 方式选择控制字 第78页,共118页,2022年,5月20日,17点3分,星期四79例:8255A端口A工作于方式0输出,端口B方式0输入,端口C高四位输出,端口C低四位输入。8255A各端口地址为01E0H01E6H,请编写出初始化程序。MOV AL, 83H ;控制字1000 0011BMOV DX, 01E6HOUT DX, AL11000 001端口C低四位输入端口B输入端口B方式0端口C高四位输

48、出端口A输出端口A方式0标识位解:1)确定控制字2)写初始化程序第79页,共118页,2022年,5月20日,17点3分,星期四80练习:8255A端口A工作于方式0输入,端口B方式1输入,端口C高四位输出,端口C低四位配合端口B工作。8255A各端口地址为60H66H,请编写出初始化程序。MOV AL, 96H ;控制字1001 011BOUT 66H, AL1100 011端口C低四位配合B端口B输入端口B方式1端口C高四位输出端口A输入端口A方式0标识位解:1)确定控制字2)写初始化程序第80页,共118页,2022年,5月20日,17点3分,星期四81二、 端口C置1/清0控制字 注:

49、该控制字必须写入控制端口第81页,共118页,2022年,5月20日,17点3分,星期四82练习:编写程序段,实现对端口C的PC6位清0,PC2位置1,8255A各端口地址为80H、82H、84H、86H。MOV AL, 0CH ;控制字01100BOUT 86H, ALMOV AL, 05H ;控制字00101BOUT 86H, AL例:编写程序段,实现对端口C的PC7位置1,PC3清0,8255A控制端口地址为00EEH。MOV AL, 0FH ;控制字01111BMOV DX, 00EEHOUT DX, ALMOV AL, 06H ;控制字00110BOUT DX, AL第82页,共11

50、8页,2022年,5月20日,17点3分,星期四83 利用C口的按位控制特性可以产生负脉冲或方波输出,对外设进行控制。例:利用8255A的PC7产生负脉冲,作为外设的数据选通信号, 设8255A各端口地址为80H、82H、84H、86H。参考程序: MOV AL,00001111B ;置PC7=1 OUT 86H,AL MOV AL,00001110B ;置PC7=0 OUT 86H,AL NOP ;维持低电平 NOP MOV AL,00001111B ;置PC7=1 OUT 86H,AL第83页,共118页,2022年,5月20日,17点3分,星期四846.5.4 8255A的工作方式 一、

51、方式01、工作特点 1)两个8位端口,两个4位端口。2)可有16种不同的组合。2、输入/输出时序 1)方式0读取数据条件(1)CPU发读信号前,先发出地址信号,即 使CS、A1、A0有效,启动8255A;(2)数据要领先于读信号 第84页,共118页,2022年,5月20日,17点3分,星期四852)输入时序要求读出期间地址保持有效 数据必须保持到读信号结束 读脉冲宽度至少为300ns datadata输入数据D0D7RD CS,A1,A0第85页,共118页,2022年,5月20日,17点3分,星期四863)输出时序要求地址信号必须提前有效且滞后消失; 写脉冲宽度至少有400ns; 数据必须

52、在写信号结束前出现在数据总线上,并保持tWD时间第86页,共118页,2022年,5月20日,17点3分,星期四873、方式0的使用场合 (1)同步传送 (2)查询式传送 发送方和接收方的动作由一个时序信号管理,双方互相知道对方动作,无需联络信号。 发送方和接收方需联络信号。第87页,共118页,2022年,5月20日,17点3分,星期四88例:8255作为打印机的接口,工作于方式0,如图所示。 MOV AL, 81H ;1000 001 B OUT 0D6H, AL;设置工作方式 MOV AL, 0DH ; 0 1101B OUT 0D6H, AL;PC6置位LPST: IN AL, 0D4

53、H;读C端口 AND AL, 04H ;0000 0100B JNZ LPST ;打印机忙,继续查询,否则打印MOV AL, CLOUT 0D0H, AL;待打印字符送端口AMOV AL, 0CH;0 1100BOUT 0D6H, AL;PC6清0NOPNOPINC ALOUT 0D6H, AL;PC6置位 第88页,共118页,2022年,5月20日,17点3分,星期四89练习:8255作为打印机的接口,工作于方式0。 GCG2AG2BACSY2BPC0A0PC7BUSYPBA1STBDBA1A6A2A5A7A3A48086CPU74LS1388255A打印机驱动第89页,共118页,202

54、2年,5月20日,17点3分,星期四90当主机要往打印机输出字符时,先查询打印机的忙信号(BUSY),如果打印机忙,则BUSY信号为1,否则为0。当查询到BUSY为0时,可通过8255A往打印机输出一个字符,此时,要将 置为低电平,然后再使 为高电平,相当于在 端输出一个负脉冲( 初始状态为高电平),此负脉冲作为打印机的选通信号。现将B端口作为传送字符的通道,工作于方式0;A端口未用;C端口中,PC7作为BUSY信号输入端,PC0作为 信号输出端。第90页,共118页,2022年,5月20日,17点3分,星期四91 MOV AL, 88H ;(1001000 B) OUT 96H, AL MO

55、V AL, 01H ;(00001 B) OUT 96H, AL MOV SI, OFFSET BUF ;打印字符内存首地址 MOV CX,100 ;打印字符个数LPST:IN AL, 94H AND AL, 80H JNZ LPST2)设在BUF开始的内存缓冲区存放着100个待打印字符,完成8255A初始化程序及把待打印字符送打印机打印的程序。1)写出8255各端口的地址 8255各端口的地址:90H,92H,94H,96H 第91页,共118页,2022年,5月20日,17点3分,星期四92MOV AL, SIOUT 92H, ALMOV AL, 00H ;00000 BOUT 96H,

56、ALNOPNOPINC ALOUT 96H, ALINC SI ;内存地址加1DEC CX ;字符数减1JNZ LPST ;未完,继续第92页,共118页,2022年,5月20日,17点3分,星期四93二、 方式1 1、工作特点 1)可提供一个或两个选通的端口。2)每一选通的端口含一8位数据端口, 三条控制线。3)可输出,可输入。4)C口部分位作为A、B联络信号, 剩余位可做数据位用。 第93页,共118页,2022年,5月20日,17点3分,星期四942、方式1输入有关信号规定(A端口)数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4

57、PC5PC3PA7PA0INTEAIBFAINTRASTBAPC6PC7作I/O口中断允许触发器PC4置1, INTEA 1,A口处于中断允许状态,当STBA1,IBFA1时,INTRA有效,向CPU申请中断。PC4复位,INTEA 0, A口处于中断屏蔽状态,INTRA无效。第94页,共118页,2022年,5月20日,17点3分,星期四952、方式1输入有关信号规定(B端口)数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB中断允许触发器PC2置1, INTEB1,B口处于中

58、断允许状态,当STBB1,IBFB1时,INTRB有效,向CPU申请中断。PC2复位,INTEB 0, B口处于中断屏蔽状态,INTRB无效。第95页,共118页,2022年,5月20日,17点3分,星期四962、方式1输入有关信号规定STB:选通信号,低电平有效。 外设 8255A 的联络信号。有效时,将输入设备送来的数据锁存至8255A的输入锁存器。IBF:输入缓冲器满信号,高电平有效。 8255A CPU的联络信号。有效时,表示数据已锁存在输入锁存器。 STB使该信号置位,RD的后沿即上升沿使其复位。第96页,共118页,2022年,5月20日,17点3分,星期四97INTE:中断允许信

59、号,控制中断的允许和屏蔽注:PC4控制A口中断允许与外设来的STBA信号无关,由内部 电路决定。 即将PC4置位,即INTEA1不等于把STBA置为高电平; 外设使STBA0不等于INTEA复位。INTR:中断请求信号,高电平有效 8255A CPU。可用于向CPU提出中断请求,要求CPU读取外设数据。STB、IBF均为高电平时该信号置位,RD的下降沿使其复位。PC2控制B口中断允许与外设来的STBB信号无关。第97页,共118页,2022年,5月20日,17点3分,星期四983、方式1输入时序第98页,共118页,2022年,5月20日,17点3分,星期四994、方式1输出有关信号规定(A端

60、口)外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器PC6置1,INTEA1(不等于ACKA1),A口处于中断允许状态;PC6复位,INTEA 0 (不等于ACKA0) , A口处于中断屏蔽状态,INTRA无效。第99页,共118页,2022年,5月20日,17点3分,星期四1004、方式1输出有关信号规定(B端口)外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC2PC1PC0PB7PB0IN

温馨提示

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

评论

0/150

提交评论