乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      51單片機(jī)中斷學(xué)習(xí)

       岐岐feng 2018-07-02

      一、中斷的概念

      CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生);

      CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));

      待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷

      二、中斷源

      在51單片機(jī)中有5個中斷源

      中斷號 優(yōu)先級 中斷源 中斷入口地址

      0 1(最高) 外部中斷0 0003H

      1 2 定時器0 000BH

      2 3 外部中斷1 0013H

      3 4 定時器1 0018H

      4 5 串口總段 0023H

      三、中斷寄存器

      單片機(jī)有10個寄存器主要與中斷程序的書寫控制有關(guān)

      1.中斷允許控制寄存器IE

      2.定時器控制寄存器TCON

      3.串口控制寄存器SCON

      4.中斷優(yōu)先控制寄存器IP

      5.定時器工作方式控制寄存器TMOD

      6.定時器初值賦予寄存器(TH0/TH1,TL0/TL1)

      寄存器詳細(xì)說明:http://blog.sina.com.cn/s/blog_a05b986d0101545c.html

      四、寄存器功能與賦值說明

      注:在用到中斷時,必須要開總中斷EA,即EA=1。 //開總中斷

      1.中斷允許控制寄存器IE

      51單片機(jī)中斷學(xué)習(xí)

      EX0(EX1):外部中斷允許控制位

      EX0=1 外部中斷0開關(guān)閉合 //開外部0中斷

      EX0=0 外部中斷0開關(guān)斷開

      ET0(ET1):定時中斷允許控制位

      ET0=1 定時器中斷0開關(guān)閉合 //開內(nèi)部中斷0

      ET0=0 定時器中斷0開關(guān)斷開

      ES: 串口中斷允許控制位

      ES=1 串口中斷開關(guān)閉合 //開串口中斷

      ES=0 串口中斷開關(guān)斷開

      2.定時器控制寄存器 TCON //控制外部中斷和定時器中斷

      51單片機(jī)中斷學(xué)習(xí)

      外部中斷:

      IE0(IE1):外部中斷請求標(biāo)志位

      當(dāng)INT0(INT1)引腳出現(xiàn)有效的請求信號,此位由單片機(jī)自動置1,cpu開始響應(yīng),處理終端,而當(dāng)入

      中斷程序后由單片機(jī)自動置0.

      //外部中斷,即外部中斷相應(yīng)的引腳接入低電平或下降沿信號時,中斷開始響應(yīng)。

      IT0(IT1):外部中斷觸發(fā)方式控制位 //選擇有效信號

      IT0(IT1)=1:脈沖觸發(fā)方式,下降沿有效。

      IT0(IT1)=0:電平觸發(fā)方式,低電平有效。

      內(nèi)部中斷:

      TF0(TF1):內(nèi)部定時器/計數(shù)器溢出中斷標(biāo)志位

      當(dāng)定時器、計數(shù)器計數(shù)溢出的時候,此位由單片機(jī)自動置1,cup開始響應(yīng),處理中斷,而當(dāng)進(jìn)入中

      斷程序后由單片機(jī)自動置0.

      //內(nèi)部中斷實際上就是利用內(nèi)部的計數(shù)器,只不過提供計數(shù)的脈沖來自單片機(jī)自身。

      TRO(TR1):定時器/計數(shù)器啟動位 //啟動定時器

      TRO(TR1)=1; 啟動定時器/計數(shù)器0

      TR0(TR1)=0; 關(guān)閉定時器/計數(shù)器0

      3.串口控制寄存器SCON

      51單片機(jī)中斷學(xué)習(xí)

      TI:串行口發(fā)送中斷標(biāo)志位

      當(dāng)單片機(jī)串口發(fā)送完一幀數(shù)據(jù)后,此位由單片機(jī)自動置1,而當(dāng)進(jìn)入中斷服務(wù)程序后是不會自動清0的,

      必須由用戶在中斷服務(wù)中用軟件清0.

      RI:串行口接收中斷標(biāo)志位

      當(dāng)單片機(jī)串口接收完一幀數(shù)據(jù)后,此位由單片機(jī)自動置1,而當(dāng)進(jìn)入中斷服務(wù)程序后是不會自動清0的,

      必須由用戶在中斷服務(wù)軟件中用軟件清0.

      (IP以后補(bǔ)上,TMOD,TL0/TH0 在定時器/計數(shù)器中講)

      五、中斷結(jié)構(gòu)圖:

      51單片機(jī)中斷學(xué)習(xí)

      六、定時器/計數(shù)器

      1.計數(shù)的定義:

      計數(shù)是指對外部事件進(jìn)行計數(shù),外部事件的發(fā)生以輸入脈沖的形式表示,因此計數(shù)功能的實質(zhì)就是對外來

      的脈沖進(jìn)行計數(shù),在單片機(jī)中對應(yīng)引腳T0和T1,兩個脈沖輸入端。

      外部輸入的脈沖在負(fù)跳變時有效(即外部脈沖由1變化到0),計數(shù)器加1.

      2.定時器:

      定時器是通過計數(shù)器的計數(shù)來實現(xiàn)的,不過此時的計數(shù)脈沖來自單片機(jī)的內(nèi)部,因此定時器的實質(zhì)是對內(nèi)

      部脈沖的計數(shù),在單片機(jī)中,每個機(jī)器周期產(chǎn)生一次計數(shù)脈沖,計數(shù)器加1.

      3.工作方式控制寄存器TMOD:

      51單片機(jī)中斷學(xué)習(xí)

      TMOD的低半字節(jié)(D0,D1,D2,D3)用來控制定時器/計數(shù)器0

      TMOD的高半字節(jié)(D4,D5,D6,D7)用來控制定時器/計數(shù)器1

      對TMOD中的內(nèi)容說明:

      GATE——門控制。

      GATE=1時,由外部中斷引腳INT0、INT1來啟動定時器T0、T1。

      當(dāng)INT0引腳為高電平時TR0置位,啟動定時器T0;

      當(dāng)INT1引腳為高電平時TR1置位,啟動定時器T1。

      GATE=0時,僅由TR0,TR1置位分別啟動定時器T0、T1。

      C/T——功能選擇位

      C/T=0時為定時功能,C/T=1時為計數(shù)功能。

      M0、M1——方式選擇功能

      由于有2位,因此有4種工作方式

      51單片機(jī)中斷學(xué)習(xí)

      4.根據(jù)單片機(jī)晶振,所選TMOD的的工作方式,所要定的時間,來確定THO和TLO所要賦予的初值

      (以12M晶振,工作方式1,16位計數(shù)器為例,設(shè)所定時間為Xus(16為計數(shù)器最大數(shù)65536,即65536us,若所

      定時間大于65535,則要用if語句控制,現(xiàn)假設(shè)X<>

      1.時鐘周期的時間t=1/12M=1/12 us

      2.機(jī)器周期的時間T=12*1/12=1 us

      3.因為每經(jīng)過一個機(jī)器周期計數(shù)器+1,所以,計數(shù)器+1,經(jīng)過的時間為 1 us。

      若所定時間為X,則要求經(jīng)過Xus,中斷響應(yīng),又因為16為計數(shù)器要全部置1(即達(dá)到65535)+1后,中斷才會

      響應(yīng),所以,初值=(65536-X)

      4.將初值轉(zhuǎn)化為16進(jìn)制碼,分別付給THO和TLO

      eg:所定時間5ms

      初值=(65536-5000)=60536=EC78

      TH0=0XEC; TL0=0X78;

      (當(dāng)工作方式不同時,TH0/TL0的賦值也不同,個人覺得有了16位計數(shù)器了,其余的沒什么用,不介紹了)

      5.寫程序時另一種THO/TLO賦值方法

      TH0=(65536-20000)/256;

      TL0=(65536-20000)%6;

      這樣設(shè)置,每經(jīng)過20ms,發(fā)生一次中斷,中斷時間一般以秒為單位,所以經(jīng)過n次中斷即可。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多