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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3173|回復: 1
打印 上一主題 下一主題
收起左側

制作七彩照明臺燈 PCB文件+單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
無聊的時候,總要找點事情做,就有了想做個燈的想法,板子是用AD18畫的,,用STC15F104W,實物PCB 下載程序 線畫錯了,上傳的PCB文件改正優化了, 程序呢,由于水平太低, 時間有限,用了最笨的方法,寫的程序有很多可以精簡的,待優化,懶的搞了,運行效果還是挺好的,分享給新手。謝謝。
一個按鍵控制全部燈光效果,長按2秒 關燈

制作出來的實物圖如下:


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include <STC15F2K60S2.H>
  2. sbit w=P3^3;
  3. sbit nw=P3^4;
  4. sbit b=P3^2;
  5. sbit g=P3^1;
  6. sbit r=P3^0;
  7. sbit k=P3^5;
  8.            void ys();
  9.                 unsigned char  a,c,d,v;

  10.                 unsigned int js;
  11.                   void yss(unsigned int u);
  12. void main()
  13. {
  14.                                 k=1; r=g=b=w=nw=0;         a=b=c=d=0;         P3M1=0X00;        P3M0=0X1F;//設置P3.0-3.4口為強推模式

  15.                     EA=1;         // IE 第7位 打開總中斷
  16.         //           TF0=0;         清除定時器溢出標志位

  17.                    ET0=1;        // IE的 第1位  打開定時器中斷

  18.                    TR0=0;         // TCON的4位 開啟定時0

  19.                    TMOD=0X01;//設置定時器方式1,16位定時器。          tmod 是設置定時器工作方式用的定時或計數 ,高4位是定時器1寄存器
  20.                              //低4是定時器0  7 GATE,6 C/T,5 M1,4 M0 ,3 GATE,2 C/T ,1,M1 0,M0

  21.                    TH0=(65536-922)/256;        //裝定時器初值,現在是延時1MS的初值
  22.                    TL0=(65536-922)%256;

  23.                    //  TH0 = 0x0FC;
  24.             // TL0 = 0x66;




  25.    while(1)
  26.    {
  27.            aa:         if(k==0){ ys();


  28.                     if(k==0&&a==0){a=1;c++;TR0=1;if(c==12){r=0;g=0;b=0;w=0;nw=0;c=0;
  29.                  
  30.                  
  31.                  
  32.                  
  33.                  
  34.                  
  35.                  
  36.                  
  37.                                          }
  38.        
  39.                                     

  40.                   switch(c)
  41.                   
  42.                          {        case 0:r=0;g=0;b=0;w=0;nw=0; break;
  43.                                  case 1:         r=0;g=0;b=0;w=1;nw=0;break;
  44.                                  case 2:         r=0;g=0;b=0;w=0;nw=1;break;
  45.                                  case 3:         r=0;g=0;b=0;w=1;nw=1;break;
  46.                                  case 4:         r=1;g=0;b=0;w=0;nw=0;break;
  47.                                 case 5:         r=0;g=1;b=0;w=0;nw=0;break;
  48.                                 case 6:         r=0;g=0;b=1;w=0;nw=0; break;
  49.                                 case 7:         r=1;g=1;b=0;w=0;nw=0; break;
  50.                                 case 8:          r=1;g=0;b=1;w=0;nw=0;break;
  51.                                 case 9:          r=1;g=1;b=1;w=0;nw=0;        break;
  52.                             case 10:  r=1;g=1;b=1;w=1;nw=1 ;break;
  53.                           

  54.                          }
  55.                                   
  56.                                             }        }                 
  57.                                          
  58.                                          
  59.                                           if(c==11&&k==1){
  60.                                                                      r=0;g=0;b=0;w=0;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  61.                                                                     r=1;g=0;b=0;w=0;nw=0; yss(1000);          if(k==0) {c=0;  goto aa;}
  62.                                                                     r=0;g=1;b=0;w=0;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  63.                                                                     r=0;g=0;b=1;w=0;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  64.                                                       r=0;g=0;b=0;w=1;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  65.                                                                    r=0;g=0;b=0;w=0;nw=1; yss(1000);         if(k==0) {c=0;  goto aa;}
  66.                                                                    r=0;g=0;b=0;w=1;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  67.                                                                    r=0;g=0;b=1;w=0;nw=0; yss(1000);  if(k==0) {c=0;  goto aa;}
  68.                                                                    r=0;g=1;b=0;w=0;nw=0; yss(1000);   if(k==0) {c=0;  goto aa;}
  69.                                                                    r=1;g=0;b=0;w=0;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  70.                                                                     r=0;g=0;b=0;w=0;nw=0; yss(1000);   if(k==0) {c=0;  goto aa;}


  71.                                                                           r=1;g=0;b=0;w=0;nw=0; yss(1500); if(k==0) {c=0;  goto aa;}
  72.                                                                    r=1;g=1;b=0;w=0;nw=0; yss(1500);            if(k==0) {c=0;  goto aa;}
  73.                                                                     r=1;g=1;b=1;w=0;nw=0; yss(1500);            if(k==0) {c=0;  goto aa;}
  74.                                                                     r=1;g=1;b=1;w=1;nw=0; yss(1500);            if(k==0) {c=0;  goto aa;}
  75.                                                                   r=1;g=1;b=1;w=1;nw=1; yss(1500);            if(k==0) {c=0;  goto aa;}
  76.                                                                             
  77.                                                                           r=0;g=0;b=0;w=0;nw=1; yss(1500);  if(k==0) {c=0;  goto aa;}
  78.                                                                    r=0;g=0;b=0;w=1;nw=1; yss(1500);          if(k==0) {c=0;  goto aa;}
  79.                                                                     r=0;g=0;b=1;w=1;nw=1; yss(1500);           if(k==0) {c=0;  goto aa;}
  80.                                                                     r=0;g=1;b=1;w=1;nw=1; yss(1500);            if(k==0) {c=0;  goto aa;}
  81.                                                                   r=1;g=1;b=1;w=1;nw=1; yss(1500);           if(k==0) {c=0;  goto aa;}

  82.                                                                     r=0;g=0;b=0;w=0;nw=0; yss(1000);   if(k==0) {c=0;  goto aa;}
  83.                                                                 r=1;g=1;b=1;w=1;nw=1; yss(1000);          if(k==0) {c=0;  goto aa;}
  84.                                                                  r=0;g=0;b=0;w=0;nw=0; yss(1000);            if(k==0) {c=0;  goto aa;}
  85.                                                                          r=1;g=1;b=1;w=1;nw=1; yss(1000);    if(k==0) {c=0;  goto aa;}
  86.                                                                         r=0;g=0;b=0;w=0;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}
  87.                                                                                  r=1;g=1;b=1;w=1;nw=1; yss(1000); if(k==0) {c=0;  goto aa;}       
  88.                                                                  r=0;g=0;b=0;w=0;nw=0; yss(1000);                  if(k==0) {c=0;  goto aa;}
  89.                                                                          r=1;g=1;b=1;w=1;nw=1; yss(1000);   if(k==0) {c=0;  goto aa;}
  90.                                                                         r=0;g=0;b=0;w=0;nw=0; yss(1000);         if(k==0) {c=0;  goto aa;}

  91.                                                                                    c=11;
  92.                                           
  93.                                           }
  94.                                          if(a==1&&k==1)        {a=0;TR0=0;js=0;v=0;}



  95.                                 //  r=g=b=w=nw=1;



  96.    }
  97. }
  98. void ys()
  99. {        unsigned char d,f;

  100.          for(d=0;d<100;d++)
  101.          for(f=0;f<20;f++);



  102. }
  103. void dingshi()interrupt 1// 定時器0 優先級是1
  104.   {
  105.                          
  106.                                     TH0=(65536-922)/256;        //裝定時器初值,現在是延時1MS的初值
  107.                             TL0=(65536-922)%256;
  108.                        
  109.                                 js++; if(js==1000){js=0;v++;if(v==1){r=g=b=w=nw=0;TR0=0;v=0;c=0;}if(v==6){v=0;                }
  110.                                
  111.                                
  112.                                
  113.                                 }

  114.                                           
  115.           }       
  116. void yss(unsigned int u)
  117. {        unsigned int d,f;

  118.          for(d=0;d<u;d++)
  119.          for(f=0;f<150;f++);
  120.          
  121.          }
