心形16个LED灯的编程代码(心形灯单片机程序)

http://www.itjxue.com  2023-03-17 07:54  来源:未知  点击次数: 

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

(责任编辑:IT教学网)

更多

推荐测评专题文章