CH7串并行通信及其接口技术

上传人:夏** 文档编号:568005500 上传时间:2024-07-23 格式:PPT 页数:98 大小:2.85MB
返回 下载 相关 举报
CH7串并行通信及其接口技术_第1页
第1页 / 共98页
CH7串并行通信及其接口技术_第2页
第2页 / 共98页
CH7串并行通信及其接口技术_第3页
第3页 / 共98页
CH7串并行通信及其接口技术_第4页
第4页 / 共98页
CH7串并行通信及其接口技术_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《CH7串并行通信及其接口技术》由会员分享,可在线阅读,更多相关《CH7串并行通信及其接口技术(98页珍藏版)》请在金锄头文库上搜索。

1、第第7 7章章 串并行通信串并行通信 及其接口技术及其接口技术 第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 2 7.1 串行通信和串行接口串行通信和串行接口 7.2 可编程串行通信接口可编程串行通信接口8251A 7.3 并行通信和并行接口并行通信和并行接口 7.4 可编程并行通信接口可编程并行通信接口8255A 教学重点为: 串并行接口的用途;串并行接口的用途; 8251A的功能结构与工作原理、初始化流程;的功能结构与工作原理、初始化流程; 8255A的控制字;的控制字; 8255A的工作方式;的工作方式; 第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 2第

2、第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 33第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 44第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 5ISA插插槽槽PCI插插槽槽AGP插插槽槽北桥北桥芯片组芯片组南桥南桥芯片组芯片组内存插槽内存插槽CPU插槽插槽IDE接口接口软驱接口软驱接口并口连接器并口连接器串口连接器串口连接器ROM BIOS鼠标键盘鼠标键盘USB接口接口主板主板电源电源插座插座5PCI插插槽槽北桥北桥芯片组芯片组南桥南桥芯片组芯片组内存插槽内存插槽CPU插槽插槽IDE接口接口鼠标键盘鼠标键盘USB接口接口主板电源主板电源插座插座

3、Intel “4”系列原装主板系列原装主板 第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 7 微微机机与与I/OI/O设设备备的的接接口口按按照照数数据据传传送送方方式式的的不不同,可分为:同,可分为:并行接口并行接口和和串行接口串行接口两种。两种。7.07.0 串行通信接口与并行接口概述串行通信接口与并行接口概述CPUI/O接口接口外设外设串或并串或并图图(a) 并行和串行概念并行和串行概念7第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 8CPU并行并行接口接口串行串行外设外设数据输出数据输出串行串行接口接口译码译码器与器与逻辑逻辑控制控制ABABCBCB并行

4、并行外设外设DBDBDB(8DB(8根根) )图图(b) 并行接口和串行接口的结构、功能示意图并行接口和串行接口的结构、功能示意图数据输入数据输入地地8第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 97.1.1 串行通信涉及的几个问题串行通信涉及的几个问题7.1 串行通信和串行接口串行通信和串行接口串行通信:串行通信:将数据分解成二进制位用一将数据分解成二进制位用一 条信号线,一位一位顺序传条信号线,一位一位顺序传 送的方式。在传输过程中,送的方式。在传输过程中, 每一位数据占据一个固定的时间长度。每一位数据占据一个固定的时间长度。数据的各位依次由源到达目的地数据的各位依次由源

5、到达目的地 慢慢数据线少、抗干扰能力强数据线少、抗干扰能力强 远程远程, 费用低费用低0 1 1 0 1 0 1 0 RD目目的的TD源源串行通信串行通信适于适于长距离长距离、中低速中低速通信通信9第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 101. 按传输方式分:全双工、半双工、单工按传输方式分:全双工、半双工、单工全双工:全双工:双根传输线,能够同时发送和接收双根传输线,能够同时发送和接收半双工:半双工:单根传输线,不能同时发送和接收单根传输线,不能同时发送和接收单工:单工:单根传输线只用作发送或只用作接收单根传输线只用作发送或只用作接收2. 按时钟定时分:同步、异步按时

6、钟定时分:同步、异步同步通信:同步通信:收发双方采用同一个时钟信号来定时收发双方采用同一个时钟信号来定时 多个字符组成一个数据块(或称多个字符组成一个数据块(或称信息帧信息帧、信息组),在每一个数据、信息组),在每一个数据块前附加一个或两个块前附加一个或两个同步字符同步字符或标识符,最后以或标识符,最后以校验字符校验字符结束在传送过程结束在传送过程中发送端和接收端使用同一时钟信号进行控制使每一位数据均保持位同步。中发送端和接收端使用同一时钟信号进行控制使每一位数据均保持位同步。同步通信一个信息帧含有多个或上千字符。同步通信一个信息帧含有多个或上千字符。同步字符同步字符 字符字符1 字符字符2

7、字符字符n 校验字符校验字符数据块数据块10第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 11异步通讯:异步通讯:收发双方不用统一的时钟来定时收发双方不用统一的时钟来定时 每个字符一位一位地传输,传输一个字符时,以每个字符一位一位地传输,传输一个字符时,以起始位起始位开开始,然后传输字符本身各位,接着传输始,然后传输字符本身各位,接着传输校验位校验位,最后以,最后以停止位停止位结束该字符的传输。因此一次传输的起始位、字符各位、校验结束该字符的传输。因此一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为异步通信的一个位、停止位构成一组完整的信息,称为异步通信的一个

8、信息帧信息帧(Frame),只含一个字符。),只含一个字符。 帧与帧之间可有任意个空闲位。为了保证异步通信的正确,帧与帧之间可有任意个空闲位。为了保证异步通信的正确,必须在收发双方通信前约定字符格式、传送速率、时钟和校验必须在收发双方通信前约定字符格式、传送速率、时钟和校验方式等。方式等。 一般以若干位表示一个字符,收发是以字符为独立的通信一般以若干位表示一个字符,收发是以字符为独立的通信单位,一个字符一个字符地传输,两个字符之间的传输间隔是任单位,一个字符一个字符地传输,两个字符之间的传输间隔是任意的。这样,为保证正确区分字符,每个字符的前后要用若干位意的。这样,为保证正确区分字符,每个字符

9、的前后要用若干位作为分隔位来进行识别。作为分隔位来进行识别。11第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 12起始位起始位每个字符开始传送的标志,每个字符开始传送的标志,起始位采用逻辑起始位采用逻辑0电平电平数数据据位位数数据据位位紧紧跟跟着着起起始始位位传传送送。由由58个二进制位组成,低位先传送个二进制位组成,低位先传送校校验验位位用用于于校校验验是是否否传传送送正正确确;可可选择奇检验、偶校验或不传送校验位选择奇检验、偶校验或不传送校验位停停止止位位表表示示该该字字符符传传送送结结束束。停停止止位采用逻辑位采用逻辑1电平,可选择电平,可选择1、1.5或或2位位空空闲闲

10、位位传传送送字字符符之之间间的的逻逻辑辑1电电平平,表示没有进行传送表示没有进行传送图图7.1 标准的异步通信数据格式标准的异步通信数据格式12第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 13异步通信数据格式总结说明:异步通信数据格式总结说明:无信息传输(或间隔)时,输出必须为无信息传输(或间隔)时,输出必须为“1”状态(标识态);状态(标识态);1到到0的跳变作为字符的开始的跳变作为字符的开始起始位;起始位;起始位后为起始位后为58位的数据位,位的数据位,低位在前,高位在后低位在前,高位在后;数据位后为奇偶校验位,可设为奇或偶校验,也可不设;数据位后为奇偶校验位,可设为奇或

