第8章 串行通信接口_第1页
第8章 串行通信接口_第2页
第8章 串行通信接口_第3页
第8章 串行通信接口_第4页
第8章 串行通信接口_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

1、浙江工业大学计算机学院浙江工业大学计算机学院1内容回顾内容回顾n键盘接口键盘接口l键盘的分类:按结构、按接口、按编码方式。l键盘的工作原理:线性键盘、矩阵键盘(行扫描法、行列反转法、行列扫描法)。去抖和重键问题。n鼠标接口鼠标接口l鼠标的工作原理。l鼠标的分类。l鼠标的接口。l鼠标接口的编程。2内容回顾内容回顾nLED接口接口lLED显示器的结构:七段、共阴极/共阳极。lLED显示器的工作原理:静态显示、动态显示。n打印机接口打印机接口l打印机的组成与分类。l打印机接口标准:Centronics接口。l打印机接口的编程:直接编程、BOIS/DOS功能调用。n音频设备接口音频设备接口l音频处理技

2、术:采样、量化。l声卡的组成和接口。34第八章第八章 串口通信接口串口通信接口可编程串口芯片8251A4串行通信协议2串行通信接口标准3PC 机中的串口应用5串行通信基本概念1 8.1 串口通信基本概念串口通信基本概念5l并行传送方式并行传送方式以字长为单位进行传送,用多根线一次传送多位数据。特点特点:传送速度快。但使用信号线多,成本高成本高;且信号线间电容会引起串扰串扰,不适合远距离传送。一般用于外设与微机间近距离近距离、大量和快速的传输。l串行传送方式串行传送方式通过一根一根线一位一位顺序传输数据。缺点缺点:速度慢。但传输线少,成本低。适合于远距离、低速率远距离、低速率的数据传输。l单工方

3、式单工方式 只允许在一个方向上传送数据。l半双工方式半双工方式 双方均具备发送、接收能力,但同一时刻只能进行一个方向的传送。l全双工方式全双工方式 收发双方可同时进行双向的数据传送。6 (1) 串行通信的数据传送方式串行通信的数据传送方式TRRTTTRRTRn比特率与波特率比特率与波特率l比特率:每秒传送的二进制二进制位数,单位:bit/s。l波特率:每秒传送的进制进制位数,单位:bout/s。l两者的关系:比特率波特率比特率波特率log2N。例:传16进制数时,比特率 = 4 波特率。计算机内部均采用二进制,故比特率波特率。7 (2) 通信速率通信速率【例8-1】某通信系统每秒传输50个字符

4、,每个字符包含8位八进制八进制数,计算其比特率。 解:解: 比特率为 50831200bit/s。n收收/发时钟与波特率因子发时钟与波特率因子l串行通信时,收发双方需用时钟信号来同步同步。收/发时钟直接决定了通信线路上的数据传输速率。l发送端在TxClk使数据送入移位寄存器移位寄存器串行输出。l接收端在RxClk将传输线上的数据逐位打入移位寄存器。8国际上规定了标准的波特率系列标准的波特率系列,常用的标准值为110、300、600、2400、4800、9600和19200波特。l为提高抗干扰能力,往往用多个时钟来用多个时钟来调制调制一位二进制数。调制一位二进制数的时钟个数称为波特因波特因子子(

5、Factor)。l收/发时钟频率与波特率的关系为:TxClk/RxClk = Factor Baud.lFactor一般取1, 16, 32 或 64。异步通信时常取16;同步通信则必须1。 9n调制与解调l原因原因:数字信号包含很多直流和低频成分,直接传输时会严重衰减衰减,从而在接收端产生严重畸变严重畸变和失真失真。l解决办法解决办法:发送方使用调制器调制器 (Modulator),把要传送的数字信号转换为适合在线路上传输的模拟信号。接收方则使用解调器解调器(Demodulator)将模拟信号还原为数字信号。l双工和半双工通信设备,既要发送数据又要接收数据,故可将调制器和解调器做在一起,形成

6、调调制解调器制解调器(Modem)。10 (3) 信号的调制与解调信号的调制与解调11n调制解调器类型l幅移键控(ASK)、频移键控(FSK)和相移键控(PSK)。12l一般采用频移键控频移键控(FSK)的方法。当信号为 1 时,开关1 闭合,开关 2 断开,经放大器输出频率1的信号;当信号为 0 时,开关 1 断开,开关 2 闭合,经放大器输出频率 2 的信号。13如何自动控制?如何自动控制?补充:电子开关控制方法补充:电子开关控制方法继电器继电器l定义:是一种当输入量达到一定值时,输出量将发生跳跃式跳跃式变化的自动控制器件。l用途:能够以较小电流控制大电流的导通和切断较小电流控制大电流的导

