定时计数器与中断系统课件.ppt
定時/計數器與中斷系統5.1.1定時/計數器結構定時/計數器簡稱定時器,8031單片機有2個16位的定時/計數器:定時器0(T0)和定時器1(T1)。它們都有定時器或事件計數的功能,可用於定時控制、延時、對外部事件計數和檢測等場合。T0由2個特殊功能寄存器TH0和TL0構成,T1則由TH1和TL1構成。作計數器時,通過引腳T0(P3.4)和T1(P3.5)對外部脈衝信號計數,當輸入脈衝信號從1到0的負跳變時,計數器就自動加1。計數的最高頻率一般為振盪頻率的1/24。返回本節5.1.2定時/計數器工作方式每個定時/計數器還有4種工作模式,也就是每個定時器可構成4種電路結構模式。在模式0、1和2,T0和T1的工作模式相同,在模式3,兩個定時器的模式不同。下麵以T1為例,分述各種工作模式的特點和用法。下一頁1.模式0 圖5-1定時/計數器T1(T0)工作模式0下一頁2.模式1圖5-2定時/計數器T1(T0)工作模式1下一頁3.模式2圖5-3定時/計數器T1(T0)工作模式2下一頁4.模式3圖5-4定時/計數器T1(T0)工作模式3返回本節5.1.3定時/計數器控制寄存器定時器共有2個控制寄存器TMOD和TCON,由軟體寫入TMOD和TCON兩個8位寄存器,設置各個定時器的操作模式和控制功能。下一頁1.工作模式控制寄存器—TMOD(89H)圖5-5定時器工作模式寄存器TMOD下一頁2.定時器控制寄存器—TCON(88H)圖5-6定時器工作模式寄存器TCON返回本節5.1.4定時/計數器常數的計算1.計數器初值的計算把計數器計滿為零所需要的計數值設定為C,計數初值設定為TC,由此可得到公式:TC=M-C式中,M為計數器模值,該值和計數器工作方式有關。在方式0時M為213;在方式1時M為216;在方式2和方式3時M為28。下一頁2.定時器初值的計算在定時器模式下,計數器由單片機主脈衝經12分頻後計數。因此,定時器定時時間T的公式:T=(M-TC)T計數上式也可寫成:TC=M-T/T計數式中,M為模值,和定時器的工作方式有關;T計數是單片機振盪週期TCLK的12倍;TC為定時器的定時初值。返回本節5.2中斷系統結構及管理5.2.1中斷請求與控制 5.2.2中斷系統的結構5.2.3中斷控制5.2.4中斷回應過程返回本章首頁5.2.1中斷請求與控制 圖5-7中斷流程返回本節5.2.2中斷系統的結構 1.外部中斷源由P3.2端口線引入,低電平或下降沿引起。由P3.3端口線引入,低電平或下降沿引起。2.內部中斷源(如圖5-8所示)T0:定時/計數器0中斷,由T0回零溢出引起。T1:定時/計數器1中斷,由T1回零溢出引起。TI/RI:串行I/O中斷,完成一幀字元發送/接收引起。返回本節圖5-8中斷系統的結構框圖返回5.2.3中斷控制 1.中斷允許寄存器IE(A8H)IE在特殊功能寄存器中,位元組地址A8H,位地址分別是A8H~AFH。IE控制CPU對中斷源總的開放或禁止以及每個中斷源是否允許中斷。其格式如圖5-9所示。2.中斷優先寄存器IP(B8H)IP在特殊功能寄存器中,位元組地址為B8H,位地址分別是B8H~BFH,IP用來鎖存各中斷源優先順序的控制位,其格式如圖5-10所示。返回本節圖5-9中斷允許寄存器IE返回圖5-10中斷優先寄存器IP返回5.2.4中斷回應過程單片機在每個機器週期的S5P2期間,順序採樣每個中斷源,CPU在下一個機器週期S6期間按優先順序順序查詢中斷標誌,如查詢到某個中斷標誌為1,將在再下一個機器週期S1期間按優先順序進行中斷處理。中斷得到回應後自動清除中斷標誌,由硬體將程式計數器PC內容壓入堆疊保護,然後將對應的中斷向量裝入程式計數器PC,使程式轉向中斷向量地址單元中去執行相應的中斷服務程式。下一頁下列任何一種情況存在中斷申請將被封鎖:(1)CPU正在執行一個同級或高一級的中斷服務程式。(2)當前正在執行的那條指令還未執行完。(3)當前正在執行的指令是RETI或對IE,IP寄存器進行讀/寫指令,執行這些指令後至少再執行一條指令才會回應中斷。返回本節