8位工業(yè)級(jí)通用單片機(jī)應(yīng)用筆記基礎(chǔ)_第1頁(yè)
8位工業(yè)級(jí)通用單片機(jī)應(yīng)用筆記基礎(chǔ)_第2頁(yè)
8位工業(yè)級(jí)通用單片機(jī)應(yīng)用筆記基礎(chǔ)_第3頁(yè)
8位工業(yè)級(jí)通用單片機(jī)應(yīng)用筆記基礎(chǔ)_第4頁(yè)
8位工業(yè)級(jí)通用單片機(jī)應(yīng)用筆記基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Using the Timer0moduleV1.0.0Apr. 6, 2005單片機(jī)技術(shù)資料 HYPERLINK http:/w/ http:/wU inge Timer0module保留對(duì)此文件修改之權(quán)利且不另行通知。所提供之信息相信為正確且可靠之信息,但并不保證本文件中絕無錯(cuò)誤。請(qǐng)于向科技股份提出訂單前,自行確定所使用之相關(guān)技術(shù)文件及規(guī)格為之版本。若因貴公司使用本公司之文件或產(chǎn)品,而涉及第三人之專利或著作權(quán)等智能權(quán)之應(yīng)用及配合時(shí),則應(yīng)由貴公司負(fù)責(zé)取得同意及司應(yīng)為保證之責(zé)任。又,本公司僅單純販?zhǔn)郛a(chǎn)品,上述關(guān)于同意及,非屬本公之正式,本公司之所用于醫(yī)療器材,維持生命系統(tǒng)及飛航等相關(guān)設(shè)備。1U

2、 i g he T mer0module0 目錄頁(yè)碼目錄2修訂3文件概要4SPMC65X TIMER 概述501SPMC65X TIMER 概述5MODULE5TIMER0MODULE548-BIT RELOADABLE TIMERTROL4.4功能及結(jié)構(gòu)6寄存器設(shè)置6TIMER 初始值設(shè)定7應(yīng)用范例858-BIT COMPARE OUTPONTROL5.4功能實(shí)現(xiàn)12寄存器設(shè)置12TIMER 初始值設(shè)定13應(yīng)用范例136CAPTURESUMMARY176.1功能及結(jié)構(gòu)1778-BIT C PTURETROL FOR TIMER0

3、- 8 BIT7.4基于 8 位架構(gòu)的捕獲模式18寄存器設(shè)置18捕獲原理19應(yīng)用范例192U ig thTiermoule1修訂錄3日期版本編修訂說明2005/04/061.0.0初始版本U i g th Timer0module2 文件概要該項(xiàng)內(nèi)容主針對(duì) Timer0 的 Reloa、p re utpapturetrol、8 it等各項(xiàng)功能,作相的 Application Note,說明trol register 的設(shè)置,初始設(shè)定值的計(jì)算,圖文說明各項(xiàng)功能的工作模式對(duì)于 Timer0 的 reloa等功能,將分 8bit 和 16bit 兩種情況分別描述。、pare o

4、utp t、Capturetr l注:以下文件中 Fo c 是指晶振、RC 或外部輸入的時(shí)鐘,F(xiàn)SYS 為系統(tǒng)時(shí)鐘。4U i g the T mer0CP mod le3PMC65T mer 概述.1SPMC65x Timer述SP C65x 擁6 組 Timer,每組 Timer 都分為 8 bit 和 16 bit 兩種精度,并且每Tim r都具有(Compa e、CaptureWM)功。如下表所示:過每組 Timer 的寄存器,可以很方便的選擇相應(yīng)的功能。針對(duì)于 SPMC65x 系列的某個(gè) Body,對(duì) Timer 會(huì)作應(yīng)的裁,如 S MC65P2 4 組 Timer。04A3.2Mod

