單片機(jī)原理及應(yīng)用第6章_第1頁(yè)
單片機(jī)原理及應(yīng)用第6章_第2頁(yè)
單片機(jī)原理及應(yīng)用第6章_第3頁(yè)
單片機(jī)原理及應(yīng)用第6章_第4頁(yè)
單片機(jī)原理及應(yīng)用第6章_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 第6章 單片機(jī)的定時(shí)器/計(jì)數(shù)器6.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理6.2 定時(shí)器的控制6.3 定時(shí)/計(jì)數(shù)器的工作方式6.4 定時(shí)/計(jì)數(shù)器的編程和應(yīng)用16.1 定時(shí)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理計(jì)數(shù)器的結(jié)構(gòu)與工作原理 6.1.1 定時(shí)定時(shí)/計(jì)數(shù)器的基本原理計(jì)數(shù)器的基本原理 6.1.2 定時(shí)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)計(jì)數(shù)器的結(jié)構(gòu)6.2 定時(shí)器的控制6.3 定時(shí)/計(jì)數(shù)器的工作方式6.4 定時(shí)/計(jì)數(shù)器的編程和應(yīng)用第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器2純軟件純軟件定時(shí)/計(jì)數(shù)方法:定時(shí)空循環(huán)預(yù)定周次,等待預(yù)定時(shí)間計(jì)數(shù)讀取I/O口電平,統(tǒng)計(jì)變化次數(shù)基本思路基本思路:由CPU統(tǒng)計(jì)狀態(tài)變化次數(shù),待預(yù)定結(jié)果出現(xiàn)后結(jié)束統(tǒng)計(jì)。del

2、ay(unsigned int time ) unsigned int j = 0; for(;time0;time-) for(j=0;j125;j+);存在問(wèn)題存在問(wèn)題:占用過(guò)多CPU機(jī)時(shí)第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器3單片機(jī)軟硬件聯(lián)合軟硬件聯(lián)合定時(shí)/計(jì)數(shù)方法:外來(lái)信號(hào)脈沖加1計(jì)數(shù)器TFx1溢出查詢或中斷計(jì)數(shù)器計(jì)數(shù)器外來(lái)信號(hào)脈沖加1計(jì)數(shù)器 TFx1溢出查詢或中斷系統(tǒng)時(shí)鐘脈沖K定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器定時(shí)器的本質(zhì)是計(jì)數(shù)器定時(shí)器的本質(zhì)是計(jì)數(shù)器(對(duì)時(shí)鐘脈沖計(jì)數(shù)對(duì)時(shí)鐘脈沖計(jì)數(shù)),計(jì)數(shù)器則是對(duì)外來(lái)脈沖計(jì)數(shù),計(jì)數(shù)器則是對(duì)外來(lái)脈沖計(jì)數(shù).第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器(已知剩余空間) 查詢或中斷系統(tǒng)時(shí)鐘脈沖加1

3、計(jì)數(shù)器 TFx1溢出定時(shí)器定時(shí)器(中斷請(qǐng)求標(biāo)志)4計(jì)數(shù)器溢出空間 = 計(jì)數(shù)器最大空間 - 計(jì)數(shù)初值定時(shí)時(shí)間t = (計(jì)數(shù)器最大空間 - 計(jì)數(shù)初值)機(jī)器周期 =(2n-a)12/fosc (s)基本工作原理:t與與n、a、fosc三個(gè)因素有關(guān)三個(gè)因素有關(guān)(12分頻 = 1個(gè)機(jī)器周期1個(gè)計(jì)數(shù)脈沖) 第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器邏輯開關(guān): = 0定時(shí)器方式, = 1計(jì)數(shù)器方式 TCTC TFx(X = 0、1)Tx端 fosc2n計(jì)數(shù)初值溢出空間a查詢查詢 /中斷中斷5第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器定數(shù)計(jì)數(shù)值 N = (計(jì)數(shù)器最大空間 - 計(jì)數(shù)初值) = (2 n a ) N與與n、a兩個(gè)因素有關(guān)兩個(gè)

