Board logo

标题: 请问大家,我用向下计数器定时,为什么预分频器设置不起作用??? [打印本页]

作者: ixuexi    时间: 2006-3-19 11:18     标题: 请问大家,我用向下计数器定时,为什么预分频器设置不起作用???

下面是我的程序:


void Clock_Config(void){   //时钟初始化
  REFDV =0x01;             //24M bus clock
  SYNR  =0x02;             //48M system clock
  while(!CRGFLG_LOCK);
  CLKSEL=0x80;
}


void Delay(void){//延时1秒
  byte  i;
  MCCTL_MCPR=3;//16分频,这条语句不起作用,有和没有结果都一样
  for(i=0;i<=30;i++) { //循环   
  MCCNT     =50000;    //赋初值
  MCCTL_MCEN=1;        //使能
  while(!MCFLG_MCZF);  //等待
  MCCTL_MCEN=0;        //禁止
  MCFLG_MCZF=1;        //清标志位
  }
}


作者: ixuexi    时间: 2006-3-20 10:15

请大家帮忙啊,小弟很急啊
作者: strongchen    时间: 2006-3-20 10:25

请在程序运行时断下来看看,MCPR是否确实为3。
作者: ixuexi    时间: 2006-3-20 11:00

MCCTL=3没错的。[upload=image/bmp]uploadImages/125695956628.bmp[/upload]
作者: ixuexi    时间: 2006-3-21 09:41

问题还没有搞定,MCCTL=3,单补执行在内存66h(MCCTL)处确实显示3,可分频器就是不起作用啊,图和程序在上面,请多指教啊
作者: strongchen    时间: 2006-3-21 11:55

是否与你的寄存器映射(INITRM)的设置有关?




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