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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 從定時(shí)器開始說中斷

          從定時(shí)器開始說中斷

          作者: 時(shí)間:2013-04-10 來源:網(wǎng)絡(luò) 收藏

          開始說中斷什么叫中斷?這個(gè)對(duì)于剛進(jìn)入MCU界的人來說是一個(gè)難以了解的問題,因?yàn)槲业谝淮螌W(xué)單片機(jī)的時(shí)候就不完全不了解什么叫中斷。后來慢慢來知道原來中斷是單片機(jī)運(yùn)行到一半突然飛到某個(gè)地方運(yùn)行某些東西運(yùn)行后又飛回來而已。

          后來學(xué)著學(xué)著就了解到中斷的意義了,不過對(duì)于第一次接觸單片機(jī)的人來說,還是很難解說的清楚的。

          所以這里我做個(gè)比喻吧。假設(shè)你客廳的電話來電時(shí),有鈴聲和閃光提示,而你在房間看書,那么有電話來的時(shí)候,你聽到鈴聲,然后放下手上的書,并用書簽記錄你的頁數(shù),再出去聽電話。聽完后,回到房間,從書簽標(biāo)記的位置繼續(xù)看你的書。

          OK,分析上面的幾個(gè)動(dòng)作,電話響并被你聽到,那是中斷來了;你用書簽標(biāo)記位置,那是現(xiàn)場(chǎng)保護(hù);聽電話,就是執(zhí)行中斷咯;聽完電話,你要從你剛才標(biāo)記的地方繼續(xù)看書,那就是中斷執(zhí)行完畢后回到原中斷處繼續(xù)執(zhí)行程序。這個(gè)就是中斷的過程了。

          假設(shè)沒有了中斷的話,你會(huì)如何?你會(huì)用掃描法:電話不會(huì)響鈴了,只有閃光,但你必須在房間看書,那你只能每看幾段,就跑出去看看是否有電話到,如果沒有,就跑回去看書,如果有了,那你就聽電話吧。很明顯,掃描法效率非常低,因?yàn)槟忝靠匆粫?huì)書就得花時(shí)間看看電話的閃光以判斷是否有電話的到來,這樣你看書的效率就大大減低了。而且掃描法還有個(gè)最大的缺點(diǎn),就是中斷丟失,試想如果你掃描的間隔過大(就是看很久書才去看一下電話),那你極有可能丟了幾個(gè)重要的來電。

          其實(shí)上面的比喻,正能很好地表現(xiàn)中斷的作用——其實(shí)中斷就是為了處理突發(fā)事件。

          對(duì)于單片機(jī)來說,突發(fā)的事情實(shí)在太多了,例如用戶對(duì)單片機(jī)輸入數(shù)據(jù),按鍵,那都是單片機(jī)本身無法估計(jì)的事情。外來數(shù)據(jù)的突然進(jìn)入,也屬于突發(fā)事件。這些外部來的突發(fā)信號(hào),一般就由單片機(jī)的外部中斷來處理。外部中斷其實(shí)就是一個(gè)管腳的狀態(tài)改變引起的中斷,在之后會(huì)說。

          這里先介紹中斷:

          在測(cè)量控制系統(tǒng)中,常常需要實(shí)時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)控制、定時(shí)測(cè)量或定時(shí)中斷等。也常需要以實(shí)現(xiàn)對(duì)外部事件的計(jì)數(shù)。MCS-51單片機(jī)中有兩個(gè)(增強(qiáng)型有三個(gè))十六位的定時(shí)T0,T1,簡(jiǎn)稱定時(shí)器0和定時(shí)器1,兩者均為可編程定時(shí)。

          ——以上P話抄自《單片微型計(jì)算機(jī)與接口技術(shù)》94頁第一段-_-#!!!!!

          其實(shí)你問清楚什么叫定時(shí)器,我真的不知道用什么言語來說。剛學(xué)的時(shí)候,聽過這樣一句話“定時(shí)器是單片機(jī)上的寶貴資源”,當(dāng)時(shí)不了解,為什么這個(gè)資源是寶貴的呢??后來才慢慢知道定時(shí)器的偉大所在。當(dāng)然這個(gè)是需要一定的時(shí)間來領(lǐng)悟的咯,在這里你還是踏踏實(shí)實(shí)地往下看吧:)

          一開始我就說了,看本教材的時(shí)候你手上需要至少一本單片機(jī)的基礎(chǔ)書,什么書隨便買本就是了,反正現(xiàn)在的單片機(jī)書啊,都是你抄我我抄你的了,都一個(gè)樣,最重要的還是例子吧。拿起你的書看看單片機(jī)的中斷寄存器和定時(shí)器寄存器吧,咱們要開始寫程序咯,時(shí)間是不等人D~~~~

          單片機(jī)方式0是13位的,從來就沒用過,有16位不用你用13位?真浪費(fèi)也~~~

          然后是計(jì)算裝入值,16位啊,就是16位2進(jìn)制,2的16次方,就是65536了。16位定時(shí)器就是從某個(gè)所謂的裝入值開始自加,加到65536就計(jì)滿,如果你允許定時(shí)器中斷,那就有中斷來臨。所以16位方式裝入值的計(jì)算很簡(jiǎn)單:

          65536-你要計(jì)算的脈沖數(shù)=裝入值

          但我們一般是要定時(shí)時(shí)間的,而不是單單計(jì)多少個(gè)脈沖,所以你要計(jì)算的脈沖數(shù)要轉(zhuǎn)化為時(shí)間,跟你說,一個(gè)脈沖的時(shí)間就是一個(gè)機(jī)器周期,51的機(jī)器周期就是12/晶振值。如果你的晶振是12M那么這樣一除就是1US咯。1US整數(shù),算什么都好算,所以你現(xiàn)在知道為什么這么多12M,24M的晶振買了吧,都是為51準(zhǔn)備的咯。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(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); })();