7、通和切断,相当于一种“自动开关”,在电路中起自动调节、安全保护、转换电路等作用。l分类:普通、干簧管式继电器14普通继电器普通继电器15干簧继电器干簧继电器l组成:干簧管+线圈。干簧管由2或3片铁镍台金“舌舌” 簧片簧片构成,舌簧片的触点部分镀有贵金属(金、铑、钯等),以使其接通后良好的导电性能。l舌簧片被密封密封在充有氮气等惰性气体的玻璃管内,防外界尘埃、污染和腐蚀,可靠性高,寿命长。1617 l未通电时所处的状态、外形展示18内容概要内容概要可编程串口芯片8251A4串行通信协议2串行通信接口标准3PC 机中的串口应用5串行通信基本概念1l 数据传送方式:单工、双工、半双工l 通信速率:比

8、特率、波特率l 信号的调制与解调 8.2 串口通信协议串口通信协议19l通信协议:为使通信能顺利进行,数据收发双方必须共同遵守的通信规程通信规程,称为通信协议。l通信协议的基本内容:波特率波特率:双方约定的数据收/发速率。数据格式数据格式:双方约定的帧格式及控制信息的定义等。帧同步帧同步:接收方获知一批数据开始和结束的方法。位同步位同步:接收方从数据流中正确采样到每位数据的方法。差错校验方式差错校验方式:接收方判断收到数据正确性的方法。l串行通信协议的分类:异步异步串行通信协议同步同步串行通信协议l特点特点以字符为单位以字符为单位进行信息传送。字符间异步,字符内各字符间异步,字符内各位之间同步

9、位之间同步。字符与字符之间没有严格的定时要求,其间隙任意。一旦开始传输一个字符,收发双方必须按照约定的速率,在时钟的作用下,一位一位地进行同步传输。l帧格式帧格式数据格式包括:同步信息同步信息(数据的开始与结束)、数数据信息据信息和校验信息校验信息。20 (1) 异步串行通信协议异步串行通信协议采用极性相反极性相反的起始位和停止位提供准确的时间基准。一次传送1个字符个字符。具有信息校验,可靠性高可靠性高。传输速率较慢,效率低效率低( 80%)。一般用于数据量较小、传输率较低的场合。21可为任意可为任意多位多位起止式起止式的异步的异步串行通信串行通信【例8-2】异步传输 ASCII 码,每个字符

10、 7 位 ,如果数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,问:(1) 波特率为多少?(2) 有效数据位传输率是多少?(3) 传输效率是多少? 解题分析:解题分析: (1) 波特率:(1+7+1+1) 240 = 2400 bout/s (2) 有效数据位传输率:7240 = 1680 bout/s (3) 传输效率是:1680/2400=70% (7/10 = 70%)22【例8-3】某计算机采用异步串行通信方式,数据格式为:8位数据位,奇校验奇校验,2位停止位。试画出传送字符“A”时通信线路上的波形。l解题分析:解题分析: 字符A的ASCII码为0100 0001,按照先

11、低位后高位的顺序。前面加1位起始位“0”,后加奇校验位“1”和2位停止位“11”。231010l特点特点字符与字符间同步,字符内各位之间也同步字符与字符间同步,字符内各位之间也同步。不使用起始位和停止位来标识字符的开始和结束,而是用一串特定的二进制序列二进制序列(同步字符同步字符),来通知接收方串行数据的第一位何时到达。传输效率高,速度快,但其技术复杂,硬件开销大硬件开销大。一般用于高速数据传输场合。l分类分类面向字符面向字符的同步通信:一帧数据由若干个字符组成。面向比特面向比特的同步通信:一帧数据由任意位 bit 组成,主要用于二进制的传输。24 (2) 同步串行通信协议同步串行通信协议面向