11、偶校验,也可不设;最后有最后有1、1.5或或2位停止位,均为位停止位,均为“1”13第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 14F传输速率传输速率 在串行通讯中,用在串行通讯中,用波特率波特率来描述数据的传输速率。来描述数据的传输速率。即每秒钟传送的二进制位数,简写为即每秒钟传送的二进制位数,简写为bps 串行通信无论收发都必须有时钟脉冲信号对传送的数据串行通信无论收发都必须有时钟脉冲信号对传送的数据进行定位和同步控制。接收时钟进行定位和同步控制。接收时钟/发送时钟是波特率的倍数发送时钟是波特率的倍数波特率因子波特率因子。【例例】:波特率:波特率=9600bps,波特率因

12、子,波特率因子=16,则接收时,则接收时钟和发送时钟频率钟和发送时钟频率=960016=153600Hz 波特率因子波特率因子=16 ,表明,表明16个时钟脉冲传送个时钟脉冲传送1位。位。3. 串行通信的传输率串行通信的传输率 国际上规定的标准波特率:国际上规定的标准波特率:110、300、600、1200、 1800、2400、 4800、9600、19200。14第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 15 设每个字符对应设每个字符对应1个起始位、个起始位、7个信息位、个信息位、1个奇偶个奇偶校验位和校验位和1个停止位,如果波特率为个停止位,如果波特率为1200bps

13、,那么,那么,每秒钟能传输的最大字符数为每秒钟能传输的最大字符数为1200/10120个。个。 以以1200bps的的波波特特率率工工作作,用用4个个同同步步字字符符作作为为信信息息帧帧头头部部,但但不不用用奇奇偶偶校校验验,那那么么,传传输输100个个字字符符所所用用的的时时间间为为7(100+4)/12000.6067s,这这就就是是说说,每每秒钟能传输的字符数可达到秒钟能传输的字符数可达到100/0.6067165个。个。例例1:异步传输过程:异步传输过程 例例2: 同步传输过程同步传输过程可见,在同样的传输率下,同步传输时实际字符传输率可见,在同样的传输率下,同步传输时实际字符传输率要

14、比异步传输时高。要比异步传输时高。 15第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 167.1.2 串行接口串行接口图图7.2 可编程串行接口的典型结构可编程串行接口的典型结构16第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 177.2 可编程串行通信接口可编程串行通信接口 8251A7.2.0 8251A的基本性能的基本性能 通过编程,通过编程,8251A可以工作在同步方式,波特率可以工作在同步方式,波特率0 64K,也可以工作在异步方式,波特率,也可以工作在异步方式,波特率019.2K; 同步方式下可以用同步方式下可以用58位来表示字符,允许增加位来表示字

15、符,允许增加1位位奇偶校验位,能自动检测同步字符,实现收发同步;奇偶校验位,能自动检测同步字符,实现收发同步; 异步方式下用异步方式下用58位来表示字符,位来表示字符,1位可选的奇偶校验位可选的奇偶校验位,位,1位启动位,根据需要可设置位启动位,根据需要可设置1、1.5或或2位停止位;位停止位; 全双工、双缓冲的发送器和接收器;全双工、双缓冲的发送器和接收器; 具有奇偶、溢出和帧错误检测功能;具有奇偶、溢出和帧错误检测功能; 输入输出电路为输入输出电路为TTL电平。电平。 17第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 188251A的功能结构的功能结构 7.2.1 8251

16、A的基本工作原理的基本工作原理图图7.318第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 19模式寄存器模式寄存器决定工作于同步决定工作于同步或异步模式以及或异步模式以及接收和发送的字接收和发送的字符格式符格式同步字符寄存器同步字符寄存器存放同步模式下存放同步模式下的同步字符的同步字符偶地址偶地址端口端口奇地址端口奇地址端口19第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 203. 8251A的发送和接收的发送和接收(1)检测起始位)检测起始位1)异步接收方式异步接收方式设数据接收时钟频率是数据传输频率的设数据接收时钟频率是数据传输频率的16倍。倍。起始检测起始

17、检测确定已检测到起始位确定已检测到起始位起起 始始 位位RXCRXDT16 T8 T20第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 21采样数据采样数据起始检测起始检测确定已检测到起始位确定已检测到起始位起起 始始 位位RXCRXDT16 T16 T8 T 每每隔隔一一字字符符传传输输时时间间,对对RxD进进行行一一次次采采样样,数数据据送送移移位位寄寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。存器移位,并进行奇偶校验和去掉停止位,得到并行数据。 (2)8251A进行常规采样并进行字符装配进行常规采样并进行字符装配21第第7 7章章 串并行通信及其接口技术串并行通信

18、及其接口技术 22注:注:对于少于对于少于8位的数据,位的数据,8251A将高位补将高位补0。 (3)通知)通知CPU接收数据接收数据 并并行行数数据据经经过过内内部部数数据据总总线线送送接接收收数数据据缓缓冲冲器器,并并置置RxRDY有效,通知有效,通知CPU已收到一个数据,可以取用。已收到一个数据,可以取用。 8251A异异步步接接收收数数据据传传输输格格式式22第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 232)8251A异步发送方式异步发送方式(2)8251A由由TxD线把串行数据送出线把串行数据送出 。 8251A从从CPU接接收收到到一一个个数数据据,移移位位形形

19、成成串串行行数数据据,再再加加上起始位、奇偶校验位以及停止位,由上起始位、奇偶校验位以及停止位,由TxD把数据送出。把数据送出。 注注:数数据据及及起起始始位位、校校验验位位、停停止止位位总总是是在在发发送送时时钟钟TxC的的下下降降沿沿从从8251A发发出出,数数据据传传输输的的波波特特率率为为发发送送时时钟钟频频率率的的1、1/16或者或者1/64,具体决定于编程时给出的波特率因子。,具体决定于编程时给出的波特率因子。 (1)程序置)程序置TxEN(允许发送)有效。允许发送)有效。 检检测测到到外外设设送送来来的的CTS(请请求求发发送送信信号号的的响响应应信信号号)有有效效,开始发送。开

20、始发送。 23第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 248251A异步发送数据传输格式异步发送数据传输格式注:注:对于少于对于少于8位的数据,位的数据,8251A将高位补将高位补0。 24第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 253)8251A的同步接收方式的同步接收方式单同步字符单同步字符 8251检检测测RxD线线,当当RxD线线出出现现一一数数据据位位时时,接接收收送送移移位位寄寄存存器器移移位位,并并与与同同步步字字符符寄寄存存器器的的内内容容比比较较,如如不不等等,继继续续接接收收,比比较较。相相等等时时,8251A的的SYNDET引脚

21、为高电平,表示同步已经实现。引脚为高电平,表示同步已经实现。(1)搜索同步字符)搜索同步字符双同步字符双同步字符 检检测测到到第第一一个个同同步步字字符符后后,再再继继续续检检测测此此后后输输入入的的移移位位寄寄存存器器的的内内容容是是否否与与第第二二个个同同步步字字符符寄寄存存器器的的内内容容相相同同,不不同同重重新新比比较较第第一一个个同同步步字字符符;相相同同,则则认认为为同同步步已经实现。已经实现。内内同同步步(a)25第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 26(b)外同步外同步 通通过过在在同同步步输输入入端端SYNDET加加一一高高电电位位实实现现同同步步。

22、当当SYNDET端端出出现现一一个个高高电电平平,并并且且维维持持一一时时钟钟接接收收周周期期,8251A认为已经完成同步。认为已经完成同步。 (2)数据的同步传输数据的同步传输 接收器利用时钟信号对接收器利用时钟信号对RxD采样,把收到的数据送移位寄采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收信号,表示收到一数据。到一数据。 26第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 278251A同步接收数

