|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include! {! t, ~# z/ m
#include 2 f1 t+ g6 a3 a6 p4 b
void delay(void)
% p' ]* r, V, c* E% H% \1 T {
+ N+ ]2 K% Q. E/ m unsigned int i,j,k;
$ g- ~+ t! S; G+ f4 Z1 ^0 J6 D for(i=20;i>0;i--) 5 ]" r) G5 Z" A! h
for(j=20;j>0;j--)
4 _% c( h1 f2 s; r for(k=248;k>0;k--);- l' s' E, u+ P/ J! @: R4 U
}
9 z8 L& h9 A4 Z1 q void main() * i2 b! A1 ?0 Z0 _
{9 n& n& j& k; s0 X0 ~8 s
int temp;- r" n7 H1 V9 j( F/ X0 m
temp=0x01;, {, r& w4 V( S" ^, }1 `2 N. K2 L
while(1)/ _' }( A7 }, T5 c* J. Y" ?, M
& |+ g9 d6 g3 K, P7 I7 Q {
2 X' e; `5 k% c, h
- e7 {; n, J( v; L% Y4 O* \6 p P1=~temp;
( q' H; {/ l- l" T; Q Q# K) ?: O* y delay();
& ~2 ?4 _% S: V6 A/ L" v P1=0xff;
( B. ~, `3 `: ?2 W A temp=temp<<1;
" r, x/ A, |# D& X) d4 W if (temp==0x00)
4 K4 X) F6 b3 y1 G& n8 V temp=0x01;
3 f, n X; \3 {/ B1 Q6 p2 _ }% w2 o5 w! h0 S0 X
\- ~0 o# t9 R/ s6 ^' f; E
}
$ F" _: H: a$ c! Y想要用单片机左位移指令实现流水灯,程序正确,调试也显示正确,在单片机上运行了一遍也是可以实现,问题在于,当第八个LED熄灭后,要等很长时间后第一个LED才会重新亮起,实在看不出哪里有问题,有大神来看下吗
0 R: \. M+ M8 F' o( U7 [* m/ j; H |
|