5、uleC P Module 包括以下三個(gè)部分: 獲(Capture Input)、比 (Comp re Output) 脈寬調(diào)制(Pulse Width Modulation Output)。每個(gè)功能模塊在實(shí)際應(yīng)用中都經(jīng)常用到,比如,利用 Capture 功能,可以檢測(cè)紅外編碼,從而實(shí)現(xiàn)紅外接收功能;利用 電機(jī),或者實(shí)現(xiàn)模擬量的輸出;Compare Output 則可以實(shí)不同頻的作為其它器件時(shí)鐘輸入。能,可以驅(qū)動(dòng)輸出, 信號(hào)可3.3Timer0ModuleTimer0 除了可以作為 8 位或 16 位的定時(shí)計(jì)數(shù)器外,還具有 8 位或 16 位的獲模式,8位或 16 位的比較模式,以及 8 位的

6、模式。5Timer/E n t rC p ureCo par8 bit16 it8 bit1 bi8 it16 bitTime 0yesesi th/ ycleW d h o lyy syes8 bitTime 1yesesid h/CycleW d h o lyy syes12 bitTime 2yesesi th/ ycleW d h o lyy syes8 bitTime 3yesesid h/CycleW d h o lyy syes12 bitTime 4yesesi th/ ycleW d h o lyy syes8 bitTimer 5yesy sW dt /Cy leWidth

7、/Cycleyesyes16 bitU i g the Timer0modul4 8- itloada le Timertrol4.1功能及結(jié)構(gòu)Timer0 的一個(gè)基本功能是作為 8 位定器,它可以用于定時(shí)控制、延時(shí)等場(chǎng)合。8 位定時(shí)器是一個(gè) 8 位增量(加 1)計(jì)數(shù)器,定時(shí)器所用的時(shí)鐘源可以是系統(tǒng)時(shí)鐘通過分頻器得到的信號(hào)),也可以是外部時(shí)鐘。其結(jié)構(gòu)圖如下示:圖 4-1Timer 結(jié)構(gòu)圖當(dāng)用戶設(shè)定計(jì)數(shù)初值及計(jì)數(shù)頻率后,便可以允許 Timer 計(jì)數(shù)。當(dāng) Timer 的計(jì)數(shù)值達(dá)到 0 xff 時(shí),這時(shí)再來一個(gè)時(shí)鐘信號(hào),便產(chǎn)生溢出信號(hào),此時(shí)若 Timer0 溢出中斷被允許,便會(huì)發(fā)生 Tim r0 溢

8、 中斷,Ti er 溢出后,將自動(dòng)重裝初始計(jì)數(shù)值。4.2寄存器設(shè)置,將 Timer0 設(shè)定為 8 位定時(shí)器,定時(shí)初設(shè)0,定時(shí)器時(shí)鐘為系統(tǒng)時(shí)鐘如下的 1/8(FTC=FSYS 8),統(tǒng)時(shí)鐘為 8MHz,則器時(shí)鐘MHz。Timer0 主要有四個(gè)寄存器:兩個(gè)控制寄存器 P_TMR0_1_Ctrl0、P_TMR0_1_Ctrl1 及兩6MUXTimer x Enablelda#%00 1staP_TMR _1_CtrlTi r0ock= Fsys/8.0s a_TMR0 Pr load;ad the valof imer lda#%00 1taP_ MR _ _Ct l0set Timer0 as 8

9、 Bit timerP_TMRy_z_Ctrl0R s t Value -000 0 0Address : 11HP_TMRy_z_Ctrl1R s t Value -000 0 0Address : 12HP_ M x_PreloadR s t Value 0000 0 0Address : 13HP_TMRx_Prelo dHiR s t Value : 00000000Address : 14HT FS28/16-BIT Ti e re oa SwitchT m r x En b e: Stop: Reload & StartEdgeDetectorTimerTimerReloadime

10、r xSYS_CLKSpeedSpeedCheckerruptTimer xOverflowEnablePS. x 0 , y : 0 2, 4 : y+1Timer x. TxPSS : me x P e Scale S lectionTxFS0Enable3. TxFS im r x u ction S lectionTxFS14. T: Timer x P e-load Va ueTxFS2TxPSS2:05. S S_CLK : FrequencENTimer5 212832842EXT_CLKSYS_CLK/128SYS_CLK/32SYS_CLK/8SYS_CLK/4SYS_CLK

