<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)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機 >> 正文

      STC12C2052AD單片機控制的數(shù)碼管時鐘程序及電路圖

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2018-03-07


           STC12C2052AD單片機控制的數(shù)碼管時鐘,數(shù)碼管是共陽4位時鐘數(shù)碼管,由于使用單片機真驅(qū),電路比較簡單,且使用的材料和工具也很簡單,用數(shù)碼管顯示,單片機控制,兩個按鍵調(diào)時,蜂鳴器整點報時。所需要的元件如下:

             材料有以下這些:
              STC12C2052AD單片機一片
              黃色共陽4位時鐘數(shù)碼管一塊
              6mm×6mm按鍵兩個
              杜邦線插針2p兩個
              無源蜂鳴器一個
              20腳+14腳芯片座各一個
              洞洞板一塊(截取一小部分)
              100歐電阻4個

      單片機時鐘實物圖 

      STC12C2052AD單片機控制的數(shù)碼管時鐘程序及電路圖 

      單片機時鐘零件實物圖 

      程序如下:

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

      #include <STC12C2052AD.h>  //聲明頭文件

      sbit key1=P3^4;  //按鍵接口定義

      sbit key2=P3^5;  //按鍵接口定義

      sbit speaker=P3^7;  //蜂鳴器接口定義

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

      unsigned char code LED[10]={0x20,0xA7,0x90,0x82,0x07,0x42,0x40,0xA6,0x00,0x02};//數(shù)碼管段位碼定義

      unsigned int time; //全局秒基準定義

      /*-------------------------------------延時函數(shù)-------------------------------------*/

      void delayms (unsigned int a){

      unsigned int i;

      while( --a != 0){

      for(i = 0; i < 600; i++);

      }

      }

      /*----------------------------------蜂鳴器驅(qū)動函數(shù)----------------------------------*/

      void beep (void)

      {  

      unsigned char i=30;

      while(i--)

      {

      speaker=~speaker;

      delayms(3);

          }

      }

      /*----------------------------------數(shù)碼管驅(qū)動函數(shù)----------------------------------*/

      void display (unsigned char hour,min)

      {

      unsigned char H1,H2,M1,M2;

      P3=0xf8; //數(shù)碼管位選

      P1 = LED[H1];     //數(shù)碼管段選

      delayms (2); //掃描延時

      P3=0xf4; //數(shù)碼管位選

      P1 = LED[H2];     //數(shù)碼管段選

      delayms (2); //掃描延時

      P3=0xf2; //數(shù)碼管位選

      P1 = LED[M1];     //數(shù)碼管段選

      delayms (2); //掃描延時

      P3=0xf1; //數(shù)碼管位選

      P1 = LED[M2];     //數(shù)碼管段選

      delayms (2); //掃描延時

      /*--------------------------------------分定義--------------------------------------*/

      M1=min/10;//取分十位

      min=min%10;//取余 

      M2=min;//取分個位

      /*--------------------------------------時定義--------------------------------------*/

      H1=hour/10;//取時十位

      hour=hour%10;//取余 

      H2=hour;//取時個位

      }

      /*-----------------------------------按鍵去抖函數(shù)-----------------------------------*/

      void qudou (unsigned char hour,min)

      {

      unsigned char i;

      for(i=0;i<25;i++){//循環(huán)顯示,等于鍵盤去抖的功能

      display (hour,min);

      }

      }

      /*--------------------------------------主函數(shù)--------------------------------------*/

      void main(void)

      {

      ////定時器初始設置

      TMOD=0x01;//定時器工作方式1

      TH0=0x3C;//定時器初始產(chǎn)生50ms時基信號

      TL0=0xB0;//定時器初始產(chǎn)生50ms時基信號

      ET0=1;//開定時器中斷

      EA=1;//開總中斷

      TR0=1;//啟動定時器

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

      while(1)

      {

      unsigned char hour,min;//定義時分


      display (hour,min);//調(diào)用顯示函數(shù)


      if (time>59)//60秒向分進1

      {

      time=0;

      min++;

         }

      if (min>59)//60分向時進1

      {

      min=0;

      hour++;

      beep ();

          }

      if (hour>23)//24時時分秒清零

      {

      hour=0;

      min=0;

      time=0;

      }

      /*-----------------------------------按鍵判斷程序-----------------------------------*/

      if(key1==0)

      qudou (hour,min);

      if (key1==0) {hour++;}


      if(key2==0)

      qudou (hour,min);

      if (key2==0) {min++;}

      }

      }

      /*-----------------------------------中斷服務程序-----------------------------------*/

      void Timer0_Routine(void) interrupt 1

      {

      unsigned char a;

      TH0=0x3C;//定時器初始產(chǎn)生50ms時基信號

      TL0=0xB0;//定時器初始產(chǎn)生50ms時基信號

          a++;//定時器循環(huán)計數(shù)20次為一秒

      if (a==20){//定時器循環(huán)計數(shù)20次為一秒

      a=0;//次數(shù)清零,從新循環(huán)計數(shù)

      time++;//秒加一

      }

      }

       

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

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

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 久久综合久久久久88| 欧洲 亚洲 国产图片综合| 一本一道久久a久久精品综合 | 亚洲综合精品成人| 天天做天天爱天天爽综合区| 国产综合一区二区| 亚洲欧美熟妇综合久久久久| 丁香五月亚洲综合深深爱| 激情综合婷婷丁香五月俺来也| 久久综合中文字幕| 国产综合内射日韩久| segui久久综合精品| 亚洲色偷偷偷综合网| 伊人久久婷婷五月综合97色| 久久综合精品不卡一区二区| 亚洲国产成人久久综合一区77| 亚洲日韩在线中文字幕综合| 亚洲综合一区二区精品久久| 亚洲综合婷婷久久| 久久婷婷五月综合色国产香蕉| 琪琪五月天综合婷婷| 俺来也俺去啦久久综合网| 八区精品色欲人妻综合网| 在线成人综合色一区| 久久婷婷成人综合色综合| 综合偷自拍亚洲乱中文字幕| 热久久综合这里只有精品电影 | 亚洲综合精品网站在线观看| 婷婷激情五月综合| 色欲老女人人妻综合网| 国产精品成人免费综合| 亚洲国产综合无码一区二区二三区 | 婷婷亚洲综合一区二区| 色综合蜜桃视频在线观看| 五月天婷亚洲天综合网精品偷| 一本大道无香蕉综合在线 | 狠狠人妻久久久久久综合蜜桃| 国产成人亚洲综合| 天堂久久天堂AV色综合| 亚洲人成依人成综合网| 噜噜综合亚洲AV中文无码|