新手51单片机和PC通信问题求助
时间:10-02
整理:3721RD
点击:
刚学习51单片机几天想用蓝牙实现单片机的通信,然后购买了nrf24l01+的蓝牙模块还有那个串口模块,有四个引脚VCC,GND,TX,RX的那种,然后把一个插在电脑上,一个插在单片机上,控制数码管显示数字,不知道为什么不能实现,在串口助手上,能接收到发送的信息。程序写的很简单,如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x6f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void display(uchar num)
{
P1=table[num];
P2=0xfD;
}
void main()
{
SCON=0X50;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
TR1=1;
EA=1;
ES=1;
}
void ser()interrupt 4
{
uchar a;
RI=0;
ES=0;
a=SBUF;
display(a);
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
请各位大哥帮帮忙解决一下
现在的状态是无论电脑发送什么,都显示8
显示不要放到中断里面还行啊
中断里面的东西越少越好
单片机和pc端通信主要在于波特率的调试,你现在用的波特率应该和单片机的波特率不匹配,我上次把波特率改为2400,初值改为0xf3,你试试。
问题解决了,不是波特率的事,控制的时候应该让SBUF–48,这样就好了,谢谢回复