



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)名稱:定時(shí)器實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模?、 熟悉 MCS-51 的定時(shí)器原理2、掌握 MCS-51 定時(shí)器使用方法3、掌握 MCS-51 的定時(shí)中斷實(shí)驗(yàn)原理:MCS-51 系列單片機(jī)中,有兩個(gè)內(nèi)置 16 位可編程的定時(shí)器/計(jì)數(shù)器 T0、T1,共 4 種工作方式。一、定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)1、 方式 0(13 位定時(shí)/計(jì)數(shù)器)2、 方式 1(16 位定時(shí)/計(jì)數(shù)器)3、 方式 2(8 位重復(fù)定時(shí)/計(jì)數(shù)器)4、 方式 3(8 位定時(shí)/計(jì)數(shù)器,僅 T0)二、 定時(shí)器/計(jì)數(shù)器的編程寄存器:1、TMOD:選擇定時(shí)器/計(jì)數(shù)器 T0、T1 的工作模式和工作方式。1) GATE門(mén)控位0:以TRX(X=0,1)來(lái)啟動(dòng)定時(shí)器
2、/計(jì)數(shù)器運(yùn)行。1:用外中斷引腳(INT0*或 INT1*)上的高電平和 TRX 來(lái)啟動(dòng)定時(shí)器/計(jì)數(shù)器運(yùn)行。2) M1、M0工作方式選擇位M1M0工 作方 式00110101方式 0,13 位定時(shí)器/計(jì)數(shù)器。方式 1,16 位定時(shí)器/計(jì)數(shù)器。方式 2,8 位常數(shù)自動(dòng)重新裝載方式 3,僅適用于 T03) C/-T計(jì)數(shù)器模式和定時(shí)器模式選擇位0:定時(shí)器模式。1:計(jì)數(shù)器模式。2、TCON:T0、T1 的啟動(dòng)和停止計(jì)數(shù),同時(shí)包含了 T0、T1 的狀態(tài)。1) TF1、TF0計(jì)數(shù)溢出標(biāo)志位2) TR1、TR0計(jì)數(shù)運(yùn)行位1:?jiǎn)?dòng)定時(shí)器/計(jì)數(shù)器工作0:停止定時(shí)器/計(jì)數(shù)器工作實(shí)驗(yàn)內(nèi)容:1、通過(guò)定時(shí)器狀態(tài),在 P1
3、.0 產(chǎn)生近似 10kHz 的方波2、利用定時(shí)中斷,在中斷處理每秒通過(guò) P1.0 切換一次邏輯筆的電平3、利用計(jì)數(shù)器測(cè)量信號(hào)發(fā)生器產(chǎn)生的不同頻率的方波周期,并在寄存器中顯示結(jié)果。實(shí)驗(yàn)設(shè)計(jì):1、要求在 P1.0 處產(chǎn)生 10khz 的方波,即周期為 100us,則 P1.0 的邏輯電平每 50us 需跳變一次。我們所使用的 MCU 晶振為 11.0592MHz ,所以定時(shí)器的定時(shí)初值為,采用,n=8,可N 約為 210,轉(zhuǎn)換成十六進(jìn)制數(shù)即為 0D2H,故初始化時(shí)定時(shí)器的初值為 0D2H。然后啟動(dòng)定時(shí)器,不斷定時(shí)器的溢出標(biāo)志 TF0,一旦定時(shí)時(shí)間到即 TF0=1,則將 P1.0 邏輯電平取反,并將
4、溢出標(biāo)志清零,重新開(kāi)始定時(shí),如此反復(fù)循環(huán)。流程圖:開(kāi)始否電路圖:溢出中斷標(biāo)志TF0=1?是輸出電平取反中斷標(biāo)志清零啟動(dòng)定時(shí)器工作初始化定時(shí)器和輸出口P1.0代碼及注釋:;硬件程序ORGLJMPORG MAIN:8000HMAIN8100H;硬件程序;給 P1.0 一個(gè)初值;T0 工作于定時(shí)方式 2;設(shè)置定時(shí)初值 50usSETBMOV MOV MOVSETBP1.0TMOD,#02H TH0,#0D2H TL0,#0D2HTR0;啟動(dòng)定時(shí)器 T0 工作BACK:;定時(shí)時(shí)間 50us 到即 TF0=1 轉(zhuǎn) BACK1,并使 TF0=0;定時(shí)時(shí)間未到繼續(xù)JBCSJMP BACK1:CPL NOP
5、SJMPENDTF0,BACK1BACK;對(duì)電平狀態(tài)取反;加入一條指令的P1.0,防抖動(dòng)BACK2 、實(shí)驗(yàn)要求邏輯筆的狀態(tài)每秒改變一次, 但是我們一個(gè)定時(shí)器最大定時(shí)時(shí)間為,其最大定時(shí)時(shí)間遠(yuǎn)遠(yuǎn)小于 1s,所以僅用一個(gè)定時(shí)器是不夠的,故采用一個(gè)定時(shí)器和一個(gè)計(jì)數(shù)器配合使用。一個(gè)定時(shí)器產(chǎn)生一個(gè)周期為 100ms 的方波信號(hào),即每50ms 進(jìn)入定時(shí)器中斷對(duì)計(jì)數(shù)信號(hào) P1.3 取反,計(jì)數(shù)器對(duì)該信號(hào)計(jì)數(shù),器中斷,改變邏輯筆電平。10 次則進(jìn)入計(jì)數(shù)定時(shí)器的初值,采用方式 1,n=16,N=19456,轉(zhuǎn)換為十六進(jìn)制數(shù)為 4C00H;計(jì)數(shù)器的初值,采用方式 2,n=8,N=246,轉(zhuǎn)換為十六進(jìn)制數(shù)為 0F6H。
6、主程序流程圖:開(kāi)始等待中斷中斷程序流程圖:(T0 定時(shí)中斷)中斷返回P1.3計(jì)數(shù)信號(hào)取反計(jì)數(shù)器計(jì)數(shù)加1重裝T0計(jì)數(shù)初值啟動(dòng)T0、T1工作開(kāi)中斷初始化中斷設(shè)置初始化狀態(tài)及T0、T1的初始值中斷程序流程圖:(T1 計(jì)數(shù)中斷)中斷返回電路圖(修改后加上了邏輯筆的電路):代碼及注釋:;硬件程序ORGLJMP ORG LJMP ORG LJMP ORGMAIN:8000HMAIN 800BH INTT0 801BH INTT18100H;定時(shí)器 T0 中斷地址;定時(shí)器 T1 中斷地址;硬件程序邏輯筆電平取反;給 P1.0 一個(gè)初態(tài);P1.3 作為 T1 的外部計(jì)數(shù)脈沖信號(hào)CLRSETB MOV MOV
7、MOV MOV MOV SETB SETB SETB CLR SETB SETB SETBSJMPP1.0P1.3TMOD,#61H;T0、T1 方式初始化,T0 工作于定時(shí)方式 1,T1 工作于計(jì)數(shù)方式 2 TH1,#0F6H;設(shè)置 T1 計(jì)數(shù)初值TL1,#0F6H;方式 2 會(huì)重裝計(jì)數(shù)初值,初始只需將 TH1、TL1 裝入相同的初值TH0,#4CH;設(shè)置 T0 計(jì)數(shù)初值TL0,#00H;啟動(dòng) T0 工作;啟動(dòng) T1 工作;設(shè)置 T0 為高優(yōu)先級(jí)中斷;設(shè)置 T1 為低優(yōu)先級(jí)中斷;開(kāi)放 T0 中斷;開(kāi)放 T1 中斷;開(kāi)放 CPU 的中斷;等待中斷TR0TR1 PT0 PT1 ET0 ET1 E
8、A$;定時(shí)器 T0 中斷服務(wù)程序ORG8400HINTT0:MOVTH0,#4CH;重裝 T0 計(jì)數(shù)初值,為下一次定時(shí)做準(zhǔn)備MOVTL0,#00H;T0 中斷,50ms 到對(duì) P1.3 求反一次得到周期為 100ms 的脈沖串;中斷返回;定時(shí)器 T1 中斷服務(wù)程序CPLP1.3RETI ORG8500H INTT1:CPLP1.0 RETIEND;T1 中斷,1s 時(shí)間到,改變邏輯筆的電平;中斷返回3、頻率即為時(shí)間內(nèi)脈沖的個(gè)數(shù)。故要測(cè)試 T0 引腳上脈沖的頻率,可利用 T1 定時(shí)1 個(gè)時(shí)間(1s),T0 對(duì)外部脈沖計(jì)數(shù),在此期間所計(jì)的脈沖數(shù)即為待測(cè)頻率值。由于晶振頻率為 11.0592MHz,
9、周期為 12/11.0592us,若選 T1 工作在方式 1 下,其最大定時(shí)時(shí)間為 71ms,遠(yuǎn)遠(yuǎn)小于 1s。因此利用 T1 完成 1s 的定時(shí)任務(wù)還必須配合相應(yīng)軟件來(lái)實(shí)現(xiàn)??稍O(shè)計(jì)一個(gè) T1 定時(shí)次數(shù)計(jì)數(shù)器,若設(shè) T1 定時(shí) 50ms,當(dāng)該計(jì)數(shù)器值為 20 時(shí),定時(shí) 1s 到。則當(dāng) T1 開(kāi)始定時(shí)時(shí),T0 立即對(duì)外部脈沖進(jìn)行計(jì)數(shù),定時(shí)時(shí)間 1s 到,T0 停止計(jì)數(shù),此時(shí) T0 的計(jì)數(shù)值即為信號(hào)的頻率。由上個(gè)實(shí)驗(yàn)計(jì)算值可知 T1 的初值為 4C00H。流程圖:開(kāi)始否50ms時(shí)間到?是否CONT計(jì)數(shù)值為0?是結(jié)束電路圖:關(guān)閉T0計(jì)數(shù)器結(jié)果CONT計(jì)數(shù)值減1T1溢出中斷標(biāo)志清零啟動(dòng)定時(shí)器啟動(dòng)計(jì)數(shù)器初
10、始化定時(shí)器為50ms 初始化計(jì)數(shù)器為0代碼及注釋:CONTEQU;CONT 為定時(shí)器 T1 的定時(shí)次數(shù)72H;硬件程序ORGLJMPORG8000HMAIN8100H;硬件程序MAIN:TMOD,#15H;T0 工作于計(jì)數(shù)方式 1,T1 工作于定時(shí)方式 1MOVMOV MOV MOV MOV MOV SETBSETB;T0 計(jì)數(shù)初值置 0TH0,#00HTL0,#00H TH1,#4CH TL1,#00H CONT,#20 TR1TR0;T1 定時(shí) 50ms;計(jì)數(shù)器初始化,20;啟動(dòng) T1 定時(shí);啟動(dòng) T0 計(jì)數(shù)BACK:;等待定時(shí) 50ms 到;定時(shí)器 T1 溢出中斷標(biāo)志清零JNBTF1,B
11、ACKCLRTF1MOVMOVDEC MOVTH1,#4CHTL1,#00HCONT A,CONT;T1 重裝定時(shí)初值,為下次定時(shí)做準(zhǔn)備;循環(huán)次數(shù)減 1;計(jì)數(shù)次數(shù)不到 20 次,繼續(xù)等待;1s 時(shí)間到,T0 停止計(jì)數(shù)JNZ BACKCLR TR0MOV 71H,TH0 MOV 70H,TL0 SJMP $END;存結(jié)果實(shí)驗(yàn)結(jié)果及分析:1、用示波器在 P1.0 處觀察到穩(wěn)定的周期方波,其頻率為 10.00khz。但是一開(kāi)始實(shí)驗(yàn)時(shí)在 P1.0 處觀測(cè)到的方波非常不穩(wěn)定,方波波形像是由兩個(gè)頻率相近的方波疊加而成的,頻率范圍在 9.810.2KHz 之間。這是因?yàn)樵趯?shí)驗(yàn)設(shè)置 T0 工作于定時(shí)方式 2。
12、工作中,當(dāng) TL0 的內(nèi)容被溢出時(shí),除同步方式 0、1 置位 TF0,產(chǎn)生溢出中斷請(qǐng)求外,還自動(dòng)將 TH0 中不變的初值重新裝入 TL0。這一過(guò)程中系統(tǒng)會(huì)對(duì)中斷溢出標(biāo)志進(jìn)行自動(dòng)清零,由于計(jì)算出的定時(shí)初值 N 為近似值 210,且自動(dòng)清零時(shí)會(huì)產(chǎn)生很小的,這些的累積會(huì)產(chǎn)生一定的誤差,故輸出波形的頻率會(huì)有細(xì)微的差別,從而產(chǎn)生抖動(dòng)。因此,在實(shí)驗(yàn)中我對(duì)程序進(jìn)行了一些修改,即在轉(zhuǎn)入程序的電平取反 CPLP1.0 后加入了一條 NOP 指令,以加入一條指令的方波。修改后再觀察 P1.0 口的波形即可得到穩(wěn)定的 10KHz實(shí)驗(yàn)時(shí),發(fā)現(xiàn)有些同學(xué)將 T0 設(shè)置于工作在定時(shí)方式 1,所測(cè)波形的頻率也會(huì)有些偏差,這是
13、因?yàn)榉绞?1 在情況下,定時(shí)器溢出時(shí)系統(tǒng)對(duì)中斷溢出標(biāo)志進(jìn)行自動(dòng)清零,需在周期,增加加入一條 CLRTF0 指令,對(duì)其進(jìn)行手動(dòng)清零。而這條指令的加入會(huì)改變循環(huán),從而產(chǎn)生輸出頻率與預(yù)期頻率的偏差。為得到所需頻率的方波,T0 的定時(shí)初值應(yīng)重新設(shè)定,公式計(jì)算出的初值稍小一些。2、實(shí)驗(yàn)中可觀察到邏輯筆的紅燈和綠燈每 1s 切換一次。用示波器觀察 P1.0 口的輸出波形,可看到穩(wěn)定的方波波形,周期為 1.02s。這個(gè)實(shí)驗(yàn)中通過(guò)兩個(gè)中斷完成產(chǎn)生周期為 1s 的方波的功能。如實(shí)驗(yàn)設(shè)計(jì)中所說(shuō)明的這是因?yàn)橐a(chǎn)生 1s 的定時(shí),一個(gè)定時(shí)器不夠用,需要兩個(gè)定時(shí)器的配合才能完成。所以我在設(shè)置中斷時(shí),將定時(shí)器設(shè)定為高優(yōu)先
14、級(jí),計(jì)數(shù)器設(shè)定為低優(yōu)先級(jí),先進(jìn)行 50ms 的定時(shí),每次定時(shí)時(shí)間到,計(jì)數(shù)器則進(jìn)行加 1 計(jì)數(shù),由此完成 1s 的定時(shí)。在實(shí)驗(yàn) 1 中有討論到在情況 T0 工作于定時(shí)方式 1 時(shí),由于系統(tǒng)對(duì)中斷溢出標(biāo)志進(jìn)行自動(dòng)清零,需在轉(zhuǎn)入加一條 CLRTF0 指令進(jìn)行轉(zhuǎn)入清零。但是在中斷則不用考慮這個(gè)問(wèn)題,在 TF0 為 1 的情況下系統(tǒng)會(huì)自動(dòng)對(duì) TF0 清零并轉(zhuǎn)向中斷服務(wù)程序。不過(guò)在中斷時(shí)對(duì) TF0 清零的操作也會(huì)占用極少的時(shí)間,故每次的定時(shí)會(huì)產(chǎn)生很微小的延時(shí),在 10 次計(jì)數(shù)中會(huì)進(jìn)行一定的累積,所以最后測(cè)得的周期為 1.02s,有很小的誤差。3、通過(guò)信號(hào)源產(chǎn)生不同頻率的方波的信號(hào),在 1s 中對(duì)信號(hào)的脈沖進(jìn)行計(jì)數(shù),得到信號(hào)的頻率,在示結(jié)果。單元 70H 和 71H 中可看到計(jì)數(shù)結(jié)果,將類型改為 float,可以十進(jìn)制顯選取十個(gè)不同頻率的方波信號(hào),測(cè)得的數(shù)據(jù)結(jié)果如下所示:3025201510500由待測(cè)頻率與實(shí)測(cè)頻率的關(guān)系表及關(guān)系圖中,可看出實(shí)測(cè)頻率與待測(cè)頻率幾乎一致,只有非常小的誤差。而隨著頻率的升高,相對(duì)誤差也有細(xì)微的變化,但都在同一個(gè)數(shù)量級(jí)上。由于頻率變,信號(hào)源的輸出頻率不穩(wěn)定,所測(cè)頻率與待測(cè)頻率的相對(duì)誤差變化較大。不過(guò)從理論上來(lái)說(shuō),頻率越高相對(duì)誤差應(yīng)該越小,因?yàn)樵诙〞r(shí)中產(chǎn)生的細(xì)小誤差在越大的頻率中體現(xiàn)得越不明顯。實(shí)測(cè)頻率
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重型房車(chē)租賃合同范本
- 勞務(wù)保險(xiǎn)合同范本
- 單元整體視域下的初中數(shù)學(xué)章起始課教學(xué)設(shè)計(jì)研究
- 原發(fā)性膽汁性膽管炎合并非硬化性門(mén)靜脈高壓的臨床特征及預(yù)后分析
- 獸醫(yī)傳染病學(xué)測(cè)試題+答案
- 科技推動(dòng)下生物乙醇的生產(chǎn)與應(yīng)用新趨勢(shì)
- 園林出租公寓合同范本
- 生物菌肥銷(xiāo)售合同范本
- 二零二五年度新能源產(chǎn)業(yè)技術(shù)支持人員合作協(xié)議書(shū)
- 二零二五年度聯(lián)合辦公空間辦公室合租服務(wù)協(xié)議
- 《高鐵乘務(wù)安全管理與應(yīng)急處置(第3版)》全套教學(xué)課件
- 歷年湖北省公務(wù)員筆試真題2024
- 學(xué)校食品安全長(zhǎng)效管理制度
- 滋補(bǔ)品項(xiàng)目效益評(píng)估報(bào)告
- 提綱作文(解析版)- 2025年天津高考英語(yǔ)熱點(diǎn)題型專項(xiàng)復(fù)習(xí)
- 2025年南京機(jī)電職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025年春新人教版歷史七年級(jí)下冊(cè)全冊(cè)課件
- 2025年浙江臺(tái)州機(jī)場(chǎng)管理有限公司招聘筆試參考題庫(kù)含答案解析
- 《中式風(fēng)格陳設(shè)》課件
- 《汽車(chē)空調(diào)工作原理》課件
- 2024年鄭州黃河護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及解析答案
評(píng)論
0/150
提交評(píng)論