第7章__串行通信接口4.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章__串行通信接口4

第7章 串行通信接口 7.1 串行通信方式简介 所谓通信,是指微型计算机系统内部部件之间、微型计算机与外部设备之间、微型计算机与微型计算机之间的数据传送(信息交换)。 串行通信 7.2 51单片机的串行通信 串行通信的数据传输方式 异步传输方式 同步传输方式 异步通信 波特率(Baud rate) 波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是比特/秒,即bps(Bit Per Second)。 在异步通信中,收发双方是通过设定相同的波特率、依靠起始位和结束位来实现数据的准确传送。 假设数据传送速率是120字符/s,而每个字符包含1个起始位、1个终止位、8个数据位。这时,传送的波特率为: 7.2.2 串行接口的寄存器 串行口的结构 串行口控制寄存器 SBUF——串行口数据缓冲器 共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。 SCON——串行口控制寄存器(98H)。 PCON——电源控制寄存器(87H) 串行口控制寄存器SCON 串行口控制寄存器SCON 电源控制寄存器PCON 7.2.3 串行口工作方式 方式0——同步移位寄存器方式 方式0——同步移位寄存器方式 ⑴ 数据发送 ⑴ 数据发送 方式0时:SM0,SM1=00 方式0时SM2必须为0:SM2=0 ?REN=1时允许接收:REN=0 方式0为8位数据,TB8、RB8=00 发送前,发送中断标志TI=0 接收中断标志RI=0 故SCON=0x00 ⑵ 数据接收 ⑵ 数据接收 方式0时:SM0,SM1=00 方式0时SM2必须为0:SM2=0 ?REN=1时允许接收:REN=1 方式0为8位数据,TB8、RB8=00 接收前,发送中断标志TI=0 接收中断标志RI=0 故SCON=0x10 数据发送的应用 数据发送的应用 数据发送的应用 方式0数据发送的C51程序设计示例 (1)采用查询方式 数据发送的应用 数据接收的应用 方式0数据接收的C51程序设计 #includereg51.h sbit S_L=P3^2; void main( ) { unsigned char i; SCON=0x10; //初始化串口方式0 while(1) { S_L =0; //并行数据送入74LS165 S_L =1; while(RI) //查询RI=1 { RI=0; i=SBUF; P1=i; } } } 方式1——10位UART 方式1——10位UART (1)发送过程 (2)接收过程 方式2、3——11位UART (1)发送过程 (2)接收过程 多机通信 SM2、RB8与从机动作关系 多机通信过程 7.2.4 串行通信的波特率 方式1、方式3的波特率 方式1、方式3的波特率 方式1、方式3的波特率 方式2的波特率 四种工作方式的区别主要表现在帧格式及波特率两个方面。 串行口应用和编程 串行口的初始化编程: (1)按选定串行口的工作方式设定SCON的SM0、SM1两位二进制编码。 (2)对于工作方式2或3,应根据需要在TB8中写入待发送的第9位数据(地址为1,数据为0)。 (3)若选定的工作方式不是方式0,还需设定接收/发送的波特率。设定SMOD状态,以控制波特率是否加倍。 (4)若选定工作方式1或3,则应对定时器 T1进行初始化以设定其溢出率。 (5)串行通信有两种编程方式:查询方式和中断方式,这两种方式中发送和接收数据后都用注意清TI和RI。 7.4串口应用实例 通过“串口调试助手”发送一个数据给AT89C51,AT89C51接收数据后在数码管上显示,并将该数据返发给“串口调试助手”。 要求:在Proteus中RS-232的电平已经默认转换成CMOS电平,所以在proteus仿真中可以省略电平转换电路,因此在此例中笔者省略了MAX232的电平转换电路,但在实际硬件电路中电平转换电路必须有。 RS-232C双机通信接口 RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。一个完整的RS-232接口有22根线,采用标准的25芯插头座(DB25)。除此之外,目前广泛应用的还有一种9芯的RS-232接口(DB9) 【例】两个单片机串行通信 单片机1的程序代码(查询): #includereg51.h void main( ) { unsigned char i; TMOD=0x20; TH1=TL1

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档