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