<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è)計 | 電子開發(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)

      {

      ////定時器初始設(shè)置

      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++;}

      }

      }

      /*-----------------------------------中斷服務(wù)程序-----------------------------------*/

      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ù)碼管時鐘程序,單片機  
      責(zé)任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 国产成人亚洲综合| 狠狠色丁香婷婷久久综合五月| 亚洲欧美日韩综合久久久久| 精品综合久久久久久99| 色噜噜狠狠狠综合曰曰曰| 亚洲日韩久久综合中文字幕| 人人婷婷色综合五月第四人色阁| 一本色道久久综合亚洲精品| 色噜噜狠狠色综合成人网| 亚洲国产一成久久精品国产成人综合| 亚洲av日韩综合一区在线观看| 成人综合在线视频| 中文字幕亚洲综合久久| 国产成人亚综合91精品首页| 亚洲精品综合在线影院| 国内偷自视频区视频综合| 国产婷婷综合在线视频| 久久综合亚洲色hezyo| 国产精品天天影视久久综合网| 中文字幕国产综合| 伊人色综合久久天天网| 天天干天天色综合网| 久久综合久久综合亚洲| 亚洲乱码中文字幕小综合| 久久综合狠狠综合久久| 色欲综合久久躁天天躁蜜桃| 九月丁香婷婷亚洲综合色| 亚洲综合精品香蕉久久网| 亚洲 自拍 另类小说综合图区| 一本久道综合色婷婷五月| 色欲久久久久久综合网精品| 一本久道综合在线无码人妻 | 久久国产精品亚洲综合| 亚洲VA综合VA国产产VA中| 一本久到久久亚洲综合| 久久综合伊人77777| 狠色狠色狠狠色综合久久| 色久综合网精品一区二区| 色噜噜狠狠色综合成人网| 五月综合色婷婷在线观看| 亚洲中文字幕无码久久综合网|