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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機獨立式鍵盤控制的4級變速流水燈源代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:318620 發表于 2018-5-24 18:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. //獨立式鍵盤控制的4級變速流水燈
  2. #include<reg52.h>        //  包含51單片機寄存器定義的頭文件
  3. unsigned char speed;    //儲存流水燈的流動速度
  4. sbit S1=P1^4;          //位定義S1為P1.4
  5. sbit S2=P1^5;          //位定義S2為P1.5
  6. sbit S3=P1^6;          //位定義S3為P1.6
  7. sbit S4=P1^7;          //位定義S4為P1.7
  8. /**************************************************************
  9. 函數功能:延時20ms的子程序
  10. **************************************************************/
  11. void delay20ms(void)    //3*i*j+2*i=3*100*60+2*100=20000μs=20ms;
  12. {
  13.   unsigned char i,j;
  14.   for(i=0;i<100;i++)
  15.    for(j=0;j<60;j++)
  16.            ;
  17. }
  18. /**************************************************************
  19. 函數功能:延時可調子程序
  20. 入口參數:x
  21. **************************************************************/
  22. void delay(unsigned char x)
  23.    {
  24.           unsigned char k;
  25.           for(k=0;k<x;k++)
  26.                    delay20ms();
  27.         }
  28. /**************************************************************
  29. 函數功能:主函數
  30. **************************************************************/
  31. void main(void)
  32. {
  33.    TMOD=0x02;     //使用定時器T0的模式2
  34.           EA=1;          //開總中斷
  35.         ET0=1;         //定時器T0中斷允許
  36.         TR0=1;         //定時器T0開始運行
  37.         TH0=256-200;   //定時器T0賦初值,每200微妙來1次中斷請求
  38.         TL0=256-200;
  39.   speed=3;        //默認流水燈流水點亮延時20ms×3=60ms
  40.    while(1)
  41.           {
  42.                     P0=0xfe;         //第一個燈亮
  43.                     delay(speed);    //調用延時可調子程序
  44.                     P0=0xfd;         //第二個燈亮
  45.                     delay(speed);
  46.                     P0=0xfb;          //第三個燈亮
  47.                    delay(speed);
  48.                    P0=0xf7;          //第四個燈亮
  49.                    delay(speed);
  50.                   P0=0xef;          //第五個燈亮
  51.               delay(speed);
  52.                         P0=0xdf;          //第六個燈亮
  53.                     delay(speed);
  54.                         P0=0xbf;          //第七個燈亮
  55.                 delay(speed);
  56.                         P0=0x7f;          //第八個燈亮
  57.                delay(speed);   
  58.                 P0=0xff;
  59.       }
  60.    }
  61. /**************************************************************
  62. 函數功能:定時器T0的中斷服務子程序,進行鍵盤掃描
  63. **************************************************************/
  64. void intersev(void) interrupt 1 using 1
  65. {
  66.   TR0=0;            //關閉定時器T0/
  67.   P1=0xff;           //將P1口的均置高電平"1"
  68.   if((P1&0xf0)!=0xf0)    //如果有鍵按下
  69.     {
  70.            delay20ms();       //延時20ms,軟件消抖
  71.             if((P1&0xf0)!=0xf0)  //確實有鍵按下
  72.                   {
  73.                      if(S1==0)       //如果是按鍵S1按下
  74.                               speed=5;   //流水燈流水點亮延時20ms×5=100ms
  75.                           if(S2==0)      //如果是按鍵S2按下
  76.                               speed=10;   //流水燈流水點亮延時20ms×10=200ms
  77.                           if(S3==0)      //如果是按鍵S3按下
  78.                               speed=25;  //流水燈流水點亮延時20ms×25=500ms
  79.                           if(S4==0)      //如果是按鍵S4按下
  80.                               speed=50;  //流水燈流水點亮延時20ms×50=1000ms
  81.                    }      
  82.          }      
  83.           TR0=1;               //啟動定時器T0
  84. }


復制代碼

所有資料51hei提供下載:
獨立式鍵盤控制的4級變速流水燈.rar (11.79 KB, 下載次數: 25)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表