zoukankan      html  css  js  c++  java
  • 自制“心形”单片机呼吸灯

    最近某人要过生日,自己也是闲的无聊,便想做个单片机的东西来送人,自己做的,起码也能代表自己的一片心意吧。

    所谓的“呼吸灯”,就是通过程序控制led灯的闪烁过程,像呼吸一样有节奏。有亮度渐变的过程。

    先来张效果图:

    这图片有点大。。。。

    这是未加修饰的样子,不过进行了简单的装饰后,就变身超级有爱的东西了

    制作过程:

    程序是我之前在9月份就找好的了,符上代码:

     1 //******************************
     2 //   51单片机模拟呼吸灯
     3 //     2012.9.23
     4 //      menglei
    5 // p0.0接一个LED灯,状态0为亮 6 //****************************** 7 8 9 #include<reg52.h> 10 #define N 2 //亮暗的速率 11 #define T 800 //PWM的周期 12 #define T1 1400 13 #define T2 900 14 //sbit led0=P0^0; 15 //====================== 16 void pwm(int x) 17 { 18 while(x--); 19 } 20 //====================== 21 22 void flash1(void){ 23 int t = 0; 24 char f = 0; 25 int count = 5;//5次,每个函数执行的次数 26 while(1){ 27 P0 = 0x00; 28 pwm(t); //Toff,亮的时间 29 //led0=1; 30 P0 = 0xff; 31 pwm(T-t+100);//Ton,暗的时间 32 if(!f) t+=N+1;//亮速率较快,模拟呼吸 33 else t-=N;//暗速率较慢 34 if(t>T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗 35 if(t<0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮 36 // count--; 37 } 38 } 39 void main() 40 { 41 42 while(1) 43 { 44 flash1(); 45 } 46 }


     

    程序不多,但是电路的制作的确很费时间和脑子,因为要考虑每条线的走线,还不能让线太过于繁琐

    这是中间的一部分,像那个显像管电视的样子  哈哈哈

    正面:

    调试时的走线:(不堪入目啊)

    最后的制作:

    转载文章请注明出处: http://www.cnblogs.com/menglei/
  • 相关阅读:
    logstash multiple piplines 配置方式
    filter-mutate过滤插件
    redis主从复制
    redis sentinel(哨兵)
    mongodb replica-set
    Linux入门篇(五)——Shell(一)
    Linux入门篇(四)——Vim的使用与Bash
    Linux入门篇(三)——文件与目录
    Linux入门篇(二)——文件
    Linux入门篇(一)——基本命令
  • 原文地址:https://www.cnblogs.com/menglei/p/2798728.html
Copyright © 2011-2022 走看看