4、因素有關(guān) TFx(X = 0、1)Tx端 fosc查詢查詢 /中斷中斷66.1 定時(shí)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理計(jì)數(shù)器的結(jié)構(gòu)與工作原理 6.1.1 定時(shí)定時(shí)/計(jì)數(shù)器的基本原理計(jì)數(shù)器的基本原理 6.1.2 定時(shí)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)計(jì)數(shù)器的結(jié)構(gòu)6.2 定時(shí)器的控制6.3 定時(shí)/計(jì)數(shù)器的工作方式6.4 定時(shí)/計(jì)數(shù)器的編程和應(yīng)用第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器751單片機(jī)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器2個(gè)16位計(jì)數(shù)器T0 (TH0、TL0)和T1 (TH1、TL1)加1計(jì)數(shù)器2個(gè)8位控制寄存器TCON和TMOD管理計(jì)數(shù)器的運(yùn)行2個(gè)外部引腳T0(P3.4)和T1(P3.5)接入外部脈沖86.1

5、 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理6.2 定時(shí)器定時(shí)器/計(jì)數(shù)器的控制計(jì)數(shù)器的控制6.3 定時(shí)/計(jì)數(shù)器的工作方式6.4 定時(shí)/計(jì)數(shù)器的編程和應(yīng)用第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器9定時(shí)/計(jì)數(shù)器的控制關(guān)系(以T1為例)門控位門控位GATE=0允許TR1啟動(dòng)計(jì)數(shù)器GATE=1允許INT1啟動(dòng)計(jì)數(shù)器啟動(dòng)控制位啟動(dòng)控制位TR1=1啟動(dòng)計(jì)數(shù)器TR1=0停止計(jì)數(shù)器外部中斷外部中斷1參與定時(shí)器的啟停管理中斷請(qǐng)求標(biāo)志位中斷請(qǐng)求標(biāo)志位TF1=1請(qǐng)求中斷TF1=0沒(méi)有中斷 T1第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器TCTC模式選擇位模式選擇位 =0定時(shí) =1計(jì)數(shù) foscTCONTMOD查詢 /中斷10TF1TR1TF0TR0IE1I

6、T1IE0IT08FH8DH8CH8BH8AH89H88HTCON8EH(88H)定時(shí)器控制位外部中斷控制位注意注意,系統(tǒng)上電默認(rèn)值為TCON = 0,則默認(rèn)狀態(tài)應(yīng)為:TR0和TR1均為關(guān)閉狀態(tài)、電平觸發(fā)方式、沒(méi)有0 # 3#中斷請(qǐng)求第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器 T1 T0 TF0 TR0 T0腳INT0 fosc fosc查詢/中斷查詢/中斷11GATEC/TM1M0GATEC/TM1M0D7D5D4D3D2D1D0TMODD6(89H) T1 T0/C T /C T T1方式選擇位方式選擇位00-方式001-方式110-方式2T1工作狀態(tài)T0方式選擇位方式選擇位00-方式001-方式110

7、-方式211-方式3T0工作狀態(tài)第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器 T1 T0 TF0 TR0 T0腳INT0 fosc fosc查詢/中斷查詢/中斷12第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器T0T1定時(shí)方式0計(jì)數(shù)方式0定時(shí)方式0計(jì)數(shù)方式0定時(shí)方式1計(jì)數(shù)方式1定時(shí)方式1計(jì)數(shù)方式1定時(shí)方式2計(jì)數(shù)方式2定時(shí)方式2計(jì)數(shù)方式2定時(shí)方式3計(jì)數(shù)方式3T0有4種工作方式,T1有3種工作方式,每種工作方式都有定時(shí)和計(jì)數(shù)2種方式,故共有14種組合關(guān)系。13GATEC/TM1M0GATEC/TM1M0D7D5D4D3D2D1D0TMODD6(89H) T1 T0/C T /C T 注意注意:TMOD只能以字節(jié)方式進(jìn)行初始化例如例

8、如,設(shè)置T0為定時(shí)方式1,允許TR0啟動(dòng); T1為計(jì)數(shù)方式0,允許INT1啟動(dòng)。則 TMOD = 1100 0001B =0 xc1又如又如,系統(tǒng)上電默認(rèn)值為TMOD = 0,則默認(rèn)狀態(tài)應(yīng)為:T0和TI均為定時(shí)方式0,允許TR0、TR1啟動(dòng)。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器146.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理6.2 定時(shí)器/計(jì)數(shù)器的控制6.3 定時(shí)定時(shí)/計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式6.4 定時(shí)/計(jì)數(shù)器的編程和應(yīng)用第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器15第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器M1M0工作方式功能說(shuō)明00110101012313位定時(shí)/計(jì)數(shù)器16位定時(shí)/計(jì)數(shù)器8位自動(dòng)重裝定時(shí)/計(jì)數(shù)器3種定時(shí)/計(jì)

