标题: 51单片机LED跑马灯程序设计+仿真+实验报告 [打印本页]

作者: 难受啊,马飞    时间: 2018-11-18 20:07
标题: 51单片机LED跑马灯程序设计+仿真+实验报告
LED流水灯现象:LED 流水灯就是一串 LED灯泡依次点亮,起到变换闪烁的效果

LED流水灯工作原理:
LED流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统, 即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。从下图中可以看出,如果要让接在 P1.0 口的 LED1 亮起来,那么只要把 P1.0 口的电平变为低电平就可以了;相反, 如果要接在 P1.0口的 LED1 熄灭,就要把 P1.0口的电平变为高电平;同理,接在 P1.1~P1.7 口的其他 7个 LED 的点亮和熄灭的方法同 LED1.因此,要实现流水灯功能,我们只要将发光二极管 LED1~LED8依次点亮、熄灭,8只 LED 灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. /*  名称:从左到右的流水灯
  2.   说明:接在P0口的8个LED 从左到右循环依次点亮,
  3.   产生走 马灯效果 */

  4. #include<reg51.h>
  5. #include<intrins.h>
  6. #define uchar unsigned char
  7. #define uint unsigned int

  8.         //延时
  9. void Delayms(uint x)
  10. {  
  11.         uchar i,j;
  12.                   
  13.                   for(i=x;i>0;i--)
  14.                           for(j=115;j>0;j--);   
  15.   }

  16. void main()
  17. {
  18.         P0=0XFE;

  19.         while(1)
  20.         {
  21.                 P0=_crol_(P0,1);
  22.                 Delayms(1500);
  23.         }

  24. }
复制代码

所有资料51hei提供下载:
跑马灯LED.zip (133.5 KB, 下载次数: 165)
单片机作业.pdf (257.05 KB, 下载次数: 66)



作者: a1150976118    时间: 2019-10-26 22:55
好东西啊
作者: 该账号已注销    时间: 2019-12-12 09:23
很好,初次学习,很有帮助

作者: 1024289608    时间: 2020-5-10 15:22
感谢分享
作者: Bo980315    时间: 2020-5-10 17:32
感谢分享
作者: zcy1115    时间: 2020-6-5 10:12
谢谢,非常实用




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1