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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

這個單片機心形流水燈還想加入幾種樣式,求思路

  [復制鏈接]
跳轉到指定樓層
樓主
ID:939347 發表于 2021-6-17 15:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現方法與思路,理清頭緒后我自己來寫程序去實現,謝謝大家

  1. #include<reg52.h>
  2. #include<intrins.h> //庫函數
  3. #define uint unsigned int
  4. #define uchar unsigned char//宏定義
  5. void delay(uint xms)//延時函數
  6. {
  7.               uint i,j;
  8.               for(i=xms;i>0;i--)
  9.                             for(j=110;j>0;j--);
  10. }
  11. void zys(uint t)//左右閃爍
  12. {
  13.               while(t--)
  14.               {
  15.                             P3=P2=0x00;
  16.                             delay(500);
  17.                             P3=P2=0xff;
  18.                             P1=P0=0x00;
  19.                             delay(500);
  20.                             P1=P0=0xff;
  21.               }
  22. }
  23. void qs(uint t)//全部閃亮
  24. {
  25.               while(t--)
  26.               {
  27.                             P0=P1=P2=P3=0xff;
  28.                             delay(300);
  29.                             P0=P1=P2=P3=0x00;
  30.                             delay(300);
  31.               }
  32.               P1=P2=P3=P0=0xff;
  33. }
  34. void ycdl(uint t)//依次點亮
  35. {
  36.               uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
  37.               uint i;
  38.               while(t--)
  39.               {
  40.                             for(i=0;i<8;i++)
  41.                                           {
  42.                                                         P0=table[i];
  43.                                                         delay(200);
  44.                                           }
  45.                             for(i=0;i<8;i++)
  46.                                           {
  47.                                                         P1=table[i];
  48.                                                         delay(200);
  49.                                           }
  50.                             for(i=0;i<8;i++)
  51.                                           {
  52.                                                         P2=table[i];
  53.                                                         delay(200);
  54.                                           }
  55.                             for(i=0;i<8;i++)
  56.                                           {
  57.                                                         P3=table[i];
  58.                                                         delay(200);
  59.                                           }
  60.               }
  61. }
  62. void ycxm (uint t)//依次熄滅
  63. {
  64.                             uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
  65.               uint i;
  66.               while(t--)
  67.               {
  68.                             P0=P1=P2=P3=0x00;
  69.                             for(i=0;i<8;i++)
  70.                                           {
  71.                                                         P0=~table[i];
  72.                                                         delay(200);
  73.                                           }
  74.                             for(i=0;i<8;i++)
  75.                                           {
  76.                                                         P1=~table[i];
  77.                                                         delay(200);
  78.                                           }
  79.                             for(i=0;i<8;i++)
  80.                                           {
  81.                                                         P2=~table[i];
  82.                                                         delay(200);
  83.                                           }
  84.                             for(i=0;i<8;i++)
  85.                                           {
  86.                                                         P3=~table[i];
  87.                                                         delay(200);
  88.                                           }
  89.               }
  90. }
  91. void jgs(uint t)//間隔閃爍
  92. {
  93.               while(t--)
  94.               {
  95.                             P0=P1=P2=P3=0xaa;
  96.                             delay(500);
  97.                             P0=P1=P2=P3=~0xaa;
  98.                             delay(500);
  99.               }
  100.               P0=P1=P2=P3=0xff;
  101.               delay(200);
  102. }

  103. void sszs(uint t)//順時針閃爍
  104. {
  105.               uchar a,i;
  106.               while(t--)
  107.               {
  108.                             a=0xfe;
  109.                             for(i=0;i<8;i++)
  110.                             {
  111.                                           P0=a;
  112.                                           delay(200);
  113.                                           a=_crol_(a,1);
  114.                             }
  115.                             P0=0xff;
  116.                             a=0xfe;
  117.                             for(i=0;i<8;i++)
  118.                             {
  119.                                           P1=a;
  120.                                           delay(200);
  121.                                           a=_crol_(a,1);
  122.                             }
  123.                             P1=0xff;
  124.                             a=0xfe;
  125.                             for(i=0;i<8;i++)
  126.                             {
  127.                                           P2=a;
  128.                                           delay(200);
  129.                                           a=_crol_(a,1);
  130.                             }
  131.                             P2=0xff;
  132.                             a=0xfe;
  133.                             for(i=0;i<8;i++)
  134.                             {
  135.                                           P3=a;
  136.                                           delay(200);
  137.                                           a=_crol_(a,1);
  138.                             }
  139.                             P3=0xff;
  140.               }
  141. }
  142. void nszs(uint t)//逆時針閃爍
  143. {
  144.               uchar a,i;
  145.               while(t--)
  146.               {
  147.                             a=0x7f;
  148.                             for(i=0;i<8;i++)
  149.                             {
  150.                                           P3=a;
  151.                                           delay(200);
  152.                                           a=_cror_(a,1);
  153.                             }
  154.                             P3=0xff;
  155.                             a=0x7f;
  156.                             for(i=0;i<8;i++)
  157.                             {
  158.                                           P2=a;
  159.                                           delay(200);
  160.                                           a=_cror_(a,1);
  161.                             }
  162.                             P2=0xff;
  163.                             a=0x7f;
  164.                             for(i=0;i<8;i++)
  165.                             {
  166.                                           P1=a;
  167.                                           delay(200);
  168.                                           a=_cror_(a,1);
  169.                             }
  170.                             P1=0xff;
  171.                             a=0x7f;
  172.                             for(i=0;i<8;i++)
  173.                             {
  174.                                           P0=a;
  175.                                           delay(200);
  176.                                           a=_cror_(a,1);
  177.                             }
  178.                             P0=0xff;
  179.               }
  180. }
  181. void djs1(uint t)//對角閃爍2個順時針
  182. {
  183.               uchar i;
  184.               uchar code table[]={0xf0,0xe1,0xc3,0x87,0x0f,0x1f,0x3f,0x7f,
  185.                                                                                                                                                           0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,
  186.                                                                                                                                                           0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,
  187.                                                                                                                                                           0xf0,0xe1,0xc3,0x87,0x0f,0x1f,0x3f,0x7f,0xff};
  188.               while(t--)
  189.               {
  190.                             for(i=0;i<17;i++)
  191.                                           {
  192.                                                         P0=P2=table[i];
  193.                                                         P1=P3=table[i+17];
  194.                                                         delay(200);
  195.                                           }
  196.                             for(i=0;i<17;i++)
  197.                                           {
  198.                                                         P1=P3=table[i+17];
  199.                                                         P0=P2=table[i];
  200.                                                         delay(200);
  201.                                           }
  202.               }
  203.               delay(300);
  204.               P0=P1=P2=P3=0xff;
  205. }
  206. void djs2(uint t)//對角閃4個逆時針
  207. {
  208.               uchar i;
  209.               uchar code table[]={0x0f,0x87,0xc3,0xe1,0xf0,0x78,0x3c,0x1e,0x0f};
  210.               while(t--)
  211.               {
  212.                             for(i=0;i<9;i++)
  213.                                           {
  214.                                                         P1=P2=P3=P0=table[i];
  215.                                                         delay(200);
  216.                                           }
  217.               }
  218. }
  219. void sxhx(uint t)//從上往下畫心
  220. {
  221.               uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,
  222.                                                                                                                                                           0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
  223.               uint i;
  224.               while(t--)
  225.               {
  226.                             for(i=0;i<8;i++)
  227.                                           {
  228.                                                         P0=table[i];
  229.                                                         P3=table[i+8];
  230.                                                         delay(200);
  231.                                           }
  232.                             for(i=0;i<8;i++)
  233.                                           {
  234.                                                         P1=table[i];
  235.                                                         P2=table[i+8];
  236.                                                         delay(200);
  237.                                           }
  238.                             P1=P2=P3=P0=0xff;
  239.                             delay(300);
  240.               }
  241. }
  242. void main()
  243. {
  244. while(1)
  245. {
  246. ycdl(1);
  247.               ycxm(1);
  248.               jgs(3);
  249.               sszs(1);
  250.               nszs(1);
  251.               djs1(1);
  252.                             djs2(3);
  253.                             zys(3);
  254.                             sxhx(1);
  255.                             qs(3);
  256. }
  257. }
