找回密码
 注册
关于网站域名变更的通知
查看: 423|回复: 1
打印 上一主题 下一主题

单片机流水灯

[复制链接]

该用户从未签到

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

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-10 08:09 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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