23、据传输格式同步接收数据传输格式27第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 284)8251A的同步发送方式的同步发送方式(2)发送同步字符)发送同步字符 根据编程要求,发送器先发送一个或两个同步字符。根据编程要求,发送器先发送一个或两个同步字符。 注注:如如发发送送数数据据时时,CPU来来不不及及提提供供新新数数据据,8251A发送器会自动插入同步字符,由发送器会自动插入同步字符,由TxD送出。送出。 (3)发送数据块)发送数据块 发发送送数数据据块块时时,发发送送器器根根据据要要求求对对数数据据块块中中的的数数据据加加上上奇奇偶校验位或不加。偶校验位或不加。 (1)程序

24、置)程序置TxEN(允许发送)有效允许发送)有效 检检测测到到外外设设送送来来的的CTS(请请求求发发送送信信号号的的响响应应信信号号)有有效效,开始发送。开始发送。 28第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 298251A同步发送数据传输格式同步发送数据传输格式29第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 3030 82518251A A芯片共有芯片共有2828个个引脚,其中:有引脚,其中:有1717个个引脚是与引脚是与系统系统相连接,相连接,有有6 6个个是与是与外部设备外部设备相连接,另外,还有相连接,另外,还有3 3个时钟输入端个时钟输入端,

25、1 1个电源个电源端端,1 1个接地端。个接地端。 7.2.2 8251A7.2.2 8251A的外部信号的外部信号 TXRDY为“1”的条件是:发送缓冲器空CTS TXEN=130第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 31 1 1. . 用错位连接结合软件方法实现用错位连接结合软件方法实现8 8位接口芯片位接口芯片与与1616位位CPUCPU总线的连接总线的连接 在在硬件硬件上将上将地址总线地址总线的的A A1 1与与82518251A A的的A A0 0(即即C/DC/D)引脚相连接,在引脚相连接,在软件设计软件设计时用时用连续的偶地址连续的偶地址代代替替端口的奇端

26、口的奇/ /偶地址偶地址,就解决了,就解决了8 8位接口芯片与位接口芯片与1616位位数据总线的连接;即就是将数据总线的连接;即就是将8 8位的接口芯片与位的接口芯片与1616位数位数据总线的据总线的低低8 8位数据线位数据线相连接。相连接。 ( (见前见前82518251A A与系统的连接示意图与系统的连接示意图) ) 7.2.3 87.2.3 8位接口芯片与位接口芯片与CPUCPU总线的连接总线的连接31第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 32表表7.1 CPU总线与总线与8位接口错位连接小结位接口错位连接小结CPU字字长长数据线数据线位数位数选最低字节选最低字节

27、错位连接错位连接低位地址初值低位地址初值相邻地址相邻地址差值差值8088168A0-A0A0=0180861616A0=0A1-A0A1A0=002803863232A1A0=0A2-A0A2A1A0=0004Pentium3264A2A1A0=0A3-A0A3A2A1A0=00008软件上,用连续偶地址代替奇偶地址软件上,用连续偶地址代替奇偶地址32第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 33 2. . 用硬件方法实现用硬件方法实现8 8位外设与位外设与1616位数据总线的位数据总线的连接连接 两个硬件电路:两个硬件电路:(1 1)检测控制电路:检测控制电路:检测并识别

28、奇地址端口输入检测并识别奇地址端口输入/ /输输出指令,确认是奇地址出指令,确认是奇地址I/OI/O指令时启动高指令时启动高/ /低字节复低字节复制器,并控制数据复制方向。制器,并控制数据复制方向。(2 2)高高/ /低字节复制器:低字节复制器:执行执行ININ指令时,将外设来的指令时,将外设来的数据复制至数据总线高数据复制至数据总线高8 8位;执行位;执行OUTOUT指令时,将指令时,将CPUCPU的高的高8 8位数据复制至数据总线的低位数据复制至数据总线的低8 8位。位。33第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 34347.2.4 8251A的寄存器及其初始化流程的

29、寄存器及其初始化流程 8251A初始化的约定:初始化的约定: 复位后,第一次给复位后,第一次给奇地址奇地址端口写端口写入的值作为入的值作为模式字模式字 如规定为如规定为同步模式同步模式,那么,接下来,那么,接下来往奇地址端口写入的是往奇地址端口写入的是同步字符同步字符。如果是。如果是双同步,则先后两次写入同步字符。双同步,则先后两次写入同步字符。 接下来,只要不是复位命令,接下来,只要不是复位命令,CPU给奇地址写入的是给奇地址写入的是控制字控制字,给偶地址端口,给偶地址端口写入写入的是要的是要发送的数据发送的数据。1. 8251A的初始化的初始化 8251A使用前必须进行初始化,以确使用前必

30、须进行初始化,以确定工作方式、传送速率、字符格式以及停定工作方式、传送速率、字符格式以及停止位长度等;改变止位长度等;改变8251A的工作方式时必的工作方式时必须再次进行初始化编程;须再次进行初始化编程;34第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 352. 模式寄存器的格式模式寄存器的格式 8251A的编程包括的编程包括两个方面两个方面的内容:的内容:由由CPU发出控制字,即发出控制字,即模式命令字模式命令字和和操作命令控制字操作命令控制字 由由8251A向向CPU送出的状态字送出的状态字 模模式式字字是是在在对对8251A进进行行初初始始 化化 时时 ,用用程程序序命命

31、令令写写入入且且只只需需写写一一次。次。 用于规定用于规定8251A的工作方式的工作方式 :35第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 363. 控制寄存器的格式控制寄存器的格式 控制字是在模式字之后写入,用来控制控制字是在模式字之后写入,用来控制8251A的工作,使其处的工作,使其处于规定的状态以及准备发送或接收数据,可进行多次写入操作。控于规定的状态以及准备发送或接收数据,可进行多次写入操作。控制字和模式字共用一个奇地址端口,且又无特征标志,制字和模式字共用一个奇地址端口,且又无特征标志,8251A是根是根据写入的先后顺序来加以区分的,即先写入的是模式字,后写入的据写

32、入的先后顺序来加以区分的,即先写入的是模式字,后写入的是控制字。是控制字。 36第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 37例如例如: 由控制字的格式可知,由控制字的格式可知,8251A的复位命令的复位命令 是给奇地址端口写入是给奇地址端口写入40H。 即即复位命令的程序段复位命令的程序段是:是:MOV AL, 40HOUT 奇地址端口奇地址端口, AL 37第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 384. 状态寄存器的格式状态寄存器的格式 状态寄存器用来存放状态寄存器用来存放8251A的状态字,用来反映的状态字,用来反映8251A的状态信息,可供的

33、状态信息,可供CPU读取查询。读取查询。38第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 39【例例】 假设假设 8251A的端口地址为:的端口地址为:82H、80H,按以下要求对,按以下要求对8251A进行初始化进行初始化。 (1)异步工作方式,)异步工作方式,1个停止位,采用偶校验,个停止位,采用偶校验,7个数据位,个数据位, 波特率因子为波特率因子为16。 (2)允许接收和发送数据,使错误位全部复位。)允许接收和发送数据,使错误位全部复位。 (3)查询)查询8251A的状态字,当接收准备就绪时则从的状态字,当接收准备就绪时则从8251A输入输入 数据,否则等待。数据,否则

34、等待。7.2.5 8251A编程举例编程举例1.异步方式举例异步方式举例39第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 40MOV AL,40HOUT82H,AL;对8251A进行复位MOV AL,01111010BOUT82H,AL;写模式字MOV AL,00010101BOUT82H,AL;写控制字WAIT:INAL,82H;读取状态字ANDAL,02H;检查RxRDY是否为1JZWAIT;RxRDY不为1,等待INAL ,80H;RxRDY为1,读取数据初始化程序段初始化程序段:40第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 417.2.5 8251A

