返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

2.6 80C51单片机存储器系统及操作方式---51系列单片机设计实例教程

2.6.1 80C51存储器的结构

程序存储器寻址范围为64KB(用PC或DPTR),片内数据存储器寻址范围为256B,80H-FFH只能间接寻址,片外数据存储器寻址范围为64KB(DPTR、P2、@Ri)

                  图2.7 80C51程序存储器系统结构

                 图2.8 80C51数据存储器系统结构

2.6.2 程序存储器及其操作

程序存储器用来存放应用程序和表格常数,设计中应用根据要求选择容量,其最大容量为64KB。单片机复位时,PC指针从0000H地址开始执行,应用程序的第一条指令的入口必须是0000H。程序存储器中有一些固定的中断入口地址,这些入口地址不得安放其他程序,而应安放中断服务程序,这些入口地址如表2.3所列。

表2.3 程序存储器的固定中断入口地址

程序存储器的操作有:

(1)程序指令的自主操作:按PC指针顺序操作。

(2)表哥常数的查表操作:用MOVC指令。

2.6.3 数据存储器及其操作

1.片内数据存储器的结构

数据存储器的结构如图2.9所示。

                                图2.9 数据存储器的结构

2.片内数据存储器的应用特性

(1)复用特性:除工作寄存器、位寻址单元有固定空间外,其余没有使用的都可作数据缓冲区。

(2)复位特性:复位时SP=07H、PSW=00H,故栈底在07H,工作寄存器为0组。

(2)活动推栈:程序运行中,SP可随意设置。

3.片内数据存储器的操作

(1)直接寻址操作,如:

MOV   30H, #50H;  30H-#50H

(2)间接寻址操作,如:

MOV   R0, #30H;   30H赋给R0

MOV   A,  @R0;    A-((R0))

(3)位地址空间操作,如:

SETB      00H;   20H的D0位置1

(4)工作寄存器的选择操作,如:

MOV  PSW, #18H; RS1、RS0置成11

(5)堆栈操作,如:

MOV  SP, #70H;  栈底设在70H

4.片外数据存储器的操作

使用MOVX命令,只能与A交换数据。

(1)读入数据

MOVX A, @TPDR

MOVX A, @Ri

(2)写入数据

MOVX  @TPTR, A

MOVX @Ri, A

例如:将片外567FH单元的数写入累加器A中,用TPDR指针操作为:

MOV  DPTR, #567FH

MOVX  A,   @DPTR

用R0间接寻址操作为:

MOV  R0,  #7FH

MOV  P2,  #56H

MOVX  A,  @R0

 

51系列单片机设计实例教程12题

单片机指令的应用例子

定时器/计数器的基本结构与操作方式

定时器/计数器的SFR

定时器/计数器的工作方式

定时器/计数器的编程和使用

单片机定时器应用举例

中断系统的基本组成

单片机中断系统中的SFR

中断响应的自主操作过程

串行口的基本结构与操作方式

串行口的特殊功能寄存器

单片机串口的工作方式

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人