0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【硬见小百科】单片机的特殊功能寄存器

云创硬见 2019-01-16 13:45 次阅读

单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

<特殊功能寄存器地址映象表(一)>

<特殊功能寄存器地址映象表(二)>

<特殊功能寄存器地址映象表(三)>

几个常用的SFR

1、ACC:累加器,常常用A表示。这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后我们将学到指令,能发现,所有的运算类指令都离不开它。

2、B:一个寄存器。在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3、PSW:程序状态字。这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们能了解CPU的当前状态,并作出对应的处理。它的各位功能请看下表。

PSW也称为标志寄存器,了解这个对于了解单片机原理非常的重要,存放各有关标志。其结构和定义如下:

sfr各位的用途

(1)CY:进位标志。用于表示Acc.7有否向更高位进位。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。

例:78H+97H(01111000+10010111)

(2)AC:辅助进位标志也叫半进位标志。 用于表示Acc.3有否向Acc.4进位

例:57H+3AH(01010111+00111010)

(3)F0:用户标志位,由我们(编程人员)决定什么时候用,什么时候不用。

(4)RS1、RS0:工作寄存器组选择位。这个我们已知了。
RS1、RS0 = 00 —— 0区(00H~07H)

RS1、RS0 = 01 —— 1区(08H~0FH)

RS1、RS0 = 10 —— 2区(10H~17H)

RS1、RS0 = 11 —— 3区(18H~1FH)

(5)0V:溢出标志位。 表示Acc在有符号数算术运算中的溢出,什么是溢出我们稍后再谈吧。

(6)P:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,不然为0。

例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。

4、DPTR(DPH、DPL):数据指针,能用它来访问外部数据存储器中的任一单元,如果不用,也能作为通用寄存器来用,由我们自已决定如何使用。16位,由两个8位寄存器DPH、DPL组成。主要用于存放一个16位地址,作为访问外部存储器(外RAMROM)的地址指针。

5、P0、P1、P2、P3:这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。

6、SP:堆栈指针。(专用于指出堆栈顶部数据的地址。)

【学习建议】其实并不需要把上面的这些东西都死记硬背在脑子里面,这是很难的,我们只需要理解工作原理,一次看不懂就要多看几次,等到要写程序的时候,我们再把这些表格拿出来查阅。

以上所有信息仅作为学习交流使用,不作为任何学习和商业标准。若您对文中任何信息有异议,欢迎随时提出,谢谢!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6029

    文章

    44480

    浏览量

    631599
收藏 人收藏

    评论

    相关推荐

    单片机基本io功能调试过程

    所使用的单片机型号以及需要调试的IO口。不同型号的单片机在IO口的配置和特性上可能有所不同。 查阅单片机手册 : 查阅单片机的手册或数据手册,了解IO口的配置方法、
    的头像 发表于 09-14 14:38 355次阅读

    单片机io口怎么配置成输出口

    确定单片机型号和IO口 首先,需要明确所使用的单片机型号以及需要配置的IO口。不同型号的单片机在IO口的命名、数量和功能上可能有所不同。 2. 查阅
    的头像 发表于 09-14 14:33 512次阅读

    ARM寄存器的分类及功能

    ARM寄存器是ARM处理内部的重要组成部分,它们在处理的运算、控制以及数据存储等方面发挥着至关重要的作用。下面,我们将从ARM寄存器的定义、结构、分类以及
    的头像 发表于 09-05 14:18 759次阅读

    寄存器根据功能的不同分为哪两种

    寄存器是计算机中用于存储数据和指令的高速存储单元,它们是处理内部的重要组成部分。根据功能的不同,寄存器可以分为两大类:通用寄存器
    的头像 发表于 08-06 09:27 657次阅读

    寄存器有哪几种?可以实现什么功能?

    寄存器是计算机中用于存储数据和指令的高速存储设备,是计算机硬件的重要组成部分。寄存器的种类很多,不同的寄存器具有不同的功能。 通用寄存器(G
    的头像 发表于 07-12 10:32 763次阅读

    寄存器分为基本寄存器和什么两种

    寄存器是计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本寄存器
    的头像 发表于 07-12 10:31 956次阅读

    寄存器单片机的关系与区别

    ,它将具有数据处理能力的中央处理CPU、内存、输入输出设备等功能集成在一块硅片上,形成了一个小而完善的微型计算机系统。本文将详细探讨寄存器单片机的关系与区别,旨在为读者提供清晰、深
    的头像 发表于 05-30 17:17 656次阅读

    什么是寄存器?有哪些功能和应用?

    有着至关重要的影响。本文将从寄存器的定义、分类、功能、与内存的区别以及应用等方面进行详细阐述,以便读者能够更全面地了解寄存器
    的头像 发表于 05-30 17:14 1.1w次阅读

    硬件特殊功能寄存器编程思路和RAM使用的问题求解?

    看了一下STM32的库,对于其中的关于硬件的特殊功能寄存器的设置都是通过:1、定义一个和实际硬件地址相镜像的全局结构体变量。 2、设置结构体的各个变量相对应的参数。 3、把结构体整体复制到硬件特殊功能
    发表于 05-17 12:24

    寄存器的定义和功能 寄存器的分类和工作原理

    在计算机系统中,寄存器作为一种特殊的存储设备,扮演着至关重要的角色。它是中央处理(CPU)内部的重要组成部分,用于暂时存储数据和指令,以便于CPU进行高速的运算和控制。本文将对寄存器
    的头像 发表于 05-12 17:07 4813次阅读

    特殊功能寄存器的解释整理汇总

    电子发烧友网站提供《特殊功能寄存器的解释整理汇总.pdf》资料免费下载
    发表于 05-09 14:27 7次下载

    51单片机串口通信详细介绍-小白必看

    51单片机串口通信是单片机与外部设备通信的重要方式,它基于串行通信的原理,以字节为单位进行数据传输。在51单片机中,串口通信主要依赖于两个关键寄存器:SBUF
    的头像 发表于 04-17 09:33 1753次阅读
    51<b class='flag-5'>单片机</b>串口通信详细介绍-小白必看

    寄存器的逻辑功能有保持功能寄存器的输入输出的方式有分别有哪几种

    寄存器是计算机中用于存储和操作数据的一种重要元件。它可以暂时存储数据,提供对数据的读取和写入功能,并且可以进行各种数据操作和运算。在计算机体系结构中,寄存器可用于多种目的,如存储指令、存储地址、存储
    的头像 发表于 02-18 09:39 1776次阅读

    sbit在单片机中的作用和用法

    sbit是单片机(Microcontroller)中的一个特殊功能寄存器位(Special Function Register Bit),用于控制特定IO引脚的输入输出方向及状态。本文将详细介绍
    的头像 发表于 12-20 09:35 1.6w次阅读

    寄存器查看功能和使用

    对于搞嵌入式底层开发的软件或者硬件工程师来说,经常会涉及到查看芯片手册,比如某个芯片的串口控制寄存器值,需要知道这个值对应寄存器的哪些位,微软计算的程序员模式虽然可以查看
    的头像 发表于 11-28 12:26 1715次阅读
    <b class='flag-5'>寄存器</b>查看<b class='flag-5'>器</b>的<b class='flag-5'>功能</b>和使用