51单片机之特殊功能寄存器

  • 全部的特殊功能寄存器:
  • 特殊寄存器1、ACC(A):累加器
  • 特殊寄存器2、B:辅助寄存器
  • 特殊寄存器3、标志寄存器PSW:
    • PSW的内部位含义:
    • 举个例子:不做解释了
  • 特殊寄存器4、PC:程序计数器
  • 特殊寄存器5、SP:堆栈指针
  • 特殊寄存器6、DPTR:数据指针
  • 特殊寄存器7、TMOD:定时/计数器的方式寄存器
  • 特殊寄存器8、TCON:定时/计数器控制寄存器
  • 特殊寄存器9、SCON:串行口控制寄存器
  • 特殊寄存器10、PCON:电源控制寄存器
  • 特殊寄存器11、IE:中断允许控制寄存器
  • 特殊寄存器12、IP:中断优先级控制寄存器

全部的特殊功能寄存器:


特殊寄存器1、ACC(A):累加器

ALU(算数运算逻辑单元,是运算器的重要部件)在进行运算时,数据绝大部分来源于累加器A,运算的结果通常也送回累加器A

特殊寄存器2、B:辅助寄存器

此寄存器是为乘法和除法指令而设置的

以乘法为例:一个8bit的数和另一个8bit的数进行乘法运算,得到的结果为一个16bit的数,此时就需要俩个8bit寄存器来存放结果,辅助寄存器B就派上了用场,一般的,我们用B来存放高8bit,用A来存放低8bit。

以除法为例:在计算1除以3时,所得的结果以商和余数的形式保存,一般的,A用于保存商,B用于保存余数

特殊寄存器3、标志寄存器PSW:

一般用于保存指令执行结果的状态,即当前cpu所处的一些状态,是一个8bit寄存器

PSW的内部位含义:

1、C: 进位标志位,当累加器中从D7位向更高位进位或借位时,但由于寄存器大小限制不存在D8,此时用C来标志,当产生进位或者借位时这一位置1。
2、AC:辅助进位标志位,当D3位向D4位进位或者借位时,此标志位置1
3、F0:用户标志位 ,用户通过编程自定义使用
4、RS1\RS0: 寄存器组选择位,在内存中有8个为一组的通用寄存器,一共4组。但是同一时刻只能使用其中的某一组,RS0、RS1即用于选择使用4组中的哪一组寄存器。下图为具体对应关系:

5、OV:溢出标志位 ,一个8位寄存器可以表示的范围为**-128~127** ,当我们相加的结果不在这个范围的时候,此时溢出位为1
6、P: 累加器运算完成后,统计累加器中1的个数,1为偶数个,P为0。这里容易犯一个错误,此标志位的含义是一个数用二进制表示的时候1的个数,并不表示这个数是奇数还是偶数,例如14,二进制中有3个1,但数本身是偶数。

举个例子:不做解释了

特殊寄存器4、PC:程序计数器

51单片机专门设置一个16位的PC,用于指示下一时刻CPU将要执行的程序指令在ROM中的位置,由于PC指针长度位16位,所以单片机的程序存储器ROM空间大小为2^16 = 64Kb,从0000~FFFFH

特殊寄存器5、SP:堆栈指针

为实现堆栈操作而设置的指针

特殊寄存器6、DPTR:数据指针

特殊寄存器7、TMOD:定时/计数器的方式寄存器

该寄存器是用于控制定时/计数器的工作方式的特殊寄存器,内部详细位如下图:

1、M0、M1:用于确定定时器\计数器的工作方式:

2、C/T:定时或计数方式选择位,用这一位来确定时钟信号是来自内部还是外部
当C/T = 1,工作在计数器方式;反之工作在定时器方式
4、GATE:门控位,用于控制定时器/计数器的启动是否受外部中断请求信号(INT0,INT1)的影响,例如:当T0想要工作且GATE位为1时,就必须要求INT0位为1

特殊寄存器8、TCON:定时/计数器控制寄存器

该寄存器用来控制定时器/计数器的停止与启动
内部位:

1、TF0、TF1:溢出标志位,当计数满时,由硬件使他值位
2、TR0、TR1:中断启动位,1启动,0停止
3、IE0、IE1:
4、IT0、IT1:

特殊寄存器9、SCON:串行口控制寄存器

用于串行通信的控制

1、SM0、SM1:串行口工作方式选择位

2、SM2:多机通信控制位
3、REN:允许接受控制位,只有置1时,单片机才允许接收外部串行数据
4、TB8:用于保存发送的第9位数据
5、RB8:用于保存接收的第9位数据
6、TI:发送中断标志位,完成一次发送时自动由0变1
7、RI:接收中断标志位,完成一次接收时自动由0变1

特殊寄存器10、PCON:电源控制寄存器

用于对波特率进行控制

SMOD位为1时,串行通信在方式1、2、3下波特率加倍

特殊寄存器11、IE:中断允许控制寄存器

MCS-51单片机没有专门的开中断和关中断的指令,只能通过中断允许寄存器IE的各位来控制

