心形16个LED灯的编程代码(心形灯单片机程序)
51单片机控制,两个74ls164 十六个LED小灯,求跑马灯程序 求汇编程序
试验成功的程序:
? ORG ? 0000H
? MOV ? 30H, #0
? MOV ? 31H, #0
M_LOOP:
? MOV ? R2, #8
DISP1:
? CALL ?DL
? CALL ?SHIFT2
? DJNZ ?R2, DISP1
? MOV ? R2, #8
DISP2:
? CALL ?DL
? CALL ?SHIFT1
? DJNZ ?R2, DISP2
? SJMP ?M_LOOP
;-----------------------
SHIFT1:
? CLR ? C
? MOV ? A, 30H
? RLC ? A
? MOV ? 30H, A
? CLR ? C
? MOV ? A, 31H
? RRC ? A
? MOV ? 31H, A
? RET
;-----------------------
SHIFT2:
? SETB ?C
? MOV ? A, 31H
? RLC ? A
? MOV ? 31H, A
? SETB ?C
? MOV ? A, 30H
? RRC ? A
? MOV ? 30H, A
? RET
;-----------------------
DL:
? CLR ? TI
? MOV ? SBUF, 30H
? JNB ? TI, $
? CLR ? TI
? MOV ? SBUF, 31H
? DJNZ ?R7, $
? DJNZ ?R7, $
? DJNZ ?R6, $ - 4
? RET
;-----------------------
END
电路:
参考:
用单片机制作心形花样流水灯,要程序?请高手帮忙! 主要是要程序?
includereg51.h
#include intrins.h
void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xfe;
P1 = LED;
while(1)
{
delayms(250);
LED = _crol_(LED,1); //循环右移1位,点亮下一个LED
P1 = LED;
}
}
51单片机16个灯的心形流水灯编程
利用51单片机的p0,p1,p2口,分别驱动一个LED灯。然后,首先让它们都输出低电平0x00,再然后,按顺序位移输出高电平。
求帮忙编一个心形流水灯的汇编语言程序。。。就像这样的
像这种需要用到全部4个P口的流水灯,用移位的方法比较好实现。示范一下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV P0,#0FEH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
SETB C
LOOP:
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
MOV A,P2
RLC A
MOV P2,A
MOV A,P3
RLC A
MOV P3,A
LCALL DELAY
SJMP LOO
DELAY:
MOV R2,#100
DLY:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY
RET
END
单片机心形流水灯制作教程
1.建立工程。其中LED.c文件用于存放各个功能的子函数,而delay.c文件则用于存放延时函数,最后主函数直接调用前面的两个文件中的子函数即可。
2.在LED.c源文件中编写功能子函数,分别为turn_on(int i)、turn_...
3.在delay.c源文件中编写延时函数。
4.在main.c文件主函数中调用各个子函数来实现流水灯功能。 END