搜索
bottom↓
回复: 98

给你的51单片机作品加个呼吸灯(程序)

[复制链接]

出110入26汤圆

发表于 2010-1-27 03:46:11 | 显示全部楼层 |阅读模式
看着笔记本待机的时候,电源灯变成忽明忽暗,手就不自在了。

研究了一番,写出了代码,加到自己做的“玩具”上。

可能会觉得这个东西没有什么实在意义,只不过看起来没闪烁那么单调而已。

如果觉得有用,也可以加到自己的作品上,据说某mp3用呼吸频率来表示系统电量得多少,咱觉得还是蛮创意的。

如果你的系统有空余的定时器,或者已经使用了定时器,那不妨试试,唯一就是要占用两个字节的ram,和几十微秒的时间。

unsigned char t1=0,t2=0,c1=1;
bit c=1;


void timer_1() interrupt 3 using 3   //呼吸灯程序
{
    TL1 = 0x3C;    //200us  
    TH1 = 0xFF;
    t1++; t2++;

    if(t1 <= cl) led = 0;   //这三行通过t1与cl比较,控制led亮灭,也就是PWM调光。
    if(t1 > cl) led = 1;    //
    if(t1 == 40) t1 = 0;    //  

    if(t2 == 250)           //250次中断以后,进入以下语句,更改cl值,改变亮度。改变比较的值(250)
        {                   //可以调整闪烁速度。
            t2=0;
            if(c)
                {
                    cl++;
                    if(cl == 41) c=0;    //由亮变暗标识
                }

            if(!c)
                {
                    cl--;
                    if(cl == 3) c=1;    //由暗变亮标识
                }
        }
}

这里有一个效果视频 :) 希望大家喜欢。