12、字符的同步通信面向字符的同步通信l数据块由字符字符组成,字符连续,其间不留空隙。l要求收发双方时钟完全同频同相同频同相,不能有一点误差。l近距离传送时,可在传输线上增加一条时钟线时钟线,以确保收发双方使用同一时钟。远距离传送时,可通过 Modem 从数据流中提取同步信号提取同步信号。25l分类分类根据对同步信号的检测方式,可分为:内同步内同步:对同步信号的检测和同步控制在串行接口芯片内部芯片内部进行。单同步单同步:只有一个字节的同步字符。双同步双同步:有两个字节的同步字符。外同步外同步:对同步信号的检测在串行接口芯片的外部芯片的外部进行。当外部硬件电路检测到同步字符时,向串行接口发一个同步信号

13、同步信号SYNC。串行接口收到同步信号后,立即开始接收信息。2627l典型的典型的面向字符面向字符的同步通信协议的同步通信协议IBM BSCBSC:Binary Synchronous Communication。一帧传输由若干字符若干字符组成,比异步起止式传输效率高。规定了10个通信控制字符个通信控制字符,作为数据块的开始和结束标志以及整个传输过程的控制信息,增强了通信控制能力和校验功能。28帧格式29SYNSYNSOH标题STX数据块ETB/ETX块校验面向面向 比特比特的同步通信的同步通信l一帧数据可由任意位组成。l靠约定的位组合模式位组合模式来标志帧的开始和结束帧的开始和结束。308位

14、位8位位8位位0位位16位位8位位01111110ACIFC01111110开始标志地址域控制域信息域校验域结束标志l典型的典型的面向比特面向比特的同步通信协议的同步通信协议IBM的SDLC(同步同步数据链路控制,Synchronous Data Link Control)。ISO的HDLC(高级高级数据链路控制,High Level Data Link Control)。ANSI的ADCCP(高级数据通信控制规程高级数据通信控制规程,Advanced Data Communications Control Procedure)。31lSDLC/HDLC协议的帧格式协议的帧格式标志域标志域:开

15、始和结束标志,提供了每帧信息的边界。标志字符为01111110。地址域地址域 (A: Address):规定了与之通信的目标地址。控制域控制域 (C: Control):规定了若干个命令。信息域信息域 (I: Information):包含要传送的数据。数据域为0时表示该帧为控制命令。帧校验域帧校验域 (FC: Frame Check):采用16位CRC校验。328位位8位位8位位0位位16位位8位位01111110ACIFC01111110开始标志地址域控制域信息域校验域结束标志lSDLC/HDLC实际应用时的实际应用时的2个技术问题:个技术问题:“0”位插入位插入/删除技术删除技术:信息域

16、中可能存在和标志字节01111110相同的字符,为了区别,发送端在发送除标志字节外的信息时,当遇到连续5个“1”时,就自动插入一个“0”。接收端若连续接收到5个“1”时,就自动删除其后的一个“0”,恢复信息。SDLC/HDLC异常结束异常结束:发送过程若出现错误,用异常结束字符使本帧作废。在HDLC规程中,失效字符为7个连续的个连续的“1”,在SDLC中为8个连续的个连续的“1”。异常结束字符中不使用“0”位插入/删除技术。338位位8位位8位位0位位16位位8位位01111110ACIFC01111110开始标志地址域控制域信息域校验域结束标志34内容概要内容概要可编程串口芯片8251A4串

17、行通信协议2串行通信接口标准3PC 机中的串口应用5串行通信基本概念1l 异步异步串行通信协议(起止式)l 同步同步串行通信协议:内同步、外同步 8.3 串口通信接口标准串口通信接口标准35l常用的串行通信接口标准常用的串行通信接口标准RS-232C标准标准:最常用的标准,是基础。全称:EIA-RS-232C标准 (Electronic Industrial Associate-Recommended Standard-232C)。由美国电子工业协会 (EIA) 于1969年颁布。最初用于远距离通信。适合数据速率在020Kb/s范围内通信。RS-422A标准RS-485标准l数据终端设备数据终

18、端设备DTE(Data Terminal Equipment):通常指计算机或I/O设备。代表数据源数据源和目的地目的地。l数据通信设备数据通信设备DCE(Data Communication Equipment):又称数据装置(Data Set),通常为Modem。作用作用:使数使数据符合线路要求据符合线路要求。36 (1) RS-232C标准的设备类型标准的设备类型串行通信系统串行通信系统 RS-232C标准规定了22根根控制信号线,实际常常只用到39根,多采用9针针或25针针的D型头来连接。37 (2) RS-232C标准的信号功能标准的信号功能38DB-25型连接器DB-9型连接器实际

