第章定時(shí)接口模塊_第1頁(yè)
第章定時(shí)接口模塊_第2頁(yè)
第章定時(shí)接口模塊_第3頁(yè)
第章定時(shí)接口模塊_第4頁(yè)
第章定時(shí)接口模塊_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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、 第十二章第十二章 定時(shí)接口模塊定時(shí)接口模塊本章主要內(nèi)容本章主要內(nèi)容計(jì)數(shù)器計(jì)數(shù)器/ /定時(shí)器的基本工作原理定時(shí)器的基本工作原理定時(shí)器模塊的編程基礎(chǔ)定時(shí)器模塊的編程基礎(chǔ) 定時(shí)器模塊的輸入捕捉功能定時(shí)器模塊的輸入捕捉功能 定時(shí)器模塊的輸出比較功能定時(shí)器模塊的輸出比較功能定時(shí)器模塊的脈寬調(diào)制輸出功能定時(shí)器模塊的脈寬調(diào)制輸出功能12.1 12.1 計(jì)數(shù)器計(jì)數(shù)器/ /定時(shí)器的基本工作原理定時(shí)器的基本工作原理12.1.1 實(shí)現(xiàn)計(jì)數(shù)與定時(shí)的基本方法(1 1)完全硬件方式)完全硬件方式 在過(guò)去許多儀器儀表或設(shè)備中,需要進(jìn)行延時(shí)、定時(shí)或計(jì)數(shù),經(jīng)在過(guò)去許多儀器儀表或設(shè)備中,需要進(jìn)行延時(shí)、定時(shí)或計(jì)數(shù),經(jīng) 常使用數(shù)字

2、邏輯電路實(shí)現(xiàn),即完全用硬件電路實(shí)現(xiàn)計(jì)數(shù)常使用數(shù)字邏輯電路實(shí)現(xiàn),即完全用硬件電路實(shí)現(xiàn)計(jì)數(shù)/ /定時(shí)功能若要改定時(shí)功能若要改變計(jì)數(shù)變計(jì)數(shù)/ /定時(shí)的要求,必須改變電路參數(shù),通用性、靈活性差。微型電子定時(shí)的要求,必須改變電路參數(shù),通用性、靈活性差。微型電子計(jì)算機(jī)出現(xiàn)以后,特別是單片微型計(jì)算機(jī)的發(fā)展與普及,這種完全硬件計(jì)算機(jī)出現(xiàn)以后,特別是單片微型計(jì)算機(jī)的發(fā)展與普及,這種完全硬件方式實(shí)現(xiàn)定時(shí)與計(jì)數(shù)已較少使用。方式實(shí)現(xiàn)定時(shí)與計(jì)數(shù)已較少使用。(2 2)完全軟件方式)完全軟件方式 在計(jì)算機(jī)中,通過(guò)編程,利用計(jì)算機(jī)執(zhí)行指令的時(shí)間實(shí)現(xiàn)定時(shí),在計(jì)算機(jī)中,通過(guò)編程,利用計(jì)算機(jī)執(zhí)行指令的時(shí)間實(shí)現(xiàn)定時(shí),稱為完全軟件方式

3、,簡(jiǎn)稱軟件方式。在這種方式中,一般是根據(jù)所需稱為完全軟件方式,簡(jiǎn)稱軟件方式。在這種方式中,一般是根據(jù)所需要的時(shí)間常數(shù)來(lái)設(shè)計(jì)一個(gè)延時(shí)子程序,延時(shí)子程序中包含一定的指令,要的時(shí)間常數(shù)來(lái)設(shè)計(jì)一個(gè)延時(shí)子程序,延時(shí)子程序中包含一定的指令,設(shè)計(jì)者要對(duì)這些指令的執(zhí)行時(shí)間進(jìn)行嚴(yán)密的計(jì)算或者精確的測(cè)試,以設(shè)計(jì)者要對(duì)這些指令的執(zhí)行時(shí)間進(jìn)行嚴(yán)密的計(jì)算或者精確的測(cè)試,以便確定延時(shí)時(shí)間是否符合要求。便確定延時(shí)時(shí)間是否符合要求。 (3 3)可編程計(jì)數(shù)器)可編程計(jì)數(shù)器/ /定時(shí)器定時(shí)器 利用專門的可編程計(jì)數(shù)器定時(shí)器實(shí)現(xiàn)計(jì)數(shù)與定時(shí),克服了完全利用專門的可編程計(jì)數(shù)器定時(shí)器實(shí)現(xiàn)計(jì)數(shù)與定時(shí),克服了完全硬件方式與完全軟件方式的缺點(diǎn),

4、設(shè)定之后與硬件方式與完全軟件方式的缺點(diǎn),設(shè)定之后與cpucpu并行地工作。應(yīng)用并行地工作。應(yīng)用可編程計(jì)數(shù)器定時(shí)器,在簡(jiǎn)單的軟件控制下,可以產(chǎn)生準(zhǔn)確的時(shí)間可編程計(jì)數(shù)器定時(shí)器,在簡(jiǎn)單的軟件控制下,可以產(chǎn)生準(zhǔn)確的時(shí)間延時(shí)。這種方法的主要思想是根據(jù)需要的定時(shí)時(shí)間,用指令對(duì)計(jì)數(shù)器延時(shí)。這種方法的主要思想是根據(jù)需要的定時(shí)時(shí)間,用指令對(duì)計(jì)數(shù)器定時(shí)器設(shè)置定時(shí)常數(shù),并用指令啟動(dòng)計(jì)數(shù)器定時(shí)器。這種方法最定時(shí)器設(shè)置定時(shí)常數(shù),并用指令啟動(dòng)計(jì)數(shù)器定時(shí)器。這種方法最突出的優(yōu)點(diǎn)是計(jì)數(shù)時(shí)不占用突出的優(yōu)點(diǎn)是計(jì)數(shù)時(shí)不占用cpucpu的時(shí)間,并且,如果利用計(jì)數(shù)器定的時(shí)間,并且,如果利用計(jì)數(shù)器定時(shí)器產(chǎn)生中斷信號(hào)就可以建立多作業(yè)的環(huán)境

5、,所以,可大大提高時(shí)器產(chǎn)生中斷信號(hào)就可以建立多作業(yè)的環(huán)境,所以,可大大提高cpucpu的利用率。的利用率。12.1.2 mc68hc908gp32 mcu12.1.2 mc68hc908gp32 mcu的定時(shí)接口的的定時(shí)接口的 基本原理的概述基本原理的概述 mc68hc08mc68hc08系列的單片機(jī)可以提供多個(gè)獨(dú)立的定時(shí)器,例如,系列的單片機(jī)可以提供多個(gè)獨(dú)立的定時(shí)器,例如,gp32gp32芯芯片有兩個(gè)定時(shí)器,分別叫定時(shí)器片有兩個(gè)定時(shí)器,分別叫定時(shí)器1 1、定時(shí)器、定時(shí)器2 2,它們的工作原理是一的,它們的工作原理是一的,下面的說(shuō)明均以定時(shí)器下面的說(shuō)明均以定時(shí)器1 1為例。為例。 hc08hc

6、08系列的單片機(jī)定時(shí)器的核心是一個(gè)處于不斷加系列的單片機(jī)定時(shí)器的核心是一個(gè)處于不斷加1 1的的1616位計(jì)數(shù)寄位計(jì)數(shù)寄存器,簡(jiǎn)稱為計(jì)數(shù)器。該計(jì)數(shù)器的時(shí)鐘頻率由外部晶振時(shí)鐘(也可以是存器,簡(jiǎn)稱為計(jì)數(shù)器。該計(jì)數(shù)器的時(shí)鐘頻率由外部晶振時(shí)鐘(也可以是由鎖相環(huán)模塊得到的總線時(shí)鐘)經(jīng)過(guò)預(yù)定的分頻因子分頻得到。由鎖相環(huán)模塊得到的總線時(shí)鐘)經(jīng)過(guò)預(yù)定的分頻因子分頻得到。 在定時(shí)器內(nèi)部有個(gè)控制和狀態(tài)寄存器,通過(guò)對(duì)它某些位的設(shè)置,就在定時(shí)器內(nèi)部有個(gè)控制和狀態(tài)寄存器,通過(guò)對(duì)它某些位的設(shè)置,就可以確定多少時(shí)間計(jì)數(shù)器加可以確定多少時(shí)間計(jì)數(shù)器加1 1,即定時(shí)間隔。,即定時(shí)間隔。 在定時(shí)器內(nèi)部有個(gè)預(yù)置寄存器,當(dāng)計(jì)數(shù)器的值等于

7、預(yù)置寄存器的值在定時(shí)器內(nèi)部有個(gè)預(yù)置寄存器,當(dāng)計(jì)數(shù)器的值等于預(yù)置寄存器的值時(shí),稱為計(jì)數(shù)器溢出,當(dāng)計(jì)數(shù)器溢出時(shí),計(jì)數(shù)器的值被賦時(shí),稱為計(jì)數(shù)器溢出,當(dāng)計(jì)數(shù)器溢出時(shí),計(jì)數(shù)器的值被賦0 0,同時(shí)將計(jì),同時(shí)將計(jì)數(shù)器溢出標(biāo)志等狀態(tài)置于控制和狀態(tài)寄存器中。數(shù)器溢出標(biāo)志等狀態(tài)置于控制和狀態(tài)寄存器中。mc68hc908gp32 mcumc68hc908gp32 mcu定時(shí)器基本功能及主要特征:定時(shí)器基本功能及主要特征: hc08hc08系列的單片機(jī)定時(shí)器具有輸入捕捉、輸出比較、系列的單片機(jī)定時(shí)器具有輸入捕捉、輸出比較、pwmpwm、脈沖、脈沖輸出、輸出、dmadma直接存儲(chǔ)器訪問(wèn)等功能。直接存儲(chǔ)器訪問(wèn)等功能。 以

