




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第5章 定時(shí)器/計(jì)數(shù)器,內(nèi)容提要: 5.1 定時(shí)器/計(jì)數(shù)器功能 5.2 定時(shí)器和計(jì)數(shù)器硬件結(jié)構(gòu) 5.3 定時(shí)器/計(jì)數(shù)器工作方式 5.4 定時(shí)器/計(jì)數(shù)器編程,內(nèi)容要求: 1、熟悉PIC16F87X單片機(jī)的定時(shí)/計(jì)數(shù)器功能。 2、熟悉3個(gè)定時(shí)器/計(jì)數(shù)器模塊的硬件結(jié)構(gòu)。 3、熟悉掌握與定時(shí)器/計(jì)數(shù)器模塊相關(guān)的寄存器。 4、熟練掌握定時(shí)器/計(jì)數(shù)器工作方式。 5、熟練掌握定時(shí)器/計(jì)數(shù)器編程技術(shù) 。,5.1 定時(shí)/計(jì)數(shù)器功能 5.1 定時(shí)/計(jì)數(shù)器功能 5.4.1 定時(shí)器功能起定時(shí)延時(shí)作用和在規(guī)定的引腳上 輸出一定寬度的方波信號(hào)。 所謂定時(shí)功能就是通過來自單片機(jī)內(nèi)部的時(shí)鐘脈沖作計(jì)數(shù)脈沖,使計(jì)數(shù)器計(jì)數(shù),即每個(gè)
2、機(jī)器周期計(jì)數(shù)器加1,計(jì)數(shù)值達(dá)到予置值后,定時(shí)/計(jì)數(shù)模塊產(chǎn)生溢出。,5.1 定時(shí)/計(jì)數(shù)器功能 5.1 定時(shí)/計(jì)數(shù)器功能 5.4.2 計(jì)數(shù)器功能 所謂計(jì)數(shù)是指對外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此計(jì)數(shù)功能的實(shí)質(zhì)就是對外來脈沖進(jìn)行計(jì)數(shù)。,5.2 定時(shí)和計(jì)數(shù)器硬件結(jié)構(gòu) PIC16F877單片機(jī)配置了3個(gè)定時(shí)器/計(jì)數(shù)器模塊,分別為TMR0、TMR1和TMR2。 共同點(diǎn):它們的核心部分都是一個(gè)由時(shí)鐘信號(hào)觸發(fā),按遞增方式累加工作的循環(huán)計(jì)數(shù)器;從預(yù)先設(shè)定的某一初始值開始累計(jì),在累計(jì)到計(jì)數(shù)器產(chǎn)生溢出,并同時(shí)建立一個(gè)相應(yīng)的溢出中斷標(biāo)志。 三者的不同點(diǎn): TMR0為8位寬,有一個(gè)可選的預(yù)分頻器,用于
3、通用目的,可用于定時(shí)和計(jì)數(shù); TMR1為16位寬,附帶一個(gè)可編程的預(yù)分頻器和一個(gè)可選的低頻時(shí)基振蕩器,適合與CCP(捕捉/比較脈寬調(diào)制)模塊配合使用來實(shí)現(xiàn)輸入捕捉或輸出比較功能,也可用于定時(shí)和計(jì)數(shù); TMR2為8位寬,附帶一個(gè)配合使用來實(shí)現(xiàn)PWM脈沖寬度調(diào)制信號(hào)的產(chǎn)生,只能用于定時(shí)。,5.2.1定時(shí)器/計(jì)數(shù)器TMR0的硬件結(jié)構(gòu) *TMR0可以用于定時(shí)控制、延時(shí)、對外部事件進(jìn)行計(jì) 數(shù)和檢測等場合。 *TMR0可以使用內(nèi)部系統(tǒng)時(shí)鐘,也可以使用外部始終。 *TMR0用于內(nèi)部定時(shí)或?qū)ν庥?jì)數(shù)時(shí)都不占用CPU時(shí)間。 1.定時(shí)器/計(jì)數(shù)器TMR0具有以下特點(diǎn): (1)TMR0是一個(gè)8位寬的由時(shí)鐘信號(hào)上升沿觸發(fā)
4、的循環(huán)累加計(jì)數(shù)寄存器。 (2)有一個(gè)專用的外部觸發(fā)信號(hào)輸入端(T0CKI-RA4)。 (3)TMR0也是一個(gè)在文件寄存器區(qū)域內(nèi)統(tǒng)一編址的寄存器,地址為01H或101H,用戶用軟件方式可直接讀/寫計(jì)數(shù)器的內(nèi)容。 (4)具有一個(gè)軟件可編程的8位預(yù)分頻器。,(5)當(dāng)使用內(nèi)部觸發(fā)信號(hào),即指令周期作為時(shí)鐘信號(hào)源時(shí),模塊TMR0工作于定時(shí)方式,觸發(fā)方式為固定上升沿觸發(fā)有效。在計(jì)數(shù)器溢出時(shí),相應(yīng)的溢出中斷標(biāo)志T0IF自動(dòng)置位,并可產(chǎn)生溢出中斷。 (6)當(dāng)外部時(shí)鐘信號(hào)源時(shí),模塊TMR0工作于計(jì)數(shù)方式,觸發(fā)方式可由程序設(shè)置位上升沿觸發(fā)或下降 沿觸發(fā)有效。在計(jì)數(shù)器溢出時(shí),也可產(chǎn)生溢出中斷。,2與定時(shí)器/計(jì)數(shù)器TM
5、R0模塊相關(guān)的寄存器 (1)選項(xiàng)寄存器 OPTION_REG (1)是作為定時(shí)器還是作為計(jì)數(shù)器 (2)決定分頻器的分頻系數(shù) (3)時(shí)鐘是上升沿/下降沿觸發(fā) (2)中斷控制寄存器 INTCON (1)中斷總控制-允許/禁止 (2)各類中斷的控制 (3)各類中斷的標(biāo)志 (3)RA口方向寄存器 TRISA 當(dāng)TMR0工作于計(jì)數(shù)器時(shí),RA4必須設(shè)為輸入,以便從該腳輸 入時(shí)鐘脈沖信號(hào)。 (4)定時(shí)器/計(jì)數(shù)器 TMR0 8位累加計(jì)數(shù)寄存器,與計(jì)數(shù)和定時(shí)無關(guān),3 定時(shí)器/計(jì)數(shù)器TMR0模塊的電路結(jié)構(gòu)和工作原理,4.分頻器和控制邏輯電路 分頻器實(shí)際上也是一個(gè)8位累加計(jì)數(shù)器,它只能配合TMR0或WDT輸出的時(shí)鐘
6、由PS2PS0設(shè)定分頻比,這個(gè)分頻比由OPTION_REG寄存器中的PS2PS0決定。 5.TMR0累加計(jì)數(shù)寄存器 TMR0有定時(shí)器和計(jì)數(shù)器兩種工作模式。這兩種模式之間的差異是觸發(fā)信號(hào)的來源不同。TMR0的工作模式由T0CS位(選項(xiàng)寄存器OPTION_REG)決定,TMR0 定時(shí)時(shí)間的計(jì)算公式: t= P (28 X) T X= 28 t/(TxP) t:設(shè)定的定時(shí)時(shí)間uS P:分頻器的分頻比-2256 取值為2、4、8、16、32、64、128、256。 X:TMR0的計(jì)數(shù)初值-0255 T:指令周期uS 定時(shí)器最短的定時(shí)時(shí)間:t=2x(256-255)x1uS=2uS 定時(shí)器最長的定時(shí)時(shí)間
7、:t=256x(256-0)x1uS=65535uS,TMR0的定時(shí)程序舉例: 用TMR0產(chǎn)生10毫秒的定時(shí)時(shí)間,步驟如下: (1) 求出10毫秒定時(shí)時(shí)間對應(yīng)的計(jì)數(shù)初值 X= 28 t/(TxP) =256-10000/(1x64) =256-156 =100(64H) (2) 根據(jù)題目的要求,對OPTION_REG配置 (3) 將(X=100)寫入TMR0計(jì)數(shù)寄存器 (4) 等待T0IF溢出,溢出時(shí),定時(shí)時(shí)間已到,TMR0定時(shí)器延時(shí)10毫秒程序舉例: BSF STATUS,RP0 MOVLW 05H ;Fosc/64,分頻器分配給TMR0, MOVWF OPTION_REG ;上升沿出發(fā)TM
8、R0遞增, BCF STATUS,RP0 ;內(nèi)部時(shí)鐘 ; MOVLW 64H MOVWF TMR0 ;定初值寫入TMR0, ;并啟動(dòng)TMR0 LOOP BTFSS INTCON,T0IF ;是否溢出? GOTO LOOP ;沒溢出,繼續(xù)等待 ; BCF INTCON,T0IF ;定時(shí)器0標(biāo)志位清0 GOTO $ ;程序在原地踏步,TMR0定時(shí)器延時(shí)1000毫秒程序舉例: BSF STATUS,RP0 MOVLW 05H ;Fosc/64,分頻器分配給TMR0, MOVWF OPTION_REG ;上升沿出發(fā)TMR0遞增, BCF STATUS,RP0 ;內(nèi)部時(shí)鐘 MOVLW .100 MOVW
9、F COUNT LOOP MOVLW 64H MOVWF TMR0 ;定初值寫入TMR0,并啟動(dòng)TMR0 LOOP1 BTFSS INTCON,T0IF ;是否溢出? GOTO LOOP1 ;沒溢出,繼續(xù)等待 ; BCF INTCON,T0IF ;定時(shí)器0標(biāo)志位清0 DECFSZ COUNT,1 GOTO LOOP GOTO $ ;程序在原地踏步,用定時(shí)器TMR0產(chǎn)生一個(gè)50Hz方波從RC0輸出程序舉例: BSF STATUS,RP0 MOVLW 05H ;Fosc/64,分頻器分配給TMR0, MOVWF OPTION_REG ;上升沿出發(fā)TMR0遞增, CLRF TRISC ;C口為輸出
10、BCF STATUS,RP0 ;內(nèi)部時(shí)鐘 ; LOOP MOVLW 64H MOVWF TMR0 ;定初值寫入TMR0,并啟動(dòng)TMR0 LOOP1 BTFSS INTCON,T0IF ;是否溢出? GOTO LOOP1 ;沒溢出,繼續(xù)等待 ; BCF INTCON,T0IF ;定時(shí)器0標(biāo)志位清0 MOVLW B00000001 XORWF PORTC,1 ;對RC0求反 GOTO LOOP ;繼續(xù)循環(huán),5.2.2定時(shí)器/計(jì)數(shù)器TMR1的硬件結(jié)構(gòu) 定時(shí)器/計(jì)數(shù)器TMR1不僅可作通用的定時(shí)器和計(jì)數(shù)器;而且利用內(nèi)置的低頻時(shí)基振蕩器,還可實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘RTC功能;通過TMR1與CCP模塊配合使用,定時(shí)器
11、/計(jì)數(shù)器TMR1又可實(shí)現(xiàn)輸入捕捉和輸出比較功能。 定時(shí)器/計(jì)數(shù)器TMR1是一個(gè)16位的可讀可寫的計(jì)數(shù)寄存器,由高低兩字節(jié)組成(TMR1H和TMR1L)16位寄存器從0000H到FFFFH加1計(jì)數(shù),然后回到0000H。在從FFFFH到0000H的過程中,置位中斷標(biāo)志位TMR1IF。定時(shí)器/計(jì)數(shù)器TMR1還帶有一個(gè)3位的可編程預(yù)分頻器和一個(gè)內(nèi)置的低功耗低頻時(shí)基振蕩器。,5.2.2定時(shí)器/計(jì)數(shù)器TMR1的硬件結(jié)構(gòu) 1定時(shí)器/計(jì)數(shù)器TMR1模塊具有的特點(diǎn): (1)一個(gè)16位的由時(shí)鐘信號(hào)上升沿觸發(fā)的累加計(jì)數(shù)寄存器對TMR1H:TMR1L; (2)TMR1H和TMR1L是在RAM中統(tǒng)一編址的寄存器對, 地
12、址為0EH和0FH,可用軟件方式讀/寫TMR1寄存器對的內(nèi)容; (3)一個(gè)可選用的3位可編程的預(yù)分頻器; (4)累加計(jì)數(shù)的信號(hào)源可選擇內(nèi)部系統(tǒng)時(shí)鐘、外部觸 發(fā)信號(hào)或自帶時(shí)基振蕩器信號(hào); (5)既可工作于定時(shí)器模式,又可工作于計(jì)數(shù)器模式,還可用作實(shí)時(shí)時(shí)鐘RTC; (6)在計(jì)數(shù)器溢出時(shí),相應(yīng)的溢出中斷標(biāo)志自動(dòng)置位,并可產(chǎn)生溢出中斷。,5.2.2定時(shí)器/計(jì)數(shù)器TMR1的硬件結(jié)構(gòu) 2. 與定時(shí)器/計(jì)數(shù)器TMR1模塊相關(guān)的寄存器 (1) PIE1外設(shè)中斷使能寄存器 (2) PIR1外設(shè)中斷標(biāo)志寄存器 (3) INTCON中斷控制寄存器 (4) T1CONTMR1控制積存器 (5) TMR1LTMR1計(jì)數(shù)
13、寄存器低字節(jié) (6) TMR1HTMR1計(jì)數(shù)寄存器高字節(jié) 參見表5-2 有關(guān)TMR1、 TMR2模塊電路結(jié)構(gòu)不介紹。,TMR1 定時(shí)時(shí)間的計(jì)算公式: t= P (216 X) T X= 216 t/(TxP) t:設(shè)定的定時(shí)時(shí)間uS P:分頻器的分頻比-18 取值為1、2、4、8 X:TMR1H和TMR1L的計(jì)數(shù)初值-065535 T:指令周期uS 定時(shí)器最短的定時(shí)時(shí)間:t=1x(65536-65535)x1uS=1uS 定時(shí)器最長的定時(shí)時(shí)間:t=8x(65536-0)x1uS=524288uS,TMR1的定時(shí)程序舉例: 用TMR1產(chǎn)生10毫秒的定時(shí)時(shí)間,步驟如下: (1) 求出10毫秒定時(shí)時(shí)
14、間對應(yīng)的計(jì)數(shù)初值 X= 216 t/(TxP) =65536-10000/(1x8) =65536-1250 =64286(FB1EH) (2) 根據(jù)題目的要求,對T1CON配置 (3) 將(X=FB1E)寫入TMR1H和TMR1L計(jì)數(shù)寄存器 (4) 將T1SCEN位置1,啟動(dòng)TMR1開始定時(shí) (4) 等待PIR1的TMR1IF位為1,為1時(shí),定時(shí)時(shí)間已到,TMR1的定時(shí)程序舉例: LIST P=16F877A;列表偽指令 INCLUDE P16F877A.INC;把包含文件含入源程序 _CONFIG 3F39H;設(shè)置配置位中振蕩方式為XT, 其它全部禁止或關(guān)閉 ;* COUNTEQU20H
15、ORG 0 x000;主程序開始地址 GOTOMAIN;跳轉(zhuǎn)到主程序 ORG0005H ;主程序開始地址為0005H MAIN MOVLW0F1H ;31H MOVWFT1CON;設(shè)定定時(shí)器工作方式,分頻比為1:8 ;* ; 定時(shí)0.5秒 ; X=65536-t/(TxP)=65536-500000/(1x8)=3036=0BDCH ; MOVLW0BH MOVWFTMR1H;設(shè)定TMR1高位初值 MOVLW0DCH ; MOVWFTMR1L ;設(shè)定TMR1低位初值 ;* BSFT1CON,TMR1ON ;啟動(dòng)定時(shí)器TMR1 LOOP1 BTFSS PIR1,TMR1IF ;是否溢出? GOT
16、OLOOP1 ;沒溢出,繼續(xù)等待 BCFPIR1,TMR1IF ;已溢出,清TMR1溢出標(biāo)志 ;* GOTO $ ;程序在原地踏步 END ;源程序結(jié)束,本章小節(jié) 1、熟悉PIC16F87X單片機(jī)的定時(shí)/計(jì)數(shù)器功能 PIC16F87X單片機(jī)有3個(gè)定時(shí)器/計(jì)數(shù)器模塊,它們的共同點(diǎn)是其核心部分都是一個(gè)由時(shí)鐘信號(hào)觸發(fā),按遞增方式累加工作的循環(huán)計(jì)數(shù)器;從預(yù)先設(shè)定的某一初始值開始累計(jì),在累計(jì)到計(jì)數(shù)器產(chǎn)生溢出,并同時(shí)建立一個(gè)相應(yīng)的溢出中斷標(biāo)志。 TMRO可用于定時(shí)控制、延時(shí)、對外部事件計(jì)數(shù)和檢測等場合。 TMR1不僅可作通用的定時(shí)器和計(jì)數(shù)器;而且利用內(nèi)置的低頻時(shí)基振蕩器,還可實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘RTC功能;通過TMR1與CCP模塊配合使用,定時(shí)器/計(jì)數(shù)器TMR1又可實(shí)現(xiàn)輸入捕捉和輸出比較功能。,TMR2只能工作于定時(shí)器模式。 2、熟悉3個(gè)定時(shí)器/計(jì)數(shù)器模塊的硬件結(jié)構(gòu) 定時(shí)器/計(jì)數(shù)器TMR0模塊可分為4個(gè)組成部分,計(jì)數(shù)寄存器TMR0、分頻器、各種控制邏輯電路和看門狗定時(shí)器WDT。 定時(shí)器/計(jì)數(shù)器TMR1模塊的內(nèi)部結(jié)構(gòu)也分為4部分,即輸入信號(hào)選擇控制電路、預(yù)分頻器、同步控制電路和累加計(jì)數(shù)寄存器。 TMR2由5部分構(gòu)成,預(yù)分頻器、TMR2累加計(jì)數(shù)器、比較器、PR2寄存器和后分頻器。,3、熟練掌握與定時(shí)器/計(jì)數(shù)器模塊相關(guān)的寄存器 4、熟練掌握定時(shí)/計(jì)數(shù)器工作方式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 減稅退稅督查方案
- 2025至2030MiniITX臺(tái)式計(jì)算機(jī)主板行業(yè)市場占有率及投資前景評估規(guī)劃報(bào)告
- 2025-2030自卸卡車行業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報(bào)告
- 2025至2030IC封裝行業(yè)市場占有率及投資前景評估規(guī)劃報(bào)告
- 2025至2030DEXA骨密度計(jì)行業(yè)市場占有率及投資前景評估規(guī)劃報(bào)告
- 本地洗頭團(tuán)購活動(dòng)方案
- 月租車促銷活動(dòng)方案
- 機(jī)關(guān)健康講座活動(dòng)方案
- 機(jī)場旅客活動(dòng)方案
- 柳林公司中秋福利活動(dòng)方案
- 2025年廣東省高考生物真題(解析版)
- 2024年哈爾濱市道里區(qū)執(zhí)法輔助人員招聘考試真題
- 2025年7月自考13811績效管理試題及答案含解析
- 2025年中學(xué)教師資格考試《綜合素質(zhì)》教育法律法規(guī)經(jīng)典案例分析及強(qiáng)化試題集(含答案)
- CGF生長因子在口腔醫(yī)學(xué)中的應(yīng)用
- 互聯(lián)網(wǎng)新聞信息服務(wù)安全評估報(bào)告模板(2025年7月修訂)
- 《等腰三角形的性質(zhì)》課件
- 工業(yè)互聯(lián)網(wǎng)與船舶行業(yè)融合應(yīng)用參考指南 2025
- 應(yīng)征公民政治考核表(含示例)
- 南通國家級南通經(jīng)濟(jì)技術(shù)開發(fā)區(qū)公開招聘招商人員筆試歷年參考題庫附帶答案詳解析
- 2025年廣東省深圳市中考道德與法治 總復(fù)習(xí)法治教育檢測卷(含答案)
評論
0/150
提交評論