35、编程举例编程举例2.同步方式举例同步方式举例【例例】 假设假设 8251A的端口地址为:的端口地址为:42H、40H,按以下要求对,按以下要求对8251A进行初始化进行初始化。 (1)同步工作方式,)同步工作方式,2个同步字符个同步字符16H,内同步,采用偶校验,内同步,采用偶校验,7个个数据位。数据位。 (2)使)使8251A对同步字符进行搜索,使错误位全部复位,启动发送对同步字符进行搜索,使错误位全部复位,启动发送器和接收器,通知调制器和接收器,通知调制/解调器解调器CPU已准备好进行数据传输。已准备好进行数据传输。41第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 42MO

36、V AL,HOUT42H,AL;对8251A进行复位MOV AL,00111000BOUT42H,AL;写模式字MOV AL,00010110BOUT82H,AL;写同步字符MOV AL,00010110BOUT82H,AL;写同步字符MOV AL,10110111BOUT82H,AL;写控制字初始化程序段初始化程序段:42第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 43【练习练习】 对对8251A进行初始化。进行初始化。 1. 设设8251A工作于内同步方式,工作于内同步方式,8个数据位,个数据位,无校验,一个同步字符(均为无校验,一个同步字符(均为24H);); 2. 同

37、时要求同时要求8251A进行同步字符搜索,允进行同步字符搜索,允许接收和发送数据,使错误位全部复位。许接收和发送数据,使错误位全部复位。 3. 假设假设8251A的端口地址为:的端口地址为:00E2H、00E0H。43第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 44答答 案案v初始化程序段:初始化程序段:MOVAL,40HOUT0E2H,AL;对8251A进行复位MOVAL,10001100HOUT0E2H,AL;写模式字MOVAL,24HOUT0E2H,AL;写第一个同步字符OUT0E2H,AL;写第二个同步字符MOVAL,10010101BOUT41H,AL;写控制字v4

38、4第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 457.2.5 8251A编程举例编程举例3.利用状态字举例利用状态字举例 编编程程实实现现CPU接接收收80个个字字符符,字字符符输输入入后后放放在在BUFFER所所指指的的内内存存缓缓冲冲区区。8251A工工作作于于异异步步方方式式,波波特特率率因因子子为为1616,7 7个个数据位,偶校验,数据位,偶校验,2 2个停止位。个停止位。8251A 端口地址:端口地址:5050H H,52H52H。MOV AL,0FAHMOV AL,0FAH;11111010B11111010BOUT 52H,ALOUT 52H,AL;设置模式字

39、设置模式字MOV AL,35HMOV AL,35H;00110101B00110101BOUT 52H,ALOUT 52H,AL;设置控制字设置控制字MOV DI,0MOV DI,0;变址寄存器初始化变址寄存器初始化MOV CX,80MOV CX,80;计数器初始化计数器初始化BEGIN: BEGIN: IN AL,52HIN AL,52H ;读状态字读状态字TEST AL,02HTEST AL,02H ;测试测试JZ JZ BEGINBEGIN ;RXRDY=0RXRDY=0转转IN AL,50H IN AL,50H ;读取字符读取字符MOV BX,OFFSET BUFFERMOV BX,O

40、FFSET BUFFERMOV BX+DI,AL MOV BX+DI,AL ;保存字符保存字符INC DIINC DI ;修改缓冲区指针修改缓冲区指针IN AL,52H IN AL,52H ;读取状态字读取状态字TEST AL,38H TEST AL,38H ;测试有无错误测试有无错误JNZ JNZ ERRORERRORLOOP LOOP BEGINBEGIN ;无错且不够无错且不够8080个继续接收个继续接收JMP JMP EXITEXIT ;如满如满8080个字符,则结束个字符,则结束ERROR:ERROR:CALL ERR_OUT CALL ERR_OUT ;调用出错处理程序调用出错处理

41、程序EXIT:EXIT:45第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 46 8251A与与CPU之间通常采用之间通常采用查询或中断方式查询或中断方式传输数据。若采用中断方传输数据。若采用中断方式,两个状态信号式,两个状态信号TxRDY和和RxRDY通过一个或非门接到通过一个或非门接到CPU的外中断输入。的外中断输入。其余的其余的 、 、RESET都是同名端相连。都是同名端相连。 在编程时,先对在编程时,先对8251A初始化,输入命令字后就可以进行数据传送。在初始化,输入命令字后就可以进行数据传送。在得到中断申请后,通过调用状态字来检测是接收申请(得到中断申请后,通过调用状态

42、字来检测是接收申请(RxRDY1)还是发)还是发送申请(送申请(TxRDY1),然后转至相应的中断服务程序进行处理即可。在接),然后转至相应的中断服务程序进行处理即可。在接收处理时,若要判定传输是否出错,也只需读取状态字,检测错误标志位收处理时,若要判定传输是否出错,也只需读取状态字,检测错误标志位PE等。这样,可以很方便地实现双工通信。等。这样,可以很方便地实现双工通信。7.2.6 8251A的使用实例的使用实例【例例】 试用试用8251A为为8086 CPU与与CRT终端设计一串行通信接口。终端设计一串行通信接口。 假设:假设:8251A端口地址为端口地址为52H、50H。要求:要求: (

43、1)异步工作方式,)异步工作方式,1个停止位,个停止位,8个数据位,采用奇校验,波特率个数据位,采用奇校验,波特率因子为因子为16; (2)CPU用查询方式将显示缓冲区的字符用查询方式将显示缓冲区的字符“GOOD”送送CRT显示。显显示。显示缓冲区在数据段,首地址为示缓冲区在数据段,首地址为2000H。46第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 47F8251与与CPU的数据交换的数据交换查询方式查询方式/中断方式中断方式采用查询方式,在数据交换前应读取状态寄存器。采用查询方式,在数据交换前应读取状态寄存器。 状态寄存器状态寄存器D0=1,CPU可以向可以向8251数据端

44、口写入数据,完成串行数数据端口写入数据,完成串行数据的发送据的发送 状态寄存器状态寄存器D1=1,CPU可以从可以从8251数据端口读出数据,完成一帧数数据端口读出数据,完成一帧数据的接收据的接收采用中断方式,采用中断方式, 8251没有单独的中断请求引脚:没有单独的中断请求引脚: TxRDY引脚可以作为发送中断请求引脚可以作为发送中断请求 RxRDY引脚可以作为接收中断请求引脚可以作为接收中断请求 收发均采用中断方式时,收发均采用中断方式时, TxRDY、 RxRDY可以可以通过或门与系统总线的中断请求线连接。在通过或门与系统总线的中断请求线连接。在CPU响应响应中断转到中断转到ISP中时,

45、再对状态寄存器进行查询,以区中时,再对状态寄存器进行查询,以区分是发送中断还是接收中断分是发送中断还是接收中断47第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 48(1)硬件连接:)硬件连接:8086CPU与与CRT终端接口连接如图所示。终端接口连接如图所示。 8251A的信号都是的信号都是TTL电平,而电平,而CRT信号为信号为RS-232-C电平,电平,故通过故通过1488将将8251A的输出变为的输出变为RS-232-C电平,再送给电平,再送给CRT;反;反过来,过来, CRT的输出信号通过的输出信号通过1489将变为将变为TTL电平,再送给电平,再送给8251A。48第

