各位单片机达人帮个忙 用汇编语言做一个 发光二极管循环点亮的程序 要求 使八只发光二极管做循环点亮一次

然后右循 环点亮一次 这样交替4次 使用p1口作为信号输出口 掩饰时间1s 晶振平率为6mhz 程序首地址为4000h 延时程序可通过定时器中断或指令实现。各位大神帮个忙 thanks
先左循环一次然后再又循环 交替四次

ORG 00H
JMP MAIN
ORG 30H
MAIN: MOV A,#0FFH ;设置左移初值
CLR C ;C=0
MOV R2,#08H ;设置左移次数
LOOP: RLC A ;左移1位
MOV P1,A ;输出到P1
CALL DELAY ;延时
DJNZ R2,LOOP ;左移7次
MOV R2,#07H ;
LOOP1: RRC A ;右移1位
MOV P1,A ;输出到P1
CALL DELAY ;
DJNZ R2,LOOP1 ;右移7次
JMP MAIN
DELAY: MOV R3,#20 ;延时0.2s
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END追问

我去 根本不行

温馨提示:内容为网友见解,仅供参考
第1个回答  2022-09-29

发光二极管循环点亮

八只发光二极管左循环点亮一次、然后右循环点亮一次。

循环。

仿真试验成功。

第2个回答  2012-05-11
;
;
; LED单灯跑动

ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
MOV R0,#9 ;循环九次,8个灯亮及1次灯全灭
START:
MOV P0,A ;输出到P0口连接的 LED灯上
SETB C ;置进位C
RLC A ;带进位左移
CALL DELAY ;延时一段时间
DJNZ R0,START ;反复循环
AJMP MAIN ;重新开始

;延时子程序
DELAY:
MOV R1,#15
D1: MOV R2,#100
D2: MOV R3,#100
DJNZ R3,$
DJNZ R2,D2
DJNZ R1,D1
RET

END
自己改改吧,不会的话,再说。

...用汇编语言做一个 发光二极管循环点亮的程序 要求 使八只发光二极管...
MAIN:MOVA,#0FFH;设置左移初值 CLRC;C=0 MOVR2,#08H;设置左移次数 LOOP:RLCA;左移1位 MOVP1,A;输出到P1 CALLDELAY;延时 DJNZR2,LOOP;左移7次 MOVR2,#07H;LOOP1:RRCA;右移1位 MOVP1,A;输出到P1 CALLDELAY;DJNZR2,LOOP1;右移7次 JMPMAIN DELAY:MOVR3,#20;延时0.2s D1:MOVR4,#2...

跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从...
跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间间隔0.5秒。 最好加上注释每一步在做什么,急用,好人一生平安!萌の残念 | 浏览914 次 |举报 我有更好的答案推荐于2017-12-16 09:42:07 最佳答案 MAIN: MOV P1, #11111110B ; P1 口 点亮一个发光二极管 ACALL DELAY ;...

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
while(1){ P3=0xfe;\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0xef;\/\/第五个灯亮 delay();P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮...

跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从...
} void main(){ unsigned int i;while(1){ for(i=8;i>0;i--){ if(i==8)P1=~0x01;\/\/P1_0所接二极管亮,下面依次是P1_1到P1_7(电路连接时二极管一端连P1_0,一端连电阻再连5v,低电平的时候亮,因此加取反“~”)if(i==7)P1=~0x02;if(i==6)P1=~0x04;if(i==5)P1=...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
本文详细介绍了如何使用C语言在五一单片机上编程,控制P1口实现八个发光二极管的交替点亮。首先,我们定义了一个延时函数delay(),通过两个for循环实现毫秒级的延时。在主函数中,程序初始化P0口为全灭状态,然后进入一个无限循环,每隔一秒,将P0口的特定位设置为1,点亮两个LED,延时1秒后切换到下一个...

请用C语言编写程序:让8只发光二极管第一次亮1只,第二次亮2只,直至8只...
应该是单片机吧 不知道你是要汇编还是要c 还有你那发光二极管是高电平亮还是低电平亮 还有你的输出引脚是哪个I\/O口 假设P0 高电平亮 define LED P0 int i = 0;int j = 0;unsigned char a = 0;char delay = 20;for (i = 0; i < 8; i++){ a = a*2+1;\/\/引脚电平 开始...

单片机汇编程序:有八个小灯,要求依次点亮,时间间隔1s
实验内容:用汇编指令对单片机I\/O口进行编程,控制8个发光二极管的流水亮灭。\/ \/* 程序详细功能介绍:做单一灯的左移右移,八个发光二极管L0-L7分别接在单片机的P0.0-P0.7接口上,输出“0”时,发光二极管亮,开始时P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→┅→P0.0亮,重复...

P1口接有8个发光二极管,要求编程使八个发光二极管从左到右轮流点亮,每...
int i = 8; \/\/循环次数为8 void main(){ P1 = 0xff; \/\/初始化LED,8个LED全灭,(假设低电平点亮)init_t0() ;while(1); \/\/循环等待定时中断 } void init_t0() \/\/定时器0初始化程序 { TMOD = 0x01;TH0 =0x3c; \/\/晶振6MHz,每个机器周期2us,所需计数时间为100ms=1000...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
P0 = 0x00; \/\/P0.0~P0.7分别接八个发光二极管,刚开始全灭 while(1){ delay(1000);P0 = 0xc0;\/\/点亮前两个发光二极管P0.0和P0.1;delay(1000);\/\/延时1秒 P0 = 0x30;\/\/点亮第三个和第四个LED delay(1000);P0 = 0x0c;delay(1000);P0 = 0x03;} } 二、include <reg52.h>...

单片机汇编语言程序,我想写一个循环点亮的LED,然后用外部中断0接到一个...
循环点亮LED灯,也就是流水灯效果的控制,可以用定时器来控制,这样做相对代码量较少而时间比较精确,外部中断0接以按键,可以控制动态效果的启停。程序如下:ORG 0000H LJMP MAIN ORG 0003H LJMP EXT0 ;外部中断0,控制流水灯启停 ORG 000BH LJMP T0ISR ;定时0控制流水灯循环点亮 ORG 0030...

相似回答