欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機定時器實現流水燈代碼 [打印本頁]

作者: Iris123    時間: 2019-6-14 16:23
標題: 單片機定時器實現流水燈代碼
定時器實現流水燈

單片機源程序如下:
  1.    //*********************************************************************************
  2. //功能:查詢方式實現間隔1s的流水燈程序。8個發光二極管依次順序點亮,采用循環移位
  3. //函數_crol_(m,1)實現
  4. //實驗箱上D1區J52接P1
  5. //*********************************************************************************
  6. #include<reg51.h>                                                /*包含頭文件REG51.H*/
  7. #include <intrins.h>                                        /*包含函數_crol_(m,1)的頭文件*/
  8. #define uchar unsigned char
  9. #define LED P1                                                /*定義8個LED接至P1口*/
  10. #define Count 50000                                        /* T1方式1定時50ms的計數值*/
  11. uchar Temp1, Temp2;
  12. void Delay1s();                                                //1s延時函數聲明
  13. void main()                                                        //主程序
  14. {
  15.         TMOD=0x10;                                                //設置T1為定時器、方式1
  16.         LED=0xff;                                                //8個LED全部熄滅
  17.         Temp1=0xfe;                                                //點亮最上面的LED
  18.         LED=Temp1;
  19.         while(1)
  20.         {
  21.                 Delay1s();                                        //調用1s延時函數
  22.                 Temp2=_crol_(Temp1,1);                 //采用_crol_(m,1)實現單只LED從上到下依次點亮
  23.                 Temp1=Temp2;
  24.                 LED=Temp2;
  25.         }
  26. }
  27. //*********************************************************************************
  28. //函數名:Delay1s
  29. //函數功能:利用T1定時、方式1實現1s延時,采用查詢方式實現
  30. //*********************************************************************************
  31. void Delay1s()
  32. {
  33.         uchar i;
  34.         for(i=0;i<0x14;i++)                                        //設置20次循環次數
  35.         {            
  36.                 TH1=(65536-Count)/256;                 //T1的高8位初值
  37.                 TL1=(65536-Count)%256;                //T1的低8位初值
  38.                 TR1=1;                                                //啟動T1
  39.                 while(!TF1);                                         //查詢計數是否溢出,即定時50ms時間到了嗎?
  40.                 TF1=0;                                                //50ms定時時間到,將T1溢出標志位TF1清零
  41.         }
  42. }
復制代碼

所有資料51hei提供下載:
定時器實現流水燈.zip (61.82 KB, 下載次數: 25)







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