首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]有关MC9S12DG128定时器模块的问题(内附程序)

请问有遇到这种情况的吗?希望能给予答复,谢谢

[求助]有关MC9S12DG128定时器模块的问题(内附程序)

使用MC9S12DG128过程中,在定时器模块遇到以下问题:例如使用ECT0引脚进行精确定时,当设置好分频因子后,按说当给TC0赋0x0000-0xffff之间的不同值时,其最终定时时间应该不同的,但是结果却是一样的,不知为什么?希望给予帮助,谢谢

程序如下:

#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

void main(void) {
//asm sei;

TSCR1=0x80;
TSCR2=0x87;   
TIE=0x01;    
TIOS=0x01;    
TCTL2=0x00;   
TFLG1=0x01; 
TC0=0xffff;

DDRB=0xff;
PORTB=0x00;

EnableInterrupts;

for(;;) {}
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED

interrupt void ECT0_ISR(){

TFLG1=0x01;
PORTB=0x77;
//asm cli;

}
#pragma CODE_SEG DEFAULT

[此贴子已经被作者于2007-8-8 22:15:56编辑过]

你是用输出比较功能吗?要了解输出比较功能的具体含义:当计数器的值与通道寄存器的值相同是产生中断。所以产生中断的频率就是计数器的频率,不论通道寄存器的值是多少。
海纳百川  有容乃大
1 我用的是输出比较功能。这样的话,只要分频数一定,定时时间就会确定的,对吧?
2 那么我要进行精确定时的话,用其它的方法寄存器还要如何配置?
返回列表