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个。

89C51单片机内部结构深度解析相关推荐

  1. 语言中拟合函数 计算aic_Go语言函数深度解析(中)

    上回函数深度解析给大家聊了一些函数的基本知识,不知道还有没有人记得,不记得赶紧回去复习! 他们是 go语言中函数的基本原理 单/多个同/不同类型参数 单/多个同/不同类型返回值 值传递,引用传递 函数 ...

  2. 海格里斯HEGERLS深度解析|重型四向穿梭车的轨道换向组件及轨道系统

    随着自动化仓储物流系统的广泛应用,物流设备也更趋于多样化,比如在货架轨道上可四向行走的穿梭车应运而生,重型四向穿梭车作为一种新型的物流存储设备,通常在轨道平面上有行走方向相互垂直的两个行走系统,通过两 ...

  3. Flash闪存颗粒和工艺知识深度解析

    Wafer即晶圆,是半导体组件"晶片"或"芯片"的基材,从沙子里面高温拉伸生长出来的高纯度硅晶体柱(Crystal Ingot)上切下来的圆形薄片称为" ...

  4. 深度解析 Sun为何一掷千金拿下MySQL?

    标题:深度解析 Sun为何一掷千金拿下MySQL? 作者:IT168 东方蜘蛛 链接:http://tech.it168.com/j/2008-01-21/200801211529940.shtml ...

  5. HashMap源码深度解析【重点】

    [重点]HashMap源码深度解析 摘要 哈希表 哈希冲突 HashMap 数据结构 数据结构 HashMap实现原理 构造方法 PUT实现 HashMap的数组长度一定是2的次幂 get原理 Has ...

  6. ISO7816协议深度解析-简单易懂协议详解(一)-- 复位,字符帧,及ATR

    1. 摘要 IC卡必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议. • T=0通讯协议是异步半双工字符传输协议: • T=1通讯协议是异步半双工块传输 ...

  7. 嵌入式 Linux 与物联网软件开发 ——C 语言内核深度解析

    C 语言是嵌入式 Linux 领域的主要开发语言. 对于学习嵌入式.单片机.Linux 驱动开发等技术来说,C 语言是必须要过的一关.C 语言学习的特点是入门容易.深入理解难.精通更是难上加难.很多用 ...

  8. 单文件浏览器_图文并茂深度解析浏览器渲染原理,包看懂超值得收藏

    在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广 ...

  9. 舒工深度解析不规则场地座位二维码生成规则

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  10. 今晚8点开播 | 深度解析知识图谱发展关键阶段技术脉络

    作为知识图谱领域形成过程的亲历者之一,AI科技大本营此次邀请到文因互联 CEO 鲍捷,他将对知识图谱的历史渊源进行梳理,对该领域几次发展的主要技术突破做深度解析,并分析其工业落地的几个关键点.欢迎大家 ...

最新文章

  1. 泥瓦匠进阶:连接池原理设计并不难
  2. 学完python还需要学什么语言好_python基础学完了之后还需要学习什么
  3. hdu4825 字典树 + 贪心
  4. 打开ADS提示23111@localhost后提示无法与执照伺服机连线,怎么解决?
  5. c语言3368题目,电大《C语言程序设计课程》期末考试复习资料
  6. 某公司R2631E以太口通过SDH接新桥的ATM交换机,出现丢包问题的解决方法
  7. hash进阶:使用字符串hash乱搞的姿势
  8. 中间件 —— 消息中间件(MOM)
  9. 使用iMazing创建配置文件时的几个重要首选项组
  10. 雷达系统与信号处理概述(一)
  11. 广播地址的计算方法(与运算、或运算)
  12. 高中数学如何考120以上高中数学如何快速提高
  13. 用户·角色·权限·表
  14. Deepin常用命令、系统命令、Vi命令
  15. 【转载】征途单机版详细架设图文教程
  16. Windows优化大师域名解析问题
  17. 计算机系统适应社会不断发展,教师招聘《中学教育心理学》通关试题每日练(2020年11月27日-944)...
  18. 微信开发者工具报错Cannotreadpro ‘getPreloadAdUnitIds‘ of undefinedat Object.dK [as getPreloadAdUnitIds]
  19. matlab论文致谢,2020大学毕业论文致谢信
  20. 图片格式导致的报错:Attribute Error: ‘NoneType‘ object has no attribute ‘astype‘ 解决方案

热门文章

  1. 多组学联合分析整体思路
  2. CF #595 Div.3 F. Maximum Weight Subset//树形dp
  3. [cf] Codeforces Round #595 (Div. 3) B12 Books Exchange
  4. 计算机系军训口号四句霸气,大一新生军训四句口号霸气押韵
  5. 计算机网络1MB等于多少b,1mb等于多少kb?MB转化KB的算法 - 驱动管家
  6. 从零开始微信小游戏(cocos creator)
  7. 主板供电接口 图解安装详细过程
  8. 服务器系统可以玩英雄联盟吗,用云服务器可以玩英雄联盟吗
  9. R语言使用aov函数执行单因素方差分析、使用TukeyHSD函数分析单因素方差分析的结果并解读TukeyHSD函数的输出结果
  10. 对于PS色彩调整的初步认识