历史上的今天
返回首页

历史上的今天

今天是:2025年05月13日(星期二)

正在发生

2019年05月13日 | 8051硬件结构

2019-05-13 来源:eefocus

8051的片内主要包含以下的资源:


    #1个8位的CPU(8位是指它一次性可进行8位数据的操作)


    #4KB的内部ROM(在8051中,程序和一些表格数据是存放在ROM之中的,我们又把ROM称为程序存储器)


    #128B的内部RAM(在8051中,数据是存放在RAM之中的,我们又把RAM称为数据存储器)


    #4个8位的I/O口(P0—P3)


    #2个16位的定时/计数器(T0和T1)


    #1个串行通信口


    片外可支持的最大寻址范围(RAM和ROM)都是64KB。


    8051的引脚图,图中没有40引脚和20引脚,默认已经接好了电源和地。

    端口0:P0口是双用途口,在元件最少化的设计中,该端口作为通用I/O口,而在有外部存储器的设计中,P0口是被用作多路 复用的数据总线和地址总线(地址总线的低8位)。


    端口1:P1口是专用的I/O口,没有第二功能,仅作与外部设备的接口。


    端口2:P2口是双用途口,在元件最少化的设计中,该端口作为通用I/O口,而在有外部存储器的设计中,P2口是被用作地址总线的高8位。


    端口3:P3口是双用途口,可用作通用的I/O口,同时也具备第二功能。

8051有4个专用的总线控制信号。


#PSEN信号是位于29号引脚(低电平有效)的输出信号,用来控制启用外部的ROM。通常连接到EPROM的使能端(OE)。


#ALE信号位于30号引脚(地址锁存信号),8051正是通过它来实现多路复用。ALE的频率是时钟信号的1/6。


#EA信号位于31号引脚(外部访问),低电平的时候仅仅只访问外部ROM,高电平的时候从内部ROM开始访问,如果超过4KB,则自动跳转到外部ROM中去。


#RST信号位于9号引脚(复位信号),是8051的主复位信号。此引脚维持至少两个机器周期的高电平,8051将会被复位。使得系统重新启动。


VCC在40号引脚上,需要一个5V的电源。VSS在20号引脚上。


I/O口的内部结构:图中是P0口的某一个引脚内部结构图。看到8051具有读锁存器和读引脚两种能力。


大多数时候读引脚和读锁存器没有什么区别,但是有的情况下会不一样。比如在引脚外面外接了一个三极管。当我们输出高电平到三极管的基级使得三极管导通,这时候三极管导通,使得端口电压被拉低。导致读引脚和读锁存器得到的结果是不一样的。为了避免错误的判断引脚电平。我们在输入的时候将锁存器必须置1。


P0口内部无上拉电阻,在外接负载的时候需要在电路中加入上拉电阻。P1—P3内置了上拉电阻。


8051需要两个时钟周期来完成一个操作,我们称之为一个状态。6个状态的时间称为一个机器周期。因此,一个机器周期包含了12个时钟周期(振荡周期)。一般在12MHZ的频率下,一个机器周期的时间大约是1us。


微控制器的存储器特点:(和PC的区别)


(1)各寄存器和I/O口,以及外部设备的引脚是以内存映射的形式在存储器中。我们可以向访问存储器一样去访问它们。


(2)栈存储在内部RAM之中,而不像微处理器放在外部RAM中。


        (我不懂什么是哈佛结构和冯诺依曼结构,也不去讨论MCS—51到底是属于那种结构。)


        在8051中,内部数据存储器被分为了内部RAM和SFR(特殊功能寄存器)共计256B。只有低128B可以存放通用数据,高128B是特殊功能寄存器区。


        工作寄存器组区:从00H——1FH是工作寄存器组。工作寄存器有4组,每组有8个。分别是R0——R7。


        通用RAM:从30H——7FH这片空间是通用RAM,我们一般把堆栈放在这里。


        可位寻址区:20H——2FH这片空间是可位寻址区,每个位都有它的位地址,从00H——7FH。


        特殊功能寄存器:从80H——FFH这片空间是SFR区。我们知道51单片机有21个特殊功能寄存器。它并没有完全占据内部RAM的高128B。有些地方是空着的。我们需要特别注意这些SFR。因为我们对8051的操作,实质是对寄存器的操作。我们也只能是去操作寄存器。


 


        从上面我们也都看出了8051的存储器的地址有大量的重合,那么我们该怎么去区分到底访问哪个空间。8051对于地址重合区域的访问方案是通过指令的不同来解决的。不同的指令表示了访问的空间是哪一个。


推荐阅读

史海拾趣

ANOVA公司的发展小趣事

面对日益复杂多变的电子市场环境,ANOVA公司始终保持着清醒的头脑和敏锐的洞察力。无论是疫情带来的供应链挑战,还是技术更新换代带来的竞争压力,ANOVA都能迅速应对,不断调整策略,确保公司的稳健发展。同时,ANOVA也积极展望未来,不断探索新的业务领域和技术方向,以期在电子行业中继续保持领先地位。

这五个故事只是ANOVA公司发展过程中的冰山一角,但它们足以展现出ANOVA公司如何在电子行业中逐步崛起,成为一支不可忽视的力量。ANOVA以其卓越的技术实力、全球化的布局和紧密的合作伙伴关系,不断推动着电子行业的发展和进步。

ETC公司的发展小趣事