8、下簡(jiǎn)要給出以下簡(jiǎn)要給出mc68hc908gp32mc68hc908gp32的定時(shí)器的主要特征:的定時(shí)器的主要特征: 每個(gè)定時(shí)器具有兩路獨(dú)立的輸入捕捉輸出比較通道。每個(gè)定時(shí)器具有兩路獨(dú)立的輸入捕捉輸出比較通道。 帶緩沖(帶緩沖(bufferedbuffered)和不帶緩沖()和不帶緩沖(unbufferedunbuffered)的脈寬調(diào)制)的脈寬調(diào)制波。波。 七種可編程選擇的分頻因子。七種可編程選擇的分頻因子。 預(yù)置計(jì)數(shù)。預(yù)置計(jì)數(shù)。 計(jì)數(shù)器停止或清除。計(jì)數(shù)器停止或清除。 16 16位輸入捕捉和通道寄存器。位輸入捕捉和通道寄存器。 定時(shí)器溢出中斷、每路通道的輸入捕捉輸出比較中斷。定時(shí)器溢出中斷、每

9、路通道的輸入捕捉輸出比較中斷。定時(shí)器功能框圖定時(shí)器功能框圖12.2 12.2 定時(shí)器模塊的編程基礎(chǔ)定時(shí)器模塊的編程基礎(chǔ) d7 d7 tof tof位:定時(shí)器溢出標(biāo)志位位:定時(shí)器溢出標(biāo)志位 。當(dāng)。當(dāng)1616位計(jì)數(shù)寄存器位計(jì)數(shù)寄存器t1cntt1cnt中中的值達(dá)到設(shè)定值的值達(dá)到設(shè)定值( (在在1616位預(yù)置寄存器位預(yù)置寄存器t1modt1mod中中) )時(shí),時(shí),tof=1tof=1,同時(shí),同時(shí)t1cnt=$0000t1cnt=$0000。 d6 d6 toie toie位:定時(shí)器溢出中斷允許位(位:定時(shí)器溢出中斷允許位(timer overflow timer overflow interrupt

10、 enable bitinterrupt enable bit)。該位用來(lái)設(shè)置是否允許定時(shí)器溢出中斷。)。該位用來(lái)設(shè)置是否允許定時(shí)器溢出中斷。toie=1toie=1,允許定時(shí)器溢出中斷,允許定時(shí)器溢出中斷,toie=0toie=0,不允許定時(shí)器溢出中斷。,不允許定時(shí)器溢出中斷。12.2.1 12.2.1 定時(shí)器模塊的定時(shí)器模塊的3 3個(gè)基本寄存器個(gè)基本寄存器(1 1)t1t1狀態(tài)和控制寄存器(狀態(tài)和控制寄存器(timer 1 status and control registertimer 1 status and control register,t1sct1sc) t1sct1sc的地址

11、:的地址:$0020$0020,定義為:,定義為:數(shù)據(jù)位 d7 d6 d5 d4 d3 d2 d1 d0定義 tof toie tstop trst - ps2 ps1 ps0復(fù)位 0 0 1 0 0 0 0 0(1 1)t1t1狀態(tài)和控制寄存器(狀態(tài)和控制寄存器(timer 1 status and timer 1 status and control registercontrol register,t1sct1sc) d5 d5 tstop tstop位:定時(shí)器計(jì)數(shù)停止位(位:定時(shí)器計(jì)數(shù)停止位(timer count stop bittimer count stop bit)。該位用來(lái)控

12、制計(jì))。該位用來(lái)控制計(jì)數(shù)器的計(jì)數(shù)停止和恢復(fù)。對(duì)該位寫入數(shù)器的計(jì)數(shù)停止和恢復(fù)。對(duì)該位寫入1 1,定時(shí)器的計(jì)數(shù)寄存器將保持當(dāng)前的值,停止,定時(shí)器的計(jì)數(shù)寄存器將保持當(dāng)前的值,停止計(jì)數(shù)。計(jì)數(shù)。 d4 d4 trst trst位:定時(shí)器復(fù)位位位:定時(shí)器復(fù)位位(timer reset bit )(timer reset bit )。向該位寫入。向該位寫入1 1將清除定時(shí)器將清除定時(shí)器的計(jì)數(shù)寄存器和設(shè)定的分頻因子,該位通常為的計(jì)數(shù)寄存器和設(shè)定的分頻因子,該位通常為0 0。 d3 d3 未定義。未定義。 d2d2d0 d0 ps2 ps2ps0ps0位:定時(shí)器分頻因子選擇位(位:定時(shí)器分頻因子選擇位(time

13、r prescaler select timer prescaler select bitsbits)。這三位定義定時(shí)器的分頻因子,記為:)。這三位定義定時(shí)器的分頻因子,記為:p p,定義如下,定義如下: :ps2ps2、ps1ps1、ps0=000 001 010 011 100 101 110 111 ps0=000 001 010 011 100 101 110 111 p =1 2 4 8 16 32 64 p =1 2 4 8 16 32 64 未定義未定義其中設(shè)其中設(shè)fbusfbus為總線頻率,則定時(shí)器的計(jì)數(shù)寄存器的計(jì)數(shù)頻率為:計(jì)數(shù)頻率為總線頻率,則定時(shí)器的計(jì)數(shù)寄存器的計(jì)數(shù)頻率為:

14、計(jì)數(shù)頻率fbus/pfbus/p。復(fù)位時(shí),復(fù)位時(shí),ps2ps2、ps1ps1、ps0=000ps0=000,即,即p=1p=1,此時(shí),計(jì)數(shù)頻率,此時(shí),計(jì)數(shù)頻率fbusfbus。分頻因子的選取應(yīng)根。分頻因子的選取應(yīng)根據(jù)總線頻率據(jù)總線頻率fbusfbus、預(yù)置寄存器的設(shè)定值、希望的溢出時(shí)間的綜合考慮確定。、預(yù)置寄存器的設(shè)定值、希望的溢出時(shí)間的綜合考慮確定。 (2 2)t1t1計(jì)數(shù)寄存器(計(jì)數(shù)寄存器(t1 counter registert1 counter register,t1cntht1cnth、t1cntlt1cntl) 它是一個(gè)它是一個(gè)1616位寄存器,分為高位寄存器,分為高8 8位、低位

15、、低8 8位,地址分別為位,地址分別為$0021$0021、$0022$0022,它的作用是:當(dāng)定時(shí)器的狀態(tài)和控制寄存器的,它的作用是:當(dāng)定時(shí)器的狀態(tài)和控制寄存器的tstoptstop位位=0=0時(shí),時(shí),即允許計(jì)數(shù)時(shí),每一計(jì)數(shù)周期,其值自動(dòng)加即允許計(jì)數(shù)時(shí),每一計(jì)數(shù)周期,其值自動(dòng)加1 1,當(dāng)它達(dá)到設(shè)定值,當(dāng)它達(dá)到設(shè)定值( (在在1616位預(yù)置寄存器中位預(yù)置寄存器中) )時(shí),時(shí),tof=1tof=1,同時(shí)計(jì)數(shù)寄存器自動(dòng)清,同時(shí)計(jì)數(shù)寄存器自動(dòng)清0 0。(3 3)t1t1預(yù)置寄存器(預(yù)置寄存器(t1 counter modulo registert1 counter modulo register,

16、t1modht1modh、t1modlt1modl) 它是一個(gè)它是一個(gè)1616位寄存器,分為高位寄存器,分為高8 8位、低位、低8 8位,地址分別為位,地址分別為$0023$0023、$0024$0024,它的作用是:設(shè)定計(jì)數(shù)寄存器的計(jì)數(shù)溢出值。復(fù)位時(shí),預(yù)置,它的作用是:設(shè)定計(jì)數(shù)寄存器的計(jì)數(shù)溢出值。復(fù)位時(shí),預(yù)置寄存器的初值為寄存器的初值為$ffff$ffff。12.2.212.2.2定時(shí)溢出中斷匯編工程實(shí)例定時(shí)溢出中斷匯編工程實(shí)例 為了理解定時(shí)器的基本功能,這里給出利用定時(shí)器溢出編寫定時(shí)的例為了理解定時(shí)器的基本功能,這里給出利用定時(shí)器溢出編寫定時(shí)的例子,并把子,并把“時(shí)分秒時(shí)分秒”發(fā)送到發(fā)送到

17、pcpc機(jī),以便比較。同時(shí),在機(jī),以便比較。同時(shí),在pcpc機(jī)方,用一機(jī)方,用一個(gè)十分簡(jiǎn)明的程序,接收個(gè)十分簡(jiǎn)明的程序,接收mcumcu發(fā)送來(lái)發(fā)送來(lái)“時(shí)分秒時(shí)分秒”并顯示,同時(shí)還可以并顯示,同時(shí)還可以將將pcpc機(jī)的當(dāng)前時(shí)間發(fā)送到機(jī)的當(dāng)前時(shí)間發(fā)送到mcumcu,作為時(shí)間基準(zhǔn)值。通過(guò)這個(gè)例子,理,作為時(shí)間基準(zhǔn)值。通過(guò)這個(gè)例子,理解定時(shí)器溢出中斷的編程方法和系統(tǒng)時(shí)間的產(chǎn)生方法。解定時(shí)器溢出中斷的編程方法和系統(tǒng)時(shí)間的產(chǎn)生方法。1) mcu方程序2) pc方vb程序1) mcu方程序 2) pc方vb程序pcpc方的界面見(jiàn)圖。程序主要功能是:接收方的界面見(jiàn)圖。程序主要功能是:接收mcumcu發(fā)送來(lái)發(fā)送

