51單片機中斷系統(tǒng)詳解定時器、計數(shù)器_第1頁
51單片機中斷系統(tǒng)詳解定時器、計數(shù)器_第2頁
51單片機中斷系統(tǒng)詳解定時器、計數(shù)器_第3頁
51單片機中斷系統(tǒng)詳解定時器、計數(shù)器_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Yybmec51單片機中斷系統(tǒng)5151 單片機中斷級別中斷源默認中斷級別序號(C語占用)INT0-外部中斷0最局0T0-定時器/計數(shù)器0中斷第21INT1-外部中斷1第32T1定時器/計數(shù)器1中斷第43TX/RX-串行口中斷第54T2-定時器/計數(shù)器2中斷最低5中斷允許存放器 IEIE位序號DB7DB6DB5DB4DB3DB2DB1DB0符號位EAET2ESET1EX1ET0EX0EA-EA-全局中允許位。EA=1,翻開全局中斷控制,在此條件下,由各個中斷控制位確定相應(yīng)中斷的翻開或關(guān)閉。EA=0,關(guān)閉全部中斷。- ,無效位。ET2ET2定時器/計數(shù)器 2 2 中斷允許位。EAEA 總中斷開關(guān),

2、置 1 1 為開;ET2=1,翻開T2中斷。EX0為外部中斷0 (INTO)開關(guān),-ET2=0,關(guān)閉T2中斷。ET0為定時器/計數(shù)器0 (T0)開關(guān),ES-ES-串行口中斷允許位。EX1為外部中斷1 (INT1)開關(guān),ES=1,翻開串行口中斷。ET1為定時器/計數(shù)器1 (T1)開關(guān),ES=0,關(guān)閉串行口中斷。ES為串行口(TX/RX )中斷開關(guān),ET1-ET1-定時器/ /計數(shù)器1 1中斷允許位。ET2為定時器/計數(shù)器2 (T2)開關(guān),ET1=1 ,翻開T1中斷。ET1=0,關(guān)閉T1中斷。EX1-EX1-外部中斷1 1中斷允許位。EX1=1 ,翻開外部中斷1中斷。EX1=0 ,關(guān)閉外部中斷1中

3、斷。ET0-ET0-定時器/計數(shù)器0 0中斷允許位。ET0=1 ,翻開T0中斷。ET0=0,關(guān)閉T0中斷。EX0-EX0-外部中斷0 0中斷允許位。EX0=1 ,翻開外部中斷0中斷。EX0=0 ,關(guān)閉外部中斷0中斷。 位序號DB7DB6DB5DB4DB3DB2DB1DB0位地址PSPT1PX1PT0PX0- ,無效位。PS-PS-串行口中斷優(yōu)先級控制位。1Yybmec2PS=1,串行口中斷定義為高優(yōu)先級中斷。PS=0,串行口中斷定義為低優(yōu)先級中斷。PT1-PT1-定時器/ /計數(shù)器1 1中斷優(yōu)先級控制位。PT1=1,定時器/計數(shù)器1中斷定義為高優(yōu)先級中斷。PT1=0,定時器/計數(shù)器1中斷定義為

4、低優(yōu)先級中斷。PX1-PX1-外部中斷1 1中斷優(yōu)先級控制位。PX1=1 ,外部中斷1中斷定義為高優(yōu)先級中斷。PX1=0,外部中斷1中斷定義為低優(yōu)先級中斷。PT0-PT0-定時器/ /計數(shù)器0 0中斷優(yōu)先級控制位。PT0=1 ,定時器/計數(shù)器0中斷定義為高優(yōu)先級中斷。PT0=0,定時器/計數(shù)器0中斷定義為低優(yōu)先級中斷。PX0-PX0-外部中斷0 0中斷優(yōu)先級控制位。PX0=1 ,外部中斷0中斷定義為高優(yōu)先級中斷。PX0=0,外部中斷0中斷定義為低優(yōu)先級中斷。定時器/計數(shù)器工作模式存放器 TMODTMOD位序號DB7DB6DB5DB4DB3DB2DB1DB0位符號GATEC/TM1M0GATEC

5、/TM1M0|-定時器1- 1-定時器0- 1GATE-GATE-門控制位。GATE=0,定時器/計數(shù)器啟動與停止 僅受TCON存放器中TRX(X=0,1)來控制。GATE=1 ,定時器計數(shù)器啟動與停止由TCON存放器中TRX(X=0,1)和外部中斷引腳(INT0或INT1 )上的電平狀態(tài)來共同控制。C/T-C/T-定時器和計數(shù)器模式選擇位。C/T=1 ,為計數(shù)器模式;C/T=0 ,為定時器模式。M1M0-M1M0-工作模式選擇位。M1M0r工作模式00方式0,為13位定時器/計數(shù)器01方式1,為16位定時器/計數(shù)器10方式2, 8位初值自動重裝的8位定時器/計數(shù)器11方式3,僅適用于T0 ,

6、分成兩個8位計數(shù)器,T1停止工作定時器/控制器控制存放器TCONTCON位序號DB7DB7DB6DB6DB5DB5DB4DB4DB3DB3DB2DB2DB1DB1DB0DB0符號位TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0TF1-TF1-定時器1 1溢出標志位。當定時器1記滿溢出時,由硬件使TF1置1,并且申請中斷。進入中斷效勞程序后,由硬件 自動清0。需要注意的是, 如果使用定時器中斷, 那么該位完全不用人為去操作, 但是如果 使用軟件查詢方式的話,當查詢到該位置1后,就需要用軟件清0。TR1-TR1-定時器1 1運行控制位。由軟件清0關(guān)

