本帖最后由 szshawn2010 于 2010-4-23 22:40 编辑
13# yiwusuoyou
其实很多东西,理论上都是很简单的,但是当实际动手做时,就会有这样或那样的问题。
既然兄弟你做过这类的东东。那我就把我的情况再详细说一说,恳请你不吝赐教:
1.我的MCU只有一个定时器。这个定时器要为开启工作电路时刻准备着。溢出数值为256,因为需要,就赋了初值205。即每50个周期,会有一次定时中断。
2.同时,又开启了外部中断;
3.当需要对电容充电计时,每发生一次定时中断,则对寄存器R1加上数值50,此时R1有进位标志发生,则对R2加上数值1。
理论上,充电时间= R2{R1+(TIMO-TIMO初)}
备注:草稿程序中,将TIMO这部分给省略掉了。即“R2R1”组成一个16位的
二进制寄存器。
4.实验结果是,电阻越大,计量的时间误差就越大。而且每次数据差距都很大。
备注:在检测充电是否完全时,已经做了一次延时处理,大约为6个机器周期,约6us。
----------------
实践表明,若定时器仅为电容充电工作的话,测量效果还是很好的。但是却无法开启样板的主功能了。
在定时中断子程序中,外部中断子程序中,指令时间大约为30-60个机器周期。
|