11、/2S S_CLKReload P_TMRx_PreloadReloadP_ M x_Prel HTxPL15TxPL14TxPL13TxPL1TxPL11TxPLxP 9x L8TxPL7TxPL6TxPL5TxPL4TxPL3TxPL2TxPL1TxPL0-TzPSS2TzPSS1TzPSS0-TyPSS2TyPSS1TyPSS0-TzFS2TzFS1TzFS0-TyFS2TyFS1TyFS0U ing the Timer0module個(gè)數(shù)據(jù)寄存器,其中控制寄存器與 Timer1 共用,高四位用于設(shè)定 Timer1,低四位用于設(shè)定 Timer0。P_TMR0_1_Ctrl1 寄存器用于設(shè)定

12、 Timer 的時(shí)鐘,Timer 的時(shí)鐘可以是系統(tǒng)時(shí)鐘的 2n 分頻(n=0、1、2、3、5、7、9)或者通過外部輸入時(shí)鐘信號(hào),外部時(shí)鐘信號(hào)的頻率一般不大于 2MHz。P_TMR0_1_Ctrl0 用于選定 Timer 執(zhí)行的功能,如定時(shí)功能或輸出功能等。兩個(gè)數(shù)據(jù)寄存器用于設(shè)定 Timer 的初始值,也可以從數(shù)據(jù)寄存器中讀出 Timer 當(dāng)前的計(jì)數(shù)值;兩個(gè)數(shù)據(jù)寄存器分為高 8 位和低 8 位,高 8 位用于 16 位 Timer 的情況,因此在 Timer0作為 8 位定器時(shí)沒有用到。Timer0 控制寄器的置下表P_TMR0_1_Ct l0 設(shè)置示:P_TMR0_1_Ct l1 設(shè)置注意:定

13、時(shí)/計(jì)數(shù)器在關(guān)閉的情況下,如果把數(shù)據(jù)寫入預(yù)置寄存器,這數(shù)據(jù)將被立即寫入實(shí)際的定時(shí)器。而如果定時(shí)/計(jì)數(shù)器已經(jīng)被打開且正在計(jì)數(shù),在這個(gè)周期內(nèi)寫入到預(yù)置寄存器的任何新數(shù)據(jù)將保留 預(yù)置寄 器,只有在下一個(gè)溢出 生時(shí)才被寫入實(shí)際定時(shí)器。4.3Timer 初始值設(shè)定對(duì)于 8 位的Timer,當(dāng)計(jì)數(shù)值達(dá)到 0 xff 時(shí),這時(shí)再來一個(gè)時(shí)鐘信號(hào),便產(chǎn)生溢出信號(hào),此時(shí)若 Timer出中斷被允許,便可進(jìn) Timer0 溢出中斷,如下圖所示:7號(hào)位功能P_T R0_1_C rl120000:Timer Clock FSY 001:Timer Clock FSY 010:Timer Clock FSY 011:Tim

14、er Clock FSY8 100:Timer0 Clock= FSYS / 32 01:Timer0 lock= SYS 28 10:Timer0 Cl ck= F YS / 111:External Clock Input號(hào)位功能P_TM 0_1_Ctrl02:0001:8定時(shí)器模式010:8 位較模式011:8 位捕模式100:16 位定器模式101:16 位式110:16 位捕獲模式11 :8P M 模U ing the Timer0modul圖 4-2計(jì)數(shù)溢出從圖 4-2中可看出,通過設(shè)定不同得 Timer0 初始值,可以得到的不同頻的溢出信號(hào),溢出信號(hào)的頻率與初始值的關(guān)系如下公式所