18、來(lái)“時(shí)分秒時(shí)分秒”并顯并顯示,也可以單擊示,也可以單擊“發(fā)送發(fā)送”按鈕,發(fā)送按鈕,發(fā)送pcpc機(jī)的當(dāng)前時(shí)間。機(jī)的當(dāng)前時(shí)間。 12.2.3 12.2.3 定時(shí)溢出中斷編程定時(shí)溢出中斷編程c c語(yǔ)言程序例語(yǔ)言程序例1 1)定時(shí)溢出中斷編程)定時(shí)溢出中斷編程c c語(yǔ)言程序例主程序語(yǔ)言程序例主程序2 2)定時(shí)溢出中斷編程)定時(shí)溢出中斷編程c c語(yǔ)言程序例矢量表文件語(yǔ)言程序例矢量表文件12.3 12.3 定時(shí)器模塊的輸入捕捉功能定時(shí)器模塊的輸入捕捉功能12.3.1 12.3.1 輸入捕捉的基本含義輸入捕捉的基本含義(1)與輸入捕捉功能相關(guān)的引腳 在在mc68hc908gp32mc68hc908gp32的

19、的dip-40dip-40封裝形式中,第封裝形式中,第2121、2222腳標(biāo)記是腳標(biāo)記是“ptd4/t1ch0ptd4/t1ch0、ptd5/t1ch1”ptd5/t1ch1”,它們是普通,它們是普通i/oi/o與定時(shí)器輸入捕捉的與定時(shí)器輸入捕捉的復(fù)用引腳。作為定時(shí)器輸入捕捉功能使用時(shí),它們是定時(shí)器復(fù)用引腳。作為定時(shí)器輸入捕捉功能使用時(shí),它們是定時(shí)器1 1的兩個(gè)的兩個(gè)通道輸入捕捉引腳。通道輸入捕捉引腳。(2)輸入捕捉的基本含義 輸入捕捉功能是用來(lái)監(jiān)測(cè)外部的事件和輸入信號(hào)。當(dāng)外部事件發(fā)輸入捕捉功能是用來(lái)監(jiān)測(cè)外部的事件和輸入信號(hào)。當(dāng)外部事件發(fā)生或信號(hào)發(fā)生變化時(shí),在指定的輸入捕捉引腳上發(fā)生一個(gè)指定的

