|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机的流水灯 自中间至两边 自两边至中间1 f- @( s! V- o: t9 b
( L$ r) X4 X9 H. b" P: V: Y# X
+ N' d% o5 Z, V4 V: S& b9 H
做的流水灯,分享一下9 R% V" `# _0 w' n
#include <reg52.h>: w' ~7 P2 ` k3 B6 I" o( r% O, O
#define uchar unsigned char
+ }+ d8 y) d- x1 F5 G5 g5 Z5 U) j3 R* h#define uint unsigned int, [! g8 f; c4 o* w
char tab1[]={0xFF,0xE7,0xDB,0xBD,0x7E};//自中间至两边) c4 J& T$ s/ D
char tab2[]={0x7E,0xBD,0xDB,0xE7,0xFF};//自两边至中间
% l+ F3 D0 R4 ?3 h, u7 Tuchar i;( \0 X" G$ f3 a
sbit S1 = P1^0;7 h7 i4 L" }) y3 F
sbit S2 = P1^1;
. @* ^6 p3 b3 u- rvoid DelayMS(uint x)
2 {, E2 O# B D/ u* q{
6 ~6 Q! I$ w8 }, k/ q8 m/ ^9 }% @ uchar i; {/ o( Y9 F5 C3 {7 x$ R
while(x--)
5 f( [4 V+ f3 _& k' r( f {
. {4 }" K$ p! j: V7 g; e' N w for(i=120;i>0;i--);: s' O4 C& c# l- ]* j/ z" S
}3 I& C3 B/ X4 k$ m$ r; j
}! G: w, [8 @7 `6 K8 k- d
void main()5 |% U0 [5 r: \. n/ l2 \- _
{1 t, }" ~- L$ \9 H$ t
uchar a;
8 q, ]& U% ?) t; L7 a5 }" V while(1)
2 z, X8 |- {& n: H* _4 j( g {
1 m+ o. K5 B# v- n' v& L1 q t if(S1==0&&S2==0). v4 v8 g: ~% p" v, w6 f
{
" r/ P" [, s+ V P0=0xfe;a=P0;DelayMS(400);# `0 F% g; u/ K5 q
for(i=8;i>0;i--){a=a<<1;a|=0x01 0=a;DelayMS(400);}
; W+ ~8 b* K, Y- y# d3 V- u/ X }
( p, f) Y7 c: V3 s" y K else if(S1==1&&S2==1)
" w d0 P1 _2 Y {! |- b& D! V, V$ k5 Z- d$ r
P0=0x7f;a=P0;DelayMS(400);
% v: r7 k$ v+ v3 G. c2 n: | for(i=8;i>0;i--){a=a>>1;a|=0x80 0=a;DelayMS(400);}7 [/ l1 @! x3 A7 F# ]
}8 y: `6 q. s/ G! y
else if(S1==0&&S2==1)
& E( l. d7 S5 ]# }; s' m' s8 a4 P { 4 c: F4 P& A0 h) S, w, `
for(i=0;i<5;i++){P0=tab1;DelayMS(400);}
! z2 Y; ~0 v/ s1 V W1 t } # R+ f. g( B: q, n
else if(S1==1&&S2==0)
8 K7 |- _2 w8 q) w8 ^ {
g5 W) L1 J1 [' E# p for(i=0;i<5;i++){P0=tab2;DelayMS(400);}$ e0 }' p5 l {% x" d6 d
} 6 S4 {7 [) N$ ]6 S' i( I
}
4 i8 Y0 a D+ [}
- ?3 h, b. L- M5 C
b% L9 A: O; a* N" r$ ~' D A下载:" b* R- k1 B4 A9 V, H: c) F7 z
& L/ i. Z3 y; t5 b3 ^# m
& L$ ^% r/ ~$ [4 d3 ` |
|