19、异步通信时,只实际异步通信时,只需需9个信号个信号:2个数据个数据信号、信号、6个控制个控制信号、信号、1个信号地线个信号地线。n信号线含义信号线含义(从从数据终端角度数据终端角度来定义来定义):TxD:串行数据发送端,输出。RxD:串行数据接收端,输入。RTS:请求发送信号请求发送信号,输出。为高时表示终端要向Modem或其它通信设备发送数据。CTS:清除发送信号清除发送信号,输入。是对RTS的响应。当当Modem或外设准备好接收或外设准备好接收来自终端的数据时,该信号有效。DTR:终端准备就绪信号,输出。为高时表明终端准备好终端准备好接收接收来自Modem或外设的数据。DSR:数据装置准备

20、就绪信号,输入。为高时表明Modem或外设准备好发送数据或外设准备好发送数据。DCD:接收信号检测接收信号检测,输入。为高时表明Modem收到通信线路另一端Modem送来的正常载波信号。RI:振铃提示振铃提示,输入。当高时表明Modem收到交换台送来的振铃信号。39lRS-232C电平:负逻辑逻辑“1”:-3V -15V逻辑“0”:+3V +15VlTTL电平:正逻辑逻辑“1”: 2.4V逻辑“0”: 15米时米时)41 (4) RS-232C的连接方式的连接方式l不使用Modem时(距离 15米时米时)42nRS-422A接口标准:传输距离更远接口标准:传输距离更远l平衡方式传输:发送端平衡

21、发送,接收端差分接收。l两条传输线间的电位差决定电平值:AA-BB 200mV表示逻辑“1”;AA-BB 200mV 表示逻辑“0”。l最大传输率:10Mbps;传输距离:15m(10Mbps) 1200m(90Kbps)。43 (5) 其它串行通信标准其它串行通信标准MC3487MC3486A RS-422A电平电平 AB B平衡发送器平衡发送器 差动接收器差动接收器lRS-422A平衡式接口电路44四路差动线路驱动器四路差动线路驱动器 具有三态输出的四路差动线路接收器具有三态输出的四路差动线路接收器 nRS-485接口标准接口标准l是一种多发送器多发送器、平衡式传输的串行接口标准。与RS-

22、422A 兼容,但扩充了RS-422A的功能。l采用差分发送和差分接收差分发送和差分接收,抗干扰能力强。l传输距离:在没有Modem的情况下使用双绞线直接连接时,传输距离为15m (10Mbps) 1200m(100Kbps) 。l采用共线结构,实现多个收发器共用一条传输线多个收发器共用一条传输线的多点应用。允许在平衡电缆上连接32对收发器,能实现多点对点的通信,容易联网构成分布式系统。4546内容概要内容概要可编程串口芯片8251A4串行通信协议2串行通信接口标准3PC 机中的串口应用5串行通信基本概念1l RS-232C标准的设备类型l RS-232C标准的信号功能l RS-232C标准的

23、电平特性l RS-232C标准的连接方式l 其它串口标准:RS-422A/RS-485 8.4 可编程串口芯片可编程串口芯片8251A47lIntel 8251A是一款可编程的通用同步通用同步/异步接收发送器异步接收发送器(USART:Universal Synchronous Asynchronous Receiver and Transmitter)。l基本性能:基本性能:可工作在同步同步或异步异步方式。同步方式时,波特率为064Kbout/s。字符58位可选,支持内、外同步,可自动插入同步字符自动插入同步字符。异步方式时,波特率为019.2Kbout/s。字符58位可选,波特率因子波特率

24、因子可选为1,16,64。具有独立的发送器和接收器,能以单工、半双工和全双工方式进行通信。提供基本的控制信号,能方便地与与Modem相连相连。48 (1) 内部结构内部结构49l数据总线缓冲器数据总线缓冲器8位三态双向缓冲区,用于在CPU与8251之间传送数据、状态和控制信息。l读读/写控制逻辑写控制逻辑对CS, RD, WR, C/D等信号进行译码,以确定8251的操作。50l调制解调器控制调制解调器控制远距离远距离通信时,提供与Modem联络的信号。近距离近距离串行通信时,提供与外设联络的信号。51l发送器发送器发送缓冲器发送缓冲器 + 发送移位寄存器发送移位寄存器 + 发送控制电路发送控

