TMOD:定时器/计数器工作方式寄存器


TCON:定时器/计数器控制寄存器

       


SCON:串行口控制寄存器

串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等,其位格式为:

SMO、SM1:串行口工作方式控制位,对应4种工作方式,如表7-1所示(fosc是晶振频率)。

SM2

多机通信控制位,主要用于工作方式2和工作方式3。

若SM2=1,则允许多机通信。

多机通信规定:第9位数据位为1 (即TB8=1),说明本帧数据为地址帧:第9位数据为0(即TB8=0),则本帧数据为数据帧。

当从机接收到的第9位数据(在RB8中)为1时,数据才装入接收缓冲器SBUF,并置RI=1向CPU申请中断;如果接收到的第9位数据(在RB8中)为0,则不置位中断标志RL信息丢失。

当SM2=0时,则不管接收到第9位数据是否为1,都产生中断标志RI,并将接收到的数据装入SBUF。应用这一特点可以实现多机通信。

串行口工作在方式0时,SM2必须设置为0;工作在方式1时,如SM2=1,则只有接收到有效的停止位时才会激活RI。

REN:允许接收控制位。当REN=1时,允许接收;当REN=0时,禁止接收。此位由软件置1或清零。

TB8:在方式2和方式3中,此位为发送数据的第9位,在多机通信中作为发送地址帧或数据帧的标志。TB8=1,说明该发送帧为地址帧;TB8=0,说明该发送帧为数据帧。在许多通信协议中,它可作为奇偶校验             位。此位由软件置1或清零。在方式0和方式1中,此位未使用。

RB8:  接收数据的第9位。在方式2和方式3中,接收到的第9位数据放在RB8中。它或是约定的奇/偶校验位,或是约定的地址/数据标志位。在方式2和方式3多机通信中,若SM2=1且RB8=1,说明接收到的数                据为地址帧。

TI:   发送中断标志位。在一帧数据发送完时置位。TI=1,申请中断,说明发送缓冲器SBUF已空,CPU可以发送下一帧数据。中断被响应后,TI不能自动清零,必须由软件清零。 ,

RI:   接收中断标志位。在接收到一帧有效数据后,由硬件置位。RI=1.申请中断,表示一帧数据接收结束,并已装入接收缓冲器SBUF中,CPU响应中断,取走数据。RI不能自动清零,必须由软件清零。

串行口发送中断标志TI和接收中断标志RI共为一个中断源。因此,CPU接收到中断请求后,不知道是发送中断TI还是接收中断RI,必须用软件来判别。单片机复位后,控制寄存器SCON的各位均清零。


PCON:电源控制及波特率选择寄存器

电源控制寄存器PCON中只有一位SMOD与串行口工作有关,

SMOD:波特率倍增位。串行口工作在方式1、方式2、方式3时,若SMOD=1,则波特率提高一倍;
若SMOD=0,则波特率不提高一倍。单片机复位时,SMOD=0。


SBUF:串行数据缓冲器

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

SBUF是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H。只要在编写程序时,用不同指令即可操作两个寄存器。
        比如,SBUF=A;这个是指将A的数据移入发送寄存器,然后发送寄存器再把数据发送出去。A=SBUF;则是指将接受寄存器中的数据赋值给A。