46、第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 49DATASEGMENTDISBUFDB 47H,4FH,4FH,44H,0DH,0AH;GOOD字符的字符的ASC码码COUNTDB $-DISBUFDATAENDS MOVAL, 40HOUT52H, AL;对对8251A进行复位进行复位 MOVAL, 01011110B;写入模式字写入模式字OUT52H, ALMOVAL, 00110011B;写控制字写控制字OUT52H, ALMOVBX, OFFSETDISBUF;显示缓冲区首址显示缓冲区首址MOVCX, COUNTWAIT: INAL, 52H ANDAL, 01H;判断

47、判断TxRDY是否为是否为1,不为不为1,等待等待JZWAITMOVAL, ES:BX;为为1,则输出数据,则输出数据OUT50H, ALINCBXDECCXJNZWAITHLT(2)软软件件设设计计初次对初次对8251A初始化,先送初始化,先送3个个00H ,再送,再送1个个40H 49第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 50【例例】通过通过8251A实现两台微机相互通信的硬件连接图如图所示。实现两台微机相互通信的硬件连接图如图所示。利用两片利用两片8251A通过标准串行接口通过标准串行接口RS-232C实现两台实现两台8086微机之间微机之间的异步串行通信。设两台

48、微机中的异步串行通信。设两台微机中8251A的命令端口地址均为的命令端口地址均为3F9H,数据端口地址均为数据端口地址均为3F8H。50第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 51分析:分析:设系统采用查询方式控制串行通信的过程。设系统采用查询方式控制串行通信的过程。 初始化程序由两部分组成:初始化程序由两部分组成: 将将一一方方定定义义为为发发送送方方,发发送送方方CPU查查询询到到TxRDY有有效时,则效时,则CPU向向8251A并行输出一个待发送的字节数据;并行输出一个待发送的字节数据; 将将对对方方定定义义为为接接收收方方,接接收收方方CPU查查询询到到RxRDY

49、有有效效时时,则则从从8251A输输入入一一个个已已接接收收到到的的字字节节数数据据,直直到到全全部数据传送完毕为止。部数据传送完毕为止。51第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 52L1:MOVDX, 3F9H INAL, DX ANDAL, 01H;查询TxRDY是否有效 JZL1;无效则等待MOVDX, 3F8H MOVAL, DI;向8251A输出一个字节数据OUTDX, ALINCDI;修改地址指针 LOOPL1 ;未传送完,则继续下一个HLTSTART: MOVDX, 3F9HMOVAL, 7FH;模式字(异步方式,8位数据,一位停止位OUTDX, AL ;

50、偶校验,波特率因子为64,允许发送)MOVAL, 11H ;操作命令字(错误复位,发送允许)OUTDX, ALMOVDI, 1000H;设置地址指针MOVCX, 40H;设置计数器初值发送程序如下:发送程序如下:52第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 53BEGIN: MOVDX, 3F9HMOVAL, 7FH;异步方式,8位数据,1位停止位OUTDX, AL;偶校验,波特率因子64,允许接收 MOVAL, 14H;操作命令字(错误复位,接受允许) MOVDX, AL MOVSI, 2000H;设置地址指针 MOVCX, 40H;设置计数器初值L2:MOVDX, 3F

51、9HINAL, DX;读取状态字TESTAL, 38H;查询接收器是否有错JNZERR ;有错则转错误处理ANDAL, 02H ;无误则查状态位D1(RxRDY)JZL2 ;接收未准备好则等待MOVDX, 3F8HINAL, DX ;接受准备好,则接收1个字节数据 MOVSI, ALINCSI;修改接收数据区地址LOOPL2JMPL3ERR:CALLERR-OUT(略)(略)L3:MOVAX, 4C00H;已接收完,返回DOSINT21H接接收收程程序序53第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 541.并行通信并行通信v并行通信并行通信:是指将构成一组数据的各位同时进行

52、传送的一种通信方式。例如一组8位数据或16位数据的同时传入或传出。v并行通信的优点优点是传输速度快,信息率高;缺点缺点是电缆耗损高。并行通信适用于数据传输率较高、传输距离较短的场合。v适合场合适合场合:(1)外部设备与微机之间进行近距离、大量和快速的信息交换u例如:微机与并行接口打印机、磁盘驱动器(2)微机系统中最基本的信息交换方法u例如:系统板上各部件之间,接口电路板上各部件之间7.3 并行通信和并行接口并行通信和并行接口54第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 55v并行接口:实现并行通信的接口称为并行接口。v按照信息传送方向,分为:输入接口、输出接口和输入/输出接

53、口v按照可编程性分类:不可编程并行接口和可编程并行接口。u不可编程的并行接口:接口的工作方式及功能由硬件连接来设定,不能用软件编程的方法改变,接口的工作方式固定不变。例如8位双向三态缓冲驱动器74LS245、8位三态数据锁存器74LS373等。多用于组成功能比较简单的接口电路。u可编程的并行接口:一般由可编程通用接口芯片组成,这些芯片除了具有硬件连接接口的性能外,最主要的就是可由编程人员通过编程来进行设定芯片性能。如有Zilog公司的Z80PIO,Intel的8255A等。因而可编程接口具有广泛的适应性和很高的灵活性,在微机系统中得到广泛的应用。2. 并行并行I/O接口接口55第第7 7章章

54、串并行通信及其接口技术串并行通信及其接口技术 563. 3. 并行接口与外设的连接并行接口与外设的连接并行接口与外设的连接并行接口与外设的连接图图7.10 并行接口连接外设示意图并行接口连接外设示意图56第第7 7章章 串并行通信及其接口技术串并行通信及其接口技术 57u并行接口输入数据输入数据的过程外设将数据送到“数据输入线”,通过“输入数据准备好”状态线通知并行接口,接口将数据锁存到“输入缓冲器”,通过“数据输入响应”线通知外设,接口数据缓冲器已满,不要再送数据,同时将“状态寄存器”的相应位置1,便于CPU查询和接口向CPU发中断请求之用。CPU从接口将数据取走后,接口将“数据输入准备好”

55、、“数据输入回答”信号清除,以便外设输入下一个数据。u并行接口输出数据输出数据的过程接口“数据输出缓冲器”空,置“数据输出准备好”状态线为1,收到CPU发的数据,将之复位清0,数据通过“数据输出”线送外设,由“数据输出准备好”线通知外设取数据。外设取走数据,将“数据输出准备好”信号线置1,以便CPU输出下一个数据。4. 4. 并行接口的工作原理并行接口的工作原理并行接口的工作原理并行接口的工作原理577.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号1.1.数据端口数据端口A A、B B、C C 825

56、5A8255A的三个数据端的三个数据端口都是口都是8 8位的,而各位的,而各有特点。有特点。(1)(1)端口端口A A 是一个独立的是一个独立的8 8位数位数据据I/OI/O口,它的内部口,它的内部有对数据输入有对数据输入/ /输出输出的锁存功能。的锁存功能。(2)(2)端口端口B B 是一个独立的是一个独立的8 8位数位数据据I/OI/O口,对输入的口,对输入的数据不锁存,仅对数据不锁存,仅对输出的数据锁存。输出的数据锁存。 (3)(3)端口端口C C 可以看作是一个可以看作是一个独立的独立的8 8位位I/OI/O口口;也;也可以看作是可以看作是两个独立两个独立的的4 4位位I/OI/O口。

57、口。还可以还可以用作用作A A口和口和B B口的控制口的控制信号。对输出数据进信号。对输出数据进行行锁存,对输入数据锁存,对输入数据不锁存。不锁存。7.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号2.2.A A组控制和组控制和B B组控制组控制 这两组控制部件这两组控制部件有两个功能:即有两个功能:即一是一是接收芯片内部总线上接收芯片内部总线上的控制字;的控制字;二是二是接收接收来自读来自读/ /写控制逻辑写控制逻辑电路的读电路的读/ /写命令,写命令,据此而据此而决定两组端口决定两组端口的工作方式和

