全站数据
8 4 2 0 5 8 1

单片机汇编语言流水灯程序延时0.5秒,一共四个灯循环

数学教师周 | 简单学习,快乐成才!         
问题更新日期:2024-10-15 12:25:54

问题描述

单片机汇编语言流水灯程序延时0.5秒,一共四个灯循环,麻烦给回复
精选答案
最佳答案

4只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒MOV P1,#10111111B ;最下面第二个的LED点亮LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒MOV P1,#11011111B ;最下面第三个的LED点亮 (以下省略) LCALL DELAY LCALL DELAY ;延时60秒MOV P1,#11101111BLCALL DELAY LCALL DELAY ;延时60秒MOV P1,#11110111BLCALL DELAY LCALL DELAY ;延时60秒MOV P1,#11111011B LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒LCALL DELAY;完成第一次循环点亮,延时约0.25秒AJMP START ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY: ;大约值:2us*256*256*2=260ms,也可以认为为250msPUSH PSW;现场保护指令(有时可以不加)MOV R4,#240 L3: MOV R2 ,#00HL1: MOV R3 ,#00HL2: DJNZ R3 ,L2;最内层循环:(256次)2个周期指令(R3减一,如果比1大,则转向L2)DJNZ R2 ,L1; 中层循环:256次 DJNZ R4 ,L3;外层循环:240次 POP PSW RET END