前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

STC单片机的特殊功能寄存(SFR) 单片机特殊功能寄存器有哪些,主要作用是什么

qiguaw 2024-12-25 14:54:14 资源文章 17 ℃ 0 评论

今天我们来聊一聊STC单片机的特殊功能寄存器(SFR)。

首先,特殊功能寄存器位于何处呢? STC单片机的内部随机读取存储器(RAM),在物理和逻辑上可分为两大部分,内部256字节的随机读取存储器,内部扩展的随机读取存储器。其中,第一部分的地址为00H至FFH,第二部分根据单片机型号的不同空间的大小也有所不同。第一部分又分为两个模块:地址为00H~7FH的低128字节通用RAM,和地址为80H~FFH的高128字节RAM,而我们所讨论的特殊功能寄存器,就位于高128字节的地址空间中。如图1.

这种内存划分适用于基本所有stc系列单片机,如STC89C51/52,STC10/12/15乃至最新的STC8系列单片机。如图2.

那么,具体到一种型号的单片机上,如何查询和使用某一特殊功能寄存器呢?这是stc 12c5a60s2系列单片机的特殊功能寄存器及地址映象的对应表。如图3.

在使用相应的寄存器时,先声明寄存器地址,再对寄存器赋值即可。比如我们要将P1端口的输出模式配置为推挽输出,这样操作即可。如图4.

我们需要注意特殊功能寄存器的地址能够被8整除,那么就可以进行位操作,反之则不可进行位操作。那么,表中的第一列均可进行位操作。如图5.

例如我们将P1端口的第二位电平拉高,可以直接对该位进行赋值,而不不必对整个P1端口进行或运算。

最后,在代码编写时,常常有朋友问到, reg51.h和reg 52.h这两个头文件有什么区别。这两个头文件都用于声明单片机的特殊功能寄存器。我们直接打开这两个头文件,注释内容告诉我们,reg51.h适用于80c51及80c31控制器,而reg52.h则适用于80c52及80c32控制器。如图7.

而c52单片机是c51单片机的增强板,主要区别为前者多了一个T2定时器,那么在头文件中,reg52.h就多了相应的T2定时器的相关特殊功能寄存器的声明,如定时器T2高八位、低八位寄存器:TH2,TL2;定时器T2中断允许寄存器:ET2等。如图8.

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表