×
嵌入式 > 技术百科 > 详情

玩转单片机,没有谁是菜鸟

发布时间:2020-06-15 发布时间:
|
最近一直没有更新博文,今天有时间去看了看,访问人数没有变化。此时才明白一件事,玩单片机没有谁会是菜鸟,只要你努力、只要你不放弃,总有一天你会成为老鸟。
最近一直在玩单片机,自己焊最小系统,自己焊流水灯,自己焊数码管,自己焊键盘。总之,就是为自己焊个51学习板,以后做小项目测试用。可能很多人会笑我,浪费时间又浪费钱。确实自己焊个学习板不比买的便宜,反而会花很多钱,最花钱的就是编程器。说到这肯定又有人笑了,孩子编程器没必要买的,STC单片机自带ISP在线可编程功能,确实能节省几百块呢。但是我用的是笔记本电脑,没有串口,只有USB。如果是为了省钱,买个USB转串口线自己搭接个ISP在线可编程电路,给STC单片机下载程序是完全可以的。也确实很省钱。(如果你运气好,你会成功)但是,我的运气不好,搭接的电路不成功,反复查找浪费我很多时间,现在想想真不值得。最总还是不成功,后来在网上百度,有一个工程师的答案是:只有STC公司的USB转串口线,和STC单片机兼容性很好,成功率很高,达到90%以上,其他的USB转串口线和STC单片机兼容性很差,10%左右(数字只是个大概,没必要深究,目的是说明问题)。所以说如果你运气和我一样差,哪肯定会搞死你,让你直接受打击。
上一篇写的是超级流水灯的一些实验,电路很简单,所以只有程序。下来就主要写写控制LED的原理。
1.先说说LED都有哪几种现象:
(1)闪烁   
(2)流动  
(3)花样流水灯
(4)(3)渐亮、渐灭
我所见到的广告牌基本都是这三种现象,如果还有其他现象可能是我孤陋寡闻跟不上时代了,我先就以上现象分析哈,如果谁还有见到更有创意的LED的玩法,恳请你告诉我让我也开阔开阔眼界。
(1)闪烁:最简单的实验,玩单片机必做的第一个实验(控制一个LED,你也可以同时控制多个LED),无非就是  【点亮LED—延时—熄灭LED—延时】如此不断的循环。在这最重要的就是延时问题,延时时间要大于20MS,不然LED可能会常亮,只是亮度比较暗。
(2)流动:LED控制进阶,【点亮1灯—延时—熄灭1灯,点亮2灯—延时—熄灭2灯,点亮3灯—延时—  ...........延时—熄灭7灯,点亮8灯—延时—熄灭8灯,点亮1灯】如此循环,8个LED的循环流动。
(3)花样流水灯:也是流水灯的一种,和流水灯的原理一样,只是每次点亮的LED不同,花样流水灯可能一次点亮好几个LED,这几个LED正好能拼成一个漂亮的图形或文字什么的。。。
流水灯最重要的是控制其流向和编码了,你可能会看到这样一大堆16进制代码,这就是花样流水灯的编码,也就是花样流水灯的想象所在.。
uchar code LED_P1[]=
{
0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,
0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,
0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,
0x0f,0xf0,0xff};
(4)渐亮、渐暗:这个可能是控制LED最难的吧!其实还是时间的控制,只是控制一个周期的时间小于20MS让人的眼睑看不到他闪烁就OK。
渐亮:1.假如周期为20MS,意思是在20MS内完成从不亮逐渐到最亮。
2.其次就是将20MS分成多少个等级,分的越多,效果越明显。如果分为8个等级,那么就有8种亮度,在20MS内完成8种亮度的显示,即每种亮度显示2.5MS。由于人的眼睛只能分辨20MS以上,20MS以内无论如何闪烁,人看到的都是亮着的,只是亮度的问题。所以在20MS内8种亮度变化,人的眼睑只能看到亮度的强弱而已,如果按照从弱到最强的顺序显示,哪么看到的就是LED渐亮的效果了。
3.亮度被分成8个等级,8个等级的亮度均不同。每个等级2.5MS,在2.5MS中,如何让灯呈现出不同的亮度呢? (因为人的眼睛只能分辨20MS以上,2.5MS是小于20MS的,所以你可以让LED亮0.5MS,灭2MS,则LED是一个亮度等级;亮1MS,灭1.5MS则LED又是一个亮度等级)
4.总结:20MS 分成8个等级,每个等级对应一个亮度(一个亮度等级2.5MS,控制2.5MS中LED的高低电平时间,则可以确这个亮度等级的亮度),8个亮度等级对应不同的亮度。将8个亮度等级按强弱顺序排序,则就是我们所要的渐亮或渐灭等要求。
渐暗:原理同渐亮一样,只是亮度的强弱顺序不同而已。
以上是我个人控制LED的一些见解,本人只是个单片机初学者,也就是群里朋友说的菜鸟,可能上面写的东西有很多问题,发这些东西只是希望能得到老鸟的指点,希望能给和我一样菜的菜鸟一些帮助。最近又在捣弄数码管,也不知道我的这些原理问题有多少,或是我孤陋寡闻有很多控制方法,现象我不知道的。总之,希望得到大家的指点,先在这谢谢了。
本文只讲原理,具体程序上篇《玩转单片机,你我都是菜鸟3》已经详细写出。虚心接受老鸟和高手们的指点。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
物联传感与Atmel强强联手 达成智能家居战略合作协议