20、沿跳生或信號(hào)發(fā)生變化時(shí),在指定的輸入捕捉引腳上發(fā)生一個(gè)指定的沿跳變(可以指定該跳變是上升沿還是下降沿)。定時(shí)器捕捉到特定的沿變(可以指定該跳變是上升沿還是下降沿)。定時(shí)器捕捉到特定的沿跳變后,把計(jì)數(shù)寄存器當(dāng)前的值鎖存到通道寄存器。跳變后,把計(jì)數(shù)寄存器當(dāng)前的值鎖存到通道寄存器。 12.3.2 12.3.2 輸入捕捉的寄存器輸入捕捉的寄存器(1 1)t1t1通道寄存器通道寄存器 (t1 channel registert1 channel register) 定時(shí)器定時(shí)器1 1有兩個(gè)通道,相對(duì)應(yīng)的通道寄存器有:有兩個(gè)通道,相對(duì)應(yīng)的通道寄存器有:定時(shí)器定時(shí)器1 1通道通道0 0寄寄存器存器t1ch0

21、(16t1ch0(16位寄存器位寄存器) ),地址是:,地址是:$0026$0026、$0027$0027;定時(shí)器定時(shí)器1 1通道通道1 1寄存器寄存器t1ch1 (16t1ch1 (16位寄存器位寄存器) ) ,地址是:,地址是:$0029$0029、$002a$002a。 通道寄存器在該通道用作輸入捕捉時(shí)的作用是:當(dāng)指定的沿跳變通道寄存器在該通道用作輸入捕捉時(shí)的作用是:當(dāng)指定的沿跳變發(fā)生發(fā)生 ( (即定時(shí)系統(tǒng)捕捉到沿跳變即定時(shí)系統(tǒng)捕捉到沿跳變) ) 時(shí),鎖存計(jì)數(shù)寄存器的值。時(shí),鎖存計(jì)數(shù)寄存器的值。 通道寄存器是一個(gè)通道寄存器是一個(gè)1616位的寄存器,分為高字節(jié)和低字節(jié),在讀取位的寄存器,分

