网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式系统原理及应用第9章 ARM9定时器计数器程序设计.ppt

嵌入式系统原理及应用第9章 ARM9定时器计数器程序设计.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 9.4.1 RTC概述(续2) RTC的时间片计时器用于产生一个中断请求,TICNT寄存器有一个中断使能位,和计数器中的值一起用来控制中断。当计数器的值变为0时,引起时间片计时中断。中断信号的周期计算如下: 周期s=(n+1)/128 其中n是时间片计数器中的值,范围在0-127之间。RTC的时间片计时器可以用来产生实时操作系统内核所需的时间片。 进位复位功能可以由RTC的进位复位寄存器(RTCRST)来控制。秒的进位周期可以进行选择(30、40、50),在进位复位发生后,秒的数值又循回到0。例如当前时间是23:37:47,进位周期选为40秒,则当前时间将变为23:38:00。 * 9.4.2 实时时钟RTC控制寄存器 RTC的内部有许多用于控制操作的寄存器。通过程序对这些寄存器进行设置,用户就可控制RTC部件的工作。以下介绍这些寄存器的功能及位定义。 * 1. RTC控制寄存器(RTCCON) RTC控制寄存器(RTCCON)是可读/写的,地址为0初值是0x0。 该寄存器仅使用4位,RTCEN控制BCD码寄存器的读写使能,同时控制微处理器和RTC间的所有接口的使能。 因此,在系统复位后需要对RTC进行操作时,RTCEN=1。而在其它时间,RTCEN应清0,以防数据无意地写入到RTC的寄存器中。 * RTC控制寄存器RTCCON的位定义 位 描述 初值 [3] RTC时钟计数器复位使能(RTCRST):0=不复位;1=复位 0 [2] BCD码选择位(CNTSEL):0=合并BCD码;1=保留 0 [1] BCD码时钟选择位(CLKSEL):0=2-16 XTAL;1=保留 0 [0] RTC使能位(RTCEN):0=不使能;1=使能 0 * 9.3.2 TIMER部件操作(续) 每个定时器读时都是16位的减法计数器,是通过定时器自己的时钟驱动的。当计数器减到0时,可产生定时器中断请求信号,通知CPU定时器的操作已经完成了。此时TCNTBn的值将自动装载到递减计数器,开始下一轮的操作。但是,若定时器停止工作,则TCNTBn的值将不会重新装载到计数器中。 TCMPBn的值用于脉宽调制。当计数器的值与比较寄存器的值相同时,定时器的逻辑将改变输出电平。因此TCMPBn确定脉宽调制信号输出的上升时间(或下降时间)。 每个定时器(TIMER4除外)均含有TCNTBn,TCNTn,TCMPBn和TCMPn四种计数缓冲寄存器,其中TCNTn和TCMPn是内部寄存器(编程不可见),内部寄存器TCNTn的值可以通过计数观察寄存器读取。 * 1. 自动重载和双缓冲器 S3C2410A处理器的定时器具有双缓冲功能,即在不停止当前定时器运行的情况下,重载下次定时器运行周期(或频率)的参数、PWM波形的占空比。主要是指向TCNTBn,TCMPBn寄存器赋值。装载新值之后,在按原参数运行完前周期后,在下一个新的周期,按新的设置参数运行。 当内部寄存器TCNTn的值减到0时将自动装载TCNTBn的值到TCNTn中,并可重新开始进行减法计数,前提条件是自动重载允许。如果TCNTn=0,但自动重载禁止,则定时器停止运行。 * 双缓冲功能编程图例 当内部寄存器TCNTn的值减到0时将自动装载TCNTBn的值到TCNTn中,并可重新开始进行减法计数,前提条件是自动装载功能允许。如果TCNTn=0,但自动装载禁止,则定时器停止运行。 2. 复杂的定时器设置示例 定时器初始化时,使用手动装载位和反转位。因为定时器的自动操作发生在减法计数器为0和TCNTBn没有预先赋值时。在这种情况下必须使用手动装载功能给TCNTBn赋初值。开启一个定时器的操作如下: ①向TCNTBn和TCMPBn中写入初值; ②定时器控制寄存器TCON(Timer Control Register)相关的手动装载位置1,不管是否需要反转位功能,都将反转位的开关打开; ③设置定时器控制寄存器TCON的相关启动位,同时清除其手动装载位; ④如果定时器被强行关闭,TCNTn就保持原有的计数值,且不从TCNTBn重新自动装载计数值。如果必须重新设置新值,则必须使用手动装载。 定时器的操作示例如下,以图9-5进行叙述。 * ①允许自动装载功能,给TCNTBn和TCMPBn赋值,这里控制TOUTn周期的TCNTBn=250,控制高电平持续时间的TCMPBn=150;使能手动装载功能,TCNTBn和TCMPBn的值将被复制到TCNTn和TCMPn寄存器中;最后设置在TCNTBn和TCMPBn的值分别为300和100,作为下一个周期定时器的工作参数。 ②设置相应定时器的启动位为1,清除手动装载控制

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档