25、制电路。发送控制电路用来控制和管理发送过程。在其控制下,发送缓冲器将来自CPU的并行数据串行化,通过TxD发送出去。异步异步方式:控制电路在数据帧中加上起始、校验和停止位起始、校验和停止位。同步同步方式:控制电路在数据帧中插入同步字符和校验位同步字符和校验位。 同步方式发送过程中,两字符间不允许有间隔。若CPU未及时提供新字符,则控制电路自动补上同步字符自动补上同步字符。52l接收器接收器接收缓冲器接收缓冲器 + 接收移位寄存器接收移位寄存器 + 接收控制电路接收控制电路。接收控制电路用来控制和管理接收过程。在其管理下,接收器从RxD上接收串行数据,并行化后存入接收缓冲器。异步异步方式:825

26、1监视RxD线。当发现时,开始接收一帧数据。经校验后剔除起始位和停止位剔除起始位和停止位等,将有效信息转换为并行数据存入接收缓冲器。同步同步方式:8251监视RxD线,依次对数据移位。每收到一位,都将接收寄存器与同步字符比较与同步字符比较。若不等,则移入下一位继续比较;若相等,则表示搜索到同步字符,SYNDET=1。这时在RxC的同步下移位RxD上的数据,并将其组装成并行数据,送入接收缓冲器。53 (2) 外部引脚外部引脚l28引脚的DIP封装。l信号分为4组:发送器信号接收器信号读写控制逻辑信号Modem控制信号54TxRDY: 发送器准备就发送器准备就绪绪。为1表CPUCPU可写入可写入新

27、的数据新的数据。可作中断请求信号。TxEmpty: 发送器空发送器空闲闲。为1表发送移位寄存器为空。RxRDY: 接收器就绪接收器就绪。若已接已接收到数据并将其变为并行时收到数据并将其变为并行时,RxRDY变高,通知CPU来取数据。可作中断请求信号。SYNDET: 同步检测信同步检测信号号。内同步时,输出。外同步时输入。55l发送器引脚发送器引脚TxRDY:发送器准备就绪。为1时CPU可将数据写可将数据写入入8251A。中断方式时,可作为中断请求信号。TxC:发送时钟。同步方式下, 其频率等于等于发送数据的波特率;在异步方式下, 其频率是发送波特率的1、16或或64倍倍,具体的倍数可编程设定。

28、TxD:数据发送端,输出串行数据。TxEMPTY:发送器空。为1表发送移位寄存器空移位寄存器空。56l接收器引脚接收器引脚RxD:数据接收端,用来接收外部输入的数据。RxC:接收时钟,输入。同步方式下,其频率等于等于接收数据的波特率;异步方式下,其频率是接收波特率的1、16或64倍。57SYNDET/BRKDET:同步检测/间断检测信号。 同步方式下,用于同步检测同步检测 (SYNDET)。内同步时,8251内部搜索到同步字符时,SYNDET输出输出1。外同步时,外部电路找到同步字符后,向SYNDET引脚引脚输入输入高电平高电平,则8251开始接收数据。 异步方式下,用于间断检测间断检测 (B

29、RKDET)。为1表示收到对方发来的间断码间断码。RxRDY:接收器准备好信号。当接收缓冲器接收到串行数据且并行化后接收到串行数据且并行化后,RxRDY=1,通知CPU读取数据。CPU读取后,RxRDY变为0。中断方式时,该信号可作为中断请求信号。58l读读/写控制逻辑引脚写控制逻辑引脚Reset:复位。使线路处于空闲状态。CLK:时钟输入。同步方式:频率要大于波特率的30倍倍;异步方式:频率要大于波特率的4.5倍倍。CS、RD、WR:RD 有效时,CPU读取接收缓冲器的数据;WR有效时,CPU将数据写入发送缓冲器。C/D:控制/数据信号,输入。当C/D = 1时,数据总线上传送的是控制字、命

30、令字或控制字、命令字或状态字状态字。当C/D = 0时,数据总线上传送的是数据数据。59lModem控制信号引脚控制信号引脚RTS:请求请求发送信号,输出。有效时,表CPU已准备好发送数据。CTS:清除清除发送信号,输入。它是RTS的应答信号,有效时表Modem或外设已做好接收数据准备。DTR:数据终端就绪数据终端就绪信号,输出。有效时,表示CPU 准备好进行数据接收接收。DSR:数据数据装置就绪装置就绪信号,输入。它是DTR的应答信号,有效时表Modem或外设已准备好发送数据已准备好发送数据。60 (3) 8251编程编程l8251A内部有2个命令字和1个状态字。方式命令字方式命令字:指定8

