51单片机串口问题

用串口助手向单片机发送数据,如0x45,理论上将该数据送入p1对应灯亮灭,但现在不能显示出对应灯亮灭,就是P1口实际数据并不是输入的数据,为什么/?程序如下:#inclu... 用串口助手向单片机发送数据,如0x45,理论上将该数据送入p1对应灯亮灭,但现在不能显示出对应灯亮灭,就是P1口实际 数据并不是输入的数据,为什么/?
程序如下:
#include<reg52.h>
void main(void)
{ SCON=0x50; /*SCON:模式1:8-bit UART,使能接收*/
TMOD=0x20;
TH1=0xFD;
TL1 = 0xfd;
TR1=1;
EA=1;
ES=1;
RI=0;
TI=0;
while(1)
{
}
}
void UART_SER(void)interrupt 4
{ unsigned char Temp;
if(RI)
{
RI=0;
Temp=SBUF;
P1=Temp;
SBUF=Temp;
}
if(TI)
TI=0;
}
展开
 我来答
he_123456
2015-07-04 · TA获得超过2892个赞
知道大有可为答主
回答量:3162
采纳率:58%
帮助的人:1349万
展开全部
程序貌似没错,最大的可能是波特率的问题。
你的程序应该是在单片机晶振是11.0592MHz的条件下波特率为9600,
如果你用的晶振不是11.0592MHz(例如是12M)就会有问题,
或者串口助手的波特率没设正确也会有问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式