相关服务

  • 《现代电子技术》2006年第21期摘录:技术》星QQ鱼年第21期总第2

如发现有乱码,请点击下面链接浏览原文
正文摘录:

技术》星QQ鱼年第21期总第236期》通信与信息技术司可见,异步通信与同步通信并没有本质的不同,只是他的数据是不连续的(每次为1B),字节之间或多或少地插入了停止位。在开始传输下一个字节之前首先用起始位进行同步。因此收发双方容易实现同步,但缺点是效率低,传输速度慢。对于发送机而言,通信并不是其最主要的目的,速度的快慢并不重要,相对而言只是一个辅助的工具,所以,采用异步通信就是一个不错的选择。2串行通信口的控制2.1串行口控制寄存器ScoN串行口控制寄存器SC()N的各位定义如表1所示。表l串口控制寄存器SCON的各位定义RI:接收有效中断标志。当接收到一帧有效数据后,RI自动置“1”,以通知CPU可以读走存放在接收缓冲器SBIIF中的数据。TI:发送结束中断标志。一帧有效数据发送完后,即在开始发送停止位时TI自动置“1”,以通知CPU可以发送下一帧数据。RB8和TB8:接收和发送数据的第九位。在串行口工作方式2和方式3中,需要接收和发送9位数据。在多机通信中,TB8只能作为地址/数据帧标志位。REN:串行接收控制位。当REN为“1”时,允许串行口接收数据;反之,当REN为“O”时,禁止串行口接收数据。因此,可以通过软件使.REN置“1”或清零,允许或禁止串行口接收数据。SM2是多机通信控制位,在发送机上没有具体应用需求。SM0和SMl:串行口工作方式控制位。具体情况如表2所示。表2串口的4种工作方式2.2波特率倍增选择波特率随串行口工作方式选择的不同而异。他除了与系统的振荡频率、T1的初始值有关,还和电源控制寄存器PC()N的SM()D位有关。在方式1,2,3中,当SM()D位为1时,波特率是SM()D为O时的两倍。3波特率在串行通信系统中常用波特率衡量通信的快慢,含义是每秒钟传送的二进制数码的位数,单位是位/秒(b/s或kb./s)。一般异步通信波特率为1lO~9600b/s,而同步通信波特率在56kb/s以上。波特率的设置是很重要的问题,他直接关系到串行通信的成败,因此在波特率设置时要给予足够的重视。在不同机种的通信中,通信双方应该采用相同的传输速率或波特率,这是确保通信成功的重要条件之一。3.1波特率的选择波特率随串行口工作方式选择的不同而异。他除了与系统的振荡频率、电源控制寄存器PC()N的SM(]D位有关外,还与定时器T1的设置有关。表3不同工作方式下的波特率工作方式波特率方式l方式2方式3Tl溢出率·2SMOb32振时时率·2SMOt’64T1溢出率·2SMO[’32可见,方式1和方式3的波特率计算公式一样,只要能设置好T1的初始值就能够得到不同的波特率,属于波特率可变的通信方式。而方式2只跟晶体的振荡频率有关,其波特率固定不可变,因此很少用到这种方式。以下就方式1和3来设计波特率。3.2T1的初始值问题为了避免重新设定定时初始值造成的定时误差,应设置T1工作于方式2,即自动重装载方式,同时禁止定时器T1中断。T1溢出率一计数速率/(256一T)(1)T1溢出率为T1定时时间t的倒数;z为THl和TLl中装入的初始计数值;计数速率为与定时器T1的工作方式选择有关。当选择T1为定时工作方式,同时工作在12分频状态下时:计数速率一晶振频率^,。/12(2)以厶。。为12MHz,SM()D为l,波特率要求为9600b/s而言,可计算THl,TI。1的初值如下:波特率一夏了毛等量专躺一9600(b/s)(3)27

阅读此文(图):   点击此处在线翻阅