c51串口發(fā)送數(shù)據(jù)程序
#include
//-----------------------------------------------------------------
void UART_init(); //串口初始化函數(shù)
void COM_send(void); //串口發(fā)送函數(shù)
char code str[100]= "計(jì)算機(jī)你好rn";
char code str1[20] = "hello!rn";
//-------------------------------------------------------------------
void main(void)
{
unsigned char i;
UART_init(); //初始化串口
for(i = 0;i < 10 ;i++)
{
COM_send();
};
while(1);
}
//-------------------------------------------------------------
void COM_send(void)
{
char point;
for(point=0;point< 100;point++) //連續(xù)發(fā)送一百位數(shù)據(jù) //把緩存區(qū)的數(shù)據(jù)都發(fā)送到串口
{
SBUF=str[point];
while(!TI);
TI=0;
}
for(point=0;point< 20;point++) //連續(xù)發(fā)送二十位數(shù)據(jù) //把緩存區(qū)的數(shù)據(jù)都發(fā)送到串口
{
SBUF=str1[point];
while(!TI);
TI=0;
}
}
//--------------------------------------------------------------
void UART_init()
{
//初始化串行口和波特率發(fā)生器
SCON =0x40; //選擇串口工作方式1,不允許接收
TMOD =0x20; //定時(shí)器1工作在方式2,定時(shí)器0工作在方式1
TH1 =0xfA; //
PCON = 0x80; //速度加倍
TR1 =1; //啟動(dòng)定時(shí)器T1
ET1 =0;
ES=1; //允許串行口中斷
PS=1; //設(shè)計(jì)串行口中斷優(yōu)先級(jí)
EA =0; //單片機(jī)中斷允許
}