女生理想体重计算公式:51单片机 特殊功能寄存器(SFR) SBUF使用方法
来源:百度文库 编辑:中财网 时间:2024/05/19 23:51:28
串行口中有两个缓冲寄存器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; } }
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系列单片机 TCON寄存器里的IT1,IE1都是什么作用的?
单片机中PC属于那个寄存器?
什么是基址寄存器,什么是源变址寄存器,什么是目的变址寄存器?他们的功能又是什么?
SFR是什么
S的特殊反应.
QQTM的特殊功能!?
奔腾3微处理器的基本寄存器的分类还有各寄存器的功能
8051单片机 P1口功能
CPU包括哪些寄存器?分别有什么功能?
奔3处理器基本寄存器分类及功能
NOKIA(诺基亚)6030有些什么特殊功能?
【难住三个大学生的题】单片机I/O接口与哪个寄存器相连?
在arm单片机中,cpsr寄存器中哪些位用来定义处理器状态
51单片机
pic单片机与51单片机
styleXP有什么特殊功能?
3G手机特殊功能是什么?
动物有什么特殊功能?
警察对讲机的特殊功能
为什么汇编编译器不识别程序中的一些命令和特殊寄存器?
关于61单片机的原理及功能
74系列单片机的功能有那些?
有没有模拟单片机功能的软件?