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:timer 1, mode 2,

8-bit reload*/

TH1=0xFD; /*TH1:reload value for 9600baud @11.0592MHz */

TL1=0XFD;

TR1=1; /*TR1:timer 1run */

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

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

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

{

}

}

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

{

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

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