电子发烧友网 > 控制/MCU > 正文

基于AT89S51数据传送类指令程序

2018年03月13日 15:17 次阅读

数据传送类指令是编程时使用最频繁的一类指令。一般数据传送类指令的助记符为“MOV”,通用的格式如下:

MOV,数据传送类指令是把源操作数传送到目的操作数。指令执行后,源操作数不改变,目的操作数修改为源操作数。所以数据传送类操作属“复制”性质,而不是“搬家”。

数据传送类指令不影响标志位,这里所说的标志位是指Cy、Ac和OV,但不包括检验累加器奇偶标志位P。

1.以累加器为目的操作数的指令

基于AT89S51数据传送类指令程序

这组指令的功能是把源操作数的内容送人累加器A,源操作数有寄存器寻址、直接寻址、间接寻址和立即数寻址等方式,例如指令:

2.以Rn为目的操作数的指令

这组指令的功能是把源操作数的内容送入当前工作寄存器区的RO~R7中的某一个寄存器。

3.以直接地址direct为目的操作数的指令

基于AT89S51数据传送类指令程序

这组指令的功能是把源操作数送入直接地址指定的存储单元。direct指的是内部RAM或SFR地址。

4.以寄存器间接地址为目的操作数的指令

这组指令的功能是把源操作数内容送入RO或Rl指定的存储单元中。

5. 16位数传送指令

这条指令的功能是把16位立即数送入DPTR,用来设置数据存储器的地址指针。AT89S51中设有两个DPTR,通过设置特殊功能寄存器AUXR1中的DPS位来选择。当DPS-I,则指令中的DPTR即为DPTR1,DPTRO被屏蔽,反之亦然。DPTR既是一个16位的数据指针,又可分为DPH和DPL两个8位寄存器进行操作,十分灵活、方便。设有两个DPTR后,可避免频繁地出入堆栈操作。

对于所有MOV类指令,累加器A是一个特别重要的8位寄存器,CPU对它具有其他寄存器所没有的操作指令。后面将要介绍的加、减、乘、除指令都是以A作为目的操作数的。Rn为CPU当前所选择的寄存器组中的RO~R7,直接地址指定的存储单元为内部RAM的OOH~7FH和特殊功能寄存器(地址范围为80H~FFH)。在间接地址中,用RO或Rl作为内部RAM的地址指针,可访问内部RAM的OOH~7FH共128个单元。

6.堆栈操作指令

在AT89S51的内部RAM中可以设定一个后进先出(LIFO,Last In First Out)的区域,称为堆栈。在特殊功能寄存器中有一个堆栈指针SP,它指定堆栈的栈顶位置。堆栈操作有进栈和出栈两种,因此,在指令系统中相应有两条堆栈操作指令。

(1)进栈指令

这条指令的功能是,首先将栈指针SP加1,然后把direct中的内容送到栈指针SP指示的内都RAM单元中。

例如,当(SP)=60H,(A)=30H,(B)=70H时,执行下列指令

结果为(61H)=30H,(62H)=70H,(SP)=62H。

(2)出栈指令

这条指令的功能是,将栈指针SP指示的栈顶(内部RAM单元)内容送入direct字节单元中,栈指针SP减1。

例如,当(SP)=62H,(62H)=70H,(61H)=30H时,执行下列指令:

结果为(DPTR)=7030H,(SP)=60H。

7.累加器A与外部数据存储器RAM/IO传送指令

上述4条指令的助记符是在MOV的后面加“X”,“X”表示AT89S51单片机访问的是片外RAM存储器或I/O口,是读外部RAM存储器或I/O口中的一个字节的数据到累加器A中,或将累加器A中的一个字节的数据写入外部RAM存储器或I/O口中。所以在执行前两条指令时,RD(的反)(P3.7)有效;执行后两条指令时,WR(P3.6)有效。

采用16位的DPTR进行间接寻址,可寻址整个64KB片外数据存储器空间,高8位地址(DPH)由P2口输出,低8位地址(DPL)由PO口输出。

采用Ri(i=0.1)进行间接寻址,可寻址片外256个单元的数据存储器。8位地址由PO口输出,锁存在地址锁存器中,然后PO口再作为8位数据口。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

基于AT89S51设计的机载数字化发电机控制盒设...

控制保护盒硬件部分由单片机系统、电源电路、频率检测电路、差动电流检测电路、电压检测电路、供电控制电路...

发表于 2018-04-08 11:44 71次阅读
基于AT89S51设计的机载数字化发电机控制盒设...

串行外设接口(SPI)扩展大容量数据存储器

在许多实际应用中经常面临的问题是需要支持大容量的数据存储功能。 但是采用常规扩展外部 数据存储器 的...

发表于 2018-04-08 09:20 79次阅读
串行外设接口(SPI)扩展大容量数据存储器

浅谈外部程序存储器数据存储器操作命令

单片机的p2和p0分别传递地址的高八位和低八位。同时p0还传递数据。在时序信号的ALE高电平期间,锁...

发表于 2018-04-08 09:03 48次阅读
浅谈外部程序存储器数据存储器操作命令

