单片机应用技术(经典项目化案例式新形态活页教材)第5版 课件 p191-6.2.2 设置工作方式_第1页
单片机应用技术(经典项目化案例式新形态活页教材)第5版 课件 p191-6.2.2 设置工作方式_第2页
单片机应用技术(经典项目化案例式新形态活页教材)第5版 课件 p191-6.2.2 设置工作方式_第3页
单片机应用技术(经典项目化案例式新形态活页教材)第5版 课件 p191-6.2.2 设置工作方式_第4页
单片机应用技术(经典项目化案例式新形态活页教材)第5版 课件 p191-6.2.2 设置工作方式_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

6.2.2设置工作方式《单片机应用技术(C语言版)》深圳职业技术学院设置串行通信的工作方式设置波特率启动波特率发生器123单片机串行口的初始化:SM0SM1SM2RENTB8RB8TIRI0x9F0x9E0x9D0x9C0x9B0x9A0x990x981.设置串行通信的工作方式

01000000SCON=0x40;SCONSM0SM1工作方式功能说明波特率00方式08位同步移位寄存器常用于扩展I/O口fosc/1201方式110位UART8位数据、起始位、结束位可变(取决于定时器1溢出率和SMOD)0方式211位UART8位数据、起始位、奇偶校验位、结束位fosc/64或fosc/32(取决于SMOD)11方式311位UART8位数据、起始位、奇偶校验位和结束位可变(取决于定时器1溢出率和SMOD)SM0SM1SM2RENTB8RB8TIRISCONSM0SM1SM2RENTB8RB8TIRISCONREN:允许串行接收位。REN=1时,允许接收,REN=0时,禁止接收。REN=1;SM0SM1SM2RENTB8RB8TIRISCONTI:发送中断标志位方式0:发送完第8位数据时,TI由硬件置位。方式1、2、3:TI=1是发送完一帧数据的标志SBUF=send[i];//发送第i个数据while(TI==0);//查询等待发送是否完成TI=0;

//发送完成,TI由软件清0SM0SM1SM2RENTB8RB8TIRISCONRI:接收中断标志位REN=1; //接收允许while(RI==0);//查询等待接收标志为1,表示接收到数据buffer[i]=SBUF;//接收数据RI=0;

//RI由软件清0SM0SM1SM2RENTB8RB8TIRISCON控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式选择位多机通信控制位允许串行接收位接收数据的第9位发送数据的第9位接收中断标志位发送中断标志位0x9F0x9E0x9D0x9C0x9B0x9A0x990x98电源及波特率选择寄存器PCONSMODGF1GF0PDIDLPCONSMOD为波特率选择位。SMOD=1:波特率×2SMOD=0:波特率不变

串行口工作方式1

方式1是单机通信方式,数据帧包括一位起始位,8位数据位和一位停止位,其10位帧格式如图所示。波特率由定时器T1和SMOD位确定。

发送过程:(1)串口初始化。设置工作方式(帧格式)、设置波特率(传输速率)、启动波特率发生器(T1)。

SCON=0x40;//定义串行口工作于方式1

TMOD=0x20;//定时器T1工作于方式2 TL1=0xf4;//波特率为2400bps TH1=0xf4; TR1=1; (2)发送数据。将要发送的数据送入SBUF,即可启动发送。此时串口自动按帧格式将SBUF中的数据组装为数据帧,并在波特率发生器的控制下将数据帧逐位发送到TXD端(最低位先发)。当发送完一帧数据后,单片机内部自动置中断标志TI为1。

SBUF=send[i];//发送第i个数据(3)判断一帧是否发送完毕。判断TI是否为1,是则表示发送完毕,可以继续发送下一帧;否则继续判断直至发送结束。while(TI==0);//查询等待发送是否完成(4)清零发送标志位TI。

TI=0;接收过程:(1)串口初始化。设置工作方式(帧格式)、设置波特率(传输速率)、启动波特率发生器(T1)、允许接收。SCON=0x40;//定义串行口工作于方式1TMOD=0x20;//定时器T1工作于方式2 TL1=0xf4;//波特率为2400bps TH1=0xf4; TR1=1; REN=1;//串行口允许接收数据

(2)判断一帧是否接收完毕。数据从接收端RXD(最低位先收)一位一位接收,判断RI是否为1,是则表示接收完毕,把数据存放在SBUF中,可以继续接收下一帧;否则继续判断直至接收结束。while(RI==0);//查询等待接收是否完成(2)数据存放。将接收到SBUF中的数据保存在数组中。

buffer[i]=SBUF;//接收第i个数据(4)清零接收标志位RI。

RI=0;

串行口工作方式2

方式2的数据帧是11位——用于多机通信格式为:一个起始位,8个数据位,一个可编程位和一个停止位,其11位帧格式如图所示。波特率由SMOD位确定。

可编程位在SCON的TB8和RB8位中,用于奇偶校验或多机通讯标识。可编程位可以由软件置1或清0;发送时在TB8中,连同八位数据通过串口发出。收到数据后,数据存入接收SBUF内,可编程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可编程位还可用作为对接收到的数据进行校验使用,常用校验方法:在可编程位装入发送数据的奇偶校验位。

举例:发送数据0x85(10000101B),发送数据包含二进制数1的个数为奇数,因此奇偶校验位P=1,在发送数据0x85时,将P=1赋值到可编程位TB8,连同数据共同发出。

对方接收后,只要将实际数据的奇偶关系与RB8进行对比,即可知道收发过程是否有误。SM0SM1SM2RENTB8RB8TIRISCON方式2波特率取决于PCON中SMOD位的值:SMOD=0时,波特率为fosc的1/64,即波特率=fosc/64;SMOD=1时,波特率为fosc的1/32,即波特率=fosc/32。波特率=(2SMOD/64)×fosc

串行口工作方式3

方式3的数据帧是11位——用于多机通信格式为:一个起始位,8个数据位,一个可编程位和一个停止位,其11位帧格式如图所示。波特率由定时器T1和SMOD位确定。

可编程位在SCON的TB8和RB8位中,用于奇偶校验或多机通讯标识。可编程位可以由软件置1或清0;发送时在TB8中,连同八位数据通过串口发出。收到数据后,数据存入接收SBUF内,可编程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可编程位还可用作为对接收到的数据进行校验使用,常用校验方法:在可编程位装入发送数据的奇偶校验位。

举例:发送数据0x85(10000101B),发送数据包含二进制数1的个数为奇数,因此奇偶校验位P=1,在发送数据0x85时,将P=1赋值到可编程位TB8,连同数据共同发出。

对方接收后,只要将实际数据的奇偶关系与RB8进行对比,即可知道收发过程是否有误。

温馨提示

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

评论

0/150

提交评论