|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机的流水灯 自中间至两边 自两边至中间, b, ]& q" H+ [ q& d
( Y. u. u0 |" A/ }% ]9 ]
" U! ]. u% v! ~6 b) T. S/ R4 X
做的流水灯,分享一下
9 p* Y7 y5 N5 _- Y0 ?; E#include <reg52.h>+ U! g8 I; L m8 `
#define uchar unsigned char2 i8 Q% n! ~! e7 ^$ w. C* `" p4 w
#define uint unsigned int
& q( v; ^% x: m( {' l( t* m+ zchar tab1[]={0xFF,0xE7,0xDB,0xBD,0x7E};//自中间至两边# Z3 s u7 K& I3 o6 ]* v" M( M
char tab2[]={0x7E,0xBD,0xDB,0xE7,0xFF};//自两边至中间4 Q* t' Z% Q5 B
uchar i; ~/ m. R: l7 Z* N" }- ~$ [1 {2 ]# `
sbit S1 = P1^0;
4 _; @3 z7 x3 P1 lsbit S2 = P1^1;! t! l- {% h/ Y
void DelayMS(uint x)
4 V3 i# l. P& q" G! U: d& n{: H. y7 `1 Q& I% G
uchar i;
+ H- k: M3 f3 O4 h: h/ t while(x--)& }; q, { f! t" ?7 w
{1 |5 C) z% U# F# P
for(i=120;i>0;i--);
1 T; m4 r- D) ]4 V p }; n9 D0 b' J; ^ q; G4 X
}% v$ @7 f' t; b- v
void main(): z( z& } Z' l/ U8 O: l" n
{4 N$ \4 R0 ~% V/ t
uchar a;
2 |. v. a5 I. s5 P. l8 v. `* t while(1)! m! K5 L) k6 |; p; _. O
{8 L6 r" R7 C) ^6 E( F5 Q1 W
if(S1==0&&S2==0)
" M2 ?2 Q; P; _ {
' e$ s: ~2 A9 v! \4 T+ B K* B/ l" m( T P0=0xfe;a=P0;DelayMS(400);
6 i! B9 v- _0 I$ y. l7 d for(i=8;i>0;i--){a=a<<1;a|=0x01 0=a;DelayMS(400);}
3 `4 T& z3 w# y I; @5 _! q }/ |- n: g7 ~3 u- @% z
else if(S1==1&&S2==1)
; ]/ ^* b' y& D c( ^, A) B {
& ~& |, C. _( G$ E- s( m P0=0x7f;a=P0;DelayMS(400); ?/ G: ~. U5 d) z
for(i=8;i>0;i--){a=a>>1;a|=0x80 0=a;DelayMS(400);}
# Y. ~1 ^8 S: w* r d6 E6 \ }
. l1 M7 x" P* N# i else if(S1==0&&S2==1)
3 l g# F" z3 M1 P7 | {
5 |# o( \1 {3 c; B* j" {( N* G for(i=0;i<5;i++){P0=tab1;DelayMS(400);}# X: ~% `' A7 |* s
} ' k5 K E" R& D. U' f2 _; w
else if(S1==1&&S2==0)
1 q; p. w! r% {1 Z; G6 i7 Z' F3 N { 0 L' H" l& v ^, d4 H) q
for(i=0;i<5;i++){P0=tab2;DelayMS(400);}
4 d: a6 l2 J; R4 d; w' s } 3 p) w2 f3 q+ c3 r* i. K# y
}
3 q: V5 K" j" s7 e7 C/ Y n}
& C0 h. y/ k0 w8 y+ `$ a% t) p" J$ ]- }/ D S2 I4 _& A4 T
下载:; R; y6 L$ T6 W, n. G# }2 s- C
! K$ h9 A% p6 W9 t1 f- L& R0 n/ ?7 {* Q- [6 \0 t5 r
|
|