×
单片机 > 单片机程序设计 > 详情

51串口网上参考程序

发布时间:2020-09-01 发布时间:
|
学了几天,接收也没调通。原搬了网上程序,还是终于通了。贴人原程序吧!
网址如下:http://www.cnblogs.com/feng-bxr/articles/2302086.html 谢谢原作者。

 

 

 

 #include

 sbit WINT1=P3^3;        // 外部中断,接S4按键

 

 

void init() {

PCON=0x00;            //波特率不加倍

TMOD=0x20;            //定时器1用作波特率发生器(具有自动重装载初值的功能)

 SCON=0x50;            //8为异步收发,波特率可变(由定时器控制)选择串口方式1,接收允许

TH1=0x0fd;

TL1=0x0fd;            //设置波特率为9600bps,晶振11.0592MHz

RI=0;           //清标志位

 TI=0;

TR1=1;              //开启计数T1

ES=1;      //开串口中断

IT1=1;      //设置为跳变触发方式

EX1=1;      //开外部中断1

EA=1;      //开总中断       

}

 

 

void main(){

init();

while(1);             //延时等待中断

}

 

 

void uart_interrupt (void) interrupt 4{

char date;

ES=0;              //关闭串口中断

if(TI) {           //判断是发送中断

TI=0;          //清除发送中断标志

}

else {

date=SBUF;     //数据缓存到date中

RI=0;   //清除接收中断标志

date++;   //数据处理

SBUF=date;   //返回数据

}

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

}

 

 

void int1_interrupt(void) interrupt 2 {

while(!WINT1);      //按键松手检测

SBUF=0X41;          //发送字符数据A

}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机的抗干扰措施有哪些