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/
  • 相关阅读:
    [强网杯青少年专项赛] 惨惨战队WriteUp
    [BUUOJ记录] [HCTF 2018]WarmUp
    [WUST-CTF]Web WriteUp
    PHP check 的一些绕过技术
    [易霖博YCTF]Web WriteUp
    Java backup
    Common Knowledge
    一篇帖子教会你如何获取网盘数据
    python爬虫如何爬知乎的话题?
    浏览器的复制到剪切板功能,兼容所有浏览器,悬浮层不能复制问题解决
  • 原文地址:https://www.cnblogs.com/menglei/p/2798728.html
Copyright © 2011-2022 走看看