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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機七彩炫光愛心花樣燈程序代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:76127 發表于 2015-4-17 21:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. //姬家寨電子科技實驗室 程序編寫:姬學瑞 版權所有,侵權必究   !
  2. #include <REGX52.H>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
  6. uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
  7. uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED從1個亮到8個都點亮(從低位往高位)
  8. uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個亮到8個都點亮(從高位往低位)
  9. uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個全亮到一個都不亮(從低位往高位)
  10. uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個全亮到一個都不亮(從高位往低位)
  11. uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED從低位往高位移(最低位始終為0)
  12. uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED從高位往低位移(最高位始終為0)
  13. uchar i,j;  //定義循環變量
  14. uint tt=70;  //定義時間指數
  15. void delay(uint time) //延時函數
  16. {
  17. uint x,y;
  18. for(x=time;x>0;x--)
  19. for(y=110;y>0;y--);
  20. }
  21. void disp0()   //狀態0 所有LED閃爍3次
  22. {
  23. for(i=0;i<3;i++)
  24. {
  25.   P0=0x00; P2=0x00; P3=0x00; P1=0x00;
  26.   delay(300);
  27.   P0=0xff; P2=0xff; P3=0xff; P1=0xff;
  28.   delay(300);
  29. }
  30. }
  31. void disp1()   //狀態1 LED順時針轉一圈
  32. {
  33. for(i=0;i<8;i++)
  34. {
  35.   P2=table1[i];
  36.   delay(100);
  37. }
  38. P2=0xff;
  39. for(i=0;i<8;i++)
  40. {
  41.   P3=table1[i];
  42.   delay(100);
  43. }
  44. P3=0xff;
  45. for(i=0;i<8;i++)
  46. {
  47.   P1=table1[i];      
  48.   delay(100);
  49. }
  50. P1=0xff;
  51. for(i=0;i<8;i++)
  52. {
  53.   P0=table0[i];
  54.   delay(100);
  55. }
  56. P0=0xff;
  57. }
  58. void disp2()   //狀態2 LED逆時針轉一圈
  59. {
  60. for(i=0;i<8;i++)
  61. {
  62.   P0=table1[i];
  63.   delay(100);
  64. }
  65. P0=0xff;
  66. for(i=0;i<8;i++)
  67. {
  68.   P1=table0[i];
  69.   delay(100);
  70. }
  71. P1=0xff;
  72. for(i=0;i<8;i++)
  73. {
  74.   P3=table0[i];
  75.   delay(100);
  76. }
  77. P3=0xff;
  78. for(i=0;i<8;i++)
  79. {
  80.   P2=table0[i];
  81.   delay(100);
  82. }
  83. P2=0xff;
  84. }
  85. void disp3()   //狀態3 4個LED同時順時、逆時針移動1/4圈
  86. {
  87. for(i=0;i<8;i++)
  88. {
  89.   P0=table1[i];
  90.   P1=table1[i];
  91.   P2=table1[i];
  92.   P3=table0[i];
  93.   delay(100);
  94. }
  95. for(i=0;i<8;i++)
  96. {
  97.   P0=table0[i];
  98.   P1=table0[i];
  99.   P2=table0[i];
  100.   P3=table1[i];
  101.   delay(100);
  102. }
  103. P3=0xff; P0=0xff;
  104. }
  105. void disp4()   //狀態4  2個LED同時順時針移動半圈
  106. {
  107. for(i=0;i<8;i++)
  108. {
  109.   P2=table1[i];
  110.   P1=table1[i];
  111.   delay(100);
  112. }
  113. P2=0xff; P1=0xff;
  114. for(i=0;i<8;i++)
  115. {
  116.   P3=table1[i];
  117.   P0=table0[i];
  118.   delay(100);
  119. }
  120. P3=0xff; P0=0xff;
  121. }
  122. void disp5()   //狀態5  2個LED同時逆時針移動半圈
  123. {
  124. for(i=0;i<8;i++)
  125. {
  126.   P0=table1[i];
  127.   P3=table0[i];
  128.   delay(100);
  129. }
  130. P0=0xff; P3=0xff;
  131. for(i=0;i<8;i++)
  132. {
  133.   P1=table0[i];
  134.   P2=table0[i];
  135.   delay(100);
  136. }
  137. P1=0xff; P2=0xff;
  138. }
  139. void disp6()   //狀態6 LED自上而下逐漸點亮(一半點亮一半不亮)
  140. {
  141. for(i=0;i<8;i++)
  142. {
  143.   P0=table3[i];
  144.   P2=table3[i];
  145.   delay(100);
  146. }
  147. P0=0xff; P2=0xff;
  148. for(i=0;i<8;i++)
  149. {
  150.   P1=table2[i];
  151.   P3=table3[i];
  152.   delay(100);
  153. }
  154. P1=0xff; P3=0xff;
  155. }
  156. void disp7()   //狀態7 LED自下而上逐漸點亮(直到全部點亮)
  157. {
  158. for(i=0;i<8;i++)
  159. {
  160.   P1=table3[i];
  161.   P3=table2[i];
  162.   delay(100);
  163. }
  164. for(i=0;i<8;i++)
  165. {
  166.   P0=table2[i];
  167.   P2=table2[i];
  168.   delay(100);
  169. }
  170. }
  171. void disp8()   //狀態8 間斷8格的4個LED亮并逆時針旋轉
  172. {
  173. for(j=0;j<2;j++)
  174. {
  175.   for(i=0;i<8;i++)
  176.   {
  177.    P0=table1[i];
  178.    P2=table0[i];
  179.    P1=table0[i];
  180.    P3=table0[i];
  181.    delay(100);
  182.   }
  183.   P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  184.   for(i=0;i<8;i++)
  185.   {
  186.    P0=table1[i];
  187.    P2=table0[i];
  188.    P1=table0[i];
  189.    P3=table0[i];
  190.    delay(100);
  191.   }
  192.   P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  193. }
  194. }
  195. void disp9()   //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
  196. {
  197. for(i=0;i<8;i++)
  198. {
  199.   P0=table3[i];
  200.   P2=table2[i];
  201.   P1=table2[i];
  202.   P3=table2[i];
  203.   delay(100);
  204. }
  205. delay(500);
  206. }
  207. void disp10()   //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
  208. {
  209. for(i=0;i<9;i++)
  210. {
  211.   P0=table5[i];
  212.   P2=table4[i];
  213.   P1=table4[i];
  214.   P3=table4[i];
  215.   delay(100);
  216. }
  217. delay(300);
  218. }
  219. void disp11()   //狀態11 間斷8格的4個LED亮并順時針旋轉
  220. {
  221. for(j=0;j<2;j++)
  222. {
  223.   for(i=0;i<8;i++)
  224.   {
  225.    P0=table0[i];
  226.    P2=table1[i];
  227.    P1=table1[i];
  228.    P3=table1[i];
  229.    delay(100);
  230.   }
  231.   P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  232.   for(i=0;i<8;i++)
  233.   {
  234.    P0=table0[i];
  235.    P2=table1[i];
  236.    P1=table1[i];
  237.    P3=table1[i];
  238.    delay(100);
  239.   }
  240.   P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  241. }
  242. }
  243. void disp12()   //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮)
  244. {
  245. for(i=0;i<8;i++)
  246. {
  247.   P0=table2[i];
  248.   P2=table3[i];
  249.   P1=table3[i];
  250.   P3=table3[i];
  251.   delay(100);
  252. }
  253. delay(1000);
  254. }
  255. void disp13()   //狀態13 從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅)
  256. {
  257. for(i=0;i<9;i++)
  258. {
  259.   P0=table4[i];
  260.   P2=table5[i];
  261.   P1=table5[i];
  262.   P3=table5[i];
  263.   delay(100);
  264. }
  265. delay(300);
  266. }
  267. void disp14()   //狀態14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐步點亮)
  268. {
  269. for(i=0;i<8;i++)
  270. {
  271.   P0=table2[i];
  272.   P1=table2[i];
  273.   P2=table2[i];
  274.   P3=table3[i];
  275.   delay(100);
  276. }
  277. }
  278. void disp15()   //狀態15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅)
  279. {
  280. for(i=0;i<9;i++)
  281. {
  282.   P0=table5[i];
  283.   P1=table5[i];
  284.   P2=table5[i];
  285.   P3=table4[i];
  286.   delay(100);
  287. }
  288. delay(300);
  289. }
  290. void disp16()   //狀態16 LED燈交替閃爍(頻率有慢變快)
  291. {
  292. for(i=0;i<5;i++)
  293. {
  294.   P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  295.   delay(100);
  296.   P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  297.   delay(100);
  298. }
  299. for(i=0;i<5;i++)
  300. {
  301.   P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  302.   delay(200);
  303.   P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  304.   delay(200);
  305. }
  306. for(i=0;i<5;i++)
  307. {
  308.   P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  309.   delay(300);
  310.   P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  311.   delay(300);
  312. }
  313. P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  314. delay(300);
  315. }
  316. void disp17()   //狀態17 LED從P0.7開始逆時針逐步點亮,(循環2次)并且速度會逐步提高
  317. {
  318. for(i=0;i<8;i++)
  319. {
  320.   P0=table3[i];
  321.   delay(100);
  322. }
  323. for(i=0;i<8;i++)
  324. {
  325.   P1=table2[i];
  326.   delay(100);
  327. }
  328. for(i=0;i<8;i++)
  329. {
  330.   P3=table2[i];
  331.   delay(100);
  332. }
  333. for(i=0;i<8;i++)
  334. {
  335.   P2=table2[i];
  336.   delay(100);
  337. }
  338. P0=0xff; P1=0xff; P3=0xff; P2=0xff;
  339. /*******************************/
  340. for(i=0;i<8;i++)
  341. {
  342.   P0=table3[i];
  343.   delay(50);
  344. }
  345. for(i=0;i<8;i++)
  346. {
  347.   P1=table2[i];
  348.   delay(50);
  349. }
  350. for(i=0;i<8;i++)
  351. {
  352.   P3=table2[i];
  353.   delay(50);
  354. }
  355. for(i=0;i<8;i++)
  356. {
  357.   P2=table2[i];
  358.   delay(50);
  359. }
  360. P0=0xff; P1=0xff; P3=0xff; P2=0xff;
  361. }
  362. void disp18()   //狀態18 LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅)
  363. {
  364. for(i=0;i<8;i++)
  365. {
  366.   P0=table3[i];
  367.   delay(100);
  368. }
  369. P0=0xff;
  370. for(i=0;i<8;i++)
  371. {
  372.   P1=table2[i];
  373.   delay(100);
  374. }
  375. P1=0xff;
  376. for(i=0;i<8;i++)
  377. {
  378.   P3=table2[i];
  379.   delay(100);
  380. }
  381. P3=0xff;
  382. for(i=0;i<8;i++)
  383. {
  384.   P2=table2[i];
  385.   delay(100);
  386. }
  387. P2=0xff;
  388. }
  389. void disp19()   //狀態19 LED從P2.7開始順時針逐步點亮,(循環2次)并且速度會逐步提高
  390. {
  391. for(i=0;i<8;i++)
  392. {
  393.   P2=table3[i];
  394.   delay(100);
  395. }
  396. for(i=0;i<8;i++)
  397. {
  398.   P3=table3[i];
  399.   delay(100);
  400. }
  401. for(i=0;i<8;i++)
  402. {
  403.   P1=table3[i];
  404.   delay(100);
  405. }
  406. for(i=0;i<8;i++)
  407. {
  408.   P0=table2[i];
  409.   delay(100);
  410. }
  411. P0=0xff; P1=0xff; P3=0xff; P2=0xff;
  412. /*******************************/
  413. for(i=0;i<8;i++)
  414. {
  415.   P2=table3[i];
  416.   delay(50);
  417. }
  418. for(i=0;i<8;i++)
  419. {
  420.   P3=table3[i];
  421.   delay(50);
  422. }
  423. for(i=0;i<8;i++)
  424. {
  425.   P1=table3[i];
  426.   delay(50);
  427. }
  428. for(i=0;i<8;i++)
  429. {
  430.   P0=table2[i];
  431.   delay(50);
  432. }
  433. P0=0xff; P1=0xff; P3=0xff; P2=0xff;
  434. }
  435. void disp20()   //狀態20 LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅)
  436. {
  437. for(i=0;i<8;i++)
  438. {
  439.   P2=table3[i];
  440.   delay(100);
  441. }
  442. P2=0xff;
  443. for(i=0;i<8;i++)
  444. {
  445.   P3=table3[i];
  446.   delay(100);
  447. }
  448. P3=0xff;
  449. for(i=0;i<8;i++)
  450. {
  451.   P1=table3[i];
  452.   delay(100);
  453. }
  454. P1=0xff;
  455. for(i=0;i<8;i++)
  456. {
  457.   P0=table2[i];
  458.   delay(100);
  459. }
  460. P0=0xff;  
  461. }
  462. void disp21()   //狀態21 2個LED開始上下移動半圈
  463. {
  464. for(i=0;i<8;i++)
  465. {
  466.   P0=table1[i];
  467.   P2=table1[i];
  468.   delay(100);
  469. }
  470. P0=0xff; P2=0xff;
  471. for(i=0;i<8;i++)
  472. {
  473.   P1=table0[i];
  474.   P3=table1[i];
  475.   delay(100);
  476. }

  477. for(i=0;i<8;i++)
  478. {
  479.   P1=table1[i];
  480.   P3=table0[i];
  481.   delay(100);
  482. }
  483. P1=0xff; P3=0xff;
  484. for(i=0;i<8;i++)
  485. {
  486.   P0=table0[i];
  487.   P2=table0[i];
  488.   delay(100);
  489. }
  490. }
  491. void disp22()   //裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環5次頻率再逐漸降低)
  492. {
  493. for(j=0;j<5;j++)
  494. {
  495.   for(i=0;i<8;i++)
  496.   {
  497.    P0=table1[i];
  498.    P2=table1[i];
  499.    delay(tt);
  500.   }
  501.   P0=0xff; P2=0xff;
  502.   for(i=0;i<8;i++)
  503.   {
  504.    P1=table0[i];
  505.    P3=table1[i];
  506.    delay(tt);
  507.   }
  508.   P1=0xff; P3=0xff;
  509.   tt=tt-10;
  510. }
  511. for(j=0;j<16;j++)
  512. {
  513.   for(i=0;i<8;i++)
  514.   {
  515.    P0=table1[i];
  516.    P2=table1[i];
  517.    delay(20);
  518.   }
  519.   P0=0xff; P2=0xff;
  520.   for(i=0;i<8;i++)
  521.   {
  522.    P1=table0[i];
  523.    P3=table1[i];
  524.    delay(20);
  525.   }
  526.   P1=0xff; P3=0xff;
  527. }
  528. tt=20;
  529. for(j=0;j<5;j++)
  530. {
  531.   for(i=0;i<8;i++)
  532.   {
  533.    P0=table1[i];
  534.    P2=table1[i];
  535.    delay(tt);
  536.   }
  537.   P0=0xff; P2=0xff;
  538.   for(i=0;i<8;i++)
  539.   {
  540.    P1=table0[i];
  541.    P3=table1[i];
  542.    delay(tt);
  543.   }
  544.   P1=0xff; P3=0xff;
  545.   tt=tt+10;
  546. }
  547. tt=70;
  548.   
  549. }
  550. void disp23()   //狀態23 LED上下交替閃爍
  551. {
  552. for(i=0;i<2;i++)
  553. {
  554.   P0=0x00; P2=0x00;
  555.   delay(1000);
  556.   P0=0xff; P2=0xff;
  557.   P1=0x00; P3=0x00;
  558.   delay(1000);
  559.   P1=0xff; P3=0xff;
  560. }
  561. }
  562. void disp24()   //狀態24 LED左右交替閃爍
  563. {
  564. P1=0xff; P3=0xff; P0=0xff; P2=0xff;
  565. for(i=0;i<2;i++)
  566. {
  567.   P0=0x00; P1=0x00;
  568.   delay(1000);
  569.   P0=0xff; P1=0xff;
  570.   P2=0x00; P3=0x00;
  571.   delay(1000);
  572.   P2=0xff; P3=0xff;
  573. }
  574. }
  575. void disp25()   //狀態25 LED交替閃爍
  576. {
  577. for(i=0;i<5;i++)
  578. {
  579.   P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  580.   delay(1000);
  581.   P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  582.   delay(1000);  
  583. }
  584. }
  585. void disp26()   //狀態26 2個LED開始上下移動半圈(LED不亮流水)
  586. {
  587. P0=0x00;P1=0x00;P2=0x00;P3=0x00;
  588. for(i=0;i<8;i++)
  589. {
  590.   P0=~table1[i];
  591.   P2=~table1[i];
  592.   delay(200);
  593. }
  594. P0=0x00; P2=0x00;
  595. for(i=0;i<8;i++)
  596. {
  597.   P1=~table0[i];
  598.   P3=~table1[i];
  599.   delay(200);
  600. }

  601. for(i=0;i<8;i++)
  602. {
  603.   P1=~table1[i];
  604.   P3=~table0[i];
  605.   delay(200);
  606. }
  607. P1=0x00; P3=0x00;
  608. for(i=0;i<8;i++)
  609. {
  610.   P0=~table0[i];
  611.   P2=~table0[i];
  612.   delay(200);
  613. }
  614. }
  615. void disp27()   //狀態27 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  616. {
  617. P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  618. for(j=0;j<2;j++)
  619. {
  620.   for(i=0;i<8;i++)
  621.   {
  622.    P2=table3[i];
  623.    P1=table3[i];
  624.    delay(100);
  625.   }
  626.   P2=0xff; P1=0xff;
  627.   for(i=0;i<8;i++)
  628.   {
  629.    P0=table2[i];
  630.    P3=table3[i];
  631.    delay(100);
  632.   }
  633.   P0=0xff; P3=0xff;
  634. }
  635. }
  636.    
  637. void disp28()   //狀態28 P1、P2和P0、P3交替閃爍
  638. {
  639. for(i=0;i<2;i++)
  640. {
  641.   P1=0x00; P2=0x00; P0=0xff; P3=0xff;
  642.   delay(1000);
  643.   P1=0xff; P2=0xff; P0=0x00; P3=0x00;
  644.   delay(1000);
  645. }
  646. P1=0xff; P2=0xff; P0=0xff; P3=0xff;
  647. }
  648. void disp29()   //狀態29 逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮P0、P3的LED,再順時熄滅
  649. {
  650. P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  651. for(j=0;j<2;j++)
  652. {
  653.   for(i=0;i<8;i++)
  654.   {
  655.    P2=table3[i];
  656.    P1=table3[i];
  657.    delay(100);
  658.   }
  659.   for(i=0;i<9;i++)
  660.   {
  661.    P2=table5[i];
  662.    P1=table5[i];
  663.    delay(100);
  664.   }
  665.   for(i=0;i<8;i++)
  666.   {
  667.    P0=table2[i];
  668.    P3=table3[i];
  669.    delay(100);
  670.   }
  671.   for(i=0;i<9;i++)
  672.   {
  673.    P0=table4[i];
  674.    P3=table5[i];
  675.    delay(100);
  676.   }
  677. }
  678. delay(200);
  679. }
  680. void disp30()   //狀態30 逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮P0、P3的LED
  681. {
  682. P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  683. for(j=0;j<2;j++)
  684. {
  685.   for(i=0;i<8;i++)
  686.   {
  687.    P2=table2[i];
  688.    P1=table2[i];
  689.    delay(100);
  690.   }
  691.   P2=0xff; P1=0xff;
  692.   for(i=0;i<8;i++)
  693.   {
  694.    P0=table3[i];
  695.    P3=table2[i];
  696.    delay(100);
  697.   }
  698.   P0=0xff; P3=0xff;
  699. }
  700. }
  701. void disp31()   //狀態31 逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮P0、P3的LED,再逆時熄滅
  702. {
  703. P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  704. for(j=0;j<2;j++)
  705. {
  706.   for(i=0;i<8;i++)
  707.   {
  708.    P2=table2[i];
  709.    P1=table2[i];
  710.    delay(100);
  711.   }
  712.   for(i=0;i<9;i++)
  713.   {
  714.    P2=table4[i];
  715.    P1=table4[i];
  716.    delay(100);
  717.   }
  718.   for(i=0;i<8;i++)
  719.   {
  720.    P0=table3[i];
  721.    P3=table2[i];
  722.    delay(100);
  723.   }
  724.   for(i=0;i<9;i++)
  725.   {
  726.    P0=table5[i];
  727.    P3=table4[i];
  728.    delay(100);
  729.   }
  730. }
  731. delay(200);
  732. }
  733. void disp32()   //狀態32 LED自上而下逐步點亮,然后從下往上逐步熄滅
  734. {
  735. for(i=0;i<8;i++)
  736. {
  737.   P0=table3[i];
  738.   P2=table3[i];
  739.   delay(100);
  740. }
  741. for(i=0;i<8;i++)
  742. {
  743.   P1=table2[i];
  744.   P3=table3[i];
  745.   delay(100);
  746. }
  747. for(i=0;i<9;i++)
  748. {
  749.   P1=table5[i];
  750.   P3=table4[i];
  751.   delay(100);
  752. }
  753. for(i=0;i<9;i++)
  754. {
  755.   P0=table4[i];
  756.   P2=table4[i];
  757.   delay(100);
  758. }
  759. }
  760. void disp33()   //狀態33 LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
  761. {
  762. for(i=0;i<8;i++)
  763. {
  764.   P0=table2[i];
  765.   P1=table2[i];
  766.   delay(100);
  767. }
  768. for(i=0;i<8;i++)
  769. {
  770.   P2=table3[i];
  771.   P3=table2[i];
  772.   delay(100);
  773. }
  774. delay(500);
  775. for(i=0;i<9;i++)
  776. {
  777.   P2=table4[i];
  778.   P3=table5[i];
  779.   P1=table4[i];
  780.   P0=table4[i];
  781.   delay(100);
  782. }
  783. delay(300);
  784. }
  785. void disp34()   //狀態34 LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅
  786. {
  787. for(i=0;i<8;i++)
  788. {
  789.   P2=table2[i];
  790.   P3=table3[i];
  791.   delay(100);
  792. }
  793. for(i=0;i<8;i++)
  794. {
  795.   P0=table3[i];
  796.   P1=table3[i];
  797.   delay(100);
  798. }
  799. delay(500);
  800. for(i=0;i<9;i++)
  801. {
  802.   P2=table5[i];
  803.   P3=table4[i];
  804.   P1=table5[i];
  805.   P0=table5[i];
  806.   delay(100);
  807. }
  808. delay(300);
  809. }
  810. void disp35()   //狀態35  從P2.7、P1.7開始同時順時針旋轉,直到LED全亮
  811. {
  812. for(i=0;i<8;i++)
  813. {
  814.   P2=table3[i];
  815.   P1=table3[i];
  816.   delay(100);
  817. }
  818. for(i=0;i<8;i++)
  819. {
  820.   P3=table3[i];
  821.   P0=table2[i];
  822.   delay(100);
  823. }
  824. }
  825. void disp36()   //狀態36  從P0.7、P3.1開始同時逆時針旋轉,直到LED全亮
  826. {
  827. for(i=0;i<8;i++)
  828. {
  829.   P0=table3[i];
  830.   P3=table2[i];
  831.   delay(100);
  832. }
  833. for(i=0;i<8;i++)
  834. {
  835.   P1=table2[i];
  836.   P2=table2[i];
  837.   delay(100);
  838. }
  839. }
  840. void disp37()   //狀態37 2個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次
  841. {
  842. for(i=0;i<8;i++)
  843. {
  844.   P0=table1[i];
  845.   P2=table1[i];
  846.   delay(100);
  847. }
  848. P0=0xff; P2=0xff;
  849. for(i=0;i<8;i++)
  850. {
  851.   P1=table0[i];
  852.   P3=table1[i];
  853.   delay(100);
  854. }

  855. for(i=0;i<8;i++)
  856. {
  857.   P1=table7[i];
  858.   P3=table6[i];
  859.   delay(100);
  860. }
  861. P1=0x7f; P3=0xfe;
  862. for(i=0;i<8;i++)
  863. {
  864.   P0=table0[i];
  865.   P2=table0[i];
  866.   delay(100);
  867. }

  868. for(i=0;i<8;i++)
  869. {
  870.   P0=table1[i];
  871.   P2=table1[i];
  872.   P1=table1[i];
  873.   P3=table0[i];
  874.   delay(200);
  875. }

  876. for(i=0;i<8;i++)
  877. {
  878.   P0=table0[i];
  879.   P1=table0[i];
  880.   P2=table0[i];
  881.   P3=table1[i];
  882.   delay(200);
  883. }
  884. P0=0xff;P1=0xff; P2=0xff;P3=0xff;
  885. }
  886. void disp38()   //狀態38 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  887. {
  888. P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  889. for(j=0;j<2;j++)
  890. {
  891.   for(i=0;i<8;i++)
  892.   {
  893.    P2=table3[i];
  894.    P1=table3[i];
  895.    delay(100);
  896.   }
  897.   P2=0xff; P1=0xff;
  898.   for(i=0;i<8;i++)
  899.   {
  900.    P0=table2[i];
  901.    P3=table3[i];
  902.    delay(100);
  903.   }
  904.   P0=0xff; P3=0xff;
  905. }
  906. }
  907. void disp39()   //狀態39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次
  908. {
  909. P1=0x00; P3=0x00;
  910. for(i=0;i<8;i++)
  911. {
  912.   P0=table3[i];
  913.   P2=table3[i];
  914.   delay(150);
  915. }
  916. for(i=0;i<8;i++)
  917. {
  918.   P0=table3[i];
  919.   P2=table3[i];
  920.   delay(300);
  921. }
  922. for(i=0;i<4;i++)
  923. {
  924.   P0=~P0; P2=~P2;
  925.   delay(300);
  926. }
  927. delay(1000);
  928. }
  929. void disp40()   //狀態40 LED從P3.0、P0.7開始逆時針同時熄滅,直到LED全部熄滅
  930. {
  931. for(i=0;i<9;i++)
  932. {
  933.   P3=table4[i];
  934.   P0=table5[i];
  935.   delay(100);
  936. }
  937. for(i=1;i<9;i++)
  938. {
  939.   P2=table4[i];
  940.   P1=table4[i];
  941.   delay(100);
  942. }
  943. delay(300);
  944. }
  945. void disp41()   //狀態41 LED從P2.7、P1.7開始順時針同時熄滅,直到全部熄滅
  946. {
  947. for(i=0;i<9;i++)
  948. {
  949.   P2=table5[i];
  950.   P1=table5[i];
  951.   delay(100);
  952. }
  953. for(i=1;i<9;i++)
  954. {
  955.   P0=table4[i];
  956.   P3=table5[i];
  957.   delay(100);
  958. }
  959. delay(300);  
  960. }
  961. void main()
  962. {
  963. while(1)
  964. {  
  965.   disp22();  //裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環5次頻率再逐漸降低)
  966.   disp0();  //狀態0 所有LED閃爍3次
  967.   disp1();  //狀態1 LED順時針轉一圈
  968.   disp2();  //狀態2 LED逆時針轉一圈
  969.   disp3();  //狀態3 4個LED同時順時、逆時針移動1/4圈
  970.   disp4();  //狀態4  2個LED同時順時針移動半圈
  971.   disp5();  //狀態5  2個LED同時逆時針移動半圈
  972.   disp6();  //狀態6 LED自上而下逐漸點亮(一半點亮一半不亮)
  973.   disp7();  //狀態7 LED自下而上逐漸點亮(直到全部點亮)
  974.   disp0();  //狀態0 所有LED閃爍3次
  975.   disp8();  //狀態8 間斷8格的4個LED亮并逆時針旋轉
  976.   disp9();  //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
  977.   disp10();  //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
  978.   disp11();  //狀態11 間斷8格的4個LED亮并順時針旋轉
  979.   disp12();  //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮)
  980.   disp13();  //狀態13 從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅)
  981.   disp14();  //狀態14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐布點亮)  
  982.   disp15();  //狀態15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅)
  983.   disp16();  //狀態16 LED燈交替閃爍(頻率有慢變快)
  984.   disp17();  //狀態17 LED從P0.7開始逆時針逐步點亮,并且速度會逐步提高
  985.   disp18();  //狀態18 LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅)
  986.   disp19();  //狀態19 LED從P2.7開始順時針逐步點亮,(循環2次)并且速度會逐步提高
  987.   disp20();  //狀態20 LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅)
  988.   disp21();  //狀態21 2個LED開始上下移動半圈
  989.   disp22();  //裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環5次頻率再逐漸降低
  990.   disp23();  //狀態23 LED上下交替閃爍
  991.   disp39();  //狀態39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次
  992.   disp24();  //狀態24 LED左右交替閃爍
  993.   disp25();  //狀態25 LED交替閃爍
  994.   disp8();  //狀態8 間斷8格的4個LED亮并逆時針旋轉
  995.   disp9();  //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
  996.   disp10();  //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
  997.   disp26();  //狀態26 2個LED開始上下移動半圈(LED不亮流水)
  998.   disp27();  //狀態27 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  999.   disp28();  //狀態28 P1、P2和P0、P3交替閃爍
  1000.   disp38();  //狀態38 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  1001.   disp29();  //狀態29 逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮P0、P3的LED,再順時熄滅
  1002.   disp30();  //狀態30 逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮P0、P3的LED
  1003.   disp31();  //狀態31 逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮P0、P3的LED,再逆時熄滅
  1004.   disp32();  //狀態32 LED自上而下逐步點亮,然后從下往上逐步熄滅
  1005.   disp33();  //狀態33 LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
  1006.   disp37();  //狀態37 2個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次
  1007.   disp36();  //狀態36  從P0.7、P3.0開始同時逆時針旋轉,直到LED全亮
  1008.   disp40();  //狀態40 LED從P3.0、P0.7開始逆時針同時熄滅,直到LED全部熄滅
  1009.   disp35();  //狀態35  從P2.7、P1.7開始同時順時針旋轉,直到LED全亮
  1010.   disp41();  //狀態41 LED從P2.7、P1.7開始順時針同時熄滅,直到全部熄滅
  1011.   disp34();  //狀態34 LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅
  1012.   disp28();  //狀態28 P1、P2和P0、P3交替閃爍
  1013. }
  1014. }
