80C51单片机学习之硬件结构
1.80C51单片机的内部逻辑结构
单片机是把CPU、储存器、输入输出接口、定时/计数器和时钟电路集成到一块芯片上的微型计算机,主要由一下几个部分组成。
(1)中央处理器CPU
包括运算器和控制器。
运算电路以ALU为核心,完成算数运算和逻辑运算,运算结果存放于ACC中,运算结果的特征存放于PSW中。
控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。程序计数器PC是一个16位寄存器,PC的内容为将要执行的下一条指令地址,具有自动加1功能,已实现程序的顺序执行。
(2)存储器
分类:
随机存取储存器RAM:能读能写,信息在关机后消失。可分为静态RAM(SRAM)和动态RAM(DRAM)两种。
只读存储器:信息在关机后不会消失。
掩膜ROM:信息在出厂时由厂家一次性写入。
可编程RROM:信息由用户一次性写入。
可擦除可编程EPROM:写入后的内容可由紫外线照射擦除。
电可擦除可编程EEPROM:可用电信号进行清除和改写。
存储容量:
存储容量是指存储器可以容纳的二进制信息量,M位地址总线,N位数据总线的存储器容量为(2^M)*N位。
80C51单片机的存储器有内部RAM(128B,高128B为专用寄存器)、外部RAM(64KB)、内部ROM(4KB掩膜ROM)、外部ROM(64KB)。
(3)输入输出接口
4个8位并行I/O口(P0、P1、P2、P3))
(4)其他资源
一个全双工串行口、5个中断源、2个16位的定时/计时器、时钟电路。
2、80C51单片机的信号引脚
(1)电源部分:VCC接+5V、VSS接地。
(2)时钟电路部分:XTAL1和XTAL2接晶振。
1个机器周期=6个状态=12个拍节
6MHZ的晶体机器周期2us,12MHZ的晶体机器周期1us。
(3)I/O口部分:P0——8位数据总线/地址总线低8位、P1——用户口、P2——地址高8位、P3——第二功能。
(4)控制部分:
地址锁存控制信号ALE,用于控制把P0口输出的低8位地址送入锁存器锁存地起来。
外部程序存储器读选通信号PSEN,低电平有效,以实现外部ROM单元的读操作。
访问程序存储器控制信号EA,低电平时只读外部ROM,高电平时先读内部ROM,再读外部ROM。
复位信号RST,当输入的复位信号延续两个机械周期以上高电平即为有效。
复位值:PC=0000H,SP=07H,P0=0FFH
3、内部RAM的基本结构与功能
80C51的内部数据存储器低128单位区,称为内部RAM,地址为00~7FH。
(1)寄存器区(00~1FH)
共分为四组,组号依次为0、1、2、3,每组有8个寄存器,在组中按R7~R0编号。由PSW中RS1、RS0位的状态组合来决定哪一组。
(2)位寻址区(20H~2FH)
可对单元中的每一位进行位操作,16个字节单元共128个可寻址位,位地址为00~7FH。位起始地址D0=(字节地址-20H)*8
(3)用户RAM区(30H~7FH)堆栈、缓冲区
堆栈是在内部RAM中开辟的,最大特点就是“后进先出”的数据操作原则。
两项功能:保护断点和保护现场。两种操作:进栈和出栈。
SP堆栈指针,它的内容就是堆栈栈顶单元的地址。
4、专用寄存器(内部数据存储器高128单元)
(1)累加器A(ACC)
(2)寄存器B
(3)程序状态字PSW
CY——进位标志位,最高位的进位或借位。
AC——半进位标志位,低4位向高4位的进位或借位。
OV——溢出标志位,同符号数相加,结果为异符号,有溢出;异符号数相减,结果和减数符号相同,有溢出。
P——A中1的个数,奇数个P=1,偶数个P=0。
(4)数据指针DPTR:80C51中唯一一个供用户使用的16位寄存器。高八位DPH,低八位DPL