AT89S51数据传送类指令

发布者:RadiantBlossom最新更新时间:2018-03-10 来源: eefocus关键字:AT89S51  数据传送类指令 手机看文章 扫描二维码
随时随地手机看文章

  数据传送类指令是编程时使用最频繁的一类指令。一般数据传送类指令的助记符为“MOV”,通用的格式如下:
  
  MOV<目的操作数>,<源操作数>
  
  数据传送类指令是把源操作数传送到目的操作数。指令执行后,源操作数不改变,目的操作数修改为源操作数。所以数据传送类操作属“复制”性质,而不是“搬家”。
  
  数据传送类指令不影响标志位,这里所说的标志位是指Cy、Ac和OV,但不包括检验累加器奇偶标志位P。
  
  1.以累加器为目的操作数的指令
  
  这组指令的功能是把源操作数的内容送人累加器A,源操作数有寄存器寻址、直接寻址、间接寻址和立即数寻址等方式,例如指令:
  
  2.以Rn为目的操作数的指令
  
  这组指令的功能是把源操作数的内容送入当前工作寄存器区的RO~R7中的某一个寄存器。
  
  3.以直接地址direct为目的操作数的指令
  
  这组指令的功能是把源操作数送入直接地址指定的存储单元。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位数据口。
  
  8.查表指令
  
  这类指令共两条,均为单字节指令,这是AT89S51指令系统中仅有的两条读程序存储器中表格数据的指令。由于对程序存储器只能读不能写,因此其数据的传送都是单向的,即从程序存储器中读出数据到累加器中。两条查表指令均采用基址寄存器加变址寄存器间接寻址方式。
  
  这条指令以PC作为基址寄存器,A的内容作为无符号整数和PC的当前值(下一条指令的起始地址)相加后得到一个新的16位地址,把该地址指定的程序存储单元的内容送到累加器A。
  
  例如:当(A)=30H时,执行地址1000H处的指令
  
  该指令占用一个字节,下一条指令的地址为1001H,(PC)=1001H再加上A中的30H,得1031H,结果是将程序存储器中1031H的内容送入累加器A。
  
  这条指令的优点是不改变特殊功能寄存器及PC的状态,根据A的内容就可以取出表格中的常数。缺点是表格只能存放在该条查表指令所在地址的+256个单元之内,表格的大小受到限制,而且表格只能被一段程序所利用。
  
  这条指令以DPTR作为基址寄存器,A的内容作为无符号数和DPTR的内容相加得到一个16位地址,把由该地址指定的程序存储器单元的内容送到累加器A。
  
  例如:(DPTR)=8100H,(A)=40H,执行指令
  
  结果是将程序存储器中8140H单元内容送入累加器A中。
  
  这条查表指令的执行结果只与指针DPTR及累加器A的内容有关,与该指令存放的地址及常数表格存放的地址无关,因此表格的大小和位置可以在64KB程序存储器空间中任意安排,一个表格可以为各个程序块公用。
  
  上述两条指令的助记符都是在MOV的后面加“C”,“C”是CODE的第一个字母,即表示程序存储器中的代码。执行上述两条指令时,单片机的PSEN引脚信号(程序存储器读)有效。
  
  9.字节交换指令
  
  这组指令的功能是将累加器A的内容和源操作数的内容相互交换。源操作数有寄存器寻址、直接寻址和寄存器间接寻址等方式。例如:
  
  执行下列指令:
  
  结果为(A)=OFH,(R7)=80H,(40H)=08H,(30H)=FOH。
  
  10.半字节交换指令
  
  这条指令的功能是,累加器的低4位与内部RAM低4位交换。例如:(RO)=60H,(60H)=3EH,(A)=59H,执行完“XCHD A,@RO”指令,则(A)=5EH,(60H)=39H。

关键字:AT89S51  数据传送类指令 引用地址:AT89S51数据传送类指令

上一篇:AT89S51逻辑操作类指令
下一篇:单片机程序的动态加密方案

推荐阅读最新更新时间:2024-03-16 15:57

