首页 > 应用 > 单片机应用
[导读]为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定一条指令的地址。程序计数器PC正是起到了这种作用,所以通常又称其为指令地址计数器。在程序开始执行前,必须将其起始地址。即程序的第一条指令所在的内存单元地址送入PC。当执行指令时,CPU将自动修改PC的内容,使之总是保存将要执行的下一个条指令的地址。由于大多数都是按顺序执行的,所以修改的过程只是简单的加1操作。

为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定一条指令的地址。程序计数器PC正是起到了这种作用,所以通常又称其为指令地址计数器。在程序开始执行前,必须将其起始地址。即程序的第一条指令所在的内存单元地址送入PC。当执行指令时,CPU将自动修改PC的内容,使之总是保存将要执行的下一个条指令的地址。由于大多数都是按顺序执行的,所以修改的过程只是简单的加1操作。

本文引用地址: http://www.21ic.com/app/mcu/201712/748196.htm

下面我们看看8051的存储器系统:(此章非常重要,请仔细理解)8051序列单片机与一般微机的存储器配置方式不相同。一般微机通常只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址同在一个队列里分配不同的地址空间。CPU访问存储器时,一个地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令。此种存储器结构称普林斯顿结构。

8051的存储器在物理结构上分程序存储器空间和数据存储器空间。有四个存储空间:片内程序存储器和片外程序存储空间以及片内数据存储器和片外数据存储器。这种程序存储器和数据存储器分开的结构形式,称为哈佛结构。但从用户使用的角度,8051存储器地址空间分为三类:

1、片内,片外统一编址0000H—FFFFH的64K字节的程序存储器地址空间,用16位地址;2、64K字节片外数据存储器地址空间,地址也从0000H—FFFFH,用16位地址;3、256K字节数据存储器地址空间,用8位地址。

上述三个存储空间地址是重迭的,任何区别这三个不同的逻辑空间呢?8051的指令系统设计了不同的数据传送指令符号:CPU访问片内片外ROM指令用MOVC,访问片外指令用MOVX,访问片内RAM指令用MOV。

一 、程序存储器地址空间8051程序存储器用于存放编好的程序和表格常数。程序存储器通过16位程序计数器PC寻址,寻址能力为64K字节。8051,8751的64程序存储器片内ROM为4K字节,地址为0000H—0FFFH,片外最多可扩至64K字节ROM,地址1000H—FFFFH,片内外是统一编址的。

当引脚EA接高电平时,8051程序计数器PC在0000H—0FFFH范围内,即前4K字节地址执行片内ROM中的程序;当指令地址超过0FFFH后,就自动地转向片外ROM指令。

当引脚EA接低电平时,8051片内ROM不起作用,CPU只能从片外ROMZ中取指令,地址可以从000H开始编址。这种接法特别适用于采用8031单片机的场合,由于8031片内不带ROM,所以使用使必须使EA=0.以便能够从外部扩展EPROM中取指令。

8051从片内程序存储器和片外程序存储器取 值时执行速度相同。程序存储器的某些单元是留给系统使用的。

存储单元0000H-0002H用作8051上电复位后引导程序存放单元。因为8051上电复位后程序计数器PC的内容为0000H,所以CPU总是从0000H开始执行程序。如果在这三个单元中存有转移指令,那么程序就被引导到转移指令指定的ROM空间去执行。

0003H—0023H单元均匀地分为五段,用作五个中断服务程序的入口,因为这五个入口之间的间隔较小,因此,一般说来这五个入口处都是放的一条跳转指令,而把真正的中断服务程序视情况安排在后面的存储器中。这五个入口分别是:

0003h:外部中断0的入口地址,当外部中断引脚INT0,即P3.2有效时,引起中断申请,CPU响应中断后自动将地址0003H装入程序计数器PC,程序就被转换到0003H去执行外部中断0的中断服务程序。

000Bh:定时器0溢出中断的入口地址,当定时器T0产生溢出时,引起中断申请,CPU响应中断后自动将地址000BH装入程序计数器PC, 程序就被转移到000BH去执行定时器0的中断服务程序。

0013h:外部中断1的入口地址,当外部中断引脚INT1,即P3.3有效时,引起中断申请,CPU响应中断后自动将地址0013H装入程序计数器PC, 程序就被转移到0013H去执行外部中断1的中断服务程序。

001Bh:定时器1溢出中断的入口地址,当定时器T1产生溢出时,引起中断申请,CPU响应中断后自动将地址001BH装入程序计数器PC, 程序就被转3移到0003H去执行定时器1的中断服务程序。

0023h:串行接口中断的入口地址,当串行接口接收或发送完一个数据后,引起中断申请,CPU响应中断后自动将地址0023H装入程序计数器PC,程序就被转移到0023H去串行接口中断服务程序。

二、数据存储器地址空间。

数据存储器RAM用于存放运算中的中间结果,数据暂存,缓冲,标志位等。数据存储器空间也分为片内和片外两部分,即片内RAM和片外RAM。

8051片外数据存储器空间为64K,从0000H—FFFFH;片内存储器空间为256字节,地址从0000H—00FFH。

(一)片外RAM片外数据存储器与片内数据存储器空间低地址0000H—00FFH是重迭的,如何区分片内,片外RAM空间呢?8051有MOV和MOVX两种指令,用于区分片内片外RAM空间。片内RAM使用MOV指令,片外64KRAM空间专门为MOVX指令使用。

