标题: 单片机汇编语言五 闪烁固定次数 使用跳转指令实现分支和循环 DJNZ等 [打印本页]

作者: cangyuan    时间: 2021-7-21 19:18
标题: 单片机汇编语言五 闪烁固定次数 使用跳转指令实现分支和循环 DJNZ等
本实验为LED1闪烁固定次数后LED2亮。目的是为了1、掌握使用跳转指令实现分支和循环。
1、条件转移指令(8条)


JC是判断C进位标志是否为1,为1则跳转到指定位置。JC指令判断有借位则转移,也就是说两数相减为负转移。JBC指令判断该位为1则转移,同时将该位置0。
条件转移指令只能转移到离本指令-128~+127字节范围内,是一种相对转移形式,当要往较远单元地址条件转移时,可以在本指令-128~+127字节范围内安排一条无条件转移指令作为中转指令即可。在使用简单条件跳转指令时,必须明确相应标志位的变化


仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. ORG 0000H
  2.         LJMP MAIN
  3.         
  4.         ORG 0100H
  5.                 MAIN:
  6.                 MOV P0,#0FFH
  7.                 MOV A,P3
  8.                 CJNE A,#30H,LOOP
  9.                 SJMP Hold
  10.                 LOOP:JC Heat
  11.                 SJMP Cool
  12.                
  13.                 Cool:CLR P0.0
  14.                 LCALL DELAY
  15.                 LJMP MAIN
  16.                
  17.                 Heat:CLR P0.1
  18.                 LCALL DELAY
  19.                 LJMP MAIN
  20.                
  21.                 Hold:CLR P0.2
  22.                 LCALL DELAY
  23.                 LJMP MAIN
  24.                
  25.                 DELAY:
  26.                 MOV R2,#255
  27.                 D1:MOV R3,#250
  28.                 D2:DJNZ R3,D2
  29.                 DJNZ R2,D1
  30.                 RET
  31.                 END
复制代码

仿真代码51hei附件下载:
实验五工程.7z (56.5 KB, 下载次数: 3)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1