




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章 串行通信及器接口电路一、串行通信及其分类在微机系统中CPU与外设间的数据传送,分为串行传送和并行传送。所谓串行通信是指,在发送和接收设备间,被传送数据的各位在一根数据线上依次传送的方式叫串行通信方式,在并行通信中,数据有多少位就需要有多少条传送线,而串行通信只需要一条传送线。所以其特点是速度相对较低、但硬件成本低,适合于远距离数据传送。串行传送的基本原理为:发送设备 TXDRXD 接收设备发送设备首先从数据线上输出一个字符的最低位,使该位在数据线上保持T时间,在该时间内,接收设备,对数据线上的进行采样,并保存,直到一个数据的最高位输出完成,就实现了一个字符或数据的串行传送。1、按同步方式分类:在串行通信中,同步是一个关键问题,所谓同步包含两个方面的问题:(1) 帧(Frame)同步:在串行通信中数据往往是以帧的形式出现的,在一帧数据中可以传送一个字符或数据也可以传送多个字符或数据,那么接收方如何识别那里是数据的起始,从而达到与发送方保持同步,就是所谓的帧同步问题。(2) 位同步:在微机中数据是由二进制表示的,一个字符由多位二进制数表示,如:字符“A”用ASCII码表示为:01000001B在数据发送过程中 该字符在数据线上为如下形式: 设每一位数据在数据线上持续的时间为T,要求,接受方必须在每一位在数据线上的持续时间内读取该数据,这就是位同步问题。 根据在系统中实现这两种同步的方法的不同,两种最基本的通信方式:(1)同步传送同步传送方式是指发送和接收方采用同一时钟进行位同步,用在数据块开始处用同步字符来指示表示帧起始的方法进行同步的串行传送方式。位同步的实现:发送方在发送数据的同时将发送时钟也发送到接收方,发送方在每个发送时钟的下降沿改变数据,接收方在每个时钟的上升沿从数据线上采集数据。从而保证了数据的位同步,贞同步的实现:为了使接收方识别帧起始,在发送每一个数据块前,发送1-2个同步字符,当接收方从数据线上采集到同步字符后,认为后面接收到的才是数据。(2)非同步(异步)通信ASYNC(Asynchronous Data Communication)并非不需要同步,只是采取的同步方法与同步方式有所不同,它在一帧数据前不是加了一个同步字符,而是加了一个起始位来表示字符的开始,用停止位表示字符的结束,而发送和接收方各自采用自己的时钟发生器。基本原理如图所示。帧同步方式的实现:在异步串行传送中一帧数据由四部分组成:起始位、数据位、校验位、停止位,其中校验位是可选的。 发送方在不发送数据时,保持数据线上为高电平,接收方在工作过程中,始终以接收时钟频率(f2)对数据线上的数据进行采集,发送方在发送数据时,以频率为f1的时钟发送数据,其中N=f1/f2称为波特率因子,一般取值可为:1、16、64 。一般在发送端是由发送时钟的下降沿使送入移位寄存器的数据串行移位输出。而接收端则是在接收时钟的上升沿作用下将传输线上的数据逐位打入移位寄存器。 在发送方发送数据时,首先发送起始位,然后是数据各位,校验位和停止位;当接受方从数据线上采集到第一个低电平后,将计数器清零,依次在计数值为0、N/2 时对数据线进行第二次采用,当确认第二次为低电平时,认为是一帧数据的起始位,并将计数器清零,每到计数值为N/2 时对数据线进行一次采样,作为该位的数据值直到停止位。如果其中第二次为高电平,认为其低电平为干扰信号,重新开始起始位的查找,一旦确认起始位后, 由此可见在异步串行通信中,帧同步是靠起始位的检测来保证的,而位的同步则是靠发送和接收方的时钟发生器的精度来保证的。由此可见与同步串行通信相比其特点:(1)异步通信的一帧数据一般只传送一个字符,主要是由于时钟发生器的精度限制,而同步串行通信中由于发送和接收方采用的是同一个时钟,不存在发送和接收方在时钟上的差异,所以一帧数据可以传送多个数据;(2)异步通信方式的传送效率相对较低 传送效率:(有效信息为数/总传送数据位数)*100% 这主要是由于在异步通信中有起始位和停止位等一些无效位。(3) 同步传送过程中字符与字符间不允许有间隙,而异步数据传送过程中字符间的间隙是任意的。2)从数据传送方向分类:通常串行通信,数据在两个站之间是双向传送的,A站可作为发送端,B站作为接收端,也可以A站作为接收端,而B站作为发送端,根据要求又可以分为半双工和完全双工两种。二、串行通信中的相关概念(1) 波特率、传输效率(同步、异步)单位时间内传送的二进制数据的位数,以位/秒(bps)表示,也称为数据位率。它是衡量串行通信速率的重要指标。设传送波特率为B 时,可知一位数据在数据线上的持续时间T=1/B,即传输率越高,数据在数据线上持续的时间越短。为了使不同生产厂家生产的串行通信产品实现互连,国际上颁布了一个标准的波特率系列: 120、 240、 480、960、 1200、2400、4800、9600 19200(bps)例题: 异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,则: 1)波特率应该是多少?2)有效数据位传输位是多少?3)传输效率是多少?答:1)波特率是(7位数据位+1位起始位+1位校验位+1位停止位)240 =2400b/s2)有效数据位传输位是 :7240=1680bps3)传输效率是:1680/2400=70%(2)信号调制解调 在通信系统中,为了降低系统成本,有时利用已有的电话网络进行串行通信,如果数字信号直接在公用电话网的传输线上传送,高次谐波的衰减会很厉害,从而使信号到了接收端后将发生严重畸变和失真。 一般电话线上信号传输的频带为:30HZ-3400HZ。 发送方使用调制器(Modulator),把要传送的数字信号调制转换为适合在线路上传输的音频模拟信号;接收方则使用解调器(Demodulator)从线路上测出这个模拟信号,并还原成数字信号。 调制方法:按照调制技术的不同分为调频(FM)、调幅(AM)和调相(PM)三种,根据传输数字信号的变化规律去调整载波的频率、幅度或相位 。 (3)数据通信设备和数据终端设备数据终端设备(DRE):在通信系统中,数据的发送或接受设备;数据通信设备(DCE):在通信系统中,为了提高传输性能而设置的设备。(3)信道复用为了节省通信系统的硬件成本,在通信系统中,通常采用多套通信系统共同占用同一通信线路的方式。一般常用的有两种:1)时分多路复用TDM(Time Division Multiplexing),就是将一条物理传输线路按时间分成若干时间片轮换地为多个信号所占用,每个时间片由复用的一个信号占用。 将时间划分为n段在每一个时间片内由A、B两地的n对设备之一占用通信线路。频分多路复用FDM(Frequency Division Multiplexing)就是利用频率调制原理,将要同时传送的多个信号进行频谱搬移,使它们互不重叠地占据信道频带的不同频率段,然后经发送器从同一信道上同时或不同时地发送出去。 各发送方在数据发送时,将二进制数据信号调制到一个特定的频率段上,在接收方对特定频段上的数据进行解调,将数据恢复成二进制数据。(4)RS232-C串行接口标准在国际上为了实现不同生产厂家的产品互连,对串行通信颁布了很多标准,RS232-C,是其中最重要的标准之一,美国电子工业协会EIA制定的通用标准串行接口标准,目前绝大多数PC机上均采用的是该标准。另外常用的还有RS485等标准。以下对RS232C标准进行介绍:1、电气特性应保证电平在(515)V之间 对于数据线:逻辑“1” (MARK)= -3V - 15V, 逻辑“0” (SPACE) = +3V+15V标准TTL电平高电平:2.4V5V低电平:0V0.4V 一般两台均采用RS232接口标准的系统中(两台微机)间的串行通讯不需要进行电平转换,而在通信一方为微机,而另一方采用TTL标准的系统中通常需要电平转换,常用专用电平转换器件: 1488 TTL -RS232电平 1489 RS232 -TTL 电平2、传输特性 从特性曲线上可以看出:传送速率越高,传送的距离越短,一般应用情况下,RS-232C的最高传输速率为20Kb/s,最大传输线长度为15m。 无Modem时,最大通讯距离的计算:RS-232C标准规定:当误码率小于4%时且传输波特率为19200时,要求导线的电容值应小于2500PF。普通导线的电容值约为170PF/M。则允许距离L=2500PF/(170PF/M)=15M3 RS232串行通信的标准接口信号在标准的RS232接口中有九个信号:TXD :发送RXD:接收SG:信号地DSR:输入,数据设备(DCE)准备好DTR:输出,数据终端 DTE(即微机接口电路, 如8250/8251)准备好RTS:DTE请求DCE发送CTS:DCE允许DTE发送,该信号是对RTS信号 的回答。DCD:数据载波检出:当本地DCE收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收,并且由DCE将接收到的载波信号解调为数字信号,经RXD线送给DTE。RI: 振铃信号当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。三、可编程串行通信接口芯片8250通用可编程串行通信接口芯片是INTEL 公司生产的一款专门用于异步串行通信系的接口电路,目前在PC机中仍然采用的是该芯片。1、芯片功能:(1)异步串行通信可编程接口芯片(2)可进行全双工、半双工串行通信;(3)有多种数据帧格式可选:1位起始位 数据位:5、6、7、8位校验:是否校验、奇或偶校验停止位:1、1.5、2 波特率因子:16(4)可编程设定数据传送速度(5)具有对调制/解调进行控制的内部和相关外部引脚。2、8250的内部编程结构总线数据缓冲器:构成内部数据总线和外部数据总线的数据通道,实现总线隔离,外部与系统数据总线相连,。读写控制逻辑:(1) 对外部的地址信号进行译码,选同内部的数据、状态、控制寄存器,实现CPU与串口的数据交换。(2) 接收外部的控制读写控制命令,实现对内部各寄存器的读写;MODEM控制逻辑:实现对外部调制/解调器的的管理和控制数据接收器:包括:接受数据缓冲器、输入移位寄出器和接收控制器,(双缓冲结构)其基本接收原理为:当被编程为同步传送方式时:在传送时钟的控制下,将数据从接收数据线(RXD) 上,进行采集,当接收了所设定的字符位数后,检查是否为同步字符,一旦确定为同步字符后,开始接收数据,每接收一个字符,将其送到输入数据缓冲器中,等待CPU进行读取。当被编程位异步共作方式时,在接收控制器的控制下,对数据线上进行起始位的检测,一旦检测到起始位后,开始接收数据,当接收到一个完整的数据帧后,将有效数据送到接收数据寄存器中,设置数据缓冲器满状态位,或向CPU发出中断申请,等待CPU读取数据,同时,在接收控制器的控制下接收新数据。数据发送器包括:发送数据寄存器、输出移位寄出器和发送控制器当发送功能被启动后,由CPU将通过数据缓冲器和内部总线将要发送的数据送到发送数据寄存器,在发送控制器的控制下,将数据装载到输出移位寄存器中,一位一位的从发送数据线TXD上进行发送,一旦数据被装载,自动设置状态位或向CPU发出中断申请,要求CPU下传下一个数据。3、外部引脚8250是一个具有40个引脚的芯片,按照引脚的功能将其分为3类:1) 与CPU系统的连接线*数据线: D0-D7:数据线*片选线: CS0、CS1、/CS2 CSOUT- 片选输出,当CS0、CS1、/CS2 有效时,CSOUT为高电平*地址线: A0、A1、A2: 内部寄存器选择信号:在8250内部有10个寄存器,为了实现CPU与内部各寄存器的读写,内部有一个译码器,通过对这三根地址线的译码产生内部各寄存器的选通信号。 这8根地址线共形成了8个端口地址,分别称谓端口0端口7,用这8个端口对内部的10个寄存器进行区分。 *地址选通控制线: /ADS:地址选通(锁存):当ADS为低电平是8250对CS0-CS2、A0-A2,6根线上的数据进行锁存,内部开始译码。*读写控制线: DISTR、/DISTR:数据输入选通,当DISTR为高或/DISTR为低 且三个片选均有效时,CPU可以从8250内部由A0-A3 所确定的寄存器进行读操作。(/RD)D0STR、/DOSTR:数据输出选通:当D0STR为高或/D0STR为低 且三个片选均有效时,CPU可以从8250内部由A0-A3 所确定的寄存器进行写操作。(/WR)* 复位控制线: MR- 主复位:当MR为高电平时,对内部进行复位。* 中断请求线:INTRPT-中断请求信号:当接收了一个新数据、或上一数据发送完成后,利用该引脚向CPU发出中断申请。* 驱动器禁止信号DDIS-CPU从8250读取数据时,DDIS引脚输出低电平,用来禁止外部收发器对系统总线的驱动;其他时间,DDIS为高电平2)与外设连接的有关引脚 串行数据线:接收数据线:SIN 发送数据线:SOUT用户定义输出线:/OUT1、/OUT2用户定义输出引脚:由用户定义的输出引脚,在8250内部的有一个MODEM控制寄存器,其中有两位,OUT1、OUT2 位,CPU可以通过对这两位的写入,来控制这两位的输出电平。联络线: /DTR-(输出)数据终端准备好:当CPU准备发起一次数据传送时,向8250内部状态寄存器写入命令,使该引脚为低,通知MODEM准备数据传送。/DSR-(输入)数据装置准备好,当外设或MODEM接到8250送来的数据终端准备好后,进行内部自检,如果无误回送应答信号,表示外设或MODEM也准备好,CPU可以进行启动数据传送/RTS-请求发送:当CPU准备发送一次数据传送时,向8250内部状态寄存器写入命令,使该引脚为低,通知MODEM准备数据接收数据。/CTS-清除发送:当数据终端准备进行数据发送前,向数据设备发出申请,当数据设备接到申请后,用该信号进行回应,说明已准备好发送。/RLSD-输入,接收端线路信号检出信号:又叫DCD当数据设备从线路上检测到载波信号后通知数据终端准备接受数据),主要用于具有调制/解调器的系统中RI-振铃指示:当为低电平时,表示MODEM已接收到电话振铃,主要用于具有调制/解调器的系统中3)时钟 RCLK-接收时钟: XTAL1、XTAL2 -外部时钟输出输入:BAUDOUT波特率输出:从该引脚输出一时钟信号,其频率为: f = 主参考频率/分频器在微机系统中 f=1.843200MHZ4)电源VCC:+5V VSS:04、8250内部寄存器1)通信线路控制寄存器(LCR)占用8259的端口3(A2A1A0=011)该寄存器主要用于对通信的数据格式进行定义:D7DLABD6SBD5SPD4EPSD3PEND2STBD1WLS1D0WLS0D2D1D0 数据位选择: D1 D0数据位数0 050 161 071 18D2 -停止位选择: D2=0 1 位停止位 D2=1且D1D0=00 时 1.5 位停止位(只有数据位为5位时,可选1。5位停止位) D2=1 且D1D000时 2 位停止位(数据位6、7、8位时,可选2位停止位)D3-奇偶校验允许位 D3=1 在数据帧中有校验位;D3=0 无校验位D4-奇偶校验选择位 D4=1 偶校验;到=0奇校验D5-固定奇偶位: 当选择偶校验时,传送的校验位被固定为0当选择奇校验时,传送的校验位被固定为1D3D2D10 无校验位0 0 1 设置奇校验0 1 1 设置偶校验1 0 1 校验位固定为1(不根据数据的奇偶性)1 1 1 校验位固定为0(不根据数据的奇偶性) D6-间断设置位 D6=1 迫使8250 进入间断状态,此时8250从SOUT引脚输出0电平 D6=0 退出间断状态 D7-除数锁存位 D7=1 允许CPU对8250 内部的波特率发生器中的除数锁存器进行读写 D7=0允许CPU对8250 内部的数据缓冲寄存器、发送保持寄存器和中断运行寄存器进行读写2)通信线路状态寄存器LSR 占用端口5(A2A1A0=101),该寄存器向CPU提供有关通信过程中的状态D7D6TSRED5THRED4BID3FED2PED1OED0DRD0数据准备好 D0=1 表示8250已从串行数据输入线(SIN)上接到一贞完整的数据,CPU可以用查询的方式,了解到这一情况,一旦CPU对数据寄存器进行一次读,该位被自动清0。D1-D3- 错误标志:D1=1 超越错误D2=1 奇偶校验错误D3=1 结构错误:停止位为高电平D4-间断 D4=1 表示8250接收到一个全为0的数据贞。D5-发送保持寄存器空 D5=1 表示CPU送来的数据已被送到输出移位寄存器,目前发送保持寄存器为空D6-发送移位寄存器空D7-恒为03) 发送数据保持器(THR):占用端口0(A2A1A0=000),当CPU 执行一条端口0的写入操作时,将数据写到该寄存器,用于存放CPU送来的要发送的数据,该数据在发送前装载到输出移位寄存器中,转换成规定的帧格式,进行发送。4) 接收数据缓冲器(RBR)占用端口0(A2A1A0=000),当CPU 执行一条端口0的写入操作时,将数据写到该寄存器,用于存放从串行数据输入线上送来的数据。(除了起始位、校验位和停止位)5) 除数锁存器占用端口0和端口1(A2A1A0=000/1),且要求线路控制寄存器的D7=1时,当CPU 执行一条端口0的写入操作时,且当将数据写到该寄存器,16位寄存器,用于存放对输入时钟的分频数,对时钟信号进行分频(实际上就是一个可预置计数器),16位,高、低8位数据由CPU分两次写入。设8250的时钟输入端输入的时钟频率为fosc,要求的传送波特率为B除数=f/(B*16) 在微机系统中 f=1.843200MHZ,设要求传送波特率为1200bps 除数=1843200/(1200*16)=96=0110000B=0060H B除数(十进制数)除数(十六进制数)2400480030H4800240018H960012000CH 例如 设定传送BAUD=2400MOV AL,80HOUT 端口0, ALMOV AL,30HOUT 端口0, ALMOV AL,00HOUT 端口0, AL这时 BAUDOUT 引脚上输出2400*16的时钟信号,一般该引脚接到6) 中断允许寄存器IERD60D50D50D40D3I0ED2I3ED1I1ED0I2ED0=1 允许接收数据准备好中断D1=1 允许发送保持寄存器空中断D2=1 允许接收线路状态中断(三个错误标志置1,间断位置1)D3=1 允许MODEM状态中断(在调制解调器上有四个输入端/DSR、/CTS、/RI、/RLSD,其中任意一个输入电平发生变化,当该位为“1”时,均引起中断,该位为“0”,屏蔽这些中断事件)7) 中断标识寄存器(IIR)由于8250只有一个中断申请引脚,INTRPT 而有四个中断事件(上述),一旦CPU接受8250提出的中断申请,需要确认,是哪个事件引起的,为此在8250内部设置了一个中断标识寄存器,CPU 通过对该寄存器的读,可以了解引起中断的事件。D2ID2D1ID1D0IPD0=1 表示无中断,D0=0 表示有中断D2D1:用于反映中断类型,在中断服务程序中,要对该寄存器的内容进行读取,来确定中断事件,然后进行相应的处理。D2D1事件0 0MODEM事件(发送结束、振铃指示、 接收线路信号检测)0 1发送保持寄存器空1 0接收数据准备好1 1接收线路状态出错:D1=1 超越错误D2=1 奇偶校验错误D3=1 结构错误:停止位为高电平D4-间断8) MODEM控制寄存器MCR在有些异步通信系统中,通信线路选用电话线,由于电话线上可传送的信号的频带很窄(300HZ-3000HZ),如果直接将二进制数据的高低电平送到电话线上,数据波形会产生严重的波形畸变,影响数据传送的可靠性,为此需要对二进制数据进行调制,在8250内部设置了一个专门用于对外接调制/解调器进行控制的寄存器。CPU通过对该寄存器的写入,实现对外接MODEM进行控制。D7D6D5D4LOOPD3OUY2D2OUT1D1RTSD0DTRD0-数据终端准备好,在8250的引脚中,有一个/DTR输出引脚,当CPU向该寄存器写入的内容中如果该位为1,使该引脚输出低电平,向MODEM发出“数据终端准备好”信息。D1请求发送:在8250的引脚中,有一个/RTS 输出引脚,当CPU向该寄存器写入的内容中如果该位为1,使该引脚输出低电平,向MODEM发出“请求发送”信息D2OUT1 使OUT1引脚输出低电平D3OUT2 使OUT2引脚输出低电平D4用于8250 自检 当该位=1 输出数据可被自己接收,检查系统是否工作正常。要求D5-D7=0009) MODEM状态寄存器MSR本寄存器用于反映MODEM的工作状态,反映4个控制输入信号(/DSR、/CTS、/RLSD、/RI)的当前状态及其变化MSR高4位中某位为1,说明相应输入信号当前为低有效,否则为高电平MSR低4位中某位为1,则说明从上次CPU读取该状态字后,相应输入信号已发生改变,从高变低或反之MCR低4位任一位置1,均产生调制解调器状态中断,当CPU读取该寄存器或复位后,低4位被清零D7RLSDD6RID5DSRD4CTSD3DRLSDD2TERID1DDSRD0DCTSD0=1 表示上次数据读取后,/CTS引脚上的状态已改变D1=1表示上次数据读取后,/DRS引脚上的状态已改变D2=1 表示振铃输入端RI 变为低电平被断开D3=1 表示接收线路信号检测端/RLSD状态已改变D4=1 表示接收到清除发送信号/CTS D5=1 表示接收到数据装置准备好信号/DSRD6=1 表示接到振铃输/RID7=1 表示接收到线载波检测信号5、8250的硬件连接1)8250与CPU的连接在PC机中实际连接,各8250内部各端口的地址为:DLAB A2 A1 A0内部寄存器名称在PC机中的端口地址COM1 0 0 0 0接收数据寄存器(读)发送数据保持寄存器3F8 2F80 0 0 1中断允许寄存器3F9 2F9X 0 1 0中断标识寄存器3FA 2FAX 0 1 1通信线路控制寄存器3FB 2FBX 1 0 0MODEM 控制寄存器3FC 2FCX 1 0 1通信线路状态寄存器3FD 2FDX 1 1 0 MODEM状态寄存器3FE 2FEX 1 1 1未用1 0 0 0除数锁存器(低8位)3F8 2F81 0 0 1除数锁存器(高8位)3F9 3F9其中DLAB为通信线路控制寄存器的最高位:除数锁定位其中A2A1A0=000 所形成的地址叫基地址在PC机中为了使8250输出的TTL 电平符合RS232C的电器特性,需要进行电平转换2)通信系统连接(1)不使用MODEM的两个终端的连接 需要了解外设状态的系统(条件传送) 不需要了解外设状态的系统(无条件)(2)使用MODEM的两个终端的连接2) 最简单的连接串行通信系统得设计步骤:1) 通信协议的制定:(1)数据针格式:数据位数、奇偶检验、停止位位数(2)波特率:4800、9600、19200(3) 握手协议:两次握手:第一次握手(即可以是用于右数据设备的系统中,又可以用于无数据设备的系统中,此时将通信对方作为数据设备)(1)发送方首先发出数据中断准备好,等待数据设备回应(数据设备准备好 (2)数据设备接到数据终端准备好后,向数据终端回送数据设备准备好, 第二次握手:(主要检查接收方是否准备接收) (1)发送方在发送一组数据前,向接收方发送“发送请求”,等待接收方回应“清除发送请求”, (2)接收方接到“发送请求命令”后,向发送方回复“清除发送请求”(3)通信命令及应答(第三次握手)协议: A、用于文件(数据)传送; 接收方地址、数据长度、数据、校验、结束符数据长度-对于已知数据长度结束符-对于未知数据长度的 B、用于系统控制 接收方地址、命令号、数据长度、校验、结束符5、8250的编程在通信协议设计好后,需要编写相应的用于通信的程序,此时可以采用两种程序模式实现通信程序的编制, 对于发送方CPU 来讲,在实现多个字符传送得过程中,对其中每个字符(数据)的传送CPU 需要作什么工作: (1)上一个数据串行接口是否已经发送完成(状态查询) (2)在发送完成情况下,向串口送下一个数据对于接收方CPU 来讲,接收一个字符其工作为: (1)串口是否接收到一个数据(状态查询) (2)在接口接收到一个字符的前提下,读取该字符根据状态查询的方法不同 (1)查询传送方式 发送流程 接收流程(2)中断传送方式 在8250 中有4个中断源(错误中断、接收数据准备好、发送保持寄存器空、调制解调器状态中断)其中 接收数据准备好、发送保持寄存器空这两个中断源正好反应两个状态,因此可以编写两个中断服务程序、实现一个字符的发送和接收,YN中断服务程序读取中断标识寄存器(3FAH)D0=0 无中断D2D1=00MODEM中断处理D2D1=01发送数据寄存器空,发送数据D2D1=11接收数据准备好,读入数据处理接收错误,错误处理YY返回7、应用举例例、发送方将数据段Tri_buf开始存放的100个8位数发送,接收的数据保存在数据段Rce_buf开始的单元,要求传送波特率为9600、8位数据、偶校验、1位停止位,1)8250的初始化(1) 通过写除数寄存器(端口0和端口1)设置波特率(2)通过写线路控制寄存器(端口3)设置通信数据格式。 (3)通过写MODEM控制寄存器MCR(端口4)发出数据终端准备好和请求发送信号了解外设工作状态。 对于没有MODEM 的系统中,由于这两条线分别连接到了自己新片的DSR和CTS上,不用检测,而对于希望了解外设工作状态的系统,在发出这两个信号后,需要检测回应。(4)通过写中断允许寄存器(端口1)设置中断允许控制字movdx, 3fbh ;线路控制寄存器地址moval, 80houtdx, al ;使DLAB=1,以便下面写除数寄存器movdx, 3f8h ;低位除数寄存器moval, 0ch ;9600波特率的除数低8位outdx, almoval, 00incdx ;高位除数寄存器outdx, almov al, 00011011b ;偶校验、1位停止位8位数据位mov dx, 3fbh ;线路控制寄存器地址out dx, almov al, 03h ;输出数据终端准备好 /DTR和请求发送/RTS mov dx, 3fch ;MODEM控制寄存器地址out dx, al mov al, 0 ;禁止中断mov dx, 3f9h ;中断允许寄存器地址out dx, al2)通信程序设计在利用8250 的通信系统中,数据的传送过程可以采用两种方式:查询传送方式和中断传送方式,以下对这两种传送方式下的程序设计方法进行介绍。(1) 查询发送方式 所谓查询发送方式,是指在发送一个帧数据前,通过对线路状态寄存器中的“发送保持寄存器空”位进行查询,只由该位为“1”,说明上一个数据已经进入到,输出移位寄存器,8250可以接收新数据时,才向8250中写入数据。其程序流程如图所示,相关程序:设要发送的字符串在 DS:DI 开始的单元,共10个数据 MOV CX,8CHECK:IN AL,3FBH ;读线路状态寄存器 TEST AL,00100000B JNZ CHECK MOV AL,SI OUT 3F8H ,AL ;写入将数据送发送保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023企业内容中台白皮书
- 多元化纺织品设计师试题及答案
- 坠积性肺炎试题及答案
- 2024年纺织工程师证书考试挑战攻略试题及答案
- 2024年设计师考试核心能力拓展试题及答案
- 2024年美术设计师行业标准试题及答案
- 2024年纺织品设计师的原创性试题及答案
- 南昌科目三灯光试题及答案
- 2024年纺织品检验员考试常见问题试题及答案
- 探讨广告设计的文化含义与表现 试题及答案
- 社会科学处横向课题合同书
- 常州施工招标开标清标评标报告
- 第十五届运动会场馆医疗保障工作方案
- 生理卫生教学课件青春期男生性教育走向成熟
- 体外诊断试剂标准品、校准品、质控品
- GB/T 3452.4-2020液压气动用O形橡胶密封圈第4部分:抗挤压环(挡环)
- 王力宏-缘分一道桥-歌词
- 高校电子课件:现代管理学基础(第三版)
- 《药物学》课程教学大纲
- 艾滋病感染孕产妇所生儿童艾滋病早期诊断与抗体检测流程图
- 修改版丝竹相和
评论
0/150
提交评论