单片机原理串行通信_第1页
单片机原理串行通信_第2页
单片机原理串行通信_第3页
单片机原理串行通信_第4页
单片机原理串行通信_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理串行通信第1页,共33页,2022年,5月20日,2点36分,星期二#include reg51.hsbitP1_0=P10;void Timer0() interrupt 1TH0=0 xff;TL0=0 xfa;/重置初值P1_0=P1_0;/执行灯亮或灭的动作void main()P1=0 xff;/关闭P1口接的所有灯TMOD=0 x05;/确定计数工作模式TH0=0 xff;TL0=0 xfa;/定时实值为65530EA=1;ET0=1;TR0=1;/定时器T0开始运行for(;);第2页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件串行通信

2、第3页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件串行口与串行通信第4页,共33页,2022年,5月20日,2点36分,星期二第5页,共33页,2022年,5月20日,2点36分,星期二重点:串行寄存器波特率的概念第6页,共33页,2022年,5月20日,2点36分,星期二 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 第7页,共33页,2022年,5月20日,2点36分,星期二 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行

3、通信方式。第8页,共33页,2022年,5月20日,2点36分,星期二并行通信通常是将数据字节的各位用多条数据线同时进行传送 。并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。 第9页,共33页,2022年,5月20日,2点36分,星期二串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。 第10页,共33页,2022年,5月20日,2点36分,星期二串行通信的基本概念 一、异步通信与同步通信1、异步通信 异步通信是指通信的发送

4、与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。 第11页,共33页,2022年,5月20日,2点36分,星期二 异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。第12页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件 异步通信中,接收与发送之间必须有两项规定: 1 帧格式的设定; 2 波特率 (bps.):单位时间传送的位数第13页,

5、共33页,2022年,5月20日,2点36分,星期二异步通信的数据格式 :异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。第14页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件 同步串行通信:以数据块为单位进行传送,80C51单片机没有同步串行通信的方式,不作介绍! 波特率 (bps.):单位时间传送的位数第15页,共33页,2022年,5月20日,2点36分,星期二二、串行通信的传输方向1、单工单工是指数据传输仅能沿一个方向,不能实现反向传输。2、半双工半双工是指数据传

6、输可以沿两个方向,但需要分时进行。3、全双工全双工是指数据可以同时进行双向传输。 单工 半双工 全双工第16页,共33页,2022年,5月20日,2点36分,星期二第17页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件51单片机的串行接口 SBUF(发)SBUF(收)发送控制器 TI接收控制器 RI移位寄存器波特率发生器T11A累加器(门)移位寄存器RxDTxD去申请中断引脚引脚CPU内部第18页,共33页,2022年,5月20日,2点36分,星期二 有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送

7、时CPU是主动的,不会产生重叠错误。 80C51串行口的结构 第19页,共33页,2022年,5月20日,2点36分,星期二 SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志: 80C51串行口的控制寄存器 SM0和SM1为工作方式选择位,可选择四种工作方式: 第20页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件 SM0 SM1 SM2 REN TB8 RB8 TI R1SCONSM0,SM1:串行口4种工作方式的选择位。 0 0 方式0:8位移位寄存器I/O,波特率固定为 fosc/12 0 1 方式1:8位UART(

8、1+8+1位), 波特率可变,按公式计算 1 0 方式2:9位UART(1+8+1+1位), 波特率固定=fosc x1/32或1/64 1 1 方式3:9位UART(1+8+1+1位), 波特率可变,按公式计算 SM2:串行口多机通信控制位 (作为方式2、方式3的附加控制位)串行口控制寄存器SCON(98H)第21页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件 RI,TI:串行口收/发数据申请中断标志位 1 申请中断; 0 不申请中断 TB8:方式2、3中,是要发送的第9位数据。 多机通信中,TB8=0 表示发送的是数据; TB8=1 表示发送的是地址。 R

9、B8:在方式2、3中,是收到的第9位数据。 SM0 SM1 SM2 REN TB8 RB8 TI R1 REN:串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。SCON第22页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件SMOD GF1 GF0 PD 1DL电源控制寄存器 PCON(97H)特殊功能寄存器PCON不能按位寻址 SMOD:在串行口工作方式 1、2、3 中, 是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 (在PCON中只有这一个位与串口有关) PCON第23页,共33页,2022年,5月20日,2点36分,星期二波

10、特率: 单片机或者计算机在串口通信时的速率用波特率表示;单位是bps;位/秒; 如每秒钟传送240个字符,而每个字符格式包含10位,这时的波特率为10*240位/秒=2400bps;第24页,共33页,2022年,5月20日,2点36分,星期二波特率的计算 在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。 串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。方式0的波特率 = fosc/12方式

11、2的波特率 =(2SMOD/64) fosc 方式1的波特率 =(2SMOD/32)(T1溢出率)方式3的波特率 =(2SMOD/32)(T1溢出率)第25页,共33页,2022年,5月20日,2点36分,星期二 当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1 溢出率 = fosc /12256 (TH1) 在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表所示。第26页,共33页,2

12、022年,5月20日,2点36分,星期二单片机原理及设计教学课件工作方式2:8 位自动重装的定时/计数器振荡器12TLx (8位)TFx申请中断Tx端TRx位GATE位INTx端1&C/T=0C/T=1控制 =1开关接通或门与门THx (8位)溢出位门开第27页,共33页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件波特率=(2SMOD/32)T1的溢出率 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。 初值 X = 2n - 2SMOD fosc32 波特率 12 波特率 =2SMOD fosc32 12(2n - X)其中:X 是定时器初值第28页,共3

13、3页,2022年,5月20日,2点36分,星期二单片机原理及设计教学课件 初值 X = 2n - 2SMOD fosc32 波特率 12 计算波特率的部分: 要求用T1工作于方式2来产生波特率1200, 已知晶振频率=6MHz。要求出T1的初值:初值 X = 28 - 20 610632 1200 12= 256 - = 256 - 13.026106460800 243 = 0F3H 结果后面要用到第29页,共33页,2022年,5月20日,2点36分,星期二 串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:确定T1的工作方式(编程TMO

14、D寄存器);计算T1的初值,装载TH1、TL1;启动T1(编程TCON中的TR1位);确定串行口控制(编程SCON寄存器);串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。第30页,共33页,2022年,5月20日,2点36分,星期二#include #define uchar unsigned char#define uint unsigned intunsigned char flag,a,i;uchar code table=I get ;/uchar code table=I, ,g,e,t, ;void init()TMOD=0 x20;TH1=0 xfd;TL1=0

15、 xfd;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;void main()init();while(1)if(flag=1)ES=0;for(i=0;i0;DelayTime-)for(j=0;j125;j+);uchar Key()uchar KValue;P3|=0 x3e;/中间4位置高电平if(KValue=P3|0 xe3)!=0 xff)mDelay(10);if(KValue=P3|0 xe3)!=0 xff)for(;)if(P3|0 xe3)=0 xff)return(KValue);return(0);void main()uchar KeyValue;uchar c;P1=0 xff;/关闭P1口接的所有灯TMOD=0 x20;/确定定时器工作模式TH1=0 xFD;TL0=0 xFD;/定时初值PCON&=0 x80;/SMOD=1TR1=1;/开启定时器1SCO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论