跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间间隔0.5秒。

跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间间隔0.5秒。 最好加上注释每一步在做什么,急用,好人一生平安!

MAIN: MOV P1, #11111110B ; P1 口 点亮一个发光二极管
ACALL DELAY ; 调用延时子程序
MOV P1, #11111101B ; 从左向右移动 一位
ACALL DELAY
MOV P1, #11111011B
ACALL DELAY
MOV P1, #11110111B
ACALL DELAY
MOV P1, #11101111B
ACALL DELAY
MOV P1, #11011111B
ACALL DELAY
MOV P1, #10111111B
ACALL DELAY
MOV P1, #01111111B
ACALL DELAY
JMP MAIN ; 转移 至 MAIN 循环
DELAY: MOV R5,#250 ; 延时子程序 6.000 M 晶振 约 0.5 秒
D1: MOV R6,#250
D2: DJNZ R6,$
DJNZ R5,D1
RET
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-25
;假设通过P0口置低位控制二极管点亮
MAIN:
CLR C
MAIN1:
RRC A;
MOV P0,A
LCALL wait2
LJMP MAIN1
;延时程序11.0592M的精震
wait2: ;0.5s
mov r5,#0ah
wait22: mov r4,#5ah
mov r3,#09bh
wait21: djnz r3,wait21
djnz r4,wait21
djnz r5,wait22
ret
第2个回答  2012-06-27
这么简单还要问?
第3个回答  2012-06-25
男儿膝下有黄金

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

跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从...
{ 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=~0x08;if(i==4)P1=~0x10;if(i==3)P1...

0.5h=多少min=多少秒
1. 标题:单片机C51用汇编语言写的程序 摘要:该程序功能为控制8只发光二极管依次点亮,从左向右移动,时间间隔为0.5秒。程序中使用了汇编指令对单片机I\/O口进行编程,使得发光二极管形成流水灯效果。程序首次发布时间为2020年4月13日00:00:00。2. 标题:变压器过电流保护设置 摘要:变压器的总容量为77...

0.5h=多少min=多少秒
LJMP START ORG 0030H START: MOV R2,#8 ; 设置左移次数 MOV A,#0FEH ; A的初始值,即P0.0的L0点亮 SETB C LOOP: MOV P0,A LCALL DELAY RLC A ; 左移流水灯(带进位的左移),即亮点向P0口的高位移动 DJNZ R2,LOOP MOV R2,#8 ; 设置右移次数 LOOP1: RRC A ; 右移流水灯 MO...

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

单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部...
define uint unsigned int \/\/延时 void DelayMS(uint x){ uchar i;while(x--){ for(i=0;i<120;i++);} } \/\/主程序 void main(){ uint s;while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); \/\/P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS...

用汇编语言让51单片机八个灯从左到右依次点亮且都不灭,每个灯亮的时
用汇编语言让51单片机八个灯从左到右依次点亮且都不灭,每个灯亮的时间间隔0.5秒,然后全灭,再循环之前的步骤。参考如下:电路 代码 LED_COUNTDATA30H T0_COUNTDATA31H ORG0000HLJMPMAINORG000BHLJMPT0_INTORG0030HMAIN:ANLTMOD,#0F0HORLTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HORLIE,#82HSETBTR0...

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
for(i=0;i<8;i++) \/\/8个流水灯依次全部点亮 { P1=temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x7F;for(i=0;i<8;i++) \/\/8个流水灯依次反向全部点亮 { P1=temp;delay(100); \/\/调用延时函数 temp>>=1;} void delay(uint t) \/\/定义延时函数 { register uint bt;for...

51单片机8个led向左循环依次点亮,按一下开关后往右循环一次后继续向左...
if(num>8)flag=0; } }}main(){TMOD=0x01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;while(1) { if(key==0) { while(key==0); flag=1; num=0; } }}

c语言和汇编的程序八个LED依次左移逐个点亮,点亮后在依次右移逐个点亮不...
汇编语言 LEDEQU 30H ORG 0000H LJMP MAIN ORG 0030H MAIN:CLR EA MOV SP,#5FH MOV LED,#0FEH MOV R0,#7 LOOP:MOV R7,#50 LCALL DELAY MOV A,LED RL A MOV LED,A MOV P3,A DJNZ R0,LOOP MOV R0,#7 LOOP1:MOV R7,#50 LCALL DELAY MOV A,LED RR A MOV LED,A MOV P3,A ...

相似回答