DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 107|回复: 0
打印 上一主题 下一主题

HT48R05A-1的定时计数器

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-30 16:35:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[tr]


定时/计数器

HT48R05A-1提供一个定时/计数器。定时/计数器包含一个8位可编程的向上计数的计数器,时钟可以来自外部时钟或系统时钟。

如果采用内部系统时钟,那么只有一个参考时基信号,这个内部时钟来自fsys。

外部时钟输入,允许用户去计量外部事件,测量时间长度或脉冲宽度或产生一个精确的时基信号。

有两个寄存器与定时/计数器相关联即TMR(0DH)和TMRC(0EH)。有两个物理寄存器对应TMR的位置,写入TMR会将初始值装入定时/计数器的预置寄存器中,而读TMR则会获得定时/计数器的内容,TMRC是定时/计数器控制寄存器。

TM0和TM1位定义操作模式,事件计数模式用来记录外部事件,这时时钟来源于外部TMR引脚,定时器模式是作为一个普通的定时器功能,时钟源来自fINT时钟。脉冲宽度测量模式能用来计量外部引脚TMR上的高电平或低电平的宽度,计数是基于fINT时钟。



在事件计数或定时器模式中,一旦定时/计数器开始计数,它将会从当前定时/计数器中的数值开始计数到FFH,一旦产生溢出,计数器会从定时/计数器预置寄存器重新装载并且同时产生相应的中断请求状态位(TF:INTC的第5位)。

在脉冲宽度测量中,将TON和TE置为“1”,如果TMR接收到从低到高的电平跳变(或从高到低的变化,如果TE位被清除),就开始计数直到TMR返回到原来的电平并且复位TON位。测量的结果被保留在定时计数器中,甚至电平跳变再一次发生也不会改变,也就是,一次只能测量一个周期。直到TON再次被置位,只要再接收到跳变信号,那么测量过程会再次执行。要注意在这个操作模式中,定时/计数器的启动计数不是根据逻辑电平,而是信号的边沿跳变触发。一旦发生计数器溢出,计数器会从定时/计数器的预置寄存器重新装入,并激活中断。这种情况与其它两个模式一样,要使得计数运行,只要将定时器启动位(TON:TMRC的第4位)置“1”。在脉冲宽度测量模式中TON在测量周期结束后自动被清除。但在另外两个模式中,TON只能由指令来复位。定时/计数器的溢出是唤醒信号之一。不管是何种模式,若写“0”到ETI位即可禁止响应的中断服务。

在定时/计数器为OFF状态下,写数据到定时/计数器的预置寄存器中,同时也会将数据装入定时/计数器中。但若是定时/计数器已经开启,写到定时/计数器的数据被保留在定时/计数器的预置寄存器中,直到定时/计数器发生计数溢出为止,再由预置寄存器加载新的值。当定时/计数器的数据被读取时,会禁止时钟输入以防出错,因为禁止时钟输入可能导致计数错误,所以程序员必须加以考虑。

TMRC的0-2位被用于定义定时/计数器的内部时钟源的前置分频因子。定义如下表所示,定时/计数器的溢出信号被用于产生驱动蜂鸣器的PFD信号。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-22 20:14 , 耗时 0.136962 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表