|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机的流水灯 自中间至两边 自两边至中间
/ t! A4 J4 U- t" [! Z2 x( n# y& } u- c @
X7 W6 s8 U5 ? j" m' l8 a
做的流水灯,分享一下
/ C; l3 \, S( f" z5 u#include <reg52.h>+ R! T4 ^3 q f' C; _! l5 Y& Y+ L
#define uchar unsigned char. W. O) m" s1 g: J. S
#define uint unsigned int
5 g8 A$ E& ]5 S) w! `' ychar tab1[]={0xFF,0xE7,0xDB,0xBD,0x7E};//自中间至两边: `. m$ e7 }/ j1 d/ ~% I" q
char tab2[]={0x7E,0xBD,0xDB,0xE7,0xFF};//自两边至中间- Z2 D+ P& t( h
uchar i;
0 d, R- O7 E z) Lsbit S1 = P1^0;5 L% m$ q- {! ^7 s: L6 x7 W* _
sbit S2 = P1^1;. q; |5 a& [; H+ ^% G( g
void DelayMS(uint x)* F( r. x7 [( i2 f. l
{
r6 c" L, q# P! I. q. U1 ~; Z2 ^ uchar i;
, B( Q% |4 X' l4 Z7 ~ while(x--)! _$ }" f6 ] v6 {$ b
{
8 H1 c- y- @& m* M( _. {& H for(i=120;i>0;i--);
! N( u( D1 d( k* z. [% j% G; a; e }' k$ q/ ^2 E) N' m2 g* ]
}1 Q2 g* {# o- c& u2 Q1 t+ u5 Q
void main()
( \$ W% n5 U/ \, U2 J# k" c' ^9 R{
- d9 A/ T2 P% P0 x4 o uchar a;
; ^/ A" _( n; C while(1)6 ^+ u$ f) ]3 z5 i5 {" k) C
{
# o. g' L! ^) ]) ^- L& g! H& A if(S1==0&&S2==0)$ ~. J* O- j. ]% M7 Y
{
3 F1 H2 l- v% q3 P) P$ n* h9 ^% F& X P0=0xfe;a=P0;DelayMS(400);
9 A; `6 |, `+ B4 t9 x6 b* F8 L for(i=8;i>0;i--){a=a<<1;a|=0x01 0=a;DelayMS(400);}
1 ^1 K1 X* o! ~0 c- u3 s; \ }
8 k" f2 d7 e s+ x else if(S1==1&&S2==1)
# F( [0 F) t) u$ B1 E7 l' ^6 P {5 f3 G1 @- ?8 \
P0=0x7f;a=P0;DelayMS(400);# T2 v1 G( Q9 D
for(i=8;i>0;i--){a=a>>1;a|=0x80 0=a;DelayMS(400);}. \" R2 o0 S8 R" {3 Q+ B2 `
}
+ P( A3 Z' y4 @6 ?1 w else if(S1==0&&S2==1)4 s2 I* x' J6 O- x4 x' G
{
0 h0 ~: g+ g* h3 T& @8 h for(i=0;i<5;i++){P0=tab1;DelayMS(400);}
# v1 a- Y) i2 K4 y% O& f }
6 ?: B* \% H. N5 T+ ?$ G else if(S1==1&&S2==0)
. p' O2 L) {" u1 _) a. Y5 G { ' H2 g* a& ]1 ^% d& k1 D" u5 h! W: u
for(i=0;i<5;i++){P0=tab2;DelayMS(400);}
. ^9 ]: y7 ]2 A5 D }
+ F( I/ O% x j5 H X }9 z" D" T2 R- }" o
}& R) t- u5 q/ S' n& g6 D+ I3 ~
7 D7 v R5 f" s* T) i5 a5 g! K- i下载:
' D7 F" r/ ?0 _2 g( j
( o: |- e! G* p8 i! l8 ?) L2 ^% `/ u7 z* M, C
|
|