TMOD、TCON、SCON、PCON、SBUF寄存器说明相关推荐

  1. 关于串口通信SBUF寄存器随笔:

    SBUF寄存器,以RXD为例,我一直以为是缓存移位寄存器发送来的数据,并且同时传给参数,传完之后SBUF就会里是没有内容的,这是我一开始理解的缓冲, 直到看到一段代码: void Serial() i ...

  2. C52单片机中断定时系统思路和实现代码

    最近拿到了单片机的课程设计题目,乍一看还挺简单的,就是一个简单的电子时钟,想都没想就直接把我arduinod的DS1302时钟模块拿来直接就做出来了,好家伙这两天仔细读了题目才发现直接指出了不能用DS ...

  3. 发现好文!51单片机特殊功能寄存器 /I/O口操作 /中断/ 定时器/ 串口通信/ ---位寻址解释由来--以及程序例程

    51单片机特殊功能寄存器有哪些_功能是什么 最近学习中对寄存器的概念理解很迷惑,I/O口操作/中断/定时器/串口通信四大模块的寄存器应用不太明白,这篇文章,解释的不错,希望帮到各位! 1.21个寄存器 ...

  4. 51单片机特殊功能寄存器(SFR)介绍

    1.21个寄存器介绍         51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...

  5. 单片机原理及应用知识总结(持续更新)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 第一章 单片机的基础知识 第二章 51单片机及硬件结构 51单片机指令系统及汇编语言 前言 自己的一些总结,欢迎阅读指正! ...

  6. 51单片机寄存器详解

    51子系统单片机的存储器配置 1.程序存储器 ROM 1.程序存储器的ROM的最大空间是64KB,因为地址线是16根,2^16 = 64 KB.80C51单片机,其内部有4KB ROM,外部ROM的最 ...

  7. 51单片机的特殊功能寄存器(SFR)

    阅读前提醒: 文中提到的8051指的是8051微控制器,即51单片机 在上一篇文章51单片机的存储结构中,提到8051微控制器的RAM被划分为通用寄存器.按位寻址寄存器.寄存器组.以及特殊功能寄存器. ...

  8. 51单片机的特殊寄存器

    文章目录 内部高128个字节是SFR区 特殊寄存器 (1)ACC--累加器 (2)B--一个寄存器 (3)PSW--程序状态字 (4)DPTR(DPH.DPL) --数据指针 (5)P0.P1.P2. ...

  9. 学习笔记之-51单片机特殊功能寄存器

    一.前言 学习51单片机的过程中,其实就是学习怎么用它的特殊功能寄存器(有些寄存器是我们看不到的),特殊功能寄存器是80C51单片机中各功能部件对应的寄存器,用于存放相应功能部件的控制命令,状态或数据 ...

  10. MCS-51系列特殊功能寄存器(摘抄)

    1. P0 (80H) P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 2.SP 栈指针(81H) 3.DPTR 数据指针(由DPH和DPL组成) DPL 数据指针低八 ...

最新文章

  1. python模块学习---HTMLParser(解析HTML文档元素)
  2. 样本不均衡SMOTE算法代码实列
  3. JAVA垃圾回收的几点知识
  4. mac下shell给文件名批量加前缀
  5. nlp-tutorial代码注释3-3,双向RNN简介
  6. 请检查 mysql 模块是否正确加载_mysql_connect() 不支持 请检查 mysql 模块是否正确加载...
  7. Linux安装JDK并配置环境变量
  8. 西宝高速公路模拟java大作业_——访西宝高速公路改扩建项目管理处处长王剑...
  9. android 魅族 webview,魅族 Flyme 系统出现大面积应用闪退问题,提供临时解决方法...
  10. 最好的都在这里了 2016上半年电影豆瓣口碑排行榜
  11. 小飞鱼平台介绍——小飞鱼开发者服务平台业务介绍
  12. 交互设计师修炼指南!教你从零开始成为优秀交互设计师
  13. 安装sql server 过程(为了使用SQL Server Management Studio)
  14. linux查看磁带机端口,linux、unix下使用磁带机的常用命令
  15. 麦克斯韦方程组及本构关系
  16. 太原理工计算机复试题库,太原理工大学研究生复试理论力学选择题题库
  17. Memory DFX特性
  18. 【VSCode】全限定,分栏设置
  19. 按头安利 好看又实用的中望3D 3d模型素材看这里
  20. 《个人金融信息保护技术规范》对金融行业的监管要求解读与处置方案

热门文章

  1. java.sql.Date.valueOf处理日期格式IllegalArgumentException异常
  2. 如何清空c盘只剩系统_怎么清空c盘只保留系统文件,详情介绍
  3. FDS学习笔记(三)全局变量的设置
  4. Windows phone 7中关于Zune软件使用几个问题
  5. bmp 图片格式读入 cv::Mat 的 C++ 实现
  6. ecshop shopex_json.php,Shopex到ECShop的转换教程
  7. BZOJ4399: 魔法少女LJJ
  8. 量子计算机采用量子力学原理,量子力学原理及其应用.docx
  9. 安装deb软件包时出现Unknown media type in type **/** 的解决办法
  10. 服务器间大文件传输软件,四种常用的大文件传输方法