教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

51单片机串口通信笔记

来源:网络收集 时间:2026-05-04
导读: 高中物理教学艺术 51单片机串口通信笔记.txt 串行口控制寄存器SCON 字节地址98H,可位寻址,格式如图所示。 scon寄存器结构 scon d7 d6 d5 d4 d3 d2 d1 d0 sm0 sm1 sm2 ren tb8 rb8 ti ri 位地址 9fh 9eh 8dh 9ch 9bh 9ah 99h 98h (1)SM0、SM1——串行口4种

高中物理教学艺术

51单片机串口通信笔记.txt
串行口控制寄存器SCON
字节地址98H,可位寻址,格式如图所示。
scon寄存器结构
 scon d7 d6 d5 d4 d3 d2 d1 d0
   sm0 sm1 sm2 ren tb8 rb8 ti ri
位地址 9fh 9eh 8dh 9ch 9bh 9ah 99h 98h

(1)SM0、SM1——串行口4种工作方式的选择位
表 串行口的4种工作方式
SM0 SM1 方式 功 能 说 明
0 0 0 同步移位寄存器方式(用于扩展I/O口)
0 1 1 8位异步收发,波特率可变(由定时器控制)
1 0 2 9位异步收发,波特率为fosc/64或fosc/32
1 1 3 9位异步收发,波特率可变(由定时器控制)
(2)SM2 ——多机通信控制位
用于方式2或方式3中。
当串行口以方式2或方式3接收时,
如果SM2=1,只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置“1” RI,产生中断请求;当接收到的第9位数据(RB8)为“0”时,则将接收到的前8位数据丢弃。
如果SM2=0,则不论第9位数据是“1”还是“0”,都将前8位数据送入SBUF中,并置“1” RI,产生中断请求。
在方式1时,如果SM2=1,则只有收到停止位时才会激活RI。
在方式0时,SM2必须为0。
(3)REN——允许串行接收位
由软件置“1”或清“0”。
  REN=1 允许串行口接收数据。
  REN=0 禁止串行口接收数据。
(4)TB8——发送的第9位数据
方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为地址帧或数据帧的标志。
=1为地址帧, =0为数据帧
(5)RB8——接收到的第9位数据
方式2和3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。
(6)TI——发送中断标志位
方式0时,串行发送第8位数据结束时由硬件置“1”,其它工作方式,串行口发送停止位的开始时置“1”。
TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。CPU响应中断后, 向SBUF写入要发送的下一帧数据。TI必须由软件清0。
(7)RI——接收中断标志位
方式0时,接收完第8位数据时,RI由硬件置1,其它工作方式,串行接收到停止位时,该位置“1”。
RI=1,表示一帧数据接收完毕,并申请中断, CPU从接收SBUF取走数据。该位状态也可软件查询。RI必须由软件清“0”。



特殊功能寄存器PCON
字节地址为87H,没有位寻址功能。
 spcon d7 d6 d5 d4 d3 d2 d1 d0
   SMOD xx xx xx xx xx xx
xx
SMOD:波特率选择位。
例如:方式1的波特率的计算公式为:
方式1波特率=(2SMOD/32)×定时器T1的溢出率
也称SMOD位为波特率倍增位。

串行口的4种工作方式


方式0
同步移位寄存器输入/输出方式,常用于外接移位寄存器,以扩展并行I

高中物理教学艺术

/O口。
8位数据为一帧,不设起始位和停止位,先发送或接收最低位。波特率固定为fosc/12。
帧格式如下:
d0 d1 d2 d3 d4 d5 d6 d7........

