金牌会员
- 积分
- 1212
- 威望
- 685
- 贡献
- 247
- 兑换币
- 86
- 注册时间
- 2012-2-2
- 在线时间
- 140 小时
- 毕业学校
- 三江
|
void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1
{ CLKSEL=0x00;
PLLCTL_PLLON=1; //锁相环时钟=2*16*(5+1)/(1+1)=48MHz
REFDV=1; //总线时钟=48/2=24MHz
SYNR=0xC5;
POSTDIV=0x00;
_asm NOP;
_asm NOP;
_asm NOP;
while((CRGFLG&0x08)==0);
CLKSEL_PLLSEL=1; //选定锁相环时钟 */
}
void PIT0_Init(void) //定时中断初始化函数 0.1MS定时中断设置
{
PACTL=0x50;
PITCFLMT_PITE=0; //定时中断通道0关
PITCE_PCE0=1; //定时器通道0使能
PITMTLD0=120-1; //8位定时器初值设定。120分频,在24MHzBusClock下,为0.2MHz。即 5us.
PITLD0=20-1; //16位定时器初值设定。PITTIME*0.005MS=0.1ms
PITINTE_PINTE0=1; //定时器中断通道0中断使能
PITCFLMT_PITE=1; //定时器通道0使能
}
void PA_Init(void)
{
PACTL=0x50;//PT7 PIN,PACN32 16BIT,FALLing edge,NOT INTERRUPT
PACNT = 0x00; //累加器置初值
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0_INTER() //2十毫秒计数一次
{
PIT0Count++;
if(PIT0Count==200)
{
PIT0Count=0;
//PACTL_PAEN=0;
nowspeed=PACNT; //编码器输出脉冲个数
PACNT=0;
PITTF_PTF0=1;//清中断标志位
}
我用的是PT7口测速的 测编码器的波形是好的 但是PACNT检测不到值 为什么总是0啊 求高手
|
|