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

標題: 51單片機999秒倒計時繼電器控制源程序 [打印本頁]

作者: 凱爾特    時間: 2018-5-6 15:28
標題: 51單片機999秒倒計時繼電器控制源程序
實驗板 K1按鍵 按一下 開始倒計時
       K2按鍵 按一下 停止倒計時

單片機程序如下

  1. #include<reg51.h>
  2. sbit Key_UP=P3^2;
  3. sbit Key_DOWN=P3^3;
  4. unsigned char KeyV,TempKeyV;                                                            
  5. sbit P25=P2^5;//數碼管第5位
  6. sbit P26=P2^6;//數碼管第6位
  7. sbit P27=P2^7;//數碼管第7位
  8. sbit JDQ=P3^7;//繼電器

  9. unsigned int js;
  10. unsigned int ds;//倒計時初始時間
  11. unsigned char jsflag;
  12. static unsigned int i;
  13. unsigned char code LEDDis[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF};

  14. void Delay(unsigned int ii)        //1MS
  15. {
  16. unsigned int jj;
  17. for(;ii>0;ii--)
  18. for(jj=0;jj<125;jj++)
  19. {;}

  20. }
  21. void main()
  22. {
  23.            EA = 1;                                        //允許CPU中斷
  24.         ET0 = 1;                                 //定時器0中斷打開
  25.         ET1=1;                                        //定時器1中斷打開
  26.         TMOD = 0x11;                        //設定時器0 1為模式1,16位模式
  27.         TH0=0xB8;
  28.         TL0=0x00;                                //設定時值為(20ms)
  29.         TH1=0xdc;                                        //設定時值為(10ms)
  30.         TL1=0x00;
  31.         TR0 = 1;
  32.         TR1=1;
  33.         ds=999;
  34.         KeyV = 0;
  35.         TempKeyV = 0;
  36.         jsflag=0;
  37. while(1);
  38. }

  39. //定時器0中斷外理中鍵掃描和顯示
  40. void Key_Time0(void) interrupt 1 using 2
  41. {
  42.   TH0=0xB8;
  43.         TL0=0x00;                                //設定時值為20000us(20ms)
  44.   if (!Key_UP)
  45.     KeyV = 1;
  46.   if (!Key_DOWN)
  47.     KeyV = 2;
  48.    if (KeyV!= 0)      //有鍵按下
  49.     {
  50.       Delay(10);   //延時防抖  按下10ms再測
  51.       if (!Key_UP)
  52.         TempKeyV = 1;
  53.       if (!Key_DOWN)
  54.         TempKeyV = 2;
  55.                  if (KeyV == TempKeyV)   //兩次值相等為確定接下了鍵
  56.            {
  57.                       if (KeyV == 1){
  58.                                    jsflag=0;
  59.                                                       if(ds==0){
  60.                                                    ds=600;
  61.                                                    }
  62.                                                          js=js+1;
  63.                                                         JDQ=0;   //繼電器吸合
  64.                                                 
  65.         if(js==50){
  66.         js=0;
  67.          ds=ds-1;
  68.          
  69.         }
  70. }
  71. if(KeyV==2){
  72.           jsflag=1;
  73.         }
  74. }
  75. }
  76.    if(jsflag==1){
  77.    JDQ=1;
  78.    }
  79.    if(ds==0){
  80.    JDQ=1;
  81.    jsflag=1;
  82.    KeyV=0;
  83.    }
  84. }
  85. void disp_Time1(void) interrupt 3 using 3
  86. {        TH1=0xdc;
  87.         TL1=0x00;
  88.            P0=LEDDis[ds/100];
  89. P25=0;
  90.   Delay(2);
  91.           P25=1;
  92.   P0=LEDDis[(ds%100)/10];
  93. P26=0;
  94.   Delay(2);
  95. P26=1;
  96. P0=LEDDis[ds%10];
  97. P27=0;
  98. Delay(2);
  99.   P27=1;
  100.          
  101. }
復制代碼


999秒倒計時繼電器控制程序.rar

23.2 KB, 下載次數: 23, 下載積分: 黑幣 -5


作者: admin    時間: 2018-5-6 18:19
樓主能分享個原理圖嗎?





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