找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1900|回复: 4
打印 上一主题 下一主题
收起左侧

STC15W204S单片机串口通信问题

[复制链接]
跳转到指定楼层
楼主
ID:405098 发表于 2021-7-5 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请各位大佬帮忙看下下面这段程序,在STC89C52RC上可以正常运行,移植到STC15W204S上无法运行,我自己想过修改AUXR寄存器改成1T或者12T模式都没成功,这里贴出51单片机源程序,指点一下要修改些什么,谢谢。

#include <reg52.h>

void ConfigUART(unsigned int baud);

void main()
{
    ConfigUART(9600);  //配置波特率为9600

    while (1)
    {
        while (!RI);     //等待接收完成
        RI = 0;          //清零接收中断标志位
        SBUF = SBUF + 1; //接收到的数据+1后,发送回去
        while (!TI);     //等待发送完成
        TI = 0;          //清零发送中断标志位
    }
}
/* 串口配置函数,baud-通信波特率 */
void ConfigUART(unsigned int baud)
{
    SCON  = 0x50;  //配置串口为模式1
    TMOD &= 0x0F;  //清零T1的控制位
    TMOD |= 0x20;  //配置T1为模式2
    TH1 = 256 - (11059200/12/32)/baud;  //计算T1重载值
    TL1 = TH1;     //初值等于重载值
    ET1 = 0;       //禁止T1中断
    TR1 = 1;       //启动T1
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2021-7-5 16:38 | 只看该作者
芯片型号 : STC15W204S
关于此芯片的重要说明:有定时器0和定时器2 (注意:无定时器1)

要用定时器2作波特率发生器
void UartInit(void)                //9600bps@11.0592MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x01;                //串口1选择定时器2为波特率发生器
        AUXR |= 0x04;                //定时器2时钟为Fosc,即1T
        T2L = 0xE0;                //设定定时初值
        T2H = 0xFE;                //设定定时初值
        AUXR |= 0x10;                //启动定时器2
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:405098 发表于 2021-7-5 16:42 | 只看该作者
1楼完美解答,谢谢。
回复

使用道具 举报

地板
ID:390416 发表于 2021-7-6 20:26 | 只看该作者
串口1打印程序 可以打印3个十六位的变量 波特率9600 http://www.51hei.com/bbs/dpj-201660-1.html

串口发送 不需要while死等 串口接收执行软件复位 http://www.51hei.com/bbs/dpj-200927-1.html
回复

使用道具 举报

5#
ID:390416 发表于 2021-7-6 20:27 | 只看该作者

串口1打印程序 可以打印3个十六位的变量 波特率9600 http://www.51hei.com/bbs/dpj-201660-1.html

串口发送 不需要while死等 串口接收执行软件复位 http://www.51hei.com/bbs/dpj-200927-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表