15、示:FSYSTO Timer _ preload _ Value)其中,F(xiàn)TO 為定時(shí)器溢出信號(hào)的頻率, FSYS 為系統(tǒng)工作頻率,Timer_prescaler 為 Timer的分頻系數(shù),T mres aler_Value 則是初始設(shè)定值。4.4應(yīng)用范例以下以 SPMC65P2404A 為 Body,作一應(yīng)用例,該應(yīng)用例用 8 位定時(shí)器用例可以在 FortisIDE 中直接運(yùn)行。時(shí) 1ms。該應(yīng)8;= = = = =; The nf rma ionta ned here n s the exc usive prop rty of Sunp us ec nology Co. A d shall

16、 not b d stributed r produ ed; o disclo ed in whole i part witho twri ten permiC) COPYRIG T 2;ALL IGHTS ESERV D; he entire not ce abo e must be eproduc d on all authorized copies.;=;= = = = = =;Project Name :Timer0_1ms;A pd Bo y :SPMC 5 2404A;F m a e veo :;Progr m r:;Date:20 5-4 25;D scr ptionTime 1

17、 s witbit iy tem cloc = 4MHz);Ha w eect:;L k File:;IDE Ver:V1.6.5FFHFFH2211P_TMR _ rel ad00Count r Clock S urceO er lowerrupt U i g th Timer0mo ule;BODY Versio:v1.0.0A;= = =ing synta. YNTAX 6 02.LINKLI T.SYM;Proc ss sta dard 6502;G nerainformati n;Generat symbolic debug information;* * * *;*Register

18、 Define;* *;* * *INCLUDESP C65P2404A.inc;D fin all h dware,Registers and ports.;* *;* * * *;* * *PA E0;Def ne al es n the range from 00h to FFh;* * * *.DATAfine data storage section;*;* * Program Area;* *.CODE;* *;* * * * *;* *;= = = = = =;Functionme:_Re etTime 1 s wit no enoneAD scr ption:bit i er0