浅谈AT89S51中断程序设计
  中断系统的运行必须与子程序配合才能正确使用。设计中断服务子程序需要首先明确以下几个问题。   中断服务子程序设计的任务   中断服务子程序设计的基本任务有下列4条:   (1)设置中断允许控制寄存器IE,允许相应的中断请求源中断。   (2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。   (3)若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是跳沿触发方式。   (4)编写中断服务子程序,处理中断请求。   前3条一般放在主程序的初始化程序段中。   举例如下:例1、假设允许外部中断0中断,并设定它为高优先级中断,其他中断源为低优先级中断,采用跳沿触发方式。在主程序中
[单片机]
浅谈<font color='red'>AT89S51</font>中断程序设计
AT89S51数据传送指令
  数据传送类指令是编程时使用最频繁的一类指令。一般数据传送类指令的助记符为“MOV”,通用的格式如下:      MOV 目的操作数 , 源操作数      数据传送类指令是把源操作数传送到目的操作数。指令执行后,源操作数不改变,目的操作数修改为源操作数。所以数据传送类操作属“复制”性质,而不是“搬家”。      数据传送类指令不影响标志位,这里所说的标志位是指Cy、Ac和OV,但不包括检验累加器奇偶标志位P。      1.以累加器为目的操作数的指令      这组指令的功能是把源操作数的内容送人累加器A,源操作数有寄存器寻址、直接寻址、间接寻址和立即数寻址等方式,例如指令:      2.以Rn为目的操作数的指令     
[单片机]
AT89S51单片机串行口的结构
AT89S51单片机串行口的内部结构如下图所示。它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。      串行口的控制寄存器共有两个:特殊功能寄存器SCON和PCON。下面介绍这两个特殊功能寄存器各位的功能。      1、串行口控制寄存器SCON      串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。SCON的格式如下图所示。      下面介绍SCON中各位的功能。      (1) SM0、SMl:串行口4种工作方式选择位。      
[单片机]
<font color='red'>AT89S51</font>单片机串行口的结构
基于AT89S51单片机开发板的设计
1 引言 单片机系统传统的编程方式是将单片机先从电路板上取下,放入专用的编程器进行编程,再放人电路板进行调试。其缺点是频繁的拔插器件容易损坏器件的引脚;如果频繁的调试程序,必须重复拔插,大大降低了开发效率。ISP技术是未来发展的方向,其优势是无需编程器就可进行单片机的实验和开发,单片机器件可直接焊接到电路板上,调试结束即为成品,免去调试时由于频繁插入取出对器件和电路板造成的损坏和带来的不便。 ISP可降低研发成本;缩短从设计、制造到现场调试的时间,简化生产流程,大大提高工作效率;在试验新品或学生试验等常需用不同的程序调试器件的场合中,在线编程技术尤为重要。 设计AT89S51 单片机开发板 ,采用ISP下载线实现在Keil C
[单片机]
基于<font color='red'>AT89S51</font>单片机开发板的设计
单片机模拟开关灯
1 验任务 如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1灯亮,开关打开,L1灯熄灭。 2 路原理图 图4.2.1 3 统板上硬件连线 (1) “单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”      区域中的L1端口上; (2) “单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上; 4. 程序设计内容 (1) 关状态的检测过程 单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高
[单片机]
单片机模拟开关灯
导电材料温度测量系统的设计和实现方案
引 言 随着电子工业及信息技术等产业的迅速发展,对于具有导电功能的高分子材料的需求越来越迫切。导电复合材料具有质量轻、无锈蚀、易于加工成各种复杂形状,尺寸稳定性好,电导率在较大范围内可调,易于大批量生产以及价格便宜等特点,因此广泛应用于抗静电、微波吸收、自控温发热材料、电磁波屏蔽等领域。其中,炭黑复合导电材料是目前应用最广,用量最大的一种。在此以AT89S51单片机为核心,设计一种简易的测量炭黑复合导电材料电阻和温度系统,系统框图如图1所示。 单片机通过热电偶放大器芯片采集当前的温度值;通过电压转换电路采集电阻值,送到FM24C02以备查询,LCD显示当前的电阻和温度情况,使用者可以方便地读出电阻和温度的变化,还可以通过串行口
[单片机]
导电材料温度测量系统的设计和实现方案
AT89S51ISP下载线的制做
最小系统板做好了,接下来就是做根ISP下载线了。否则程序怎么写到AT89S51芯片里呢? 先来认识一下AT89S51上ISP(在线编程)功能脚的定义 看上图的左边AT89S51引脚图的P1.5、P1.6、P1.7的第二功能分别为MOSI(主机发送从机接收)、MISO(主机接收从机发送)、SCK(时钟脉冲信号由主机发送)。那什么时候才能启用第二功能呢?就是当复位脚RST接高电平一直处于复位状态时就可用第二功能了,所以在ISP下载板上有一条线接至AT89S51的第9脚(RST)上,就是在写程序前先发一个高电平将S51的RST脚设为复位态,然后就可通过MOSI、MISO向S51内写程序了。   有网有问我的板子上ISP线是如何定义的
[单片机]
<font color='red'>AT89S51</font>ISP下载线的制做
基于AT89S51的多功能电子密码锁设计
     当前虽然许多智能锁(如指纹辨别、IC卡识别)已相继问世,但这类产品是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失和损坏,加上其成本较高,在一定程度上限制了这类产品的普及和推广。    电子 密码锁具有安全性能高、成本低、功耗低、操作简单等优点使其作为防盗卫士的角色越来越重要。现有国内市场上的电子密码锁有的是通过购买一些产品模块再开发,不具备自主知识产权;有的是自主研发的,但其功耗与成本都比较高,不具备广泛的应用价值。为了克服这些缺点,从经济实用角度出发,采用 单片机 AT89S5l与低功耗CMOS型E2PROM AT24C02 作为主控器件与数据 存储器 单
[安防电子]
基于<font color='red'>AT89S51</font>的多功能电子密码锁设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved