當前位置:首頁 > 電源 > 電源電路
[導讀] #include#define BUFFERLEGTH 10//-----------------------------------------------------------------void UART_init(); //串口初始化函數(shù)void COM_send(void); //串

51單片機與PC串口通信程序及硬件電路圖

 

 

 

51單片機與PC串口通信程序及硬件電路圖

 

 

#include

#define BUFFERLEGTH 10

//-----------------------------------------------------------------

void UART_init(); //串口初始化函數(shù)

void COM_send(void); //串口發(fā)送函數(shù)

char str[20];

char j;

//-------------------------------------------------------------------

void main(void)

{

unsigned char i;

UART_init();

j=0; //初始化串口

for(i = 0;i < 10 ;i++)

{

COM_send(); //首先發(fā)送一次數(shù)據(jù)作為測試用

};

while(1);

}

//-------------------------------------------------------------

//--------------------------------------------------------------------------------------------------

// 函數(shù)名稱: UART_init()串口初始化函數(shù)

// 函數(shù)功能: 在系統(tǒng)時鐘為11.059MHZ時,設定串口波特率為9600bit/s

// 串口接收中斷允許,發(fā)送中斷禁止

//--------------------------------------------------------------------------------------------------

void UART_init()

{

//初始化串行口和波特率發(fā)生器

SCON =0x50; //選擇串口工作方式1,打開接收允許

TMOD =0x20; //定時器1工作在方式2,定時器0工作在方式1

TH1 =0xfA; //實現(xiàn)波特率9600(系統(tǒng)時鐘11.0592MHZ)

PCON = 0x80;

TR1 =1; //啟動定時器T1

ET1 =0;

ES=1; //允許串行口中斷

PS=1; //設計串行口中斷優(yōu)先級

EA =1; //單片機中斷允許

}

//------------------------------------------------------------

void COM_send(void)

{

unsigned char point = 0;

for(point=0;str[point]!='