点击此处下载 ourdev_529415.rar(文件大小:474K) (原文件名:20100127.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-1-27 08:25:24 | 显示全部楼层
用硬件设计一个也不麻烦,呵呵

出0入0汤圆

发表于 2010-1-27 08:36:06 | 显示全部楼层
有创意!顶!

出0入0汤圆

发表于 2010-1-27 08:41:27 | 显示全部楼层
呼吸灯是什么东西?

出0入0汤圆

发表于 2010-1-27 09:26:43 | 显示全部楼层
记号.学习拉. PWM控制呼吸灯.感谢

出0入0汤圆

发表于 2010-1-27 16:11:45 | 显示全部楼层
unsigned char t1=0,t2=0,c1=1;

这里是cl?

出0入0汤圆

发表于 2010-1-27 17:07:50 | 显示全部楼层
good!

出0入0汤圆

发表于 2010-1-27 18:14:46 | 显示全部楼层
应该是:c1吧 并非cl

出0入0汤圆

发表于 2010-2-10 22:10:24 | 显示全部楼层
mark 呼吸LED

出0入0汤圆

发表于 2010-2-18 00:09:38 | 显示全部楼层
有创意,学习了

出0入0汤圆

发表于 2010-2-20 00:09:24 | 显示全部楼层
在实验板上试验不成功,表现为led慢闪,led无呼吸现象。

出0入0汤圆

发表于 2010-2-20 00:23:11 | 显示全部楼层
通常单片机系统都有一个或几个LED作为系统状态和异常指示,根据这些led的状态,可以判断出系统的工作情况,可以节省很多后期维护的成本

出0入0汤圆

发表于 2010-2-20 00:30:10 | 显示全部楼层
TL1 = 0x3C;    //200us   
    TH1 = 0xFF;

这里搞错了,我用的定时器0,没改过来,呵呵,谢谢LZ的程序!

出0入0汤圆

发表于 2010-6-24 16:39:26 | 显示全部楼层
学习,我回去试试

出0入4汤圆

发表于 2010-6-24 16:50:39 | 显示全部楼层
回复【11楼】zc3909
通常单片机系统都有一个或几个led作为系统状态和异常指示,根据这些led的状态,可以判断出系统的工作情况,可以节省很多后期维护的成本
-----------------------------------------------------------------------

很早就这么用,几个LED可以表示很多状态,调试也很方便

出0入0汤圆

发表于 2010-8-10 10:04:15 | 显示全部楼层
标记学习,待会试试。

出0入0汤圆

发表于 2010-8-11 01:14:06 | 显示全部楼层
成功了,感谢分享

出0入0汤圆

发表于 2010-8-11 01:24:43 | 显示全部楼层
很好啊

出0入0汤圆

发表于 2010-8-11 03:40:40 | 显示全部楼层
you should google "gamma correction".

出0入0汤圆

发表于 2010-10-8 21:30:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-8 21:41:42 | 显示全部楼层
mark

出110入26汤圆

 楼主| 发表于 2010-10-8 21:49:04 | 显示全部楼层
嘿嘿,“小时候”的帖子被顶上来了…

出50入4汤圆

发表于 2010-10-8 21:53:38 | 显示全部楼层
PWM调光?

出0入0汤圆

发表于 2010-10-8 23:57:36 | 显示全部楼层
有电路图吗?

出0入0汤圆

发表于 2010-10-18 20:46:56 | 显示全部楼层
闪得好厉害啊……

出0入0汤圆

发表于 2010-10-18 22:51:00 | 显示全部楼层
活学活用

出0入0汤圆

发表于 2010-10-19 10:45:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-19 11:34:36 | 显示全部楼层
回复【21楼】kinoko  
嘿嘿,“小时候”的帖子被顶上来了…
-----------------------------------------------------------------------

是你长得快

出0入0汤圆

发表于 2010-11-3 14:11:14 | 显示全部楼层
我学习lz的帖子,为何LED闪烁,而不是渐变,在原有参数下运行

出0入0汤圆

发表于 2010-11-3 16:55:20 | 显示全部楼层
创意不错,mark一下

出0入0汤圆

发表于 2010-11-3 18:04:06 | 显示全部楼层
原来呼吸是这个意思啊

出0入0汤圆

发表于 2010-11-3 21:22:17 | 显示全部楼层
mark,不错不错,嘻嘻,最好再做一个霹雳游侠车前的那个效果

出0入0汤圆

发表于 2010-11-4 18:29:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-4 23:26:23 | 显示全部楼层
哇塞~相当好

出0入0汤圆

发表于 2010-12-2 16:30:22 | 显示全部楼层
初次接触PWM

出0入0汤圆

发表于 2010-12-3 14:25:31 | 显示全部楼层
在板上的效果就是像飞机上的闪烁信号灯,没有呼吸效果

出0入0汤圆

发表于 2011-1-24 12:52:12 | 显示全部楼层
回复【36楼】imcc
-----------------------------------------------------------------------

TMOD = 0x02; //定时器0,工作方式2,自动重装

出0入0汤圆

发表于 2011-1-25 01:44:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-25 08:49:18 | 显示全部楼层
记号!

出0入12汤圆

发表于 2011-1-25 11:19:55 | 显示全部楼层
有BUG,初始要等很久才会出效果
if(!c)
                {
                    cl--;
                    if(cl == 3) c=1;    //由暗变亮标识
                }

这里有问题,cl-- 变成255,然后要减到3,要等很久

出0入0汤圆

发表于 2011-1-25 11:25:16 | 显示全部楼层
感谢楼主无私奉献  mark 呼吸灯

出0入0汤圆

发表于 2011-1-25 12:18:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-11 12:57:35 | 显示全部楼层
mark 感谢分享

出0入0汤圆

发表于 2011-7-19 11:20:11 | 显示全部楼层
并一个合适的电容试试 !

出0入0汤圆

发表于 2011-7-19 11:32:37 | 显示全部楼层
标记一下   以备需用

出0入0汤圆

发表于 2011-7-19 15:01:49 | 显示全部楼层
实验现象·· 什么都没有

出0入0汤圆

发表于 2011-7-23 20:55:14 | 显示全部楼层
用PWM调光?有意思!

出0入0汤圆

发表于 2011-7-23 21:02:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-24 01:53:53 | 显示全部楼层
PWM调光?有意思!

出0入0汤圆

发表于 2011-7-24 10:45:12 | 显示全部楼层
shou

出0入0汤圆

发表于 2011-7-24 12:28:48 | 显示全部楼层
回复【18楼】millwood0  
-----------------------------------------------------------------------

视频?

出0入0汤圆

发表于 2011-7-26 11:56:34 | 显示全部楼层
视频在压缩包里啊

出0入0汤圆

发表于 2011-7-28 00:29:19 | 显示全部楼层
嗯,不错!

出0入0汤圆

发表于 2011-8-11 14:55:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-11 15:03:52 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-11 15:21:56 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-11 15:22:57 | 显示全部楼层
有时候蛮有用的,留下

出0入0汤圆

发表于 2011-8-11 23:21:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-11 23:48:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-12 10:22:13 | 显示全部楼层
很好
头像被屏蔽

出0入0汤圆

发表于 2011-9-15 17:17:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-9-15 17:27:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-15 23:03:15 | 显示全部楼层
回去试试 感谢分享

出0入0汤圆

发表于 2011-9-28 12:52:38 | 显示全部楼层
好东西一下子我找到了

出0入0汤圆

发表于 2011-9-28 13:12:39 | 显示全部楼层
很不错

出0入0汤圆

发表于 2011-9-28 13:19:20 | 显示全部楼层
和楼主的想法完全的一样啊  真好需要

出0入0汤圆

发表于 2011-9-28 13:59:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-28 14:06:43 | 显示全部楼层
好创意!

出0入0汤圆

发表于 2011-9-30 11:48:09 | 显示全部楼层
感觉也就楼主取的名字好听而已,也就是PWM调光

出0入0汤圆

发表于 2011-9-30 13:11:27 | 显示全部楼层
我烧录这个程序还是不得行???

出140入0汤圆

发表于 2011-11-18 14:27:57 | 显示全部楼层
先是IO模拟,再到定时器调制~

出0入0汤圆

发表于 2011-11-18 15:29:45 | 显示全部楼层
有几点是初学的没注意的:
1.这个变化除了与程序有关,主要的还是硬件
2.首先确定电路里最大的电流是多少。如果是51的高电平点亮,就没什么戏了。5ma的变化能哟多大。
3.其次是你用什么灯,普通亮度就不必试了,本身就没什么变化。
4.还有一个rgb三色的话,记得蓝光的效率最高,限流电阻要大一些。但最大是多少,需要你自己摸索。
5.如果以上还是解决不了,那就提高电压吧!

出0入0汤圆

发表于 2011-11-18 17:26:43 | 显示全部楼层
谢谢楼主分享!!记下了!

出0入0汤圆

发表于 2011-11-18 18:21:50 | 显示全部楼层
硬件就行了

出0入0汤圆

发表于 2011-11-19 14:14:17 | 显示全部楼层
先学习下,刚接触51呢

出0入0汤圆

发表于 2011-11-20 03:19:44 | 显示全部楼层
向楼主学习

出0入0汤圆

发表于 2011-11-21 16:54:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 08:25:53 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-12-6 19:04:04 | 显示全部楼层
mark,呼吸灯要是有pwm很好做的

出0入0汤圆

发表于 2011-12-7 21:39:23 | 显示全部楼层
六个mark

出0入0汤圆

发表于 2012-2-17 18:31:59 | 显示全部楼层
bucuo

出0入0汤圆

发表于 2012-2-19 20:55:05 | 显示全部楼层
谢谢!试验通过,可以加在以后的东东上了

出0入0汤圆

发表于 2012-5-18 23:23:28 | 显示全部楼层
我用430实验一下呢

出0入0汤圆

发表于 2012-6-30 17:15:48 | 显示全部楼层
周末回去用stc的单片机试试

出0入0汤圆

发表于 2012-6-30 17:23:20 | 显示全部楼层
要定时器够用才行

出0入0汤圆

发表于 2012-7-1 01:19:09 | 显示全部楼层
mark ,学习下

出0入0汤圆

发表于 2012-7-1 07:20:48 | 显示全部楼层
程序不错。谢谢分享!

出0入0汤圆

发表于 2012-7-1 10:21:08 | 显示全部楼层
频繁中断容易导致18B20之类的时序紊乱

出0入0汤圆

发表于 2012-7-1 14:19:34 | 显示全部楼层
弱到强,强到弱

出0入0汤圆

发表于 2012-7-1 18:34:20 | 显示全部楼层
mark    感觉蛮有意思的!!

出0入0汤圆

发表于 2012-7-12 11:11:26 | 显示全部楼层
好有意思呀。哈哈

出0入0汤圆

发表于 2012-9-5 18:38:31 | 显示全部楼层
不错,有代码,有演示。

顶一个。

出0入0汤圆

发表于 2012-9-5 19:36:33 | 显示全部楼层
顶一下-------------
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 18:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表