標(biāo)題: 單片機(jī)實(shí)驗(yàn) 流水燈實(shí)驗(yàn) [打印本頁(yè)]

作者: xuelongxl    時(shí)間: 2016-11-5 20:57
標(biāo)題: 單片機(jī)實(shí)驗(yàn) 流水燈實(shí)驗(yàn)
內(nèi)容:是12個(gè)LED發(fā)光二極管左循環(huán)閃亮,然后右循環(huán)閃亮
  1. #include "reg52.h"

  2. #define LEDPORT1                        (P1)        //定義LED燈的端口
  3. #define LEDPORT2                (P2)
  4. #define MOVESPEED                (500)        //定義流水的速度
  5. #define ALLLEDOFF                (0xff)        //使所有燈熄滅的值

  6. //初始化函數(shù)
  7. void Init(void)
  8. {
  9. LEDPORT1=ALLLEDOFF; //熄滅所有燈
  10. LEDPORT2=ALLLEDOFF;
  11. }

  12. //延時(shí)函數(shù)
  13. //x為延時(shí)時(shí)間,范圍1~65535
  14. void xDelay(unsigned int x)
  15. {
  16. unsigned char y;

  17. for(;x>0;x--)
  18.   for(y=110;y>0;y--);
  19. }

  20. //流水效果1函數(shù)
  21. void Effect1(void)
  22. {
  23. unsigned char TempOut1,TempOut2,xIndex;

  24. TempOut1=0xfe; //輸出值賦初值
  25. TempOut2=0xfe;
  26. for(xIndex=8;xIndex>0;xIndex--) //循環(huán)處理8個(gè)燈
  27.   {
  28.    LEDPORT1=TempOut1;           //輸出值刷新到端口線
  29.    TempOut1<<=1;                   //計(jì)算下一個(gè)輸出值
  30.    xDelay(MOVESPEED);  //延時(shí)一會(huì)
  31.   }
  32. LEDPORT1=ALLLEDOFF;
  33. for(xIndex=4;xIndex>0;xIndex--) //循環(huán)處理8個(gè)燈
  34.   {
  35.    LEDPORT2=TempOut2;           //輸出值刷新到端口線
  36.    TempOut2<<=1;                   //計(jì)算下一個(gè)輸出值
  37.    xDelay(MOVESPEED);  //延時(shí)一會(huì)
  38.   }
  39. }

  40. //流水效果2函數(shù)
  41. void Effect2(void)
  42. {
  43. unsigned char TempOut1,TempOut2,xIndex;

  44. TempOut1=0xfe;
  45. TempOut2=0xfe;
  46. for(xIndex=8;xIndex>0;xIndex--)
  47.   {
  48.    LEDPORT1=TempOut1;
  49.    TempOut1<<=1;
  50.    TempOut1|=1;
  51.    xDelay(MOVESPEED);
  52.   }
  53. for(xIndex=4;xIndex>0;xIndex--)
  54.   {
  55.    LEDPORT2=TempOut2;
  56.    TempOut2<<=1;
  57.    TempOut2|=1;
  58.    xDelay(MOVESPEED);
  59.   }
  60. }

  61. void main(void)
  62. {
  63. Init();  //調(diào)用初始化函數(shù)

  64. while(1){ //無(wú)限循環(huán)
  65.   Init();
  66.   Effect1(); //調(diào)用效果1函數(shù)
  67.   Init();
  68.   Effect2(); //調(diào)用效果2函數(shù)
  69. }
  70. }
復(fù)制代碼

04實(shí)驗(yàn)四 流水燈.zip

18.54 KB, 下載次數(shù): 2, 下載積分: 黑幣 -5






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