首页 理论教育 单片机特殊功能寄存器详解

单片机特殊功能寄存器详解

时间:2023-10-23 理论教育 版权反馈
【摘要】:特殊功能寄存器能综合反映单片机系统内部的工作状态和工作方式。表1-4列出了单片机的特殊功能寄存器名称、标识符和对应的字节地址,其中含有增强型MCS-51系列单片机的寄存器T2、T2CON等。另外,特殊功能寄存器是学习单片机程序设计的基础,其应用将在以后章节的相关项目中详细说明。

单片机特殊功能寄存器详解

特殊功能寄存器(Special Function Register)是通过专门规定而且具有特定用途的RAM,它是单片机内部的重要部件。特殊功能寄存器能综合反映单片机系统内部的工作状态和工作方式。其中一部分控制程序运行,另一部分控制内部部件,如定时器/计数器和串行接口,改变控制寄存器的状态就可以改变这些部件的工作方式。

1.特殊功能寄存器标示符

MCS-51系列单片机内部堆栈指针SP、累加器A、程序状态字PSW以及I/O锁存器、定时器、计数器以及控制寄存器和状态寄存器等都是特殊功能寄存器,与片内RAM统一编址,占用80H~FFH单元,共有21个,增强型MCS-51系列单片机则有26个。表1-4列出了单片机的特殊功能寄存器名称、标识符和对应的字节地址,其中含有增强型MCS-51系列单片机的寄存器T2、T2CON等。在单片机C语言编程应用中,单片机的特殊功能寄存器标识符经常用到。下面只介绍其中部分寄存器,一些控制寄存器将在单片机内部资源编程应用中详细介绍。

表1-4 特殊功能寄存器及其地址

978-7-111-43463-4-Chapter01-18.jpg

2.特殊功能寄存器的位操作

在程序设计过程中,单片机的功能很多情况下是通过设置和检测单片机内部的特殊功能寄存器来实现的。如果采用汇编设计程序,必须牢记单片机内部通用寄存器和特殊功能寄存器的地址和作用,所以要求设计者必须有硬件基础。如果采用C语言设计单片机程序,程序中的数据处理和分配是由编译软件自动完成的,所以通用寄存器在程序设计中就可以忽略,不需要记住特殊功能寄存器的地址,只需要记住特殊功能寄存器和每个特殊功能寄存器的位标示符作用就可以了。(www.xing528.com)

在单片机C语言程序设计中,对特殊功能寄存器的操作很简单,只需对某个寄存器或位标示符赋值即可。比如,PSW=PSW&0x7F与CY=0结果一样,前一语句是字节操作,后一个语句是位操作。单片机C语言程序设计中常用于控制的特殊功能寄存器的位见表1-5,其中T2CON为增强型MCS-51系列单片机特有的SPR。

表1-5 特殊功能寄存器位标识符和位地址表

978-7-111-43463-4-Chapter01-19.jpg

不是所有的特殊功能寄存器都可以进行位操作,对于没有定义位标识符或位标示符重复的寄存器,用户无法对位直接访问。如TMOD,由于其高4位和低4位标识符同名,只能采用字节操作。如要设定低4位为0001B,只需TMOD=0xF1&TMOD。特殊功能寄存器有很多用来控制单片机内部各个部件的运行状态,这些寄存器都有特定的应用,如单片机中断需要对IE、IP等寄存器进行控制。

定时器/计数器、并行I/O接口、串行接口、中断系统等部件是单片机内部重要的硬件资源,这些资源在以后的学习过程中将通过应用项目重点介绍。另外,特殊功能寄存器是学习单片机程序设计的基础,其应用将在以后章节的相关项目中详细说明。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