登录站点

用户名

密码

流水灯简易程序源代码

已有 176 次阅读  2013-04-16 14:26   标签源代码  程序 
/*功能描述: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

上一篇: stm32应用例程 下一篇: 51单片机控制ISD1420实现选段播放功能的实现(C程序 电路图)

分享 举报