首页 理论教育条件转移指令及其使用方法

条件转移指令及其使用方法

【摘要】:条件转移指令是对程序转移设置转移条件。执行条件转移指令时,若满足指令中规定的条件则程序转移,若不满足指令中规定的转移条件则程序按地址顺序逐条执行。不同的是所用数值比较条件转移指令不同,密码也可以不同。程序中用了“JNB Pm.n,REL”某口输入位状态判0条件控制转移指令。以累加位C的状态为条件的转移指令共有2条。

条件转移指令是对程序转移设置转移条件。执行条件转移指令时,若满足指令中规定的条件则程序转移,若不满足指令中规定的转移条件则程序按地址顺序逐条执行。

1.数值比较转移指令

数值比较转移指令是自动地将两个数值进行比较,比较的结果作为转移的条件控制程序是否转移。

【例3-24】 密码识别源程序(一)

密码识别程序的功能是:人工从P2口8位中输入1位“0”与内设密码#0F7H比较。内设密码可以任意设置。

本款单片机的小键盘中的“+1”键,“-1”键、高一位操作键、地址键和写入键一端分别接在P2口的P2.0、P2.1、P2.2、P2.3、P2.4上,另一端接地。当按下某一键时就将该位接地,相当于零状态。

操作时可任意将其中一键或多键按下(置0),作为P2口的输入数据。每次复位后可以重新输入。

实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。从P2口输入的密码与密码比较,若相等P1口灯全部亮,若不相等则复位从新输入。

程序点评:程序中使用了数值比较转移指令CJNE,密码#0F7H=11110111B。

(1)指令学习

数值比较转移指令在MCS51系列单片机指令系统中共有4条,即

(2)编程练习

实验机小键盘中的“+1”键、“-1”键、高一位操作键、地址键和写入键一端分别接在P2口的P2.0、P2.1、P2.2、P2.3、P2.4上,另一端接地。当按下某一键时就将该位接地,相当于零状态。

操作时可任意将其中一键或多键同时按下(置0),作为P2口的输入数据。每次复位后可以重新输入。

P2口输入的数据是1个字节,即8位二进制数。

【例3-25】 密码识别源程序(一)

【例3-26】 密码识别源程序(二)

【例3-27】 密码识别源程序(三)

例3-25~例3-27和例3-24的程序功能相同,都是密码识别源程序。不同的是所用数值比较条件转移指令不同,密码也可以不同。

实验机的小键盘中的“+1”键,“-1”键、高一位操作键、地址键和写入键一端分别接在P2口的P2.0、P2.1、P2.2、P2.3、P2.4上,另一端接地。当按下某一键时就将该位接地,相当于零状态。

操作时可任意将其中一键或多键同时按下(置0),作为P2口的输入数据。每次复位后可以重新输入。

实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。从P2口输入的密码与密码比较,若相等P1口灯全部亮,不相等则复位重新输入。

程序点评:例中使用了不同的数值比较转移指令。(www.chuimin.cn)

2.位控制转移指令

位控制转移指令是以位的状态作为程序是否转移的条件。

【例3-28】 P2端口状态查询,某口输入位状态判0条件控制转移指令源程序

实验机的小键盘中的“+1”键、“-1”键、高一位操作键、地址键和写入键一端分别接在P2口的P2.0、P2.1、P2.2、P2.3、P2.4上,另一端接地。当按下某一键时就将该位接地,相当于零状态。

操作时可任意将其中一键或多键同时按下(置0),作为P2口的输入数据。每次复位后可以重新输入。

实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。按下P2.0位对应的“+1”键或按下P2.1位对应的“-1”键时,P1口对应的P1.0或P1.1灯亮。

程序点评:程序中标号“X0,X1”的程序段功能是防止按键产生的抖动。程序中用了“JNB Pm.n,REL”某口输入位状态判0条件控制转移指令。

(1)指令学习

在MCS51系列单片机指令系统中,以I/O接口位状态为条件的转移指令共有2条,以寻址位状态为条件的转移指令共有3条。以累加位C的状态为条件的转移指令共有2条。以累加器A的状态为条件的转移指令共有2条。具体如下:

(2)编程练习

实验机I/O接口的状态均为1。应用判1转移指令时先要将判断口置0,但由于P2.7外接蜂鸣器要维持原状态(置1),其余均可以置0状态。

【例3-29】 P2端口状态查询,某口输入位状态判1条件控制转移指令源程序

实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。用跨线一端接P2.0位或P2.1位,另一端接电源正极时,P1口对应的P1.0或P1.1灯亮。

程序点评:程序中用了“JNB Pm.n,REL”某口输入位状态判1条件控制转移指令。程序中标号“X0,X1”的程序段功能是防止按键产生的抖动。

在MSC51系列单片机有11个专业寄存器可以进行位寻址,其中P2口各位所对应的位地址如下:

【例3-30】 寻址位状态查询判0条件控制转移指令源程序

【例3-31】 寻址位状态查询判1条件控制转移指令源程序

【例3-32】 累加位C判0转移指令

【例3-33】 累加位C判1转移指令

实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。例3-30和例3-32在按下P2.0位对应的“+1”键或按下P2.0位对应的“-1”键时,P1口对应的P1.0或P1.1灯亮。例3-31和例3-32用跨线一端点接P2.0位或P2.1位,另一端点接电源正极时P1口对应的P1.0或P1.1灯亮。

程序点评:上述四例中使用了四种不同的指令完成,但程序运行效果相同。