标题:
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仿真工程文件可到本帖附件中下载)
0.jpg
(60.93 KB, 下载次数: 83)
下载附件
2018-11-19 18:36 上传
0.png
(13.77 KB, 下载次数: 55)
下载附件
2018-11-19 18:36 上传
单片机源程序如下:
/* 名称:从左到右的流水灯
说明:接在P0口的8个LED 从左到右循环依次点亮,
产生走 马灯效果 */
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void Delayms(uint x)
{
uchar i,j;
for(i=x;i>0;i--)
for(j=115;j>0;j--);
}
void main()
{
P0=0XFE;
while(1)
{
P0=_crol_(P0,1);
Delayms(1500);
}
}
复制代码
所有资料51hei提供下载:
跑马灯LED.zip
(133.5 KB, 下载次数: 165)
2018-11-18 20:06 上传
点击文件名下载附件
下载积分: 黑币 -5
单片机作业.pdf
(257.05 KB, 下载次数: 66)
2018-11-18 20:06 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
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