标题:
单片机串口发送显示乱码
[打印本页]
作者:
dzq123
时间:
2019-9-7 21:02
标题:
单片机串口发送显示乱码
为什么下载一下程序是,在串口接受数据上显示乱码的,请大佬们指教,我想从单片机发送到上位机上显示
#include <REG52.h>
#define uchar unsigned char
#define uint unsigned int
uchar dis[]={0,0,1,1,0,0};
/*****n(ms)延时子程序*****/
void delayms(uint ms) //延时ms
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
/*****主程序*****/
void main()
{
int i;
TMOD=0x20; //定时器1工作于8位自动重载模式, 用于产生波特率
TH1=0xFD;//波特率9600
TL1=0xFD;
SCON=0x50; //设定串行口工作方式
TR1=1; //启动定时器1
while(1)
{
for(i=0;i<6;i++)
{
SBUF=dis[i];
while(!TI); //等特数据传送
TI=0; //清除数据传送标志
} delayms(500);
}
}
复制代码
作者:
tyrl800
时间:
2019-9-8 08:39
估计是你的晶振频率不对
作者:
f556
时间:
2019-9-9 09:35
查检上位机的波特率是否9600,检验位是否对。试完如果还是乱码,查一下晶振是否与程序设想的一致,先用11.0592Mhz,如果是STC,下载时一定把默认的内部RC改为外部晶振!!切记
作者:
lele5211314
时间:
2019-9-10 09:59
看看你的晶振是否是11.0592MHz,然后看看接受端的波特率是否是9600
作者:
h4610
时间:
2019-9-10 16:46
逻辑分析仪还是示波器看看,估计本质还是时钟配置问题
作者:
KOKO1213
时间:
2019-9-10 18:05
可能波特率不对显示乱码。
作者:
q546822
时间:
2019-9-15 15:31
工作模式是否与上位机接收模式一致 ,比如说有没有停止位起始位检验位
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1