找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2618|回复: 0
收起左侧

单片机汇编语言五 闪烁固定次数 使用跳转指令实现分支和循环 DJNZ等

[复制链接]
ID:808939 发表于 2021-7-21 19:18 | 显示全部楼层 |阅读模式
本实验为LED1闪烁固定次数后LED2亮。目的是为了1、掌握使用跳转指令实现分支和循环。
1、条件转移指令(8条)
条件转移1.png 条件转移2.png

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

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

单片机源程序如下:
  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)

评分

参与人数 1黑币 +40 收起 理由
admin + 40 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表