分享

S3C2440之定时器0寄存器的配置 电子系统设计(ED China)专家博客-查看评论

 汉江秋月夜 2012-10-31

S3C2440之定时器0寄存器的配置

推荐到任何论坛,可轻松赢取积分 推荐到论坛  |  收藏

定时器0寄存器的配置

 

                            TQ2440  CodeWarrior  SecureCRT  DNW

   把自己做的每一个实验例程都共享出来,一方面跟大家共同交流提高,一方面激励自己每天学习;

   用到的寄存器:

                            TCFG0:配置两个8位预分频器

                              TCFG1:5路多路选择器和DMA模式选择寄存器

                              TCNTB0:  定时器0计数缓冲寄存器

                              TCMPB0: 定时器0比较缓冲寄存器

                              TCON:     定时器控制寄存器

                              SRCPND: 源挂起寄存器

                              INTPND:  中断挂起寄存器

                              INTMSK: 中断屏蔽寄存器

2440有两个8位预分频器0,1共用一个2,3,4共用另外一个,每个定时器都有一个可以生成5种不同分频信号(1/2,1/4,1/8,1/16和 TCLK)的时钟分频器。8位预分频器是可编程的,并且按存储在TCFG0和TCFG1寄存器中的加载值来分频PCLK。

定时器输入时钟频率由TCFG0TCFG1决定

  定时器输入时钟频率 =  PCLK/(预分频值+1)/(分频值);

         预分频值 = 0255

         分频值 = 24816

TCNTB0包含了一个当使能定时计数器的初始值。TCMPB0包含了一个与TCNTB0相比较的初始值。当递减计数器到达0时,产生定时器中断请求通知CPU定时器操作已经完成。

TCON 定时器控制寄存器 定时器0的自动重载开启或关闭,TOUT0变换极性,手动更新TCNTB0与TCMPB0的值,启动/停止定时器。

SRCPND 与 INTPND 和  INTMSK在上个实验已经讲过,这里不在过多阐述。

定时器初始化:

//定时器输入时钟频率 = PCLK/(预分频值+1)/(分频值);

//预分频值 = 0~255;

//分频值 = 2,4,8,16;

         rTCFG0 = 49;

         rTCFG1 &= ~(0xf<<0);

         rTCFG1 |= (1<<0);               //4分频:

         rTCNTB0 =65536/2;

         rTCMPB0 = 0;  

         rTCON |= (1<<1);

         rTCON &= ~(0xff<<0);

         rTCON |= ((1<<3)|(1<<0)); //启动定时器,自动重载

         rSRCPND = BIT_TIMER0;

         rINTPND = BIT_TIMER0;

         rINTMSK &= ~(BIT_TIMER0);  //取消相应位的屏蔽  

         pISR_TIMER0 = (U32)Timer_Handle;

 

注意:在配置TCON寄存器的时候,一定要先手动更新TCNTB0与TCMPB0的值,然后将其清0,然后才开以开启定时器与自动重载功能。

 

中断服务程序:

static void __irq Timer_Handle(void)

{

         rSRCPND = BIT_TIMER0;

         rINTPND = BIT_TIMER0;

         Uart_Printf("OK");

}

 

只要留心耐得住烦躁,这些寄存器的配置都不会出错;只不过是人与人之间学习快慢的问题。

附件:
TIMER_LED.part01.rar 下载次数:   10
TIMER_LED.part02.rar 下载次数:   9

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多