9、數(shù)器關(guān)系T0注意注意:T1只有3種工作方式(T0的方式3中占用了T1的部分資源)。M1M0工作方式功能說(shuō)明00101001213位定時(shí)/計(jì)數(shù)器16位定時(shí)/計(jì)數(shù)器8位自動(dòng)重裝定時(shí)/計(jì)數(shù)器T1學(xué)習(xí)順序:方式1方式2 方式0 方式316 (1) 方式1定時(shí)時(shí)間:t = (216- a)12/fosc (s)使用16位定時(shí)/計(jì)數(shù)器(n=16,THx+TLx)(M0 M1為01組合時(shí))第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)范圍為165,536 s(65ms)。 最大定時(shí)時(shí)間(a=0,fosc =12MHz):t = 216(s) = 65536 (s)計(jì)數(shù)初值:a = 216- tfosc/12定時(shí)方式定時(shí)方

10、式 fosc查詢 /中斷17最大計(jì)數(shù)值:N = 65536 (脈沖)第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器定數(shù)計(jì)數(shù)值: N = (216 a ) 由于檢測(cè)一個(gè)負(fù)跳變需要2個(gè)機(jī)器周期,即24個(gè)振蕩周期,最高計(jì)數(shù)頻率= 。oscf241計(jì)數(shù)方式計(jì)數(shù)方式當(dāng)fosc=12MHz時(shí),外部脈沖的最大允許頻率為0.5MHz 。 fosc查詢 /中斷18實(shí)例實(shí)例1 1 設(shè)單片機(jī)的fosc=12MHz,采用T1定時(shí)方式1在P2.0腳上輸出周期為2ms的方波。虛擬示波器第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P

11、0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U?80C51ABCDR1100D1LED-YELLOW19分析分析:周期為2ms的方波由2個(gè)半周期為1ms的

12、正負(fù)脈沖組成方波輸出原理:定時(shí)1ms后將端口輸出電平取反。2ms1msTH1 = 0 xfc TL1 = 0 x181ms定時(shí)的計(jì)數(shù)初值應(yīng)為:a = 216 t* fos / 12 = 216 1000* 12/ 12 = 64536 = 0 xfc18 注意注意:需要不斷重裝計(jì)數(shù)初值。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器查詢 /中斷20(1)查詢方式查詢方式#include sbit P2_0 = P20;main () TMODTMOD = = 0 x100 x10; /設(shè)置T1定時(shí)方式1(0000001 1 000 0000B0B) TR1=1; /啟動(dòng)T0 for(;) THTH1 1 = =

13、 0 0 xfcxfc; /裝載計(jì)數(shù)初值 TLTL1 1 = = 0 0 x18x18; dodo while(!TF while(!TF1 1) ); /等待TF1溢出 P2_0 =!P2_0; /定時(shí)時(shí)間到P2.0反相 TFTF1 1 = = 0 0; /TF1標(biāo)志清0 第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器21GATEC/TM1M0GATEC/TM1M0D7D5D4D3D2D1D0TMODD6(89H) T1 T0/C T /C T 實(shí)例1仿真運(yùn)行效果第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器22(2)中斷方式中斷方式#include sbit P2_0=P20;timer0 () interrupt 3 ti

14、mer0 () interrupt 3 /T1中斷函數(shù) P2_0 = !P2_0; /P2.0取反 TH1 = 0 xfc;TH1 = 0 xfc; /裝載計(jì)數(shù)初值 TL1 = 0 x18;TL1 = 0 x18;main () TMOD = 0 x10TMOD = 0 x10; /T1定時(shí)方式1TH1 = 0 xfc;TH1 = 0 xfc;/裝載計(jì)數(shù)初值 TL1 = 0 x18;TL1 = 0 x18; EA=1; EA=1; /開總中斷 ET1=1; ET1=1; /開T1中斷 TR1=1; TR1=1; /啟動(dòng)T1while(1);注意注意:中斷響應(yīng)后系統(tǒng)可自動(dòng)將TFx標(biāo)志位清0第6章

