急需走马灯的程序。

急需走马灯的程序。,第1张

#include

<reg52.h>

void

delay(int

a)

//延迟程序

{

while(a--)

}

main(){

P1=0x01

//P1口初始0000

0001

while(1){

while(P1!=0x80){

//当p1口不是

1000

0000时

P1口左移一位,本来起初是0000

0001,500毫

秒后变成

0000

0010,然后0000

0100,直到变成1000

0000

P1=P1<<1

delay(5000)

}

while(P1!=0x01){

//同理

1000

0000

右移

变成0100

0000,因为P1口接led,高电位时点

P1=P1>>1

delay(5000)

}

}

}

ORG 0000H

MAIN:

MOV A,#0FEH

MOV R2,#8

LP1:左移

MOV P0,A

RL A

LCALL DELAY

DJNZ R2,LP1

MOV R2,#8

LP2:右移

MOV P0,A

RR A

LCALL DELAY

DJNZ R2,LP2

MOV R2,#8

LP3:闪烁右移

MOV P0,A

RR A

LCALL DELAY

MOV P0,#0FFH

LCALL DELAY

DJNZ R2,LP3

MOV R2,#8

LP4:闪烁左移

MOV P0,A

RL A

LCALL DELAY

MOV P0,#0FFH

LCALL DELAY

DJNZ R2,LP4

LJMP MAIN

END


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

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

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存