1.方式0发送
当CPU执行一条将数据写入发送缓冲器SBUF的指令时,产生一个正脉冲,串行口即把SBUF中的8位数据以
fosc/12的固定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲,发送完8位数据置“1”中断标志位TI。
2.方式0接收
REN=1,接收数据,REN=0,禁止接收。
REN=1,允许接收。向串口的SCON写入控制字(置为方式0,并置“1”REN位,同时RI=0)时,产生一个正脉冲,串行口即开始接收数据。RXD为数据输入端,TXD为移位脉冲信号输出端,接收器也以fosc/12的固定波特率采样RXD引脚的数据信息,当收到8位数据时置“1” RI。表示一帧数据接收完.
方式0下,SCON中的TB8、RB8位没有用到,发送或接收完8位数据由硬件置“1”TI或RI,CPU响应中断。TI或RI须由用户软件清“0”,可用如下指令:
CLR TI;TI位清“0”
CLR RI ;RI位清“0”
方式0时,SM2位必须为0。





方式1
SM0、SM1=01
方式1一帧数据为10位,1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。帧格式如下:
d0 d1 d2 d3 d4 d5 d6 d7........
方式1波特率=(2^SMOD/32)×定时器T1的溢出率
SMOD为PCON寄存器的最高位的值(0或1)。
1.方式1发送
方式1输出时,数据由TXD输出,
一帧信息为10位,1位起始位0,8位数据位(先低位)和1位停止位1。
当执行一条数据写发送缓冲器SBUF的指令,就启动发送。。
发送开始时,内部发送控制信号变为有效。将起始位向TXD输出,此后,每经过一个TX时钟周期,便产生一个移位脉冲,并由TXD输出一个数据位。8位数据位全部发送完毕后,置“1” TI。
2.方式1接收
数据从RXD(P3.0)脚输入。当检测到起始位的负跳变时,开始接收数据。
定时控制信号有两种):接收移位时钟(RX时钟,频率和波特率相同)和位检测器采样脉冲(频率是RX时钟的16倍,1位数据期间,有16个采样脉冲),当采样到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样(第7、8、9个脉冲时采样)进行表决以确认是否是真正的起始位(负跳变)的开始。
当一帧数据接收完,须同时满足两个条件,接收才真正有效。
⑴ RI=0,即上一帧数据接收完
成时,RI=1发出的中断请求已被响应,SBUF中的数据已被取走,说明“接收SBUF”已空。
⑵ SM2=0或收到的停止位=1(方式1时,停止位已进入RB8),则收到的数据装入SBUF和RB8(RB8装入停止位),且置“1”中断标志RI。
若这两个条件不同时满足,收到的数据将丢失。

高中物理教学艺术






方式2
9位异步通信接口。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控的第9位数据和1位停止位。帧格式如下。方式2波特率= (2^SMOD/64)×fosc

1.方式2发送
发送前,先根据通讯协议由软件设置TB8(例如,双机通讯时的奇偶校验位或多机通讯时的地址/数据的标志位)。
2.方式2接收
SM0、SM1=10,且REN=1。数据由RXD端输入,接收11位信息。当位检测到RXD从1到0的负跳变,并判断起始位有效后,开始收一帧信息。在接收器完第9位数据后,需满足两个条件,才能将接收到的数据送入SBUF。
(1)RI=0,意味着接收缓冲器为空。
(2)SM2=0或接收到的第9位数据位RB8=1时。
当上述两个条件满足时,接收到的数据送入SBUF(接收缓冲器),第9位数据送入RB8,并置“1”RI。若不满足两个条件,接收的信息将被丢弃。








方式3
SM0、SM1=11,串口为方式3。
波特率可变的9位异步通讯方式,除波特率外,方式3和方式2相同。
方式3波特率=(2^SMOD/32)×定时器T1的溢出率
多机通讯
要保证主机与所选择的从机实现可靠地通讯,必须保证串口具有识别功能。
SCON中的SM2位就是满足这一条件而设置的多机通讯控制位。
原理:在串行口以方式2(或方式3)接收时,若SM2=1, …… 此处隐藏:2672字,全部文档内容请下载后查看。喜欢就下载吧 ……

51单片机串口通信笔记.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/119314.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)