復制代碼

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

使用道具 舉報

沙發
ID:939347 發表于 2021-6-17 16:34 | 只看該作者
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現方法與思路,理清頭緒后我自己來寫程序去實現,謝謝大家
回復

使用道具 舉報

板凳
ID:377210 發表于 2021-6-17 16:37 | 只看該作者
呼吸模式,爆閃..
回復

使用道具 舉報

地板
ID:328014 發表于 2021-6-17 16:45 | 只看該作者
回復

使用道具 舉報

5#
ID:94031 發表于 2021-6-17 16:46 | 只看該作者
程序架構都有了,就是再寫幾個樣式放到已有樣式后面。
回復

使用道具 舉報

6#
ID:936571 發表于 2021-6-17 17:23 | 只看該作者
void nztl(uint t,uchar a);//逆時逐個同步亮
void sztm(uint t,uchar a)://順時逐個同步滅
void nztm(uint t,uchar a);//逆時逐個同步滅
void hwzji(uint t,uchar a);//橫往中間亮
void hwzjm(uint t,uchar a);//橫往中間滅
//void swzjl(uint t,uchar a);//豎往中間亮
/void swzjm(uint t,uchar a);//豎往中間滅
void nzdl(uint t,uchar a);//逆時逐段亮
void nzdgl(uint t,uchar a);//逆時逐段一個點亮
void jgs(uint t,uchar a);//間隔閃
void delay(uintt);//延時
void zg(uint t,uchar a);://兩邊逐個亮
void qs(uint t,uchar a);://全部閃爍
void zgxh(uint t,uchar a);//逆時針逐個點亮
//void zgxh1(uint t,uchar a);// 順時針逐個點亮
void djs(uint t,uchar a);//對角閃
void sztl(uint t,uchar a);//順時逐個同步亮
void nztl(uint t,uchar a);//逆時逐個同步亮
回復

