|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include( C; b8 x2 X/ @2 L2 l: B
#include
1 P5 q5 R7 C5 ^3 [7 wvoid delay(void)
* S$ t0 R+ {5 X9 p0 f8 G6 f {* e% u6 H1 k- e4 N; p
unsigned int i,j,k; $ | g" M2 p# \; ~& ?( s0 u
for(i=20;i>0;i--)
$ s, h7 [+ ?$ Q" A' K. l& Z for(j=20;j>0;j--) t& g# Z4 `( w
for(k=248;k>0;k--);3 R: R4 j X" F# u, u
}: \$ n6 Q% d9 y0 K3 O6 V. m
void main()
- A" w+ N) D( N) O) \ { T* ^/ G2 b1 A- t y) ]
int temp;: ^7 u3 y8 u" X9 [) W* w' Q
temp=0x01;
4 Y1 K2 V! C* F5 B8 y3 Q while(1)
& ~ G; V( c! N. G ( G# X. i2 Q0 r' y( ~
{
: T* |/ K- I: k/ e, x t- h . {# z0 X' ^* G, {& {* T, b) Q
P1=~temp;
# K2 p; R- w; B- y1 U" W delay();$ M" G% B" T T1 U$ G P0 q4 J
P1=0xff;+ U5 j1 @6 _, y7 _% E/ z9 }* S) o
temp=temp<<1; U3 O* b" L5 E8 g6 P( A
if (temp==0x00)
. a% }! F z q temp=0x01;
: u+ `- P9 s, ^$ e+ | }' r' X- H& [$ w% h
, H8 \' m) ]! G7 z3 v) r
}
8 u: j R6 ~2 ^想要用单片机左位移指令实现流水灯,程序正确,调试也显示正确,在单片机上运行了一遍也是可以实现,问题在于,当第八个LED熄灭后,要等很长时间后第一个LED才会重新亮起,实在看不出哪里有问题,有大神来看下吗& e: z3 T) n' S+ ?6 u
|
|