31、251A的通信方式通信方式 (同步、异步)及其约定的数据帧格式数据帧格式。初始化初始化时使用。操作命令字操作命令字: 指定8251A进行何种操作何种操作(发送、接收、内部复位等); 设置某种工作状态设置某种工作状态,以便接收和发送数据。状态字状态字:报告8251A何时何时可发送和接收数据,以及接收的数据有无错误有无错误。61n方式命令字方式命令字1: 奇偶校验奇偶校验0: 不用不用S2S1EPPENL2L1B1B0D7D6D5D4D3D2D1D000: 同步方式同步方式01: 异步异步 (1)10: 异步异步 (16)11: 异步异步 (64)00: 长度长度5位位01: 6位位10: 7位位

32、11: 8位位1: 偶校验偶校验0: 奇校验奇校验同步方式:同步方式:SYN/内内/外外00: 2个个SYN,内同步,内同步01: 2个个SYN,外同步,外同步10: 1个个SYN,内同步,内同步11: 1个个SYN,外同步,外同步异步方式:异步方式:停止位停止位00: 无效无效01: 1个停止位个停止位10: 1.5个停止位个停止位11: 2个停止位个停止位【例8-3】某异步通信的数据格式为:1位起始位,2位停止位,奇校验,8位数据,波特率因子为16。设8251A控制端口地址为309H,试写出初始化代码段。 62MOV DX,309H MOV AL, 11 01 11 10B ;异步方式字O

33、UT DX,AL【例8-4】某同步通信的数据格式为:双同步字符、内同步方式,奇校验,字符长度8位。设8251A地址端口为309H,试写出初始化代码段。 MOV DX,309H MOV AL, 00 01 11 00B ;同步方式字OUT DX,AL63n操作命令字操作命令字EHIRRTSERSBRKRxEDTRTxEND7D6D5D4D3D2D1D0发送允许发送允许1: 允许允许0: 禁止禁止1: 数据终端准数据终端准备就绪备就绪(使使DTR有效有效)接收允许接收允许1: 允许允许0: 禁止禁止送间断字符送间断字符1: TxD为低为低0: 正常工作正常工作1: 错误标错误标志复位志复位1: 请

34、求发送请求发送(使使RTS有效有效)1: 内部复内部复位,回到位,回到初始状态初始状态1: 启动搜索同启动搜索同步字符步字符【例8-5】要使8251A内部复位,请写出代码段。(设8251地址端口为309H ) 64MOV DX,309H MOV AL, 0100 0000B ;内部复位OUT DX, AL【例8-6】某异步通信,若同时允许发送和接收。试写出代码段。(设8251地址端口为309H ) MOV DX,309H MOV AL, 0000 0101B ;允许发送和接收OUT DX, AL65n状态字:状态字:存放在状态寄存器中,供 CPU 读取。DSRSYNDETTEOEPETxEmp

35、tyRxRDYTxRDYD7D6D5D4D3D2D1D0发送缓冲发送缓冲器就绪器就绪奇偶奇偶校验错校验错溢出错溢出错校验错校验错无停止无停止数据装置数据装置准备好准备好和相应引脚的和相应引脚的定义完全相同定义完全相同【例8-6】串行通信中,发送时需查询发送器发送器是否准备好。其程序段为: 66L:MOV DX,309H IN AL, DX TEST AL, 01H;查询发送器是否准备好 JZ L;未准备好则继续查询【例8-7】串行通信中,接收时需查询接收器接收器是否准备好。其程序段为: L:MOV DX,309H IN AL, DX TEST AL, 02H;查询发送器是否准备好 JZ L;未

36、准备好则继续查询67n8251A初始化编程初始化编程l8251A的方式命令字和操作命令字写入同一控制同一控制端口端口地址,采用顺序写入法顺序写入法。l系统复位后,必须先写入方式命令字先写入方式命令字,再写入操再写入操作命令字作命令字。68l编程顺序l接通电源时硬件硬件自动复位自动复位。l为确保写方式字和命令字之前已正确复位,应向8251A控制口连连续写入续写入3个个0,然后再写入复位字写入复位字(D6=1) 。【例8-8】已知串行通信中, 8251为同步传送,有2个同步字符,内同步,偶校验,7位数据位,同步字符为16H 。设8251控制口地址为1F2H,试写出初始化程序段。 69 MOV DX

