[国产单片机] STC12系列的PCA中的CH、CL是怎么变化的?

[复制链接]
4211|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 初始值。
集成 发表于 2022-3-31 17:22 | 显示全部楼层
根据原理在中断程序里重新写CL CH 值 就可以,但是经过实验重新写CL CH 值时间会变快,如果对CCAPnH, CCAPnL CL CH赋过初值不再理会,也可以定时,真是奇怪了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

65

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部