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

          新聞中心

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

          基于單片機(jī)的電子萬年歷

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

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

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




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

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

          評論


          技術(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); })();