使用道具 舉報

7#
ID:401564 發表于 2021-6-17 19:50 | 只看該作者
哥們,就一流水燈,還要有什么樣式呢?自己想想不會得了,要么兩邊散開亮,要么是貪吃蛇........
還不如花點心思搞個好看點的外殼,還加個鋰電池和聲控.....
回復

使用道具 舉報

8#
ID:230742 發表于 2021-6-18 00:05 | 只看該作者
一個一個亮,兩個兩個亮,三個三個亮。
隔一個一個亮,隔兩個兩個亮,隔三個三個亮。
慢閃,快閃,一個一個閃,一半一半閃。
一個亮,一個閃,兩個亮,三個閃。
向一頭跑,邊跑邊閃,向兩頭跑,邊跑邊閃。
哎呀,打字好累。
回復

使用道具 舉報

9#
ID:824490 發表于 2021-6-18 16:54 | 只看該作者
追逐、疊加、拉扯、鏡像、互補。。。多了去了。沒意思!
回復

使用道具 舉報

10#
ID:965371 發表于 2021-9-10 22:38 | 只看該作者
框架有了,多謝多謝
回復

使用道具 舉報

11#
ID:973730 發表于 2021-10-21 16:18 | 只看該作者
你這不也是復制的
回復

使用道具 舉報

12#
ID:339654 發表于 2021-10-26 22:48 | 只看該作者
創建子函數,采用調用的方式切換運行
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品超碰 | 亚洲精品av在线 | 国产精品一区在线 | 中国一级特黄真人毛片免费观看 | 久久久久国产精品一区二区 | 久草精品视频 | 一区二区三区韩国 | 亚洲国产精品日韩av不卡在线 | 美女视频网站久久 | 亚洲一区二区国产 | 亚洲区一区二区 | 网站黄色在线 | 一区二区三区四区毛片 | 亚洲高清在线 | 久久精品国产一区二区电影 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 国产欧美在线一区 | 日韩一区二区久久 | 日韩中文字幕一区二区 | 欧美精品网站 | 免费一级黄色录像 | 午夜久久久 | 国产精品一区二区不卡 | 中文字幕在线电影观看 | 亚洲国产成人精品一区二区 | 69性欧美高清影院 | 欧美自拍网站 | 精品国产一区二区三区久久影院 | 97精品超碰一区二区三区 | www.99热.com| 国产一区www | 免费美女网站 | 亚欧午夜 | 欧美日韩国产在线观看 | 青青草在线播放 | 日日夜夜操天天干 | 日韩一区二区在线观看视频 | 成人av高清在线观看 | 人人鲁人人莫人人爱精品 | 午夜欧美 | 日韩欧美一区在线 |