您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 深圳大学微机原理与接口技术PPT第六章
第6章串并行通信和接口技术教学建议,本章重点为•8251A的功能结构;•8251A的工作原理;•8251A约定的初始化流程;•8251A的编程方法;•8255A的结构;•8255A的两类控制字;•8255A的工作方式;•8255A的编程方法。6.1串行接口和串行通信串行数据传送方式波特率和发送/接收时钟串行通信的基本方式串行接口的任务返回控制总线地址总线数据总线CPU接口外设1外设2外设N……RXDTXDCPU串行接口外设i数据总线地址总线控制总线---串行通信一根线CPU并行接口外设j数据总线地址总线控制总线并行通信多根线串行:将数据分解成二进制位,用一条信号线,一位一位顺序传送的方式优势:用于通信的线路少,成本低廉1串行数据传送方式①全双工②半双工③单工返回①单工•系统只能在一个方向上传输信息,即只能发送或只能接收。返回②半双工•若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工(HalfDuplex)制。A站B站发送器发送器接收器接收器图2半双工方式示意图返回③全双工•当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工(FullDuplex)制。发送器发送器接收器接收器B站A站图1全双工方式示意图返回2波特率和发送/接收时钟①波特率②发送/接收时钟返回•并行通信中,传输速度以每秒传输的字节(B/s)表示。在串行通信中,传输速率用波特率来表示。•所谓波特率,是指单位时间内传送二进制数据的位数,单位为位/秒(b/s)。•每秒钟所传输的字符数(字符速率)和波特率是两种概念①波特率②发送/接收时钟–发送端使用的用于决定数据位宽度的时钟称为发送时钟。–接收端使用的用于测定每一位输入数据位宽度的时钟称为接收时钟。–接收/发送时钟频率=n·波特率•(n=1,16,32,64)•n称为波特率因子3串行通信的基本方式①异步通信②同步通信返回①异步通信返回采用异步方式通信时,收发双方不用统一的时钟进行定时,异步通信的一个信息帧只含一个字符,是靠起始位和停止位来识别信息帧的,两个字符之间的传输间隔是任意的。①异步通信00/10/10/1…0/10/10/111100/1起始位奇偶校验位(可有可无)5~8位数据位(先送最低位)LSBMSB空闲位停止位(1,11/2或2位)第n个字符(8~12位)第n+1个字符图6-1异步串行通信格式图6.1标准的异步通信数据格式②同步通信•同步通信方式下,收/发双方采用同一个时钟信号来定时,一个信息帧可含有多个字符,每个信息帧的开始要加上同步字符,在没有信息传输时,必须填上空字符,因为同步传输不允许有间隙。同步传输靠同步字符来识别信息帧。•比较起来,在传输率相同时,同步通信的信息有效率比异步通信方式高,因为同步方式下的非数据信息比例比较小,但同步方式下,在传输数据的同时,必须传输时钟信号。串行通信的传输率例1、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为1200/10=120个。例2.同步传输:用1200bps的波特率工作,用4个同步字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时间为7(100+4)/1200=0.6067s,这就是说,每秒钟能传输的字符数可达到100/0.6067=165个。可见,在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。4串行接口的任务①进行串-并转换②实现串行数据格式化③可靠性检验④实施接口与通信设备之间的联络控制返回6.1.2串行接口•串行接口部件4个主要寄存器–控制寄存器–状态寄存器–数据输入寄存器–数据输出寄存器6.1.2串行接口•可编程串行接口的典型结构6.2可编程串行接口8251A•6.2.18251A的基本性能•6.2.28251A的基本工作原理•6.2.38251A的对外信号•6.2.48251A的初始化编程•6.2.58251A应用举例返回6.2.18251A的基本性能可以工作在同步或异步方式。在同步方式时,能用5、6、7或8位代表字符能自动检测同步字符允许奇偶校验。在异步方式下能用5、6、7或8位代表字符,用1位作为奇偶校验。能增加1个启动位能增加1个、1.5个或2个停止位。8251A的引脚功能56789101112123428272625242322212019181714131615C/DRDWRCSTxCD4D7D6D5GNDRxDD3D2RxRDYD1D0Vcc(+5V)RxCDTRRTSDSRCTSRESETCLKTxDTxESYNDETTxRDY8251A6.2.28251A的基本工作原理•8251A的功能结构6.2.28251A的基本工作原理•8251A的功能结构8251A由7个模块组成:①接收缓冲器②接收控制电路③发送缓冲器④发送控制电路⑤数据总线缓冲器⑥读写控制逻辑电路⑦调整/解调控制电路8251A的异步方式8251A的同步方式两种同步方式内同步:同步字符找到后,SYNDET引脚输出高电平。外同步:SYNDET引脚输人高电平维持1个接收时钟周期,确认完成外同步。6.2.38251A的对外信号8251A和CPU之间的连接信号8251A与外部设备之间的连接信号1.8251A和CPU之间的连接信号(1)片选信号CS#为低电平时,8251A被选中CS#为高电平时,8251A的数据线处于高阻状态。(2)数据信号D7~D0与系统的数据总线相连,可传送数据、状态和控制信息。(3)读写控制信号RD#为读信号。WR#为写信号。C/D#为控制/数据信号。6.2.38251A的对外信号•C/D#、RD#、WR#的编码和对应的操作(4)收发联络信号TXRDY为发送器准备好信号:当CTS#为低电平且TXEN位为1,且发送缓冲器为空时,TXRDY为高电平。当8251A从CPU得到一个字符后,TXRDY为低电平。TXE发送器空信号RXRDY接收器准备好信号SYNDET同步检测信号:内同步输出;外同步输入6.2.38251A的对外信号•8251A和CPU之间的连接信号–片选信号–数据信号–读/写控制信号–收发联络信号图6.68251A与CPU及外设的连接关系2.8251A与外部设备之间的连接信号(1)收发联络信号DTR#数据终端准备好信号DSR#数据设备准备好信号这两个信号连接接收器,其中DTR#是8251A发送给外设的,可通过控制寄存器对应位设置,DSR#是外设送给8251A的,可反映到状态寄存器的对应位。RTS#请求发送信号CTS#清除请求发送信号这两个信号连接发送器,其中RTS#是8251A发送给外设的,CTS#是外设送给8251A的,它会影响TXRDY。(2)数据信号TXD发送器数据信号端RXD接收器数据信号端(3)其它信号TXC#发送器时钟信号端RXC#接收器时钟信号端CLK内部时钟信号端6.2.48251A的编程1•8251A的初始化–8251A初始化的约定:①复位后,第一次写入的值作为模式字②如为同步模式,则接着同步字符③此后不管是同步模式还是异步模式,奇地址端口写入的值作为控制字,偶地址端口写入的值为数据图6.78251A的初始化流程图6.2.48251A的编程2•模式寄存器的格式图6.88251A模式寄存器的格式(a)异步模式;(b)同步模式6.2.48251A的编程3•控制寄存器的格式6.2.48251A的编程4•状态寄存器的格式6.2.58251A编程举例1•8251A和调制解调器连接的例子图6.118251A和调制解调器的连接(a)异步模式;(b)同步模式•单片机的串口有很大一部分是使用TTL电平标准的(PIC的可以直接连接在电脑串口),它的逻辑1电平是5V,逻辑0电平是0V,而电脑串行口所使用的是RS232C的电平标准,它的逻辑1电平是-3V--12V,逻辑0电平是+3V-+12V。两者的电平范围相差很远,所以连接时需要用到电平转换电路。6.2.58251A编程举例2•异步模式下的初始化程序举例MOVAL,0FAHOUT42H,ALMOVAL,37HOUT42H,AL6.2.58251A编程举例3•同步模式下的初始化程序举例MOVAL,38HOUT42H,ALMOVAL,16HOUT42H,ALOUT42H,ALMOVAL,97HOUT42H,AL6.2.58251A编程举例4•利用状态字进行编程的举例MOVAL,0FAHOUT42H,ALMOVAL,35HOUT42H,ALMOVDI,0MOVCX,80BEGIN:INAL,42HTESTAL,02HJZBEGININAL,40HMOVDX,OFFSETBUFFERMOV[DX+DI],ALINCDIINAL,42HTESTAL,38HJNZERRORLOOPBEGINJMPEXITERROR:CALLERR_OUTEXIT:…-6.2.68251A的使用实例图6.12用8251A作为CRT接口的实际例子使8251A复位的方法一般采用先送3个00H,再送1个40H的方法。6.2.68251A的使用实例INIT:XORAX,AXMOVCX,0003MOVDX,00DAHOUT1:CALLKKKLOOPOUT1MOVAL,40HCALLKKKMOVAL,4EHCALLKKKMOVAL,27HCALLKKK……KKK:OUTDX,ALPUSHCXMOVCX,0002ABC:LOOPABCPOPCXRET6.2.68251A的使用实例•往CRT输出一个字符的例子CHAROUT:MOVDX,0DAHSTATE:INAL,DXTESTAL,01JZSTATEMOVDX,0D8HPOPAXOUTDX,AL例5,例6•例5串行通信时,在发送程序中,需查状态字的D0位是否置1,即查TxRDY=1?其程序段为:–L:MOVDX,309H–INAL,DX–ANDAL,01H–JZL•例6串行通信时,在接收程序中,需查状态字的D1位是否置1,即查RxRDY=1?其程序段为:–L1:MOVDX,309H–INAL,DX–ANDAL,02H–JZL1返回例7•编写一段通过8251A采用查询方式接收数据的程序。将8251A定义为异步传送方式,波特率因子为64,采用偶校验,1位停止位,7位数据位。•设8251A数据口地址为04A0H,控制口地址为04A2H。–MOVDX,04A2H–MOVAL,7BH;写方式控制字–OUTDX,AL–MOVAL,14H;写操作控制字–OUTDX,AL–WAIT:INAL,DX;读入状态字–ANDAL,02H–JZWAIT;检查RxRDY是否为1–MOVDX,04A0H–INAL,DX;输入数据返回例8•编写使8251A发送数据的程序。将8251A定义为异步传送方式,波特率因子为64。采用偶校验,1位停止位,7位数据位。8251A与外设有握手信号,采用查询方式发送数据。•设8251A数据口地址为04A0H,控制口地址为04A2H。–MOVDX,04A2H–MOVAL,7BH;写方式控制字–OUTDX,AL–MOVAL,31H;写操作控制字–OUTDX,AL–WAIT:INAL,DX;读入状态字–ANDAL,01H;检查TxRDY是否为1–JZWAIT–MOVDX,04A0H–MOVAL,36H;输出的数据送AL–OUTDX,,AL–┇返回例9•编写接收数据的初始化程序。要求8251A采用同步传送方式,2个同步字符,内同步,偶校验,7位数据位和同步字符为16H。•设8251A数据口地址为04A0H,控制口地址为04A2H。–MOVDX,04A2H;控制口地址送DX–MOVAL,38H;写方式控制字–MOVDX,AL–MOVAL,16H;同步字符送AL–OUTDX,AL–OUTDX,AL;输入两个同步字符–MOVAL,96H;写操作控制字–OUTDX,AL–┇返回8251A应用举例•例10以两台微机之间进行双机串行通
本文标题:深圳大学微机原理与接口技术PPT第六章
链接地址:https://www.777doc.com/doc-3748340 .html