15、單片機(jī)的定時(shí)器/計(jì)數(shù)器23小結(jié):使用定時(shí)/計(jì)數(shù)器的步驟強(qiáng)調(diào)強(qiáng)調(diào):TMOD的設(shè)置只能以字節(jié)形式給出T0 (1)設(shè)置TMOD確定定時(shí)/計(jì)數(shù)器的工作狀態(tài)使用T0還是T1?采用定時(shí)模式還是計(jì)數(shù)模式?采用工作方式0、方式1、方式2、方式3?第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器24 (2)計(jì)算計(jì)數(shù)初值產(chǎn)生期望的定時(shí)/定數(shù)間隔定時(shí)計(jì)數(shù)初值 a = 216- tfosc/12 (t 65536 s, fosc=12MHz時(shí))THx = a / 256 TLx = a % 256 裝載計(jì)數(shù)初值:第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器定數(shù)計(jì)數(shù)初值 a = 216- N (N65536, 脈沖頻率0.5MHz,fosc=12MHz時(shí)

16、)253)確定采用何種方式處理溢出結(jié)果若是查詢方式采用條件判斷語(yǔ)句若是中斷方式中斷初始化設(shè)置和中斷服務(wù)程序:do while (!TFx) ; / x=0或1 第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器ETx =1; /開定時(shí)x中斷,x=0或1EA = 1; /開總中斷tx_srv () interrupt n n /n=1或3 264)啟動(dòng)定時(shí)器: TR0 = 1 或 TR1= 1 5)進(jìn)行定時(shí)或計(jì)數(shù)結(jié)束后的其它工作6)為下次定時(shí)/計(jì)數(shù)做準(zhǔn)備(清TFx標(biāo)志+重裝載計(jì)數(shù)初值) 若是中斷方式,則無(wú)需軟件清TFx標(biāo)志位; 若是查詢方式,需要軟件清除TFx標(biāo)志位。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器27 采用8位計(jì)數(shù)器位

17、計(jì)數(shù)器,TLx 可自動(dòng)重裝載計(jì)數(shù)初值可自動(dòng)重裝載計(jì)數(shù)初值(TLx溢出后, THxTLx); 沒(méi)有裝載計(jì)數(shù)初值的延誤,方式2定時(shí)精度相對(duì)較高; 延時(shí)時(shí)間 t = (28-a)12/fosc (微秒) 12MHz時(shí)的最大定時(shí)量為256s;(2) 方式2第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器查詢 /中斷 fosc28(1)查詢方式查詢方式#include sbit P2_0 = P20;main() TMOD = 0 x020 x02; THTH0 0= = TLTL0 = 0 x060 = 0 x06; TR0=1; for(;) do while(!TF0); P2_0 =!P2_0; TF0 = 0;

18、(2)中斷方式中斷方式#include sbit P2_0=P20;timer0 () interrupt 1 1 P2_0 = !P2_0; main() TMOD = 0 x020 x02; TH0 = TL0 = 0 x06;TH0 = TL0 = 0 x06; EA= ET0 = 1; TR0=1; while(1);實(shí)例實(shí)例2 2 采用T0定時(shí)方式2在P2.0口輸出周期為0.5ms的方波(設(shè)fosc=12MHz)。分析分析:計(jì)數(shù)初值TL0= (256-250)*12/12)%256 = 0 x06,TMOD = 0 x02第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器29實(shí)例2仿真運(yùn)行效果第6章單片機(jī)

19、的定時(shí)器/計(jì)數(shù)器30第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器實(shí)例實(shí)例3 改進(jìn) “計(jì)數(shù)顯示器” 的按鍵查詢檢測(cè)法,改用T0計(jì)數(shù)方式2 + 中斷法實(shí)現(xiàn)原有功能?!窘饨狻侩娐犯脑欤喊存I由P3.7改為P3.4(T0)接入。 31第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器分析分析:T0計(jì)數(shù)方式2的初始化;定數(shù)計(jì)數(shù)N=1時(shí)的初值計(jì)算;T0中斷初始化。T0計(jì)數(shù)方式2:TMOD = 0000 0110B = 0 x06計(jì)數(shù)初值: a = 2 8 1 = 255 = 0 xffT0中斷初始化:ET0 = EA = 1查詢 /中斷 fosc32第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器實(shí)例3參考程序33第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器實(shí)例3運(yùn)行效果34(3

20、)工作方式0使用13位位的定時(shí)/計(jì)數(shù)器(THx7-0+TLx4-0)定時(shí)時(shí)間 t = (213 - a)12/fosc (s)計(jì)數(shù)初值 a = 213 - tfosc/1212MHz時(shí)的最大定時(shí)量t=213s = 8.192ms第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器查詢 /中斷 fosc35解:計(jì)數(shù)初值a=213-500012/12=3192= 1100 0111 1000BTH0TL00 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 6 3 1 8 H 實(shí)例實(shí)例4 計(jì)算T0方式0定時(shí)5ms的計(jì)數(shù)初值a(設(shè)fosc=12MHz)由于方式0的TL0高3位未用(一般填0) ,因此 a= 011