58、读的工作方式和读/ /写写操作操作。7.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号3.3.读读/ /写控制逻辑电路写控制逻辑电路 负责管理负责管理82558255A A的的数据传输过程。它接数据传输过程。它接收收CSCS及来自地址总线及来自地址总线的信号的信号A A1 1、A A0 0和控制总和控制总线的信号线的信号RESETRESET、RDRD、WRWR,将它们组合后,将它们组合后,得到对得到对A A组控制部件和组控制部件和组控制部件的控制组控制部件的控制命令,并将命令送给命令,并将命令送给这两个

59、部件,再由它这两个部件,再由它们完成对数据、状态们完成对数据、状态和控制信息的传输。和控制信息的传输。7.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号4. 4. 数据总线缓冲器数据总线缓冲器是一个双向三态的是一个双向三态的8 8位位数据缓冲器。数据缓冲器。82558255A A正是通过它与系统正是通过它与系统数据总线相连。数据总线相连。输入数据、输出数据、输入数据、输出数据、CPUCPU发给发给82558255A A的控的控制字都是通过该部制字都是通过该部件传递的。件传递的。7.4 可编程并行通信接口

60、可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号7.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号82558255A A复位后,所有复位后,所有I/OI/O均处于输入状态,均处于输入状态,内部寄存器都被清除内部寄存器都被清除7.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.1.1 8255A8255A的内部结构和外部信号的内部结构和外部信号7.4 可编程并行通信接口可编程并行通信接口8255A7 7. .4 4.

61、 .2 2 8255A8255A的控制字的控制字v控制字分为两类方式选择控制字C端口按位置1/置0控制字8255A有三种基本工作方式:方式0、方式1、方式2图7.158255A的方式选择控制字v端口端口C置置1/置置0控制字控制字v端口C置1/置0的例子MOVAL,0FH;对PC7置1的控制字MOVDX,00EEH;控制口地址送DXOUTDX,AL;对PC7进行置1操作MOVAL,06H;对PC3置0的控制字OUTDX,AL;对PC3进行置0操作图图7.13 端口端口C的置的置1/置置0控制字控制字7.4.3 8255A7.4.3 8255A的工作方式的工作方式1. 方式方式0 也叫基本输入输

62、出方式。也叫基本输入输出方式。 特点:特点:特点:特点: (1)(1)三个端口都可作为独立的输入或输出口,各端口间没有三个端口都可作为独立的输入或输出口,各端口间没有必然的关系。必然的关系。(2)(2)由端口由端口A A、端口端口B B和端口和端口C C的高的高4 4位、低位、低4 4位,这位,这4 4个端口可个端口可以有以有1616种不同的组合。种不同的组合。(3)(3)这种方式下,输出可锁存数据,输入是不锁存的。这种方式下,输出可锁存数据,输入是不锁存的。方式方式0的使用的场合:的使用的场合: 同步传输和同步传输和查询式传输查询式传输。 使用场合使用场合使用场合使用场合 同步传送时同步传送

63、时,发送方和接收方由同一时序信,发送方和接收方由同一时序信号来管理,所以双方相互知道对方的动作,不需号来管理,所以双方相互知道对方的动作,不需要应答信号。即要应答信号。即CPUCPU不需要查询外设的状态,对接不需要查询外设的状态,对接口要求很简单口要求很简单, ,只要能传送数据就行,此时只要能传送数据就行,此时82558255A A的三个数据端口可以实现三路数据传送。的三个数据端口可以实现三路数据传送。 查询传送时查询传送时,一般将,一般将A A、B B口常作为数据口,口常作为数据口,把把C C口的两部分用来输出一些控制信号和接收一些口的两部分用来输出一些控制信号和接收一些状态信号,这样端口状

64、态信号,这样端口C C用来配合端口用来配合端口A A和和B B工作。工作。2.方式方式1 又称为选通的输入又称为选通的输入/ /输出方式。输出方式。 特点:特点:特点:特点: (1 1)端口)端口A A和端口和端口B B可以分别作为输入端口或输出端口。可以分别作为输入端口或输出端口。(2 2)如果端口)如果端口A A和端口和端口B B只有一个工作于方式只有一个工作于方式1 1,端口,端口C C中就有中就有3 3位被规定为配合方式位被规定为配合方式1 1工作的信号,这时,工作的信号,这时,另一个端口和端口另一个端口和端口C C的其它位可工作于方式的其它位可工作于方式0 0。(3 3)如果端口)如

65、果端口A A和和B B都工作在方式都工作在方式1 1,那么端口,那么端口C C则有则有6 6位分别作为位分别作为A A口和口和B B口的应答联络信号,并且其排列口的应答联络信号,并且其排列是固定的,剩余的是固定的,剩余的2 2位可工作于方式位可工作于方式0 0。方式方式1时输入端口对应的控制信号时输入端口对应的控制信号图7.14 STB STB:选通信号输入端。它是由外设送往选通信号输入端。它是由外设送往 8255 8255A A的,当的,当STBSTB有有效时效时82558255A A的端口的端口A A或或B B的输入缓冲器接收到一个来自外设的的输入缓冲器接收到一个来自外设的8 8位位数据。

66、数据。方式方式1的输入组态和应答信号的功能的输入组态和应答信号的功能 IBF IBF:“输入缓冲器满输入缓冲器满”信号。它是信号。它是82558255A A输出的状态信号,输出的状态信号,当当 IBF IBF 有效时,表示当前已有一个新的数据进入端口有效时,表示当前已有一个新的数据进入端口A A或或B B缓缓冲器中。此信号是对冲器中。此信号是对STBSTB的响应信号,它可以由的响应信号,它可以由CPU CPU 通过查询通过查询C C口的口的PCPC5 5或或PCPC1 1位获得。当位获得。当CPUCPU查的查的PCPC5 5(或(或PCPC1 1)=1)=1时,便可以从时,便可以从A A口(或

67、口(或B B口)读入数据。口)读入数据。IBFIBF信号是由信号是由STBSTB信号使其置位的,而信号使其置位的,而由读信号由读信号RDRD的上升沿使其复位。的上升沿使其复位。 INTRINTR:是是82558255A A送往送往CPUCPU的中断请求信号。当选通信号的中断请求信号。当选通信号STB =1STB =1,置置IBF=1IBF=1,且端口处于中断允许状态(且端口处于中断允许状态(INTE=1)INTE=1)时,将时,将INTRINTR端端置位高电平,向置位高电平,向CPU CPU 发出中断请求信号。当发出中断请求信号。当CPU CPU 响应中断读入响应中断读入数据端口的数据时,由数

68、据端口的数据时,由RDRD信号的下降沿使信号的下降沿使INTRINTR复位。复位。方式方式1时输出端口对应的控制信号时输出端口对应的控制信号方式方式1 使用场合使用场合 对方式对方式1 1,规定一个端口作为输入口的同时,规定一个端口作为输入口的同时,自动规定了有关控制信号,尤其规定了相应的中自动规定了有关控制信号,尤其规定了相应的中断请求信号。这样,在许多断请求信号。这样,在许多采用中断方式进行输采用中断方式进行输入输出的场合入输出的场合,如果外设能为,如果外设能为82558255A A提供选择信提供选择信号或数据接收应答信号,那么,常使号或数据接收应答信号,那么,常使82558255工作于工

