请输入您要查询的百科知识:

 

词条 SBUF
释义

串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据,此时99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,此时99H表示接收SBUF。

单片机串口

#include <reg52.h>#include <absacc.h>

#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;

}

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/26 15:33:33