標(biāo)題: 基于51單片機(jī)的流水燈源碼 [打印本頁]

作者: 君丶    時(shí)間: 2020-3-31 22:39
標(biāo)題: 基于51單片機(jī)的流水燈源碼

流水燈亮法:
1.從左到右依次亮起一個(gè)燈
2.從右到左依次亮起一個(gè)燈
3.從左到右依次點(diǎn)亮LED燈(前面不熄滅)
4.從右到左依次熄滅LED燈
5.全亮全滅4次循環(huán)
6.4個(gè)LED閃爍
7.從左到右隔一個(gè)燈依次亮起

代碼有些繁瑣,希望有大佬幫忙簡化簡化

  1. <font color="rgb(77, 77, 77)"><font face="&quot;"><font style="font-size: 16px">#include "reg52.h"
  2. #include<intrins.h>
  3. typedef unsigned char u8;
  4. typedef unsigned int u16;
  5. #define led P2 //定義LED燈所在的位置

  6. void delay(u16 i)   //延時(shí)函數(shù)
  7. {
  8.    while(i--);
  9. }

  10. void main()
  11. {
  12.   u8 i=0;
  13.   while(1)
  14.   {
  15.      led=0xfe;
  16.      delay(20000);
  17.      for(i=0;i<7;i++)   //從左到右依次亮起一個(gè)燈
  18.          {
  19.            led=_crol_(led,1);
  20.            delay(20000);
  21.          }
  22.      for(i=0;i<7;i++)   //從右到左依次亮起一個(gè)燈
  23.          {
  24.            led=_cror_(led,1);
  25.            delay(20000);
  26.          }

  27. //從左到右依次點(diǎn)亮LED燈  從右到左依次熄滅LED燈
  28.          led=0xff;
  29.          delay(20000);
  30.          led=0xfe;
  31.          delay(20000);
  32.          led=0xfc;
  33.          delay(20000);
  34.          led=0xf8;
  35.          delay(20000);
  36.          led=0xf0;
  37.          delay(20000);
  38.          led=0xe0;
  39.          delay(20000);
  40.          led=0xc0;
  41.          delay(20000);
  42.          led=0x80;
  43.          delay(20000);
  44.          led=0x00;
  45.          delay(20000);
  46.          led=0x80;
  47.          delay(20000);
  48.          led=0xc0;
  49.          delay(20000);
  50.          led=0xe0;
  51.          delay(20000);
  52.          led=0xf0;
  53.          delay(20000);
  54.          led=0xf8;
  55.          delay(20000);
  56.          led=0xfc;
  57.          delay(20000);
  58.          led=0xfe;
  59.          delay(20000);
  60.          led=0xff;
  61.          delay(20000);
  62.          
  63. //全亮全滅4次循環(huán)
  64.          led=0x00;
  65.          delay(20000);
  66.          led=0xff;
  67.          delay(20000);  
  68.          led=0x00;
  69.          delay(20000);
  70.          led=0xff;
  71.          delay(20000);
  72.          led=0x00;
  73.          delay(20000);
  74.          led=0xff;
  75.          delay(20000);
  76.          led=0x00;
  77.          delay(20000);
  78.          led=0xff;
  79.          delay(20000);

  80. //4個(gè)LED閃爍
  81.          led=0xf0;
  82.          delay(20000);
  83.          led=0x0f;
  84.          delay(20000);
  85.          led=0xf0;
  86.          delay(20000);
  87.          led=0x0f;
  88.          delay(20000);
  89.          led=0xf0;
  90.          delay(20000);
  91.          led=0x0f;
  92.          delay(20000);
  93.          led=0xf0;
  94.          delay(20000);
  95.          led=0x0f;
  96.          delay(20000);

  97. //從左到右隔一個(gè)燈依次亮起
  98.          led=0xfe;
  99.          for(i=0;i<7;i++)
  100.          {
  101.            led=_crol_(led,2);
  102.            delay(20000);
  103.          }
  104.                   


  105.   }
  106. }</font></font></font>
復(fù)制代碼
本人萌新一枚,沒有黑幣下載資料了,發(fā)篇我剛學(xué)習(xí)時(shí)寫的流水燈賺點(diǎn)黑幣。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1