22、為高字節(jié)和低字節(jié),在讀取的時(shí)候要分別讀取。為了防止兩次讀取之間該寄存器的內(nèi)容發(fā)生變化的時(shí)候要分別讀取。為了防止兩次讀取之間該寄存器的內(nèi)容發(fā)生變化而產(chǎn)生虛假的輸入捕捉計(jì)數(shù)值,系統(tǒng)會(huì)在讀取高字節(jié)時(shí)鎖存低字節(jié)的而產(chǎn)生虛假的輸入捕捉計(jì)數(shù)值,系統(tǒng)會(huì)在讀取高字節(jié)時(shí)鎖存低字節(jié)的內(nèi)容,這時(shí)即使又發(fā)生特定的沿跳變,通道寄存器的內(nèi)容也不會(huì)改變。內(nèi)容,這時(shí)即使又發(fā)生特定的沿跳變,通道寄存器的內(nèi)容也不會(huì)改變。所以,若要讀取整個(gè)通道寄存器,必須先讀高字節(jié),再讀低字節(jié)。所以,若要讀取整個(gè)通道寄存器,必須先讀高字節(jié),再讀低字節(jié)。(2 2)t1t1通道通道0 0狀態(tài)和控制寄存器(狀態(tài)和控制寄存器(t1 channel0 st

23、atus and control registert1 channel0 status and control register,t1sc0t1sc0)d7 d7 :通道標(biāo)志位,用來(lái)標(biāo)志定時(shí)器:通道標(biāo)志位,用來(lái)標(biāo)志定時(shí)器1 1通道通道0 0發(fā)生了輸入捕捉。發(fā)生了輸入捕捉。 d6 d6 :通道中斷允許位,用來(lái)設(shè)置是否允許發(fā)生輸入捕捉中斷。通道中斷允許位,用來(lái)設(shè)置是否允許發(fā)生輸入捕捉中斷。 d5d5d4d4:模式選擇位。每一個(gè)定時(shí)器都可以工作在輸入捕捉,輸出比較和模式選擇位。每一個(gè)定時(shí)器都可以工作在輸入捕捉,輸出比較和pwmpwm輸出模式,這兩位用來(lái)選擇這些工作模式。輸出模式,這兩位用來(lái)選擇這些工

24、作模式。 d3d3d2 d2 :跳變沿:跳變沿/ /輸出電平選擇位。輸出電平選擇位。 d1 d1 :溢出翻轉(zhuǎn)控制標(biāo)志位,定時(shí)器通道用做:溢出翻轉(zhuǎn)控制標(biāo)志位,定時(shí)器通道用做輸入捕捉時(shí),此位無(wú)用。輸入捕捉時(shí),此位無(wú)用。 d0 d0 :通道最大占空比設(shè)置位:通道最大占空比設(shè)置位 ,定時(shí)器,定時(shí)器通道用作輸入捕捉時(shí),此位無(wú)用。通道用作輸入捕捉時(shí),此位無(wú)用。數(shù)據(jù)位數(shù)據(jù)位 d7 d6 d5 d4 d3 d2 d1 d0定義定義ch0f ch0ie ms0b ms0a els0b els0a tov0 ch0maxch0f ch0ie ms0b ms0a els0b els0a tov0 ch0max復(fù)位復(fù)

25、位 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1通道控制寄存器控制位通道控制寄存器控制位ms0bms0b:ms0aels0bels0b:els0a工作模式跳變沿/輸出電平x 0x 0x 1x 10 00 00 00 0預(yù)設(shè)輸出電平預(yù)設(shè)輸出電平初始輸出高電平初始輸出高電平初始輸出低電平初始輸出低電平0 00 00 00 00 00 00 10 11 01 01 11 1輸入捕捉輸入捕捉上升沿捕捉上升沿捕捉下降沿捕捉下降沿捕捉跳變沿捕捉跳變沿捕捉0 10 10 10 10 10 10 10 11 01 01 11 1輸出比較輸出比較輸出電平翻轉(zhuǎn)輸出電平翻轉(zhuǎn)輸出高電平輸出高電平輸出

26、低電平輸出低電平1 x1 x0 10 1帶緩沖的輸出比較或帶緩沖的輸出比較或帶緩沖的帶緩沖的pwm輸出輸出輸出電平翻轉(zhuǎn)輸出電平翻轉(zhuǎn)1 x1 x1 01 0輸出高電平輸出高電平(3 3)t1t1通道通道1 1狀態(tài)和控制寄存器(狀態(tài)和控制寄存器(timer1 channel 1 status and control registertimer1 channel 1 status and control register,t1sc1t1sc1)含義同含義同t1t1通道通道0 0狀態(tài)和控制寄存器狀態(tài)和控制寄存器 ,只是沒(méi)有,只是沒(méi)有d5(ms1b)d5(ms1b)位,因?yàn)槲唬驗(yàn)閙s0bms0b是選擇

27、是選擇ch0ch0緩沖方式的,緩沖方式的,ch1ch1沒(méi)有緩沖方式,沒(méi)有緩沖方式,所以沒(méi)有所以沒(méi)有ms1bms1b位。位。數(shù)據(jù)位數(shù)據(jù)位 d7 d6 d5 d4 d3 d2 d1 d0定義定義ch1f ch1ie - ms1a els1b els1a tov1 ch1maxch1f ch1ie - ms1a els1b els1a tov1 ch1max復(fù)位復(fù)位 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 112.3.3 12.3.3 輸入捕捉中斷編程實(shí)例輸入捕捉中斷編程實(shí)例下面程序驗(yàn)證定時(shí)器下面程序驗(yàn)證定時(shí)器1 1通道通道0(0(引腳引腳21)21)輸入捕捉中斷的產(chǎn)生,當(dāng)中斷發(fā)

28、輸入捕捉中斷的產(chǎn)生,當(dāng)中斷發(fā)生時(shí)取反指示燈生時(shí)取反指示燈pta1pta1。定時(shí)器。定時(shí)器1 1通道通道0 0的輸入捕捉中斷向量的地址是的輸入捕捉中斷向量的地址是$fff6$fff6。 (1 1)輸入捕捉中斷編程實(shí)例匯編語(yǔ)言程序)輸入捕捉中斷編程實(shí)例匯編語(yǔ)言程序 (2)輸入捕捉中斷編程實(shí)例c語(yǔ)言主程序(2)輸入捕捉中斷編程實(shí)例c語(yǔ)言主程序(3)輸入捕捉中斷編程實(shí)例c語(yǔ)言矢量表文件(3)輸入捕捉中斷編程實(shí)例c語(yǔ)言矢量表文件12.4 12.4 定時(shí)器模塊的輸出比較功能定時(shí)器模塊的輸出比較功能12.4.1 12.4.1 輸出比較的基本含義輸出比較的基本含義 (1 1)與輸出比較功能相關(guān)的引腳)與輸出比

