Board logo

标题: 【求助】请哪位大侠改一下这个关于脉冲计数的程序, [打印本页]

作者: sunsetman    时间: 2007-4-28 13:01     标题: 【求助】请哪位大侠改一下这个关于脉冲计数的程序,

我写了一个脉冲计数的例程,但是不对啊 ,有没有哪位有这方面的小程序啊
我自己写的程序,能不能指点下啊哪位大侠:

void main(void) {

//PACTL = 0x41;
TSCR1_TEN = 1;
ICPAR = 0x0f;


DDRB=0xff;
DDRT = 0x00;//T口输入
PORTB = 0x0f;
i=0;

EnableInterrupts;


for(;;) {

if(i==2) {
i=0;
PORTB = ~(PORTB);

}

}
}



interrupt void Pulse_OverFlow(void)
{
PBFLG_PBOVF = 1 ;//清标志
i++;

}


作者: strongchen    时间: 2007-4-28 14:16

怎么不对,具体现象是什么?
作者: sunsetman    时间: 2007-4-28 16:39

我是用信号发生器输入方波,本来想的现象应该是当脉冲累加器溢出3次之后,B口的灯的状态改变一次,也就是B口的灯应该是一直闪烁。但是实际上我这个是没有反应的
作者: strongchen    时间: 2007-4-29 11:06

设置定时器及脉冲累加器有很多寄存器要设置的,你可以参看下面的程序。但具体参数要你自己来定:

void ECT_Init(void){
ICPAR &= ~1;
PACN0 = 0;
TSCR1 &= ~0x70;
DLYCT = 0;
ICSYS &= 0xF7;
ICOVW &= ~1;
TCTL4 = (TCTL4 & (~2))| 1;
TIOS &= ~1;
CRGINT &= ~0x12;
RDRIV &= ~93;
TIE &= ~1; /* Disable interrupt by edge detector */
ICPAR = 1; /* Enable pulse accumulator */
}

[此贴子已经被strongchen于2007-4-29 11:06:15编辑过]






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0