51单片机串口工作方式0和1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位(1),先发送或接收最低位。帧格式如图7-7:
图7-7 方式1比特率=(2SMOD/32)×定时器T1的溢出率
SMOD为PCON寄存器的最高位的值(0或1)。
.
1.方式1发送
写入SBUF后自动开始发 送
2.方式1接收
图7-8
P.105
请求中断 可写下一个要发送的数据
图7-9 .
请求中断 可从SBUF读取新接收的数据
地址为 99H,不可位寻址;串行输出时为发送数据缓冲器,发送
寄存器只写不读,数据从

发送端TXD(P3.1)输出;
SBUF
TXD
串行输入时为接收数

据缓冲器,接收寄存

CPU
率 发
器只读不写,数据从


接收端 RXD(P3.0)
T1
发送控制器 TI
串行口中断 +
接收控制器 RI
输入;由指令确定是对发

RXD/ TXD/
清0
串行口工作于方式0: 同步移位寄存器方式
发送
fosc/12
图5-2-1
74HC595: 8位串入并出移位寄存器,带锁存及三态输出功能。 (相当于74LS164+273. +244)
2.方式0接收
写入SBUF后自动开始发 送
向串口的SCON写入控制字(置为方式0,并置“1”REN位,
P.159-160
74LS165:8位并入串出移位寄存器。 图9-22是利用74LS164扩展二个8位并行输入口的接口电路。
每当向SCON写入控制字为方式0且 REN=“1” ,即串行移入8位数据到SBUF
并行锁存
串行口工作于方式0: 同步移位寄存器方式
接收
fosc/12
图9-21
.
5.2.2 方式1 :8位异步收发,比特率可变(由定时器控制) SM0、SM1=01 方式1一帧数据为10位,1个起始位(0),8个数据位,1个停止
写入SBUF后自动开始发 送
图5-. 1
请求中断
CPU响应中断后:CLR TI
5.2 用AT89C51的串行口扩展并行口
5.2.2 用74LS164扩展并行输出口
74LS164:8位串入并出移位寄存器。
图是利用74LS164扩展二个8位并行输出口的接口电路。
.
每当新数据写入SBUF,即把SBUF中的8位数据以串行移
• 串行数据传送速率控制寄存器 —— PCON
地址:87H ✓ SMOD = 0,定义波特率不变 ✓ SMOD = 1,定义波特率加倍
TDL:等待方式位 PD:掉电方式
GF1、 GF2通用标志位
注:PCON 寄存器的地址为87H, 仅 b7 位有用,不可位寻址。
0
2
F4H
时钟振荡频率为6MHz或12 MHz时,产生的比特率偏差较大,
故用到串口通信时通常选用11..0592MHZ晶体振荡器。
串行口的结构
• MCS-51 单片机串行接口的硬件
➢ P3.0 位的第二功能 —— 收端 RXD ➢ P3.1 位的第二功能 —— 发端 TXD
• MCS-51 单片机串行接口的控制
➢ 寄存器 SCON、PCON、SBUF ➢ 寄存器 IE、IP
• MCS-51 单片机串行接口工作方式
Fra Baidu bibliotek
➢ 方式 0
➢ 方式 1
➢ 方式 2
➢ 方式 3
.
有两个数据缓冲寄存器SBUF,一个输入移位寄存器,一个 串行控制寄存器SCON和一个特殊功能寄存器PCON等组成。
8 位SBUF是全双工串行接口寄存器, 它是特殊功能寄存器,
.
串行口控制寄存器SCON
✓ SM2 —— 多机通信控制位(方式2和3)
• SM2 = 0,无多机通信 • SM2 = 1,允许多机通信
✓ REN —— 串行口接收数据控制位
• REN = 1,允许串行口接收数据 • REN = 0,禁止串行口接收数据
.
由软件置位或清除
7.1.2 特殊功能寄存器PCON
同时RI=0)时,串行口即开始接收数据。RXD为数据输入端,
TXD为移位脉冲信号输出端,也以fosc/12的固定比特率,当
收到8位数据时置“1” RI。表示一帧数据接收完,时序如下

RI=‘0’时
其中 REN=‘1’
图5-2 .
请求中断
CPU响应中断后:CLR RI
5.2.1 用74LS165扩展并行输入口
串口工作方式
5.1 方式0 同步移位寄存器方式,比特率固定为fosc/12。 常用于外接移位寄存器,以扩展并行I/O口,SM2位必须为0 。
1.方式0发送: 当CPU执行写入发送缓冲器SBUF的指令时,串行口即把SBUF
中的8位数据以fosc/12的固定比特率从RXD引脚串行输出,低 位在先,TXD引脚输出同步移位脉冲,发送完8位数据置“1”中 断标志位TI
5.3.1 比特率的制定方法
P.109
方式0、方式2的比特率是固定的;方式1、方式3比特率由定时器T1的
溢出率来确定。
5.3.2 定时器T1产生比特率的计算
(1)方式0波特率=时钟频率fosc×1/12,不受SMOD位的值的影响。若 fosc=12MHz,比特率为fosc/12即1Mb/s。
(2)方式2波特率=(2SMOD/64)×fosc
若fosc=12MHz: SMOD=0 比特率=187.5kb/s;
SMOD=1 比特率=375kb/s
(3)方式1或方式3时,比特率为:
比特率= (2SMOD/32)×T1的溢出率
= fosc/12/(T1计数次数) × (2SMOD/32)
实际设定比特率时,T1常设置为方式2定时(自动装初值)这种方式不仅操
SBUF
送寄存器或接收寄存器作用。 .
RXD
移位寄存器
7.1.1 串行口控制寄存器SCON
✓ SM0、SM1 —— 串行接口工作方式定义位
• SM0、SM1 = 00 —— 方式 0,8位同步移位寄存器 • SM0、SM1 = 01 —— 方式 1,10 位异步接收发送 • SM0、SM1 = 10 —— 方式 2,11 位异步接收发送 • SM0、SM1 = 11 —— 方式 3,11 位异步接收发送 注意: 方式 0 的特点,方式 2、方式 3 的差异
作方便,也可避免因软件重装初值而带来的定时误差。
.
比特率
=
/12
比特率
P.110
=
/32
9600bps 1200bps
=
/12/计次/16
计1次 计3次 计3次 计6次 计12次 计24次
9.6kbit/s 实际10.416 = 6MHz/12/计次/16 1
0
2
FDH
1.2kbit/s 实际1.302 = 6MHz/12/计次/32 0
相关文档
最新文档