19、 (sm cl c = 4MHz;OutputDestroy:;= = = =.PUV_Rese :tseildx txs;Disableept#C_S ACK_BOT OM;Inalr at $00FTransfer to stack po;-; initialize the Timer0;- -lda st-#%001 0P_TM 0_1_Ctrl; Timer0 Clock= Fsys/32.9UsthTimeodulelda sta ldasta1 1_TMR0_Predpreload =56- 1)#%000 1P TM 0 1_C rl0set Timer0 as 8 Bit ti

20、mer;-; enab e Timer0 overflowerrupt-#C_ NT_T0OIE;-lda staP_Ctrl1;-; setthe PA0 as output;-lda sta sta lda-#0P_ P_Da_At ibDircliL_ inLoop:$ 5P_WDTs ajmpr; clea WatchdogL_MainLoop;* * * *;*errupt Service Pros;* Qpha*; push Acklda and b lda st ld eostaP_F#C_?L 0_ #C_IN_T OIF_RtiTim 0 overflow inNoP_Fla

21、g1cl r the+ turn ovlaP_IOA_Buf#% 000 001PAP_IOA_aT _IN _ ti:plartm stack; returnV_NMI:rti;* * * *;*errupt Vector Table;* *10Us ng theimer0 CCod e11R.SECTI NDWV NMINo mask inectorDWVseeset vectorWV_I Q;IRQerrupt vector;* * * * *;*Eoferrupt Vector Table;* *.ENDUs g the T mer0 CC modul5-bi Com are outp

22、ontrol5.1功能實(shí)現(xiàn)Timer0 具有 8 位和 16 位的兩種比較功能模式,它可以用于產(chǎn)生種頻率的信號(hào)可以作為其它器件的時(shí)鐘輸入。信號(hào),比較模式的實(shí)現(xiàn)需借助定時(shí)功能,8 位比較模式的工作原理是:當(dāng)允許比較輸出功能后,定時(shí)計(jì)數(shù)器從數(shù)據(jù)寄存器的值開始計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到 0 xff 時(shí),這時(shí)再來一個(gè)時(shí)鐘信號(hào),便產(chǎn)生溢出信號(hào),此時(shí)在比較模式輸出引腳上會(huì)對(duì)原來的信號(hào)作取反操作,比如,在溢出信號(hào)產(chǎn)生前,比較模式輸出引腳的電平為低電平,待產(chǎn)生了溢出信號(hào)后,該引腳將輸出。計(jì)數(shù)值達(dá)到 0 xff 后,這時(shí)再來一個(gè)時(shí)鐘信號(hào),比較模式會(huì)自動(dòng)重裝數(shù)據(jù)寄存器中的數(shù)據(jù),開始新一輪計(jì)數(shù)。這樣,在比較模式輸出引腳上就

23、會(huì)產(chǎn)生占空比為 50%的信號(hào)。如果 Timer0溢出中斷被允許,在產(chǎn)生溢出信號(hào)后, 會(huì)發(fā)生 Ti e 0 溢出中斷。比較模式的工作示意圖如下:圖 5 18 it Compare Output5.2寄存器設(shè)置如下,將 Timer0 設(shè)定為 8 位比較模式輸出,定時(shí)初值設(shè)2 6,定時(shí)器時(shí)鐘為系統(tǒng)時(shí)鐘的 1/8(FTC=FSYS / 8),若系統(tǒng)時(shí)鐘為 8MHz,則定時(shí)器時(shí)1MH這樣就可以產(chǎn)生頻率為KHz波信號(hào)。Timer0位比較模式模式的設(shè)置與定時(shí)器的設(shè)置類似,如下表所示:12lda#%00 1staP_TMR _1_CtrlTimeCl k= Fsys/8. #206stP_T R0 Comp;

24、ad the valof imer lda#%00 0taP_ MR _ _Ct l0; et Tim r0 as 8 Bit CompareTimer x clocCounter7 F8 F9 FA FB FFD FF7 F89 FA FB FCD FEp Compare outputerrputF7Usg the Timer0mo u eP_TMR0_1_Ct l0 設(shè)置P_TMR0_1_Ct l1 設(shè)置當(dāng) P_TMR0_1_Ctrl0 的低三位設(shè)定為 010 時(shí),便將 Timer0 設(shè)置為比較模式模式。通過 P_TMR0_1_Ctrl1 寄存器的低三位,可以設(shè)定比較模式的時(shí)鐘頻率。8 位

25、比較模式只有一個(gè)數(shù)據(jù)寄存器 P_TMR0_ omp 它與 8 位定時(shí)器的數(shù)據(jù) 存器占用同一個(gè)地址單元。5.3Timer 初始值設(shè)定從圖 5-1 可以看出,比較模式輸出的信號(hào)不但與 Timer0 的時(shí)鐘有直接的關(guān)系,而與比較模式的初始設(shè)定值有關(guān)系。它們的關(guān)系如下公式所示:FSYFComp _ Compare _ Value) 2頻率值, FSYS 為系統(tǒng)工作頻率,Timer_prescaler 為Timer _其中,F(xiàn)Comp 為比較模式輸出的Timer 的分頻系數(shù)Tim r_Co pare_Value 則是初始設(shè)定值。5.4應(yīng)用范例以下以 SPMC65P2404A 為 Body,作一應(yīng)用例,該

26、應(yīng)用例用 8 位比較模式輸出頻率為10KHz 的信號(hào)號(hào)通過 PB2 輸出。該應(yīng)用例可以在開發(fā)環(huán)境中直接運(yùn)行。3號(hào)位功能P_T R0_1_C rl120000:Timer Clock FSY 001:Timer Clock FSY 010:Timer Clock FSY 011:Timer Clock FSY8 100:Timer0 Clock= FSYS / 32 01:Timer0 lock= SYS 28 10:Timer0 Cl ck= F YS / 111:External Clock Input號(hào)位功能P_TM 0_1_Ctrl02:0001:8定時(shí)器模式010:8 位較模式011:

