您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 51单片机特殊功能寄存器SBUF使用方法
51单片机特殊功能寄存器(SFR)SBUF使用方法Postedon2011-03-2210:40香格里拉\(^o^)/阅读(109)评论(0)编辑收藏串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据,此时99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,此时99H表示接收SBUF。单片机串口#includereg52.h#includeabsacc.h#defineunitunsignedint#defineucharunsignedcharuchardate;ucharrecFlag;//接收数据标识,0未接收数据1接收数据voidinit_serial();voidsend();voidreceive();main(){init_serial();IE=0;//屏蔽中断while(1){receive();send();}}voidinit_serial()//初始化串口{TMOD=0x20;//定时器T1使用工作方式2TH1=250;//设置初值TH0=250;TR1=1;//开始计时PCON=0x80;//SMOD=1;SCON=0x50;//工作方式1,波特率9600bit/s,允许接收TI=1;}voidsend(){if(TI==1)//检测输出是否READY{if(recFlag==1)//是否接收过数据{SBUF=date;//发送数据recFlag=0;TI=0;}}}voidreceive(){if(RI==1)//检测是否有数据接收{date=SBUF;//接收数据recFlag=1;//设置接收标识符RI=0;}}
本文标题:51单片机特殊功能寄存器SBUF使用方法
链接地址:https://www.777doc.com/doc-2927851 .html