復制代碼


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

使用道具 舉報

沙發
ID:72624 發表于 2015-6-23 09:18 | 只看該作者
支持一下,感覺有點亂,能精煉一下更好
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男女视频在线观看免费 | 久久蜜桃资源一区二区老牛 | 国产福利91精品 | 日韩精品在线一区 | 欧美在线a| 亚洲性视频 | 精品一区二区三区在线播放 | 亚洲网站在线观看 | 91精品国产乱码久久久久久久久 | 中文字幕免费观看 | 国产区免费视频 | 欧美一区二区视频 | 午夜精品一区 | 日本不卡一区二区三区在线观看 | 99精品福利视频 | 国产精品精品视频一区二区三区 | 日韩成人免费视频 | 亚州视频在线 | 一级a性色生活片久久毛片 一级特黄a大片 | 激情五月婷婷 | 成人免费在线观看 | 奇米视频777| 91.xxx.高清在线 | 一区二区亚洲 | 福利精品在线观看 | 日韩欧美专区 | 国内自拍偷拍视频 | 国精产品一区二区三区 | 亚洲综合三区 | 国产7777| 久久久久久91香蕉国产 | 欧美在线视频二区 | 国产a区| 欧美亚洲国产一区二区三区 | 奇米四色在线观看 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 午夜精品视频一区 | 成人免费观看男女羞羞视频 | 99精品亚洲国产精品久久不卡 | 欧美午夜精品 | 91黄色片免费看 |