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

【求助】请哪位大侠改一下这个关于脉冲计数的程序,

【求助】请哪位大侠改一下这个关于脉冲计数的程序,

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

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++;

}

程小科
怎么不对,具体现象是什么?
海纳百川  有容乃大
我是用信号发生器输入方波,本来想的现象应该是当脉冲累加器溢出3次之后,B口的灯的状态改变一次,也就是B口的灯应该是一直闪烁。但是实际上我这个是没有反应的
程小科
设置定时器及脉冲累加器有很多寄存器要设置的,你可以参看下面的程序。但具体参数要你自己来定:

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编辑过]

海纳百川  有容乃大
返回列表