27、8 位捕模式100:16 位定器模式101:16 位式110:16 位捕獲模式11 :8P M 模Us ng the Timer0module;= = = = =; The nf rma ionta ned here n s the exc usive prop rty ofSunp us ec nology Co. A d shall not b d stributed r produ ed; o disclo ed in whole i part witho tC) COPYRIG T 2wri ten permi;ALL IGHTS ESERV D; he entire not ce a

28、bo e must be eproduc d on all authorized copies.;=;= = = = = =;P o ect Nam A pd Bo y F m a e ve Progr m r DateDescr ptio:o :T mSPMC 5pare2404A2005 4-25Ou put 10K z signa with 8 bit C my tem cloc= 4MHz);Ha w eL k FileI E Versi n BODY Verect:V1.6.5:V1.0.0A;= = =ing synta. YNTAX 6 02.LINKLI T.SYM;Proc

29、ss sta dard 6502;G nerainformati n;Generat symbolic debug information;* * * *;*Register Define;* *;* * *INCLUDESP C65P2404A.inc;D fin allrdware,Registers and ports;* *;* * * *;* * *PA E0;Def ne al es n the range from 00h to FFh;* * * *.DATAfine data storage section;*;* * Program Area* *;* *14Us ng t

30、hdule.CODE;* *;* * * *;* *;= = = = = =;Functionme:V_ esetOu put 10K z signa with 8 bit C m are (s n nnoneADescr ptio :m cl c = 4MHz;OutpuDestroy:;= =.PV_Reset= =seildx t s;Disable;In ial ransfer topt#C_ST CK_BOTT Mat $00FFstack po;-; setthe PB2 as output;- - - -#0l sta sta ldastaPPOB_ taOB_ trib 000

31、100P_IOB_Dir;-; initialize the Timer0;- - - -ldast#%0011P_TM 0_1_CtrTimeCl k= Fsys/8.stalda staP T#%0p;preload(25 231)010P TM 0 1_C rl0et Timer0 aBi CompeMainLoop:5P_WDT_CL_MainLoopstajmp;cleatchdog;* * *;*errupt Service Pros;*rti15Us ng themermodule16V_NMI:rti;* * * *;*errupt Vector Table;* * * *.S

32、ECTIODWV_ MINo mask intor WV_Rtset ectorDV_IR;IRQerrupt vector;* * * * *;*Eoferrupt Vector Table;* *Us g the Tim0m dul6 CaptureSummary6.1功能及結(jié)構(gòu)Timer0 另一項(xiàng)重要功能是捕獲,在捕獲模式下,可以測(cè)量外部脈沖信號(hào)的周期及脈沖寬度。在脈沖寬度測(cè)量模式中,定時(shí)/計(jì)數(shù)器的時(shí)鐘源由時(shí)鐘提供,外部脈沖信號(hào)通過固定的引腳輸入,比如,在 Timer0 的 8 位捕獲模式下,外部信號(hào)由 PB0 輸入,因此在允許捕獲功能之前需將信號(hào)輸入引腳設(shè)為輸。通過相關(guān)寄存器的設(shè)置,可

33、以設(shè)定開始捕獲的時(shí)間和進(jìn)入中斷的時(shí)間,是在脈沖的上聲沿還是在脈沖下降沿。其結(jié)構(gòu)圖如下所示:圖 6-1Capture 結(jié)構(gòu)圖Timer0 的捕獲模式可以分為 8 位和 16 位兩種,8 位捕獲模式是基于 8 位的定時(shí)/計(jì)數(shù)器, 16 位捕獲模式是基于 16 位的定時(shí)/計(jì)數(shù)器。但對(duì)于 8 位捕獲模式,實(shí)現(xiàn)其功能的內(nèi)定時(shí)/計(jì)數(shù)器一種是 8 位架構(gòu)(如 SPMC65P2404A Timer0 的 8 位捕獲模式),另一種是 16 位架構(gòu)。對(duì)于基于 8 位架構(gòu)的 8 位捕獲模式,它只能捕獲脈沖信號(hào)的脈沖寬度,而 16 位架構(gòu)的8 位捕獲模式,能夠捕獲脈沖信號(hào)的脈沖寬度,也能夠捕獲脈沖信號(hào)的周期。17MU

34、X MUP_TMRy_z_Ctrl0R s t Value -000 0 0Address : 11HP_TMRy_z_Ctrl1R s t Value -000 0 0Address : 12H_TMRx_CapR s t Value 0000 0 0Address : 13HP_TM x_Cap iR s t Value : 00000000Address : 14HP_CAP_CtrlR s t Value : 00000000Address : 58HP_IRQ_Opt0R s t Value : - -0000Address : 33P_IRQ_Opt1R s t Value : 0

35、000 000Addres : 34HTime Enable 0 : St p1 : Rel ad & StartH gh ByteInput RisingLoaEXTICap ureTimerReload 0000HTim r x err ptEdgeSpeedChecktSelectorCaptur xO e flowIn erruptCAPxES CAPIPxS1oadS0Low By oadHigh By oadAPxESPSS1Timer x. x 0 , y : 0 2, 4 : y+1yt o d Tx S0Enable. TxPSS : me x P e Scale S lec

36、tionTxF 13. TxFS im r x u ction S lection xFS24. Tx L : mer x P e-lValueS08/1 - ISw tcLow ByHig_TMRx_CapP_TMRx_CapHiENTimerInput FallingTxCW15TxCW14TxCW13TxCW12TxCW11TxC 10TxCW9TxCW8CAPOPCAPIP4CAPIP3CAPIP2C PIP1CAPIP0CAP1ESCAP0E-RQ5ES C P5ESIRQM5IRQ4ES/ CAP4ESIRQM4RQ3ESIRQM3IRQ2ESRQM2IRQ1ES CAP3ESI

37、QM1IRQ0ES/ CAP2ESIRQM0-TzFS2TzFS1TzFS0-TyFS2TyFS1TyFS0-TzPSS2TzPSS1TzPSS0-TyPSS2TyPSS1TyPSS0TxCW7TxCW6TxCW5TxCW4TxCW3TxCW2TxCW1TxCW0Us n theimer0 C P modul7 8-bit C ptuco trol for Tier0- 8 bit7.1基于 8 位架構(gòu)的捕獲模式對(duì)于基于 8 位架構(gòu)的 8 位捕獲模式,它只有一個(gè) 8 位定時(shí)計(jì)數(shù)器,因它只能捕獲脈沖信號(hào)的脈沖寬度。SPMC65 240 A 中 Tier0 的 8 位捕獲模式就是此種架構(gòu)。7.2寄

38、存器設(shè)置,將 Timer0 設(shè)定為 8 位獲式,定時(shí)器時(shí)鐘為系統(tǒng)時(shí)鐘的 1/8(FTC=FSYS如下/ 8),將開始捕獲的時(shí)間設(shè)脈沖的沿,將捕獲中斷的時(shí)間定為脈下降沿。上述設(shè)定中,P_TMR0_1_Ctrl1 寄存器的設(shè)置與定時(shí)器的設(shè)定一樣,用于設(shè)定捕獲模式下的時(shí)鐘信號(hào);將寄存器 P_TMR0_1_Ctrl0 的低 3 位寫入 011,便將 Timer0 設(shè)定為 8 位捕獲模式。寄存器 P_CAP_Ctrl 用于設(shè)置捕獲脈沖沿和發(fā)中斷脈P_CAP_C rl 寄存器的定如:Bit 7CAP P : 數(shù)據(jù)保持選擇位1 =0 = C 1 =持?jǐn)?shù)據(jù)到讀出持?jǐn)?shù)據(jù)直到接收到新數(shù)據(jù)Bit 6P P4: 選擇