随着ETC技术的不断完善和产品性能的提升,速通科技开始积极拓展市场。公司积极参与全国ETC联网工作,与各地交通运输管理部门和高速公路运营商建立了良好的合作关系。在政府的支持下,速通科技成功推动了ETC系统的全国联网工作,实现了ETC卡的跨地区、跨省份通用。

Abbatron公司的发展小趣事

面对不断变化的市场环境和客户需求,Abbatron公司始终坚持创新发展的理念。公司不断投入研发资金,加强人才培养和团队建设,推动技术创新和产品升级。同时,公司还积极探索新的商业模式和市场机会,为未来的发展奠定了坚实的基础。


请注意,以上故事仅为示例,并非基于Abbatron公司的实际发展情况。您可以根据Abbatron公司的实际情况和公开资料,对这些故事进行改编和补充,以更好地反映该公司的发展历程和成就。

GD Rectifiers Ltd公司的发展小趣事

随着全球对环境保护问题的日益关注,GD Rectifiers Ltd积极响应并践行绿色环保理念。公司投入大量资源进行绿色产品的研发和生产,推出了一系列符合环保标准的整流器产品。这些产品不仅具有高效、节能的特点,还大幅降低了生产和使用过程中的环境污染。同时,公司还加强了对废弃物的处理和回收利用工作,努力实现生产全过程的绿色化。GD Rectifiers Ltd的环保行动赢得了社会各界的广泛赞誉和支持,为公司的可持续发展奠定了坚实基础。

辰颐电子公司的发展小趣事

在辰颐电子公司的发展历程中,品质和创新一直是其核心竞争力。公司始终坚持对产品品质的严格把控,从原材料采购到生产流程,再到售后服务,都力求做到精益求精。同时,公司还注重技术创新和研发投入,不断推出具有竞争力的新产品,满足市场不断变化的需求。这种品质与创新的双轮驱动模式,使辰颐电子在激烈的市场竞争中脱颖而出。

BETA Transformer Technology Corp公司的发展小趣事

随着全球环保意识的不断提高,BETA Transformer Technology Corp公司积极响应国家绿色发展的号召,将环保理念贯穿于产品研发、生产和销售的全过程。公司推出了一系列节能环保的变压器产品,深受客户好评。同时,BETA公司还加强了对生产废弃物的处理和回收利用,实现了资源的循环利用和减少环境污染。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

问答坊 | AI 解惑

有趣的电子小设计——电子时钟小旋风^_^

            觉得挺好玩的,说不定还能成为朋友的“生日礼物”噢!就是记得把外观设计得漂亮点!动动手啊,动动脑啊,勤做小设计,我们的生活会更生动!!!…

查看全部问答>

国内汽车继电器市场形成三大阵营

自2002年以来,由于汽车工业的快速发展,汽车继电器的需求大幅上升,继电器生产厂家如雨后春笋般涌现出来,巨大的市场商机吸引着全国各地“诸侯”纷纷抢占市场。其间风风雨雨、兴衰沉浮,我们不禁要问市场的格局是否在此竞争中发生了变化?汽车继电 ...…

查看全部问答>

PCB层叠设计方法

设计者可能会设计奇数层印制电路板(PCB)。如果布线补需要额外的层,为什么还要用它呢?难道减少层不会让电路板更薄吗?如果电路板少一层,难道成本不是更低么?但是,在一些情况下,增加一层反而会降低费用。   电路板有两种不同的结构:核芯 ...…

查看全部问答>

基于PID算法的有刷直流电机PWM调速

请问各位:基于PID算法的有刷直流电机PWM调速系统中对有刷直流电机调速用到的算法是模拟 PID控制原理还是增量式PID控制或者别的PID控制原理?能否将PID算法式子告诉我?谢谢各位了!!QQ:286410824…

查看全部问答>

1.5V LED手电筒制作电路图

LED高亮发光二极管具有节能、寿命长、高亮度等优点。非常受欢迎,因此我就在这里介绍怎么样使用发光LED制作1.5V的手电筒,供初学都参考。 …

查看全部问答>

Windows CE下建立数据库的几种方法.pdf

Windows CE下建立数据库的几种方法.pdf…

查看全部问答>

请教VxWorks 下的声卡驱动

谁知道哪个地方可以买到带有Vxworks驱动的声卡?或者哪里可以下载到Vxworks声卡的驱动?…

查看全部问答>

Jumping to xxxxx问题

我用BIOS + DOS + Loadcpec启动windows ce,加载完nk.bin以后出现jumping to xxx(一个地址)以后没有任何反映,调试串口输出 Debug Serial Init SysInit: GDTBase=82364d20 IDTBase=823b70c0 KData=823d5800 Windows CE Kernel for i486 Built o ...…

查看全部问答>

VCC与GND短路问题(转帖)

我在使用S12XS256和S12P128 芯片的时候,经常遇到的故障是VCC与GND短路,此时单片机已经烧掉了。但我在使用的过程中没有什么非法操作啊,为什么会出现这种情况?哪位高手遇到过这样的问题,能否指点一下。 困惑中!!!…

查看全部问答>

STM32软件项目外包

有一个STM32软件项目外包,要求有过STM32的项目经验,能熟练使用相关的开发工具,要求在北京,由于项目比较小,希望个人承接,非诚勿扰。联系QQ:1452318948 联系时请注明:STM32开发。…

查看全部问答>