网站导航: 首页 > 设计参考 > 正文 文章搜索
s3c2410 Timer工作原理[图]
 
文章编号:
081209211843
文章分类: 单片机 ARM
点 击:
...
关 键 词: s3c2410,Timer,时钟
文章来源:
网络,作者:蔡于清
摘 要:
s3c2410提供了5个16位的Timer(Timer0~Timer4),其中Timer0~Timer3支持Pulse Width Modulation—— PWM(脉宽调制 )。Timer4是一个内部定时器(internal timer),他没有输出引脚(output pins)...

由于我们的PCLK是50700000Hz, 根据Timer input clock Frequency的计算公式我们如下计算Timer0的时钟输入频率:
 

 
  1. prescaler value = 119   
  2. divider value = 1/16   
  3. PCLK= 50700000   
  4. Timer input clock Frequency =50700000/ (119+1)/(1/16)=26406  


    也就是说通过设置prescaler和divider value之后,Timer0的工作频率为26406,也就是说一秒内Timer0会进行26406次递减和比较操作,假设我们现在是要让Timer0每1秒产生一次中断的话,我们应该设置Counter=26406和Camparer=0,既:
 

 
  1. rTCNTB0=26406;   
  2. rTCMPB0=0;  


如果我们要让Timer0每0.5秒产生一次中断,则我们应该设置Counter=26406/2和Camparer=0,既:
 

 
  1. rTCNTB0=13203;   
  2. rTCMPB0=0;  


如果我们要让Timer0每0.25秒产生一次中断,则我们应该设置Counter=26406/4和Camparer=0,既:
 

 
  1. rTCNTB0=6601;   
  2. rTCMPB0=0;  


初始化完Timer后我们要开启它。
 

 
  1. void timer0_start()   
  2. {   
  3.     /*  
  4.     Update TCNTB0 & TCMPB0  
  5.     rTCON寄存器的第1位是刷新Timer0的COUNT BUFFER REGISTER(TCNTB)和  
  6.     COMPARE BUFFER REGISTER(TCMPB),由于是第一次加载Counter和Comparer,  
  7.     所以我们需要手动刷新它们  
  8.     */  
  9.     rTCON|=1<<1;   
  10.     /*  
  11.     置rTCON第0位为1,开启Timer0  
  12.     把rTCON第1位置为0,停止刷新TCNTB0 和 TCMPB0  
  13.     置rTCON第3位为1,设置Counter的加载模式为自动加载(auto reload),这样每当  
  14.     Timer计数超出之后(此时TCNTB的值等于TCMPB的值),Timer会自动把原来我们给  
  15.     定的Counter重新加载到TCNTB中  
  16.     */  
  17.     rTCON=0x09;           
  18. }  


  要使你的Timer能够正常的工作,除了调用timer0_config()和timer0_start()之外,我们还必须设置Timer的中断服务例程并取消对Timer的中断的屏蔽.这些操作可以参考<<s3c2410 中断异常处理>>一文.
 

 
相关文章:
虚拟SPI时序在TC77与S3C2410通信中的应用[图]
s3c2410 MMU(存储器管理单元)讲解[图]
s3c2410 CACHES,WRITE BUFFER讲解[图]
S3C2410中的脉宽调制定时器(PWM)
S3C2410 中断程序的实现
s3c2410 watchdog详解
s3c2410 中断异常处理[图]
基于ARM9芯片S3C2410a的GPRS数据终端设计
ARM系统中DMA方式在数据采集中的应用[图]
AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现[图]
基于s3c2410的ARMer9开发平台的使用
ARM S3C2410硬件手册重点
基于ARM S3C2410与TMS320C6416的接口设计[图]
S3C2410上Jffs2的移植
ARM S3C2410驱动TFT-LCD的研究[图]
MINIGUI在S3C2410开发板的移植
mplayer在S3C2410上的移植
在S3C2410上移植yaffs2文件系统
S3C2410 bootloader(vivi)阅读笔记
s3c2410 LCD图片显示
S3C2410 LCD 驱动程序移植及GUI程序编写[图]
S3C2410X开发总结及心得
U-Boot在S3C2410开发板上的移植
S3C2410初始化
S3C2410通过IIS总线与音频芯片UDA1380进行通信
在S3C2410上移植bluetooth(蓝牙)
S3c2410软件调试总结
S3C2410上触摸屏的应用实例
S3c2410的触摸屏及模数转换
S3C2410的快速启动技术
基于嵌入式linux和s3c2410平台的视频采集
S3c2410 LCD驱动学习心得
s3c2410移植MPlayer到linux2.6

上一页 12
 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4