<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

      89c51 8位LED動態(tài)掃描時鐘程序

      作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時間:2011-5-22

      89c51 8位LED動態(tài)掃描時鐘程序

      //使用12MHZ晶振,P0口輸出段碼,P2口作列掃描,用共陽LED數(shù)碼管
      //
      #include "reg51.h"
      code char dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
      /* 共陽LED段碼表     "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9" "不亮"     */                
      code char scan_con[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};   // 列掃描控制字
      data char disdata[6]={0x00,0x00,0x00,0x00,0x00,0x00};//計(jì)時單元數(shù)據(jù)初值,共6個
      data char dis[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00};//顯示單元數(shù)據(jù),共6個數(shù)據(jù)
      data char con1s=0x00,con04s=0x00,con=0X00; //1秒定時用
      sbit key0=0x90;
      sbit key1=0x91;
      sbit key2=0x92;
      //
      /****************/
      //1毫秒延時程序//
      /***************/
      delay1ms(int t)
      {
      int i,j;
      for(i=0;i<t;i++)
         for(j=0;j<120;j++)
         ;
      }
      /****************/
      // 鍵掃描子程序 //
      /****************/
      keyscan()
      {
       EA=0;
      if(key0==0)
        {
         delay1ms(10);
         while(key0==0);
          if(dis[con]==10)
          {dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];}
          con++;TR0=0;ET0=0;TR1=1;ET1=1;
          if(con>=6)
            {con=0;TR1=0;ET1=0;TR0=1;ET0=1;}
        }
      //
      if(con!=0)
      {
       if(key1==0)
         {
          delay1ms(10);
          while(key1==0);
          disdata[con]++;
           if(disdata[con]>=10)
             {disdata[con]=0;}
          dis[con]=disdata[con];dis[6]=0x0a;
          }
      }
      //
      if(con!=0)
      {
       if(key2==0)
        {
          delay1ms(10);
          while(key2==0);
             if(disdata[con]==0)
                {disdata[con]=0x09;}
              else {disdata[con]--;}
          dis[con]=disdata[con];dis[6]=0x0a;
        }
      }
      EA=1;
      }
      //
      /***********/
      //掃描程序//
      /**********/
      scan()
      {
      char k;
      for(k=0;k<6;k++)
       {
        P0=dis_7[dis[k]];P2=scan_con[k];delay1ms(1);P2=0xff;
        }
      }
      /*************/
      //初始化程序//
      /*************/
      clearmen()
      {
      int i;
      for(i=0;i<6;i++)
        {
         dis[i]=disdata[i];}
      TH0=0x3C;TL0=0xB0;//     ;50MS定時初值(T0計(jì)時用)
      TH1=0x3C;TL1=0xB0;//     ;50MS定時初值(T1計(jì)時用)
      TMOD=0X11;ET0=1;ET1=1;TR1=0;TR0=1;EA=1;//
      }
      /**********/
      //主程序//
      /*********/
      main()
      {
      clearmen();
      while(1)
       {
         scan();
         keyscan();
        }
      }
      /********************/
      //1秒中斷處理程序  //
      /*******************/
      void time_intt0(void) interrupt 1 
      {
      ET0=0;TR0=0;TH0=0x3C;TL0=0xB0;TR0=1;
      con1s++;
      if(con1s==20)
        {
         con1s=0x00;
         disdata[0]++;
         if(disdata[0]>=10)
          {
          disdata[0]=0;disdata[1]++;
            if(disdata[1]>=6)
              {
                disdata[1]=0;disdata[2]++;
                  if(disdata[2]>=10)
                    {
                      disdata[2]=0;disdata[3]++;
                        if(disdata[3]>=6)
                          {
                           disdata[3]=0;disdata[4]++;
                             if(disdata[4]>=10)
                               {
                                disdata[4]=0;disdata[5]++;
                                } 
                                 if(disdata[5]==2 )
                                    {
                                   if(disdata[4]==4)
                                     {
                                      disdata[4]=0;disdata[5]=0;
                                     }
                                  }
                          }
                    }
               }
          }
      dis[0]=disdata[0];dis[1]=disdata[1];dis[2]=disdata[2];
      dis[3]=disdata[3];dis[4]=disdata[4];dis[5]=disdata[5];
        }
       ET0=1;
      }
      /********************/
      //0.4秒閃爍中斷程序  //
      /*******************/
      void time_intt1(void) interrupt 3 
      {
       EA=0;TR1=0;TH1=0x3C;TL1=0xB0;TR1=1;
       con04s++;
      if(con04s==8)
        {
          con04s=0x00;
          dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];
         }
       EA=1;
      }

      //***************************************************************

      Tags:單片機(jī),c語言,時鐘程序  
      責(zé)任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合久| 图图资源网亚洲综合网站| 亚洲国产精品综合久久久| 婷婷综合久久中文字幕蜜桃三电影| 91精品国产综合久久婷婷| 久久伊人久久亚洲综合| 成人综合久久综合| 琪琪五月天综合婷婷| 亚洲综合久久精品无码色欲| 国产成人久久综合二区| 亚洲综合久久1区2区3区| 色综合伊人色综合网站| 久久婷婷五月综合色高清| 乱色熟女综合一区二区三区| 亚洲人成伊人成综合网久久| 伊人久久大香线蕉综合影| 国产亚洲精品第一综合| 久久婷婷五月综合97色一本一本| 一本色道久久综合亚洲精品高清| 色综合天天综合网站中国| 久久综合综合久久综合| 久久综合日本熟妇| 色婷婷综合缴情综免费观看| 一本狠狠色丁香婷婷综合久久| 开心五月激情综合婷婷| 亚洲精品天天影视综合网| 亚洲综合色区在线观看| 五月综合色婷婷在线观看| 热综合一本伊人久久精品| 五月综合激情婷婷六月色窝| 亚洲日韩在线中文字幕综合| 色综合久久精品亚洲国产| 亚洲人成综合网站7777香蕉| 久久一日本道色综合久久| 99久久国产亚洲综合精品| 亚洲国产综合AV在线观看| 尹人久久大香找蕉综合影院| 天天做天天爱天天综合网2021 | 久久久久一级精品亚洲国产成人综合AV区 | 亚洲人成综合在线播放| 麻豆久久婷婷综合五月国产|