您的位置 首页 芯闻

51单片机UART通讯程序

用到的特殊寄存器:SM0SM1:工作方式控制01工作方式11起始位8数据位1停止位波特率可变TI:发送中断位TI=1发送完成,软件

用到的特别寄存器:

SM0 SM1:工作方法操控 01 工作方法1 1开始位 8数据位 1中止位 波特率可变
TI:发送中止位 TI=1 发送完结,软件置0
RI:接纳中止位 RI=1 接纳完结,软件置0
REN:接纳使能
SBUF:缓冲区

PCON最高位SMOD 置1 波特率加倍,0正常

定时器运用形式2 ,10 8位主动补充

代码如下:#include typedef unsigned char uint8;typedef unsigned int uint16;sbit left=P1^2;uint8 message;void delay42ms(void)   //差错 -0.217013888898us{unsigned char a,b,c;for(c=118;c>0;c--)for(b=65;b>0;b--)for(a=1;a>0;a--);}void uart_init(){TMOD=0x20; //定时器形式2  主动补充SCON=0x50; //uart方法1 8位TH1=TL1=0xfd; //9600     th= 256-11059200/(12*32*9600)PCON=0x80;	 //加倍	19200TR1=1;REN=1;ES=1;EA=1;}main(){uart_init();left=0;while(1);}void uart_interrupt() interrupt 4{if(TI){TI=0;}if(RI){RI=0;message=SBUF;REN=0;	//接纳封闭if(message==a){left=1;delay42ms();left=0;	}if(message==c){SBUF=o;while(TI==0);TI=0;SBUF=k;while(TI==0);TI=0;SBUF=!;}REN=1;}}作用演示:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/317902.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部