經(jīng)典應用16位定時器脈沖寬度測量_第1頁
經(jīng)典應用16位定時器脈沖寬度測量_第2頁
經(jīng)典應用16位定時器脈沖寬度測量_第3頁
經(jīng)典應用16位定時器脈沖寬度測量_第4頁
經(jīng)典應用16位定時器脈沖寬度測量_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、應用注釋78K0S/Kx1+示例程序 (16-位計時器/計數(shù)器 00)脈沖寬度測量本文件內(nèi)容包含示例程序操作概述,使用方法及怎樣設(shè)置使用 16-位定時器/計數(shù)器 00 的脈沖寬度測量功能。在示例程序中,使用 16-位定時器/計數(shù)器 00 的脈沖寬度測量功能可測量T1000 引腳輸入的信號的脈沖寬度。目錄第一章 概述31.11.2初始設(shè)置的主要內(nèi)容3主循環(huán)后的內(nèi)容4目標設(shè)備78K0S/KA1+微處理器78K0S/KB1+微處理器78K0S/KU1+微處理器78K0S/KY1+微處理器第二章 電路圖5第三章 軟件63.13.23.33.4文件配置6所用內(nèi)部功能7初始設(shè)置及操作概覽7流程圖9第四章

2、設(shè)置方法104.14.2設(shè)置 16 位計時器/計數(shù)器 00 的脈沖寬度測量功能. 10當INTTM000 和INTTM010 中斷生成相時的定時 32文件號: U18889CA1V0AN00 (第一版) 日期: 2008 年 03 月 N第五章 用設(shè)備進行運行檢查335.15.2構(gòu)建示例程序33帶設(shè)備運行352007第六章 相關(guān)文件37中文版附件A 程序列表38附件B 修訂 52· 本文檔中的信息于 2008 年 3 月開始使用。文檔內(nèi)容可能會不作通知進行修改。實際設(shè)計請參閱日電電子最新發(fā)布的數(shù)據(jù)表或數(shù)據(jù)冊等,查看日電電子銷售代表,了解可用性信息及其他信息。的最新指標。并非所有和/或

3、類型在每個都能使用。請日電電子·日電面,不能以或方式對本文檔的進行或重現(xiàn)。本文檔出現(xiàn)的任何錯誤,日電電子不承擔責任。· 對于在使用本文檔列出的日電電子時產(chǎn)生的專利、以及其他第知識產(chǎn)權(quán)的行為,以及對于其他使用這些產(chǎn)生的責任,日電電子不承擔責任。對于日電電子及其他子公司的任何專利、以及其他知識產(chǎn)權(quán),日電電子沒有以、明示、暗示以及其他任何方式。· 本文檔中對電路、軟件及其他相關(guān)信息的描述旨在說明半導體的操作及應用舉例。這些電路、軟件和信息在客戶設(shè)備設(shè)計中的使用應由客戶承擔全部責任。如果這些電路、軟件和信息導致客戶或第責任。損失,日電電子不承擔· 日電電子盡力提

4、升日電電子的質(zhì)量、可靠性和安全性,但請客戶同意并理解這些的瑕疵無法完全消除。為了盡量減少由于日電電子導致的損失或人身(包括),客戶必須在其設(shè)計中采取足夠的安全措施,如冗余、防火、防故障等特性。· 日電電子分為下列三種質(zhì)量等級:“標準”、“特別”及“”。“”質(zhì)量等級只適用于基于用戶設(shè)計的“質(zhì)量保證項目”的特定應用開發(fā)的日電電子。日電電子的建議應用由其質(zhì)量級別決定,如下所示。客戶在將日電電子用于特別用途之前必須檢查各的質(zhì)量等級。、機械工具、個人電子設(shè)備、“標準”:計算機、辦公設(shè)備、通信設(shè)備、測試測量設(shè)備、音頻設(shè)備、家用電子工業(yè)人。“特別”:設(shè)備(汽車、火車、輪船等)、交通系統(tǒng)、抗災系統(tǒng)、

5、防系統(tǒng)、醫(yī)療設(shè)備(不專為生命救護而設(shè)計)。“”:飛機、航空設(shè)備、水下中繼器、核反應堆系統(tǒng)、生命救護系統(tǒng)、用于生命救護的醫(yī)療設(shè)備等。除非在日電電子的數(shù)據(jù)表或數(shù)據(jù)冊等當中有明確說明,日電電子的質(zhì)量級別均為“標準”。客戶如果希望日電電子實現(xiàn)日電電子未預定的應用,必須提前日電電子的銷售代表以確定日電電子愿意支持給定應用。(注)(1)本中所用的“日電電子”表示日電電子公司,包括其控股的子公司。(2)“日電電子”表示由日電電子(如上所規(guī)定)開發(fā)或制造的任何。M&E 0211-12應用注釋 U18889CA1V0AN第一章 概述本示例程序提供了一個例子,說明 16 位計時器/號的脈沖寬度測量八次。計

6、數(shù)器 00 的脈沖寬度測量功能的使用。從 TI000 引腳輸入的信1.1初始設(shè)置的主要內(nèi)容初始設(shè)置的主要內(nèi)容如下。· 選擇高速內(nèi)部振蕩器作為系統(tǒng)時鐘源注· 停止看門狗計時器的運行· 設(shè)置VLVI(低壓檢測電壓)為 4.3V±0.2V· 當VDD(供電電壓)大于等于 VLVI 后,一旦檢測到VDD 小于VLVI 就會生成內(nèi)部復位(LVI 復位)信號· 設(shè)置 CPU 時鐘頻率為 8MHz· 設(shè)置I/O 端口· 設(shè)置 16 位計時器/計數(shù)器 00· 分別將CR000 和CR010 的工作模式設(shè)置為比較寄存器和捕

7、捉寄存器· 設(shè)置“FFFFH”給 CR000· 將TI000 引腳的有效沿設(shè)置為下降及上升沿,將計數(shù)時鐘設(shè)置為fXP/22(2MHz)· 將工作模式設(shè)置為在檢測到TI000 引腳的有效沿時清零并啟動· 啟用 INTTM000 和INTTM010 中斷注用選項字節(jié)進行設(shè)置。3應用注釋 U18889CA1V0AN列捕捉操作定時對于 16 位計時器/ 計數(shù)器 00,當兩次檢測到 TI000 引腳或 TI010 引腳的有效電 進行第一次捕捉操作,以消除短脈沖寬度的噪聲。因此,需要輸入脈沖長度大于兩個計數(shù)時鐘。下圖展示在指定為上升沿時捕捉 CR010 的操作示例。

8、第一章 概述1.2主循環(huán)后的內(nèi)容在初始設(shè)置完成后,利用 16 位計時器/信號的脈沖寬度進行八次測量。計數(shù)器 00 中斷(INTTM000 和 INTTM010)的生成,對 TI000 引腳輸入z如何計算脈沖寬度:脈沖寬度=(24 位數(shù)據(jù)注+1)´0.0005ms/CLK注高 8 位:計數(shù)器的值,低 16 位:CR010 寄存器的值在上面的定時示例中( INTTM000 生成: 1 次, CR010 捕捉數(shù)據(jù): 0003H ), 脈沖寬度=(010003H+1H)´0.0005ms/CLK=(65539+1)´0.0005ms/CLK=32.77ms關(guān)于使用設(shè)備的注

9、意事項,請參見各的用戶手冊(78K0S/KU1+、78K0S/KY1+、78K0S/KA1+、78K0S/KB1+)。注意事項4應用注釋 U18889CA1V0AN第二章 電路圖本章描述在本示例程序中所用的電路圖。注1. 使用該電路的電壓范圍為 4.5V£VDD£5.5V。2. TI000/INTP0/P30:TI000/ANI0/TOH1/P20:78K0S/KA1+和 78K0S/KB1+微78K0S/KY1+和 78K0S/KU1+微器器注意事項 1.2.3.將 AVREF 引腳直接連接到 VDD(僅適用于 78K0S/KA1+和 78K0S/KB1+微器)。將 AV

10、SS 引腳直接連接到 GND(僅適用于 78K0S/KB1+微器)。除電路圖中的引腳及 AVREF、AVSS 引腳外,其他所有未使用的引腳保留開路(不連接)。5應用注釋 U18889CA1V0AN第三章 軟件本章描述所示流程圖。的壓縮文件的文件配置、所用微器的內(nèi)部功能以及示例程序的初始設(shè)置及運行概覽,并展3.1文件配置下表展示所的壓縮文件的文件配置。注“main.asm”包含在匯編語言版中,“main.c”包含在 C 語言版中。備注: 僅包含源文件。:包含了與集成開發(fā)環(huán)境 PM+一起使用的文件。6應用注釋 U18889CA1V0AN文件名描述包含的壓縮(*.zip)文件main.asm(匯編語

11、言版)main.c(C語言版)用于硬件初始化處理及微處理器主處理的源文件z注z注op.asm用于設(shè)置選項字節(jié)(設(shè)置系統(tǒng)時鐘源)的匯編器源文件zztm00cap.prw用于集成開發(fā)環(huán)境PM+的工作區(qū)ztm00cap.prj用于集成開發(fā)環(huán)境PM+的項目文件z第三章 軟件3.2所用內(nèi)部功能示例程序使用微處理器的下列內(nèi)部功能。· 脈沖寬度測量功能:· VDD<VLVI 檢測:· 外部脈沖輸入:16 位計時器/計數(shù)器 00低壓檢測器(LVI) TI000 注注TI000/INTP0/P30:78K0S/KA1+和 78K0S/KB1+微器器TI000/ANI0/TOH