37、,1F2H;控制口地址 MOV BL,3 ;设置发送0的次数 MOV AL,00HLL: OUT DX,AL ;连续发送3个0 DEC BL JNZ LL MOV AL,40H ;送复位命令字 OUT DX,AL70MOV AL,38H ;方式命令字方式命令字:2个同步字符,内同步,OUT DX,AL ;偶校验,7位数据位MOV AL,16H ;第1个同步字符同步字符,同步字符为16H OUT DX,AL OUT DX,AL ;第2个同步字符同步字符,同步字符为16HMOV AL,15H ;操作命令字操作命令字:错误复位、允许发送、OUT DX,AL ;允许接收【例8-9】已知某系统使用 82

38、51异步串行通信,波特因子为64,偶校验,1位停止位,7位数据位。8251与外设有握手信号,采用查询方式传送。CPU地址线的A1接8251的C/D端, 8251两个端口地址为1F2H和1F0H,试编写发送字符A的程序段。71 MOV DX,1F2H;控制口地址 MOV BL,3 ;设置发送0的次数 MOV AL,00HLL: OUT DX,AL ;连续发送3个0 DEC BL JNZ LL MOV AL,40H ;送复位命令字 OUT DX,AL72MOV AL,7BH ;方式字方式字:异步,波特因子64,偶校验,MOV DX,AL ;1位停止位,7位数据位MOV AL,11H ;操作命令字操

39、作命令字:允许发送、错误复位OUT DX,AL ;WAIT:IN AL,DX ;读取状态字TEST AL,01HJZ WAIT ;TxRDY=0,则继续等待MOV DX,1F0H ;发送数据到数据端口MOV AL,AOUT DX,AL【例8-10】设A、B两台PC机利用8251通过RS-232串口进行通信。要求将A机内存缓冲区Tx_buf的100个字符发送到通信线上,B机接收线路上的字符,存放至接收缓冲区Rx_buf中。设两机之间采用查询方式异步传送,8位数据位,1位停止位,奇校验,波特率因子为16。8251两端口地址为1F0H和1F2H,CPU地址线A1接其C/D引脚。试编程实现以上串行传输

40、过程。7374近距离通信时,不使用Modem,多采用三线零调制法三线零调制法MC1488:TTL RS232MC1489:TTL RS232CPU的CLK经过8253分频得到TxCLK和RxCLKA机的发送程序:75 MOV DX,1F2H;控制口地址 MOV BL,3 ;设置发送0的次数 MOV AL,00HLL: OUT DX,AL ;连续发送3个0 DEC BL JNZ LL MOV AL,40H ;复位命令字 OUT DX,AL MOV AL,5EH ;方式字方式字:异步,8位数据,1位 OUT DX,AL ;停止位,奇校验,波特因子16 MOV AL,11H ;操作命令字操作命令字:

41、允许发送,错误复位 OUT DX,AL76 LEA SI, Tx_buf;发送缓冲区首址送SI MOV CX,100;设置计数初值WAIT1:MOV DX,1F2H IN AL,DX;读取状态字 TEST AL,01H JZ WAIT1;发送器未就绪,则继续等待 MOV AL, SI MOV DX,1F0H;发送字符 OUT DX, AL INC SI LOOP WAIT1;未发送完100个字符,则继续B机的接收程序:77 MOV DX,1F2H;控制口地址 MOV BL,3 ;设置发送0的次数 MOV AL,00HLL: OUT DX,AL ;连续发送3个0 DEC BL JNZ LL MO

42、V AL,40H ;复位命令字 OUT DX,AL MOV AL,5EH ;方式字方式字:异步,8位数据,1位 OUT DX,AL ;停止位,奇校验,波特因子16 MOV AL,14H ;操作命令字操作命令字:允许接收,错误复位 OUT DX,AL78 LEA DI, Rx_buf;接收缓冲区首址送DI MOV CX,100;设置计数初值WAIT2:MOV DX,1F2H IN AL, DX;读取状态字 TEST AL,02H JZ WAIT2;接收缓冲器未就绪,继续等待 TEST AL,38H;检查是否有错检查是否有错 JNZ ERROR MOV DX,1F0H;接收字符 IN AL, DX MOV DI,AL INC DI LOOP WAIT2;未接收完100个字符,则

温馨提示

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

评论

0/150

提交评论