STC12c-UART1 串口 通信设置

本文详细介绍了在STC12C系列单片机中配置UART1串口通信的过程,包括设置SCON、TMOD、PCON寄存器以实现正确的波特率,并通过计算TH1和TL1的初值确保通信精度。内容涵盖了12T和1T模式下的波特率计算,以及晶振选择和波特率加倍的原理。同时提供了初始化代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般情况下,编写串口通信程序的基本步骤如下:
配置串口为模式 1 ( SCON = 0x50)// 0101 0000
配置定时器 T1 为模式 2,即自动重装模式    (配置T1为 8位重装载 模式 -> 产生波特率用 )(TMOD = 0x20) //0010 0000
根据波特率计算 TH1 和 TL1 的初值,如果有需要可以使用 PCON 进行波特率加倍(因为有些晶振选用的波特率偏差太大,得加倍Baud才能缩小偏差)
打开定时器控制寄存器 TR1,让定时器跑起来产生Baud 。 // TR = 1;
Step 1.
在这里插入图片描述
Step 2.
在这里插入图片描述
在这里插入图片描述
Step 3.

定时器的重载值计算公式为:
一 12T模式时
TH1 = TL1 = 256 - 晶振值/12 /2/16 /波特率
比如
TMOD &= 0x0F; //复位定时器1控制信息0f=0000 1111
TMOD |= 0x20; //设定定时器1为模式2,8位自动重装方模式20=0010 0000
TL1 = 0xFD; //设定定时器1初值
TH1 = 0xFD; //设定定时器1重装值
TL1,TH1值0xFD的计算如下:
TH1 = TL1 = 256 - 晶振值/12 /2/16 /波特率
=256-11059200/12/2/16/9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值