(完整版)c51 单片机从串口接收发送字符串
c51
单片机从串口接收发送字符串
#include 〈reg52。h>
#define uchar unsigned char
#define uint unsigned int
uchar data table[10]; //暂存数组,可以将10改为你需要的数值
/***********************************************
串行口初始化波特率9600,定时器1,工作方式2 ***********************************
**************/
void serial_init(void)
{
TMOD=0x20;//计时器1作为比特率发生器,方式2
TH1=0xfd;
TL1=0xfd; //装入初值
TR1=1;//计时中断允许
SM0=0;
SM1=1;//串行口工作于方式2
ES=1;//串行口中断允许
REN=1;//接收允许
EA=1;// 总中断允许
}
/********************* **************************
串行口传送数据
传送显示数组各字符给计算机
*************************************************/
void send(uchar *dis)
{
while(*dis!=' ’)
{
SBUF=*dis;
dis++;
while(!TI);
TI=0; //软件请发送中断
}
}
void main()
{
serial_init();//初始化
while(SBUF!=0x0d);//计算机键盘按下回车键,则开始将接收到的数据回传给计算机
send(table);
}
/***********************************************
串行中断服务函数
单片机接收数据,存入 table 数组