430單片機(jī)之定時(shí)器A功能的大致介紹
總的來說,430單片機(jī)一共有三個(gè)定時(shí)器,定時(shí)器A,定時(shí)器B,還有就是看門狗定時(shí)器,這里我們主要是討論430單片機(jī)的定時(shí)器A的功能,定時(shí)器A的功能是我目前見過最厲害的定時(shí)器,視頻上說用好定時(shí)器A的話,對(duì)于今后真正的掌握430具有很重要的意義
同樣是先介紹一下定時(shí)器A的特點(diǎn):(英語(yǔ)六級(jí)科學(xué)類文章的常用寫法,總分總)
1:可作為異步的16位定時(shí)器,16位的計(jì)數(shù)器,其中計(jì)數(shù)器有四種工作方式
2:可以調(diào)節(jié)的外部時(shí)鐘源
3:3個(gè)捕獲比較源
4:擁有可以輸出PWM功能
5:異步的輸入與輸出鎖存
6:擁有多個(gè)中斷源
其實(shí),看datasheet現(xiàn)在真的掌握方法了,看完簡(jiǎn)介關(guān)鍵就是看懂下面這張圖,在編程的時(shí)候熟悉相關(guān)寄存器的操作就可以了
并且看圖也還有個(gè)先后的順序,因?yàn)闄C(jī)器是死的,運(yùn)作起來是要靠晶振的振動(dòng),所以看圖的時(shí)候,可以依據(jù)時(shí)鐘源這條主線來看
首先,目光聚集在標(biāo)號(hào)1,特點(diǎn)2講了,可以調(diào)節(jié)的外部時(shí)鐘源,有4種可以用的時(shí)鐘源,
之后標(biāo)號(hào)2是一個(gè)分頻器,可以進(jìn)行三種分頻,
在接下來標(biāo)號(hào)3是一個(gè)16位的工作區(qū),就是一個(gè)加一計(jì)數(shù)器吧,
在接下來標(biāo)號(hào)4就是一個(gè)計(jì)數(shù)器,計(jì)數(shù)器的話,有4種計(jì)數(shù)模式;
這里還是需要注意畫藍(lán)色的控制位,TACLR這個(gè)控制位是計(jì)數(shù)器還有定時(shí)器的復(fù)位控制位,如果這一位置位,則時(shí)鐘源,分頻比,還有計(jì)數(shù)器的方向都需要重新設(shè)定
Set TAIFG這個(gè)是計(jì)數(shù)器的中斷標(biāo)志位
接下來下面這一部分才是重頭戲,捕獲比較,標(biāo)號(hào)5是捕獲模式的比較來源,有四種捕獲模式選擇
標(biāo)號(hào)6是一個(gè)捕獲時(shí)鐘源的同步選擇,一般選擇的是與內(nèi)部時(shí)鐘先一致,以避免內(nèi)部資源的沖突
標(biāo)號(hào)7是一個(gè)捕獲寄存器,用來存放不同的時(shí)間戳,進(jìn)而計(jì)算出脈寬的長(zhǎng)度
標(biāo)號(hào)8是一個(gè)鎖存位
標(biāo)號(hào)9是用來選擇捕獲模式還是比較模式
標(biāo)號(hào)10是用來輸出各種控制波形,比如PWM波形等等
接下來按照英語(yǔ)六級(jí)科學(xué)類閱讀常用的方法,到了分的結(jié)構(gòu),430的定時(shí)器模式的介紹,其實(shí)定時(shí)器沒什么可說的,無非就是具有時(shí)鐘時(shí)鐘源,分頻比可以設(shè)置,以得到用戶需要的計(jì)時(shí)效果,需要注意的是,當(dāng)TACLR置位的時(shí)候,外部時(shí)鐘源,分頻比都會(huì)清除掉,再次使用的時(shí)候,用戶需要重新設(shè)置,所以這一位的操作需要謹(jǐn)慎
在接下來便是計(jì)數(shù)器模式的介紹,430提供三種計(jì)數(shù)模式,增計(jì)數(shù)模式,連續(xù)計(jì)數(shù)模式,增減計(jì)數(shù)模式
增計(jì)數(shù)模式的話,這里需要注意的是增計(jì)數(shù)模式與連續(xù)計(jì)數(shù)模式差不多,都是輸出鋸齒波形,但是他們的峰值是不同的,因?yàn)樵鲇?jì)數(shù)模式的話的峰值是用戶自己設(shè)置的,設(shè)置的值存放在TACCR0的寄存器上,但是連續(xù)計(jì)數(shù)模式的峰值是固定的,是一直計(jì)數(shù)知道16位全部溢出,所以峰值是0xffff
圖中所示,1表示增計(jì)數(shù)模式的話,2表示連續(xù)計(jì)數(shù)模式
值得注意的,值增計(jì)數(shù)模式的話的時(shí)候,如果突然間TACCR0上的值被改變,表示峰值被改變,假設(shè)由原來的峰值A(chǔ)變成峰值B
如果峰值B小于峰值A(chǔ),則計(jì)數(shù)器馬上變?yōu)?,重新開始技術(shù)
如果峰值B大于峰值A(chǔ),則計(jì)數(shù)器會(huì)超過A,一直加大B,在變?yōu)?,之后輸出峰值位B的鋸齒波
接下來便是增減計(jì)數(shù)模式,這個(gè)比較有意思,他可以得到一個(gè)三角波,見圖:
注意的是,該三角波的峰值也是可以調(diào)節(jié)的,還有三角波的技術(shù)具有記憶性,所以使用時(shí)需要注意,所謂的記憶性,就是在A出來一個(gè)暫停,他會(huì)暫停,并且恢復(fù)之后,計(jì)數(shù)的方向都不會(huì)改變
接下來就是選擇捕獲模式或者是比較模式,有CAP控制位來選擇
當(dāng)工作在捕獲模式下的時(shí)候,單片機(jī)會(huì)捕獲預(yù)先設(shè)定的脈沖,記錄脈沖出現(xiàn)的時(shí)間戳,之后兩個(gè)時(shí)間戳進(jìn)行相減,得到的便是脈沖的寬度,但是當(dāng)時(shí)間戳用戶沒有及時(shí)的取走的話,就會(huì)發(fā)生重復(fù)捕獲,這是上一次出現(xiàn)的時(shí)間戳就會(huì)被覆蓋
比較模式通常是CAP = 0,定時(shí)器工作在比較模式的情況下的時(shí)候,通常是用來輸出PWM波形
到這里,定時(shí)器A的大部分功能都弄明白了,但是還有最重要的一個(gè)模塊,那就是脈沖的輸出模塊,定時(shí)器A可以輸出大量可以供用戶選擇的波形,這個(gè)功能真的是超級(jí)無敵的強(qiáng)大,這個(gè)輸出模塊需要很具體的工程實(shí)踐能力,還需要很深的理論功底但需要的時(shí)候,但需要輸出的波形的時(shí)候,可以優(yōu)先考慮MSP430