飞思卡尔芯片k66单片机溢出_PWM 初试溢出中断
/*****************头文件****************************************/
#include /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
/*********************变量和函数定义****************************/
void PWMInit(void);
void delay(long );
/*********************主函数************************************/
void main(){
ICGC1 = 0x78;
ICGC2 = 0x31; //总线20MHz
// ICGTRM=0xa8;
SOPT_COPE=0;
PTEDD_PTEDD7=1;
PWMInit();//PWM初始化
EnableInterrupts; /* enable interrupts */
for(;;)
{
long i;
for(i=1000;i>1;i--)
{
TPM1C0V=i;
delay(10);
}
}
}
/************************PWM初始化设置**************************/
void PWMInit(void)
{
TPM1SC =0x4F; //BUS RATE=20MHZ,128DIV-156K
TPM1C0SC=0x28;
TPM1SC_TOIE=1;
TPM1MOD=39062;
TPM1C0V=0xffff;
}
/************************延时函数********************************/
void delay(long i) {
while(i--) ;
}
interrupt VectorNumber_Vtpm1ovf void abc(void)
{
PTED_PTED7=~PTED_PTED7;
TPM1SC_TOF=0;
}