77范文网 - 专业文章范例文档资料分享平台

单片机指令系统(8)

来源:网络收集 时间:2019-01-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

且0→CY;

若(Rn)

且1→CY;

若(Rn)=data,则程序顺序执行,

且0→CY。

CJNE @Ri,#data,rel ; (PC)+3→(PC) 1011 011i

data 若((Ri))>data,则(PC)+rel→(PC),

且0→CY;

相对地址(rel) 若((Ri))

且1→CY;

若((Ri))=data,则程序顺序执行,

且0→CY。

这组指令的功能是比较前面两个操作数的大小。如果它们的值不相等则转移。在PC加到下一条指令的起始地址后,通过把指令最后一个字节的有符号的相对偏移量加到PC上,并计算出转向地址。如果第一个操作数(无符号整数)小于第二个操作数(无符号整数)则进位标志CY置位,否则CY清“0”。不影响任何一个操作数的内容。

例3-5.根据A的内容大于80H,等于80H,小于80H三种情况作不同的处理程序:

CJNE A,#80H,NEQ

?

;(A)不等于80H转移

;(A)等于80H处理程序 ;(A)<80H转移

EQ:

NEQ: JC

LOW

;(A)>80H处理程序 ;(A)<80H处理程序

LOW: ?

(3)减1不为0转移指令

汇编指令格式 机器码格式 操 作

36

1101 1rrr 相对地址(rel) DJNZ Rn,rel ;

(PC)+2→(PC),(Rn)-1→(Rn)

若(Rn)≠0,则(PC)←(PC)+rel; 若(Rn)=0,则结束循环,程序向下执行。

1101 0101 DJNZ direct,rel ; (PC)+2→(PC),(direct)-1→(direct)

相对地址 (rel )若(direct)≠0,则(PC)←(PC)+rel; 若(direct)=0,则结束循环,程序向下执行。

这组指令把源操作数减1,结果回送到源操作数中去,如果结果不为0则转移。源操作数有寄存器寻址、直接寻址方式。通常程序员把内部RAM单元用作程序循环计数器。

例3-6.延时程序: START: SETB P1.1

;P1.1←1

DL: MOV 30H,#03H ;(30H)←03H(置初值) DL0: MOV 31H,#0F0H

;(31H)←0F0H(置初值)

DL1: DJNZ 31H,DL1 ;(31H)←(31H)-1,(31H)不为0重复执行

DJNZ 30H,DL0 ;(30H)←(30H)-1,(30H)不为0 转DL0 CPL P1.1 SJMP DL

;P1.1求反

;转DL

这段程序的功能是通过延时,在P1.1输出一个方波,可以用改变30H和31H的初值,来改变延时时间实现改变方波的频率。

4. 空操作指令

汇编指令格式 机器码格式 操 作

NOP ; (PC)+1→(PC),

空操作也是一条单字节指令,它没有使程序转移的功能。通常,NOP指令常用来产生一

37

0000 0000 个机器周期的延时。

3.3.5 位 处 理 指 令

MCS-51单片机内部有一个布尔处理机,它具有一套处理位变量的指令集,包括位变量传送、逻辑运算、控制程序转移等指令。在进行位操作时,进位标志CY作为位累加器。位地址是片内RAM字节地址20H~2FH单元中连续的128个位(位地址00H~7FH)和部分特殊功能寄存器。 1. 数据位传送指令

汇编指令格式 机器码格式 操 作

MOV C,bit

MOV bit,C

这组指令的功能是把由源操作数指出的布尔变量送到目的操作数指定的位中去。其中一个操作数必须为进位标志,另一个可以是任何直接寻址位,不影响其他寄存器和标志。

例如: MOV C,06H

;CY←(20H).6 ;P1.0←CY

1001 0010 位地址( bit )

(C)→(bit)

1010 0010 位地址( bit )

(bit)→(C)

MOV P1.0,C

2. 位变量修改指令

汇编指令格式 机器码格式 操作

CLR C

38

1100 0011 ; 0→(C)

1100 0010 CLR bit

; 位地址(bit)

0→(bit)

1101 0011 SETB C ; 1→(C)

1101 0010 SETB bit ; 位地址(bit) 1→(bit)

CPL C

; 1011 0011

(C)→(C)

CPL bit ; 1011 0010

(bit)→(bit)位地址(bit)

这组指令将操作数指出的位清“0”、取反、置“1”,不影响其他标志。 例如: CLR C

;CY←0 CLR 27H ;(24H).7←0 CPL 08H

;(21H).0←(21H).0

SETB P1.7

;P1.7←1

3. 位变量逻辑运算指令 (1)位变量逻辑与运算指令

汇编指令格式 机器码格式 操作

39

1000 0010 ANL C,bit ; (C)∧(bit)→(C)

1011 0000 ANL C,/bit ; (C)∧(bit)→(C)

这组指令功能是,把位累加器C的内容与直接位地址的内容进行逻辑“与”操作,结果再送回C中。直接寻址位前的斜线“/”表示对该位取反后再参与运算,但不改变直接寻址位原来的内容,不影响别的标志。

例如:设P1这输入口,P3.0作输出线,执行下列指令:

MOV C,P1.0 ;(CY)←(P1.0) ANL C,P1.1 ANL C,/P1.2 MOV P3.0,C

;(CY)←(CY)∧(P1.1) ;(CY)←(CY)∧(P1.2) ;P3.0←CY 位地址(bit) 位地址(bit) 结果:P3.0=(P1.0)∧(P1.1)∧(P1.2)

(2)位变量逻辑或指令

汇编指令格式 机器码格式 操 作

ORL C,bit

ORL C,/bit

40

0111 0010 ; 位地址(bit) (C)∨(bit)→(C)

; 0101 0000 位地址(bit) (C)∨(bit)→(C)

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机指令系统(8)在线全文阅读。

单片机指令系统(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/403679.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: