51单片机串口通信笔记
高中物理教学艺术
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




