51单片机 特殊功能寄存器(SFR) SBUF使用方法
时间:11-24
来源:互联网
点击:
串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据,此时99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,此时99H表示接收SBUF。 单片机串口 #include #include #define unit unsigned int #define uchar unsigned char uchar date; uchar recFlag;//接收数据标识,0 未接收数据 1 接收数据 void init_serial(); void send(); void receive(); main() { init_serial(); IE=0; //屏蔽中断 while(1) { receive(); send();} } void init_serial() //初始化串口 { TMOD=0x20; //定时器T1使用工作方式2 TH1=250; //设置初值 TH0=250; TR1=1; //开始计时 PCON=0x80; //SMOD=1; SCON=0x50; //工作方式1,波特率9600bit/s,允许接收 TI=1; } void send() { if(TI==1) //检测输出是否READY { if(recFlag==1) //是否接收过数据 { SBUF=date; //发送数据 recFlag=0; TI=0; } } } void receive() { if(RI==1) //检测是否有数据接收 { date=SBUF; //接收数据 recFlag=1; //设置接收标识符 RI=0; } }
51单片机特殊功能寄存器SFRSBU 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)