基于51单片机的串口通讯(下)_第1页
基于51单片机的串口通讯(下)_第2页
基于51单片机的串口通讯(下)_第3页
基于51单片机的串口通讯(下)_第4页
基于51单片机的串口通讯(下)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、第12讲串口通讯(下)本讲任务:下半讲掌握51单片机的串口编程串口结构有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。n串行通信的数据结构异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。工作方式寄存器SCON位D7D6D5D4D3D2D1D0功能SM0SM1SM2RENTB8 RB8TIRIRI:接收中断标志位接收结束时,会由硬件置1,向CPU发出中断请求。(要由软件复位)TI:发送中断标志位发送结束时,

2、会由硬件置1,向CPU发出中断请求。要由软件复位)TB8:用来存放发送的第9位。RB8:用来存放接收的第9位。REN:是串行接收允许位0时:允许串行接收1时:禁止串行接收nSM2:多级通信控制位。、n因为多级通信是在工作方式2和工作方式3下进行的,因此SM2主要用在工作方式2和工作方式3。当SM2=0时:不论接收的第9位是0还是1,都接收数据,产生中断。当SM2=1时:只有在接收到的第9位为1时,才接收数据,并产生中断;而如果接收到的第9位为0时,则将接收到的数据丢弃,不产生中断。工作方式寄存器PCON位D7D6D5D4D3D2D1D0功能 SMOD-PCON是没有位寻址的,也就是说不能直接操

3、作SMOD要直接操作PCON寄存器。SMOD:是波特率是否加倍的选择位。0时:波特率不加倍。1时:波特率加倍。波特率的概念波特率的定义是:串行口每秒钟发送的位数称为波特率。比如说2400的波特率就是每秒钟发送2400个位数。串行口的波特率是用定时器T1作为波特率发生器的,这是定时器软件设置在工作方式2(可自动重装初值)。波特率=(2*SMOD)/32*定时器T1的溢出率定时器T1的溢出率=单片机内部时钟频率/(256-X)X是定时器的初值波特率=(2*SMOD)/32*(单片机内部时钟频率/(256-X)串口的操作步骤:先设置波特率:设置定时器T1为工作方式2(设置TMOD寄存器)给计数器赋初值(工作方式2会自动重装)设置串口工作方式:设置SCON(如果允许)如果使用中断方式,那么打开相应的中断和总中断。打开定时器T1,开始产生波特率。设置TRx/* 函数名 :UsartConfiguration()* 函数功能:设置串口* 输入 : 无* 输出 : 无*/void UsartConfiguration()SCON=0X50;/设置为工作方式1TMOD=0X20;/设置计数器工作方式2PCON=0X80;/SMOD=1,波特率加倍TH1=0XF3;/计数器初始

温馨提示

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

评论

0/150

提交评论