S3C44B0的PWM組件及开发应用

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秒