单片机的数据通信.ppt
《单片机的数据通信.ppt》由会员分享,可在线阅读,更多相关《单片机的数据通信.ppt(29页珍藏版)》请在课桌文档上搜索。
1、第8章 单片机的数据通信,8.1 单片机的串行通信8.2 单片机与PC之间的串行通信习题,本章将围绕着单片机在实际应用中对串口的使用,根据通信的方法分别介绍单片机的各种通信和数据传送的方式。对于1-wire总线、IIC总线和SPI总线等知识由于内容较多,本书将在后面单独作为一章来介绍。,8.1 单片机的串行通信,8.1.1 案例介绍及知识要点8.1.2 程序示例8.1.3 知识总结串行口的结构8.1.4 知识总结串行口相关特殊功能寄存器8.1.5 知识总结串行通信工作方式及波特率的计算,8.1.1 案例介绍及知识要点,利用单片机a将一段流水灯控制程序发送到单片机b,利用b来控制其P1口点亮8位
2、LED,如图8-1所示。了解串行口的基本结构和工作原理。掌握相关寄存器的配置方式。了解串行口的工作方式,掌握串行通信波特率的计算方式。掌握应用程序的编写方法。,8.1.2 程序示例,1案例分析a完成发送,b完成接收。编写程序设置a,令SM0=0,SM1=1。设置b,令SM0=0,SM1=1,REN=1,使接收允许。2源程序1)数据发送程序2)数据接收程序,8.1.3 知识总结串行口的结构,51系列单片机的串行口占用P3.0和P3.1两个引脚,是一个全双工的异步串行通信接口,可以同时发送和接收数据。P3.0是串行数据接收端RXD,P3.1是串行数据发送端TXD。51单片机串行接口的内部结构如图8
3、-2所示。51单片机串行接口的结构由串行接口控制电路、发送电路和接收电路3部分组成。,8.1.4 知识总结串行口相关特殊功能寄存器,串行口控制寄存器SCON存放串行口的控制和状态信息,串行口用定时器T1作为波特率发生器(发送接受时钟),电源控制寄存器PCON的最高位SMOD为串行口波特率的倍率控制位,中断允许控制寄存器IE控制串行通信中断是否允许。具体格式如下。1串行口控制寄存器SCON2数据缓冲器SBUF3电源控制寄存器PCON4中断允许控制寄存器IE,1串行口控制寄存器SCON,串行口的工作方式是由串行口控制寄存器SCON控制的,其格式如表8-1所示。(1)SM0和SM1:用于设置串行接口
4、的工作方式,有4种工作方式,如表8-2所示。(2)SM2:方式2和方式3的多级通信控制位。对于方式2或方式3,如SM2置为1,则接收到的第9位数据(RB8)为1时置位RI,否则不置位;对于方式1,若SM2=1,则只有接收到有效的停止位时才会置位RI。对于方式0,SM2应该为0。(3)REN:允许串行接收位。由软件置位或清零。REN=1时,串行接口允许接收数据;REN=0时,则禁止接收。(4)TB8:对于方式2和方式3,是发送数据的第9位。可用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位,TB8=0,发送地址帧,TB8=1,发送数据帧。需要有软件置1或清0。(5)RB8:对于方
5、式2和方式3,是接收数据的第9位,作为奇偶校验位或地址帧/数据帧的标志位。对于方式1,若SM2=0,则RB8是接收到的停止位。对于方式0,不使用RB8。(6)TI:发送中断标志位。由硬件在方式0串行发送第8位结束时置位,或在其他方式串行发送停止位的开始时置位,向CPU发中断申请,但必须在中断服务程序中由软件将其清0,取消此中断请求。(7)RI:接收中断标志位。由硬件在方式0接收到第8位结束时置位,或在其他方式接收到停止位的中间时置位,向CPU发中断申请,但必须在中断服务程序中由软件将其清0,取消此中断请求。,表8-12,2数据缓冲器SBUF,发送缓冲器只管发送数据,51单片机没有专门的启动发送
6、的指令,发送时,就是CPU写入SBUF的过程(MOV SBUF,A);接收缓冲器只管接收数据,接受时,就是CPU读取SBUF的过程(MOV A,SBUF)。即数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出。CPU对特殊功能寄存器SBUF执行写操作,就是将数据写入发送缓冲器;对SBUF执行读操作就是读出接受缓冲器的内容。所以可以同时发送和接收数据。对于发送缓冲器,由于发送时CPU是主动的,不会产生重叠错误。而接收缓冲器是双缓冲结构,以避免在接收下一帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据取走,就会丢失前一字节的内容。,3电源控制寄存器PCON,PCON的最高位
7、是串行口波特率系数控制位SMOD,在串行接口方式1、方式2和方式3时,波特率与SMOD有关,当SMOD=1时,波特率加倍,否则不加倍。复位时,SMOD=0。PCON的地址为97H,不能位寻址,需要字节传送。其格式如表8-3所示。,4中断允许控制寄存器IE,此寄存器在6.2.5节中断的控制与实现中已经介绍过,此处为了串行数据通信的需要又一次列出,其格式如表8-4所示。其中,ES为串行通信中断允许位:ES=0,禁止串行端口中断;ES=1,允许串行端口的接收和发送中断。,8.1.5 知识总结串行通信工作方式及波特率的计算,通过对串行控制寄存器SM0(SCON.7)和SM1(SCON.6)的设置,可将
8、51单片机的串行通信设置成4种不同的工作方式,如表8-2所示。1方式02方式13方式24方式35波特率,1方式0,当串行通信控制寄存器SCON的最高两位SM0SM1=00时,串行口工作在方式0。方式0是扩展移位寄存器工作方式,常常用于外接移位寄存器扩展I/O口。在此方式下,数据由RXD串行地输入/输出,TXD为移位脉冲输出端,使外部的移位寄存器移位。发送和接收都是8位数据,为1帧,没有起始位和停止位,低位在前。1)方式0输出。如图8-3所示。2)方式0输入。如图8-4所示。当用户在应用程序中,将SCON中的REN位置1时(同时RI=0),就启动了一次数据接收过程。数据从外接引脚RXD(P3.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数据通信
链接地址:https://www.desk33.com/p-246797.html