找回密码
 注册
查看: 395|回复: 1
打印 上一主题 下一主题

单片机流水灯

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-3-17 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
#include$ W. x' Y8 H8 J4 k7 D
#include            * E, Y( f* |+ F6 F
void delay(void)               $ `& Y* s$ R; n( w' f& l* l
         {
+ s0 N3 ]( u) L: x! r( [           unsigned int i,j,k;  % H: I- d: I9 Z; R* g
           for(i=20;i>0;i--)     . }3 D& b" L9 _
           for(j=20;j>0;j--)0 P5 C8 W2 ^8 M3 x: |! O
           for(k=248;k>0;k--);
- I& s6 W* ?5 f' P          }
* ~/ T" p  a  h+ R  void main()  8 [1 G3 G( s. @  R4 B  R2 N, ?% A; |
  {# j  v0 n  ]+ X6 ]
   int temp;
  t5 X# M) h" L4 u+ L  temp=0x01;% O' p0 ^* @: Q; H) P* ?
  while(1)6 |) }8 \0 k+ w7 G
   
$ z( g1 R" v+ Q8 p1 V4 e2 [    {
) ]) h; C* t9 p4 }5 Q2 M7 ~5 ?      
1 U8 o. `* D: P* C: Q+ r8 T   P1=~temp;
( l! T5 [1 w7 R9 M4 D. m   delay();
4 w! D2 }: }$ o( A& P+ e   P1=0xff;
6 q7 L( f7 H* r4 W   temp=temp<<1;: s  Q* Y* v# {8 P1 F2 K0 ?
   if (temp==0x00)
8 [9 |0 e. F( g/ b. d  temp=0x01;
( a' X. L4 T% f+ Z  M4 I; {     }
0 Y! \) r. Y6 F5 @9 i; {- `  
' K" e9 ^1 K. ]9 L  }. {2 o' {/ h$ y8 p
想要用单片机左位移指令实现流水灯,程序正确,调试也显示正确,在单片机上运行了一遍也是可以实现,问题在于,当第八个LED熄灭后,要等很长时间后第一个LED才会重新亮起,实在看不出哪里有问题,有大神来看下吗
& h+ P# t/ H* S. P9 m

该用户从未签到

2#
发表于 2023-3-17 17:53 | 只看该作者
temp是整形数,要16位,就是说你要左移16次才能进入下一次点亮,可是你只有8个灯,从第九个灯开始你就啥也看不到了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-26 01:23 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表