51单片机串口通信

欢迎入群共同学习交流
时间记录:2024/11/12

一、知识点记录

1.波特率
波特率由定时器1进行控制,使用工作方式2,常数自动重装载的8位定时器/计数器
方式1、3波特率 = (2^SMOD/32)* (定时器1的溢出率)
定时器1的溢出率 = SYSclk/(12或6T模式)/(256-TH1)
例如:
    单片机工作在12T模式,波特率为9600,进行倍频
    定时器1的溢出率 = 9600/(2^0/32) = 307200
    TH1 = 256-12000000/12/307200 ≈ 253 = 0xFD
    时钟频率为12M时有误差,为11.0592M时比较准刚好为0xFD

2.寄存器介绍
1)SCON寄存器(串口控制寄存器)

7 6 5 4 3 2 1 0
字节地址:98H SM0 SM1 SM2 REN TB8 RB8 TI RI

工作模式
SM0、SM1决定串口工作模式
SM2:允许方式2、3多机通信控制位,在方式2、3时,如SM2=1,REN=1,则从机处于只有接收到RB8=1时才激活中断请求标志位RI=1,并向主机请求中断处理,在方式1时,如果SM2=1,则只有接收到有效停止位后才置位中断请求标志位RI=1
REN:允许/禁止串口接收数据标志位,1允许接收数据
TB8:与SM2结合用于发送从机选择位/校验位
RB8:与SM2结合用于接收从机选择位/校验位
TI:发送中断请求标志位
RI:接收中断请求标志位

2)PCON寄存器(电源控制寄存器)

7 6 5 4 3 2 1 0
字节地址:87H SMOD SMOD0 - POF GF1 PD IDL

SMOD:设置方式123的波特率是否加倍
SMOD0:决定SCON寄存器SM0位的作用,当SMOD0=1时,SM0用于帧错误检测,当检测到一个错误停止位时SM0置1,由软件清零,当SMOD0=0时,SM0与SM1决定串口工作方式

3)IE寄存器(中断使能寄存器)
位4(ES):串口中断允许位
位7(EA):总中断允许控制位

二、示例代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值