第9章串口通信.docVIP

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

第9章 串口通信 9.1概述 单片机与外界进行信息交换,称为通信。通信有并行通信和串行通信两种基本方式。并行通信是多位数据同时被发送或接收,如图9-1(a)所示;串行通信则是数据逐位依次被发送或接收,如图9-1(b)所示。并行通信和串行通信各有其优缺点,具体如表9-1所列。 (a)并行通信 (b)串行通信 图9-1 通信方式 表9-1 并行通信和串行通信的特点 通信方式 优点 缺点 并行通信 多位数据同时传输,传送速度快 线路位数多,不便长距离传送 串行通信 适合长距离通信,节省传输线路,有一定的纠错能力 多位数据逐位依次传输,传送速度较慢 9.1.1串行通信 串行通信适合长距离、节省传输线、有纠错能力的突出优点,使其逐渐成为单片机与其它系统通信的主要方式。串行通信又细分为异步通信和同步通信,单片机主要采用异步通信方式。 1、异步通信 异步通信数据按帧传输,一帧数据包含起始位、数据位、校验位和停止位。异步通信凭借传输信息中设置的起始位、停止位来保持通信同步。 异步通信对硬件要求不高,容易实现且灵活,适用于数据的随机发送/接收,但因传送一个字节的数据就要建立一次同步,加上起始位、校验位和停止位,使得工作速度相对较低。 2、同步通信 同步通信传输的信息,是由1~2个同步字符和多字节数据位组成。同步字符用于保持通信同步并作为起始位,用以触发同步时钟开始发送或接收数据;多字节数据之间不能有空隙,每位占用的时间相等。 同步通信传输速度快,但需要准确的时钟来实现收发双方的严格同步,硬件要求高,多用于批量数据传送。 9.1.2串行通信的制式 串行通信按照数据传送方向的不同,有三种传输方式: 1、单工制式 单工传输,是指通信双方传输信息时,只能从发送方单方向传送数据给接收方,如图9-2所示。 图9-2 单工通信 2、半双工制式 半双工传输,是指通信双方都有接收器和发送器,都能够进行数据的发送和接收,但不能在同一时刻接收和发送数据,即发送时不能接收,接收时不能发送。如图9-3所示。 图9-3 半双工通信 3、全双工制式 全双工传输,是指通信双方均设有发送器和接收器,通信信道相互独立,既有发送信道又有接收信道。因此,全双工传输可实现通信双方数据的同时发送和接收,即发送时可以接收,接收时也可以发送。如图9-4所示。 图9-4 全双工通信 51单片机内部的串行接口是全双工的,即它能同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入。串行口还具有接收缓冲功能,即从接收缓冲器中读出前一个已收到的字节数据之前,就可以开始接收第二字节数据了。串行口的内部结构如图9-5所示。 图9-5 串行口结构示意图 单片机知识:串口缓冲器SBUF 串口缓冲器SBUF,是在物理上彼此独立的两个缓冲器:一个是接收缓冲器,用于存放接收到的数据;另一个是发送缓冲器,用于存放待发送的数据。所以,数据的发送和接收可以同时进行。两个缓冲器共用一个地址99H,通过对SBUF的读、写语句,可以区分当前进行的操作是针对接收缓冲器还是发送缓冲器:如果CPU在写SBUF,操作的对象就是发送缓冲器;而CPU在读SBUF时,操作的对象就是接收缓冲器了。 例如:SBUF=send[i]; // 发送第i个数据 buffer[i]=SBUF; //接收数据 9.2 单片机间的串口通信 功能说明:单片机a与单片机b,通过串行口进行通信。a机发送数据,b机接收a机发送的数据,并进行相应处理。按键K1每按下一次,连接在b机P2.0引脚的蜂鸣器就报警鸣响一次,同时,连接在b机P2.7引脚的发光二极管D1闪烁一次。按键K2按下一次,连接在b机P2.0引脚的蜂鸣器报警鸣响两次,同时,连接在b机P2.7引脚的发光二极管D1闪烁两次。 硬件说明: 1、 硬件电路连接如图9-6所示,单片机a的P3.1引脚(TXD),连接到单片机b的P3.0引脚(RXD)。 2、按键K1和K2分别连接到单片机a的P1.0和P1.1引脚; 图9-6 双机串口通信硬件连接图 程序清单如下: //双机串口通信,a机发送数据程序 #include reg52.h #define uchar unsigned char sbit k1=P1^0; sbit k2=P1^1; uchar i=0; //************************************************************ void delay(uchar i) //延时子函数 { uchar j,k; for(k=0;ki;k++) for(j=0;j110;j++); } //*******

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档