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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機貼片心形燈原理圖PCB程序 亞克力外殼.dwg資料

[復制鏈接]
跳轉到指定樓層
樓主
Altium Designer畫的51單片機貼片心形燈原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單色心形燈CAD亞克力外殼設計圖


單片機源程序如下:
  1. /*******************************************************************/
  2. /* 作品:單色心形流水燈

  3. /* 主控采用STC89c52RC單片機 晶振12M                                                              
  4. /*******************************************************************/
  5.                                                            
  6. #include<reg52.h>
  7. #define uchar unsigned char
  8. #define uint unsigned int

  9. uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
  10. uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
  11. uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED從1個亮到8個都點亮(從低位往高位)
  12. uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個亮到8個都點亮(從高位往低位)
  13. uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個全亮到一個都不亮(從低位往高位)
  14. uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個全亮到一個都不亮(從高位往低位)
  15. uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED從低位往高位移(最低位始終為0)
  16. uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED從高位往低位移(最高位始終為0)
  17. uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移  向下
  18. uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移  向上
  19. uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移         向下
  20. uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移  向上
  21. uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移  向下
  22. uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};
  23. uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};
  24. uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
  25. uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};
  26. uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};
  27. uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};
  28. uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  29. uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


  30. uchar i,j,flag=200;        //定義循環變量
  31. uint tt=70,temp,cycle=350,xunhuan;                //定義時間指數
  32. void shansuo();
  33. void xl();

  34. void delay()   
  35. {
  36.            uchar m,n;
  37.          for(m=0;m<flag;m++)
  38.              for(n=0;n<250;n++);           
  39.            
  40. }
  41. void delay1(uint z)        //延時函數
  42. {
  43.         uint x,y;
  44.         for(x=z;x>0;x--)
  45.             for(y=110;y>0;y--);
  46. }
  47. void delay2(uint x)  //延時函數,要足夠快,否則燈會閃爍,而不是慢慢變化。
  48. {  
  49.         uint i;
  50.          for(i=x;i>0;i--);
  51.         
  52. }
  53. void liushuideng1()
  54. {
  55.         for(xunhuan=0;xunhuan<2;xunhuan++)
  56.         {
  57.                  for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  58.                   {
  59.                           P0=P1=P2=P3=0x00;
  60.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  61.                         P0=P1=P2=P3=0xff;
  62.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  63.                   }
  64.         
  65.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  66.                   {
  67.                           P0=P1=P2=P3=0x00;
  68.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  69.                             P0=P1=P2=P3=0xff;
  70.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  71.                   }
  72.          }

  73. }        
  74. void liushuideng2()
  75. {         
  76.          P0=P1=P2=P3=0x00;
  77.          delay1(600);
  78.         for(xunhuan=0;xunhuan<2;xunhuan++)
  79.         {
  80.                  for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  81.                   {
  82.                           P0=P1=P2=P3=0x55;
  83.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  84.                         P0=P1=P2=P3=0xaa;
  85.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  86.                   }
  87.                             delay1(600);
  88.                  for(temp=cycle;temp>0;temp--)//由亮到暗
  89.                   {
  90.                     P0=P1=P2=P3=0xaa;
  91.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  92.                 P0=P1=P2=P3=0x55;
  93.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  94.                   }
  95.                   
  96.                             delay1(600);
  97.         }
  98.                
  99. }

  100. void liushuideng3()
  101. {         
  102.          delay1(1000);
  103.         for(xunhuan=0;xunhuan<2;xunhuan++)
  104.         {
  105.                  for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  106.                   {
  107.                           P0=P1=P2=P3=0x0f;
  108.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  109.                         P0=P1=P2=P3=0xf0;
  110.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  111.                   }
  112.                  delay1(600);  
  113.                  for(temp=cycle;temp>0;temp--)//由亮到暗
  114.                   {
  115.                     P0=P1=P2=P3=0xf0;
  116.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  117.                 P0=P1=P2=P3=0x0f;
  118.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  119.                   }
  120.                   delay1(600);
  121.            
  122.         }
  123.                
  124. }
  125. void liushuideng4()
  126. {
  127.         for(xunhuan=0;xunhuan<1;xunhuan++)
  128.         {
  129.                  for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  130.                   {
  131.                           P0=P2=0x00;
  132.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  133.                     P0=P2=0xff;
  134.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  135.                   }
  136.         
  137.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  138.                   {
  139.                           P0=P2=0x00;
  140.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  141.                             P0=P2=0xff;
  142.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  143.                   }

  144.                   for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  145.                   {
  146.                           P1=P3=0x00;
  147.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  148.                             P1=P3=0xff;
  149.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  150.                   }
  151.         
  152.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  153.                   {
  154.                           P1=P3=0x00;
  155.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  156.                             P1=P3=0xff;
  157.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  158.                   }
  159.          }

  160. }
  161. void liushuideng5()
  162. {


  163.         for(xunhuan=0;xunhuan<1;xunhuan++)
  164.         {
  165.                  for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  166.                   {
  167.                           P1=P0=0x00;
  168.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  169.                             P1=P0=0xff;
  170.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  171.                   }
  172.         
  173.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  174.                   {
  175.                           P1=P0=0x00;
  176.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  177.                             P1=P0=0xff;
  178.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  179.                   }

  180.                   for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  181.                   {
  182.                           P3=P2=0x00;
  183.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  184.                     P3=P2=0xff;
  185.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  186.                   }
  187.         
  188.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  189.                   {
  190.                           P3=P2=0x00;
  191.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  192.                             P3=P2=0xff;
  193.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  194.                   }
  195.          }


  196. }

  197. void liushuideng6()
  198. {
  199.         for(xunhuan=0;xunhuan<1;xunhuan++)
  200.         {
  201.                  for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  202.                   {
  203.                           P0=P3=0x00;
  204.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  205.                     P0=P3=0xff;
  206.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  207.                   }
  208.         
  209.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  210.                   {
  211.                           P0=P3=0x00;
  212.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  213.                             P0=P3=0xff;
  214.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  215.                   }

  216.                   for(temp=0;temp<cycle;temp++) //由暗到亮(燈的亮度是亮和滅保持時間的平均值)
  217.                   {
  218.                           P1=P2=0x00;
  219.                         delay2(temp);         //延時逐漸加大,led=0(亮)保持的時間越來越長,亮度隨之變大。
  220.                     P1=P2=0xff;
  221.                         delay2(cycle-temp);        //延時減短,led=1(滅)保持的時間越來越短,結合上一句,整體亮度變大
  222.                   }
  223.         
  224.                   for(temp=cycle;temp>0;temp--)//由亮到暗
  225.                   {
  226.                           P1=P2=0x00;
  227.                         delay2(temp);  //延時逐漸減短,led=0(亮)保持的時間越來越短,亮度隨之變小。
  228.                             P1=P2=0xff;
  229.                         delay2(cycle-temp);        //延時增長,led=1(滅)保持的時間越來越長,結合上一句,整體亮度變小
  230.                   }
  231.          }

  232. }

  233. void disp0()                        //狀態0 所有LED閃爍3次
  234. {
  235.         for(i=0;i<3;i++)
  236.         {
  237.                 P0=0x00; P2=0x00; P3=0x00; P1=0x00;
  238.                 delay1(300);
  239. ……………………

  240. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


所有資料51hei附件下載:
單色心形流水燈工程項目.zip (949.92 KB, 下載次數: 59)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:78271 發表于 2022-5-15 22:02 | 只看該作者
設計的挺巧妙,估計做閃動表格的費不少時間。挺佩服的。
回復

使用道具 舉報

板凳
ID:230742 發表于 2022-5-16 19:54 | 只看該作者
做的挺好!繼續加油。
下次做個2812的。絕對高大上。
回復

使用道具 舉報

地板
ID:484897 發表于 2024-4-12 09:37 | 只看該作者
很棒,資料很齊全
回復

使用道具 舉報

5#
ID:876947 發表于 2024-5-10 12:02 | 只看該作者
大俠可以將這個程序移植到STC32上嗎?也賦值到所有I/Ok?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美在线观看一区 | 午夜视频导航 | 91国在线观看 | 国产欧美一区二区在线观看 | 午夜精品一区二区三区在线观看 | 一区二区精品 | 欧美日韩在线一区二区三区 | 久久久91精品国产一区二区精品 | 日韩电影a | 五月激情六月婷婷 | 国产日韩欧美一区二区在线播放 | 99久久国产综合精品麻豆 | 国产伦精品一区二区三区高清 | 精品久久久久香蕉网 | 在线观看涩涩视频 | 欧洲成人午夜免费大片 | 色综合一区二区 | 精品视频在线播放 | 国产精品一区二区三 | 日本精品一区二区在线观看 | 精品久久久久久久久久久久 | 久久久久久久久久久久91 | 日韩伦理一区二区 | 在线国产视频 | 在线免费观看毛片 | 波多野结衣精品 | 人妖av| 成人精品鲁一区一区二区 | 秋霞在线一区二区 | 国产91在线 | 亚洲 | 国产精品视频久久久 | 欧美二三区 | 欧美二区在线 | 国产欧美精品一区二区 | 日韩av在线一区 | 亚洲精品片 | 91小视频在线 | 久久久久国产一级毛片 | 亚洲欧美日韩国产综合 | 黑人巨大精品欧美一区二区免费 | 国产精品久久久久久久久图文区 |