51单片机 特殊功能寄存器(SFR) SBUF使用方法

发布者:bemaii最新更新时间:2015-12-25 来源: eefocus关键字:51单片机  特殊功能寄存器  SFR  SBUF 手机看文章 扫描二维码
随时随地手机看文章
  串行口中有两个缓冲寄存器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单片机  特殊功能寄存器  SFR  SBUF 引用地址:51单片机 特殊功能寄存器(SFR) SBUF使用方法

上一篇:C51中interrupt和using的用法
下一篇:51单片机的简介——定时器、计数器

推荐阅读最新更新时间:2024-03-16 14:41

CH375_CH376 U盘读写模块在51单片机上的应用
电路原理图如下: ch375资料手册: 本程序的接线图: 单片机源程序如下(host.c文件): /* **************************************** ** Copyright (C) W.ch 1999-2004 ** **************************************** ** USB Host File Interface for CH375 ** ** TC2.0@PC, KC7.0@MCS51 ** **************************************** */ /* CH375 主机文件系统接口 */ /* 支
[单片机]
CH375_CH376 U盘读写模块在<font color='red'>51单片机</font>上的应用
关于51单片机数码管消影
看看原理图: 百度百科: 74HC573 数码管 ----------------------------------------------------------------------------------------------------------- 74HC573是拥有八路输出的透明 锁存器,输出为三态门,是一种高性能硅栅 CMOS器件。 SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准 CMOS输出兼容的,加上拉电阻他们能和LS/ALSTTL输出兼容。 ---------------------------------------------------------------------
[单片机]
关于<font color='red'>51单片机</font>数码管消影
51单片机 使用一个独立按键控制蜂鸣器
第一次按下按键按键key后,蜂鸣器响; 第二次按下按键按键key后,蜂鸣器停。 #include reg52.h sbit beep=P1^5; sbit key=P3^1; unsigned int mode; //定义一个模式 void delay(unsigned int i) { while(i--); } void voice() { if(mode) { beep=~beep; delay(100); //更改delay可以让蜂鸣器发出不同的声音 } else { beep=0; } } void main()
[单片机]
51单片机总线时序概述
一、总线概述 计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。 计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。 二、单片机的三总线结构 51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。 单片机三总线扩展示意如图1 所示。
[单片机]
<font color='red'>51单片机</font>总线时序概述
51单片机串口的扩充方法
基本的 51 单片机有四个并行口,其中还包含了一个串行口。 当接口不够用的时候,大家就会想到,使用什么外接芯片来扩充。 但是,各种教材、参考书、网络文章,介绍扩充并行口的花样不少,扩充串行口的方法,几乎无人问津。 偶尔见到一个,也是使用 8250、8251 等“巨型”芯片来扩充的 使用这些芯片,就要占用单片机很多的更为紧缺的并行口,基本上就是得不偿失。更别说还要设置复杂的控制字了。 做而论道使用简单的三态门,即可为单片机扩充串行口,仅仅占用单片机的一、二个引脚作为控制引线而已。 这个方法,在以前的各种书籍、杂志、网文中,都没有见到过,可以说是做而论道的独创。 呵呵,小小的自豪一下,请不要拍砖。 实际
[单片机]
<font color='red'>51单片机</font>串口的扩充方法
如何设置51单片机的串行口来实现与PC机通信
一、原理简介 51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。 与之前一样,首先我们来了解单片机串口相关的寄存器。 SBUF寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,
[单片机]
如何设置<font color='red'>51单片机</font>的串行口来实现与PC机通信
指纹识别模块51单片机程序
  硬件设计方案 本系统主要使用了指纹模块,MicroSD卡读写模块,PCF8563模块,蜂鸣器模块,矩阵按键模块,lcd1602,和STC90C516RD+   系统框图      1)指纹模块   采用FPM10A光学指纹模块。FPM10A光学指纹模块是经典的光学指纹模块,性能稳定,应用范围广,可选用TTL串口或USB接口,可使用51单片机   2)存储模块   方案一:采用EEPROM模块   EEPROM模块简单,采用iic通讯,但存储量小,寿命有限,没有锻炼价值,所以弃用。   方案二:采用MicroSD卡读写模块   MicroSD读写卡模块,采用SPI协议通讯,这个通讯协议还没接触过,且比EEPROM存
[单片机]
指纹识别模块<font color='red'>51单片机</font>程序
基于ADC0809和51单片机的多路数据采集系统设计
“数据采集”是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。 本文的主要任务是对0~5V的直流电压进行测量并送到远端的PC机上进行显示。由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高
[单片机]
基于ADC0809和<font color='red'>51单片机</font>的多路数据采集系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved