程序计数器PC(program Counter)
程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。PC是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。PC本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。
累加器ACC(Accumulator)
累加器A是一个最常用的专用寄存器,大部分单操作指令的一个操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。加、减、乘、除法运算的指令,运算结果都存放于累加器A或AB累加器对中。大部分的数据操作都会通过累加器A进行,它形象于一个交通要道,在程序比较复杂的运算中,累加器成了制约软件效率的“瓶颈”,它的功能较多,地位也十分重要。以至于后来发展的单片机,有的集成了多累加器结构,或者使用寄存器阵列来代替累加器,即赋予更多寄存器以累加器的功能,目的是解决累加器的“交通堵塞”问题。提高单片机的软件效率。
|
表2 特殊功能寄存器 |
标识符号 |
地址 |
寄存器名称 |
ACC |
0E0H |
累加器 |
B |
0F0H |
B寄存器 |
PSW |
0D0H |
程序状态字 |
SP |
81H |
堆栈指针 |
DPTR |
82H、83H |
数据指针(16位)含DPL和DPH |
IE |
0A8H |
中断允许控制寄存器 |
IP |
0B8H |
中断优先控制寄存器 |
P0 |
80H |
I/O口0寄存器 |
P1 |
90H |
I/O口1寄存器 |
P2 |
0A0H |
I/O口2寄存器 |
P3 |
0B0H |
I/O口3寄存器 |
PCON |
87H |
电源控制及波特率选择寄存器 |
SCON |
98H |
串行口控制寄存器 |
SBUF |
99H |
串行数据缓冲寄存器 |
TCON |
88H |
定时控制寄存器 |
TMOD |
89H |
定时器方式选择寄存器 |
TL0 |
8AH |
定时器0低8位 |
TH0 |
8CH |
定时器0高8位 |
TL1 |
8BH |
定时器1低8位 |
TH1 |
8DH |
定时器1高8位 | |