单片机时程序控制式计算机,即它的运行过程是在程序控制下逐条执行程序指令的过程:从程序存储器中取出指令送指令存储器IR,然后指令译码器ID进行译码,译码产生一系列符合定时要求的微操作信号,用以控制单片机的各部分动作。8051的控制器在单片机内部协调各功能部件之间的数据传送、数据运算等操作,并对单片机发出若干控制信息。这些控制信息的使用专门的控制线,诸如PSEN、ALE、EA以及RST,也有一些是和P3口的某些端子合用,如WR和RD就是P3.6和P3.7,他们的具体功能在介绍8051引脚是一起叙述。
(2)存储器组织
8051单片机的存储器结构特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式,这种结构称为哈佛结构单片机。这种结构与通用微机的存储器结构不同,一般微机只有一个存储器逻辑空间,可随意安排ROM或RAM,访存时用同一种指令,这种结构称为普林斯顿型。
8051单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。
8051片内有256K数据存储器RAM和4KB的程序存储器ROM。除此之外,还可以在片外扩展RAM和ROM,并且各有64KB的寻址范围。也就是最多可以在外部扩展2*64KB存储器。
8051的存储器组织结构如图4.2所示。
图 4.2 8051存储器组织结构
64K字节的程序存储器(ROM)空间中,有4K字节地址区对于片内ROM和片外ROM是公用的,这4K字节地址是0000H~FFFH。而1000H~FFFFH地址区为外部ROM专用。CPU的控制器专门提供一个控制信号EA用来区分内部ROM和外部ROM的公用地址区:当EA接高电平时,单片机从片内ROM的4K字节存储器区取指令,而当指令地址超过0FFFH后,就自动的转向片外ROM取指令。当EA接低电平时,CPU只从片外ROM取指令。
表4.2 8051特殊功能寄存器一览表
符号 地址 注解
*ACC E0H 累加器
*B F0H 乘法寄存器
*PSW D0H 程序状态字
SP 81H 堆栈指针
DPL 82H 数据存储器指针(低8位)
DPH 83H 数据存储器指针(高8位)
*IE A8H 中断允许控制器
*IP D8H 中断优先控制器
*P0 80H 通道0
*P1 90H 通道1
*P2 A0H 通道2
*P3 B0H 通道3
PCON 87H 电源控制及波特率选择
*SCON 98H 串行口控制器
SBUF 99H 串行数据缓冲器
*TCON 88H 定时器控制
TMOD 89H 定时器方式选择
TL0 8AH 定时器0低8位
TL1 8BH 定时器1低8位
TH0 8CH 定时器0高8位
TH1 8DH 定时器1高8位
程序存储器的某些单元是保留给系统使用的:0000H~0002H单元是所有执行程序的入口地址,复位以后,CPU总是从0000H单元开始执行程序。0003H~002AH单元均匀地分为五段,用做五个中断服务程序的入口。用户程序不应进入上述区域。
数据存储器RAM也有64KB寻址区,在地址上是和ROM重叠的。8051通过不同的信号来选通ROM或RAM:当从外部ROM取指令时用选通信号PSEN,而从外部RAM读写数据时采用读写信号RD或WR来选通。因此不会因地址重叠而出现混乱。
8051的RAM虽然字节数不很多,但却起着十分重要的作用。256个字节被分为两个区域:00H~7FH时真正的RAM区,可以读写各种数据。而80H~FFH是专门用于特殊功能寄存器(SFR)的区域。对于8051安排了21个特殊功能寄存器,每个寄存器为8位,所以实际上128个字节并没有全部利用。
内部RAM的各个单元,都可以通过直接地址来寻找,对于工作寄存器,则一般都直接用R0~R7,对特殊功能寄存器,也是直接使用其名字较为方便。8051内部特殊功能寄存器都是可以位寻址的,并可用“寄存器名.位”来表示,如ACC.0,B.7等。
这些寄存器分别用于以下各个功能单元:
CPU:ACC,B,PSW,SP,DPTR(由两个8位寄存器DPL和DPH组成);
并行口:P0,P1,P2,P3;
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>