《汽車計算機(jī)基礎(chǔ)》 課件 9- 利用定時中斷實現(xiàn)頻閃燈_第1頁
《汽車計算機(jī)基礎(chǔ)》 課件 9- 利用定時中斷實現(xiàn)頻閃燈_第2頁
《汽車計算機(jī)基礎(chǔ)》 課件 9- 利用定時中斷實現(xiàn)頻閃燈_第3頁
《汽車計算機(jī)基礎(chǔ)》 課件 9- 利用定時中斷實現(xiàn)頻閃燈_第4頁
《汽車計算機(jī)基礎(chǔ)》 課件 9- 利用定時中斷實現(xiàn)頻閃燈_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7單元:閃燈的設(shè)計與實現(xiàn)第8單元:開關(guān)狀態(tài)指示燈的設(shè)計與實現(xiàn)第9單元:利用定時中斷實現(xiàn)頻閃燈第10單元:利用PWM實現(xiàn)小燈亮度控制第11單元:利用UART實現(xiàn)上位機(jī)和下位機(jī)的通信第12單元:利用ADC設(shè)計簡易數(shù)字電壓表汽車嵌入式技術(shù)基礎(chǔ)篇

第9單元利用定時中斷實現(xiàn)頻閃燈

在第7單元中,利用軟件延時Delay_ms函數(shù)(循環(huán)計數(shù))實現(xiàn)閃燈的效果。

該方式有兩大缺點:

①軟件延時一般用于粗略延時的場合;

②執(zhí)行延時子程序期間,CPU一直被占用而不能做其他事情,從而降低了CPU的利用率?!締卧獙?dǎo)讀】第9單元利用定時中斷實現(xiàn)頻閃燈

為此,可使用MCU內(nèi)部可編程的定時/計數(shù)器實現(xiàn)延時。用戶根據(jù)需要設(shè)置定時時間,并啟動定時/計數(shù)器計數(shù),當(dāng)定時時間到時,它將自動產(chǎn)生一個定時輸出信號(通常是中斷請求信號)告知CPU,使CPU轉(zhuǎn)去執(zhí)行定時中斷服務(wù)程序,從而實現(xiàn)某些定時功能(如改變小燈的狀態(tài))。定時/計數(shù)器在計數(shù)期間,與CPU并行工作,不占用CPU的工作時間。該方式通過簡單的程序設(shè)置即可實現(xiàn)準(zhǔn)確的定時。單元學(xué)習(xí)任務(wù)和目標(biāo):(1)理解定時器的定時原理。(2)理解中斷的通用知識,熟知使用非內(nèi)核中斷的嵌入式應(yīng)用層程序構(gòu)成。(3)熟悉MCU內(nèi)部定時器的功能特性,掌握MCU內(nèi)部定時器底層驅(qū)動構(gòu)件頭文件的使用方法。(4)學(xué)會利用MCU內(nèi)部定時中斷實現(xiàn)頻閃燈或流水燈的應(yīng)用層程序設(shè)計方法。任務(wù)9.1理解中斷的通用知識1、中斷的含義

中斷,是指MCU在正常運行程序時,由于MCU內(nèi)核異常(內(nèi)核中斷)或

MCU各功能模塊發(fā)出請求事件(非內(nèi)核中斷),使MCU停止正在運行的程序,而轉(zhuǎn)去處理異常(使芯片復(fù)位或使MCU做出其他處理)或

執(zhí)行處理內(nèi)核外部事件的程序(中斷服務(wù)程序)。2、中斷源

引起MCU中斷的事件稱為中斷源。MCU的中斷源分為兩類:內(nèi)核中斷源和非內(nèi)核中斷源。KEA128的中斷源見表9-1。任務(wù)9.1理解中斷的通用知識4、使用非內(nèi)核中斷的嵌入式應(yīng)用層程序設(shè)計方法

(1)在main.c文件的主程序中,進(jìn)行非內(nèi)核中斷模塊初始化,并使能模塊中斷(使CPU能夠響應(yīng)模塊發(fā)出的中斷請求,轉(zhuǎn)去執(zhí)行中斷服務(wù)函數(shù))。

(2)在isr.c文件中,設(shè)計中斷服務(wù)程序函數(shù),在中斷服務(wù)函數(shù)中實現(xiàn)某些中斷功能(如改變小燈狀態(tài)等)。3、使用非內(nèi)核中斷的嵌入式應(yīng)用層程序構(gòu)成