12、1/P20: 78K0S/KY1+和 78K0S/KU1+微3.3初始設(shè)置及操作概覽在本示例程序進行的初始設(shè)置中包括了設(shè)置低壓檢測功能、選擇時鐘頻率、設(shè)置 I/O 端口、設(shè)置 16 位計時器/數(shù)器 00(脈沖寬度測量功能)及設(shè)置中斷。計在初始設(shè)置完成后,利用 16 位計時器/信號的脈沖寬度進行八次測量。計數(shù)器 00 中斷(INTTM000 和 INTTM010)的生成,對 TI000 引腳輸入7應用注釋 U18889CA1V0AN第三章 軟件詳情在如下所示的狀態(tài)轉(zhuǎn)變圖中描述。注TI000/P30:78K0S/KA1+和 78K0S/KB1+微處理器TI000/P20:78K0S/KY1+和 7

13、8K0S/KU1+微處理器8應用注釋 U18889CA1V0AN第三章 軟件3.4流程圖示例程序的流程圖如下所示。注對選項字節(jié)的行設(shè)置。由微處理器在復位解除后自動進行。在本示例程序中,通過選項字節(jié)對下面的內(nèi)容進· 用高速內(nèi)部時鐘(8MHz(典型)做系統(tǒng)時鐘源· 利用軟件可停止低速內(nèi)部振蕩器· 用 P34/RESET 引腳做 RESET 引腳9應用注釋 U18889CA1V0AN第四章 設(shè)置方法本章描述 16 位計時器/計數(shù)器 00 的脈沖寬度測量功能。關(guān)于其他初始設(shè)置,請參見78K0S/Kx1+示例程序(初始設(shè)置)LED照明開關(guān) 的應用注釋。關(guān)于中斷,請參見78K

14、0S/Kx1+示例程序(中斷)由開關(guān)輸入生成的外部中斷的應用注釋。關(guān)于低壓檢查(LVI),請參見78K0S/Kx1+示 例程序(低壓檢測)檢測到小于 2.7V時生成復位的應用注釋。關(guān)于如何設(shè)置寄存器,請參見各設(shè)備(78K0S/KU1+、78K0S/KY1+、78K0S/KA1+、78K0S/KB1+)的用戶手冊。關(guān)于匯編器指令,請參見78K/0S系列指令用戶手冊。4.1設(shè)置 16 位計時器/計數(shù)器 00 的脈沖寬度測量功能在使用 16 位計時器/計數(shù)器 00 的脈沖寬度測量功能時,可設(shè)置下面的七類寄存器。· 捕捉/比較寄存器 00(CRC00)· 預換算器模式寄存器 00(

15、PRM00)· 16 位定時器模式寄存器 00(TMC00)· 16 位定時器捕捉/比較寄存器 000(CR000)· 16 位定時器捕捉/比較寄存器 010(CR010)· 端口模式寄存器x(PMx)注· 端口模式寄存器x(PMCx)注應如下進行設(shè)置,因為脈沖寬度測量功能僅使用TI000 引腳或TI000 引腳和TI010 引腳作為定時器輸入。注· TI000 引腳· TI010 引腳10應用注釋 U18889CA1V0ANPMx 寄存器PMCx 寄存器78K0S/KA1+和 78K0S/KB1+微處理器PM31=1無需設(shè)

16、置78K0S/KY1+和 78K0S/KU1+微處理器PM21=1PMC21=0PMx 寄存器PMCx 寄存器78K0S/KA1+和 78K0S/KB1+微處理器PM30=1無需設(shè)置78K0S/KY1+和 78K0S/KU1+微處理器PM20=1PMC20=0第四章 設(shè)置方法<在使用 16 位計時器/計數(shù)器 00 進行脈沖寬度測量時的基本設(shè)置步驟示例><1><2><3>設(shè)置 CRC00 寄存器用PRM00 寄存器設(shè)置計數(shù)時鐘設(shè)置TMC00 寄存器:開始工作注意事項 <1>步和<2>步可任意進行。(1) 設(shè)置 CRC00 寄

17、存器該寄存器CR000 和 CR010 寄存器的工作。圖 4-1捕捉/比較寄存器 00(CRC00)的格式CRC0000000CRC002CRC001CRC000CR000工作模式選擇0用作比較寄存器1用作捕捉寄存器CR000捕捉觸發(fā)選擇0Ti010引腳有效沿捕捉。1Ti000引腳注有效沿反相時捕捉。CR010工作模式選擇0用作比較寄存器1用作捕捉寄存器注如果 CRC000 為 1,那么當選擇下降及上升沿作為 TI000 引腳的有效沿時,CR000 寄存器無法進行捕捉操作。注意事項1.2.定時器必須在設(shè)置 CRC00 寄存器之前停止操作。如果利用 TMC00 寄存器匹配 TM00 和 CR00

18、0 時選擇了清零并開始模式(clear&start),就不要將 CR000 寄存器指定為捕捉寄存器。要確保捕捉操作的進行,捕捉觸發(fā)所需脈沖的長度應大于預換算器模式寄存器 00(PRM00)所選計數(shù)時鐘的 2 個周期。3.11應用注釋 U18889CA1V0AN第四章 設(shè)置方法(2) 設(shè)置 PRM00 寄存器該寄存器用于設(shè)置TM00 計數(shù)器的計數(shù)時鐘及TI000、TI010 引腳輸入的有效沿。圖 4-2預換算器模式寄存器 00(PRM00)的格式PRM00注外部時鐘要求脈沖長度大于內(nèi)部時鐘(fXP)的兩個周期。備注fXP:供給硬件的時鐘的振蕩頻率注意事項1.2.一定要在停止定時器工作后將

19、數(shù)據(jù)設(shè)置給 PRM00 寄存器。在將 TI000 引腳的有效沿設(shè)置為計數(shù)時鐘時,在設(shè)置清零并開始模式時不要將 TI000 引腳和 TI000 引有效沿設(shè)置為捕捉觸發(fā)。3.在下面的例子中,需注意的是檢測到了 TI0n0 引腳(n=0、1)的有效沿。<1>高電平輸入 TI0n0 引腳,在系統(tǒng)復位后 TM00 的運行立即啟用。®如果將上升沿或上升及下降沿指定為 TI0n0 引腳的有效沿,則在 TM00 運行啟用后立即檢測到上升沿。<2>當 TI0n0 引腳為高電,TM00 停止運行,然后當?shù)碗娖捷斎?TI0n0 引腳時被啟用。®如果將下降沿或上升下降沿指定

20、為 TI0n0 引腳的有效沿,則在 TM00 運行啟用后立即檢測到下降沿。<3>當 TI0n0 引腳為低電,TM00 停止運行,然后當高電平輸入 TI0n0 引腳時被啟用。®如果將上升沿或上升及下降沿指定為 TI0n0 引腳的有效沿,則在 TM00 運行啟用后立即檢測到上升沿。12應用注釋 U18889CA1V0AN腳的ES110ES100ES010ES00000PRM001PRM000計數(shù)時鐘(fsam)選擇00fXP01fXP/2210fXP/2811TI000引腳有效沿注TI000引腳有效沿選擇00下降沿01上升沿10設(shè)置11上升及下降沿TI010引腳有效沿選擇00

21、下降沿01上升沿10設(shè)置11上升及下降沿第四章 設(shè)置方法注意事項 4. 要用 TI000 的有效沿作為捕捉觸發(fā)時,會用由預換算器模式寄存器 00(PRM00)選擇的計數(shù)時鐘進行采樣以消除噪聲。在采樣有效沿之前沖寬度的噪聲。進行捕捉操作,有效電平會被檢測兩次,從而消除較短脈5. 當 TI010/TO00/Pxx 引腳用作有效沿的輸入引腳(TI010)時,不能用作定時器輸出引腳(TO00)。當用作定時器輸出引腳(TO00)時,就不能用作有效沿的輸入引腳(TI010)。(3) 設(shè)置 TMC00 寄存器該寄存器設(shè)置 16 位計時器/ 測。計數(shù)器 00 的工作模式、TM00 計數(shù)器清零模式及輸出定時,并

22、對溢出進行檢圖4-316位定時器模式寄存器00(TMC00)的格式TMC0016位定時器計數(shù)器00(TM00)溢出檢測13應用注釋 U18889CA1V0AN0000TMC003TMC002TMC001OVF000未檢測到溢出。1檢測到溢出。工作模式和清零模式選擇TO00反相定時選擇中斷請求生成000停止工作(TM00清為0)無變化不產(chǎn)生001010自由運行模式Tm00、CR000匹配或TM00、CR010匹配<用作比較寄存器>TM00、CR000匹配或TM00、CR010匹配時生成<用作捕捉寄存器>TI000引腳或TI010引腳的有效沿處生成011Tm00、CR000

23、匹配,TM00、CR010匹配或TI000引腳的有效沿100T 000引腳的有效沿處出現(xiàn)清零并啟動-101110在TM00、CR000匹配時出現(xiàn)清零并啟動Tm00、CR000匹配或TM00、CR010匹配111Tm00、CR000匹配,TM00、CR010匹配或TI000引腳的有效沿第四章 設(shè)置方法注意事項 1.當非 0 值和 0(停止運行模式)分別設(shè)置給 TMC002 和 TMC003 時,TM00 計數(shù)器開始工作。要停止工作,應將 TMC002 和 TMC003 分別設(shè)置為 0 和 0。先停止定時器運行,再寫入除 OVF00 標志的其他各位。2.3.4.在定時器停止時,即便有信號輸入 TI

24、000/TI010 引腳,也出現(xiàn)定時器計數(shù)和定時器中斷。除非 TI000 引腳的有效沿選擇為計數(shù)時鐘,否則應先停止定時器工作再設(shè)置為 STOP 模式或系統(tǒng)時鐘停止模式;否則,當系統(tǒng)時鐘啟動時定時器可能會發(fā)生故障。應先停止定時器工作再用 PRM00 寄存器的 4、5 位設(shè)置 TI000 引腳的有效沿。如果設(shè)置為在 TM00 和 CR000 匹配時或出現(xiàn) TI000 引腳的有效沿時進入清零并開始模式,或者選擇了自由運行模式,則當 CR000 寄存器的設(shè)置值為 FFFFH 且 TM00 計數(shù)器的值從 FFFFH 變?yōu)?000H 時,OVF00 標志將被設(shè)置為 1。即便在 TM00 計數(shù)器溢出后計數(shù)到

25、下一個計數(shù)時鐘之前(TM00 計數(shù)器變?yōu)?0001H 前)OVF00 標5.6.7.志清零,它也會重新設(shè)置且清零。8.捕捉操作在計數(shù)時鐘的下降沿處進行。但是,中斷請求(INTTM0n0:n=0、1)出現(xiàn)在下個計數(shù)時鐘的上升沿處。(4) 設(shè)置 CR000 寄存器該寄存器具有捕捉寄存器和比較寄存器二者的功能。圖 4-416 位定時器捕捉/比較寄存器 000(CR000)的格式CR000· 用 CR000 作為比較寄存器時設(shè)置給 CR000 的值不斷與 16 位定時器計數(shù)器 00(TM00)的計數(shù)值進行比較,如果二者匹配就會生成中斷請求(INTTM000)。· 用 CR000 作

26、為捕捉寄存器時Ti000 引腳或TI010 引腳的有效沿可選擇為捕捉觸發(fā)。Ti000 和TI010 引腳的有效沿通過PRM00 寄存器進行設(shè)置。注意事項 1.當由于 TM00 和 CR000 匹配而進入清零并開始模式時,應將非 0000H 值設(shè)置給 CR000 寄存器。當自由運行模式下 0000H 設(shè)置給 CR000,或者由于 TI000 引腳的有效沿而進入清零并開始模式時,在出現(xiàn)溢出(FFFFH)后當 0000H 變?yōu)?0001H 時會生成中斷請求(INTTM000)。如果新的 CR000 寄存器值小于 TM00 計數(shù)器的值,則 TM00 計數(shù)器繼續(xù)計數(shù),溢出,然后重新從0 開始計數(shù)。因此,

27、如果新 CR000 寄存器值小于原值,在 CR000 寄存器的值改變后定時器必須復位并重新啟動。Tm00 計數(shù)器停止后 CR000 寄存器的值無法保證。對于設(shè)置為比較模式的 CR000 寄存器,即便輸入了捕捉觸發(fā)也可能 進行捕捉操作。2.3.4.注意事項 5.當 CR000 用作捕捉寄存器時,如果寄存器時段與捕捉觸發(fā)輸入相,將優(yōu)先進行捕捉觸發(fā)輸入,CR000為未定義。數(shù)據(jù)變?yōu)槲炊x。如果定時器計數(shù)停止和捕捉觸發(fā)輸入相,則捕捉數(shù)據(jù)變6.在 TM00 計數(shù)器工作過程中改變 CR000 計數(shù)器的設(shè)置可能會導致故障。(5) 設(shè)置 CR010 寄存器該寄存器具有捕捉寄存器和比較寄存器二者的功能。圖 4-

28、516 位定時器捕捉/比較寄存器 010(CR010)的格式CR01014應用注釋 U18889CA1V0AN第四章 設(shè)置方法· 用 CR010 作為比較寄存器時設(shè)置給 CR010 的值不斷與 16 位定時器計數(shù)器 00(TM00)的計數(shù)值進行比較,如果二者匹配就會生成中斷請求(INTTM010)。· 用 CR010 作為捕捉寄存器時Ti000 引腳的有效沿可選擇為捕捉觸發(fā)。Ti000 引腳的有效沿通過PRM00 寄存器進行設(shè)置。注意事項1.當自由運行模式下 0000H 設(shè)置給 CR010,或者由于 TI000 引腳的有效沿而進入清零并開始模式時,在出現(xiàn)溢出(FFFFH)后

29、當 0000H 變?yōu)?0001H 時會生成中斷請求(INTTM010)。如果新的 CR0 10 寄存器值小于 TM00 計數(shù)器的值,則 TM00 計數(shù)器繼續(xù)計數(shù),溢出,然后重新從 0 開始計數(shù)。因此,如果新 CR010 寄存器值小于原值,在 CR010 寄存器的值改變后定時器必須復位并重新啟動。Tm00 計數(shù)器停止后 CR010 寄存器的值無法保證。對于設(shè)置為比較模式的 CR010 寄存器,即便輸入了捕捉觸發(fā)也可能 進行捕捉操作。2.3.4.5.當 CR010 用作捕捉寄存器時,如果寄存器時段與捕捉觸發(fā)輸入相,將優(yōu)先進行捕捉觸發(fā)輸入,CR010為未定義。數(shù)據(jù)變?yōu)槲炊x。如果定時器計數(shù)停止和捕捉

30、觸發(fā)輸入相,則捕捉數(shù)據(jù)變6.在 TM00 計數(shù)器工作過程中改變 CR010 計數(shù)器的設(shè)置可能會導致故障。15應用注釋 U18889CA1V0AN第四章 設(shè)置方法例1測量TI000引腳輸入信號的脈沖寬度(用CR010寄存器作為捕捉寄存器,自由運行模式)當TM00計數(shù)器工作在自由運行模式下時,測量輸入TI000引腳信號的脈沖寬度。當檢測到TI000引腳的有效沿時,TM00計數(shù)器的計數(shù)值捉并放入CR010寄存器中。注意事項 本操作示例中可測量的脈沖寬度最大為一個定時器計數(shù)器周期。圖 4-6測量 TI000 引腳輸入信號的脈沖寬度的定時示例(自由運行模式、指定為雙沿)(1) 寄存器設(shè)置<1>

31、;CRC00000001x0CR000工作模式選擇0用作比較寄存器CR000捕捉觸發(fā)選擇x無效設(shè)置CR010工作模式選擇1用作捕捉寄存器16應用注釋 U18889CA1V0AN第四章 設(shè)置方法<2>PRM00xx0/10/1000/10/1計數(shù)時鐘(fsam)選擇(設(shè)置為“1, 1”。)00fXPfXP/2201fXP/2810TI000引腳有效沿選擇(設(shè)置為“1, 0”。)00下降沿01上升沿11上升及下降沿TI010引腳有效沿選擇xx無效設(shè)置(設(shè)置“1, 0”。)<3>TMC00000001x016位定時器計數(shù)器00(TM00)溢出檢測0未檢測到溢出。工作模式和清零

32、模式選擇010自由運行模式011<4>PMx、PMCx(2) 示例程序在下面的例子中,“(1)寄存器設(shè)置”中的“x”設(shè)置為“0”。此外,TI000 引腳的有效沿設(shè)置為雙沿且計數(shù)時鐘設(shè)置為fXP(系統(tǒng)時鐘頻率)。<1> 匯編語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)<2> C 語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)17應用注釋 U18889CA1V0ANPM3.0 = 1;CRC00 = 0b00000100; PRM00 = 0b00110000; TMC00 = 0b00000100;SET1 PM3.0MO

33、V CRC00, #00000100B MOV PRM00, #00110000B MOV TMC00, #00000100BPMx寄存器PMCx寄存器78K0S/KA1+和78K0S/KB1+微處理器PM30=1無需設(shè)置78K0S/KY1+和78K0S/KU1+微處理器PM20=1PMC20=0第四章 設(shè)置方法例2測量TI000引腳和TI010引腳的輸入信號的脈沖寬度(用CR000寄存器和CR010寄存器作為捕捉寄存器,自由運行模式)當TM00計數(shù)器工作在自由運行模式下時,同時測量輸入TI000引腳和TI010引腳的兩個信號的脈沖寬度。當檢測到TI000引腳的有效沿時,TM00計數(shù)器的計數(shù)值

34、捉進入CR010寄存器;當檢測到TI010引腳的有效沿時,TM00計數(shù)器的計數(shù)值捉進入CR000寄存器。注意事項 本操作示例中可測量的脈沖寬度最大為一個定時器計數(shù)器周期。圖 4-7測量 TI000 引腳和 TI010 引腳輸入信號的脈沖寬度的定時示例(自由運行模式、指定為雙沿)18應用注釋 U18889CA1V0AN第四章 設(shè)置方法(1) 寄存器設(shè)置<1>CRC0000000101CR000工作模式選擇1用作捕捉寄存器CR000捕捉觸發(fā)選擇0Ti010引腳有效沿捕捉。CR010工作模式選擇1用作捕捉寄存器<2>PRM0019應用注釋 U18889CA1V0AN0/10/

35、10/10/1000/10/1計數(shù)時鐘(fsam)選擇(設(shè)置為“1, 1”。)00fXP01fXP/2210fXP/28TI000引腳有效沿選擇(設(shè)置為“1, 0”。)00下降沿01上升沿11上升及下降沿TI010引腳有效沿選擇(設(shè)置為“1, 0”。)00下降沿01上升沿11上升及下降沿第四章 設(shè)置方法<3> TMC00000001x016位定時器計數(shù)器00(TM00)溢出檢測0未檢測到溢出。工作模式和清零模式選擇010自由運行模式011<4> PMx、PMCx(2) 示例程序在下面的例子中,“(1)寄存器設(shè)置”中的“x”設(shè)置為“0”。此外,TI000 引腳和 TI01

