跨届大侠
- 积分
- 6812
- 威望
- 1268
- 贡献
- 4600
- 兑换币
- 65
- 注册时间
- 2011-10-22
- 在线时间
- 472 小时
|
一个很简单的程序,不知道为什么不起作用
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
//----------------------时钟初始化------------------------------//
void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{ //锁相环时钟=2*16*(2+1)/(1+1)=48MHz
REFDV=1; //总线时钟=48/2=24MHz
SYNR=2;
while(!(CRGFLG&0x08));
CLKSEL=0x80;
}
void IC_Init(void)
{
TSCR1=0x80; //使能定时器
TSCR2=0x86; //禁止溢出中断,分频系数64(24/64MHz)
TIOS=0; //通道0为输入捕捉
TCTL4=0x01; //捕捉上升下降沿
TIE_C0I=1; //通道0输入捕捉中断允许
} //----------------------主函数-------------------------//
void main(void)
{
PLL_Init();
IC_Init();
EnableInterrupts;
DDRB=0XFF;
PORTB=0X00;
for(;;)
{ _FEED_COP();
} /* wait forever */
}
//
//----------------------------------------------------------------//
#pragma CODE_SEG NON_BANKED //定时器通道0输入捕捉中断
void interrupt 8 Timer0_Input(void)
{
TFLG1_C0F=1; //清中断标志位
PORTB=0X00;
for(i=50000;i>0;i--);
// Input_Num++;
// if(Input_Num>=50)
// {
// Input_Num=0;
// PORTB=~PORTB;
// }
}
PORTB接小灯,为什么小灯不亮啊。求大神解释 |
|