版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1AVR單片機定時計數(shù)器的結(jié)構(gòu)與應(yīng)用3.計數(shù)器類型計數(shù)器類型是指計數(shù)器的計數(shù)運行方式,可分為加一(減一)計數(shù)器,單程計數(shù)或雙向計數(shù)等。4.計數(shù)器的上下限計數(shù)器的上下限指計數(shù)單元的最小值和最大值。一般情況下,計數(shù)器的下限值為零,上限值為計數(shù)單元的最大計數(shù)值,即255(8位)或65535(16位)。需要注意的是,當(dāng)計數(shù)器工作在不同模式下時,計數(shù)器的上限值并不都是計數(shù)單元的最大計數(shù)值255或65535,它將取決于用戶的配置和設(shè)定。5.計數(shù)器的事件計數(shù)器的事件指計數(shù)器處于某種狀態(tài)時的輸出信號,該信號通??梢韵騇CU申請中斷。如當(dāng)計數(shù)器計數(shù)到達計數(shù)上限值255時,產(chǎn)生“溢出”信號,向MCU申請中斷。第1頁/共29頁兩個8位的定時計數(shù)器:T/C0、T/C2主要特點是:1.單通道計數(shù)器。2.比較匹配時清零計數(shù)器(自動重裝特性,AutoReload)。3.可產(chǎn)生無輸出抖動(glitch-free)的,相位可調(diào)的脈寬調(diào)制(PWM)信號輸出。4.頻率發(fā)生器。5.外部事件計數(shù)器(僅T/C0)。6.帶10位的時鐘預(yù)分頻器。7.溢出和比較匹配中斷源(TOV0、OCF0和TOV2、OCF2)。允許使用外部引腳的32kHz手表晶振作為獨立的計數(shù)時鐘源(僅T/C2)T/C0、T/C2的主要結(jié)構(gòu)和大部分的功能是相同或類似的第2頁/共29頁1.T/C0的組成結(jié)構(gòu)第3頁/共29頁圖中給出了MCU可以操作的寄存器以及相關(guān)的標(biāo)志位。
在T/C0中,有1.兩個8位的寄存器;2.計數(shù)寄存器TCNT03.輸出比較寄存器OCR0。4.T/C0的控制寄存器TCCR05.中斷標(biāo)志寄存器TIFR6.定時器中斷屏蔽寄存器TIMSK。
T/C0的計數(shù)器事件輸出信號有兩個
1.計數(shù)器計數(shù)溢出TOV02.比較匹配相等OCF0。
這兩個事件的輸出信號都可以申請中斷,中斷請求信號TOV0、OCF0可以在定時器中斷標(biāo)志寄存器TIFR中找到,同時在定時器中斷屏蔽寄存器TIMSK中,可以找到與TOV0、OCF0對應(yīng)的兩個相互獨立的中斷屏蔽控制位TOIE0、OCIE0。第4頁/共29頁(1)T/C0的時鐘源來自外部引腳T0的信號提供,來自芯片的內(nèi)部。
①T/C0計數(shù)時鐘源的選擇
T/C0的時鐘源的選擇由T/C0的控制寄存器TCCR0中的3個標(biāo)志位CS0[2:0]確定,共有8種選擇。無時鐘源(停止計數(shù)),外部引腳T0的上升沿或下降沿,以及內(nèi)部系統(tǒng)時鐘經(jīng)過一個10位預(yù)定比例分頻器分頻的5種頻率的時鐘信號(1/1、1/8、1/64、1/256、1/1024)。
②
使用系統(tǒng)內(nèi)部時鐘源
當(dāng)定時計數(shù)器使用系統(tǒng)內(nèi)部時鐘作為計數(shù)源時,通常作為定時器和波形發(fā)生器使用。AVR在定時計數(shù)器和內(nèi)部系統(tǒng)時鐘之間增加了一個預(yù)定比例分頻器,分頻器對系統(tǒng)時鐘信號進行不同比例的分頻,分頻后的時鐘信號提供定時計數(shù)器使用。利用預(yù)定比例分頻器,定時計數(shù)器可以從內(nèi)部系統(tǒng)時鐘獲得幾種不同頻率的計數(shù)脈沖信號。第5頁/共29頁T/C0的時鐘源與10位預(yù)定比例分頻器
第6頁/共29頁③
使用外部時鐘源
當(dāng)定時計數(shù)器使用外部時鐘作為計數(shù)源時,通常作為計數(shù)器使用,用于記錄外部脈沖的個數(shù)。外部引腳T0(PB0)上的脈沖信號可以作為C/T0的計數(shù)時鐘源。
PB0引腳內(nèi)部有一個同步采樣電路(Synchronization),它在每個系統(tǒng)時鐘周期都對T0引腳上的電平進行同步采樣,然后將同步采樣信號送到邊沿檢測器(EdgeDetector)中。邊沿檢測電路對同步采樣的輸出信號進行邊沿檢測,當(dāng)檢測到一個正跳變(CS0[2:0]=7)或負跳變(CS0[2:0]=8)時產(chǎn)生一個計數(shù)脈沖CLKT0。
第7頁/共29頁(2)T/C0的計數(shù)單元T/C0的計數(shù)單元是一個可編程的8位雙向計數(shù)器,邏輯功能圖計數(shù)(count) TCNT0加1或減1。方向(direction) 加或減的控制。清除(clear) 清零TCNT0。計數(shù)時鐘(clkT0) C/T0時鐘源頂部值(TOP) 表示TCNT0計數(shù)值到達上邊界。底部值(BOTTOM)表示TCNT0計數(shù)值到達下邊界(零)。第8頁/共29頁T/C0根據(jù)計數(shù)器的工作模式,在每一個clkT0時鐘到來時,計數(shù)器進行加1、減1或清零操作。clkT0的來源由標(biāo)志位CS0[2:0]設(shè)定。當(dāng)CS0[2:0]=0時,計數(shù)器停止計數(shù)(無計數(shù)時鐘源)。T/C0的計數(shù)值保存在8位的寄存器TCNT0中,MCU可以在任何時間訪問(讀/寫)TCNT0。MCU寫入TCNT0的值將立即覆蓋其中原有的內(nèi)容,同時也會影響到計數(shù)器的運行。
計數(shù)器的計數(shù)序列取決于寄存器TCCR0中標(biāo)志位WGM0[1:0]的設(shè)置。WGM0[1:0]的設(shè)置直接影響到計數(shù)器的計數(shù)方式和OC0的輸出,同時也影響和涉及T/C0的溢出標(biāo)志位TOV0的置位。標(biāo)志位TOV0可以用于產(chǎn)生中斷申請第9頁/共29頁在T/C0運行期間,比較匹配單元將寄存器TCNT0的計數(shù)值同寄存器OCR0的內(nèi)容進行比較(硬件進行自動比較處理)。兩者相等,在下一個計數(shù)時鐘脈沖到達時置位OCF0標(biāo)志位。標(biāo)志位OCF0也可以用于產(chǎn)生中斷申請。根據(jù)WGM0[1:0]和COM0[1:0]的不同設(shè)置,可控制比較匹配單元產(chǎn)生和輸出不同類型的脈沖波形。(3)比較匹配單元第10頁/共29頁寄存器OCR0實際上配置有一個輔助緩存器。當(dāng)T/C0工作在非PWM模式下時,該輔助緩存器處于被禁止使用狀態(tài),此時MCU直接訪問和操作寄存器OCR0。當(dāng)T/C0工作在PWM模式時,該輔助緩存器投入使用,這時MCU對OCR0的訪問操作,實際上是對OCR0的輔助緩存器操作。一旦計數(shù)器TCNT0的計數(shù)值達到設(shè)定的最大值(TOP)或最小值(BOTTOM)時,輔助緩存器中的內(nèi)容將同步更新比較寄存器OCR0的值。這將有效防止產(chǎn)生奇邊非對稱的PWM脈沖信號,使輸出的PWM波中沒有雜散脈沖。第11頁/共29頁①強制輸出比較
在非PWM波形發(fā)生模式下,寫1到強制輸出比較位(FOC0)時,將強制比較器產(chǎn)生一個比較匹配輸出信號。強制比較輸出信號不會置OCF0標(biāo)志位或重新裝載/清零計數(shù)器,但是會像真的發(fā)生了比較匹配事件一樣更新OC0輸出引腳輸出。②通過寫TCNT0寄存器屏蔽比較匹配事件
任何MCU對TCNT0寄存器的寫操作都會屏蔽在下一個定時器時鐘周期中的發(fā)生的比較匹配事件,即使在定時器暫停時。這一特性使OCR0可以被初始化為與TCNT0相同的值,而不會在定時計數(shù)器被使能時觸發(fā)中斷。
③使用輸出比較單元由于在任何工作模式下,寫TCNT0寄存器都會使得輸出比較匹配事件被屏蔽一個定時器時鐘周期,因此可能會影響比較匹配輸出的正確性。例如,寫入一個與OCR0相同的值到TCNT0時,將丟失一次比較匹配事件,從而引起發(fā)生不正確的波形。同樣,當(dāng)定時器是向下計數(shù)時,不要將下邊界的值寫入TCNT0。第12頁/共29頁(4)比較匹配輸出單元
標(biāo)志位COM0[1:0]有兩個作用:定義OC0的輸出狀態(tài),以及控制外部引腳OC0是否輸出OC0寄存器的值。當(dāng)標(biāo)志位COM0[1:0]中任何一位為“1”時,波形發(fā)生器的輸出OC0取代引腳PB3原來的I/O功能,但引腳的方向寄存器DDRB3仍然控制OC0引腳的輸入/輸出方向。如果要在外部引腳PB3上輸出OC0的邏輯電平,應(yīng)設(shè)定DDRB3定義該引腳為輸出腳。采用這種結(jié)構(gòu),用戶可以先初始化OC0的狀態(tài),然后再允許其由引腳PB3輸出。
第13頁/共29頁(5)比較輸出模式和波形發(fā)生器T/C0有四種工作模式,根據(jù)COM0[1:0]的不同設(shè)定,波形發(fā)生器將產(chǎn)生各種不同的脈沖波形,如PWM波形的產(chǎn)生和輸出。但只要COM0[1:0]=0,波形發(fā)生器對OC0寄存器沒有任何作用。第14頁/共29頁2.與8位T/C0相關(guān)的寄存器(1)T/C0計數(shù)寄存器—TCNT0TCNT0是T/C0的計數(shù)值寄存器,該寄存器可以直接被MCU讀寫訪問。寫TCNT0寄存器將在下一個定時器時鐘周期中阻塞比較匹配。因此,在計數(shù)器運行期間修改TCNT0的內(nèi)容,有可能將丟失一次TCNT0與OCR0的匹配比較操作。第15頁/共29頁(2)輸出比較寄存器—OCR0
8位寄存器OCR0中的數(shù)據(jù)用于同TCNT0寄存器中的計數(shù)值進行匹配比較。在T/C0運行期間,比較匹配單元一直將寄存器TCNT0的計數(shù)值同寄存器OCR0的內(nèi)容進行比較。一旦TCNT0的計數(shù)值與OCR0的數(shù)據(jù)匹配相等,將產(chǎn)生一個輸出比較匹配相等的中斷申請,或改變OC2的輸出邏輯電平。第16頁/共29頁(3)定時計數(shù)器中斷屏蔽寄存器—TIMSK
位7(位1)—OCIE2(OCIE0):T/C2(T/C0)輸出比較匹配中斷允許標(biāo)志位當(dāng)OCIE2(OCIE0)被設(shè)為“1”,且狀態(tài)寄存器中的I位被設(shè)為“1”時,將使能T/C2(T/C0)的輸出比較匹配中斷。若在T/C2(T/C0)上發(fā)生輸出比較匹配,即OCF2=1(OCF0=1)時,則執(zhí)行T/C2(T/C0)輸出比較匹配中斷服務(wù)程序。位6(位0)—TOIE2(TOIE0):T/C2(T/C0)溢出中斷允許標(biāo)志位當(dāng)TOIE2(TOIE0)被設(shè)為“1”,且狀態(tài)寄存器中的I位被設(shè)為“1”時,將使能T/C2(T/C0)溢出中斷。若在T/C2(T/C0)上發(fā)生溢出,即TOV2=1(TOV0=1)時,則執(zhí)行T/C2(T/C0)溢出中斷服務(wù)程序。第17頁/共29頁(4)定時計數(shù)器中斷標(biāo)志寄存器—TIFR位7(位1)—OCF2(OCF0):T/C2(T/C0)比較匹配輸出的中斷標(biāo)志位當(dāng)T/C2(T/C0)輸出比較匹配成功,即TCNT2=OCR2(TCNT0=OCR0)時,OCF2(OCF0)位被設(shè)為“1”。當(dāng)轉(zhuǎn)入T/C2(T/C0)輸出比較匹配中斷向量執(zhí)行中斷處理程序時,OCF2(OCF0)由硬件自動清零。寫入一個邏輯“1”到OCF2(OCF0)標(biāo)志位將清除該標(biāo)志位。當(dāng)寄存器SREG中的I位、OCIE2(OCIE0)以及OCF2(OCF0)均為“1”時,T/C2(T/C0)的輸出比較匹配中斷被執(zhí)行。位6(位0)—TOV2(TOV0):T/C2(T/C0)溢出中斷標(biāo)志位當(dāng)T/C2(T/C0)產(chǎn)生溢出時,TOV2(TOV0)位被設(shè)為“1”。當(dāng)轉(zhuǎn)入T/C2(T/C0)溢出中斷向量執(zhí)行中斷處理程序時,TOV2(TOV0)由硬件自動清零。寫入一個邏輯“1”到TOV2(TOV0)標(biāo)志位將清除該標(biāo)志位。當(dāng)寄存器SREG中的I位、TOIE2(TOIE0)以及TOV2(TOV0)均為“1”時,T/C2(T/C0)的溢出中斷被執(zhí)行。在PWM模式中,當(dāng)T/C2(T/C0)計數(shù)器的值為0x00并改變計數(shù)方向時,TOV2(TOV0)自動被置為“1”。第18頁/共29頁(5)T/C0控制寄存器—TCCR0
8位寄存器TCCR0是T/C0的控制寄存器,它用于選擇計數(shù)器的計數(shù)源,工作模式和比較輸出的方式等。位7—FOC0:強制輸出比較FOC0位只在T/C0被設(shè)置為非PWM模式下工作時才有效,在PWM模式下寫TCCR0寄存器時,該位必須被寫零。當(dāng)將一個邏輯“1”寫到FOC0位時,會強加在波形發(fā)生器上一個比較匹配成功信號,使波形發(fā)生器依據(jù)COM0[1:0]位的設(shè)置而改變OC0輸出狀態(tài)。注意:FOC0的作用僅如同一個選通脈沖,而OC0的輸出還是取決于COM0[1:0]位的設(shè)置。一個FOC0選通脈沖不會產(chǎn)生任何的中斷申請,也不影響計數(shù)器TCNT0和寄存器OCR0的值。一旦一個真正的比較匹配發(fā)生,OC0的輸出將根據(jù)COM0[1:0]位的設(shè)置而更新。第19頁/共29頁位3,6—WGM0[1:0]:波形發(fā)生模式這兩個標(biāo)志位控制T/C0的計數(shù)和工作方式,計數(shù)器計數(shù)的上限值,以及確定波形發(fā)生器的工作模式(見表8.1)。T/C0支持的工作模式有:普通模式,比較匹配時定時器清零(CTC)模式,以及兩種脈寬調(diào)制(PWM)模式。第20頁/共29頁位5,4—COM0[1:0]:比較匹配輸出方式這兩個位用于控制比較輸出引腳OC0的輸出方式。如果COM0[1:0]中的任何一位或兩位被置“1”,OC0的輸出將覆蓋PB3引腳的通用I/O端口功能,但此時PB3引腳的數(shù)據(jù)方向寄存器DDRB3位必須置為輸出方式。當(dāng)引腳PB3作為OC0輸出引腳時,其輸出方式取決于COM0[1:0
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2378-2026數(shù)字計量體系框架及應(yīng)用指南
- GB/T 46897-2025光伏發(fā)電站應(yīng)急管理規(guī)范
- 法律資格考試題目及答案
- 一建市政基坑案例題目及答案
- 法學(xué)類考試題目及答案
- 養(yǎng)老院老人緊急救援人員職業(yè)道德制度
- 養(yǎng)老院老人健康監(jiān)測人員表彰制度
- 養(yǎng)老院環(huán)境清潔制度
- 線上知識問答題目及答案
- 辦公室員工出差安全管理制度
- 2026年齊齊哈爾高等師范??茖W(xué)校單招職業(yè)技能測試題庫必考題
- 輸變電工程安全教育課件
- 物業(yè)項目綜合服務(wù)方案
- 2025-2026學(xué)年北京市西城區(qū)初二(上期)期末考試物理試卷(含答案)
- 高血壓病的中醫(yī)藥防治
- 2024年度初會職稱《初級會計實務(wù)》真題庫匯編(含答案)
- 產(chǎn)科品管圈成果匯報降低產(chǎn)后乳房脹痛發(fā)生率課件
- 綠植租賃合同
- 狼蒲松齡原文及翻譯
- 2023初會職稱《經(jīng)濟法基礎(chǔ)》習(xí)題庫及答案
- 比亞迪Forklift軟件使用方法
評論
0/150
提交評論