21、0 0011 0001 1000 = 6318H即,TH0 = 0 x63; TL0 = 0 x18;第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器36第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器除計(jì)數(shù)器位數(shù)不同外,方式0與方式1的邏輯結(jié)構(gòu)并無(wú)差異。方式0采用13位計(jì)數(shù)器是為了與早期產(chǎn)品MCS-48單片機(jī)兼容。方式0的初值計(jì)算比較麻煩,一般采用方式1替代。方式0方式1查詢/中斷查詢/中斷 fosc fosc37(4)方式)方式3(僅有(僅有T0)通常設(shè)定為定時(shí)方式2(串行通信的波特率發(fā)生器)第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器TH0+TF1+TR1組成的8位定時(shí)器(方式2但無(wú)重裝載功能)TL0+TF0+TR0組成的8位定時(shí)/計(jì)數(shù)器(方

22、式2但無(wú)重裝載功能)T1組成的無(wú)中斷標(biāo)志位的定時(shí)/計(jì)數(shù)器(方式0方式2)特點(diǎn)特點(diǎn):方式3下T0可有2個(gè)具有查詢/中斷功能的8位定時(shí)器 外加1個(gè)沒(méi)有查詢/中斷功能的T1定時(shí)/計(jì)數(shù)器查詢 /中斷查詢 /中斷 fosc fosc386.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理6.2 定時(shí)器/計(jì)數(shù)器的控制6.3 定時(shí)/計(jì)數(shù)器的工作方式6.4 定時(shí)定時(shí)/計(jì)數(shù)器的編程和應(yīng)用計(jì)數(shù)器的編程和應(yīng)用第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器39應(yīng)用: 定時(shí)器用于定時(shí)控制,或作為分頻器發(fā)生各種不同頻率的方波; 計(jì)數(shù)器用于外部脈沖統(tǒng)計(jì)或外部中斷源擴(kuò)充; 復(fù)雜應(yīng)用需要將定時(shí)與計(jì)數(shù)結(jié)合起來(lái)。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器40實(shí)例實(shí)例5 5 由P

23、3.4口輸入一個(gè)低頻窄脈沖信號(hào)。當(dāng)該信號(hào)出現(xiàn)負(fù)跳變時(shí),由P3.0口輸出寬度為500s的同步脈沖,如此往復(fù)。要求據(jù)此設(shè)計(jì)一個(gè)波形展寬程序(fosc= 6MHz)。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器500s500s411)將T0設(shè)置為1 1次計(jì)數(shù)方式次計(jì)數(shù)方式2 2,初值設(shè)為0 xff。這樣P3.4一旦發(fā)生負(fù)跳變T0就會(huì)產(chǎn)生溢出;2)查詢TF0標(biāo)志位。當(dāng)TF0=1時(shí)將T0設(shè)置為500500 s s定時(shí)方式定時(shí)方式2 2,初值a為0 x06(=256-5006/12),同時(shí)使P3.0輸出低電平;3)查詢TF0標(biāo)志位。待T0再次溢出后使P3.0輸出高電平,然后將T0設(shè)置為1 1次計(jì)數(shù)方式次計(jì)數(shù)方式2 2,如

24、此往復(fù)進(jìn)行。分析分析:可以采取如下做法:第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器42T0實(shí)例5參考程序第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器43實(shí)例5仿真運(yùn)行效果第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器P3.0P3.444P2.0=1; P2.0 = 0 實(shí)例實(shí)例6 6 采用10MHz晶振,在P2.0腳上輸出周期為2.5s,高電平占空比為20%的脈沖信號(hào)。分析分析:10兆晶振,方式1最大定時(shí)為54.613ms;定時(shí)中斷與軟件計(jì)數(shù)聯(lián)合定時(shí)中斷與軟件計(jì)數(shù)聯(lián)合法:利用定時(shí)中斷進(jìn)行中斷次數(shù)統(tǒng)計(jì);若取10ms產(chǎn)生定時(shí),則2.5s =250次中斷之和;則0.5ms(20%占空比)相當(dāng)于50次中斷之和。a = 216-1000012/10=

