发布: 2009-4-25 08:35 | 作者: hnrain | 查看: 300次
/*功能描述:1.P1口所有LED间隔1000ms闪烁
;|M1Oe]:?/PI&v46750 2.P1口所有LED呈交替流水状电子园51单片机学习网;M6G f R"\ W|!bS
3.P1口流水灯-左移,循环3次
B C'|"vH.\E7A@46750 4.P1口流水灯-右移,循环3次电子园51单片机学习网|-E#[$z6ic-mkr
5.P1口由两边向中间流水,循环3次
])?&vG/]{0p46750 6.P1口由中间向两边流水,循环3次*/电子园51单片机学习网eJ~z3dMoBI
电子园51单片机学习网}R:x{#m6bg
#i nclude"reg51.h" 电子园51单片机学习网;?f4Uc6J i
#i nclude <intrins.h>
D:E+];{bq$z46750#define uchar unsigned char电子园51单片机学习网6rwM1j2a*`5^
#define uint unsigned int电子园51单片机学习网:m6y4Y:m5C;J
void delay(uint);
#L8i+NgE}C46750void main()
x3tWeg|F'A46750{电子园51单片机学习网a7q:` Yyw
while(1)
'C6yL)Eeg A,t46750 {
|A*fD%BL'B NQ46750 uchar i,j,k;
/G4\hc/k sw Mh46750 for(i=3;i>0;i--) 电子园51单片机学习网+p)z(e;LD9f
{电子园51单片机学习网'E5v%Gf~
P1=0x00; //点亮P1口所有LED,延时1000ms
@O7k6G$cE46750 delay(1000);
y1`]6xR2W B5u46750 P1=0xff; //熄灭P1口所有LED,延时1000ms电子园51单片机学习网PsE;Oewz4P&yx0a
delay(1000);
6P8gIvkd46750 }电子园51单片机学习网RQ lR*{yd
for(i=3;i>0;i--) //奇偶交替成流水灯状态电子园51单片机学习网|9Z"p3p9IN
{电子园51单片机学习网LB8lzQ;u&b
P1=0x55; 电子园51单片机学习网rG(t*w ^']F6P9o
delay(1000);电子园51单片机学习网L~Ib"W
P1=0xaa;
h Y1}~ p-JX46750 delay(1000);
dY l]9`9h#Q46750 } 电子园51单片机学习网 \8T7v8J*X-S.cm!t(jwm
P1=0xff;
dLJa-c*x~:F46750 delay(300);
g0T I&sl[hI46750 for(i=3;i>0;i--) //P1口单灯左移流水,循环3次电子园51单片机学习网k Ih!{ \ OC#z
{
7^ v\$^#Qs0H%cB.^46750 k=0xfe;
-F.B~:X%O,?J MF46750 for(j=0;j<8;j++)
`.O.BNY X:Zs46750 {电子园51单片机学习网 u8D6hW My-L#M
P1=k;
0B9SN$kh/KR'V46750 delay(200);
)TWK#f~-TuK,J46750 k=_crol_(k,1);电子园51单片机学习网 Uq @-y@a[
}电子园51单片机学习网7L+Z5Q+^(U"l L P
}电子园51单片机学习网"|6|X4_:?
P1=0xff;电子园51单片机学习网 T;]iY3L[g
delay(300);电子园51单片机学习网 GV a,P7Y]
for(i=3;i>0;i--) //P1口单灯右移流水,循环3次电子园51单片机学习网;K["d L(o|%x9|
{电子园51单片机学习网(_6uZ6_QM7ti7I
k=0xfe;电子园51单片机学习网&y)e/_K$G8G_
for(j=0;j<8;j++)
5\ [8IoVZ8Q kh/R46750 {
$J;y+tAj2mq46750 P1=k; 电子园51单片机学习网Of~2Gb
delay(300);
t o D-e q(thq46750 k=_cror_(k,1);电子园51单片机学习网"j^)u(k_2x2]4s
}电子园51单片机学习网 ]Ye`7o4@2s
}电子园51单片机学习网'B I)V-@.lU W
P1=0xff;电子园51单片机学习网},wp3y[8n5\
delay(300);
2z:V MXJEhd46750 for(j=0;j<3;j++) //P1口由两边向中间流水,循环3次电子园51单片机学习网"uqN.gY%wu8Y
{
J}^:[,@8vGO [46750 P1=0x7e;
U y'Z6X4}S7~` j4s46750 delay(300);
r w!_T?8h46750 P1=0xbd;电子园51单片机学习网 ~5DU D+_2dL
delay(300);电子园51单片机学习网N\V J2w8s;_b'e+K9x R
P1=0xdb; 电子园51单片机学习网B~T)C$^O+Nl
delay(300);
$Q/j]ArC:[CC;{46750 P1=0xe7;
TW(O9vBa46750 delay(300);
8e"UUg5Nf0{46750 }
#VL5D5n9t46750 P1=0xff;电子园51单片机学习网_,nY4d2b1sg
delay(300);电子园51单片机学习网7^;xf_9? ]2U;hz
for(j=0;j<3;j++) //P1口由中间向两边流水,循环3次
kW(mG&bH-D46750 {
X3m1~#t9O"NW46750 P1=0xe7; 电子园51单片机学习网M9F:DaN+qJ1vRgje
delay(300);
XrJ$Qs]e@46750 P1=0xdb;电子园51单片机学习网)CZ.t+Wnba
delay(300);电子园51单片机学习网 h ZfQi,}xJAB1gp
P1=0xbd;
)m M_]!Q;Efm46750 delay(300);
1u/F2g.k nj'b6|LVV46750 P1=0x7e;电子园51单片机学习网-m*`Q&_ Rg^
delay(300);
G'[}kTXFs9bZk46750 }电子园51单片机学习网(Nw)^$q4p0H-u
P1=0xff;
-jZ/Xv4l6kP9XA46750 delay(300);
I XG~y8o46750 k=0xfe; //赋初值
U+^(f] rh46750 for(j=0;j<8;j++)
I"_ V&S!i%y.Z&_46750 {电子园51单片机学习网,x*VOG!jm
for(i=0;i<8-j;i++) //左移电子园51单片机学习网+|)d Q/S7kn
{
:g"XO+aJ E|46750 P1=k; //点亮小灯
@fFu!`r!~0r46750 delay(200); //延时200毫秒
@#`M%Ao#hJ'C46750 k=_crol_(k,1); //将a变量循环左移一位
v2@;g Z!a1|^x46750 }
^Pv5p b46750 k=_crol_(k,j); //补齐,方便下面的左移一位
#~ zN6KQ46750 P1=0xff; //全部关闭
\$kvGvd/}x'G46750 k=k<<1; //左移一位让多一个灯点亮
R)]M `| N?+w;xH46750 }
_ X5}E,_9Iz1g(M46750 }
Z@*\ C4_c46750} d/FOaZo46750void delay(uint xms) //延时函数电子园51单片机学习网P5rkd7NW\
{
4I#h ds#{*gU4Ik46750 uint i,j;
7@ q"yX2Z-[:d46750 for(i=xms;i>0;i--) //外层for中变量为多少,就延时约多少ms电子园51单片机学习网?+w h#H i]
for(j=110;j>0;j--); //当内层for语句中变量恒定值为110时电子园51单片机学习网,J#l+[5o7\t@^
}电子园51单片机学习网Q$O.YU#I
文章评论(0条评论)
登录后参与讨论