69、作于方式方式1 1。用方式。用方式1 1工作比用方式工作比用方式0 0更加方便有效。更加方便有效。 3. 方式方式2 也叫双向传输方式,具有如下也叫双向传输方式,具有如下特点特点: (1 1)只适用于端口)只适用于端口A A,相当于双向的方式相当于双向的方式1 1传输。传输。 (2 2)端口端口C C用用5 5条线作为条线作为A A口的联络信号,并且排列是固定的。口的联络信号,并且排列是固定的。 方式方式2 使用场合 方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可作为输出设备,并且输入输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就

70、非常合适。比如,软盘驱动器就是这样一个外设。(1 1)要求)要求为某应用系统配置一个并行打印机接口,并且通过接口为某应用系统配置一个并行打印机接口,并且通过接口CPU采用查询方式把存采用查询方式把存放在放在BUF缓冲区的缓冲区的256个字(个字(ASCII码)送去打印。码)送去打印。(2 2)分析)分析由于打印接口直接面向的对象是打印机接口标准,而不是打印机本身,因此由于打印接口直接面向的对象是打印机接口标准,而不是打印机本身,因此打印机接口要按照接口标准的要求进行设计。有关打印机接口标准的信号线打印机接口要按照接口标准的要求进行设计。有关打印机接口标准的信号线定义和工作时序如下定义和工作时序

71、如下 。DATA0DATA7STROBEBUSYACK并行打印机接口数据传送时序7 7. .4 4. .4 4 8255A8255A应用举例应用举例1. 8255A工作于方式的例子工作于方式的例子 采用查询方式时,打印机与采用查询方式时,打印机与CPU之间传送数据的过程是:之间传送数据的过程是: 首先查询首先查询BUSY。若。若BUSY=1,打印机忙,则等待;若,打印机忙,则等待;若BUSY=0,打印机不忙,则送数据。打印机不忙,则送数据。 通过并行接口把数据送给标准插座通过并行接口把数据送给标准插座DATA BIT1DATA BIT8 数据数据线上,此时数据并未送入打印机。线上,此时数据并未

72、送入打印机。 再送出一个数据选通信号再送出一个数据选通信号DATA STROBE-(负脉冲)给(负脉冲)给 标准插座标准插座的的1号引脚,把数据线上的数据打入到打印机的内部缓冲器。号引脚,把数据线上的数据打入到打印机的内部缓冲器。 打印机在收到数据后,通过插座的打印机在收到数据后,通过插座的11号引肢发出号引肢发出“忙忙”(BUSY=1)信号,表明打印机正在处理输入的数据。)信号,表明打印机正在处理输入的数据。 最后在最后在10号引脚上送出一个回答信号号引脚上送出一个回答信号ACK-给主机,表示上一个字给主机,表示上一个字符已经处理完毕。符已经处理完毕。(3)设计)设计接口电路的设计包括硬件接

73、口电路和软件驱动程序两部分。接口电路的设计包括硬件接口电路和软件驱动程序两部分。 打印机接口电路。打印机接口电路原理框图如图所示。该打印机接口电路。打印机接口电路原理框图如图所示。该电路的设计思路是:按照并行打印接口标准对打印机接口电路的设计思路是:按照并行打印接口标准对打印机接口信号线的定义,最基本的信号线需要信号线的定义,最基本的信号线需要8根数据线根数据线(DATABIT18)CPU PA07PC7PC2地 地BUSYSTBDATA07111298255A打印机插座8255A并行打印机接口电路框图v1根控制线(根控制线(STB),),1根状态线(根状态线(BUSY)和)和1根地线。选用根

74、地线。选用8255A的的PA口作数据口输出口作数据口输出8位位打印数据,工作方式为打印数据,工作方式为0方式。方式。v接口驱动程序。其程接口驱动程序。其程序流程图如右图所示。序流程图如右图所示。驱动程序的程序段如下:驱动程序的程序段如下:结 束8255A 初始化BUSY=0?送 数送 STB内存+1字节数-1送完?开始YNYNCODESEGMENTASSUME CS:CODE, DS:CODEORG 100HSTART: MOV AX, CODEMOV CS, AXMOV DS, AXMOV DX, 203H;8255A命令口命令口MOV AL, 10000001B;工作方式字工作方式字OUT

75、 DX, AL;(A口口0方式方式,输出输出,C4C7输出输出,C0C3输入输入)MOV AL, 00001111B;PC7位置高位置高,使使STB-=1OUT DX, ALMOV SI, OFFSET BUF;打印字符内存首地址打印字符内存首地址MOV CX, OFFH;打印字符个数打印字符个数MOV DX, 202H;PC口地址口地址INAL, DX;查查BUSY=0?(PC2=0)ANDAL, 04H;00000100B JNZL;忙忙,则等待则等待;不忙不忙,则向则向A口送数口送数MOV DX, 200H;PA口地址口地址MOV AL, SI;从内存取数从内存取数OUTDX, AL;送

76、数据到送数据到A口口MOV AL, 203H;8255A命令口命令口MOV AL, 00001110B;置置STB-信号为低信号为低(PC7=0)OUTDX,ALNOP;负脉冲宽度(延时)NOPMOVAL,00001111B;置STB-为高OUTDX,ALINCSI;内存地址加1DECCX;字符数减1JNZL;未完,继续MOVAX,4C00H;已完,退出INT21HBUFDB256个ASCII字符代码CODEENDSENDSTART 设设8255A工作于方式,工作于方式,A端口地址端口地址0D0H,B端口地址端口地址0D2H,C端口地址端口地址0D4H,控制端口,控制端口,0D6H。PP:MO

77、V AL,81HOUT0D6H,AL;方式字MOV AL,0DHOUT0D6H,AL;PC置0/置1方式字LPST: INAL,0D4H;查状态ANDAL,04HJNZLPSTMOV AL,CLOUT0D0H,AL;输出字符送缓冲区MOV AL,0CHOUT0D6H,AL;STB产生负脉冲INCALOUT0D6H,AL;STB置12. 8255工作于方式的例子工作于方式的例子1图7.188255A作为中断方式打印机接口的示意图 8255工作于方式输出方式,工作于方式输出方式,A端口地址端口地址0C0H,B端口地端口地址址0C2H,C端口地址端口地址0C4H,控制端口地址,控制端口地址0C6H;

78、中断;中断IR3类型类型号为号为0BH,中断向量地址,中断向量地址0002CH。程序如下:。程序如下:MAIN: MOVAL,0A0HOUT0C6H,AL;A口输出MOVAL,01OUT0C6H,AL;PC0为1XORAX,AXMOVDS,AXMOVAX,2000HMOVWORDPTR002CH,AXMOV AX,1000HMOV WORDPTR002EH,AX;设置中断向量1000:2000MOVAL,0DHOUT0C6H,AL;PC6为1,允许中断STI中断处理子程序的主要程序段:中断处理子程序的主要程序段:TINTR:MOV AL,DI;取字符送接口缓冲区OUT 0C0H,ALMOV A

79、L,00OUT 0C6H,AL;PC0为0产生选通信号INCALOUT 0C6H,AL;PC0为1撤销选通信号IRET(1)要求)要求 在甲乙两台微机之间并行传送在甲乙两台微机之间并行传送1K字节数据。甲机发送,字节数据。甲机发送, 乙机乙机接收。甲机一侧的接收。甲机一侧的8255A采用采用1方式工作,乙机一侧的方式工作,乙机一侧的8255A采用采用0方式工作。两机的方式工作。两机的CPU与接口之间都采用查询方式交换数据。与接口之间都采用查询方式交换数据。(2)分析双机均采用可编程并行接口芯片双机均采用可编程并行接口芯片8255A构成接口电路,只是构成接口电路,只是8255A的工作方式不同。此

