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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2619|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

這個(gè)單片機(jī)心形流水燈還想加入幾種樣式,求思路

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:939347 發(fā)表于 2021-6-17 15:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來(lái)寫(xiě)程序去實(shí)現(xiàn),謝謝大家

  1. #include<reg52.h>
  2. #include<intrins.h> //庫(kù)函數(shù)
  3. #define uint unsigned int
  4. #define uchar unsigned char//宏定義
  5. void delay(uint xms)//延時(shí)函數(shù)
  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)//依次點(diǎn)亮
  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)//順時(shí)針閃爍
  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)//逆時(shí)針閃爍
  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)//對(duì)角閃爍2個(gè)順時(shí)針
  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)//對(duì)角閃4個(gè)逆時(shí)針
  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)//從上往下畫(huà)心
  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. }
復(fù)制代碼

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

使用道具 舉報(bào)

沙發(fā)
ID:939347 發(fā)表于 2021-6-17 16:34 | 只看該作者
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來(lái)寫(xiě)程序去實(shí)現(xiàn),謝謝大家
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

6#
ID:936571 發(fā)表于 2021-6-17 17:23 | 只看該作者
void nztl(uint t,uchar a);//逆時(shí)逐個(gè)同步亮
void sztm(uint t,uchar a)://順時(shí)逐個(gè)同步滅
void nztm(uint t,uchar a);//逆時(shí)逐個(gè)同步滅
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);//逆時(shí)逐段亮
void nzdgl(uint t,uchar a);//逆時(shí)逐段一個(gè)點(diǎn)亮
void jgs(uint t,uchar a);//間隔閃
void delay(uintt);//延時(shí)
void zg(uint t,uchar a);://兩邊逐個(gè)亮
void qs(uint t,uchar a);://全部閃爍
void zgxh(uint t,uchar a);//逆時(shí)針逐個(gè)點(diǎn)亮
//void zgxh1(uint t,uchar a);// 順時(shí)針逐個(gè)點(diǎn)亮
void djs(uint t,uchar a);//對(duì)角閃
void sztl(uint t,uchar a);//順時(shí)逐個(gè)同步亮
void nztl(uint t,uchar a);//逆時(shí)逐個(gè)同步亮
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

12#
ID:339654 發(fā)表于 2021-10-26 22:48 | 只看該作者
創(chuàng)建子函數(shù),采用調(diào)用的方式切換運(yùn)行
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频在线免费观看 | 久久三级影院 | 国产成人免费视频网站视频社区 | 国产精品无码专区在线观看 | 亚洲电影在线播放 | 国产精品久久欧美久久一区 | 精产嫩模国品一二三区 | 日本久久福利 | 毛片久久久 | 欧美精品日韩精品国产精品 | 中文字幕一区二区三区在线观看 | 欧美精品在线一区二区三区 | 99色视频| 国产精品一区二区福利视频 | 成人一区二| 天天躁日日躁狠狠躁2018小说 | 一区二区三区 在线 | 亚洲精品视频在线播放 | 亚洲伊人精品酒店 | 亚洲视频在线观看免费 | 国产精品久久久久久久久久久久 | 国产 日韩 欧美 中文 在线播放 | 一区二区国产在线 | 中文字幕成人av | 狠狠色香婷婷久久亚洲精品 | 日日干夜夜操 | 91九色视频 | www久久久 | 99视频在线免费观看 | 久久中文字幕视频 | 欧美日韩中文字幕在线播放 | 一区二区视频 | 国产成人久久精品一区二区三区 | 亚洲精品久久久久久首妖 | 黄免费看 | 成人精品鲁一区一区二区 | 免费三级网 | 国产精品视频一区二区三区 | av三级在线观看 | 国产偷录视频叫床高潮对白 | 精品国产一区二区三区久久影院 |