7、閉定時器1。當GATE=1 ,且INIT為高電平時,TR1置1啟動定時器1;當GATE=0時,TR1置1啟動定時器1。TF0-TF0-定時器0 0溢出標志,其功能及其操作方法同TF1TF1。TR0-TR0-定時器0 0運行控制位,其功能及操作方法同TR1TR1。Yybmec3IE1-IE1-外部中斷1 1請求標志。當IT1=0時,位電平觸發(fā)方式,每個機器周期的S5P2采樣INT1弓|腳,假設(shè)NIT1腳為定電平, 那么置1,否那么IE1清0。當IT1=1時,INT1為跳變沿觸發(fā)方式,當?shù)谝粋€及其機器周期采樣到INIT1為低電平時,那么IE1置1。IE1=1 ,表示外部中斷1正向CPU中斷申請。當

8、CPU響應(yīng)中斷,轉(zhuǎn)向中斷服 務(wù)程序時,該位由硬件清0。IT1IT1外部中斷1 1觸發(fā)方式選擇位。IT1=0,為電平觸發(fā)方式,引腳INT1上低電平有效。IT1=1 ,為跳變沿觸發(fā)方式,引腳INT1上的電平從高到低的負跳變有效。IE0-IE0-外部中斷0 0請求標志,其功能及操作方法同IE1IE1。IT0-IT0-外部中斷0 0觸發(fā)方式選擇位,其功能及操作方法同IT1IT1。從上面的知識點可知,每個定時器都有4種工作模式,可通過設(shè)置TMOD存放器中的M1M0位來進行工作方式選擇。方式1的計數(shù)位數(shù)是16位,對T0來說,由TL0存放器作為低8、TH0存放器作為高8位, 組成了16位加1計數(shù)器。關(guān)于如何

9、確定定時器T0的初值問題。定時器一但啟動,它便在原來的數(shù)值上開始加1計數(shù),假設(shè)在程序開始時,我們沒有設(shè)置TH0和TL0,它們的默認值都是0,假設(shè)時鐘頻率為12MHz, 12個時鐘周期為一個機器周期,那么此時機器周期為1us,記滿TH0和TL0就需要216-1個數(shù),再來一個脈沖計數(shù)器溢出,隨即向CPU申請中斷。因此溢出一次共需65536us,約等于65.6ms,如果我們要定時50ms的話,那么就需要先給TH0和TL0裝一個初值,在這個 初值的根底上記50000個數(shù)后,定時器溢出,此時剛好就是50ms中斷一次,當需要定時1s時,我們寫程序時當產(chǎn)生20次50ms的定時器中斷后便認為是1s,這樣便可精

10、確控制定時時間啦。要計50000個數(shù)時,TH0和TL0中應(yīng)該裝入的總數(shù)是65536-50000=15536.,把15536對256求模:15536/256=60裝入TH0中,把15536對256求余:15536/256=176裝入TL01以上就是定時器初值的計算法, 總結(jié)后得出如下結(jié)論:當用定時器的方式1時,設(shè)機器周期 為TCY,定時器產(chǎn)生一次中斷的時間為t,那么需要計數(shù)的個數(shù)為N=t/TCY,裝入THX和TLX中的數(shù)分別為:THX=(65536-N)/256THX=(65536-N)/256, ,TLX=(65536-N)%256TLX=(65536-N)%256X1中斷效勞程序的寫法voi

11、d函數(shù)名()interrupt中斷號using工作組中斷效勞程序內(nèi)容在寫單片機的定時器程序時,在程序開始處需要對定時器及中斷存放器做初始化設(shè)置,通常 定時器初始化過程如下:(1)對TMOD賦值,以確定T0和T1的工作方式。(2)計算初值,并將初值寫入TH0、TL0或TH1、TL1。(3)中斷方式時,那么對IE賦值,開放中斷。(4)使TR0和TR1置位,啟動定時器/計數(shù)器定時或計數(shù)。例:利用定時器 0 0 工作方式 1,1,實現(xiàn)一個發(fā)光管以 1S1S 亮滅閃爍。程序代碼如下: #include#include #define#define ucharuchar unsignedunsigned

12、charchar #define#define uintuintunsignedunsigned intintsbitsbit led1=P1led1=P1A A0;0;ucharuchar num;num;voidvoid main()main()Yybmec4 TMOD=0 x01;TMOD=0 x01;設(shè)置定時器 0 0 位工作模式 1 1 (M1,M0(M1,M0 位 0,0, 1)1)TH0=(65536-45872)/256;TH0=(65536-45872)/256; 裝初值 11.0592M11.0592M 晶振定時 50ms50ms 數(shù)為 4587245872TL0=(65536-45872)%256;TL0=(65536-45872)%256;EA=1;EA=1;開總中斷ET0=1;ET0=1;開定時器 0 0 中斷TR0=1;TR0=1; 啟動定時器 0 0while(1)while(1) if(num=20)if(num=20) 如果到了 2020 次,說明 1 1 秒時間 l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論