最近一直没有更新博文,今天有时间去看了看,访问人数没有变化。此时才明白一件事,玩单片机没有谁会是菜鸟,只要你努力、只要你不放弃,总有一天你会成为老鸟。
最近一直在玩单片机,自己焊最小系统,自己焊流水灯,自己焊数码管,自己焊键盘。总之,就是为自己焊个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》已经详细写出。虚心接受老鸟和高手们的指点。
关键字:单片机 最小系统
引用地址:
玩转单片机,没有谁是菜鸟
推荐阅读最新更新时间:2024-03-16 14:36
【单片机】Keil+Proteus流水灯(模块化编程)
本篇文章: 主要是Keil的模块化编程,同时实现了一个小实验,通过Keil模块化编程来实现流水灯(设计了三种流水方式)。 进入正文: 一、Proteus仿真图 1)在编写代码的时候,我们首先要做的就是绘图,绘制好模型图之后,才可以编写对应的代码。首先,在Proteus创建一个工程(PS:新手请看:Proteus和Keil分别创建单片机工程) 2)根据自己的要求,绘制指定的图形。此次做的是流水灯,请看图: (PS:如果对画图有难度的话,请查看:Proteus画图) 3)绘制好Proteus之后,开始Keil部分。 二、Keil的模块化编程 Keil模块化编程:对代码分开管理,每一部分都是一个完整的代码,需要使用的时候,最
[单片机]
电脑控制单片机,单片机控制继电器
电子世界真的很奇妙。在此献上本人第一个电脑控制单片机里的继电器。让你也感受下电子世界奇妙。 单片机程序: 将此程序借助软件写入单片机内: 单片机 硬件完成后的连线。 在PC端为单片机写入的程序的软件点击上图的1。会出现以上界面。上图的2既是给单片机发送数据的窗口。在输入框输入数据后,点击发送既可以给单片机传输数据。 本程序发送低电平0LED灯等亮,反之高电平1则灭。 我们输送给单片机的数据是以字节划分的。一字节=8个位。每个位控制一个LED灯。在此我们的PO^O口是控制继电器的。P0^0为高电平时继电器通电。接通红黑笔。万能表接通发出声音。
[单片机]
改造成品单片机系统的方法
通过一个监控系统的研制,阐述了对一个不熟悉的微机系统进行改造时应遵循的原则及基本方法,介绍了双端口存贮器IDT7132和看门狗WDT的用法。 关键词:监控系统,单片机,双端口存贮器,WDT 制作微机监控系统时,若受监控对象本身也是一个微机系统,且又没有电路图、程序等资料时,如何采集对象的内部数据(如CPU状态等),如何修改对象的程序方不至令原系统运行不稳定和崩溃,如何充分利用监控对象的资源,是一个带有普遍性的问题。 笔者研制的“数字实验监控系统”,其主要功能是采集30台学生实验机状态和过程信息,送往中心主机显示。监控对象是一台型号为DLES的数字电路实验机,这是某公司的产品,除简单的用法说明书外别无其它
[工业控制]
STC89C52单片机继电器实验
///////////////////////////////////////////////////////////////////////// 实现功能:打开实验板上的蜂鸣,响0.3秒,然后关闭0.3秒,然后依次这样循环, 同时在实验板上继电器旁边的发光二极管也会跟随继电器不停地闪烁 实验板型号:KBL-XYD-C52 实验名称: 继电器实验 编写人: 谢应东 编写日期: 2012-4-25 ///////////////////////////////////////////////////////////////////////// #include reg52.h
[单片机]
恩智浦推出全新S32K微控制器平台,借此加快汽车级软件设计
eeworld网消息,德国纽伦堡,2017年3月14日 (2017年嵌入式系统展会)– 恩智浦半导体(NXP Semiconductors N.V.)(纳斯达克代码:NXPI)今日推出S32K1产品系列,以及配套的卓越汽车级工具和软件套件,该套件具有多项满足未来需求的功能,支持基于ARM Cortex的可扩展MCU系列。在众多汽车应用中,这种结合可以大幅简化开发工作和缩短上市时间。全球15家顶级汽车制造商中已经有10家在新一代汽车中采用了S32K,该平台确立了汽车级ECU开发的未来方向。 一直以来,传统的软件开发方法都依赖于针对汽车级驱动程序的AUTOSAR(汽车开放系统架构),但并非所有应用均需如此。另一种途径是自主
[半导体设计/制造]
如何利用单片机从LCD显示屏上读出所测得电阻值
1 前 言 在 电路 测试过程中常常会碰到由于忽略某些小 电阻 的影响引起实验数据与理论值之间存在较大误差,从而影响测试效果例如电感器变压器中往往存在铜电阻,地铁铁轨的电阻;由于其数值较小,一般的指针万用表无法测量出来;通常实验室里会用电桥进行测量,但电桥操作手续较烦,又不能直接读出被测电阻阻值鉴于此,我们采用了单片机,利用单片机的优势设计了该测量仪该测量仪可直接从LCD显示屏上读出所测得的电阻值,测量范围为10~2.9999k,同时可以把测试的数据进行储存,然后经串行口送入上位机,通过上位机的强大功能,可以对所测得的数据进行分析处理该测试仪的测量精度高达±0.1%,并采用四端测量法,电阻值不受引线长短及接触电阻的影响不仅
[单片机]
PIC单片机驱动LCD模块的设计
偏置电压是通过使用外部梯形电阻网络(电路见下图)而产生。因为梯形电阻网络连接在VDD和Vss之间,所以会有电流通过梯形电阻网络,电流大小与电阻成反比。也就是说,电阻越大,通过梯形电阻网络的电流就越小。如果使用10kΩ电阻,且VDD=5V,则梯形电阻网络将不断消耗166μA的电流。这对于一些使用电池供电的应用来说是很大的电流。 如何最大程度增大电阻,而又不会对显示质量产生负面影响?一些基本的电路分析可以帮助确定梯形网络中电阻增大的程度。 LCD模块实际上就是一个模拟多路开关,它交替地将LCD电压连接到各个段和公共引脚(段电极和公共电极交叉于每一个LCD像素点)。LCD像素可用电容进行模拟。梯形电阻网络中的每个分接点可以用戴维
[单片机]
stc12c2052中文资料_stc12c2052引脚图说明及最小系统
一、STC12系列单片机优点 1.性价比高 采用STC12系列单片机可以省掉复位电路、外部数据存储器(如24Cxx系列芯片),某些场合还可以省掉晶振,电路简单、价格低廉。 2.速度快STC12系列单片机为单时钟/机器周期(1T),一些指令执行速度是传统8051的24倍,最低的也是3倍。 3.安全性好 目前,很难破译STC12系列单片机加密程序,加之用户数据可以保存到单片机内部,解密者很难通过用户数据分析单片机的运行状况。 4.可以直接代替8051针对传统8051单片机开发的程序,可以直接用于STC12系列单片机,无须重新编写。 二、简易编程器原理 图1是STC12系列单片机简易编程器的电路。IC1是编程时插芯片的20脚DIP插座。
[单片机]