刚刚弄了一个呼吸灯程序,喜欢的就拿去把

2020-01-23 14:48发布

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;    //由暗变亮标识
                }
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
raxb
1楼-- · 2020-01-24 04:15
linred 发表于 2012-8-28 22:39
纯硬件可以实现吗

完全可以,而且程序也是十分简单
raxb
2楼-- · 2020-01-24 06:00
linred 发表于 2012-8-28 22:39
纯硬件可以实现吗

这个是纯硬件的
raxb
3楼-- · 2020-01-24 06:08
raxb 发表于 2012-8-31 15:45
这个是纯硬件的

Protel设计的一个简单的电路,运放可以采用电压反馈型的双运放,推荐使用ST的TL082CN,效果最理想。
电阻 左起 100,47K,47K,47K,100K,47K,1.2K
电容是100U 耐压12V以上就可以 三极管是9013 接1.2K电阻的是正 直流12V 可以并联4个LED

richwen
4楼-- · 2020-01-24 08:39
软件的可变性更好,而且可以做出很多其他的效果
shuwei_yz
5楼-- · 2020-01-24 11:40
 精彩回答 2  元偷偷看……
phone
6楼-- · 2020-01-24 12:49
看看程序都很短的.

一周热门 更多>