大体思路如下答搜
a=0x3f //0011 1111
while(1)
{
P1=a
delay_ms(200)
a=a>>1 //每次都右移一位
P1=a
delay_ms(200)
a=a>>1
}
1、单片机AT89C51的P2口接8个发光二极管,让这8个发光二极袭余管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环。参考程序:
ORG 0000H
start: MOV P1,#0H
CALL delay
MOV P1,#0FFH
CALL delay
CALL delay
LJMP start
delay:
MOV R7,#200
d2: MOV R6,#250
d1: DJNZ R6,d1
DJNZ R7,d2
RET
END
200*250次*2*1us=1000ms=1s
2、单片机AT89C51的P1口接8个发光二极管友禅亩,让这8个发光二极管能够双灯左移之后再双灯右移,好森
形成霹雳灯的效果,如此循环5次后全灭,延时0.5S。灯右移,形成霹雳灯的效果,
如此循环5次后全灭。延时0.5S。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)