(二)片内RAM数据存储器最大可寻址256个单元,它们又分为两个部分:

低128字节,00H—7KH,是真正的RAM区。高128字节,80H—FFH,为特殊功能寄存器区。

低128字节RAM ,00H—1FH地址安排为四组寄存器区,每组有八个工作寄存器,即R0-R7,,共占32个单元。通过对程序状态字PSW中RS1,RS0两位的设置,每组寄存器可选作CPU的当前工作寄存器组。若程序中并不需要四组,那么其余可用作一般RAN单元。CPU复位后,选中第0组工作寄存器。

工作寄存器区后的16字节单元,即20H—2FH,可以位寻址方式访问其各位,这128个位的地址为00H—7FH。低128字节RAM单元地址范围也是00H—7FH,8051采用不同寻址方式加以区分,即访问128个位地址用位寻址方式。访问低128字节单元用直接寻址或间接寻址,这样就可以区分开00H—7FH是位地址还是字节地址,寻址方式以后再讲。通过执行指令可直接对某一位操作,如置1,请0或判1,判0等,可用作软件标志位或用于位处理。

高128字节RAM,特殊功能寄存器,8051片内高128字节RAM中,除程序计数器PC外,有21专用寄存器,也称特殊功能寄存器,它们离散地分布在80H—FFH的RAM空间中。在21个特殊功能寄存器中,有11个特殊功能寄存器具有位寻址能力,它们的字节地址正好能被8整除,下面介绍部分特殊功能寄存器,其余将在后面讲述:

换一批

延伸阅读

[单片机应用] 单片机入门的有效途径

单片机入门的有效途径

对一个初学单片机的人来说,学习的方法和途径非常重要。如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,能够产生什么实际效果,那么也许用不了几天就会觉得枯燥无味而半途而......

关键字:单片机入门 有效途径

[单片机应用] 第四节:PIC系列单片机程序存储器及堆栈

第四节:PIC系列单片机程序存储器及堆栈

PIC16C5X内部有384~2K的只读程序存贮器,下面论述其结构和堆栈。§1.4.1 程序存储器结构PIC16C5X程序存储器结构如图1.3所示: 从上图可看出,PIC程序存储器采用分页结构,每页长0.5K。因此对......

关键字:堆栈 存储器 单片机 程序

[单片机应用] 51单片机学习笔记:可对时电子钟

51单片机学习笔记:可对时电子钟

本篇是对上一篇的改进,昨天学习了第4章中的独立键盘的使用独立键盘拥有自己独有的IO口,所以比较简单,我上一篇写的电子钟程序只能烧程序对时,不能手动按键对时,这肯定是最差劲的做法,所以学习了按键之后,就立马动手改......

关键字:51单片机 可对时电子钟

[单片机应用] 8051单片机端口结构—P3口

8051单片机端口结构—P3口

P3口是一个多功能端口,对比P1的结构图不难看出,P3口与P2口的差别在于多了与非门和缓冲器。正是这两个部分,使得P3口除了具有P1口的准双向I/O功能之外,还可以使用各引脚所具有的第二功能。与非门的作......

关键字:单片机 端口 结构

[单片机应用] 单片机中断唤醒

单片机中断唤醒

生活上有很多东西都搭载着单片机而进行工作的,而且有相当一部分的设备、仪器、产品都是靠蓄电池来提供电源的,往往这些靠蓄电池供电的设备、仪器、产品都能够用上一大段时间。例如我们经常接触到的遥控器,假若MCU一......

关键字:单片机 中断唤醒

[单片机应用] 电子小制作单片机最小系统_按键控制数码管显示

电子小制作单片机最小系统_按键控制数码管显示

单片机最小系统_按键控制数码管显示,这个项目,主要学习单片机的键盘工作原理与显示方面的知识,电子小制作的好课题。键盘电路作为单片机的输入部分,数码显示电路作为单片机的输出部分,由键盘电路通过单片机控制数......

关键字:单片机 最小系统 按键控制 数码管显示

[汽车电子] 赛普拉斯推出全新Excelon F-RAM 高速、高可靠性的非易失性存储器系列

赛普拉斯推出全新Excelon F-RAM 高速、高可靠性的非易失性存储器系列

先进嵌入式解决方案的领导者赛普拉斯半导体公司(纳斯达克股票代码:CY)近日宣布推出新型串行非易失性存储器系列,为关键任务数据采集提供卓越性能和高可靠性。Excelon™铁电随机存取存储器(F-RAM™)系列具有高速非......

关键字:ExcelonAuto系列 自动驾驶汽车 非易失性存储器

[LED电路] 自制LED恒流驱动电源

自制LED恒流驱动电源

由于LED用作照明灯具有节能、长寿命等优点,现在LED照明非常火热。由于LED需要的是低压直流电源.为了使用220V(或者110V)交流市电驱动LED。需要使用电源转换电路。普通常见的线性电源由于体积大、效率低等缺点,不适合......

关键字:LED恒流驱动电源

[传感器] Silicon Labs推出满足物联网增长需求的新型高集成度PoE IC

Silicon Labs推出满足物联网增长需求的新型高集成度PoE IC

Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)日前发布了两款全新的以太网供电(PoE)受电设备(PD)系列产品,为各种物联网(IoT)应用提供一流的集成度和效率。......

关键字:高集成度PoE IC 物联网 智能化

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客