首页 > 应用 > 单片机应用
[导读] 条件转移指令是指在满足一定条件时进行相对转移。

 条件转移指令是指在满足一定条件时进行相对转移。

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

(1)比较转移指令
CJNEA,#data,rel
CJNE A,direct,rel
CJNE Rn,#data,rel
CJNE @Ri,#data,rel
第一条指令的功能是将A中的值和立即数data比较,如果两者相等,就次序执行(执行本指令的下一条指令),如果不相等,就转移,同样地,我们能将rel理解成标号,即:CJNE A,#data,标号。这样利用这条指令,我们就能判断两数是否相等,这在很多场合是非常有用的。但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能,如果两数不相等,则CPU还会反映出哪个数大,哪个数小,这是用CY(进位位)来实现的。如果前面的数(A中的)大,则CY=0,不然CY=1,因此在程序转移后再次利用CY就可判断出A中的数比data大还是小了。
(2)举例:
MOV A,R0
CJNE A,#10H,L1
MOV R1,#0FFH
AJMP L3
L1: JC L2
MOV R1,#0AAH
AJMP L3
L2: MOV R1,#0FFH
L3: SJMP L3

上面的程序中有一条单片机指令我们还没学过,即JC,这条指令的原型是JC rel,作用和上面的JZ类似,但是它是判CY是0,还是1进行转移,如果CY=1,则转移到JC后面的标号处执行,如果CY=0则次序执行(执行它的下面一条指令)。
分析一下上面的程序,如果(A)=10H,则次序执行,即R1=0。如果(A)不等于10H,则转到L1处继续执行,在L1处,再次进行判断,如果(A)>10H,则CY=1,将次序执行,即执行MOV R1,#0AAH指令,而如果(A)<10H,则将转移到L2处指行,即执行MOV R1,#0FFH指令。因此最终结果是:本程序执行前,如果(R0)=10H,则(R1)=00H,如果(R0)>10H,则(R1)=0AAH,如果(R0)<10H,则(R1)=0FFH。
弄懂了这条指令,其它的几条就类似了,第二条是把A当中的值和直接地址中的值比较,第三条则是将直接地址中的值和立即数比较,第四条是将间址寻址得到的数和立即数比较,这里就不详谈了,下面给出几个对应的例程。
CJNE A,10H ;把A中的值和10H中的值比较(注意和上题的区别)
CJNE 10H,#35H ;把10H中的值和35H中的值比较
CJNE @R0,#35H ;把R0中的值作为地址,从此地址中取数并和35H比较

换一批

延伸阅读

[单片机应用] 51单片机学习笔记,操作1602液晶

51单片机学习笔记,操作1602液晶

TX-1C板操作并行模式的1602液晶液晶第1,2脚是gnd和vcc第3脚是对比度调节第4脚是数据/指令选择端RS第5脚是读写选择端R/W,我们这次只写不读,故直接接地第6脚是读写使能EN第7到14脚是数据口,我们接STC89C52RC的P......

关键字:51单片机 1602液晶

[单片机应用] 51单片机P3口的功能,各控制引脚的功能及使用方法介绍

51单片机P3口的功能,各控制引脚的功能及使用方法介绍

P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程......

关键字:51单片机 P3口 使用方法

[单片机应用] 51单片机学习之路 —— 1.0 什么是51单片机

51单片机学习之路 —— 1.0 什么是51单片机

1 单片机 —— 什么是单片机?  单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计......

关键字:51单片机 学习之路

[单片机应用] 51单片机 蜂鸣器

51单片机 蜂鸣器

蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路......

关键字:51单片机 蜂鸣器

[单片机应用] 51单片机串行口通信程序设计例子

51单片机串行口通信程序设计例子

串行口方式0应用编程 8051单片机串行口方式0为移位寄存器方式,外接一个串入并出的移位寄存器,就能扩展一个并行口。例:用8051单片机串行口外接CD4094扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极......

关键字:51单片机 串行口通信

[单片机应用] 51单片机逻辑运算指令表与示例

51单片机逻辑运算指令表与示例

1.逻辑运算指令的一般性说明与、或、异或的逻辑运算指令可以Acc或direct为目标。但是以direct为目标时,另一操作数只能是Acc或立即数。与、或、异或是对位逻辑运算。其他逻辑运算指令只对Acc操作。小循环不影响Cy,大......

关键字:51单片机 逻辑运算 指令表

[单片机应用] 51单片机 按键,键盘检测

51单片机 按键,键盘检测

但凡做和51单片机有关的东西,我们组都会用到按键..... 迷之有缘独立按键的原理很简单,没有按键按下时,全部为高电平,按下时接触地变为地电平,检测是否有低电平来检测按下动作。矩阵键盘稍微复杂一点,分别检测行......

关键字:51单片机 按键 键盘检测

[疯狂史] 工作20年的电子工程师看国内电子行业发展--危机感从何而来?

工作20年的电子工程师看国内电子行业发展--危机感从何而来?

本人作为一个20年的电子工程师,就从电子行业看中国现状。电子控制系统作为系统控制的核心,控制小到家用电器,大到汽车,飞机的运行,是一切工业制品的核心。......

关键字:电子工程师 电子行业 危机感

我 要 评 论

网友评论

芯闻号

技术子站

更多

项目外包

更多

推荐博客