久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

原創(chuàng)作品LED流星雨燈(51單片機程序代碼)產(chǎn)品分享!

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2012年04月26日   【字體:
 最近公司生產(chǎn)了一款流星雨燈!現(xiàn)把它分享給大家!
 
一、圖片分享:
 

 二、PCB文件分享:

 
 

 三、原理圖分享:

 
 

 

四、視頻效果分享:



   上面只做了5根燈管,如果需要增加燈管的話,只需稍微改動下 下面的程序即可.如果增長
連線把燈管擺成圓形或者方形效果也比較牛逼的.

   此款流星燈直徑只有1.5公分只可以做30公分、50公分、80公分、1000公分等 。
這個東東主要是做裝飾用,技術(shù)支持:http://www.zg4o1577.cn/ 下面公開全部的源代碼.
請大家多多指教.程序代碼大家可以隨意修改,但不可用于商業(yè)用途.

/*流星雨程序代碼 作者:胡琴   2011-12-12
  單片機型號:STC11F04  IO口16個!原理:
  利用PWM來模似流星雨:將亮度等級分為8個
,通過改變每一組LED的亮度來達到流星雨效果。
(因為流星雨是前面亮后面越來越暗,就像一條龍一樣,拖著尾巴過來),
完整的程序源代碼下載:http://www.zg4o1577.cn/f/ledss.rar
*/
#include<reg52.h>//MCU頭文件
#define uchar unsigned char//字浮型宏定義
#define uint unsigned int//整型宏定義
#define shudu 3 //LED漸變速度調(diào)整
uchar yin0 =31;//LED變化等級調(diào)整
uchar yin1 =63;//LED變化等級調(diào)整
uchar yin2 =95;//LED變化等級調(diào)整
uchar yin3 =127;//LED變化等級調(diào)整
uchar yin4 =159;//LED變化等級調(diào)整
uchar yin5 =191;//LED變化等級調(diào)整
uchar yin6 =223;//LED變化等級調(diào)整
uchar yin7 =255;//LED變化等級調(diào)整
sbit led0=P3^5;//16個IO口
sbit led1=P3^6;
sbit led2=P3^0;
sbit led3=P3^1;
sbit led4=P3^2;
sbit led5=P3^3;
sbit led6=P3^4;
sbit led7=P3^7;
sbit led8=P1^0;
sbit led9=P1^1;
sbit led10=P1^2;
sbit led11=P1^7;
sbit led12=P1^6;
sbit led13=P1^5;
sbit led14=P1^4;
sbit led15=P1^3;
uchar d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15;//各IO口變量

/***************************************************/
/**********************延時子程序*******************/
/***************************************************/
void delay(uint z)
{
 uint x,y;//局部變量定義
 for(x=0;x<5;x++)//延時外循環(huán)
 for(y=0;y<z;y++);//延時內(nèi)循環(huán)
}
/**********************************************/
/**********PWM控制紅綠蘭3種燈亮滅時間**********/
/**********************************************/
void RGBpwm(uchar d0,uchar d1,uchar d2,uchar d3,uchar d4,uchar d5,uchar d6,uchar d7,uchar d8,uchar d9,uchar d10,uchar d11,uchar d12,uchar d13,uchar d14,uchar d15)//3個局部變量,些部分為帶參數(shù)函數(shù)
{
 if(d0!=0)
 {
 led0=0;
 delay(d0);                   
 led0=1;//1
 }
 if(d1!=0)
 {
 led1=0;
 delay(d1);                   
 led1=1;//1
 }
 if(d2!=0)
 {
 led2=0;
 delay(d2); //2                  
 led2=1;
 }
 if(d3!=0)
 {
 led3=0;
 delay(d3);                   
 led3=1;//3
 }
 if(d4!=0)
 {
 led4=0;
 delay(d4);                   
 led4=1;//4
 }
 if(d5!=0)
 {
 led5=0;
 delay(d5);                   
 led5=1;//5
 }
 if(d6!=0)
 {
 led6=0;
 delay(d6);                   
 led6=1;//6
 }
 if(d7!=0)
 {
 led7=0;
 delay(d7);                   
 led7=1;//7
 }
 if(d8!=0)
 {
 led8=0;
 delay(d8);                   
 led8=1;//8
 }
 if(d9!=0)
 {
 led9=0;
 delay(d9);                   
 led9=1;//9
 }
 if(d10!=0)
 {
 led10=0;
 delay(d10); //10                  
 led10=1;
 }
 if(d11!=0)
 {
 led11=0;
 delay(d11);                   
 led11=1;//11
 }
 if(d12!=0)
 {
 led12=0;
 delay(d12);                   
 led12=1;//12
 }
 if(d13!=0)
 {
 led13=0;
 delay(d13); //13                  
 led13=1;
 }
 if(d14!=0)//14
 {
 led14=0;
 delay(d14);                   
 led14=1;
 }
 if(d15!=0)//15
 {
 led15=0;
 delay(d15);                   
 led15=1;
 }
}
 
