




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、復(fù)習(xí)“中斷”n8051有幾個(gè)中斷源?幾級(jí)優(yōu)先級(jí)?n中斷源對(duì)應(yīng)的中斷入口是多少?n中斷源自然優(yōu)先級(jí)的順序?n關(guān)鍵字interrupt的作用?n與中斷相關(guān)的SFR有哪些?復(fù)習(xí)“中斷”n簡(jiǎn)述中斷響應(yīng)過(guò)程。中斷源B向CPU提出中斷請(qǐng)求,CPU暫時(shí)中斷原來(lái)工作A,轉(zhuǎn)去處理事件B,處理完成后,再回到原來(lái)被中斷的地方,繼續(xù)工作A的執(zhí)行n能用RET指令代替RETI指令嗎?不可以。RET雖然也能控制PC返回到原來(lái)中斷的地方,但RET指令沒(méi)有清零中斷優(yōu)先級(jí)狀態(tài)觸發(fā)器的功能。中斷系統(tǒng)會(huì)任務(wù)中斷仍在進(jìn)行,同級(jí)或低級(jí)中斷請(qǐng)求將不會(huì)被相應(yīng) 課題五課題五 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器 任務(wù)一輸出任務(wù)一輸出1000Hz的方波的方波
2、任務(wù)二任務(wù)二 每秒閃爍一次的每秒閃爍一次的LED 任務(wù)三簡(jiǎn)易頻率計(jì)任務(wù)三簡(jiǎn)易頻率計(jì)任務(wù)一輸出任務(wù)一輸出1000Hz的方波的方波任務(wù)目標(biāo)任務(wù)目標(biāo)任務(wù)的目標(biāo)是利用定時(shí)中斷實(shí)現(xiàn)從任務(wù)的目標(biāo)是利用定時(shí)中斷實(shí)現(xiàn)從P1.0輸出輸出1000Hz的方波。的方波。程序設(shè)計(jì)分析程序設(shè)計(jì)分析從從P1.0輸出輸出1000Hz的方波,實(shí)際上就是要求從的方波,實(shí)際上就是要求從P1.0輸出周期為輸出周期為1ms的方波。則高電平和低電平的方波。則高電平和低電平的時(shí)間各為的時(shí)間各為1ms的一半,即各為的一半,即各為500s。也就是在單片機(jī)中實(shí)現(xiàn)也就是在單片機(jī)中實(shí)現(xiàn)500s的定時(shí),每次定時(shí)的定時(shí),每次定時(shí)時(shí)間到了的時(shí)候,將時(shí)間到
3、了的時(shí)候,將P1.0的電平改變就可以了。的電平改變就可以了。一個(gè)引腳的電平的改變,使用取反指令就可以完一個(gè)引腳的電平的改變,使用取反指令就可以完成,具體的指令如成,具體的指令如“P10=P10;” 延時(shí)500sP1.0電平取反P1.0電平取反重裝定時(shí)器初值定時(shí)時(shí)間到了中斷結(jié)束圖8-2 采用指令延遲程序框圖圖8-3 中斷服務(wù)程序的流程圖任務(wù)二每秒閃爍一次的任務(wù)二每秒閃爍一次的LED任務(wù)目標(biāo)任務(wù)目標(biāo)利用定時(shí)中斷實(shí)現(xiàn)將利用定時(shí)中斷實(shí)現(xiàn)將LED每秒閃爍一次。每秒閃爍一次。程序設(shè)計(jì)分析程序設(shè)計(jì)分析要使要使LED每秒閃爍一次,按每秒閃爍一次,按LED的點(diǎn)亮?xí)r間和的點(diǎn)亮?xí)r間和熄滅時(shí)間相同進(jìn)行處理,則只需要進(jìn)
4、行熄滅時(shí)間相同進(jìn)行處理,則只需要進(jìn)行0.5s的的定時(shí)。具體處理是,每過(guò)定時(shí)。具體處理是,每過(guò)0.5s,將,將LED的狀態(tài)的狀態(tài)取反就可以實(shí)現(xiàn)目標(biāo)了。或者說(shuō),與本課題中取反就可以實(shí)現(xiàn)目標(biāo)了。或者說(shuō),與本課題中的任務(wù)一類似,只不過(guò)是頻率變得很低了,周的任務(wù)一類似,只不過(guò)是頻率變得很低了,周期更長(zhǎng)了期更長(zhǎng)了 。 任務(wù)三簡(jiǎn)易頻率計(jì)任務(wù)三簡(jiǎn)易頻率計(jì)任務(wù)目標(biāo)任務(wù)目標(biāo) 具體目標(biāo)是:利用單片機(jī)的具體目標(biāo)是:利用單片機(jī)的T0、T1的定時(shí)的定時(shí)/計(jì)數(shù)計(jì)數(shù)功能,完成對(duì)輸入的信號(hào)的頻率進(jìn)行測(cè)量,測(cè)量功能,完成對(duì)輸入的信號(hào)的頻率進(jìn)行測(cè)量,測(cè)量的結(jié)果通過(guò)的結(jié)果通過(guò)8位動(dòng)態(tài)數(shù)碼管顯示出來(lái)。這里要求位動(dòng)態(tài)數(shù)碼管顯示出來(lái)。這里
5、要求實(shí)現(xiàn)對(duì)實(shí)現(xiàn)對(duì)0200KHz的信號(hào)頻率進(jìn)行準(zhǔn)確測(cè)量,的信號(hào)頻率進(jìn)行準(zhǔn)確測(cè)量,測(cè)量誤差不超過(guò)測(cè)量誤差不超過(guò)1Hz。 課題目標(biāo)課題目標(biāo)n本課題的任務(wù)是用單片機(jī)實(shí)現(xiàn):p精確定時(shí)和計(jì)數(shù)n通過(guò)三個(gè)任務(wù)的實(shí)現(xiàn),學(xué)會(huì):編寫(xiě)單片機(jī)中斷服務(wù)程序定時(shí)計(jì)數(shù)器的初始化、短時(shí)間定時(shí)和長(zhǎng)時(shí)間定時(shí)的實(shí)現(xiàn)80C51單片機(jī)的定時(shí)/計(jì)數(shù)器定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)基本型:基本型:T0T0,定時(shí)、計(jì)數(shù)。,定時(shí)、計(jì)數(shù)。 T1T1,定時(shí)、計(jì)數(shù)、串口波特率發(fā)生器。,定時(shí)、計(jì)數(shù)、串口波特率發(fā)生器。 增強(qiáng)型:增加了增強(qiáng)型:增加了T2T2。見(jiàn)。見(jiàn)5.3.45.3.4節(jié)。節(jié)。 1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理 TH1、TL1TH0、TL0TCONTM
6、OD定時(shí)/計(jì)數(shù)器的工作原理實(shí)質(zhì)是實(shí)質(zhì)是1616位加位加1 1計(jì)數(shù)器計(jì)數(shù)器定時(shí)器模式時(shí),是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)。計(jì)數(shù)值乘以機(jī)器周期就是定時(shí)時(shí)間 計(jì)數(shù)器模式時(shí),是對(duì)外部事件計(jì)數(shù)。脈沖由T0(P3.4)或T1(P3.5)引腳輸入。 注意注意:(:(若若計(jì)數(shù)值計(jì)數(shù)值為為N N, ,計(jì)數(shù)初值計(jì)數(shù)初值為為X X) )溢出信號(hào)使溢出信號(hào)使TF0TF0或或TF1TF1置置1 1,并,并發(fā)出中斷請(qǐng)求發(fā)出中斷請(qǐng)求,1616位時(shí)有:位時(shí)有: N=65536-XN=65536-X,或,或X=65536-NX=65536-N12MHz12MHz晶振時(shí),計(jì)數(shù)頻率低于晶振時(shí),計(jì)數(shù)頻率低于0.5MHz 0.5MHz 2 定時(shí)/
7、計(jì)數(shù)器的控制工作方式寄存器TMOD 76543210TMODGATE C/TM1M0GATE C/TM1M0字節(jié)地址:89HGATE:門(mén)控位。GATE0時(shí),只要TRx為1,就可啟動(dòng)計(jì)數(shù)器工作;GATA1時(shí),定時(shí)器的啟動(dòng)還要加上INTx引腳為高電平這一條件。 C/T:模式選擇位。 清0為定時(shí)模式,置1為計(jì)數(shù)方式。M1M0:工作方式設(shè)置位。可設(shè)置四種工作方式(見(jiàn)下頁(yè))。M1M0工作方式說(shuō) 明00方式013位定時(shí)/計(jì)數(shù)器01方式116位定時(shí)/計(jì)數(shù)器10方式28位自動(dòng)重裝定時(shí)/計(jì)數(shù)器11方式3T0分成兩個(gè)獨(dú)立的8位定時(shí)/計(jì)數(shù)器;T1此方式停止計(jì)數(shù)注意:注意:TMODTMOD不能進(jìn)行位尋址不能進(jìn)行位尋址
8、 控制寄存器TCON 76543210TCONTF1TR1TF0TR0字節(jié)地址:88H TFxTFx:TxTx溢出標(biāo)志位。溢出標(biāo)志位。響應(yīng)中斷后響應(yīng)中斷后TFxTFx有硬件自動(dòng)清有硬件自動(dòng)清0 0。用軟件設(shè)置用軟件設(shè)置TFxTFx可產(chǎn)生同硬件置可產(chǎn)生同硬件置1 1或清或清0 0同樣的效果。同樣的效果。 TRxTRx:TxTx運(yùn)行控制位。運(yùn)行控制位。置置1 1時(shí)開(kāi)始工作;清時(shí)開(kāi)始工作;清0 0時(shí)停止工作。時(shí)停止工作。TRxTRx要由軟件置要由軟件置1 1或清或清0 0(即啟動(dòng)與停止要由軟件控制即啟動(dòng)與停止要由軟件控制)。)。3 定時(shí)/計(jì)數(shù)器的工作方式T0T0有方式有方式0 0、1 1、2 2、3
9、 3;T1T1有方式有方式0 0、1 1、2 2。以。以T0T0為例說(shuō)明。為例說(shuō)明。方式0:13位方式 C/T=1 C/T=1時(shí),則為計(jì)數(shù)模式,有:時(shí),則為計(jì)數(shù)模式,有: X=2X=21313-N=8192-N-N=8192-N C/T=0 C/T=0時(shí),則為定時(shí)模式,有:時(shí),則為定時(shí)模式,有: X=2X=21313-N=8192-N-N=8192-N,N=N=t t/Tcy/Tcy【例例5-35-3】若計(jì)數(shù)個(gè)數(shù)若計(jì)數(shù)個(gè)數(shù)N N為為2 2,求計(jì)數(shù)初值。,求計(jì)數(shù)初值。 公式法計(jì)算:公式法計(jì)算:X X819281922=8190=1FFEH2=8190=1FFEH 求補(bǔ)法計(jì)算:對(duì)求補(bǔ)法計(jì)算:對(duì)0
10、0000 0000 0010B0 0000 0000 0010B取反加取反加1 1為:為: 1 1111 1111 1110B(1 1111 1111 1110B(1FFEH1FFEH) )初值計(jì)算:公式法 求補(bǔ)法 :X=對(duì)N求補(bǔ)門(mén)控位作用當(dāng)GATE=0時(shí)僅由TR0控制與門(mén)的開(kāi)啟。與門(mén)輸出1時(shí),控制開(kāi)關(guān)接通,計(jì)數(shù)開(kāi)始; 當(dāng)GATE=1時(shí)與門(mén)的開(kāi)啟由INT0和TR0共同控制。這種方式可以用來(lái)測(cè)量INT0引腳上正脈沖的寬度。 注意:方式0的計(jì)數(shù)初值高8位和低5位確定麻煩 ,實(shí)際應(yīng)用中常由16位的方式1取代。方式1:16位方式 X=2X=21616-N=65536-N -N=65536-N 計(jì)數(shù)范圍
11、:計(jì)數(shù)范圍:1 16553665536 計(jì)數(shù)初值要計(jì)數(shù)初值要分成分成2 2個(gè)字節(jié)個(gè)字節(jié)分別送入分別送入TH0TH0、TL0TL0【例例5-45-4】若要求定時(shí)器若要求定時(shí)器T0T0工作于方式工作于方式1 1,定時(shí)時(shí)間為,定時(shí)時(shí)間為1ms1ms,當(dāng)晶振為當(dāng)晶振為6 MHz6 MHz時(shí),求送入時(shí),求送入TH0TH0和和TL0TL0的計(jì)數(shù)初值各為多少?的計(jì)數(shù)初值各為多少?應(yīng)怎樣送入應(yīng)怎樣送入TH0TH0和和TL0TL0?由于晶振為由于晶振為6 MHz6 MHz,所以機(jī)器周期,所以機(jī)器周期TcyTcy為為2 2S S,因此:,因此:N=t/TcyN=t/Tcy=1=11010-3-3/2/21010-
12、6-6500500X X2 21616-N-N65536-50065536-5006503665036FE0CH FE0CH 也可以利用以下也可以利用以下2 2條指令完成:條指令完成:v MOV TL0,#(65536-500)MOV TL0,#(65536-500)MODMOD 256 ; 256 ;余數(shù)余數(shù)為計(jì)數(shù)初值的為計(jì)數(shù)初值的低字節(jié)低字節(jié)v MOV TH0,#(65536-500)MOV TH0,#(65536-500)/ /256 ; 256 ; 商商為計(jì)數(shù)初值的為計(jì)數(shù)初值的高字節(jié)高字節(jié)用傳送指令分別將用傳送指令分別將FEHFEH送入送入TH0TH0中,中,0CH0CH送入送入TL0
13、TL0中即可。中即可。方式2:8位自動(dòng)重裝方式 X=2X=28 8-N=256-N -N=256-N 計(jì)數(shù)范圍:計(jì)數(shù)范圍:1 1256256 特別適合與脈沖信號(hào)發(fā)生器特別適合與脈沖信號(hào)發(fā)生器方式3:(僅T0有此方式,T1的方式3將停止計(jì)數(shù)) TL0 TL0進(jìn)行進(jìn)行8 8位定時(shí)位定時(shí)/ /計(jì)數(shù)計(jì)數(shù) TH0TH0進(jìn)行進(jìn)行8 8位定時(shí)(位定時(shí)(T1T1方式方式2 2時(shí),可出借時(shí),可出借TR1TR1、TF1TF1) 一般情況下,當(dāng)定時(shí)器一般情況下,當(dāng)定時(shí)器T1用作串口波特率發(fā)生器時(shí),定時(shí)器用作串口波特率發(fā)生器時(shí),定時(shí)器T0才設(shè)置為工作模式才設(shè)置為工作模式3。 定時(shí)應(yīng)用 定時(shí)時(shí)間較小時(shí)(小于定時(shí)時(shí)間較小
14、時(shí)(小于65ms65ms)。晶振為。晶振為12 MHz12 MHz時(shí),時(shí),TcyTcy為為1 1S S。可直接采用方式。可直接采用方式1 1完成定時(shí)任務(wù)。完成定時(shí)任務(wù)。 例例1 1:輸出:輸出50Hz50Hz的方波。的方波。 利用定時(shí)利用定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0的方式的方式1 1,產(chǎn)生,產(chǎn)生10ms10ms的定時(shí),并使的定時(shí),并使P1.0P1.0引腳上輸出周期為引腳上輸出周期為20ms20ms的方波,采用中斷方式,設(shè)系統(tǒng)的方波,采用中斷方式,設(shè)系統(tǒng)的晶振頻率為的晶振頻率為12 MHz12 MHz。 確定方式字:確定方式字:T0T0在定時(shí)的方式在定時(shí)的方式1 1時(shí):時(shí):M1M0=01M1M
15、0=01,GATE=0 GATE=0 ,C/T=0C/T=0方式控制字為方式控制字為0101H H 求計(jì)數(shù)初值求計(jì)數(shù)初值X:X:TcyTcy為為1 1S S N=10ms/1N=10ms/1S=10S=10 000000X=65536-10000=D8F0HX=65536-10000=D8F0H應(yīng)將應(yīng)將D8D8送送TH0, F0HTH0, F0H送送TL0 TL0 定時(shí)時(shí)間較大時(shí)(大于定時(shí)時(shí)間較大時(shí)(大于65ms65ms)。實(shí)現(xiàn)方法:一是采用。實(shí)現(xiàn)方法:一是采用1 1個(gè)定時(shí)個(gè)定時(shí)器定時(shí)一定的間隔(如器定時(shí)一定的間隔(如20ms20ms),然后用軟件進(jìn)行計(jì)數(shù);二是采),然后用軟件進(jìn)行計(jì)數(shù);二是采
16、用用2 2個(gè)定時(shí)器級(jí)聯(lián),其中一個(gè)定時(shí)器用來(lái)產(chǎn)生周期信號(hào)(如個(gè)定時(shí)器級(jí)聯(lián),其中一個(gè)定時(shí)器用來(lái)產(chǎn)生周期信號(hào)(如20ms20ms為周期),然后將該信號(hào)送入另一個(gè)計(jì)數(shù)器的外部脈沖輸入端為周期),然后將該信號(hào)送入另一個(gè)計(jì)數(shù)器的外部脈沖輸入端進(jìn)行脈沖計(jì)數(shù)。進(jìn)行脈沖計(jì)數(shù)。 例例2 2每秒閃爍一次的每秒閃爍一次的LED LED 。設(shè)系統(tǒng)的晶振頻率為。設(shè)系統(tǒng)的晶振頻率為12MHz12MHz。確定方式字:確定方式字:T0T0在定時(shí)的方式在定時(shí)的方式1 1時(shí):時(shí):M1M0=01M1M0=01,GATE=0 GATE=0 ,C/T=0C/T=0方式控制字為方式控制字為0101H H 求計(jì)數(shù)初值求計(jì)數(shù)初值X:X:Tcy
17、Tcy為為1 1S S N=20ms/1N=20ms/1S=20S=20 000000X=65536-20000=4E20HX=65536-20000=4E20H應(yīng)將應(yīng)將4E4E送送TH0, 20HTH0, 20H送送TL0 TL0 需要定時(shí)需要定時(shí)500ms500ms,大于,大于65ms65ms采用定時(shí)采用定時(shí)20ms20ms,然后再計(jì)數(shù),然后再計(jì)數(shù)2525次的方法實(shí)現(xiàn)次的方法實(shí)現(xiàn) 任務(wù)一任務(wù)一P1.0輸出輸出1000Hz的方波的方波n分析:周期=1/1000Hz=1ms,即每0.5msP1.0取反12MHz的晶振需要設(shè):定時(shí)初值 N=500 TH0= (65536-500) (65536-
18、500)/ /256 256 TL0= (65536-500) (65536-500)% %256 256 工作方式設(shè)置為方式1初始化定時(shí)器啟動(dòng)定時(shí)等待P1.0電平取反重裝定時(shí)器初值定時(shí)時(shí)間到了中斷結(jié)束主程序定時(shí)中斷服務(wù)程序sbit P10=P10void main()TMOD=0 x01;TH0= (65536-500)/256;TL0= (65536-500)%256;ET0=1;EA=1;TR0=1;void Timer0_int() interupt 1TH0= (65536-500)/256;TL0= (65536-500)%256;P10=P10;任務(wù)二每秒閃爍一次的任務(wù)二每秒閃爍
19、一次的LED任務(wù)目標(biāo)任務(wù)目標(biāo)利用定時(shí)中斷實(shí)現(xiàn)將利用定時(shí)中斷實(shí)現(xiàn)將LED每秒閃爍一次。每秒閃爍一次。程序設(shè)計(jì)分析程序設(shè)計(jì)分析要使要使LED每秒閃爍一次,按每秒閃爍一次,按LED的點(diǎn)亮?xí)r間和的點(diǎn)亮?xí)r間和熄滅時(shí)間相同進(jìn)行處理,則只需要進(jìn)行熄滅時(shí)間相同進(jìn)行處理,則只需要進(jìn)行0.5s的的定時(shí)。具體處理是,每過(guò)定時(shí)。具體處理是,每過(guò)0.5s,將,將LED的狀態(tài)的狀態(tài)取反就可以實(shí)現(xiàn)目標(biāo)了。或者說(shuō),與本課題中取反就可以實(shí)現(xiàn)目標(biāo)了。或者說(shuō),與本課題中的任務(wù)一類似,只不過(guò)是頻率變得很低了,周的任務(wù)一類似,只不過(guò)是頻率變得很低了,周期更長(zhǎng)了期更長(zhǎng)了 。 任務(wù)二每秒閃爍一次的任務(wù)二每秒閃爍一次的LED 為了完成為了完
20、成0.5s的定時(shí),一般來(lái)說(shuō),有兩種方的定時(shí),一般來(lái)說(shuō),有兩種方案可以實(shí)現(xiàn)。案可以實(shí)現(xiàn)。 第一種方案是采用硬件定時(shí)的基礎(chǔ)上,增加第一種方案是采用硬件定時(shí)的基礎(chǔ)上,增加一個(gè)存儲(chǔ)單元,每次中斷時(shí)使用該存儲(chǔ)單元進(jìn)行一個(gè)存儲(chǔ)單元,每次中斷時(shí)使用該存儲(chǔ)單元進(jìn)行計(jì)數(shù),當(dāng)達(dá)到某個(gè)計(jì)數(shù)值時(shí)再執(zhí)行對(duì)應(yīng)的程序,計(jì)數(shù),當(dāng)達(dá)到某個(gè)計(jì)數(shù)值時(shí)再執(zhí)行對(duì)應(yīng)的程序,這樣就延長(zhǎng)了定時(shí)的時(shí)間長(zhǎng)度。這樣就延長(zhǎng)了定時(shí)的時(shí)間長(zhǎng)度。 第二種方案是也是采用一個(gè)定時(shí)器進(jìn)行硬件第二種方案是也是采用一個(gè)定時(shí)器進(jìn)行硬件定時(shí),在每次中斷時(shí)輸出一個(gè)脈沖,然后采用硬定時(shí),在每次中斷時(shí)輸出一個(gè)脈沖,然后采用硬件計(jì)數(shù)的方式進(jìn)行延長(zhǎng)定時(shí)時(shí)間。件計(jì)數(shù)的方式進(jìn)行延長(zhǎng)
21、定時(shí)時(shí)間。任務(wù)二每秒閃爍一次的任務(wù)二每秒閃爍一次的LEDn分析:周期=500ms,即每500msP1.0取反硬件定時(shí)20ms,軟件計(jì)數(shù)25次12MHz的晶振需要設(shè):定時(shí)初值 N=20000 TH0= (65536-20000) (65536-20000)/ /256 256 TL0= (65536-20000) (65536-20000)% %256 256 工作方式設(shè)置為方式1sbit P10=P10;void main()TMOD=0 x01;TH0= (65536-500)/256;TL0= (65536-500)%256;ET0=1;EA=1;TR0=1;while(1);void T
22、imer0_int() interupt 1TH0= (65536-500)/256;TL0= (65536-500)%256;P10=P10;sbit P10=P10;unsigned char count=0;void main()TMOD=0 x01;TH0= (65536-20000)/256; TL0= (65536-20000)%256;ET0=1;EA=1; TR0=1;while(1);void Timer0_int() interupt 1TH0= (65536-20000)/256; TL0= (65536-20000)%256;count+;if(count=25)P10
23、=P10;count=0;能否將能否將count定義放到中斷服務(wù)程序內(nèi)部?定義放到中斷服務(wù)程序內(nèi)部?問(wèn)題:修改代碼,讓問(wèn)題:修改代碼,讓P10輸出輸出1000HZ方波,方波,P11輸輸出出500HZ方波方波sbit P10=P10;unsigned char count=0;void main()TMOD=0 x01;TH0= (65536-20000)/256; TL0= (65536-20000)%256;ET0=1; EA=1;TR0=1;while(1);void Timer0_int() interupt 1TH0= (65536-20000)/256; TL0= (65536-20
24、000)%256;count+;if(count=25)P10=P10;count=0;任務(wù)三簡(jiǎn)易頻率計(jì)任務(wù)三簡(jiǎn)易頻率計(jì)任務(wù)目標(biāo)任務(wù)目標(biāo) 具體目標(biāo)是:利用單片機(jī)的T0、T1的定時(shí)/計(jì)數(shù)功能,完成對(duì)輸入的信號(hào)的頻率進(jìn)行測(cè)量,測(cè)量的結(jié)果通過(guò)8位動(dòng)態(tài)數(shù)碼管顯示出來(lái)。這里要求實(shí)現(xiàn)對(duì)0200KHz的信號(hào)頻率進(jìn)行準(zhǔn)確測(cè)量,測(cè)量誤差不超過(guò)1Hz。 課題分析 在一個(gè)單片機(jī)系統(tǒng)中,在一個(gè)單片機(jī)系統(tǒng)中,為了實(shí)現(xiàn)頻率的測(cè)量,就是要為了實(shí)現(xiàn)頻率的測(cè)量,就是要對(duì)外部信號(hào)進(jìn)行計(jì)數(shù)對(duì)外部信號(hào)進(jìn)行計(jì)數(shù),每到,每到1s時(shí),將時(shí),將計(jì)數(shù)所得的數(shù)值送到計(jì)數(shù)所得的數(shù)值送到顯示器顯示器上上。單片機(jī)系統(tǒng)要做三件事:?jiǎn)纹瑱C(jī)系統(tǒng)要做三件事:
25、n一是要一是要進(jìn)行進(jìn)行1s鐘的定時(shí)鐘的定時(shí),n二是要二是要測(cè)量外部被測(cè)信號(hào)的周期數(shù)測(cè)量外部被測(cè)信號(hào)的周期數(shù),n三是三是將頻率顯示出來(lái)將頻率顯示出來(lái)。單片機(jī)中的單片機(jī)中的2個(gè)定時(shí)器個(gè)定時(shí)器/計(jì)數(shù)器既能進(jìn)行定時(shí),也能計(jì)計(jì)數(shù)器既能進(jìn)行定時(shí),也能計(jì)數(shù),因而在本課題中采用單片機(jī)內(nèi)部的定時(shí)器來(lái)完成課題數(shù),因而在本課題中采用單片機(jī)內(nèi)部的定時(shí)器來(lái)完成課題任務(wù)。任務(wù)。圖8-1 簡(jiǎn)易頻率計(jì)實(shí)物圖123456ABCD654321DCBATitleNumberRevisionSizeBDate:8-Feb-2007 Sheet of File:G:桌面2005-1005電技Protel實(shí)訓(xùn)MyDesign.ddbDr
26、awn By:P0P2+5VAT89S52P1.0P3.4圖6-6 頻率計(jì)電路原理圖T0程序設(shè)計(jì)分析程序設(shè)計(jì)分析 因?qū)嶒?yàn)電路晶振fOSC11.0592MHz,所以T1的初值的裝入語(yǔ)句如下: TH1=(65536-5*110592/12)/256; TL1=(65536-5*110592/12)%256; 每定時(shí)1s鐘時(shí)間到了,就停止T0的計(jì)數(shù),而從T0的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值,然后進(jìn)行數(shù)據(jù)處理,送到數(shù)碼管顯示出來(lái)。 由本課題中的任務(wù)二中可知,T1工作在定時(shí)狀態(tài)下,最大定時(shí)時(shí)間約為65ms,達(dá)不到1s的定時(shí),所以采用定時(shí)50ms,共定時(shí)20次,即可完成1s的定時(shí)功能。一、一、 定時(shí)定時(shí)1s 二、輸入的脈沖計(jì)數(shù)二、輸入的脈沖計(jì)數(shù) 作為定時(shí)器作為定時(shí)器T0,為了得到,為了得到1s內(nèi)的頻率值,需要在定時(shí)內(nèi)的頻率值,需要在定時(shí)1s之前將其初始值賦為之前將其初始值賦為0。同時(shí),由于。同時(shí),由于T0的最大計(jì)數(shù)值為的最大計(jì)數(shù)值為65536,小于要求計(jì)數(shù)的頻率的最大值,所以,在,小于要求計(jì)數(shù)的頻率的最大值,所以,在1s內(nèi),內(nèi),完全有可能產(chǎn)生溢出,對(duì)此,采用與定時(shí)完全有可能產(chǎn)生溢出,對(duì)此,采用與定
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險(xiǎn)公司跨年線上活動(dòng)方案
- 俱樂(lè)部互動(dòng)活動(dòng)方案
- 候鳥(niǎo)觀測(cè)活動(dòng)方案
- 借鑒活動(dòng)策劃方案
- 假發(fā)清倉(cāng)活動(dòng)方案
- 假期參觀活動(dòng)方案
- 假期活動(dòng)掃雪活動(dòng)方案
- 做好當(dāng)下事活動(dòng)方案
- 健康衛(wèi)生活動(dòng)方案
- 健康幫扶村級(jí)活動(dòng)方案
- 工廠保安服務(wù)投標(biāo)方案
- 天然氣密度計(jì)算
- 3地質(zhì)勘查項(xiàng)目預(yù)算標(biāo)準(zhǔn)
- 招生輿情防控應(yīng)急預(yù)案
- 【5A】Word2016全套高級(jí)培訓(xùn)教程
- 達(dá)林頓三極管
- 物業(yè)組織機(jī)構(gòu)設(shè)置及人員配置方案
- 機(jī)械設(shè)計(jì)課程設(shè)計(jì)鑄造車間碾砂機(jī)的傳動(dòng)裝置-一級(jí)圓柱圓錐齒輪減速器設(shè)計(jì)
- 強(qiáng)條執(zhí)行記錄表
- 主體結(jié)構(gòu)工程驗(yàn)收自評(píng)報(bào)告
- 南京理工大學(xué)2004碩士研究生入學(xué)考試
評(píng)論
0/150
提交評(píng)論