51单片机串口向计算机发送字符串C程序,本布衣试验过的,能够用,串口需有一个232-TTL电平转化
经过串口调试帮手能够看到发送字符信息。波特率为9600
#include
#include
//——————————–
char *name_month(int n);
void Delay(int x);
void put(char str);
void initUart(void);
void putString(unsigned char const *pstr);//const
//——————————
void put(char str)
{
SBUF=str;
while(!TI);
TI=0;
}
//——————————
void initUart(void)
{
TMOD=0x20;
SCON=0x50;
TH1=250;
TL1=250;
TR1=1;
EA = 1;
Delay(2);
putString(“Uart init!\n”);
}
//————————–
void Delay(int dly)
{
int j,k;
for (j=0;j
}
//———————————
char *name_month(int n)
{
static char *name[]=
{
“Illegal month\n”,
“January\n”,
“February\n”,
“March\n”,
“April\n”,
“May\n”,
“June\n”,
“July\n”,
“August\n”,
“September\n”,
“October\n”,
“November\n”,
“December\n”
};
return((n<1||n>12) ? name[0]:name[n]);
}
//————————————
void putString(unsigned char const *pstr)//const
{
while(1)
{
if(*pstr==\0) break;
put(*pstr++);
}
}
//————————————–
void main(void)
{
int i;
char *s;
initUart();
putString(“I come here pointer!\n”);
for (i=1;i<13;i++)
{
s=name_month(i);
while(1)
{
if (*s==\0) break;
put(*s++);
}
Delay(1000);
}
}