- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、方式2和方式3输入 接收时,数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。 四、波特率的计算方法 在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。 串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。 方式0的波特率 = fosc/12 方式2的波特率 =(2SMOD/64)· fosc 方式1的波特率 =(2SMOD/32)·(T1溢出率) 方式3的波特率 =(2SMOD/32)·(T1溢出率) 当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1 溢出率 = fosc /{12×[256 -(TH1)]} 在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表所示。也可计算得出: 串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下: 确定T1的工作方式(编程TMOD寄存器); 计算T1的初值,装载TH1、TL1; 启动T1(编程TCON中的TR1位); 确定串行口控制(编程SCON寄存器); 串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。 例:选用定时器T1,操作方式2作为波特率发生器,波特率为2400波特,已知fosc=11.0592MHZ,求计数初值X0(TH1) 解:设SMOD=0, 则X0=256-(20*11.0592*106)/(384*2400) =256-12=244=F4H 所以:TH1=TL1=F4H 注:设置T1为方式0或1定时方式时,当T1溢出后需重新装计数初值,因此对波特率有一定误差 多机通信 1、硬件连接 单片机构成的多机系统常采用总线型主从式(广播)结构。所谓主从式,即在数个单片机中,有一个是主机,其余的是从机,从机要服从主机的调度、支配。8031单片机的串行口方式2和方式3适于这种主从式的通信结构。当然采用不同的通信标准时,还需进行相应的电平转换,有时还要对信号进行光电隔离。在实际的多机应用系统中,常采用RS-485串行标准总线进行数据传输。 多机通信 2、硬件连接 单片机构成的多机系统远距离传输时常采用485总线型主从式(广播)结构。所谓主从式,即在数个单片机中,有一个是主机,其余的是从机,从机要服从主机的调度、支配。8031单片机的串行口方式2和方式3适于这种主从式的通信结构。当然采用不同的通信标准时,还需进行相应的电平转换,有时还要对信号进行光电隔离。在实际的多机应用系统中,常采用RS-485串行标准总线进行数据传输。 RXD TXD P1.0 89C52 75176 1号从机75176 2号从机75176 N号从机75176 2、初始化程序通信协议 所有从机的SM2位置1,处于接收地址帧状态。 主机发送一地址帧,其中8位是地址,第9位为地址/数据的区分标志,该位置TB8=1表示该帧为地址帧。 所有从机 初始化时TB8=0,闭免代替主机数据 所有从机收到地址帧后,都将接收的地址与本机的地址比较。对于地址相符的从机,使自己的SM2位置0(以接收主机随后发来的数据帧),并把本站地址发回主机作为应答;对于地址不符的从机,仍保持SM2=1,对主机随后发来的数据帧不予理睬。 主机收到从机应答地址后,确认地址是否相符,如果地址不符,回到监听状态,(SM2=1),相符,按通信约定开始发送或接收数据。 3、通信协议 主从机进行通信有两个内容;向从机发送数据,从机向主机发送数据。在呼叫从机时要让从机明白本次的任务是什么 4、通信协议举例:呼叫从站数据的格式设定为: #FF #FF 从站号 #FF #FF 从站号 工作要求 工作要求 工作要求; #30H标志从站接收主站数据,其他从站向主站发送信息 从站数据的格式设定为:#00 从站号 #55 #55 数据流 #00 若SM2=1,且接收到的第9位RB8为0时(数据帧),RI不置1 若SM2=1,且接收
文档评论(0)