80、时,双方的的工作方式不同。此时,双方的8255A把对方视为把对方视为I/O设备。设备。(3)设计硬件连接:硬件连接: 根据上述要求,接口电路的连接如图所示。根据上述要求,接口电路的连接如图所示。软件编程:软件编程: 接口驱动程序包含发送与接收两个程序。接口驱动程序包含发送与接收两个程序。2. 8255工作于方式的例子工作于方式的例子20方式1方式8255APA07PC7PC3PC46PC02PB07PA07PC7PC6PC3PC02、45PB07未用8255A甲(发送)CPU乙(接收)CPUACKOBF两种方式的并行传送接口电路框图甲机发送程序段:甲机发送程序段:MOVMOVDX, 203HD

81、X, 203H;8255A;8255A命令口命令口MOVMOVAL, 10100000BAL, 10100000B; ;初始化工作方式字初始化工作方式字OUTOUTDX, AL DX, AL MOVMOVAL, 00001101BAL, 00001101B; ;置发送中断允许置发送中断允许INTEA=1INTEA=1OUTOUTDX, ALDX, AL;PC;PC6 6=1=1MOVMOVSI, OFFSET BUFSSI, OFFSET BUFS ; ;设置发送数据区的指针设置发送数据区的指针MOVMOVCX, 3FFHCX, 3FFH; ;发送字节数发送字节数MOVMOVDX, 200HD

82、X, 200H; ;向向A A口写第一个数,产生第一口写第一个数,产生第一; ;个个 OBF-OBF-信号信号MOVMOVAL, SIAL, SI; ;送给乙方,以便获取乙方的送给乙方,以便获取乙方的ACK-ACK-信号信号OUTOUTDX, ALDX, ALINCINCSISI; ;内存地址加内存地址加1 1DECDECCXCX; ;传送字节数减传送字节数减1 1L:L:MOVMOVDX, 202HDX, 202H;8255A;8255A状态口状态口ININAL, DXAL, DX ; ;查发送断请求查发送断请求INTRINTRA A=1=1?ANDANDAL, AL, 08H08H;PC;

83、PC3 3=1=1?JZJZL L; ;若无中断请求,则等待若无中断请求,则等待; ;若有中断请求,则向若有中断请求,则向A A口写数口写数 MOVMOVDX, 200HDX, 200H;8255APA;8255APA口地址口地址MOVMOVAL, SIAL, SI; ;从内存取数从内存取数OUTOUTDX, ALDX, AL ; ;通过通过A A口向乙机发送第二个数据口向乙机发送第二个数据INCINCSISI; ;内存地址加内存地址加1 1DECDECCXCX; ;字节数减字节数减1 1JNZJNZL L; ;字节未完,继续字节未完,继续MOVMOVAH, 4CHAH, 4CH; ;已完,退

84、出已完,退出INTINT21H21H; ;返回返回BUFSBUFSDBDB10241024;1024;1024个数据个数据乙机接收程序段乙机接收程序段: : ( (略)略)3. 8255工作于方式工作于方式2的例子的例子(1)要求)要求主从两个微机进行并行传送,共传送主从两个微机进行并行传送,共传送256个字节。主机个字节。主机一侧的一侧的8255A采用采用2方式并且用中断方式传送数据。从机一方式并且用中断方式传送数据。从机一侧侧8255A工作在工作在0方式,采用查询方式传送数据。方式,采用查询方式传送数据。(2)设计)设计硬件设计:硬件设计:由图可知主机一侧的由图可知主机一侧的8255A的的

85、PA口作双向传送,既输出口作双向传送,既输出又输入,它的中断请示线接到又输入,它的中断请示线接到8259A的的IR2上。从机一侧的上。从机一侧的8255A的的PA和和PB口是单向传送,分别作输出和输入。口是单向传送,分别作输出和输入。软件设计:软件设计:主机INTAINTRINTAINTRIR0IR2IR7系统总线方式方式2接口电路框图接口电路框图8259APB07PC3PC7PC4PC6PC5PC02PA07PA07PB07PC1PC7PC6PC0PC25OBFSTBACKIBF从机 8255A8255A 例例11将一个外设开关的二进制状态从端口将一个外设开关的二进制状态从端口A A输入,并

86、由端输入,并由端口口B B输出到输出到LEDLED显示器。显示器。要求外设要求外设4 4位开关的位开关的1616种不同组合输入,对应在种不同组合输入,对应在LEDLED显示显示器上显示器上显示1616进制数的进制数的1616个数码个数码0-0-F F 。设设82558255A A的端口地址为的端口地址为: : 端口端口A A D0H; D0H; 端口端口B B D1HD1H 端口端口C C D2H; D2H; 控制口控制口D3HD3H8255A与系统、LED显示器的连接图为何此处端口地址是连续的,不全为偶数地址?CS初始化及输入、输出程序如下:初始化及输入、输出程序如下:START: MOVS

87、TART: MOVAL, 90HAL, 90H; ;设置方式选择字,端口A工作于方 OUT OUT0D3H, AL0D3H, AL; ;式0输入,端口B工作于方式0输出AA: INAA: INAL, 0D0HAL, 0D0H; ;读端口A AND ANDAL, 0FHAL, 0FH; ;取端口A低4位 MOV MOVBX, OFFSET LEDTALBX, OFFSET LEDTAL ; ;取LED显示器代码首地址 XALT XALT; ;查表,AL (BX+AL) OUT OUT0D1H, AL0D1H, AL; ;从端口B输出LED显示代码 MOV MOVCX, XXXXHCX, XXXX

88、H; ;延时BB: LOOPBB: LOOP BB BB JMP JMPAAAA HLT HLTLEDTAL DBLEDTAL DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB DB7FH,67H,77H,7CH,39H,5EH,79H,71H7FH,67H,77H,7CH,39H,5EH,79H,71H1 1. . 串行通信的类型有哪几种?简述各自的特点。串行通信的类型有哪几种?简述各自的特点。2 2. . 什什么么是是波波特特率率因因子子?什什么么是是波波特特率率?设设波波特特率率因因子子为为6464,波

89、波特特率率为为12001200bpsbps,则时钟频率为多少?则时钟频率为多少?3 3. . 写出标准异步通信数据格式。写出标准异步通信数据格式。4 4. . 对对82518251A A编程时,必须遵守哪些约定?编程时,必须遵守哪些约定?5 5. . 利用状态字进行检测,异步发送利用状态字进行检测,异步发送256256个数据。个数据。82518251A A工作于工作于异步模式,波特率因子为异步模式,波特率因子为1616,7 7位数据,位数据,2 2位停止位停止位,奇检验。位,奇检验。清除出错标志,请求信号有效,使发送、接收启动,清除出错标志,请求信号有效,使发送、接收启动,CPUCPU准备就绪

90、。设待发送的字符放在准备就绪。设待发送的字符放在BUFFERBUFFER标号所指的内存缓冲区。标号所指的内存缓冲区。82518251A A 端口地址:端口地址:80H80H,82H82H。6. 6. 完成完成8251A8251A的初始化程序,使的初始化程序,使8251A8251A以内同步方式传送数据,同步以内同步方式传送数据,同步字符有字符有2 2个,分别为个,分别为16H16H,2AH2AH,数据位为,数据位为8 8位,采用偶校验。使位,采用偶校验。使8251A8251A对同步字符进行搜索,复位状态寄存器中的出错标志,启动接收和发对同步字符进行搜索,复位状态寄存器中的出错标志,启动接收和发送,送,CPUCPU准备好数据传送。准备好数据传送。8251A8251A的地址为的地址为60H60H和和62H62H。习习 题题

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号