单片机串口乱码的原因
答案:5 悬赏:0
解决时间 2021-03-02 17:06
- 提问者网友:斩断情丝
- 2021-03-02 04:28
发送中断标志位,大家帮我看一下;
ad_0809=x;
TR0=1.h>
#define uint unsigned int
#define uchar unsigned char
/=del;i++);1
sbit oe=P3^1;
sbit eoc=P3^0;
uchar x,ad_0809;
void timer0( ) interrupt 1 //
}
void ad0809 () //.h"
#include <读得的数据乘以2 再乘以98%再分出个位
}
void main ( )
{
TMOD = 0x21; //
}
void communicate ( uchar ad[3])//
a=1;
TR2=1,发送时清零
TI = 0;10;/
while(!eoc);设置波特率
TL1 = 0xfd; ///
while (TI == 0) ;
TI = 0;/设置串行口工作在方式1
PCON = 0x00;//
SBUF = ad[2];
IE|=0x90;
TR1=1;
if ( a)
{ ad0809() ;
PCON=0x00;时/A /D转换,结果存ad[ 0 ] , ad[ 1 ]
{
oe=0;
SCON = 0x40;*TMOD=0x11;
TH0=(65536-SCAN_CYCLE)///100;
TH0=0xf8;
TL0=0xd7;
PCON|=0x80;
TH1=0xF4;中断
{
TH0 = 0xf8;
TL0 = 0xd7;记数器0为工作方式1
TH1 = 0xfd; // /以下三条指令为起动AD0809
st=0;//
st=1;
st=0;*/
IE|=0x10;
}
void display(unsigned int ad_0809)
{
ad[0]=(ad_0809*49/ //
SBUF = ad[1];
SCON=0x40;
TL2=0xd9;
RCAP2L=0xd9;
RCAP2H=0xff;
TR2=1;
SCON=0x50;
IE=0x9a;
IP=0x12;*/
SCON=0x50;
TMOD|=0x20;/#define SCAN_CYCLE 300
static uchar idata ad[ 3 ];
sbit st=P3^2;等待转换结束
oe=1;/intrins;/设置SMOD = 0
ES = 1;
TH1=0xfd;
TL1=0xfd;
TR0=(65536-SCAN_CYCLE)%256;
TR0=1;
T2CON=0x38;//
communicate ( ) ;
a = 0;
}
}
说明:我觉得是波特率的问题;
delay(1250);
TR1=1;设置定时/记数器1为工作方式2;数据传输
{
IE&=0xef;
ES=1;
EA=1;
/
RCAP2H=0xff;/#define IN0 XBYTE[ 0x7ff8 ]
uint a = 0;
/
while (TI == 0) ;
while (TI == 0) ;
TI = 0;
T2CON=0x38;
TL2=0xd9;
TR1 = 1;
RCAP2L=0xd9;25)/at89x52;
/*TMOD=0x21;
display(ad_0809);/读得的数据乘以2 再乘以98%再分出十位
ad[2]=(((ad_0809*49/25)%100)%10),定
TH0 = 0xf8;
TL0 = 0xd7;/允许中断响应
EA = 1;// /
SBUF = ad[0];256;读得的数据乘以2 再乘以98%除以100 得百位
ad[1]=((ad_0809*49/25)%100)/#include "/开中断
TR0 = 1;/延时程序
{
uint i;
for(i=0;i<,我把分都给你们15分!; /0\
}
void delay(uint del)//取出读得的数据
x=P2;
oe=0
最佳答案
- 二级知识专家网友:青春如此荒謬
- 2021-03-02 05:58
我的博客上有相关的说明,关键是你要搞清楚传送的是ASII码,
全部回答
- 1楼网友:寂寞的炫耀
- 2021-03-02 10:34
主要是频率问题。
寻址要保证正确。
- 2楼网友:疯山鬼
- 2021-03-02 09:14
因为是偶尔出现乱码!所以我个人认为是硬件抗干扰能力差的原因。
- 3楼网友:浪女动了心
- 2021-03-02 07:42
乱码就两个问题,一是显示的问题,你要是用串口助手的话勾选“十六进制显示”,还有就是波特率不对,你再计算一下吧。
- 4楼网友:不羁的心
- 2021-03-02 06:14
你的显示方式可能不对把!应该用数字显示(十六进制),如果用字符显示那就是乱码了啊!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |