pic16f877微控制器TMR1的使用筆記

2022-08-19 08:39:11 字數 1693 閱讀 2443

一、結構

1、tmr1可以作為通用的定時器和計數器,也可以利用內建的低頻時基振盪器實現實時時鐘rtc功能;通過tmr1與ccp模組的配合使用,tmr1還可以實現輸入捕捉和輸出比較功能。

tmr1是乙個16位的可讀可寫的計數暫存器,由高低兩位元組組成(tmr1h和tmr1l)16位暫存器從0000h到ffffh加1計數,然後回到0000h。在從ffffh到0000h的過程中,置位中斷標誌位tmr1。

tmr1帶有乙個3位的可程式設計預分頻器和乙個低功耗低頻時基振盪器。

二、特點

1、由16位的時鐘訊號上公升沿觸發的累加計數暫存器對 tmr1h,tmr1l;

2、tmr1h和tmr1l是在ram中統一編址的暫存器對,位址為0eh和0fh,可用軟體的方式讀/寫tmr1暫存器對的內容;

3、乙個可選用的3位可程式設計的預分頻器;

4、累加計數的訊號源可以選擇內部系統時鐘、外部觸發訊號或自帶時基振盪器訊號;

5、既可工作於定時器模式,又可以工作於計數器模式,還可以用作實時時鐘rtc;

6、在計數溢位時,相應的溢位中斷標誌自動置位,並可產生溢位中斷。

三、相關暫存器

1、中斷控制暫存器 intcon

2、第一外設中斷標誌暫存器 pir1

3、第一外設中斷使能暫存器 pie1

4、計數暫存器 tmr1h和tmr1l

5、控制暫存器 t1con

四、工作方式

tmr1兩種工作方式:定時器方式和計數器方式,其中計數器方式又分為同步計數器方式和非同步計數器方式。

tmr1的時鐘訊號或者觸發訊號共有3種獲取方式:

1、有內部系統時鐘4分頻後獲取,即取自指令週期

2、從rc0/t1oso/t1cki和rc1/t1osi/ccp2引腳獲取

3、振盪器產生

五、使用定時器tmr1注意事項

1、當對暫存器tmr1h和tmr1l進行初始化時,預分頻器將會自動清零

2、在暫存器對tmr1h和tmr1l進行寫操作時,可以使預分頻器清零。當tmr1處於執行狀態時,對於暫存器tmr1h和tmr

1l值進行的寫操作,可能會寫入不希望的值

3、tmr1工作於非同步計數器方式時,不能作為ccp模組的輸入捕捉或輸出比較的時間基準。

4、在上電復位(por)或者其他復位時,tmr1h和tmr1l的內容保持原有數值,不會復位到0000h

5、在上電復位或掉電復位時,控制暫存器t1con的內容將回到00h,並關閉tmr1,且預分頻器的分頻比設定為預設值

1:1。在所有的其他復位時,均不會影響t1con暫存器的值。

6、如果在復位時需要將tmr1h和tmr1l的內容回到00h,可以用程式實現,即先將tmr1關閉,然後分別將暫存器tmr1h和tmr1l清零

六、使用方式

1

void

main()223

}24}25

}2627void interrupt timer1() //

中斷函式不需要呼叫

28

使用預分頻器

1

void

main()223

}24}25

}2627void interrupt timer1() //

中斷函式不需要呼叫

28

PIC16F877A微控制器的EEPROM讀寫

編寫乙個例程來說明比較好理解,本例程的功能是將乙個0x66的字元放在0x15的eeprom中,然後在讀取,如果讀取成功就點亮led燈 include 呼叫標頭檔案,16f877a微控制器 config 0xff32 晶元配置字,看門狗關,上電延時開,掉電檢測關,低壓程式設計關,加密,4m晶體hs振盪...

PIC16F877矩陣鍵盤的識別

關於矩陣鍵盤的識別方法在51矩陣鍵盤識別中已經說過,現在要說的是pic微控制器與51微控制器的區別,主要是pic微控制器的口子的輸入輸出需要trisn暫存器設定,具體如下 掃瞄法 include define uchar unsigned char define uint unsigned int ...

PIC微控制器之定時器(TMR1)

之前我們講解了tmr0定時器,現在我們來講解16位定時器tmr1,tmr1和tmr0最大的差別就是tmr1是16位定時器。所以tmr1兩個八位暫存器 tmrh 和trmrl組成.許多有關定時器的基礎知識我就不在贅述了可以看tmr0的文章。我單刀直入講例項了。例項講解 如果我們想隔0.5s輸出個高電平...