产品概述

跑马灯单片机 零成本学习之单片机开发之(3)跑马灯原来可以这么玩

小编 2024-11-24 产品概述 23 0

零成本学习之单片机开发之(3)跑马灯原来可以这么玩

从今天开始给大家逐步讲解单片机编程,有兴趣的小伙伴们,可以关注本课程,完全免费。

本人从事从2004年大学毕业开始从事开发工作,先后做过单片机开发、ucOSII开发、手机开发、android APP开发、PHP开发、微信小程序开发,目前从事物联网开发。我本人并非学计算机的,除了学校上课之外,基本上这些开发都是自学的。边学习边工作,基本上以学以致用为目的,用到什么学习什么。

深深体会到自学的艰辛,尤其是最初入门的时候,那道砍迈过去后面再学习基本上就简单多了,所谓触类旁通,举一反三。但是前面打基础的时候是非常费力的,看到很多评论说C语言指针太难了,后来就放弃了。其实那是没有找到好的学习方法,没有人指导。只要有人带一带指点一下,问题很快就能解决。

相比于国外的开源学习氛围,我认为我们做的还远远不够,我们的编程大师还非常少,像ucLinux、ucOSII、FreeRtos等等非常有名的嵌入式操作系统,商业的更不用说了,太多了。我们在软件方面一直都是落后的状态,当然近几年我们自己也有不少好的作品。比如,Huawei LiteOS、Alios Things、djyos、RT-Thread、SylixOS等。一直想为学习单片机的同学做点什么,今年相对来说会轻松一些,利用闲暇时间,给大家分享一些案例、学习方法和心得。本课系列课程主要针对初学者、单片机学习爱好者、学习中遇到困难者,有什么不清楚的地方可以留言讨论。

首先、课程目标

使用一个按键和8个LED指示灯实现跑马灯效果,总共4中显示效果使用按键按下事件切换显示模式

第二、原理图设计

添加8个LED指示灯,也可以利用上节课的原理图直接用右键复制出7个LED元器件添加8个限流电阻,并调整布线,直接上结果。

第三、编码设计

软硬件接口

端口P0 第一个管脚P00z作为按键输入端口端口P2作为LED的输出端口

软件流程

1.串口初始化

2.主循环处入口

检测按键事件 根据按键事件切换显示模式 根据模式更新显示数据 根据显示模式显示显示数据

3.考虑到排版整洁性,只上了主函数代码,其他模块代码见源代码文件

void main(void)

{

initUart();//串口初始化

while(1)//主循环

{

handleKey();//检测按键

checkMode();//根据按键事件切换显示模式

handleMode();//根据显示模式更新显示数据

if(ledmode%2==0)//根据显示模式把数据显示到LED上

displayDriver1(cnt);

else

displayDriver2(cnt);

delay(100); //延时100ms

}

}

最后、知识点总结

1.跑马灯也是IO操作的进一步巩固,只不过加入了时序上的小算法,看起来更具有动态感

2.注意如何通过按键事件切换模式的

3.注意如何模式和更新的数据进行换算的

4.注意显示驱动的技巧

5.本次课程所用的工程文件私信20002,系统自动给出下载链接。

本次课程到此结束,如果有什么疑问欢迎留言。

一个不需要专业知识和单片机就可以轮流交替闪烁的跑马灯设计

接触过单片机的朋友都会对流水灯有了解,那时我们是用单片机来制作的,但是你如果单纯做个流水灯,选择使用单片机来做的话未免有些资源的浪费,今天就教给大家一个不用单片机就可以交替闪烁的跑马灯。

单片机流水灯(图片来源于网络,若侵权请联系删除)

单片机流水灯(图片来源于网络,若侵权请联系删除)

怎么制作的呢?来看一下原理图

流水灯原理图

由这个原理图可以看出我们使用的元件有电阻、电容、LED灯、三极管就这些常用的元件就可以了。

至于能够闪烁的原理呢也不难理解,三极管在电路中充当开关的作用,通上电后最左边的LED由于三极管最先被导通,从而最先被点亮,集电极串联一个电容连接到下一个三极管,当电容充电后把后一个三极管导通,导致后一个LED灯点亮,而由于后一个三极管导通又会引起前一个三极管截止,造成前一个LED熄灭,以次类推循环,这样就形成了这三类LED灯轮流被点亮,通过改变电容的大小还可以改变跑马灯闪烁的时间。

