51单片机设计跑马灯的程序用(c语言)编写

51单片机设计跑马灯的程序用(c语言)编写,第1张

|P1口接8个发光二极管共阳

#include <AT89X51.H>段拦桐

unsigned char i

unsigned char temp

unsigned char a,b

void delay(void)

{

unsigned char m,n,s

for(m=20m>0m--)

for(n=20n>0n--)

for(s=248s>0s--)

}

void main(void)

{

while(1)

{

temp=0xfe

P1=temp

delay()

for(i=1i<8i++)

{

a=temp<<i

b=temp>>(8-i)

P1=a|b

delay()

}

for(i=1i<8i++)

{

a=temp>>i

b=temp<<(8-i)

P1=a|b

delay()

}

}

}

扩展资料:

Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须握坦任何编译衡游或汇编。

参考资料来源:百度百科-51单片机

程序1:

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

MOV SP,#5FH

LOOP:

MOV A,P2

MOV B,A

MOV P0,A

MOV P1,#0FFH

LOOP1:

LCALL DELAY

MOV C,P1.7

MOV A,P0

RLC A

MOV P0,A

MOV A,P1

RLC A

MOV P1,A

MOV A,P2

CJNE A,B,LOOP

SJMP LOOP1

DELAY:

MOV R2,#60

DELAY1:

MOV R3,#250

DJNZ R3,$

DJNZ R2,DELAY1

RET

END

程序2:

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

MOV SP,#5FH

JNB P2.0,LOOP1

JNB P2.1,LOOP2

SJMP MAIN

LOOP1:

MOV P0,#0FEH

MOV P1,#0FFH

LOOP11:

MOV C,P1.7

MOV A,P0

RLC A

MOV P0,A

MOV A,P1

RLC A

MOV P1,A

JNB P2.1,LOOP2

SJMP LOOP11

LOOP2:

MOV P0,#0FCH

MOV P1,#0FFH

LOOP21:

MOV C,P1.7

MOV A,P0

RLC A

MOV P0,A

MOV A,P1

RLC A

MOV P1,A

JNB P2.0,LOOP1

SJMP LOOP21

DELAY:

MOV R2,#60

DELAY1:

MOV R3,#250

DJNZ R3,$

DJNZ R2,DELAY1

RET

END


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12500582.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存