8051单片机指令定义详解——(ACALL addr11)
符号说明
符 号 说 明
← 表示数据传送方向
() 表示单元的内容
(()) 表示间接寻址的内容
rrr 8个工作寄存器之一;000=R0,001=R1等
dddddddd 数据位
aaaaaaaa 地址位
bbbbbbbb 表示某个位的地址
i 通过R0(i=0)或R1(i=1)间接寻址
eeeeeeee 8位的相对地址偏移量
ACALL addr11
功能:绝对调用。
说明:ACALL指令实现无条件调用位于addr11参数所表示地址的子例程。在执行该指令时,首先将PC的值增加2,即使得PC指向ACALL的下一条指令,然后把16位PC的低8位和高8位依次压入栈,同时把栈指针两次加1.然后,把当前PC值的高5位、ACALL指令第一字节的7~5位和第2字节组合起来,得到一个16位目的地址,该地址即为即将调用的子例程的入口地址。要求该子例程的起始地址必须与紧随ACALL之后的指令处于同1个2KB的程序存储页中。ACALL指令在执行时不会改变各个标志位。
示例:SP的初始值为07H,标号SUBRTN位于程序存储器的0345H地址处,如果执行位于地址0123H处的指令:
ACALL SUBRTN
那么SP变为09H,内部RAM地址08H和09H单元的内容分别为25H和01H,PC值变为0345H。
指令长度(字节数): 2
指令执行周期: 2
指令二进制编码: aaa10001aaaaaaaa
注意:aaa是11位目标地址addr11的A10~A8位,aaaaaaaa是addr11的A7~A0位。
指令的操作:
(PC)←(PC)+2
(SP)←(SP)+1
((SP))←(PC7—PC0)
(SP)←(SP)+1
((SP))←(PC15—PC8)
(PC10—PC0)←页面地址
关键字:单片机指令 定义详解
引用地址:
8051单片机指令定义详解——ACALL addr11(1)
推荐阅读最新更新时间:2024-03-16 14:47
51单片机位修正指令
位清0 指令 CLR C ;使CY=0 CLR bit ;使指令的位地址等于0。例:CLR P1.0 ;即使P1.0变为0 位置1指令 SETB C ;使CY=1 SETB bit ;使指定的位地址等于1。例:SETB P1.0 ;使P.0变为1 位取反指令 CPL C ;使CY等于原来的相反的值,由1变为0,由0变为1。 CPL bit ;使指定的位的值等于原来相反的值,由0变为1,由1变为0。 例:CPL P1.0 以我们做过的实验为例,如果原来灯是亮的,则执行本指令后灯灭,反之原来灯是灭的,执行本指令后灯亮。
[单片机]
C8051F020的Flash操作
C8051F020的Flash可以实现IAP功能(In Application Programming),即程序可对Flash存储区进行编程,也就是说Flash除了可以存放程序代码,还可以在剩下的空间内存储数据,即起到EEPROM的功能,下图是C8051F020的存储组织结构图 可以看到它的结构是64K+128字节的形式,0xfe00~0xffff为工厂保留区,不能进行操作,当64K的Flash用作存储数据时,先确定程序代码的位置,以免覆盖程序导致出错,还有操作Flash前必须禁止中断,否则可能会出现无法预知的错误,下面是我写的驱动,经测试没问题: void Flash_area_Erase(bit type,u
[单片机]
MAX6900 RTC与8051位控制器的连接
说明 本应用笔迹介绍了MAX6900 I²C兼容RTC (实时时钟)与8051微控制器(µC)之间的连接方式,并提供了用于基本接口的程序代码。本范例中所使用的微控制器是DS2250, 软件用C语言编写。 操作过程 本程序利用作为I²C总线主机的微控制器的两个通用端口进行控制,MAX6900则作为同一总线上的从机器件。 电路原理图如图1所示,程序清单如图2所示。 图1. 子卡原理图 图2. 程序清单 /***************************************************************************/ /* DEMO6900.c
[单片机]
MCS-51单片机的无条件转移指令用法介绍
控制转移指令用于控制程序的流向,所控制的范围即为程序存储器区间,MCS-51系列单片机的控制转移指令相对丰富,有可对64kB程序空间地址单元进行访问的长调用、长转移指令,也有可对2kB字节进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其它无条件转移指令,这些指令的执行一般都不会对标志位有影响。 MCS-51单片机的无条件转移指令用法介绍 无条件转移指令 这组指令执行完后,程序就会无条件转移到指令所指向的地址上去。长转移指令访问的程序存储器空间为16地址64kB,绝对转移指令访问的程序存储器空间为11位地址2kB空间。 LJMP addr16 ;addr16→(PC),给程序计数器赋予新值(16位地址) AJ
[单片机]
8051单片机I/0口的读写
前两天看资料,见到关于I/O口作为输入时,要先输出1的说明,有点迷惑。今天特意查了一些资料,费了半天劲,虽然还没有完全弄明白,但也算有所收获,下面就列出来,以便将来查询并进一步补充。 1、作为I/O口使用时,输入和输出原理 作I/O口使用时,在控制信号的作用下,与门关闭,V1截止,同时多路开关打向下边,与锁存器的反向输出端Q^相连。 输出数据时, 写锁存器 端发出脉冲,将 内部总线 上的数据写入输出锁存器,由Q^端控制V2,从而在引脚上反应出相应的状态。此种应用时P0端口各引脚应外接上拉电阻。 输入数据时,分为读引脚和读端口两种方式。读端口的位置就是上图中的 读锁存器 ,而读引脚
[单片机]
基于C8051F320的数据采集系统USB接口设计
1 引言 随着现代工业生产和科学研究对数据采集系统的要求日益提高,传输速度、纠错能力和操作安装的简易性是人们进行采集数据时一直关注的问题,这使得数据通讯技术不可避免地成为了其中的关键技术,而数据采集系统采用何种接口进行数据通讯是影响系统整体效率的重要因素之一。USB(通用串行总线)总线接口技术由于具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电及使用灵活等优点,已逐渐成为现代数据传输的发展趋势 。 本文给出了一种基于C8051F320的数据采集系统USB 接口设计方案,完成了USB 接口硬件电路设计和软件程序开发,并将其应用到仓库视频监控系统中,实现了快速、方便的数据采集和传输。 2 C8051
[单片机]
EMC8BIT单片机指令应用的误区与技巧
EMC的基本指令语法,其实也就57/58条,如何变化折腾,就看各位的修行造化了。 但是,新手上路总容易进入一些误区,而老鸟们的一些技巧也值得借鉴。 废话少说,言归正传,且看匠人娓娓道来…… 1.减法指令的误区 之一:关于ACC EMC的减法指令有三条,如下: SUB A,R (R-A→A) SUB R,A (R-A→R) SUB A,K (K-A→A) 需要注意的是,不论A的位置在前面还是后面,A都是减数,不是被减数. 也就是說如果我們想計算A-2的值,如果寫成: SUB A,@2 其實是執行2-A 解決方法如下: ADD A,@256-2 或 ADD A,@254 之二:关于CY 一般来说,加/减法都会影响到进位标志
[单片机]
基于C8051F330芯片和MPPT技术实现太阳能路灯智能控制系统的设计
太阳能是一种清洁高效的可再生能源。在阳光充足的白天,屋顶的光伏电池将太阳能转化成电能,供人们在夜晚使用。据专家预测,到2040年,全球的光伏发电量将占世界总发电量的26%,2050年后将成为世界能源的支柱。太阳能路灯以太阳光为能源,不需要铺设复杂的管线,安全节能无污染。白天利用太阳光给蓄电池充电,晚上蓄电池提供能量带动路灯工作。路灯的关/开过程采用光控,采用最大功率跟踪技术,最大程度的吸收太阳能,提高太阳能光电池的效率,以降低路灯系统的成本。最大功点跟踪(Maximum Power PointTracking,MPPT)系统是一种通过调节电气模块的工作状态,使光伏板能够输出更多电能的电气系统。 1 硬件组成 太阳能路灯控制系统
[单片机]