29、較功能相關(guān)的引腳 在在mc68hc908gp32mc68hc908gp32的的dip-40dip-40封裝形式中,第封裝形式中,第2121、2222腳標(biāo)記是腳標(biāo)記是“ptd4/t1ch0ptd4/t1ch0、ptd5/t1ch1”ptd5/t1ch1”,它們是普通,它們是普通i/oi/o與定時(shí)器輸入捕捉的與定時(shí)器輸入捕捉的復(fù)用引腳。作為定時(shí)器輸入捕捉功能使用時(shí),它們是定時(shí)器復(fù)用引腳。作為定時(shí)器輸入捕捉功能使用時(shí),它們是定時(shí)器1 1的兩個(gè)的兩個(gè)通道輸入捕捉引腳,同時(shí)也可定義它們?yōu)檩敵霰容^引腳。通道輸入捕捉引腳,同時(shí)也可定義它們?yōu)檩敵霰容^引腳。(2 2)輸出比較的含義)輸出比較的含義 輸出比較的功

30、能是用程序的方法在規(guī)定的時(shí)刻輸出需要的電平,輸出比較的功能是用程序的方法在規(guī)定的時(shí)刻輸出需要的電平,實(shí)現(xiàn)對(duì)外部電路的控制。實(shí)現(xiàn)對(duì)外部電路的控制。12.4 12.4 定時(shí)器模塊的輸出比較功能定時(shí)器模塊的輸出比較功能12.4.1 12.4.1 輸出比較的基本含義輸出比較的基本含義 (3 3)輸出比較過(guò)程)輸出比較過(guò)程12.4.2 12.4.2 輸出比較的寄存器輸出比較的寄存器(1)t1通道寄存器 (t1 channel register) 通道寄存器在該通道用作輸出比較時(shí)的作用是:存放要與計(jì)數(shù)寄通道寄存器在該通道用作輸出比較時(shí)的作用是:存放要與計(jì)數(shù)寄存器進(jìn)行比較的數(shù)值。存器進(jìn)行比較的數(shù)值。 完整的