讲完原理后就准备下材料吧,来看下图片

制作材料

找到材料之后接下来就是按照原理图把应该连接的部分进行电气连接,大家在焊接的时候,最好把这些元件焊接到洞洞板上或者说在面包板上进行连接也行,如果单纯进行连接的话,会很乱,故障也难排查,而且容易失败,这几天给大家介绍几个小制作基本上都用到了洞洞板,也把我仅有的几个洞洞板给消耗完了,如果不用洞洞板直接焊接是很乱的,看下焊接图你就知道了

制作图

是不是看起来非常乱,确实是这样,再来看一张以前打印的PCB

PCB跑马灯

打成PCB板的看起来是不是好多了,把它设计成心形就更好看了。

可能有人不理解了为什么原理图中的跑马灯的制作是三个LED灯,而到变成那么多了,其实不管LED灯再多原理都是一样的,那个原理图可以说是单位电路,我们需要多加LED无外乎在原先有LED的地方再多并联几个LED,这样就能做成上图中的心形。

这种制作方法,简单,材料好找又不需要单片机基础,可以说只要你想做就能做出来,还不赶快制作一个。

注:流水灯和跑马灯是指一种东西,所以文章中没有区分,不同的人有不同的叫法!

相关问答

单片机 走马灯是什么灯?

在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的。在并行端口的编程学习中,“跑马灯”是单片机并行端口输出控制的典型实例...

单片机 中的流水灯,花样灯, 跑马灯 ?

没什么实质的区别只是各人说法不一样,像流水灯程序也有人叫跑马灯,说个简单的例子,比方说一个亮点不断的左循环就叫流水灯。从中间亮两个点,从左右两边流动就...

24个 跑马灯 c程序怎么写,要求4个同时亮灯跑动?

/*跑马灯*/#include/*单片机上P0P1P2端口按次序接led*/voiddelay(unsignedinttime){while(time--);}voidmai...

帮个忙同志们!谁能告诉我!!51 单片机 最小系统( 跑马灯 )不工作?...

[回答]今年刚跟品阔信息合作,朋友公司和他们合作好几年了,各方面都挺满意给我推荐的。没找到主函数~~数组里面写的是你想让跑马灯的跑法~~叮叮开课专业...

烦大神们!咨询一下 51 单片机 最小系统( 跑马灯 )不工作?,视频...

[回答]下载部分要接串口通信电路。直接接max232就可以了10年经验开发技术团队-支从事软件开发10余年、反应迅速、讲求团队合作的技术团队,奠定了开发实力...

跑马灯 只亮一半什么问题?

原因3...可能原因1:切换两个灯之间的时间间隔太短;可能原因2:程序是个单次系统,没有循环语句;可能原因3:就是LZ编程输出,全部亮的。另外可以查看硬件...

51 单片机 最小系统( 跑马灯 )不工作?,视频 跑马灯 系统哪家质量...

[回答]微信直播云课堂.叮叮开课微信生态优势:随时随地在微信内管理网校,绑定微信公众号,朋友圈便捷分享、自发社群传播、多重裂变营销自主研发的多个软件...

C语言学到什么程度才能学 单片机 ?

作为一个单片机爱好者,由于教学工作需要我现在仍然在学习接触单片机。现在我来回答这个问题,单片机作为可编程控制芯片需要软件支撑才能进行控制,进行软件编程...

电影里的定时炸弹是怎么做出来的?

一般都是单片机做成跑马灯的,用模拟电路实现倒计时,然后再来一些红色和蓝色的线子。其实不管剪哪条都会停止的一般都是单片机做成跑马灯的,用模拟电路实现倒...

mega128 单片机 ,编写定时器中断程序里switch函数什么意思,怎么用的啊?

应该是PORTA的低4位,循环输出0比如num=2时,PORTA=PORTA&FE,第1个I/O口(PA0)将输出0,其他口保留原状num=3时,PORTA的第2个I/O口(PA1)将输...

猜你喜欢