<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 飛凌ok6410定時(shí)器精確控制led

飛凌ok6410定時(shí)器精確控制led

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò ) 收藏
關(guān)于借鑒與版權的說(shuō)明:飛凌提供的代碼有一定問(wèn)題,并且部分關(guān)鍵代碼沒(méi)有解釋?zhuān)以谒鸭鞣矫尜Y料后綜合網(wǎng)友指正和自己的理解,注釋了部分自己認為重要的部分。當然如果大神覺(jué)得可不注釋?zhuān)部梢?。此篇文章援引多家大神的微博,如需看大神原作,請百度搜索標題,此處個(gè)人見(jiàn)解不恰當的請各位指正。

本文引用地址:http://dyxdggzs.com/article/201612/324168.htm

6410中的PWM 定時(shí)器

1.簡(jiǎn)單介紹 :

S3C6410X中有5個(gè)定時(shí)器,這些定時(shí)器產(chǎn)生內部中斷。其中,Timer0和Timer1具有PWM功能,而Timer2,3,4沒(méi)有此功能。

PWM具有兩種操作模式:自動(dòng)裝載模式,一次觸發(fā)模式。為實(shí)現PWM功能,芯片提供了16個(gè)功能寄存器。這些功能寄存器都連接APB總線(xiàn)。

定時(shí)器具有雙緩沖特性,這樣就能在不停止當前定時(shí)器操作的情況下,為下次定時(shí)器運行裝入新的數值。盡管為定時(shí)器設置了新數值,但當前的定時(shí)操作能夠成功完成。定時(shí)器從TCNTBn讀取的值是為下次延時(shí)定時(shí)用的,并不影響當前定時(shí)器的運行。當TCNTn減小到0的時(shí)候,TCNTBn的值會(huì )自動(dòng)復制到TCNTn中,這就是說(shuō)的自動(dòng)裝載操作。定時(shí)器的當前計數值可以從定時(shí)計數觀(guān)察寄存器中TCNTOn讀取。如果TCNTn為0且從裝載也為0的話(huà)則TCNTn不在進(jìn)行下次操作。

2.定時(shí)器的電路結夠圖: 


3.定時(shí)器架構流程。

PCLK ---à 經(jīng)過(guò)8位的預分頻器【8bit prescaler0】 --à 分頻器divider [1/1 1/2 1/4 1/81/16] -à 多路選擇器 MUX -à 邏輯控制器【比較TCMPBn和TCNTBn的數值】--à(deadzone generator ) --à時(shí)鐘

計算公式:


4.定時(shí)器的工作原理是什么?!?/p>


每個(gè)定時(shí)器有32位的遞減計數器。遞減計數器的初始值由TCNTBn來(lái)加載。 當計數器的值變?yōu)?時(shí), 定時(shí)器產(chǎn)生中斷信號通知cpu定時(shí)器操作完成。 當計數器的值變?yōu)?時(shí),TCNTBn的值自動(dòng)加載到遞減計數器并開(kāi)始下個(gè)周期的操作。 如果定時(shí)器停止工作(比如,在定時(shí)器工作模式期間清空寄存器TCONn的定時(shí)器使能位,這樣對應的定時(shí)器就會(huì )停止工作),這時(shí)TCNTBn的值就不會(huì )加載到定時(shí)器。



而對于PWM 功能,要用到寄存器TCMPBn,當遞減計數器down-counter的值和比較寄存器TCMPBn的值相同時(shí),定時(shí)控制邏輯模塊就會(huì )改變輸出電平。因此比較寄存器TCMPBn決定了PWM的輸出。

而且TCNTBn 和 TCMPBn寄存器具有雙緩沖特性,這樣就能在不停止當前定時(shí)器操作的情況下,為下次定時(shí)器運行裝入新的數值。盡管為定時(shí)器設置了新數值,但當前的定時(shí)操作能夠成功完成。

5. 定時(shí)器的工作時(shí)序


我說(shuō)怎么在上面的第一步中突然冒出個(gè)TCNTn和TCMPn,我以為是數據手冊錯了,因為在PWM提供的16個(gè)寄存器中沒(méi)有這兩個(gè)寄存器。 那么請看下面: 

從上面內容看出。TCNTn和TCMPn是內部的寄存器(internal registers ).而TCNTn寄存器的值可以通過(guò)讀取寄存器TCNTOn來(lái)獲得。

6. 16個(gè)特殊功能寄存器

7.接下來(lái)看一下飛凌提供的精確控制LED的程序?!纠枚〞r(shí)器來(lái)精確控制LED跑馬燈,每隔1s輪詢(xún)點(diǎn)亮】

#define rGPMCON (*(volatile unsigned*)(0x7F008820))

#define rGPMDAT (*(volatileunsigned*)(0x7F008824))

#define rGPMPUD (*(volatile unsigned*)(0x7F008828))


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>