/***********************************************/
/********************主程序*********************/
/***********************************************/
void main()
{
 TMOD=0x01;
 EA=1;
 ET0=1;
 TR0=1;
 TH0=(65536-56)/256;
 TL0=(65536-56)%256;
 while(1)//程序主循環(huán)
 {
  RGBpwm(d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15);//調(diào)用RGBpwm子程序
 }
}
/*************************************************/
/*中斷服務(wù)子程序(控制LED紅綠蘭亮滅時間占空比例)*/
/*************************************************/
void zhong() interrupt 1//中斷向量位為1
{
 uint num;//定時器計數(shù)變量
 uint ji;//亮度等級控制變量
 TH0=(65536-500)/256;//給定時器高8位賦值
 TL0=(65536-500)%256;//給定時器低8位賦值
 num++;//將定時計數(shù)變自動增加1
 if(num==shudu)//如果速度變量等于定時計數(shù)器變量就執(zhí)行下面大括號語句
 {
  num=0;//將計數(shù)器清0
  ji++;//將亮度等級控制變量加1
  if((ji>0)&&(ji<10))//移位移動 流水.....
  {
 d0=yin7;
 d1=0;
 d2=0;
 d3=0;
 d4=0;
 d5=0;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
  if((ji>10)&&(ji<20))//23456789
  {
 d0=yin6;
 d1=yin7;
 d2=0;
 d3=0;
 d4=0;
 d5=0;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>20)&&(ji<30))//345678910
  {
 d0=yin5;
 d1=yin6;
 d2=yin7;
 d3=0;
 d4=0;
 d5=0;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>30)&&(ji<40))//4567891011
  {
 d0=yin4;
 d1=yin5;
 d2=yin6;
 d3=yin7;
 d4=0;
 d5=0;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 
 
  if((ji>40)&&(ji<50))//12345678
  {
 d0=yin3;
 d1=yin4;
 d2=yin5;
 d3=yin6;
 d4=yin7;
 d5=0;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
  if((ji>50)&&(ji<60))//23456789
  {
 d0=yin2;
 d1=yin3;
 d2=yin4;
 d3=yin5;
 d4=yin6;
 d5=yin7;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>60)&&(ji<70))//345678910
  {
 d0=yin1;
 d1=yin2;
 d2=yin3;
 d3=yin4;
 d4=yin5;
 d5=yin6;
 d6=yin7;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>70)&&(ji<80))//4567891011
  {
 d0=yin0;
 d1=yin1;
 d2=yin2;
 d3=yin3;
 d4=yin4;
 d5=yin5;
 d6=yin6;
 d7=yin7;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 
 

  if((ji>80)&&(ji<90))//12345678
  {
 d0=0;
 d1=yin0;
 d2=yin1;
 d3=yin2;
 d4=yin3;
 d5=yin4;
 d6=yin5;
 d7=yin6;
 d8=yin7;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 
if((ji>90)&&(ji<100))//345678910
  {
 d2=yin0;
 d3=yin1;
 d4=yin2;
 d5=yin3;
 d6=yin4;
 d7=yin5;
 d8=yin6;
 d9=yin7;
 d0=0;
 d1=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>100)&&(ji<110))//345678910
  {
 d3=yin0;
 d4=yin1;
 d5=yin2;
 d6=yin3;
 d7=yin4;
 d8=yin5;
 d9=yin6;
 d10=yin7;
 d0=0;
 d1=0;
 d2=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>110)&&(ji<120))//4567891011
  {
 d4=yin0;
 d5=yin1;
 d6=yin2;
 d7=yin3;
 d8=yin4;
 d9=yin5;
 d10=yin6;
 d11=yin7;
 d1=0;
 d2=0;
 d3=0;
 d12=0;
 d0=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>120)&&(ji<130))//56789101112
  {
 d5=yin0;
 d6=yin1;
 d7=yin2;
 d8=yin3;
 d9=yin4;
 d10=yin5;
 d11=yin6;
 d12=yin7;
 d0=0;
 d1=0;
 d2=0;
 d3=0;
 d4=0;
 d13=0;
 d14=0;
 d15=0;
  }
 if((ji>130)&&(ji<140))//678910111213
  {
 d6=yin0;
 d7=yin1;
 d8=yin2;
 d9=yin3;
 d10=yin4;
 d11=yin5;
 d12=yin6;
 d13=yin7;
 d0=0;
 d1=0;
 d2=0;
 d3=0;
 d4=0;
 d5=0;
 d14=0;
 d15=0;
  }
 if((ji>140)&&(ji<150))//
  {
 d7=yin0;
 d8=yin1;
 d9=yin2;
 d10=yin3;
 d11=yin4;
 d12=yin5;
 d13=yin6;
 d14=yin7;
 d0=0;
 d1=0;
 d2=0;
 d3=0;
 d4=0;
 d5=0;
 d6=0;
 d15=0;
  }
 if((ji>150)&&(ji<160))//
  {
 d8=yin0;
 d9=yin1;
 d10=yin2;
 d11=yin3;
 d12=yin4;
 d13=yin5;
 d14=yin6;
 d15=yin7;
 
 d0=0;
 d1=0;
 d2=0;
 d3=0;
 d4=0;
 d5=0;
 d6=0;
 d7=0;
  }
  if((ji>160)&&(ji<450))//讓所有LED都滅掉 等待下一次流星......
  {
 d0=0;
 d1=0;
 d2=0;
 d3=0;
 d4=0;
 d5=0;
 d6=0;
 d7=0;
 d8=0;
 d9=0;
 d10=0;
 d11=0;
 d12=0;
 d13=0;
 d14=0;
 d15=0;
  }
  if(ji>450)
 {
 TR0=0;
 ji=0;
 TR0=1;
 }
 }
}

 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 精品熟人一区二区三区四区 | 91一区二区 | 成人精品鲁一区一区二区 | 日韩在线观看网站 | 欧美日韩美女 | 一级黄色片一级黄色片 | 精品久久精品 | 久久99精品国产自在现线小黄鸭 | 久久久高清 | 中文字幕一区二区三区在线观看 | jizz视频| 天天碰夜夜操 | 久久国产精品精品国产色婷婷 | 黄色一级在线播放 | 一区影视 | 久久久久久久久久久一区二区 | 国产精品久久免费观看 | 91色在线 | 一区二区成人 | 欧美freesex黑人又粗又大 | 国产精品一区三区 | 色网站入口| 国产精品1| 国产免费观看一级国产 | 在线精品亚洲欧美日韩国产 | 青青草视频免费观看 | 精品一区国产 | 亚洲最色网站 | 天堂成人国产精品一区 | 91av在线电影 | 日日夜夜精品视频 | h片在线播放 | 6996成人影院网在线播放 | 欧美性大战xxxxx久久久 | 国产精品欧美一区二区 | 一区亚洲 | 精品伊人 | 午夜一级大片 | 成人国产精品久久 | 91一区二区| 亚洲视频在线一区 |