打印
[国产单片机]

STC12系列的PCA中的CH、CL是怎么变化的?

[复制链接]
3420|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
宝挖小子|  楼主 | 2012-12-21 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 宝挖小子 于 2013-1-9 23:51 编辑

PCA工作在16位软件定时器模式时,[CH,CL] 每隔一定的时间自动加1。当 [CH,CL] 增�到等于[CCAPnH,  CCAPnL]时,CCFn=1 ,产生中断请求。
如果每次PCA模块中断后,在中断服务程序中断给[CCAPnH,CCAPnL]增加一个相同的数T,那么下次中断来临的间隔时间T 也是相同的,从而实现了定时功能。定时时间的长取决于时钟源的选择以及PCA 计数器计数器的设置。
   在中断时,也即[CH,CL]=[CCAPnH,CCAPnL]时,进入中断函数,此时CH、CL的值是被清零了?还是保持原值继续增加?

相关帖子

沙发
宝挖小子|  楼主 | 2013-1-8 00:04 | 只看该作者
没人回复么?

使用特权

评论回复
板凳
McuPlayer| | 2013-1-8 11:36 | 只看该作者
你首先应该说的是,你用的哪个型号的MCU ?

使用特权

评论回复
地板
ff8zgs| | 2013-2-5 15:21 | 只看该作者
用PCA 做定时器,原理是这样的 当计数器将cl和ch 两个寄存器的值累加到CCAPnH,CCAPnL相同时产生中断,但计数器继续累加,所以你需要在中断服务中重新写cl,ch 初始值。

使用特权

评论回复
5
集成| | 2022-3-31 17:22 | 只看该作者
根据原理在中断程序里重新写CL CH 值 就可以,但是经过实验重新写CL CH 值时间会变快,如果对CCAPnH, CCAPnL CL CH赋过初值不再理会,也可以定时,真是奇怪了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

63

帖子

0

粉丝