|
我先上程序
#include<reg51.h>
unsigned char code zifuchuan[ ]="kk ---";
void fasong(unsigned char dat)
{
SBUF=dat; //发送数据
while(TI) //检查发送完成中断标志如果未完成就等等否则复位发送标志位以便下个数据可以发送
TI=0;
}
void yanshi(unsigned int n)
{
unsigned int i,j;
for(i=0; i<n; i++)
for(j = 249; j > 0; j--);
}
void main(void)
{
unsigned int i;
TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2
SCON=0x40; //SCON=0100 0000B,串口工作方式1 1起始位8数据位1停止位
PCON=0x00; //PCON=0000 0000B,波特率9600 晶振11.0592
TH1=0xfd; //根据规定给定时器T1赋初值
TL1=0xfd; //根据规定给定时器T1赋初值
TR1=1; //启动定时器T1
while(1)
{ i=0;
while(zifuchuan != '\0') //循环发送字节数组中的数据
{
fasong(zifuchuan); //调用发送函数发送数据
i++;//指向下个字符
yanshi(1); //150ms发送一次数据
}
yanshi(1000); //150ms发送一次数据
}
}
仿真电路 (原文件名:LB7A15ZQHE48FNJ%_VP0[]W.jpg)
结果竟然是他只认空格不认字符串,刚接触串口通信怎么也想不明白,希望知道的帮解释一下,谢谢了! |
|