[STC单片机] STC12C2052AD串口通讯返回数据错误

[复制链接]
 楼主| bossrowe 发表于 2018-8-31 12:07 | 显示全部楼层 |阅读模式
大家好,请教大家一个问题,特别着急,我用STC12C2052AD写了段串口通讯程序如下,然后用STC-ISP与其通讯,发送一个数据给单片机,并把数据加1,然后单片机返回给STC-ISP,但是目前遇到两个问题:
1)波特率在单片机程序中只有设置成9600,并且STC-ISP上设置成4800才能获取到有几个正确的数据,大部分还是不对。
2)测试了几个数据如下:
发送 接收
00 01
01 02
02 03
03 0C
04 0D
05 0E
06 0F
07 10
08 11

程序如下:

#include "reg51.h"
#include "intrins.h"

void ConfigUART(unsigned int baud);

void main()
{
EA = 1;
ConfigUART(9600);
while(1);
}

void ConfigUART(unsigned int baud)
{
SCON = 0x50;
TMOD &= 0x0F;
TMOD |= 0x20;
TH1 = TL1 = 256 - (11059200 / 12 / 32) / baud;
ET1 = 0;
ES = 1;
TR1 = 1;
}

void InterruptUART() interrupt 4
{
if(RI)
{
RI = 0;
SBUF = SBUF + 1;
}
if(TI)
TI = 0;
}

已经核对过单片机用的晶振是11.0592MHZ,搜索了一些网上的案例,说是波特率设置的问题,但是我也没能看出什么问题来,请大家帮忙看看,谢谢~~
ningling_21 发表于 2018-8-31 13:04 | 显示全部楼层
波特率有问题
 楼主| bossrowe 发表于 2018-8-31 14:15 | 显示全部楼层

你好,请问一下波特率是哪里的问题,怎么样修改呢,非常感谢!

评论

系统时钟有没分频或倍频?  发表于 2018-8-31 15:35
ningling_21 发表于 2018-8-31 15:34 | 显示全部楼层
bossrowe 发表于 2018-8-31 14:15
你好,请问一下波特率是哪里的问题,怎么样修改呢,非常感谢!

主要把TH,TL1的值和波特率之间的关系搞清楚

评论

用ISP软件的波特率计算机对比过,关系应该是没有问题的  发表于 2018-8-31 18:33
kissdb 发表于 2018-8-31 16:59 | 显示全部楼层
bossrowe 发表于 2018-8-31 14:15
你好,请问一下波特率是哪里的问题,怎么样修改呢,非常感谢!

根据官方的历程写,或者isp软件有个波特率计算器,你根据它生成的试试
 楼主| bossrowe 发表于 2018-8-31 18:31 | 显示全部楼层
kissdb 发表于 2018-8-31 16:59
根据官方的历程写,或者isp软件有个波特率计算器,你根据它生成的试试

用官方的案例写了下,还有用ISP软件的波特率计算器也算过,还是老样子,反馈回来的数据还是有问题。
coody 发表于 2018-8-31 20:51 | 显示全部楼层
下载时选择了外部时钟吗?觉得你这是使用内部6MHZ(实际4~8MHZ之间)造成的。

评论

非常抱歉这两天都没来看这个问题,太感谢你了,确实是在STC-ISP软件里面没有再硬件选项里面勾掉选择内部IRC时钟造成的,再次感谢!  发表于 2018-9-3 13:53
caijie001 发表于 2018-9-3 00:00 | 显示全部楼层
肯定是波特率问题,不然这么点数据不可能出现这种现象的
jackhwang 发表于 2018-9-3 08:47 | 显示全部楼层
SBUF = SBUF + 1;
改为:
Temp = SBUF;
SBUF = Temp  + 1;
ningling_21 发表于 2018-9-3 12:46 | 显示全部楼层
bossrowe 发表于 2018-8-31 18:31
用官方的案例写了下,还有用ISP软件的波特率计算器也算过,还是老样子,反馈回来的数据还是有问题。 ...

MCU的主时钟是11.0592的话,试试TH=TL=0XFD
 楼主| bossrowe 发表于 2018-9-3 13:54 | 显示全部楼层
ningling_21 发表于 2018-9-3 12:46
MCU的主时钟是11.0592的话,试试TH=TL=0XFD

谢谢你的持续帮助,非常感谢,在coody的帮忙下找到原因是使用了内部IRC时钟造成的。

评论

解决就好  发表于 2018-9-3 14:03
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部