SBUF 数据缓冲寄存器 这是一个可以直接寻址的 串行口 专用 寄存器 。有朋友这样问起过“为何在 串行口 收发中,都只是使用到同一个寄存器 SBUF ?而不是收发各用一个寄存器。”实际上 SBUF  包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU 在读 SBUF  时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是 双缓冲 寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到 双缓冲 ,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作 SBUF 寄存器的方法则很简单,只要把这个99H 地址用关键字 sfr 定义为一个 变量 就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以了。

SBUF数据缓冲寄存器相关推荐

  1. 串行口数据缓冲寄存器 SBUF 之 初步了解

    c52系列的SBUF 有两个缓冲器 写SBUF 的操作完成待发送数据的加载,读SBUF 的操作可获得已接收到的数据. 两个操作分别对应两个不同的寄存器,一个是只写寄存器,一个是只读寄存器 在所有的串行 ...

  2. Keil C51教程

    第三课 C51数据类型 作者:    来源:本站原创    点击数: <script src="http://www.51hei.com/Article/GetHits.asp?ID= ...

  3. 单片机c语言中sbuf的定义,SBUF的详细介绍!(51单片机)

    满意答案 dianzicidian3 推荐于 2018.02.23 SBUF---即串口数据缓冲寄存器 MCS-51串行口有两个在物理上独立的串行数据缓冲寄存器SBUF, 这两个缓冲寄存器共用一个地址 ...

  4. 软考笔记——1.1、计算机硬件组成、数据的进制转换、校验码

    一.计算机硬件组成 计算机的硬件基本系统由五部分组成:运算器.控制器.存储器.输入设备(如鼠标键盘).输出设备(如显示器) 存储器分为内部存储器(即内存.容量小,速度快,临时存放数据)和外部存储器(即 ...

  5. 【51单片机快速入门指南】3.3:USART 串口通信

    目录 快速使用 硬知识 串行口相关寄存器 串行口控制寄存器SCON和PCON 串行口数据缓冲寄存器SBUF 从机地址控制寄存器SADEN和SADDR 与串行口中断相关的寄存器IE和IPH.IP 串行口 ...

  6. STC15系列的UART串口基础

    现在对串口的理解很浅,仅仅停留在会用的地步-- 梳理一下大致用法 首先是串口的控制寄存器 可以看到该寄存器是可以进行位寻址的 我们主要操作的有SM0.SM1(控制串口的工作方式) 一般都采用方式1,并 ...

  7. 80C51引脚功能及片内RAM、片内ROM简介

    一. 80C51系列单片机引脚图及逻辑符号,为标准的40脚DIP封装,如下图: Pin1-Pin8为P1口,内部带上拉电阻的8位准双向IO口 Pin9为复位口,高电平有效(持续两个机器周期). Pin ...

  8. 大二单片机笔记,串口通信代码【郭天祥】【700字】【勿笑】【原创】

    文章目录 工作时,串口通信理解(最新) 大二时,串口通信理解 串口助手 代码部分 工作时,串口通信理解(最新) 大二时,串口通信理解 /*cpu,串口助手,单片机,根据程序得知输入X之前,我之前理解的 ...

  9. 单片机与 PC 机串口通信实验

    实验原理 51 单片机的串行口是一个可编程的全双工的通信接口,具有 UART(通用异步收发器)的全部功能,能同时进行数据的发送和接收,也可以作为同步移位寄存器使用.51 单片机的串行口主要有两个独立的 ...

最新文章

  1. 200页!分享珍藏很久的Python学习知识手册(附链接)
  2. jquery 同一个页面处理多个ajax请求
  3. python之父-Python之父宣布退休,但Python仍在吞噬世界
  4. Py之textrank4zh:textrank4zh的简介、安装、使用方法之详细攻略
  5. 像数据科学家一样思考:12步指南(下)
  6. CC++运算符优先级
  7. html代码怎么出歌词,html中的歌词翻译
  8. 【笔记】结巴分词绘制词云图
  9. 鲁棒控制(Ⅰ)—LMI处理方法
  10. 【电商】电商后台设计—电商支付
  11. 【PTA】统计素数并求和
  12. 常用的mysql sql语句_常用的SQL语句(MySQL)
  13. R语言smoothHR包_“统计学诺贝尔奖”授予R语言软件工程师
  14. 搭建Hadoop集群后一直使用的start-all.sh到底是个什么操作
  15. 参赛邀请 | 第二届古汉语自动分析国际评测EvaHan(古汉语机器翻译)开始报名...
  16. Java简易实现凯撒密码——英文句子加密
  17. android开发中为MultiAutoCompleteTextView控件添加其他分隔符
  18. com.intellij.execution.ExecutionException:at com.intellij.execution.rmi.RemoteProcessSupport.acqu报错
  19. Matlab常用代码---持续更新
  20. Json转为Excel文件导出下载

热门文章

  1. 杨辉三角与二项式定理
  2. 找不到apt和vim命令
  3. 甘特图:项目进度管理的必备工具
  4. 计算机如何恢复桌面,如何恢复计算机桌面图标不见了
  5. 苹果电脑:快捷键使用
  6. java list去除最后一个元素_如何快速删除list中的最后一个元素?
  7. html flappybird小游戏代码,原生js实现Flappy Bird小游戏
  8. bugku-writeup-Crypto-/.-(摩斯密码)
  9. 谁会使用IEC61499
  10. 结对开发 《哈利波特》买书最实惠方案设计