[应用方案] 跑马灯倒计时模拟

[复制链接]
 楼主| 奥德赛 发表于 2016-2-16 21:01 | 显示全部楼层 |阅读模式


实物图

视频
电路图:


注意:这电路图有错,蜂鸣器必须按照如下接入才能响:

程序:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uint unsigned int//宏定义
  4. #define uchar unsigned char
  5. void delay(uint a);//声明延时函数
  6. void main()
  7. {
  8. uint b,c;uchar d,e;
  9. P0=0xfe;
  10. delay(200);
  11. P0=0xff;
  12. delay(200);
  13. P0=0xfe;
  14. delay(200);
  15. P0=0xff;
  16. delay(200);
  17. P0=0xfe;
  18. while(1)
  19. {d=0xfe;e=0xfe;
  20. for(b=8;b>0;b--)
  21. {
  22. for(c=8;c>0;c--)
  23. {
  24. P1=d;//点亮p1口第一个led
  25. delay(100);//延时
  26. d=_crol_(d,1);//右移一位
  27. }
  28. P2=e;
  29. e=_crol_(e,1);
  30. }
  31.    for(c=8;c>0;c--)
  32. {
  33. P1=d;
  34. delay(100);
  35. d=_crol_(d,1);
  36. }
  37. P3=0xfc;//驱动蜂鸣器,继电器
  38. delay(3000);
  39. P3=0xff;
  40. }
  41. }
  42. void delay(uint a)
  43. {
  44. uint f,g;
  45. for(;a>0;a--)
  46. for(f=200;f>0;f--);
  47. for(g=200;g>0;g--);
  48. }


huangcunxiake 发表于 2016-2-17 08:15 | 显示全部楼层
竟然是手工电路,你也可以用MAX7219这种芯片可以控制64个LED,通过的是SPI接口。
西门扫雪 发表于 2016-2-22 19:40 | 显示全部楼层
用手工焊接的啊,楼主真是够用心的啊,程序写的也不错啊
Thethree 发表于 2016-2-23 22:58 | 显示全部楼层
看着用的像是51单片机啊
Bermanrep 发表于 2016-2-26 09:15 | 显示全部楼层
中间图里面的那个灯跑到哪里去了呢?
wahahaheihei 发表于 2016-2-26 20:27 | 显示全部楼层
楼主一共使用了P1的八个端口,P1.0到P1.7,这也只能用8个LED的跑马灯,不知道如何扩展IO端口。
Bermanrep 发表于 2016-2-26 21:32 | 显示全部楼层
跑马灯的驱动电路是如何设计的啊,用的三极管吗
大苏牙 发表于 2016-2-28 22:53 | 显示全部楼层
初学者必学的跑马灯,也挺好玩的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

397

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

46

主题

397

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部