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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1712|回復: 0
收起左側

單片機按鍵控制八位流水燈的程序設計 雙燈一起從上到下點亮 不斷循環 依次從上到下...

[復制鏈接]
ID:1059846 發表于 2022-12-30 22:04 | 顯示全部樓層 |閱讀模式
該設計使用keil和proteus軟件共同實現。設計了四種按鍵
實現依次從上到下逐個點亮的流水燈效果,并循環進行。
實現從下到上依次點亮,全部點亮后,全滅,并開始下次循環。
實現雙燈一起從上到下點亮,并不斷循環。
實現熄滅所有的燈。
并非采用數組法,希望可以啟發大家一些其他思路。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
2.png

單片機源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int


  4. sbit L1=P1^0;
  5. sbit L2=P1^1;
  6. sbit L3=P1^2;
  7. sbit L4=P1^3;
  8. sbit L5=P1^4;
  9. sbit L6=P1^5;
  10. sbit L7=P1^6;
  11. sbit L8=P1^7;

  12. void delay(uint n)
  13. {
  14.      uchar i;
  15.      uint j;
  16.      for(j=0;j<n;j++)
  17.      for(i=0;i<123;i++);
  18. }

  19. void flash0()
  20. {
  21.      delay(500);
  22.      
  23. }

  24. void flash1()
  25. {
  26.      L1=0;
  27.      delay(500);
  28.      
  29. }

  30. void flash2()
  31. {
  32.      L2=0;
  33.      delay(500);
  34.      
  35. }

  36. void flash3()
  37. {
  38.      L3=0;
  39.      delay(500);
  40.      
  41. }

  42. void flash4()
  43. {
  44.      L4=0;
  45.      delay(500);
  46.      
  47. }

  48. void flash5()
  49. {
  50.      L5=0;
  51.      delay(500);
  52.      
  53. }

  54. void flash6()
  55. {
  56.      L6=0;
  57.      delay(500);
  58.      
  59. }

  60. void flash7()
  61. {
  62.      L7=0;
  63.      delay(500);
  64.      
  65. }

  66. void flash8()
  67. {
  68.      L8=0;
  69.      delay(500);
  70.      
  71. }

  72. void flash9()
  73. {
  74.     L1 = 0;
  75.     L2 = 0;
  76.     delay(500);

  77. }

  78. void flash10()
  79. {
  80.     L3 = 0;
  81.     L4 = 0;
  82.     delay(500);

  83. }

  84. void flash11()
  85. {
  86.     L5 = 0;
  87.     L6 = 0;
  88.     delay(500);

  89. }

  90. void flash12()
  91. {
  92.     L7 = 0;
  93.     L8 = 0;
  94.     delay(500);

  95. }

  96. void flash13()
  97. {
  98.     L8 = 0;
  99.     delay(500);

  100. }

  101. void flash14()
  102. {
  103.     L7 = 0;
  104.     L8 = 0;
  105.     delay(500);

  106. }

  107. void flash15()
  108. {
  109.     L6 = 0;
  110.           L7 = 0;
  111.     L8 = 0;
  112.     delay(500);

  113. }

  114. void flash16()
  115. {
  116.           L5 = 0;
  117.           L6 = 0;
  118.     L7 = 0;
  119.     L8 = 0;
  120.     delay(500);

  121. }

  122. void flash17()
  123. {
  124.           L4 = 0;
  125.           L5 = 0;
  126.           L6 = 0;
  127.     L7 = 0;
  128.     L8 = 0;
  129.     delay(500);

  130. }

  131. void flash18()
  132. {
  133.           L3 = 0;
  134.           L4 = 0;
  135.           L5 = 0;
  136.           L6 = 0;
  137.     L7 = 0;
  138.     L8 = 0;
  139.     delay(500);

  140. }



  141. void flash19()
  142. {   
  143.           L2 = 0;
  144.           L3 = 0;
  145.           L4 = 0;
  146.           L5 = 0;
  147.           L6 = 0;
  148.     L7 = 0;
  149.     L8 = 0;
  150.     delay(500);

  151. }

  152. void flash20()
  153. {   
  154.           L1 = 0;
  155.           L2 = 0;
  156.           L3 = 0;
  157.           L4 = 0;
  158.           L5 = 0;
  159.           L6 = 0;
  160.     L7 = 0;
  161.     L8 = 0;
  162.     delay(500);

  163. }

  164. void main (void)
  165. {
  166.      bit dir=0,run=0,cit=0;
  167.            char i;
  168.      while(1)
  169.      {
  170.           switch(P0 & 0x0f)
  171.           {
  172.                case 0x0e:run=1,dir=1,cit=1;break;
  173.                case 0x0d:run=1,dir=1,cit=0;break;
  174.                case 0x0b:run=1,dir=0;break;
  175.                                                    case 0x07:run=0;break;
  176.                                                    
  177.           }
  178.      if(run)
  179.           if(dir)
  180.                                                 if(cit)

  181.                {
  182.                     delay(500);
  183.                                                                     flash1();
  184.                     flash2();
  185.                     flash3();
  186.                     flash4();
  187.                     flash5();
  188.                     flash6();
  189.                     flash7();
  190.                     flash8();
  191.                     P1=0xff;
  192.                                                                  
  193.                }
  194.             else

  195.                {   
  196.                                                                     delay(500);
  197.                     flash13();
  198.                     flash14();
  199.                     flash15();
  200.                     flash16();
  201.                     flash17();
  202.                     flash18();
  203.                     flash19();
  204.                     flash20();
  205.                     P1=0xff;
  206.                }
  207.           else
  208.                                         {  
  209.                                                  delay(500);
  210.                                                  flash9();
  211.                                                  flash10();
  212.                                                  flash11();
  213.                                                  flash12();        
  214.              P1=0xff;                                                
  215.                                                 

  216.           }
  217.      else                P2=0xff;
  218.                                        
  219.      }
  220.                         ;
  221.                         ;
  222.                   ;
  223.          
  224. }
復制代碼
Keil代碼與Proteus仿真下載: LED.zip (67.57 KB, 下載次數: 20)

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一伦一伦一伦 | 日本午夜网 | 精品蜜桃一区二区三区 | 成人免费在线观看 | 精品亚洲一区二区三区四区五区 | 在线播放国产一区二区三区 | 国产区精品在线观看 | 国产精品免费在线 | 午夜日韩精品 | 成人一区二区三区在线观看 | 久久亚洲欧美日韩精品专区 | 久久网亚洲 | 九一在线观看 | 在线欧美视频 | 国产毛片久久久久久久久春天 | 亚洲激情一区二区三区 | 91久久久久久久久久久久久 | 精品国产乱码久久久久久a丨 | 91玖玖| 欧美三级成人理伦 | 99亚洲精品 | 看黄在线 | 亚洲视频免费观看 | 国产专区视频 | a级大片| 91综合网| 国产在线不卡 | 久久国产一区 | 亚洲精品一区二区 | 视频一区中文字幕 | 毛片网站在线观看 | 成人毛片视频免费 | 中文一区| 成人精品系列 | 欧美视频免费 | 国产精品日日做人人爱 | 91精品久久久久久久久 | 国产精品一区二区福利视频 | 国产精品一区二区电影 | 亚洲男人网 | www.yw193.com|