收藏 分销(赏)

第8章常见外设接口及应用-3.ppt

上传人:s4****5z 文档编号:12562343 上传时间:2025-10-31 格式:PPT 页数:93 大小:6.32MB 下载积分:10 金币
下载 相关 举报
第8章常见外设接口及应用-3.ppt_第1页
第1页 / 共93页
第8章常见外设接口及应用-3.ppt_第2页
第2页 / 共93页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,8.3 PC,机的串行接口,8.3.1,串行通信基础,8.3.2,可编程串行异步通信接口,8250,8.3.1,串行通信基础,1,、串行通信方式,2,、串行通信速率,3,、串行通信的数据校验,4,、串行通信接口标准,1,、串行通信方式,串行通信:,在同一条通信线上的数据按一位接一位的顺序进行传输。,半双工:,在只有一条通信线的双机(如,A,、,B,两机)通信系统中,对任何一方而言,发送信息和接收信息不能同时进行,而只能采用分时占用通路的办法。,全双工:,在有两条通信线的双机(如,A,、,B,两机)通信系统中,当,A,机向,B,机发送信息,而,B,机接收信息时,,B,机也可以同时向,A,机发送信息,而,A,机接收信息。,1,、串行通信方式,1,、串行通信方式,调制解调器(,Modem,):,是一个由音频载波信号到数字信号的解码和编码的调制设备。,主要应用于通过电话线实现通信。,1,、串行通信方式,1,、串行通信方式,1,、串行通信方式,1,、串行通信方式,DTE,(,Data Terminal Equipment,),:,数据终端设备。,典型的,DTE,设备有:电脑、打印机、终端等。,DCE,(,Data Communication Equipment,),:,数据通讯设备。,典型的,DCE,设备有:调制解调器。,1,、串行通信方式,串行通信有两类:,同步通信、异步通信,。,PC,系统中的串行通信采用异步通信。,异步通信:,一帧(即一个数据传送单元,-,字符)信息以起始位和停止位来完成收发同步。也就是说,通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔则是固定的。,异步通信协议(或规程):,一个字符由起始位、字符编码、奇偶校验位和停止位几部分组成。,1,、串行通信方式,同步字符 字符,1,字符,2 ,字符,n,校验字符,数据块,1,、串行通信方式,1,、串行通信方式,当异步传输开始时,接收设备会不断检测传输线,当检测到由,1,变为,0,的负跳变时,便启动内部计数器开始计数。,当计数到一个数据位宽度的一半时,又一次采样传输线,若其仍为低电平,则确认为一个起始位。,然后,以位时间(,1/,波特率)为间隔,移位接收所规定的数据位和奇偶校验位,组装成一个字节信息。,1,、串行通信方式,若未接收到规定位长的停止位“,1”,,则设置“,帧错误,”标志。,若校验有错,则设置“,校验错,”标志。,1,、串行通信方式,字符和字符之间是异步的:,在异步通信的数据流中,每个字符出现在数据流中的时间是不确定的。,字符内部的各位数据位基本是同步传送的:,接受到字符的起始位后,该字符的各位数据位的时间是确定的。,异步通信一帧信息只传送,5,8,个数据位,接收设备在收到起始位信号之后,只要在,5,8,个数据位的传输时间内能和发送设备保持同步就能正确接收。,1,、串行通信方式,不会因累积效应而导致传输错位:,在异步通信中,发送方和接收方的时钟信号可能会出现一些偏差(即漂移),但由于接收端对异步通信每一帧信息的起始位都会重新校准时钟,所以不会因累积效应而导致传输错位。,由于异步通信对时钟信号漂移的要求较低,硬件成本也相应降低,且通信方式简单可靠,容易实现,所以,它在微机系统中有着广泛的应用。,1,、串行通信方式,1、串行通信方式,结束,2,、串行通信速率,波特率:,二进制数据序列串行传送的速率,单位是波特。,1,波特,=1,位,/,秒(,bit/s,),位时间:,波特率的倒数,即传送一位数据所需的时间。单位是“,s/bit”,。,2,、串行通信速率,2、串行通信速率,结束,3,、串行通信的数据校验,常用的校验方法:,奇偶校验、循环冗余码校验,等。,在异步通信中,通常采用奇偶校验法。几乎所有的,UART,(通用异步接收器,/,发送器),电路中都集成有奇偶校验电路,可通过编程来选择奇校验或偶校验,然后由部件内部的硬件自动完成奇偶校验位的产生和校验。,3、串行通信的数据校验,结束,4,、串行通信接口标准,RS-232C,标准:,串行通信中,,DTE,和,DCE,之间的接口标准。,PC,机上的,COM1,、,COM2,接口,就是,RS-232C,接口,使用,9,针和,25,针连接器。,其它标准:,RS-423,、,RS-422A,、,RS-485,等。,它们都是在,RS-232C,基础上经过改进而形成的。,4,、串行通信接口标准,4,、串行通信接口标准,RS-232C,规标准接口有,25,条线,,4,条数据线、,11,条控制线、,3,条定时线、,7,条备用和未定义线。,常用的只有,9,根:,(,1,)联络控制信号线:,数据装置准备好,DSR#,(,Data set ready),:有效时表明,MODEM,处于可以使用的状态。,数据终端准备好,DTR#,(Data,Terminal Ready),:有效时表明数据终端可以使用。,这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了。,4,、串行通信接口标准,请求发送,RTS#,(Request to send),:用来表示,DTE,请求,DCE,发送数据,即当终端要发送数据时,使该信号有效向,MODEM,请求发送。它用来控制,MODEM,是否要进入发送状态。,允许发送,CTS#,(,Clear to send,):用来表示,DCE,准备好接收,DTE,发来的数据,是对请求发送信号,RTS#,的响应信号。当,MODEM,已准备好接收终端传来的数据,并向外发送时,使该信号有效,通知终端开始沿发送数据线,TxD,发送数据。,4,、串行通信接口标准,接收线信号检出,RLSD#/,数据载波检出,DCD#,:,(Received Line detection/Receive Line,Singal,Detect,),(Data Carrier,dectection,),用来表示,DCE,已接通通信链路,告知,DTE,准备接收数据。,振铃指示,RI#,(Ringing),:当,MODEM,收到交换台送来的振铃呼叫信号时,使该信号有效,通知终端已被呼叫。,4,、串行通信接口标准,(,2,)数据发送与接收线:,发送数据,TxD,(Transmitted data),:通过,TxD,终端将串行数据发送到,MODEM,,,(DTEDCE),。,接收数据,RxD,(Received data),:通过,RxD,线终端接收从,MODEM,发来的串行数据,,(DCEDTE),。,(,3,)地线:,信号地,SG,。,4,、串行通信接口标准,RS-232-C,采用负逻辑,且信号电平与,TTL,不兼容。,在数据线,TXD,和,RXD,上:,逻辑,1=,3V,15V,逻辑,0=,3V,15V,在控制线和状态线,RTS#,、,CTS#,、,DSR#,、,DTR#,和,DCD#,上:,信号有效,3V,15V,信号无效,3V,15V,串行接口芯片,8250,、,8251,均使用,TTL,电平,应使用电平转换电路与,RS-232C,连接器连接,。,MC1488,:,TTL,电平,RS232,电平(用于发送方),MC1489,:,TTL,电平,RS232,电平(用于接收方),4,、串行通信接口标准,4,、串行通信接口标准,采用,Modem(DCE),和电话网通信时的信号连接,4,、串行通信接口标准,无,Modem,的标准连接,4,、串行通信接口标准,无,Modem,的最简连接,4,、串行通信接口标准,无,Modem,时,最大通讯距离的计算:,RS-232C,标准规定:当误码率小于,4%,时,要求导线的电容值应小于,2500PF,。,普通导线的电容值约为,170PF/M,。,则允许距离,L=2500PF/,(,170PF/M,),=,15M,8.3.1,串行通信基础,4、串行通信接口标准,结束,8.3.2,可编程,串行异步通信接口,8250,8250,是一种可编程串行异步通信接口芯片。,1,、,8250,芯片引脚定义与功能,2,、,8250,芯片的内部结构和寻址方式,3,、,8250,内部控制状态寄存器的功能,4,、,8250,通信编程,5,、,8250,应用举例,1,、,8250,芯片引脚定义与功能,8250,是一个,40,脚封装的双列直插式芯片,。,其引脚可分为两类,:,与,CPU,系统总线相连的信号线;,与通信,设备相连的信号线,。,1,、,8250,芯片引脚定义与功能,与,CPU,系统总线相连的信号线,1),双向数据线:,D7,D0,:,8,位数据线。,1,、,8250,芯片引脚定义与功能,与,CPU,系统总线相连的信号线,2),地址控制信号:,CS0,、,CS1,、,CS2#:,片选信号、,输入,。,必须同时有效,。,A2,、,A1,、,A0,:,地址信号、,输入,。选择内部寄存器。,ADS#,:,地址选通信号、,输入,。,ADS#=0,时锁存片选信号和地址信号。如果不锁存,可将,ADS#,直接接地。,CSOUT,:,片选,输出,,高电平有效。,8250,芯片被选中时,输出高电平。此信号通常不用而悬空。,1,、,8250,芯片引脚定义与功能,与,CPU,系统总线相连的信号线,3),读,/,写控制信号,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,与系统总线间的数据总线驱动器。,1,、,8250,芯片引脚定义与功能,与,CPU,系统总线相连的信号线,4),中断控制和复位控制信号:,INTRPT,:,中断请求、,输出,。高电平申请中断。,MR,:,复位信号、,输入,。高电平有效。一般接系统复位线,RESET,。,1,、,8250,芯片引脚定义与功能,与,CPU,系统总线相连的信号线,5),时钟与传输速率控制信号:,XTAL1,与,XTAL2,:,时钟信号输入和输出引脚。,外接晶振或时钟信号。,时钟频率为,1.8432MHz,。,BAUDOUT#,:,波特率输出引脚。,频率为发送数据波特率的,16,倍。,RCLK,:,接收时钟输入引脚。,接收外部提供的,16,倍波特率的时钟信号。由于通常采用,8250,内部的发送时钟作为接收时钟,故可直接连到,BAUDOUT#,引脚,以保证接收与发送的波特率相同。,1,、,8250,芯片引脚定义与功能,与外部通信设备相连的信号线,RTS#,:,请求发送输出引脚,。,当,RTS#,为,低电平时,表示,8250,(,DTE,)通知数据通信装置(,DCE,),,准备发送数据,。,CTS#,:,允许发送输入引脚,。,当,CTS#,为,低电平时,表示,数据通信装置(,DCE,)通知,8250,(,DTE,),已做好接收,数据,的准备。,DTR#,:,数据终端就绪输出引脚,。当,DTR#,为低电平时,表示,8250,(,DTE,)通知数据通信装置(,DCE,),已经做好通信准备。,DSR#,:,数据通信装置就绪输出引脚,。当,DSR#,为低电平时,表示数据通信装置(,DCE,)通知,8250,(,DTE,),已做好建立通信链路的准备。,1,、,8250,芯片引脚定义与功能,与外部通信设备相连的信号线,RLSD#,:,载波检测输入引脚,。,当,RLSD#,为,低电平时,表示,数据通信装置(,DCE,)通知,8250,(,DTE,),已,检测到通信线路上的载波,信号,开始接收数据。,RI#,:,振铃指示输入引脚,。,当,RI#,为,低电平时,表示,表示,数据通信装置(,DCE,)通知,8250,(,DTE,),已,接收到振铃信号,。,OUT1#,:,用户指定的输出引脚,。可以通过对,8250,的编程使,OUT1,为低电平或高电平。,OUT2#,:,用户指定的另一输出引脚,。也可以通过对,8250,的编程使,OUT2,为低电平或高电平。,1、8250芯片引脚定义与功能,结束,2,、,8250,芯片的内部结构和寻址方式,8250,芯片的内部结构:,10,个内部寄存器、数据缓冲器、寄存器选择与,I/O,控制逻辑。,通过微处理器的输入,/,输出指令可以对,10,个内部寄存器进行操作,以实现各种异步通信的要求。,2,、,8250,芯片的内部结构和寻址方式,2,、,8250,芯片的内部结构和寻址方式,2,、,8250,芯片的内部结构和寻址方式,线路控制寄存器,3FF,未用,2、8250芯片的内部结构和寻址方式,结束,3,、,8250,内部控制状态寄存器的功能,(,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,),3,、,8250,内部控制状态寄存器的功能,(,1,),发送保持寄存器,THR,(,3F8H,),当发送数据时,,CPU,先将待发送的字符写入已空的,THR,中,其中第,0,位是串行发送的第,1,位数据。,只要,发送移位寄存器,TSR,为空,则,THR,中的数据会由,8250,的硬件自动送入,TSR,,并在发送时钟的作用下转换成串行信号,且按照预置的帧格式添加起始位、校验位和停止位,从,SOUT,引脚,输出。,3,、,8250,内部控制状态寄存器的功能,(,2,),接收数据缓冲寄存器,RBR,(,3F8H,),当外来的串行数据(一个完整的字符)在接收时钟作用下,由,SIN,引脚,输入到,接收移位寄存器,时,会自动去掉起始位、校验位和停止位,并转换成并行数据,输入到,RBR,中,等待,CPU,读取该字符。,3,、,8250,内部控制状态寄存器的功能,(,3,)线路控制寄存器,LCR,(,3FBH,),规定了异步串行通信的数据格式,包括数据位数(字长)、停止位的位数与奇偶校验位的设置等。,由于,8250,仅用了,3,根地址线来寻址内部的,8,个寄存器,故不得不使波特率因子寄存器或除数寄存器,DLR,和其他寄存器公用地址,由,D7,位来加以区分。,3,、,8250,内部控制状态寄存器的功能,D5D4D3,为,101,时:,在奇偶校验位和停止位之间插入一个奇偶标志位,1,。,D5D4D3,为,111,时:,在奇偶校验位和停止位之间插入一个奇偶标志位,0,。,强迫,8250,连续输出低电平。,3,、,8250,内部控制状态寄存器的功能,D5D4D3,为,101,时:,在奇偶校验位和停止位之间插入一个奇偶标志位,1,。,D5D4D3,为,111,时:,在奇偶校验位和停止位之间插入一个奇偶标志位,0,。,强迫,8250,连续输出低电平。,3,、,8250,内部控制状态寄存器的功能,(,4,),波特率因子寄存器或除数寄存器,DLR,(,3F8H,,,3F9H,),8250,芯片规定当,LCR,的位,D7,写入,1,时,接着可对口地址,3F8H,、,3F9H,分别写入波特率因子的低字节和高字节,即将,16,位除数写入,DLR,(,L,)和,DLR,(,H,)中。,波特率,=1.8432MHz/,(波特率因子,16,),。,波特率因子,=1.8432MHz/,(波特率,16,),3,、,8250,内部控制状态寄存器的功能,例如,要求发送波特率为,1200,波特,则波特率因子为:,波特率因子,=1.8432MHz/(1200,16)=96,因此,,3F8H,口地址应写入,96,(,60H,),,3F9H,口地址应写入,0,。,3,、,8250,内部控制状态寄存器的功能,3,、,8250,内部控制状态寄存器的功能,(,5,)中断允许寄存器,IER,(,3F9H,),IER,用来设置允许或禁止,8250,的,4,个中断源发出中断请求(将相应位置,1,或,0,即可)。,D7,D4,位:,恒为,0,。,D3,D0,位:,表示是否允许,4,类中断。,当允许中断时,则通过,IR4,向,8086/8088CPU,发中断请求。,3,、,8250,内部控制状态寄存器的功能,3,、,8250,内部控制状态寄存器的功能,(,6,)中断标识寄存器,IIR,(,3FAH,),IIR,可以用来判断有无中断产生以及产生了哪一类中断请求。,D7,D3,位:,恒为,0,。,D0,位:,表示有无中断待处理,若,D0=1,,表示无中断待处理;若,D0=0,,表示有待处理的中断。,D2,D1,:,位用于标识,4,类中断,其中,,D2D1=11,的线路出错中断的优先级最高,而,D2D1=00,的,Modem,中断的优先级最低。,3,、,8250,内部控制状态寄存器的功能,3,、,8250,内部控制状态寄存器的功能,(,7,)线路状态寄存器,LSR,(,3FDH,),LSR,是一个,8,位寄存器,它向,CPU,提供有关发送与接收数据的状态信息。,3,、,8250,内部控制状态寄存器的功能,3,、,8250,内部控制状态寄存器的功能,D0,:,接收数据就绪位。当,D0=1,时,表示,8250,的接收器已接收到一帧完整的字符。,D1,:,数据重叠错(又称为越限状态错或溢出错)标志。当,D1=1,时,表示接收器的输入字符尚未读走,而新的字符已经到来并将前一帧数据覆盖。,D2,:,数据奇偶错标志位。当,D2=1,时,表示接收的数据经校验出现奇偶性错误。,D3,:,帧错(即接收数据格式错)标志。当接收数据的停止位个数不正确时,则,D3=1,。,3,、,8250,内部控制状态寄存器的功能,D4,:,接收空缺位。若在一个完整的字符编码的时间间隔中收到的均为空闲状态,则,D4=1,,表示线路信号间断。,注意:,D1,D4,均为出错标志,只要其中有一位置,1,,在中断允许的情况下,,8250,内部就会产生“接收字符错误”中断,一旦,CPU,读取这些状态后,即自动复,0,。,D5,:,数据发送保持器空标志。当,D5,为,1,时,表示,THR,空。一旦,CPU,将数据写入,THR,,则此位复,0,。,D6,:,数据发送移位寄存器空标志。当,D6,为,1,时,表示,TSR,空。一旦,THR,将数据写入,TSR,,则此位复,0,。,D7,:,恒为,0,。,3,、,8250,内部控制状态寄存器的功能,(,8,),Modem,控制寄存器,MCR,(,3FCH,),MCR,用于控制调制解调器或数传机,可直接控制,RS-232C,接口的引脚信号。,3,、,8250,内部控制状态寄存器的功能,(,8,),Modem,控制寄存器,MCR,(,3FCH,),MCR,用于控制调制解调器或数传机,可直接控制,RS-232C,接口的引脚信号。,3,、,8250,内部控制状态寄存器的功能,(,9,),Modem,状态寄存器,MSR,(,3FEH,),MSR,反映了调制解调器控制线的当前状态及其变化信息。,各数据等于,1,为有效。,MSR,低,4,位中任一位置,1,,均将产生调制解调器状态中断,当,CPU,读取该寄存器或复位后,低,4,位被清零。,3,、,8250,内部控制状态寄存器的功能,dCTS,dRSLD,CTS,DSR,RI,dDSR,dRI,RLSD,D,0,D,1,D,2,D,3,D4,D,5,D,6,D,7,高,4,位中某位为,1,,说明相应输入信号当前为低电平,有效。,低,4,位中某位为,1,,则说明从上次,CPU,读取该状态字后,相应输入信号已发生改变,从高变低或反之。,3、8250内部控制状态寄存器的功能,结束,4,、,8250,通信编程,1),、,8250,初始化,(,1,)设置波特率,(,2,)设置串行通信数据格式,(,3,)设置工作方式,2),、程序查询方式通信编程,3),、用中断方式编程,(,1,)初始化,8259A,中断控制器,(,2,)设置中断向量,IR4,(,3,)设置允许,/,屏蔽位,(,4,),8250,重新响应中断请求,4,、,8250,通信编程,1,)、,8250,初始化,(,1,)设置波特率,例如,设波特率为,9600,,则波特率因子,N=12,MOV DX,,,3FBH,MOV AL,,,80H,;设置波特率,OUT DX,,,AL,MOV DX,,,3F8H,MOV AL,,,12,OUT DX,,,AL,INC DX,MOV AL,,,0,OUT DX,,,AL,;,3F9H,送,0,3,、,8250,内部控制状态寄存器的功能,D5D4D3,为,101,时:,在奇偶校验位和停止位之间插入一个奇偶标志位,1,。,D5D4D3,为,111,时:,在奇偶校验位和停止位之间插入一个奇偶标志位,0,。,强迫,8250,连续输出低电平。,4,、,8250,通信编程,1,)、,8250,初始化,(,2,)设置串行通信数据格式,例如,数据格式为,8,位,,1,位停止位,奇校验。,MOV AL,,,0BH,MOV DX,,,3FBH,OUT DX,,,AL,4,、,8250,通信编程,1,)、,8250,初始化,(,3,)设置工作方式,无中断:,MOV AL,,,3,;,OUT1#,、,OUT2#,均为高电平,MOV DX,,,3FCH,OUT DX,,,AL ,有中断:,MOV AL,,,0BH,;,OUT2#,为低电平,允许,INTRT,去申请中断,MOV DX,,,3FCH,OUT DX,,,AL ,循环测试:,MOV AL,,,13H,MOV DX,,,3FCH,OUT DX,,,AL,3,、,8250,内部控制状态寄存器的功能,(,8,),Modem,控制寄存器,MCR,(,3FCH,),MCR,用于控制调制解调器或数传机,可直接控制,RS-232C,接口的引脚信号。,2,、,8250,芯片的内部结构和寻址方式,4,、,8250,通信编程,2,)、程序查询方式通信编程,采用程序查询方式工作时,,CPU,可以通过读线路状态寄存器(,3FDH,)查相应状态位(,D0,与,D5,位),来检查接收数据寄存器是否就绪(,D0=1,)与发送保持器是否空(,D5=1,)。,4,、,8250,通信编程,2,)、程序查询方式通信编程,发送程序:,TR,:,MOV DX,,,3FDH ,IN AL,,,DX,TEST AL,,,20H,JZ TR ,MOV AL,,,SI,;从,SI,中取出发送数据,MOV DX,,,3F8H,OUT DX,,,AL,4,、,8250,通信编程,2,)、程序查询方式通信编程,接收程序:,RE,:,MOV DX,,,3FDH,IN AL,,,DX,TEST AL,,,1,JZ RE,MOV DX,,,3F8H,IN AL,,,DX,MOV,DI,,,AL,;读入数据存入,DI,中,4,、,8250,通信编程,3,)、用中断方式编程,(,1,)初始化,8259A,中断控制器,MOV AL,,,13H,;单片使用,需要,ICW4,MOV DX,,,20H,OUT DX,,,AL,;,ICW1,MOV AL,,,8,;中断类型号为,08H,0FH,INC DX,OUT DX,,,AL,;,ICW2,INC AL,;缓冲方式,,8088/8086,OUT DX,,,AL,;,ICW4,MOV AL,,,8CH,;允许,0,,,1,,,4,,,5,,,6,级中断,OUT DX,,,AL,;送中断屏蔽字,OCW1,4,、,8250,通信编程,3,)、用中断方式编程,(,2,)设置中断向量,IR4,对,IR4,,中断类型号为,0CH,,,0CH,4=30H,。因此,应在,30H,、,31H,存放,IP,值,,32H,、,33H,存放,CS,值。,设中断服务程序入口地址为,2000H,:,100H,XOR AX,,,AX,MOV DS,,,AX,MOV AX,,,100H,MOV WORD PTR,0030H,,,AX,MOV AX,,,2000H,MOV WORD PTR,0032H,,,AX,4,、,8250,通信编程,3,)、用中断方式编程,(,3,)设置允许,/,屏蔽位,对,8250,送中断允许寄存器(,3F9H,)设置允许,/,屏蔽位。,例如,允许发送与接收中断请求。,MOV AL,,,3,MOV DX,,,3F9H,OUT DX,,,AL,4,、,8250,通信编程,3,)、用中断方式编程,(,4,),8250,重新响应中断请求,在中断结束返回时,需要对,8259A,发,EOI,命令,保证,8259,可以重新响应中断请求。,MOV AL,,,20H,MOV DX,,,20H,OUT DX,,,AL,;发,EOI,命令,,OCW2,IRET,;开中断允许,并从中断返回,8.3 PC机的串行接口,8.3.2 可编程串行异步通信接口8250,4、8250通信编程,结束,课堂练习,1,、利用,8250,、,74LS245,、,1.8432MHz,晶体、门电路、电阻、电容等,画出基于,PC/XT,总线的串行接口卡电路原理图(不考虑电平转换)。,课堂练习,2,、,P266 6.7,3,、,(,选做,),程序设计要求:,在,IBM PC,机上用汇编语言按查询方式编制一个发送与接收程序,它能把键入的每一个,ASCII,字符发送出去,并显示在,CRT,上,同时能把接收到的每一个字符也以,ASCII,码形式显示在,CRT,屏幕上,设:,数据传送速率为,9600,波特:通信格式为,8,位,/,每字符,,1,位停止位,奇校验。,课堂练习,1,在,IBM PC,机上用汇编语言按查询方式编制一个发送与接收程序,它能把键入的每一个,ASCII,字符发送出去,并显示在,CRT,上,同时能把接收到的每一个字符也以,ASCII,码形式显示在,CRT,屏幕上,设:,数据传送速率为,9600,波特:通信格式为,8,位,/,每字符,,1,位停止位,奇校验。,课堂练习,1,在,IBM PC,机上用汇编语言按查询方式编制一个发送与接收程序,它能把键入的每一个,ASCII,字符发送出去,并显示在,CRT,上,同时能把接收到的每一个字符也以,ASCII,码形式显示在,CRT,屏幕上,设:,数据传送速率为,9600,波特:通信格式为,8,位,/,每字符,,1,位停止位,奇校验。,课堂练习,2,6.7MOV AL,80H,MOV DX,3FBH,OUT DX,AL,MOV AL,10H;波特率7200的除数值=10H,MOV DX,3F8H,OUT DX,AL,INC DX,MOV AL,0,OUT DX,AL,MOV AL,00000011B,MOV DX,3FBH,OUT DX,AL,课堂练习,2,SEND:MOV DI,OFFSET TRANS,MOV CX,WORD PTR TLENGTH+4,MOV SI,OFFSET TRANS-2,MOV BYTE PTRDI-2,55H,MOV BYTE PTRDI-1,0AAH,MOV AX,DI,ADD AX,WORDPTR TLENGTH,MOV DI,AX,MOV BYTE PTRDI+1,0AAH,MOV BYTE PTRDI+2,55H,课堂练习,2,SWAIT:MOV DX,3FBH,IN AL,DX;,取线路状态,TEST AL,00100000B;THRE发送保持寄存器空=1,JZ SWAIT;,不空等待,MOV AL,SI;,取数据,MOV DX,3F8H,OUT DX,AL;,发送,INC SI,LOOP SWAIT,MOV DI,OFFSET RECIV,MOV CX,WORD PTR RLENGTH,MOV BL,0;,计接收数据个数,课堂练习,2,RECEIVE:MOV DX,3FBH,IN AL,DX,;取线路状态参数,判断接收有数据否,TEST AL,80H,;超时退出,JNZ EXITP,TEST AL,01H,;,接收数据继续,JZ RECEIVE,;串口无数据等待,MOV DX,3F8H,IN AL,DX,INC BL;接收一个数据,计数器加1,LOOP RWAIT,课堂练习,2,EXITP:MOV AL,CL,CMP AL,BL,JNZ ERR_DEL,MOV ERROR,0FFH,JMP RET1,ERR_DEL:MOV ERROR,0,RET1:NOP,.EXIT,课堂练习3,KEY,:,MOV DX,,,3FBH ,MOV AL,,,80H,OUT DX,,,AL,MOV DX,,,3F8H,MOV AL,,,12,OUT DX,,,AL,;写入对应波特率为,9600,的波特因,;子的低,8,位,INC DX,MOV AL,,,0,OUT DX,,,AL,;写入波特因子的高,8,位,MOV AL,,,0BH,MOV DX,,,3FBH,OUT DX,,,AL,;,8,位字符,,1,位停止位,奇校验,课堂练习3,MOV AL,,,13H,MOV DX,,,3FCH,OUT DX,,,AL,;循环测试,CHECK,:,MOV DX,,,3FDH,IN AL,,,DX,;读线路状态寄存器,TEST AL,,,1H,;查接收缓冲器是否满,若满转接,;收子程序,JNZ REV,TEST AL,,,20H,;查发送缓冲器是否空,不空,;转,CHECK,JZ CHECK,TR,:,MOV AH,,,1,;读键盘缓冲器内容,若有键按,;下,则,ZF,标志为,0,,且,AL=,字符码,INT 16H,JZ CHECK,;如,ZF=1,,转,CHECK,MOV DX,,,3F8H,OUT DX,,,AL,;将键入代码发送出去,课堂练习3,JMP CHECK,REV,:,MOV DX,,,3F8H,IN AL,,,DX,;读入接收字符,AND AL,,,7FH,;屏蔽掉,D7,MOV BX,,,0041H,;,BH=00H,,选,0,页;,BL=41H,,显示属,;性(红底兰字),MOV AH,,,14,;用中断调用显示接收到的字符,INT 10H,JMP CHECK,作业,P266 6.6,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服