<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的電子萬年歷

          基于單片機的電子萬年歷

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

          制作好一個電子時鐘時,單片機就差不多學(xué)會了80%,這個電子鐘可以顯示時間并且可以調(diào)節(jié)時間的秒,分,時。單片機主要的作用就是定時和中斷,如何充分利用好這兩個方面就是學(xué)習(xí)的重點。首先介紹下中斷,中斷就是指你在執(zhí)行一個指令的時候突然要執(zhí)行另一個指令時就要先將指令暫停先去執(zhí)行另一個指令,當另一個指令完成時再返回完成中斷前的指令。單片機含有5個中斷,外部中斷0和1,定時器/計數(shù)器中斷0和1,串行口中斷。要執(zhí)行中斷時就要打開總中斷EA,將EA=1(高電平),在數(shù)字電路中1代表高電平,0代表低電平??傊袛嚅_完后,如果要開定時器中斷0的話就輸入ET0=1;再將TR0=1;這就開啟了定時器0的中斷(簡單吧)。中斷條件條件:1,有中斷請求(下面講),開總中斷EA=1,開中斷源中斷(ET0=1)。關(guān)于中斷的詳細解說大家可以查看www.51hei.com單片機網(wǎng)首頁上的第18課。

          本文引用地址:http://www.ex-cimer.com/article/201611/323922.htm




          定時器有四種方式,我就用了方式1來寫電子鐘。如何定時呢?先聲明定時器工作方式TMOD,定時器0為低四位,定時器1為高四位。GATE大多數(shù)情況為 0(不詳細介紹),C/T為0時是定時器,1為計數(shù)器。我們選工作方式1所以第二位為01,所以TMOD=0x01;后面我們要裝初值也就是要往定時器 16位中裝初始值,由于單片機一個機器周期約為1微秒,一個機器周期定時器加1個值,TH0為定時器0的高8位,TL0為低八位。大家都知道一個字節(jié)為最大值為65535,所以假如你要定時50ms的話就要裝65535-50000的值。只裝滿后就溢出執(zhí)行中斷(我就大概的介紹下)。中斷出去后執(zhí)行一個中斷函數(shù)大概形勢為
          TMOD=0x01;
          TH0=0x4c;
          TL0=0x00;
          EA=1;
          ET0=1;
          TR0=1;
          void timer0() interrupt 1
          {
          TH0=0x4c;
          TL0=0x00;
          }
          接下來我要寫我電子鐘的程序,這個程序還沒完全寫好,還差一個I^2c總線斷電數(shù)據(jù)保存的程序,以后再補充。單片機不同端口具有不同的作用,當我們向端口輸入不同的高低電平時就有不同的作用,這里我們用到了液晶屏的控制,定時器,中斷系統(tǒng),鍵盤。以后改進會用到蜂鳴器,I^2c總線。額,電腦要沒電了
          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 單片機電子萬年

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();