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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

電瓶車充電定時器

[復制鏈接]
跳轉到指定樓層
樓主
ID:71259 發表于 2014-12-29 20:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


  1. /////////////////////////////////////////
  2. ///作者:改變                       //
  3. ///名稱:電瓶車定時充電器,到時間斷開  //
  4. ///日期:2010.11.26                    //
  5. /////////////////////////////////////////

  6. #include <reg52.h>
  7. #define uchar unsigned char
  8. #define uint unsigned int
  9. unsigned char rem[6]={0,7,3,0,0,0};
  10. unsigned code bcd[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x7f};
  11. uint m0,j;
  12. bit DD_1,SMXS;
  13. sbit  DD=P0^7;
  14. sbit  DSKG=P3^1;
  15. sbit  SB1=P1^0;                  //分時切換鍵
  16. sbit  SB2=P1^1;                  //時減減
  17. sbit  SB3=P1^2;                  //分減減
  18. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  19. void yanshi()
  20. {uint kk;
  21. kk=100;
  22. while(kk--);
  23. }
  24. ////////////顯示分秒
  25. xianshim()
  26. {unsigned char i;
  27. for (i=2;i<6;i++)
  28.      {
  29.       P2=~(0x01<<(i-2));
  30.       P0=bcd[rem[i]];
  31.       if((i-2)==1)if(DD_1)DD=0;
  32.       yanshi();
  33.       P0=0xff;
  34.       }
  35. }
  36. /////////////////////////////////
  37. ////////////顯示時分
  38. xianshis()
  39. {unsigned char i;
  40. for (i=0;i<4;i++)
  41.      {
  42.       P2=~(0x01<<i);
  43.       P0=bcd[rem[i]];
  44.       if(i==1)if(DD_1)DD=0;
  45.       yanshi();
  46.       P0=0xff;
  47.       }
  48. }
  49. /////////////////////////////////
  50. jishi() interrupt 1
  51. {
  52. TH0=(65536-46080)/256;
  53. TL0=(65536-46080)%256;
  54. m0++;
  55. if(m0==9)DD_1=~DD_1;
  56. if(m0==20)/////////////////20次一秒
  57.   {
  58.   DD_1=~DD_1;
  59.   m0=0;
  60.   if(rem[5]==0)
  61.      {
  62.    if(rem[4]==0)
  63.        {
  64.      if(rem[3]==0)
  65.      {
  66.          if(rem[2]==0)
  67.             {
  68.        if(rem[1]==0)
  69.                      {
  70.               if(rem[0]==0)
  71.               {
  72.          DSKG=1;////////////全零零時斷電
  73.          TR0=0;
  74.          rem[0]=rem[1]=rem[2]=rem[3]=rem[4]=rem[5]=0;
  75.          }
  76.         else
  77.          {
  78.          rem[0]--;
  79.          rem[1]=rem[3]=rem[5]=9;
  80.          rem[2]=rem[4]=5;
  81.           }
  82.        }
  83.         else
  84.        {
  85.         rem[1]--;
  86.         rem[2]=rem[4]=5;
  87.         rem[3]=rem[5]=9;
  88.         }
  89.        }
  90.      else
  91.       {
  92.       rem[2]--;
  93.       rem[4]=5;
  94.       rem[3]=rem[5]=9;
  95.       }
  96.          }
  97.      else
  98.      {
  99.      rem[3]--;
  100.      rem[4]=5;
  101.      rem[5]=9;
  102.      }
  103.         }
  104.    else
  105.     {
  106.     rem[4]--;
  107.     rem[5]=9;
  108.     }
  109.   }
  110.     else rem[5]--;   
  111.   }   

  112. }
  113. /////////////////////////////////
  114. anjian()
  115. {
  116. P1=0xff;
  117. if(SB1==0)
  118.    {
  119.     yanshi();
  120. if(SB1==0)
  121.     {
  122.      while(SB1==0);
  123.   SMXS=~SMXS;
  124.   }
  125. }
  126. if(SB2==0)
  127.    {
  128.     yanshi();
  129. if(SB2==0)
  130.     {
  131.      while(SB2==0);
  132.   if(rem[1]==0)
  133.      {
  134.       if(rem[0]==0)
  135.       {
  136.       rem[0]=rem[1]=1;
  137.       }
  138.       else
  139.       {
  140.       rem[0]--;
  141.       rem[1]=9;
  142.       }
  143.    }
  144.   else rem[1]--;
  145.        }
  146.   }
  147. if(SB3==0)
  148.    {
  149.     yanshi();
  150. if(SB3==0)
  151.     {
  152.      while(SB3==0);
  153.   if(rem[3]==0)
  154.      {
  155.        if(rem[2]==0)
  156.        {
  157.      rem[2]=5;
  158.      rem[3]=9;
  159.      }
  160.     else
  161.         {
  162.         rem[2]--;
  163.      rem[3]=9;
  164.       }
  165.    }
  166.   else rem[3]--;
  167.      }
  168. }
  169. }
  170. //////////////////////////////////
  171. void main(void)
  172. {
  173. m0=0;
  174. TMOD=0x01;
  175. TH0=(65536-45833)/256;
  176. TL0=(65536-45833)%256;
  177. EA=1;
  178. ET0=1;
  179. TR0=1;
  180. DSKG=0;
  181. j=0;
  182. while(1)
  183.    {
  184.     if(SMXS)xianshis();//時顯示
  185. else xianshim();//秒顯示
  186. anjian();
  187. j++;
  188. if(j==5000)/////秒時標志定時切換
  189.    {
  190.     j=0;
  191.     SMXS=~SMXS;
  192.     }
  193.    }
  194. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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