|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机的流水灯 自中间至两边 自两边至中间
" f& h2 N3 ?( f' H" p, j! }5 y/ s% K' D8 l1 Y
1 ^5 ^+ r% E' x3 D' u/ h9 V! L做的流水灯,分享一下
0 f3 ^, ~! J6 `" |' V#include <reg52.h>
; T3 d; m# m5 u# {0 m* z# s#define uchar unsigned char
; o: w) x$ G4 c#define uint unsigned int
- Y+ e1 a. l5 u; h! B6 t" ?char tab1[]={0xFF,0xE7,0xDB,0xBD,0x7E};//自中间至两边
& K6 S2 [$ E& g6 X2 P. V& Y6 e, Ochar tab2[]={0x7E,0xBD,0xDB,0xE7,0xFF};//自两边至中间( l, y0 J/ _8 v6 H2 @2 m, w
uchar i;" x; j8 b) o( _+ q
sbit S1 = P1^0;. h% T4 o$ Z$ I V+ `# O
sbit S2 = P1^1;( o6 [9 D- u% @
void DelayMS(uint x)- G+ p) A( a, E$ _
{
* j! S: i( D) H/ Q uchar i;
* H4 C' ?* B$ t' e& j( { while(x--)
* C! t* i, k8 x {
% n3 c' W+ h- Q' L6 P. a9 V+ m for(i=120;i>0;i--);6 _: n) f$ u: ?' u
}. a) a: V) k. F
}
- j( L' Q2 }1 {void main()
# j5 g# Z! m" S( ^' {$ L: r& f7 C1 D{. o( \6 H$ m0 j3 M9 c- b# M& B
uchar a;7 u2 C) T0 ^( T; X6 H
while(1)
. K; w* Z' ?" @/ H {. p: R3 r P) f% p% |; F
if(S1==0&&S2==0)
5 P0 N$ `" F" ~6 z {
' C1 C D, N; T% k. i P0=0xfe;a=P0;DelayMS(400);
& @" H% Q8 q ~" d% N% X2 w7 h for(i=8;i>0;i--){a=a<<1;a|=0x01 0=a;DelayMS(400);}0 W J( P' _( b, F9 L; l h. Z
}
8 C+ p8 \1 m* b9 s. c' o0 O else if(S1==1&&S2==1)5 f* j- J& p$ a8 B/ e
{
6 x& P1 _: b `+ o/ r% a" Y( K P0=0x7f;a=P0;DelayMS(400);
/ K! n* l0 I1 P4 O% T6 g for(i=8;i>0;i--){a=a>>1;a|=0x80 0=a;DelayMS(400);}
: j' {; B; p0 ]: G& A1 M; z }
/ m6 f) V( v8 j2 h. @) d else if(S1==0&&S2==1)# c+ f4 T% u% i' m
{
% }# Z5 T! \# n! \) _. D' I for(i=0;i<5;i++){P0=tab1;DelayMS(400);}
* E7 u' f: m4 n/ [* l( T } 3 Y# b# [* H2 f N+ Y6 b% C
else if(S1==1&&S2==0). J* j( r: H" H
{ : o/ V# L) `8 A
for(i=0;i<5;i++){P0=tab2;DelayMS(400);}
) d' G7 s+ v$ A. [8 t! B1 D1 Q } ( W5 R' |, X/ H
}9 |% z3 v7 B) V$ m
}% B, Q' s" T" O
3 c b1 _6 ^0 P; a2 [- g# U( [下载:
4 K. @$ Z- L, e, F2 @- j9 n8 r) e: w" V+ i3 l f) s9 x% x- z
3 U2 q* D: b( F% \1 C. P4 P( F |
|