51单片机串口通信模板_51单片机串口通信(相关例程)

8-bit reload*/

TH1 = 0xFD; /* TH1:

reload value for 9600 baud @ 11.0592MHz

*/

TR1 = 1; /* TR1:

timer 1 run

*/

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.

51

单片机与电脑串口通信的

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:19200 fosc="11".0592MHz

IE |= 0x90 ; //Enable Serial Interrupt

TR1 = 1 ; // timer 1 run

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值