36、0 引腳的有效沿設(shè)置為雙沿且計數(shù)時鐘設(shè)置為fXP(系統(tǒng)時鐘頻率)。<1>匯編語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)<2>C 語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)20應用注釋 U18889CA1V0ANPM3.0 = 1;PM3.1 = 1;CRC00 = 0b00000101; PRM00 = 0b11110000; TMC00 = 0b00000100;SET1 PM3.0SET1 PM3.1MOV CRC00, #00000101B MOV PRM00, #11110000B MOV TMC00, #000001

37、00BPMx寄存器PMCx寄存器78K0S/KA1+和78K0S/KB1+微處理器PM30=1、PM31=1無需設(shè)置78K0S/KY1+和78K0S/KU1+微處理器PM20=1、PM21=1PMC20=0、PMC21=0第四章 設(shè)置方法例3測量TI000引腳的輸入信號的脈沖寬度(用CR000寄存器和CR010寄存器作為捕捉寄存器,自由運行模式)當TM00計數(shù)器工作在自由運行模式下時,測量輸入TI000引腳信號的脈沖寬度。當檢測到TI000引腳的有效沿時,TM00計數(shù)器的計數(shù)值相的信號時,TM00計數(shù)器的計數(shù)值沿或下降沿。捉進入CR010寄存器;當出現(xiàn)與檢測到TI000引腳的有效沿反捉進入CR

38、000寄存器。將TI000引腳的有效沿檢測設(shè)置為上升注意事項 本操作示例中可測量的脈沖寬度最大為一個定時器計數(shù)器周期。圖 4-8測量 TI000 引腳輸入信號的脈沖寬度的定時示例(自由運行模式、指定為上升沿)21應用注釋 U18889CA1V0AN第四章 設(shè)置方法(1) 寄存器設(shè)置<1> CRC0000000111CR000工作模式選擇1用作捕捉寄存器CR000捕捉觸發(fā)選擇1Ti000引腳有效沿反相時捕捉。注CR010工作模式選擇1用作捕捉寄存器注如果 CRC000 為 1,那么當選擇下降及上升沿作為 TI000 引腳的有效沿時,CR000 寄存器無法進行捕捉操作。如果 CRC00

39、1 為 1,則無法由 TI010 引腳的有效沿捕捉進入 CR000 寄存器;但是,因為生成了INTTM000,不能用TI010 引腳作為外部中斷。<2>PRM00xx00/1000/10/1計數(shù)時鐘(fsam)選擇(設(shè)置為“1, 1”。)00fXPfXP/2201fXP/2810TI000引腳有效沿選擇00下降沿01上升沿TI010引腳有效沿選擇xx無效設(shè)置(設(shè)置“1, 0”。)22應用注釋 U18889CA1V0AN第四章 設(shè)置方法<3>TMC00000001x016位定時器計數(shù)器00(TM00)溢出檢測0未檢測到溢出。工作模式和清零模式選擇010自由運行模式011&

40、lt;4>PMx、PMCx(2) 示例程序在下面的例子中,“(1)寄存器設(shè)置”中的“x”設(shè)置為“0”。此外,TI000 引腳的有效沿設(shè)置為上升沿且計數(shù)時鐘設(shè)置為fXP(系統(tǒng)時鐘頻率)。<1>匯編語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)<2>C 語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)23應用注釋 U18889CA1V0ANPM3.0 = 1;CRC00 = 0b00000111; PRM00 = 0b00010000; TMC00 = 0b00000100;SET1 PM3.0MOV CRC00, #00000111

41、B MOV PRM00, #00010000B MOV TMC00, #00000100BPMx寄存器PMCx寄存器78K0S/KA1+和78K0S/KB1+微處理器PM30=1無需設(shè)置78K0S/KY1+和78K0S/KU1+微處理器PM20=1PMC20=0第四章 設(shè)置方法例4測量TI000引腳輸入信號的脈沖寬度(用CR000寄存器作為捕捉寄存器,通過輸入TI000引腳的有效沿進入清零并開始模式)通過輸入TI000引腳的有效沿進入清零并開始模式時,當TM00計數(shù)器工作時,將對TI000引腳輸入信號的脈沖寬度進量。檢測到TI000引腳的有效沿時,TM00計數(shù)器的計數(shù)值將捉進入CR010寄存器

