




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
定時器計數(shù)器第1頁,共26頁,2023年,2月20日,星期一8.1定時器/計數(shù)器模塊的基本用途
在單品機(jī)芯片內(nèi)部配置的各種外圍設(shè)備模塊中,定時器/計數(shù)器模塊是一種應(yīng)用比較靈活的外設(shè)模塊。那么,定時器/計數(shù)器模塊究竟有什么用途呢?經(jīng)過初步分析和歸納,此類模塊大致上可以適用于以下3類不同的應(yīng)用場合:第2頁,共26頁,2023年,2月20日,星期一
(1)在一些單片機(jī)的應(yīng)用項目中,又是要求單片機(jī)在其端口引腳上,向外部電路送出一系列符合一定時序規(guī)范的方波信號。例如,空調(diào)機(jī)中的變頻控制,VCD,光盤驅(qū)動器,照相機(jī),打印機(jī)提示音的音調(diào)產(chǎn)生,PWM脈沖寬度調(diào)制信號的形成,等等。在對這些應(yīng)用項目的單片機(jī)進(jìn)行編程時,需要在程序的執(zhí)行過程中,插入一定時長的延時。對此有兩種方案可供選擇,一直利用芯片內(nèi)部現(xiàn)成的硬件資源——可編程定時器,來精確控制輸出實現(xiàn)預(yù)定的時間間隔;二是采用軟件手段——插入一段延時程序。關(guān)于軟件手段延時,在“PIC匯編語言程序設(shè)計基礎(chǔ)”章節(jié)中已經(jīng)做過介紹,其缺點(diǎn),傳真機(jī)中不僅電動機(jī)的驅(qū)動,電器設(shè)備的是需要占用“機(jī)時”,也就是耗費(fèi)CPU的“精力”。在此僅對第一種方法中用到的硬件資源進(jìn)行講解。第3頁,共26頁,2023年,2月20日,星期一
(2)在另外一些單片機(jī)的應(yīng)用項目中,經(jīng)常要求單片機(jī)在其引腳上,檢測外部電路送來的一系列方波信號的脈寬、周期或頻率,以便單片機(jī)接收外部電路的輸入信號或通信信號。例如,遙控電視機(jī)中的紅外遙控信號的接收,速度里程表中的轉(zhuǎn)速檢測,超聲波測距儀中發(fā)射波與反射波之間的時間間隔的精確測量,等等。這類應(yīng)用程序的編寫,會用定時器來對“視線未知”的時間間隔進(jìn)行精確計時。第4頁,共26頁,2023年,2月20日,星期一
(3)還有一些單片機(jī)應(yīng)用項目中,需要單片機(jī)對其端口引腳上輸入的有外部事件產(chǎn)生的觸發(fā)信號進(jìn)行精確的計數(shù),依據(jù)計數(shù)結(jié)果來控制完成相應(yīng)的動作。例如,在飲料的生產(chǎn)和包裝車間里,傳送帶上的易拉罐在移動時,可以借助于紅外線透射或者反射方式,獲得觸發(fā)信號并且送入單片機(jī)的相應(yīng)引腳,有單片機(jī)內(nèi)部的可編成計算器來對移過紅外探頭的易拉罐數(shù)量進(jìn)行計數(shù)。每當(dāng)計數(shù)器的累加值達(dá)到預(yù)設(shè)值時,就控制相應(yīng)裝置完成封箱操作。第5頁,共26頁,2023年,2月20日,星期一8.2PIC系列單片機(jī)定時器/計數(shù)器TMR0模塊的特性
Microchip公司產(chǎn)生的PIC系列單片機(jī)也不例外,各款產(chǎn)品內(nèi)部全部配備有定時器/計數(shù)器模塊,并且配備的數(shù)量也不盡相同。早期研制的PIC單片機(jī)產(chǎn)品系列,例如PIC12CXXX/CEXXX系列,PIC16C5X/5XX系列、PIC16C8X/F8X系列中的全部產(chǎn)品、PIC16C62X/CE62X系列中的部分產(chǎn)品,只配置了一個定時器/計數(shù)器模塊。除了在最早的PIC16C5X系列彈片機(jī)中,把該模塊叫做RTCC模塊之外,在其余所有PIC單片機(jī)中都把該模塊叫做TMR0模塊。近期新研制的PIC單片機(jī)產(chǎn)品系列中,大都配置了多個定時器/計數(shù)器模塊,例如PIC17CXXX系列和PIC18CXXX系列都配置了4個定時器/計數(shù)器模塊。第6頁,共26頁,2023年,2月20日,星期一
在本書中當(dāng)作樣板講解的PIC16F87X系列單片機(jī)都配置了3個定時器/計數(shù)器模塊,分別記為TMR0、TMR1、TMR2。需要事先聲明的是,TMR0、TMR1、TMR23個定時器/計數(shù)器模塊,不僅電路結(jié)構(gòu)上均不相同,而且涉及的初中也各有所異,但是,三者之間也存在著許多的共同之處。具體的分析如下:不同點(diǎn)有:TMR0為8位寬,有一個可選的預(yù)分頻器,用于通用目的;TMR1為16位寬,附帶一個可編程的預(yù)分頻器,還附帶一個可選的低頻時基振蕩器,適合與CCP(捕捉/比較/脈寬調(diào)制)模塊配合使用來實現(xiàn)輸入捕捉或輸出比較功能;TMR2為8位寬,同時附帶一個可編程的預(yù)分頻器和一個可編程的后分頻器,還附帶一個周期寄存器和比較器,適合與CCP模塊配合使用來實現(xiàn)PWM脈沖寬度調(diào)制信號的產(chǎn)生。第7頁,共26頁,2023年,2月20日,星期一
相同點(diǎn):它們的核心部分都是一個由時鐘信號觸發(fā)的按遞增規(guī)律(即累加方式)工作的循環(huán)計數(shù)器;都是從預(yù)先設(shè)定的某一初始值(或0)開始記起,在累積到超過最大值(或者預(yù)先設(shè)定的某一終了值)時產(chǎn)生溢出,并且同時會建立一個相應(yīng)的溢出標(biāo)志(即中斷標(biāo)志位):對于它們的編程方法也大同小異。因此,我們打算首先從中選擇一款具備通用性、代表性和相對簡單的定時器/計數(shù)器,也是各種檔次、各款PIC單片機(jī)型號內(nèi)部,普遍都配置了的定時器/計數(shù)器模塊TMR0,作為本章講解的模型和重點(diǎn)。至于其他2個定時器/計數(shù)器模塊TMR1和TMR2,將在后面設(shè)專門章節(jié)另行講解。這樣安排的目的主要是,為了更好的適應(yīng)初級讀者,以循序漸進(jìn)的方式接收和認(rèn)識新技術(shù)新知識的需要第8頁,共26頁,2023年,2月20日,星期一定時器/計數(shù)器TMR0具有以下特性:是一個8位寬的由時鐘信號上升沿觸發(fā)的循環(huán)累加計數(shù)器;TMR0也是一個文件寄存器區(qū)域內(nèi)統(tǒng)一編址的寄存器,核心地址為01H或101H;用戶用軟件方式可直接讀書或?qū)懭胗嫈?shù)器的內(nèi)容;具有一個可選用的8位可編程預(yù)分頻器;用于累加計數(shù)的信號源可選擇內(nèi)部或外部時鐘信號源,也就是即可工作于定時模式,又可工作于計數(shù)器模式;當(dāng)時用外部觸發(fā)信號作為時鐘信號源時可由程序定義上升沿或下降沿觸發(fā)有效;據(jù)有溢出中斷功能。第9頁,共26頁,2023年,2月20日,星期一8.3與定時器/計數(shù)器TMR0模塊
有關(guān)的寄存器現(xiàn)在讓我們做一下總結(jié)歸納,在PIC16F87X單片機(jī)的RAM數(shù)據(jù)存儲器區(qū)域,與定時器/計數(shù)器TMR0模塊有關(guān)的特殊功能寄存器共有四個,分別是8位寬的累加計數(shù)寄存器TMR0、中斷控制寄存器INTCON、選項寄存器OPTION和端口RA方向控制寄存器TRISA,如表8.1所示。第10頁,共26頁,2023年,2月20日,星期一表8.1與TMR0相關(guān)的寄存器寄存器名稱寄存器符號寄存器地址寄存器內(nèi)容bit7bit6bit5bit4bit3bit2bit1bit0定時器/計數(shù)器TMR001H/101H8位累加計數(shù)寄存器選項寄存器OPTION_REG81H/181HRBPUINTEDGT0CST0SEPSAPS2PS1PS0中斷控制寄存器INTCON0BH/8BH/10BH/18BHGIEPEIET0IEINTERBIET0IFINTFRBIFA口方向寄存器
TRISA85H__TRISA5TRISA4TRISA3TRISA2TRISA1TRISA0第11頁,共26頁,2023年,2月20日,星期一選項寄存器OPTION_REGbit7bit6bit5bit4bit3bit3bit1bit0RBPUINTEDGT0CST0SEPSAPS2PS1PS0表8.2選項寄存器OPTION_REG各位分布PS2~PS):分頻器分頻比選擇位。如表8.3所列。PSA:分頻器分配位
▲
1=分頻器分配給WDT
▲0=分頻器分配給TMR0第12頁,共26頁,2023年,2月20日,星期一PS2~PS0TMR0比率WDT比率0001:21:10011:41:20101:81:40111:161:81001:321:161011:641:321101:1281:641111:2561:128表8.3PS2~PS0對應(yīng)的分頻比第13頁,共26頁,2023年,2月20日,星期一T0SE:TMR0的時鐘源觸發(fā)邊沿選擇位。只有當(dāng)TMR0工作于計數(shù)器模式時,該位才發(fā)揮作用。
▲
1=外部時鐘T0CK1下降沿觸發(fā)TMR0遞增;
▲0=外部時鐘T0CK1上升沿觸發(fā)TMR0遞增。
T0CS:TMR0的時鐘源選擇位。▲
1=由T0CK1外部引腳輸入的脈沖信號作為計數(shù)器TMR0時鐘源;▲
0=由內(nèi)部提供的指令周期信號作為定時器TMR0時鐘源。2.中斷控制寄存器INTCON(見表8.4)bit7bit6bit5bit4bit3bit2bit1bit0GIEEEIET0IEINTERBIFT0IFINTFRBIF表8.4中斷控制寄存器INTCON各位分布第14頁,共26頁,2023年,2月20日,星期一
中斷控制寄存器也是一個可讀/寫的寄存器與TMR0有關(guān)的各位的含義如下:T0IF:TMR0溢出標(biāo)志位(也就是溢出中斷標(biāo)志)。
1=TMR0發(fā)生溢出;
0=TMR0未發(fā)生溢出。T0IE:TMR0溢出中斷使能位。
1=TMR0允許溢出后產(chǎn)生中斷;
0=TMR0屏蔽溢出后產(chǎn)生中斷。GIE:全局中斷使能位。
1=允許CPU相應(yīng)所有外圍設(shè)備模塊產(chǎn)生的中斷請求;
0=允許CPU相應(yīng)所有外圍設(shè)備模塊產(chǎn)生的中斷請求。第15頁,共26頁,2023年,2月20日,星期一3.端口RA方向控制寄存器TRISA(見表8.5)表8.5RA端口方向寄存器各位TRISA分布bit7bit6bit5bit4bit3bit2bit1bit0——TRISA5TRISA4TRISA3TRISA2TRISA1TRISA0TRISA4:與TMR0有關(guān)的只有一個位。由于TMR0模塊的外部輸入信號T0CK1與端口引腳RA4是復(fù)合在同一條引腳上的,當(dāng)TMR0工作于計數(shù)器模式時,要求該腳必須設(shè)定為輸入方式,作為T0CK1信號專用輸入引腳,即:
1=端口引腳RA4設(shè)定為輸入,以便從該腳T0CK1送進(jìn)信號第16頁,共26頁,2023年,2月20日,星期一定時器/計數(shù)器模塊的結(jié)構(gòu)方框圖如圖8.1所示。○十PSAPS2:PS0MUX(1)MUX(2)同步邏輯TMR0寄存器MUX(3)MUX(4)8位預(yù)分頻器8選1選擇開關(guān)看門狗定時器8數(shù)據(jù)總線設(shè)置T0IF標(biāo)志位WDT超時信號輸出T0SET0CSPSACLKOUT(fout/4)內(nèi)部信號指令周期RA4/T0CK1外部引腳11110000WDT使能位PSA圖8.1TMR0+分頻器+看門狗結(jié)構(gòu)圖第17頁,共26頁,2023年,2月20日,星期一
在剖析TMR0的電路是應(yīng)遵循“化繁為簡”的原則,不妨將整個電路功能簡化為3個相對獨(dú)立的主要組成部分:計數(shù)寄存器TMR0、分頻器和看門狗定時器WDT。參見如圖8.2所示的簡化方框圖。其中,看門狗定時器WDT在以后的章節(jié)中將作為專題介紹。預(yù)分頻器TMR0內(nèi)部信號外部信號WDT8超時溢出溢出中斷T0CS數(shù)據(jù)總線PSA100100110⑴⑵⑶⑷第18頁,共26頁,2023年,2月20日,星期一
只是因為看門狗在電路上與TMR0之間存在一定的關(guān)聯(lián),并且與TMR0共同分享同一個分頻器,于是兩者就有了同時出現(xiàn)在同一個章圖上的理由。圖8.3就是將看門狗定時器WDT剔除之后帶有可編程預(yù)分頻器的TMR0模塊的方框圖。預(yù)分頻器TMR0寄存器與內(nèi)部時鐘同步溢出置位T0IF數(shù)據(jù)總線1010RA4/T0CK1T0SE異或門fosc/4MUX⑴MUX⑵PSoutPSoutPSAPS2~PS0T0CS圖8.3帶有可編程分頻器TMR0的模塊方框圖
第19頁,共26頁,2023年,2月20日,星期一
在圖8.2的簡化方框圖中,3個組成部分之間借助于3支由同一個PSA信號控制的切換開關(guān)MUX⑵、MUX⑶和MUX⑷相互聯(lián)結(jié)在一起.MUX⑵、MUX⑶和MUX⑷3只切換開關(guān)還可以理解為一只帶有3組單刀雙擲轉(zhuǎn)換開關(guān)的繼電器的3組觸點(diǎn),如圖8.4所示.當(dāng)PSA控制斷送來邏輯0低電平信號時,3開關(guān)靠自身彈力倒向靜合觸點(diǎn)“0”一端;而當(dāng)PSA端送來邏輯1高電平信號時,繼電器得電吸合,3組開關(guān)靠磁力轉(zhuǎn)換到動合“1”一側(cè)。010011A1A2A3B1B2B3PSA圖8.4帶有3組單刀雙擲轉(zhuǎn)換開關(guān)的繼電器第20頁,共26頁,2023年,2月20日,星期一8.4.1分頻器
看門狗定時器WDT與TMR0共同分享同一個分頻器,但兩者不能同時使用。也就是說,在某一時刻分頻器只能分配給兩者當(dāng)中的WDT或著TMR0。與TMR0配合使用時,它是以一個“預(yù)”分頻器的驕色出現(xiàn)在TMR0的輸入信號路徑中的;而與WDT配合使用時,它是以一個“后”分頻器的角色出現(xiàn)在WDT的輸出信號路徑中的。分頻器實際上也是一個8位累加計數(shù)器,不過它不能像TMR0那樣通過內(nèi)部數(shù)據(jù)總線用程序進(jìn)行讀、寫操作,并且它只能配合TMR0或WDT起分頻作用。由于它主要用來與TMR0配合工作,因此在廠家提供的產(chǎn)品手冊中總是習(xí)慣的把它叫做“預(yù)分頻器”,其實把它叫做“分頻器”筆者認(rèn)為更確切,并且也不會產(chǎn)生任何舞會和影響。分頻器的電路結(jié)構(gòu)示意圖如圖8.5所示,可以把它看作有2片CMOS通用集成電路構(gòu)成,一片是12位二進(jìn)制計數(shù)器CD4040(在此僅使用低8位),一片是8選1模擬開關(guān)CDCD4051(或者是一片8選1數(shù)據(jù)選擇器74LS1151)。當(dāng)開關(guān)切換到Q1點(diǎn)時,時鐘信號CLOCK經(jīng)過1級二進(jìn)制分頻后送到OUT端,分頻為1:2;當(dāng)開關(guān)切換到Q2點(diǎn)時,時鐘信號CLOCK經(jīng)過2級二進(jìn)制分頻后送到OUT端,分頻為1:4;當(dāng)開關(guān)切換到Q3點(diǎn)時,時鐘信號CLOCK經(jīng)過3級二進(jìn)制分頻后送到OUT端,分頻為1:8;……;當(dāng)開關(guān)切換到Q8點(diǎn)時,時鐘信號CLOCK經(jīng)過8級二進(jìn)制分頻后送到OUT,分頻比為1:256。開關(guān)的切換位置取決于PS2~PS0的值,也就是由PS2~PS0設(shè)定分頻比。第21頁,共26頁,2023年,2月20日,星期一PS2PS1PS0OUTCLOCKQ7Q61Q4Q5Q3Q2Q1Q0圖8.5分頻器等效電路分頻器的功能就是將進(jìn)入TMR0的時鐘信號或從WDT送出的時鐘信號頻率除以一個指定的倍數(shù),這個倍數(shù)就是分頻筆,又OPTION_REG寄存器中的PS2~PS0決定。第22頁,共26頁,2023年,2月20日,星期一
幾經(jīng)將分頻器配置給WDT還是TMR0,這就要有控制信號PSA的邏輯電平來決定,當(dāng)PSA為低電平時,分頻器歸TMR0所有,進(jìn)入累加計數(shù)器TMR0的時鐘信號,都要經(jīng)過分頻器;而當(dāng)PSA為高電平時,分頻器與TMR0個例,進(jìn)入TMR0的時鐘信號,不能再經(jīng)過分頻器。應(yīng)注意,當(dāng)分頻器分配給TMR0時,任何以TMR0為目標(biāo)的寫操作指令(如CLRF1,MOVWF1)都會同時將分頻器清0。同理,當(dāng)分頻器分配給WDT時,一條清WDT的指令(CLRWDT)將會同時清0其分頻器。這里指的是分頻器清0,而分頻比和分頻對象并不會改變。第23頁,共26頁,2023年,2月20日,星期一8.4.2TMR0累加計數(shù)寄存器
顧名思義,定時器/計數(shù)器TMR0模塊既可以作為定時器使用,也可以作為計數(shù)器使用,或者說,TMR0具有定時器和計數(shù)器兩種工作模式。實際上,兩種模式之間的主要差異就是送入累加計數(shù)寄存器TMR0的觸發(fā)信號的來源不同而已,(這里所說的觸發(fā)信號指的是數(shù)字電路學(xué)科中的時鐘信號的概念,所以也可以叫做時鐘信號)。TMR0的工作模式由T0CS位,即選項寄存器OPTION_REG位5決定,如表8.6所列。T0CSTMR0工作模式觸發(fā)信號的來源0定時器計數(shù)器的觸發(fā)信號取自內(nèi)部指令周期
1數(shù)器計數(shù)器的觸發(fā)信號取自外部引腳T0CK1點(diǎn)平的上升沿/下降沿表8.6TMR0的工作模式第24頁,共26頁,2023年,2月20日,星期一1.定時器模式
當(dāng)T0CS(OPTION_REG<5>)=0時,TMR0模塊北設(shè)置為定時器模式,觸發(fā)信號源取自于芯片內(nèi)部的指令周期信號。也常被說成是,指令周期信號作為累加器的時鐘信號源。在定時器
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國面膜行業(yè)競爭格局及投資戰(zhàn)略研究報告
- 2025-2030年中國鏈鋸行業(yè)十三五規(guī)劃與發(fā)展趨勢預(yù)測報告
- 2025-2030年中國資產(chǎn)管理行業(yè)運(yùn)行動態(tài)與營銷策略研究報告
- 2025-2030年中國聚苯醚行業(yè)風(fēng)險評估規(guī)劃分析報告
- 南寧理工學(xué)院《美國文學(xué)選讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 邢臺醫(yī)學(xué)高等??茖W(xué)?!渡鷳B(tài)文明建設(shè)理論與實踐前沿》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西科技學(xué)院《公共管理與服務(wù)課程開發(fā)與教材分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 贛南師范大學(xué)科技學(xué)院《海報設(shè)計(數(shù)字方向)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025安徽省安全員知識題庫及答案
- 金波讀書樂課件
- 靜脈治療輸液工具的選擇2024課件
- KTV常見飛單方法
- 2024肥胖癥診療指南亮點(diǎn)內(nèi)容解讀課件
- 課程設(shè)計存在問題和建議
- 四川蜀道集團(tuán)筆試題
- 耐甲氧西林肺炎鏈球菌(MRSP)的流行病學(xué)和分子流行病學(xué)
- DBJ50-T-420-2022建設(shè)工程配建5G移動通信基礎(chǔ)設(shè)施技術(shù)標(biāo)準(zhǔn)
- 2023年全國職業(yè)院校技能大賽-健身指導(dǎo)賽項規(guī)程
- 年“春節(jié)”前后安全自查系列用表完整
- 青島版三年級下冊口算題大全(全冊)
評論
0/150
提交評論