89C51单片机内部结构深度解析

2019-04-15 17:33发布

89C51单片机内部结构深度解析一单片机内部资源ROM/RAM/CLOCK/RST   8位CPU:和32位处理器的意思一样,计算机中的位数指的是CPU一次能处理的最大位数。32位计算机的CPU一次最多能处理32位数据,同理,8位的CPU意味着89C51单片机只能够处理8位的数据。   4K ROM:4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),主要用来存放程序和表格常数,地址是0000H~0FFFH,总线地址的宽度为16位,因此片内ROM最大为2^16次方=64K,片外的ROM最大也是64K,片内片外的ROM采用统一编址的方式。即: EA=1:先从片内0000H处取地址执行,如果超出4K最大地址0FFFH时,此时自动访问片外ROM,采用统一编址即片外的ROM的地址空间接着片内ROM的地址空间,即1000H~FFFFH(此时片外ROM为64K-4K=60K)。 EA=0:直接从片外程序执行,即0000H~FFFFH,不执行片内ROM程序,此时外部ROM为64K。   256B RAM:随机动态存储器,掉电后内容消失。主要用来存放运算的中间结果、数据暂存以及数据缓存。256B主要包括两部分: 第一部分:128B的随机动态存储器,其中又分为96B的真正的RAM和32B的工作寄存器,地址为00H~7FH; 第二部分:128B的SFR,主要是21个SFR,地址为80H~FFH   时钟频率:全静态工作:0Hz-24MHz,XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。   复位功能:RST:复位输入。当复位器件时,要保持RST脚两个机器周期的高电平时间,也就是12个时钟周期。 机器周期=6*状态周期=6*(2*时钟周期),以12Mhz为实例, 时钟周期=振荡周期=1/12Mhz=1/12 uS;则机器周期=1uS。因此复位时间要超过1uS。   89C51单片机内部结构深度解析二单片机I/O资源 

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。一个TTL门电流为16mA,当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。   P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。   P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。   P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。
89C51单片机内部结构深度解析三:单片机RAM地址空间

单片机的工作寄存器:00H~1FH
单片机在工作时需要处理大量的数据,这些数据有些要用来运算,有些要反复调用,有些用来比较检验,这时单片机就需要有这些位置暂时存放这些数据,以方便后面数据的处理,而单片机提供暂存数据的地方就是工作寄存器。工作寄存器有4组,每组都是8个工作寄存器R0~R7,通过PSW中的RS1、RS0两位来选择使用哪一组,如果不选,默认是选择第0组。
RS1RS0组合为00时,选中第0组工作寄存器,R0~R7地址为00H~07H;
RS1RS0组合为01时,选中第1组工作寄存器,R0~R7地址为08H~0FH;
RS1RS0组合为10时,选中第2组工作寄存器,R0~R7地址为10H~17H;
RS1RS0组合为11时,选中第3组工作寄存器,R0~R7地址为18H~1FH。
 
真正的RAM:20H~7FH
 
SFR:special function register,特殊功能寄存器的总称,是单片计算机中的一组特殊的临时存储区域,用于动态存放计算机运行过程的一些状态信息、并依此做相应的控制,总共21个。