復制代碼

所有資料51hei提供下載:
led.rar (1.03 MB, 下載次數: 30)
850ad7c8f94eaa4bc3699e9276356e76.rar (1.56 MB, 下載次數: 30)


評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:98992 發表于 2019-11-5 12:07 | 只看該作者
需要這么大的管子嗎 浪費吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩av一区二区在线观看 | 国产成人免费视频网站视频社区 | 久久天堂网 | 精品视频 免费 | 中文字幕一区在线 | 操操操日日日 | 蜜桃视频在线观看免费视频网站www | 成人免费一区二区三区牛牛 | 99re视频这里只有精品 | 一区二区伦理电影 | 国产美女一区二区 | 午夜av毛片 | 韩日一区二区三区 | 国产一区视频在线 | 亚洲一区国产精品 | 国产一级一级毛片 | 亚洲精品一区中文字幕 | 国产91丝袜在线播放 | 麻豆久久 | 日韩一区二 | 伊人久久大香线 | 亚洲三区在线 | 激情婷婷成人 | 久操国产| 成人在线电影在线观看 | 国产成人精品视频 | 免费国产黄网站在线观看视频 | 亚洲一区二区在线 | 久草久草久草 | 国产伦精品一区二区三区照片91 | 欧美日韩中文在线 | 久久久一区二区三区四区 | 久久9热| 一级一级毛片免费看 | 成人性生交大片免费看r链接 | 中国大陆高清aⅴ毛片 | 日本高清不卡视频 | 我要看一级片 | 国产精品久久网 | 91丨国产| aaaaa毛片|