99久久久久国产-99久久久久国产精品免费-99久久久久久久-99久久久免费精品免费-99久久免费费视频在线观看

131 1300 0010
其他
當前位置: 首頁>> 元件技術>>其他>>
  • 導航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • 基于51單片機的計時器設計
    基于51單片機的計時器設計
  • 基于51單片機的計時器設計
  •   發布日期: 2019-10-27  瀏覽次數: 903

    用51單片機定時器0的方式1計時,結果用4位數碼管顯示,分別為秒十位,秒個位,毫秒百位,毫秒十位。所以總共最大計時為1分鐘,精確到了0.01s。同時,加上3個獨立按鍵,分別控制秒表的清零,暫停和開始功能。

    按照模塊化的思想,首先先把要用的函數和預定義寫到一個頭文件中,要用到的預定義和全局變量如下:

     

    基于51單片機的計時器設計

    #include

    #defineucharunsignedchar

    sbitClear=P3^7;//按鍵實現清零

    sbitStop=P3^6;//按鍵實現暫停

    sbitReStart=P3^5;//按鍵實現開始

    sbitdula=P2^6;//段選線接P2^6口

    sbitwela=P2^7;//位選線接P2^7口

    //table數組中存儲數碼管顯示0~F對應的編碼

    ucharcodetable[]={

    0x3f,0x06,0x5b,0x4f,

    0x66,0x6d,0x7d,0x07,

    0x7f,0x6f,0x77,0x7c,

    0x39,0x5e,0x79,0x71};

    //計時時間,計時中斷發生一次,則加1,最大為5999

    inttime;

    接下來是將要用到的函數聲明:

    //用于動態掃描數碼管的時間較短的延時函數

    voidShortDelay();

    //用于鍵盤消抖的時間較長的延時函數

    voidLongDelay();

    //初始化

    voidInital();

    //在數碼管顯示秒十位,秒個位,微秒百位,微秒十位

    //用拼音表示很不好,將就著看吧

    voidDisplay(ucharshimiao,uchargemiao,ucharbaiwei,ucharshiwei);

    //清零函數,按下清零鍵的時候調用

    voidClc();

    //暫停函數,按下暫停鍵時候調用

    voidStopTImer();

    //開始或重新開始函數,按下開始鍵時候調用

    voidReStartTImer();

    //鍵盤掃描函數,是否有鍵被按下,并且執行相應操作

    voidKeyScan();

    接下來是主函數:

    voidmain()

    {

    ucharshimiao,gemiao,baiwei,shiwei;

    Inital();//初始化

    while(1)

    {

    if(TIme==6000)//到了秒表最大值,自動歸零

    {

    TIme=0;

    }

    //分解出要顯示的各個數位

    shimiao=time/1000;

    gemiao=time%1000/100;

    baiwei=time%100/10;

    shiwei=time%10;

    //顯示

    Display(shimiao,gemiao,baiwei,shiwei);

    ShortDelay();

    //鍵盤掃描,有鍵按下執行相應操作

    KeyScan();

    }

    }


    下面的工作就是要寫相應的處理函數了:

    首先是兩個延時函數:

    voidShortDelay()

    {

    uchara=100;

    while(a--);

    }

    voidLongDelay()

    {

    inta=5000;

    while(a--);

    }


    初始化函數:

    voidInital()

    {

    dula=0;

    wela=0;

    time=0;

    EA=1;

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

    TMOD=0x01;

    TH0=0xdc;

    TL0=0x01;//裝載初值,計時方式1

    Clear=1;

    Stop=1;

    ReStart=1;//按鍵接口管腳輸出高電平

    }


    在數碼管上顯示時間的函數:

    voidDisplay(ucharshimiao,uchargemiao,ucharbaiwei,ucharshiwei)

    {

    //輸出秒十位

    wela=1;

    P0=0xfb;

    wela=0;

    P0=0xff;

    dula=1;

    P0=table[shimiao];

    dula=0;

    ShortDelay();

    //輸出秒個位

    wela=1;

    P0=0xf7;

    wela=0;

    P0=0xff;

    dula=1;

    P0=table[gemiao];

    dula=0;

    ShortDelay();

    wela=1;

    P0=0xef;

    wela=0;

    P0=0xff;

    dula=1;

    P0=table[baiwei];

    dula=0;

    ShortDelay();

    wela=1;

    P0=0xdf;

    wela=0;

    P0=0xff;

    dula=1;

    P0=table[shiwei];

    dula=0;

    ShortDelay();

    }


    鍵盤掃描函數:

    voidKeyScan()

    {

    if(Clear==0)

    {

    LongDelay();//消抖

    if(Clear==0)//確實是被按下

    {

    //Dosomthing

    Clc();

    }

    }

    //Stop和ReStart檢測方法相同

    if(Stop==0)

    {

    LongDelay();

    if(Stop==0)

    {

    //Dosomthing

    StopTimer();

    }

    }

    if(ReStart==0)

    {

    LongDelay();

    if(ReStart==0)

    {

    //Dosomthing

    ReStartTimer();

    }

    }

    }


    最后是3個按鍵按下后的處理函數:

    voidClc()

    {

    TR0=0;//計時暫時停止

    time=0;//時間歸零

    Display(0,0,0,0);//顯示0000

    ShortDelay();

    }

    voidStopTimer()

    {

    //計時暫時停止,僅此而已

    TR0=0;

    }

    voidReStartTimer()

    {

    //計時重新開始,僅此而已

    TR0=1;

    }
    來源;21ic


  • ·上一篇:
    ·下一篇:
  • 其他關聯資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區松崗鎮潭頭第二工業城A區27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權所有:Copyright?2010-2023 m.qingjujia.cn 電話:13113000010 粵ICP備2021111333號
    主站蜘蛛池模板: 日韩精品亚洲专区在线观看 | chinese国产videoxx实拍 | 午夜精品久久久久久影视riav | 在线看的黄色网址 | 青青草99热久久 | 在线 丝袜 欧美 日韩 制服 | 亚洲国产成人在线观看 | 亚洲国产欧美日韩一区二区 | 在线成人免费视频 | 国产精品区网红主播在线观看 | 久久精品店 | 欧美高清性色生活片免费观看 | 国内视频自拍在线视频 | 好吊色青青青国产在线观看 | 一级毛片免费播放视频 | 久久国产精品偷 | 久久精视频 | 亚洲一区二区三区四区在线 | 精品午夜视频 | 成人性色生活影片 | 国产孕妇孕交600集 国产在视频线精品视频www666 | 色多多在深夜释放自己黄 | 东京一热本色道久久爱 | 99久久精品无码一区二区毛片 | 免费一看一级毛片 | 久久性| 宅男午夜剧场 | 色婷婷影院 | 亚洲v欧美 | 免费黄色| 夜色网站 | 日本免费一区二区在线观看 | 老司机成人免费精品视频 | 性殴美| 国产精品亚洲w码日韩中文 国产精品亚洲成在人线 | 痴情的后裔韩剧免费观看中文高清版 | 欧美在线成人午夜网站 | 国产黄色自拍视频 | 欧美成人午夜剧场 | 大尺度做爰床戏呻吟免费观看91 | 国产成人啪午夜精品网站男同 |