本实验为LED1闪烁固定次数后LED2亮。目的是为了1、掌握使用跳转指令实现分支和循环。 1、条件转移指令(8条)
JC是判断C进位标志是否为1,为1则跳转到指定位置。JC指令判断有借位则转移,也就是说两数相减为负转移。JBC指令判断该位为1则转移,同时将该位置0。 条件转移指令只能转移到离本指令-128~+127字节范围内,是一种相对转移形式,当要往较远单元地址条件转移时,可以在本指令-128~+127字节范围内安排一条无条件转移指令作为中转指令即可。在使用简单条件跳转指令时,必须明确相应标志位的变化
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 0000H
- LJMP MAIN
-
- ORG 0100H
- MAIN:
- MOV P0,#0FFH
- MOV A,P3
- CJNE A,#30H,LOOP
- SJMP Hold
- LOOP:JC Heat
- SJMP Cool
-
- Cool:CLR P0.0
- LCALL DELAY
- LJMP MAIN
-
- Heat:CLR P0.1
- LCALL DELAY
- LJMP MAIN
-
- Hold:CLR P0.2
- LCALL DELAY
- LJMP MAIN
-
- DELAY:
- MOV R2,#255
- D1:MOV R3,#250
- D2:DJNZ R3,D2
- DJNZ R2,D1
- RET
- END
复制代码
仿真代码51hei附件下载:
实验五工程.7z
(56.5 KB, 下载次数: 3)
|