51单片机定时器(T0/T1)的使用与配置流程
第一步:配置工作方式寄存器—TMOD
TMOD寄存器的字節(jié)地址為89H,不能位尋址。一般采用整體賦值的方式進(jìn)行配置;如:TMOD=0x01 // 0000 0001 GATE=0,定時(shí)器僅受TCON寄存器中TRx(x=0,1)來控制
GATE=1,定時(shí)器TCON寄存器中TRx(x=0,1)和外部中斷引(INT0或INT1)上的電平狀態(tài)來共同控制。
C/T=1,為計(jì)數(shù)器模式;
C/T=0,為定時(shí)器模式。
M1M0一工作方式選擇位;一共有4種工作方式,通常選擇 方式1 和 方式2;即M1M0 = 0 1 或M1M0 = 1 0
第二步:賦初值 —— THx、TLx
注意:
(1) 51單片機(jī)定時(shí)器常常方式1或者方式2
(2)方式1可以裝入的總數(shù)是65536
(3)方式2可以轉(zhuǎn)入的總數(shù)是256
賦值舉例(以方式1和方式2):
1、采用方式1
使用定時(shí)器0的方式1,定時(shí)1ms。因?yàn)?ms = 1000us。故,65536 - 1000=64536 。即為16進(jìn)制的0xfc18。
方法一:
方法二
TH0 = 0xfc TL0 = 0x182、采用方式2定時(shí)
使用定時(shí)器0的方式2,定時(shí)0.1ms。因?yàn)?.1ms = 100us。故,256 - 100 = 246 。即為16進(jìn)制的 0xf6 。
第三步:配置控制寄存器——TCON
控制寄存器(TCON)在特殊功能寄存器中,字節(jié)地址為88H,位地址(由低位到高位)分別是88H~8FH,該寄存器可進(jìn)行位尋址。可采用TRO=1,IT0=1的方式進(jìn)行配置啟動(dòng)
TF1一定時(shí)器1溢出標(biāo)志位。
當(dāng)定時(shí)器1計(jì)滿溢出時(shí),由硬件使TF1置1,并且申請(qǐng)中斷。進(jìn)入中斷服務(wù)程序后,由硬件自動(dòng)清0。需要注意的是,如果使用定時(shí)器的中斷,那么該位完全不用人為去操作,但是如果使用軟件查詢方式的話,當(dāng)查詢到該位置1后,就需要用軟件清0。
TR1-定時(shí)器1運(yùn)行控制位。
由軟件清0關(guān)閉定時(shí)器1。當(dāng)GATE=1,且INT1為高電平時(shí),TR1置1啟動(dòng)定時(shí)器1;當(dāng)GATE=0時(shí),TR1置1啟動(dòng)定時(shí)器1。
TFO-定時(shí)器0溢出標(biāo)志,其功能及操作方法同TF1。
TRO-定時(shí)器0運(yùn)行控制位,其功能及操作方法同TR1.
IE1-外部中斷1請(qǐng)求標(biāo)志。
當(dāng)IT1=0時(shí),為電平觸發(fā)方式,每個(gè)機(jī)器周期的S5P2采樣lNT1引腳,若INT1腳為低電平,則置1,否則IE1清0。
當(dāng)IT1=1時(shí),INT1為跳變沿觸發(fā)方式,當(dāng)?shù)谝粋€(gè)機(jī)器周期采樣到INT1為低電平時(shí),則IE1置1。IE1=1,表示外部中斷1正在向CPU申請(qǐng)中斷。當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí),該位由硬件清0。
IT1-外部中斷1觸發(fā)方式選擇位。
IT1=0,為電平觸發(fā)方式,引腳INT1.上低電平有效。
IT1=1,為跳變沿觸發(fā)方式,引腳INT1.上的電平從高到低的負(fù)跳變有效。
IE0一外部中斷0請(qǐng)求標(biāo)志,其功能及操作方法同IE1。
IT0–外部中斷0觸發(fā)方式選擇位,其功能及操作方法同IT1。
第四步:開總中斷——EA = 1;
定時(shí)器0方式1的邏輯框圖
程序示例
(1)使用定時(shí)器0、方式1
定時(shí) 1ms(500HZ),使LED閃爍
1ms = 1000us ;65536 - 1000 = 64536。 64536的十六進(jìn)制為 0xfc18
(1)使用定時(shí)器0、方式2
定時(shí) 0.1ms(5000HZ),使LED閃爍
0.1ms = 100us ; 256 - 100 = 156; 十六進(jìn)制為0x9c
【參考文檔】
《51單片機(jī)C語言教程(郭天祥)》
總結(jié)
以上是生活随笔為你收集整理的51单片机定时器(T0/T1)的使用与配置流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python攻防-截取屏幕并自动发送指定
- 下一篇: 树莓派4B 2g运行内存,gpu值改为1