42、,之后,TM00計數(shù)器清零,計數(shù)重新開始,對TI000引腳的輸入信號的脈沖寬度進量。注意事項 本操作示例中可測量的脈沖寬度最大為一個定時器計數(shù)器周期。圖 4-9測量 TI000 引腳輸入信號的脈沖寬度的定時示例(通過TI000 引腳的有效沿輸入進入清零并開始模式,指定為雙沿)24應用注釋 U18889CA1V0AN第四章 設(shè)置方法(1) 寄存器設(shè)置<1>CRC00000001x0CR000工作模式選擇0用作比較寄存器CR000捕捉觸發(fā)選擇x無效設(shè)置CR010工作模式選擇1用作捕捉寄存器<2>PRM00xx0/10/1000/10/1計數(shù)時鐘(fsam)選擇(設(shè)置為“1,

43、 1”。)00fXPfXP/2201fXP/2810TI000引腳有效沿選擇(設(shè)置為“1, 0”。)00下降沿01上升沿11上升及下降沿TI010引腳有效沿選擇xx無效設(shè)置(設(shè)置“1, 0”。)25應用注釋 U18889CA1V0AN第四章 設(shè)置方法<3>TMC00000010x016位定時器計數(shù)器00(TM00)溢出檢測0未檢測到溢出。工作模式和清零模式選擇100Ti000引腳的有效沿處出現(xiàn)清零并啟動101<4>PMx、PMCx(2) 示例程序在下面的例子中,“(1)寄存器設(shè)置”中的“x”設(shè)置為“0”。此外,TI000 引腳的有效沿設(shè)置為雙沿且計數(shù)時鐘設(shè)置為fXP(系

44、統(tǒng)時鐘頻率)。<1>匯編語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)<2>C 語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)26應用注釋 U18889CA1V0ANPM3.0 = 1;CRC00 = 0b00000100; PRM00 = 0b00110000; TMC00 = 0b00001000;SET1 PM3.0MOV CRC00, #00000100B MOV PRM00, #00110000B MOV TMC00, #00001000BPMx寄存器PMCx寄存器78K0S/KA1+和78K0S/KB1+微處理器PM30=

45、1無需設(shè)置78K0S/KY1+和78K0S/KU1+微處理器PM20=1PMC20=0第四章 設(shè)置方法例5測量的TI000引腳輸入信號的脈沖寬度大于TM00計數(shù)器的周期(用CR010寄存器作為捕捉寄存器、CR000寄存器作為比較寄存器,通過輸入TI000引腳的有效沿進入清零并開始模式)(與示例程序源內(nèi)容相同)通過輸入TI000引腳的有效沿進入清零并開始模式時,當TM00計數(shù)器工作時,將對TI000引腳輸入信號的脈沖寬度進量。當CR000寄存器的工作模式設(shè)置為比較寄存器且CR000設(shè)置為FFFFH時,CR000寄存器和TM00計數(shù)器的值進行匹配,當TM00計數(shù)器從FFFFH變?yōu)?000H時將生成

46、INTTM000中斷。通過利用該中斷作為溢出中斷并在生成INTTM000中斷時對度。進行向上計數(shù),可測量大于TM00計數(shù)器周期的脈沖的寬檢測到TI000引腳的有效沿時,TM00計數(shù)器的計數(shù)值將捉進入CR010寄存器,之后,TM00計數(shù)器清零,計數(shù)重新開始,對TI000引腳的輸入信號的脈沖寬度進量。圖 4-10測量 TI000 引腳輸入信號的脈沖寬度的定時示例,該脈沖的寬度大于TM00 的計數(shù)周期(通過 TI000 引腳的有效沿輸入進入清零并開始模式,指定為雙沿)注高 8 位:計數(shù)器的值,低 16 位:CR010 寄存器的值*在上述定時示例中(INTTM000 生成:1 次,CR010 捕捉數(shù)據(jù)

47、:0003H),脈沖寬度=(010003H+1H)´t=(65539+1)´t27應用注釋 U18889CA1V0AN第四章 設(shè)置方法(1) 寄存器設(shè)置<1>CRC00000001x0CR000工作模式選擇0用作比較寄存器CR000捕捉觸發(fā)選擇x無效設(shè)置CR010工作模式選擇1用作捕捉寄存器<2>PRM00xx0/10/1000/10/1計數(shù)時鐘(fsam)選擇(設(shè)置為“1, 1”。)00fXPfXP/2201fXP/2810TI000引腳有效沿選擇(設(shè)置為“1, 0”。)00下降沿01上升沿11上升及下降沿TI010引腳有效沿選擇xx無效設(shè)置(設(shè)置

48、“1, 0”。)<3>TMC00000010x016位定時器計數(shù)器00(TM00)溢出檢測0未檢測到溢出。工作模式和清零模式選擇100在TI000引腳的有效沿出現(xiàn)清零并啟動101<4>PMx、PMCx<5>CR000:FFFFH28應用注釋 U18889CA1V0ANPMx寄存器PMCx寄存器78K0S/KA1+和78K0S/KB1+微處理器PM30=1無需設(shè)置78K0S/KY1+和78K0S/KU1+微處理器PM20=1PMC20=0第四章 設(shè)置方法(2) 示例程序在下面的例子中,“(1)寄存器設(shè)置”中的“x”設(shè)置為“0”。此外,TI000 引腳的有效沿設(shè)置為雙沿且計數(shù)時鐘(fsam)設(shè)置為 fXP/22。<1>匯編語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)<2>C 語言(使用 78K0S/KA1+和 78K0S/KB1+微器時)29應用注釋 U18889CA1V0ANPM3.0 = 1;CRC00 = 0b000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論