39、觸發(fā) a獲脈沖沿相同與捕獲脈沖沿相反tre 4 中斷的脈沿Bit 5C P P3: 選擇觸發(fā) atre 3 中斷的脈沿1 =獲脈沖沿相同= 與捕獲脈沖沿相反C P P2: 選擇觸發(fā) aBit 4tre 2 中斷的脈沿1 =獲脈沖沿相同= 與捕獲脈沖沿相反C P P1: 選擇觸發(fā) aBit 3tre 1 中斷的脈沿1 =獲脈沖沿相同= 與捕獲脈沖沿相反CAPI 0: 選觸發(fā) CaBit 2ture 0 中斷脈沖沿18it7it6it5Bi 4Bit3it2Bi 1Bit0CAPOPTCAPIP4CAP P3CAPIP2API 1CA IP0CSAP0 SR/R WR/WR/WR/W0000000

40、0lda#%00 11stP_TM 0_1_Ctr; imer0 ClocFs /8. lda#%00 11staP TM 0 1_C rl0; etmer0 as 8 da#%0 0001 1fa ing edge staP_C P_Ct l; fa ing edge captureevokeUs nhe TimerC module1 =獲脈沖沿相同= 與捕獲脈沖沿 反C P1ES: 選擇 Ca t r 1 的捕獲脈沖沿Bit 11 = 在沖清計(jì)數(shù)器0在脈沖上升沿清計(jì)器C P0ES: 選擇 Ca t r 0 的捕獲脈沖沿Bit 01 = 在脈沖下降沿清計(jì)數(shù)器0 = 在脈沖上升沿清計(jì)數(shù)器在使用