使用中斷的嵌入式應(yīng)用層程序,共有兩條獨立的程序運行線:

(1)main.c文件中的主程序運行線;

(2)isr.c文件中的中斷服務(wù)程序運行線。任務(wù)9.2利用FTM定時中斷實現(xiàn)頻閃燈定時器本質(zhì)上是一個對計數(shù)時鐘進(jìn)行周期統(tǒng)計的計數(shù)器。

上圖中,計數(shù)器采用增1計數(shù)。計數(shù)器從初值0開始計數(shù),每經(jīng)過一個計數(shù)時鐘周期,計數(shù)器的值就加1,若計數(shù)器的值達(dá)到終值4,則在下一個時鐘到來時,計數(shù)器溢出,計數(shù)器的值恢復(fù)至初值0,然后進(jìn)行下一輪的加1計數(shù),如此重復(fù)。

定時器每一輪的定時時間t=

計數(shù)次數(shù)×計數(shù)時鐘周期

上圖中,一輪的計數(shù)次數(shù)是5,若計數(shù)時鐘頻率為1kHz(計數(shù)時鐘周期為1ms),則一輪的定時時間為5ms。任務(wù)9.2利用FTM定時中斷實現(xiàn)頻閃燈對于n位(二進(jìn)制)定時/計數(shù)器,計數(shù)器的終值最大值為2n-1,結(jié)合上圖,定時/計數(shù)器一輪計數(shù)次數(shù)最大值為2n。n位定時/計數(shù)器一輪的最大定時時間t:

t=2n×計數(shù)時鐘周期

=2n/計數(shù)時鐘頻率

f若

f=

時鐘源頻率/分頻系數(shù),則

t=2n/(時鐘源頻率/分頻系數(shù))

【同步練習(xí)9-1】計算定時時間范圍。

任務(wù)9.2利用FTM定時中斷實現(xiàn)頻閃燈

當(dāng)計數(shù)器溢出時,定時器可向CPU發(fā)出中斷請求信號,使CPU暫停當(dāng)前的工作,而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,在中斷服務(wù)程序中實現(xiàn)具體的定時功能(如改變小燈的狀態(tài)等)。任務(wù)9.2利用FTM定時中斷實現(xiàn)頻閃燈

KEA128芯片的FTM(FlexTimer)是一個具有基本定時、脈寬調(diào)制(PWM)、輸入捕捉和輸出比較等多種功能的綜合定時器。KEA128芯片中有3個FTM模塊,分別是FTM0、FTM1和FTM2,它們均是16位定時器。本單元只學(xué)習(xí)FTM模塊的基本定時功能,其PWM功能將在第10單元介紹。任務(wù)9.2利用FTM定時中斷實現(xiàn)頻閃燈9.2.1FTM基本定時底層驅(qū)動構(gòu)件的使用方法

FTM基本定時底層驅(qū)動構(gòu)件由ftm_timer.h頭文件和ftm_timer.c源文件組成,若要使用FTM基本定時底層驅(qū)動構(gòu)件,只需將這兩個文件添加到所建工程的04_Driver(MCU底層驅(qū)動構(gòu)件)文件夾中即可實現(xiàn)對FTM定時器的操作。見工程文件:..EmbededSource\03-Software\KEA128\KEA128.uvprojx

用戶只要熟悉ftm_timer.h頭文件的內(nèi)容,即可使用FTM基本定時底層驅(qū)動構(gòu)件進(jìn)行編程。

其中,ftm_timer.h頭文件主要包括相關(guān)頭文件的包含、相關(guān)的宏定義、對外接口函數(shù)的聲明;而ftm_timer.c源文件是對外接口函數(shù)的具體實現(xiàn),初學(xué)者不必深究。任務(wù)9.2利用FTM定時中斷實現(xiàn)頻閃燈9.2.2利用FTM定時中斷實現(xiàn)頻閃燈的應(yīng)用層程序設(shè)計

在嵌入式軟件最小系統(tǒng)框架下,設(shè)計07_Source(應(yīng)用層軟件構(gòu)件)的文件,以實現(xiàn)小燈閃爍的效果。1)工程總頭文件includes.h:

包含04、05、06文件夾中的頭文件2)主程序源文件main.c:

定義全局變量;初始化;使能定時器中斷;

在主循環(huán)中,根據(jù)全局變量的值,改變小燈的狀態(tài)在工程文件中分析代碼并編程:..EmbeddedSource\03-Software\KEA128\

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論