51单片机串口通信程序。。含详细例子

本文是由WORD创建的

51单片机串口通信

1.1./*/*打开串口调试程序,将波特率设置为9600,无奇偶校验晶振11.0592MHz,发送和接收使用的格式相同,如都使

用字符型格式,在发送框输入hello,I Love MCU,在接收框中同样可以看到相同字符,说明设置和通信正确*/

#include

/*主程序*/

void main(void)

{

SCON=0x50;/*SCON:模式1,8-bit UART,使能接收*/

TMOD=0x20;/*TMOD:timer1,mode2,

8-bit reload*/

TH1=0xFD;/*TH1:reload value for9600baud@11.0592MHz*/

TL1=0XFD;

TR1=1;/*TR1:timer1run*/

EA=1;/*打开总中断*/

ES=1;/*打开串口中断*/

while(1)/*主循环不做任何动作*/

{

}

}

void UART_SER(void)interrupt4//串行中断服务程序

{

unsigned char Temp;//定义临时变量

if(RI)//判断是接收中断产生

{

RI=0;//标志位清零

Temp=SBUF;//读入缓冲区的值

P1=Temp;//把值输出到P1口,用于观察

SBUF=Temp;//把接收到的值再发回电脑端

}

if(TI)//如果是发送标志位,清零

TI=0;

}

2.2.5151单片机与电脑串口通信的C程序,最好是中断方式的

#include

#include

unsigned char ch;

bit read_flag=0;

void init_serialcom(void)//串口通信初始设定

{

SCON=0x50;//UART为模式1,8位数据,

允许接收

TMOD=0x20;//定时器1为模式2,8位自动重装

PCON=0x80;//SMOD=1;

TH1=0xFD;//Baud:19200fosc="11".0592MHz

相关推荐
相关主题
热门推荐