用STC12C2052AD的单片机进行串口通信,波特率为115200HZ,那么怎样设置相关寄存器? 请大师指教,谢谢!

stc12c2052ad单片机使用的1T模式外部晶振是11.0592MHZ的。... stc12c2052ad单片机使用的1T模式
外部晶振是11.0592MHZ的。
展开
 我来答
GUEL86
2013-07-06 · TA获得超过5857个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2747万
展开全部
void UartInit(void) //115200bps@11.0592MHz
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x40; //定时器1时钟为Fosc,即1T
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //设定定时器1为16位自动重装方式
TL1 = 0xE8; //设定定时初值
TH1 = 0xFF; //设定定时初值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}
或者
UARTINIT: ;115200bps@11.0592MHz
MOV SCON,#50H ;8位数据,可变波特率
ORL AUXR,#40H ;定时器1时钟为Fosc,即1T
ANL AUXR,#0FEH ;串口1选择定时器1为波特率发生器
ANL TMOD,#0FH ;设定定时器1为16位自动重装方式
MOV TL1,#0E8H ;设定定时初值
MOV TH1,#0FFH ;设定定时初值
CLR ET1 ;禁止定时器1中断
SETB TR1 ;启动定时器1
RET
追问
直接写AUXR |= 0x40;不就完了吗,还用写 AUXR &= 0xFE;吗
追答
当然如果你没有设置 AUXR 的其他位 ,就可以
你可以用 STC-ISP 下载软件 的 波特率计算器 直接生成这个数据
一万光年MEGn0
推荐于2017-11-25 · TA获得超过3712个赞
知道大有可为答主
回答量:4602
采纳率:67%
帮助的人:1082万
展开全部
刚好有一个事例,你试试,晶振是11.0592MHZ的。

TMOD&=0X0F;
TMOD|=0X20;
SCON= 0X50;

PCON|=0X80;
AUXR |=0X40; //定时器1运行于1T模式

TH1 = TL1 =0xfd;

TR1=1;
ES=1;

REN=1;
更多追问追答
追问
REN位不是在在SCON寄存器里面吗,还要单独定义?
追答
那也没关系,只是更明确。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式