25、0 xd1202.5s0.5s第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT1

26、13P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U?80C51ABCDR1100D1LED-YELLOW45實(shí)例6參考程序第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器46實(shí)例6仿真運(yùn)行效果第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器47實(shí)例實(shí)例7 7 采用定時(shí)中斷控制流水燈,實(shí)現(xiàn)每秒1位,自上而下循環(huán)功能(fosc=12MHz)。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器48分析:分析:可以利用20次50ms的定時(shí)中斷方案,計(jì)數(shù)初值為: a = 65536-5000012/12 = 0 x3cb0第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器問(wèn)題:中斷函數(shù)內(nèi)任務(wù)過(guò)多,不利于實(shí)時(shí)控制。新方案新方案:中斷函數(shù)中僅做中斷次數(shù)統(tǒng)計(jì)和計(jì)數(shù)

27、初值重入,控制操作改在主函數(shù)中進(jìn)行。仿照實(shí)例仿照實(shí)例6 6做法,可以采用如下中斷函數(shù):做法,可以采用如下中斷函數(shù):49第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器實(shí)例7參考程序50實(shí)例7運(yùn)行效果第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器51實(shí)例實(shí)例8 8 測(cè)量從P3.2(INT0)輸入的正脈沖的寬度,測(cè)量結(jié)果以BCD碼形式存放在片內(nèi)RAM 40H開始的單元處(設(shè)40H地址存放個(gè)位,系統(tǒng)時(shí)鐘為12MHz,被測(cè)脈沖信號(hào)周期不超過(guò)100ms) 。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器分析分析:GATE=TR0=1時(shí)允許INT0的脈沖控制定時(shí)器的啟停,則根據(jù)T0先啟動(dòng)、再關(guān)閉后的計(jì)數(shù)值可算出被測(cè)脈沖寬度。INT0端信號(hào)T0中的脈沖數(shù)0查詢

28、/中斷 fosc52實(shí)例8參考程序第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器T0INT0端信號(hào)T0中的脈沖數(shù)53第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器實(shí)例8電路 脈沖設(shè)置(100ms)54第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器在在Proteus軟件中實(shí)現(xiàn)軟件中實(shí)現(xiàn)C51源碼級(jí)調(diào)試源碼級(jí)調(diào)試的方法:形成OMF (absolute objectmodule format files,絕對(duì)目標(biāo)文件) 格式文件。 omf文件設(shè)置55omf文件加載第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器啟動(dòng)調(diào)試56omf文件窗口第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器片內(nèi)RAM窗口57實(shí)例8的運(yùn)行結(jié)果第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器結(jié)果:計(jì)數(shù)值為50000脈沖脈寬值為50ms。運(yùn)

29、行到光標(biāo)58實(shí)例8的運(yùn)行結(jié)果第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器視頻59實(shí)例8小結(jié)1、測(cè)量未知脈沖寬度的方法利用INTx引腳接入待測(cè)脈沖設(shè)置Tx定時(shí)方式 THx和TLx清零利用查詢語(yǔ)句輔助計(jì)時(shí)用Tx計(jì)數(shù)值計(jì)算脈寬值;2、C51中進(jìn)行存儲(chǔ)器操作的方法定義指針變量并賦地址值按指針變量對(duì)數(shù)據(jù)進(jìn)行讀寫操作;3、任意位數(shù)BCD碼的拆解方法從最低位開始反復(fù)進(jìn)行模10計(jì)算 取模后刪去最低位(整除10)直至整除10的結(jié)果為0 ;4、在Proteus中進(jìn)行C51調(diào)試的方法改變keil 的輸出設(shè)置形成omf格式編譯文件在Proteus中加載omf文件利用類似匯編調(diào)試方法進(jìn)行調(diào)試。第6章單片機(jī)的定時(shí)器/計(jì)數(shù)器60外部中斷的擴(kuò)展問(wèn)題1、利用查詢法擴(kuò)展外部中斷源利用查詢法擴(kuò)展外部

溫馨提示

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

評(píng)論

0/150

提交評(píng)論