新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)與PC串口通信程序及硬件電路圖

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

作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/201611/317347.htm

#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ù)作為測(cè)試用

};

while(1);
}


//-------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): UART_init()串口初始化函數(shù)
// 函數(shù)功能: 在系統(tǒng)時(shí)鐘為11.059MHZ時(shí),設(shè)定串口波特率為9600bit/s
// 串口接收中斷允許,發(fā)送中斷禁止
//--------------------------------------------------------------------------------------------------
void UART_init()
{
//初始化串行口和波特率發(fā)生器
SCON =0x50; //選擇串口工作方式1,打開(kāi)接收允許
TMOD =0x20; //定時(shí)器1工作在方式2,定時(shí)器0工作在方式1
TH1 =0xfA; //實(shí)現(xiàn)波特率9600(系統(tǒng)時(shí)鐘11.0592MHZ)
PCON = 0x80;
TR1 =1; //啟動(dòng)定時(shí)器T1
ET1 =0;
ES=1; //允許串行口中斷
PS=1; //設(shè)計(jì)串行口中斷優(yōu)先級(jí)
EA =1; //單片機(jī)中斷允許
}
//------------------------------------------------------------
void COM_send(void)
{
unsigned char point = 0;
for(point=0;str[point]!=