51单片机复习

51单片机

控制器

包括时钟发生器,定时控制逻辑,复位电路,指令寄存器IR,指令译码ID,程序寄存器PC,程序地址寄存器,数据指针DPTR,堆栈指针SP

程序计数器:是一个独立的16位寄存器,可以直接寻址64K,存放下一条将要从程序存储器中取出指令的地址。

数据指针:是一个16位专用寄存器主要作用是在执行片外数据存储器或I/O端口访问时,确定访问地址,所以称为数据存储器地址指针,也可以用作访问程序存储器时的基址寄存器,还可以作为一个通用的16位寄存器或两个8位寄存器使用

指令寄存器、指令译码器及控制逻辑:指令寄存器是用来存放操作码的专用寄存器。指令译码器译码识别IR中指令的操作类型。控制逻辑从取指令开始,直至指令执行控制各部件协调工作。控制指令的执行的结果影响程序状态标志寄存器PSW的内容。

程序地址寄存器:用来保存当前CPU所访问的内存单元的地址。

存储器结构

程序存储器ROM的0000到0FFF是片内存储器,1FFF到FFFF是片外存储器,AT89S52具有8KB可反复擦写1000次的flash程序存储器,如果EA引脚接地,程序读取只从外部存储器开始,如果接VCC,程序读写先从内部存储器开始,接着从外部存储器开始

数据存储器RAM的00到20是工作组寄存器,20到30是位寻址空间,30到80是RAM,80到FF是SFR,0000到FFFF是片外存储器,AT89S52有256字节片内存储器,低128字节(30H-7FH)为数据存储器空间,高128字节(80H-FFH)为特殊功能寄存器空间,高128位字节与特殊功能寄存器地址上重叠,而物理上是分开的。直接寻址方式访问特殊功能寄存器SFR,间接寻址方式访问高128字节RAM

通用寄存器区(00H-1FH)共32个单元被均分成四块,每块含8个8位寄存器,均以R0-R7命名,通常称为通用寄存器使用程序状态字寄存器PSW来统一管理它们,只要定义程序状态字寄存器的D3和D4位(RS0,RS1)即可选中这4组通用寄存器。CPU在复位后,选中第0组工作寄存器。

位寻址区(20H-2FH)既可作为一般单元用字节寻址,也可以对它们的位进行寻址,位寻址区共有16个字节,128位。位地址为00H-7FH,布尔处理的存储器空间指的就是这些位寻址区。

数据缓冲区(30H-7FH)共80个字节单元,是单片机内部的数据缓冲区,用于存放用户数据和各种字节标志,以采用直接寻址或间接寻址方式访问。其中会有一部分给堆栈使用。

堆栈指针:是一种后进先出的线性表,主要是为了子程序调用和中断操作而设立的。是一个8位特殊功能寄存器,地址是81H。系统复位后,SP的值为07H,若不重新定义,则以07H单元为栈底,入栈的内容从地址为08H的单元开始存放。常用于保护断点和保护现场

51单片机电源模式有待机模式和掉电模式两种

51单片机有1个8位双向并行I/O端口P0和3个8位准双向并行I/O端口P1-P3,每一位端口都由口锁存器、输出锁存器和输入缓冲器组成,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。

P0口漏极开路,必须外接上拉电阻,输出低电平的能力比P1-P3口强,能驱动8个TTL门电路。P1-P3上拉电阻较大,负载能力较强,约为3-4个TTL门电路。

P0既可以作为一般IO口使用,也可以作地址/数据总线使用。

包含有一个数据输出锁存器,两个三态数据输入缓冲器,一个数据输出的驱动电路和一个输出控制电路。多路转接电路MUX(总线切换用)

P1口是一个准双向并行口,作通用并行IO口使用。在flash编程和校验时,P1-P3口接收低8位地址字节。还有其他功能

P2口除了作为通用IO使用外,还可以在CPU访问外部存储器时作高8位地址线使用。

P3口是一个多功能口,除了具有准双向IO功能外,还具有第二功能。

8051有两个16位定时器/计数器T0和T1,分别于两个8位寄存器T0L,T0H及T1L,T1H对应,可以工作在定时方式(实现对单片机内部的时钟脉冲或分频后的脉冲进行计数)和计数方式(实现对外部脉冲的计数)。

8051有5个中断源,两个中断优先控制,可以实现两个中断服务的嵌套。两个外部中断INT0,INT1,两个定时器中断T0,T1。还有一个串行口中断。中断的控制由中断允许寄存器(IE)和中断优先级寄存器(IP)实现。

AT89S52具有40个引脚。

RTS:复位输入,特殊寄存器AUXR上的DISRTO位可以使此功能无效

ALE/PROG:地址锁存控制信号ALE,可用来作为外部定时器或时钟使用,通过将SFR的8EH的第0位设为1,ALE操作将无效

PSEN:外部程序存储器选通信号。在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器的控制信号。在flash编程期间,EA也接收12V的VPP电压。

外接晶振引脚XTAL1,XTAL2

时序是用定时单位来说明的,共有4个:拍节P,状态S,机器周期,指令周期

一个机器周期为6个状态S1-S6,12个拍节S1P1-S6P2,是震荡脉冲的十二分频。当震荡脉冲频率为12MHz时,一个机器周期为1us,当震荡脉冲频率为6MHz时,一个机器周期为2us

执行一条指令所需要的时间称为指令周期,一般由若干个机器周期组成。

单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(单片机)