當前位置:才華齋>IT認證>嵌入式>

S3C44B0的PWM元件及開發應用

嵌入式 閱讀(1.53W)

S3C44B0的PWM元件及開發應用

常用PWM暫存器

1、定時器配置暫存器TCFG0決定輸入給定時器的'時鐘頻率的預分頻係數

2、定時器配置暫存器TCFG1決定輸入給定時器的時鐘頻率的除數值

3、定時器控制暫存器TCON決定定時器是否自動重灌、是否開始定時停止定時,是否輸出反轉,是否允許死區控制等。

4、 定時器計數暫存器TCNTB0~TCNTB5和比較暫存器TCMPB0~TCMPB5

  S3C44B0的PWM開發應用

用PWM的TOUT1和TOUT2分別控制兩個指示燈LED1和LED2,要求TOUT1=1時LED1亮,TOUT2=1時LED2亮,程式設計讓LED1以0.5秒閃亮(即0.5秒亮,0.5秒滅,迴圈),LED2以2秒閃亮。T1/T2定時器指定預分頻係數199,除法器值16,MCLK=60MHz。

解答:LED1閃亮0.5秒:T1設定0.5S定時且反轉;LED2閃亮:T2設定2S定時且反轉配置暫存器TCFG0=0xC7C7 (T1和T2為199=0xC7預分頻)

配置暫存器TCFG1=0x330 (T1和 T2除法器值為16)

定時器輸入時鐘頻率=MCLK/(預分頻值+1)/(除法器值)=60000000/(199+1)/16=18750Hz

定時0.5秒,T1計數緩衝暫存器TCNTB1的值=0.5×18750=9375

定時2秒,T2計數緩衝暫存器TCNTB2的值=2×18750=37500

LDR R0,rTCFG0

MOV R1,#0xC7C7 或LDR R1,=0xC7C7

STR R1,[R0] ;寫TCFG0,分頻係數為199=0xC7

LDR R0,=rTCFG1

LDR R1,=0x330

STR R1,[R0] ;寫TCFG1,除法器值16

LDR R0,=rTCNTB1

LDR R1,=9375

STR R1,[R0] ;寫TCNTB1

LDR R0,=rTCNTB2

LDR R1,=37500

STR R1,[R0] ;寫TCNTB2

LDR R0,=rTCON ;

ORR R1,R0, #0xDD00 ;T1和T2自動重灌/反轉、啟動定時器

STR R1,[R0] ;寫TCON

S3C44B0的WDT元件及開發應用

常用WDT暫存器

1、WDT控制暫存器WTCON決定是否允許復位、是否允許中斷以及決定預分頻係數和時鐘因子

2、WDT資料暫存器WTDAT和計數暫存器WTCNT

3、WDT定時輸入時間:

T_WDT=1/(MCLK/預分頻係數+1)/分頻係數

4、WDT復位時間:

T_RST=WTCNT×T_WDT

S3C44B0的WDT開發應用

如果MCLK=40 MHz,採用預分頻值為99,分頻係數為64,要使WDT的定時時間為10秒,允許復位,禁止中斷,寫出WDT初始化程式片段。

解答:t_watchdog = 1/( MCLK / (預分頻值+1) /分頻係數 )

= 1/(40000000/100/64)

= 160us

溢位時間t = WTCNT*t_watchdog=10S

= WTCNT*160us=10000000us

WTCNT=62500

LDR R0,rWTCON

LDR R1,=0xF939

STR R1,[R0];寫WDT控制暫存器使禁止中斷,允許復位,預分頻係數99,分頻係數64

LDR R0,rWTCNT

LDR R1,=62500

STR R1,[R0] ;寫WDT計數暫存器使計數值為62500,定時10秒