#include <STC.h>
#define key1 P10 //定义管脚
unsigned char code y[]="你好" ;
void uar
tinit() //
通信前的设置
{
TMOD=0X20;
TR1 =1;
TH1 =0XFA; //晶振11.0952,波特率9600bps
TL1 =0XFA;
SCON=0X50; //10位异步发送
PCON=0X80;
TI =1;
}
void sendata(unsigned char x) //发送数据函数
{
while(!TI);
TI =0;
SBUF=x;//数据装入发送缓冲器
}
void delay(unsigned char ms)
{
unsigned char j;
for(;ms;ms--)
{
for(j=0;j<127;j++)
;
}
}
void main()
{
unsigned char i;
uartinit();
while(1)
{
if(!key1)
{
delay(20);
if(!key1)
{
for(i=0;i<4;i++)
sendata(y
);
}
}
}
}
为什么在pc上接收得时候,先是出现几个“你好”,然后就是一段乱码,然后再次出现“你好”如此循环?这是什么问题呢?还有一个我不太明白的就是我按一下按键key1,为什么会出现几个“你好”呢?求大家不吝赐教。谢谢哈
恩,改了。偶尔还是会出现乱码。
一周热门 更多>