PIC16F87x单片机存储器特点及数据存储器使...

PIC16F87x系列单片机是PIC16系列子系列,是中间档次产品。PIC系列与其他单片机相比,让人...

发表于 2018-04-08 08:00 43次阅读
PIC16F87x单片机存储器特点及数据存储器使...

段式管理的数据存储器技术分析

。在采用MCS96系列单片机的应用开发中,我们碰到一个难题:当需要大容量的数据存储时, 数据存储器 ...

发表于 2018-04-03 10:23 54次阅读
段式管理的数据存储器技术分析

多媒体应用的数据存储器的各种分配方法

文讨论了在同时具有数据Cache和片上SRAM的处理器上标量和矩阵变量的存储器分配方法。文以摩托罗拉...

发表于 2018-03-28 08:36 90次阅读
多媒体应用的数据存储器的各种分配方法

基于AT89S51单片机的动态数码显示设计

动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象...

发表于 2018-03-11 09:35 130次阅读
基于AT89S51单片机的动态数码显示设计

基于AT89S51的P1接4×4矩阵键盘设计

用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输...

发表于 2018-03-11 09:28 140次阅读
基于AT89S51的P1接4×4矩阵键盘设计

基于TLC549数字电压表的设计

本文对基于TLC549数字电压表的设计进行了分析,主要介绍了TLC549A/D转换器引脚图及功能、T...

发表于 2018-02-19 10:23 706次阅读
基于TLC549数字电压表的设计

AT89C51与AT89S51有何不同_AT89...

本文对AT89C51与AT89S51的引脚及功能等方面进行了详细的介绍,并对AT89C51与AT89...

发表于 2018-01-08 16:44 529次阅读
AT89C51与AT89S51有何不同_AT89...

基于ds1302的电子日历系统

基于ds1302的电子日历系统在 硬件选择上 主要采用AT89S51作为主控制系统;DS1302提供...

发表于 2017-10-19 11:02 372次阅读
基于ds1302的电子日历系统

单片机的智能温度预警系统教学案例

如果环境温度超过或低于限定值,必定对所处环境的人和设备造成影响,甚至给个人和社会造成巨大的损失。随着...

发表于 2017-04-21 10:03 625次阅读
单片机的智能温度预警系统教学案例

解析:单片机数据存储器经验

单片机运行时为了定位ROM中的数据,其实每个8位存储单元都有一个固定的“地址”,通常用16进数表示:...

发表于 2015-06-08 17:06 1657次阅读
解析:单片机数据存储器经验

AT89S51的看门狗简介

发表于 2015-01-18 15:21 972次阅读
AT89S51的看门狗简介

At89S51可以用的下载程序的软件是什么?

发表于 2013-03-31 13:30 850次阅读
At89S51可以用的下载程序的软件是什么?

基于AT89S51的垃圾称重计费控制系统

本文设计了一种基于AT89S51单片机的垃圾称重计费控制系统。与其他控制系统相比,单片机系统具有体积...

发表于 2012-08-17 14:21 964次阅读
基于AT89S51的垃圾称重计费控制系统

一种智能化的温湿度智能控制系统设计

温、湿度控制广泛应用于人们的生产和生活中,对于农产品种子来说,对环境温度与湿度有着比较严格的要求。

发表于 2012-03-01 09:09 1837次阅读
一种智能化的温湿度智能控制系统设计

基于51单片机的数控直流稳压电源的设计

直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多 功能直流稳压电源功能简...

发表于 2011-10-19 11:44 11877次阅读
基于51单片机的数控直流稳压电源的设计

基于嵌入式系统的家居智能门窗设计

随着我国国民经济的快速发展, 人民生活水平的提高, 人们对家庭住房的防盗、防劫、防火设备的重视程度也...

发表于 2011-10-03 10:45 871次阅读
基于嵌入式系统的家居智能门窗设计

AT89S51实现LED显示数字电压表设计

本文采用AT89S51作为核心元件,AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4...

发表于 2011-08-05 14:45 3805次阅读
AT89S51实现LED显示数字电压表设计

基于AT89S51单片机开发板的设计

1 引言 单片机系统传统的编程方式是将单片机先从电路板上取下,放入专用的编程器进行编程,再放人电路...

发表于 2010-12-13 17:06 1799次阅读
基于AT89S51单片机开发板的设计

采用VB软件与AT89S51单片机的温度测控系统...

0 引言   在现代测控系统中,由于PC机具有强大的数据处理能力和良好的用户交互界面,单片机具有...

发表于 2010-06-22 10:32 921次阅读
采用VB软件与AT89S51单片机的温度测控系统...

AT89S51单片机并行I/O端口的扩展

AT89S51单片机并行I/O端口的扩展  1 引言   单片机面向工业控制领域,控制功能强,...

发表于 2009-11-07 09:53 1333次阅读
AT89S51单片机并行I/O端口的扩展

基于AT89S51单片机的冲床控制器

基于AT89S51单片机的冲床控制器 本文介绍了一种用Atmel89S51单片机仿真PLC控制的方...

发表于 2008-11-26 08:46 409次阅读
基于AT89S51单片机的冲床控制器