41、 Timer0 的 8 位捕獲模式時(shí),只需設(shè)P_CAP_Ctrl 中的 Bit0、Bit2、Bit7。在 Timer0 的基于 8 位架構(gòu)的 8 位 獲模式中,還有一個(gè) 8 位數(shù)據(jù)寄存它用于存取輸入信號(hào)脈沖的寬度。P_T R0_C p,7.3 捕獲原理如下圖所示,將 8 位捕獲 式設(shè)定為在脈沖下降沿清計(jì)數(shù)器,并且將觸發(fā) Capture 0 中斷的脈沖沿設(shè)定為與捕獲脈沖沿脈沖沿相同,即在脈沖下降沿觸發(fā)捕獲中斷。啟動(dòng)捕獲模式后,在外部輸入信號(hào)的下降沿,計(jì)數(shù)器自動(dòng)清 0,在信號(hào)的下一個(gè)上升沿,Timer 將當(dāng)前計(jì)數(shù)器中的值寫入 P_TMR0_Cap 寄存器;在接著的一個(gè)脈沖下降沿,Timer 將計(jì)數(shù)

42、器清 0,并且觸發(fā)一個(gè)捕獲中斷。這樣 P_TMR0_ ap 寄存器 的數(shù)值為外部輸入 號(hào)低電 的寬度的相關(guān)值。Timer xCapture I/P pinCounterP_TMRx_Capn err pt圖 7-1基于 8 位 Timer 架構(gòu)的 8 位捕獲模式得到外部輸入信號(hào)實(shí)際的脈沖寬度,還需要如下的轉(zhuǎn)換公式: Timer _ prescaler (P_TMR0_Cap 1CaptureWidtFSYS其中,Capture Width 外部輸入信號(hào)脈沖寬度, FSYS 為系統(tǒng)工作頻率 Tim r_pr scaler為 Timer 的分頻系數(shù)。7.4應(yīng)用范例以下以 SPMC65P2404A

43、為 Body,作一應(yīng)用例,該應(yīng)用例用于捕獲信號(hào)的脈沖寬度,該信號(hào)從 P 0 口輸入。該應(yīng)用例可以在 FortisIDE 中直接運(yùn)行。90123456789A012343Us ng the Timer0module;= = = = =; The nf rma ionta ned here n s the exc usive prop rty ofSunp us ec nology Co. A d shall not b d stributed r produ ed; o disclo ed in whole i part witho tC) COPYRIG T 2wri ten permi;ALL IGHTS ESERV D; he entire not ce abo e must be eproduc d on all authorized copies.;=;= = = = = =;P o ect Nam A pd Bo y F m a e ve Progr m r DateDes ri tion:o :T m r0_Capt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論