微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机串口向计算机发送字符串C程序

51单片机串口向计算机发送字符串C程序

时间:11-17 来源:互联网 点击:
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;jfor(k=0;k<125;k++);
}
//---------------------------------
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);
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top