當前位置:才華齋>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秒