1、EA:总中断允许控制位
2、ET2、ET1、ET0:定时器/计数器T2、T1、T0的溢出中断允许位
3、ES:串行口中断允许位
4、EX0、EX1:外部中断INT1、INT0的中断允许位

特殊寄存器12、IP:中断优先级控制寄存器

用于手动修改优先级顺序

1、PT0、PT1、PT2:定时器T2、T1、T0的中断优先级控制位
2、PS:串行口的中断优先级控制位
3、PX0、PX1:外部中断INT0、INT1的中断优先级控制位
当IP中的某一位置1时,所对应的中断源被设置为高优先级。

51单片机之特殊功能寄存器SFR相关推荐

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

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

  2. 51单片机的特殊功能寄存器

    51单片机的特殊功能寄存器 51单片机的特殊功能寄存器 通过前面课程的学习,我们已知道了单片机的内部有ROM.有RAM.有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什么?这些个零碎的东 ...

  3. 51单片机的特殊功能寄存器到底在哪,为何51子系列没有高128B仍然有特殊功能寄存器

    简单来说,就是片内RAM和特殊功能寄存器在物理上是相互独立的.就像51子系列内部RAM没有高128B,但它任然有特殊功能寄存器,因为特殊功能寄存器并不是高128B的存储单元,只是因为其地址编码在80H ...

  4. 特殊功能寄存器SFR

    特殊功能寄存器sfr sfr也是一种扩充数据类型,点用一个内存单元,值域为0-255. 利用它可以访问51单片机内部的所有特殊功能寄存器.(sfr 是定义8 位的特殊功能寄存器而sfr16 则是用来定 ...

  5. C语言sfr指令,51单片机的指令和sfr汇总.pdf

    51单片机的指令和sfr汇总 51 单片机编程备忘录 一.指令 51 系列的指令说复杂也不复杂,说简单吧,也比较繁琐讨厌.总体上,可以分为7 个大类,如下表. 序号 大类 子类 说明 1 辅助 伪指令 ...

  6. 51单片机的工作寄存器R0~R7位于内部RAM什么位置

    转自:https://zhidao.baidu.com/question/1495509806096353459.html 51单片机的工作寄存器一共有32个,为RAM中的00H--1FH单元,分为4 ...

  7. STC89C52系列单片机的特殊功能寄存器表

    特殊功能寄存器地址表 单片机系统管理特殊功能寄存器 单片机中断管理特殊功能寄存器 单片机I/O口特殊功能寄存器 单片机串行口特殊功能寄存器 单片机定时器特殊功能寄存器 单片机看门狗特殊功能寄存器 单片 ...

  8. 51单片机特殊功能寄存器sfr和sbit介绍

    "sfr"指令:用来直接描述硬件地址.小白先解成一组IO口的起始地址中数据 sfr P0 = 0x80; P0=0;//也就是对P0口全部给0 "sbit"指令 ...

  9. 单片机的特殊功能寄存器

    通过前面的学习,我们已知单片机的内部有ROM.有RAM.有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什么,这些个零碎的东西怎么连在一起的,让我们来对单片机内部的寄存器作一个完整的功能分 ...

最新文章

  1. Linux Ubuntu从零开始部署web环境及项目 -----tomcat+jdk+mysql (二)
  2. Wireshark数据包分析之DHCP协议包解读
  3. linux网络掉线频繁怎么设置,ubuntu频繁掉线
  4. Dos中查找文件命令的使用find
  5. 默认轮播,鼠标移入停止,移出继续
  6. Java中throw和throws的区别
  7. 软件开发的生命周期描述
  8. JVM——jinfo命令使用及GC日志分析
  9. 十二.激光SLAM框架学习之livox-loam框架安装和跑数据集
  10. iPhone 12 Pro Max机模曝光:有乔布斯内味儿了
  11. Mikogo新版本已支持Linux系统
  12. .net core 部署应用程序注意事项
  13. Android通过Wifi来调试你的应用
  14. Wonderware-InTouch 服务器Windows Server 2012 R2系统安装intouch2017
  15. Python中文分词神器---jieba
  16. 金蝶K3服务器安装与配置方法详细图解
  17. 计算机上的闹钟怎么设置方法,pconline,教您电脑闹钟怎么设置
  18. word排版技巧:如何撤销删除自动编号
  19. 【村长的刷题手册-1】LeetCode刷题笔记,不断总结继续出发
  20. 教育培训行业使用CRM管理系统有什么好处

热门文章

  1. 经典面试题(53):以下代码将输出的结果是什么?
  2. java jdk 的环境变量_Java JDK14(Java 14)在Windows上安装与环境变量配置
  3. el table 固定表头和首行_表头太太太复杂了,如何批量打印?简单!
  4. Kafka 2.0 升级,看看携程怎么操作!
  5. rfid技术及应用答案王佳斌_RFID技术智能仓储管理系统应用优势
  6. 同学,要开学了,你的导师也很焦虑
  7. Nature公开1300多篇论文工厂论文的期刊分布,这个杂志高居榜首
  8. 国际上首次报道的非人灵长类胰岛衰老的单细胞转录组图谱
  9. AE快速景深模糊插件:Rowbyte Fast Bokeh for Mac
  10. P5727 【深基5.例3】冰雹猜想(python3实现)