31、設(shè)置輸出比較功能應(yīng)該包括對(duì)寄存器兩個(gè)字節(jié)的寫入。通完整的設(shè)置輸出比較功能應(yīng)該包括對(duì)寄存器兩個(gè)字節(jié)的寫入。通道寄存器和標(biāo)志位在復(fù)位時(shí)被清零,在初始化輸出比較功能時(shí)應(yīng)該小道寄存器和標(biāo)志位在復(fù)位時(shí)被清零,在初始化輸出比較功能時(shí)應(yīng)該小心謹(jǐn)慎,一般采用以下的步驟:心謹(jǐn)慎,一般采用以下的步驟: 寫入通道寄存器的高位字節(jié),禁止輸出比較功能;寫入通道寄存器的高位字節(jié),禁止輸出比較功能; 取狀態(tài)寄存器,清除取狀態(tài)寄存器,清除ocfocf位;位; 寫入通道寄存器低位字節(jié),使輸出比較功能工作。寫入通道寄存器低位字節(jié),使輸出比較功能工作。(2 2)t1t1通道通道0 0狀態(tài)和控制寄存器(狀態(tài)和控制寄存器(t1 cha

32、nnel0 status and control t1 channel0 status and control registerregister,t1sc0t1sc0) t1sc0 t1sc0寄存器在輸出比較時(shí),寄存器在輸出比較時(shí),d7d7d2d2位與用作輸入捕捉時(shí)的含義相同,位與用作輸入捕捉時(shí)的含義相同,d1d1位此時(shí)無(wú)意義,在用作輸出比較時(shí)其含義說(shuō)明如下位此時(shí)無(wú)意義,在用作輸出比較時(shí)其含義說(shuō)明如下: :d1 d1 :溢出翻轉(zhuǎn)控制標(biāo)志位,在定時(shí)器通道用作輸出比較功能時(shí),如果置位:溢出翻轉(zhuǎn)控制標(biāo)志位,在定時(shí)器通道用作輸出比較功能時(shí),如果置位該位,在通道的定時(shí)器發(fā)生溢出時(shí),輸出比較模塊會(huì)自動(dòng)翻轉(zhuǎn)

33、輸出電平。在該位,在通道的定時(shí)器發(fā)生溢出時(shí),輸出比較模塊會(huì)自動(dòng)翻轉(zhuǎn)輸出電平。在一個(gè)完整的脈沖中,必然有兩次電平的跳變。這就需要兩次進(jìn)入輸出比較處一個(gè)完整的脈沖中,必然有兩次電平的跳變。這就需要兩次進(jìn)入輸出比較處理例程,兩次計(jì)算下一次輸出比較的計(jì)數(shù)值。如果能夠使脈沖的周期恰好等理例程,兩次計(jì)算下一次輸出比較的計(jì)數(shù)值。如果能夠使脈沖的周期恰好等于定時(shí)器通道的溢出周期,并且置位溢出翻轉(zhuǎn)控制標(biāo)志位,那么在每次脈沖于定時(shí)器通道的溢出周期,并且置位溢出翻轉(zhuǎn)控制標(biāo)志位,那么在每次脈沖周期到的時(shí)候輸出比較模塊將自動(dòng)翻轉(zhuǎn)輸出電平而節(jié)省了一次輸出比較的處周期到的時(shí)候輸出比較模塊將自動(dòng)翻轉(zhuǎn)輸出電平而節(jié)省了一次輸出比

34、較的處理。需要注意的是,置位溢出翻轉(zhuǎn)控制標(biāo)志位后,如果定時(shí)器溢出和輸出比理。需要注意的是,置位溢出翻轉(zhuǎn)控制標(biāo)志位后,如果定時(shí)器溢出和輸出比較同時(shí)發(fā)生,模塊將優(yōu)先處理定時(shí)器溢出事件。如果定時(shí)器溢出的處理例程較同時(shí)發(fā)生,模塊將優(yōu)先處理定時(shí)器溢出事件。如果定時(shí)器溢出的處理例程比較耗時(shí),輸出比較將不能得到及時(shí)的處理。這在編寫程序時(shí)一定要非常留比較耗時(shí),輸出比較將不能得到及時(shí)的處理。這在編寫程序時(shí)一定要非常留意。意。12.4.312.4.3不帶緩沖輸出比較與帶緩沖的輸出比較不帶緩沖輸出比較與帶緩沖的輸出比較(1)不帶緩沖的輸出比較 不帶緩沖的輸出比較的功能表現(xiàn)在更改下一次輸出比較時(shí)需要對(duì)不帶緩沖的輸出比

35、較的功能表現(xiàn)在更改下一次輸出比較時(shí)需要對(duì)輸出比較計(jì)數(shù)器重新寫入。輸出比較計(jì)數(shù)器重新寫入。 (2)帶緩沖的輸出比較 使用使用mc68hc908gp32mc68hc908gp32的帶緩沖的輸出比較功能就可以克服不帶緩的帶緩沖的輸出比較功能就可以克服不帶緩沖的輸出比較缺陷。帶緩沖的輸出比較功能使用了同一定時(shí)器的兩路沖的輸出比較缺陷。帶緩沖的輸出比較功能使用了同一定時(shí)器的兩路通道,將這兩路通道聯(lián)合起來(lái)共同組成一個(gè)帶緩沖的輸出比較。該輸通道,將這兩路通道聯(lián)合起來(lái)共同組成一個(gè)帶緩沖的輸出比較。該輸出比較波形將出現(xiàn)在出比較波形將出現(xiàn)在tch0tch0引腳上,而原來(lái)的引腳上,而原來(lái)的tch1tch1引腳仍然可

36、以作為普引腳仍然可以作為普通的通的i/oi/o引腳使用。引腳使用。 12.5 12.5 定時(shí)器模塊的脈寬調(diào)制輸出功能定時(shí)器模塊的脈寬調(diào)制輸出功能12.5.112.5.1脈沖寬度調(diào)制器脈沖寬度調(diào)制器pwmpwm pwmpwm產(chǎn)生一個(gè)在高電平和低電平之間重復(fù)交替的輸出信號(hào),這個(gè)產(chǎn)生一個(gè)在高電平和低電平之間重復(fù)交替的輸出信號(hào),這個(gè)信號(hào)被稱為信號(hào)被稱為pwmpwm信號(hào)信號(hào),也叫也叫脈寬調(diào)制波脈寬調(diào)制波。通過(guò)指定所需的時(shí)鐘周期和。通過(guò)指定所需的時(shí)鐘周期和占空比來(lái)控制高電平和低電平的持續(xù)時(shí)間。占空比來(lái)控制高電平和低電平的持續(xù)時(shí)間。 占空比為信號(hào)處于高電平的時(shí)間(或時(shí)鐘周期數(shù))占整個(gè)信號(hào)周為信號(hào)處于高電平的時(shí)間(或時(shí)鐘周期數(shù))占整個(gè)信號(hào)周期的百分比,方波的占空比是期的百分比,方波的占空比是50%50%。 脈沖寬度是指脈沖處于高電平的時(shí)間。是指脈沖處于高電平的時(shí)間。 pwmpwm的常見(jiàn)應(yīng)用是為其他設(shè)備產(chǎn)生類似于時(shí)鐘的信號(hào)。的常見(jiàn)應(yīng)用是為其他設(shè)備產(chǎn)生類似于時(shí)鐘的信號(hào)。 pwmpwm的另的另一個(gè)常見(jiàn)用途是控制輸入到某個(gè)設(shè)備的平均電流或電壓。一個(gè)常見(jiàn)用途是控制輸入到某個(gè)設(shè)備的平均電流或電壓。12.5 12.5 定時(shí)器模塊的脈寬調(diào)制輸出功能定時(shí)器模塊的脈寬調(diào)制輸出功能12.5.112.5.

溫馨提示

  • 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)論