⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tou.c

📁 HID汽车大灯安定器,应用现在的安定器上,有多种保护功能
💻 C
字号:
//---------------------------------------------------------------------
//
// Revision History
//
// July/5/2005 -- first version 
//---------------------------------------------------------------------- 

//#include   "I:\ADINQI\p30f2020ps.h"       

#include   "E:\HIDdsp30pic\p30f2020.h" 
  #include   "E:\HIDdsp30pic\DataEEPROM.h" 
 //p30f2020PS.h"       
//#include "dsp.h"
//--------------------------Device Configuration------------------------       
/* Configuration Bit Settings */
//_FOSCSEL(FRC_PLL)
//_FOSC(CSW_FSCM_OFF & FRC_HI_RANGE & OSC2_CLKO)
//_FPOR(PWRT_128)
//_FGS(CODE_PROT_OFF)
//_FBS(BSS_NO_FLASH)
//_FOSC(CSW_FSCM_OFF & XT_PLL16);
//_FWDT(WDT_OFF);
//_FBORPOR(PBOR_ON & BORV_20 & PWRT_64 & MCLR_EN);
//----------------------------------------------------------------------
unsigned short ldd2  ;
unsigned short dlsdd2;
unsigned short erlp2;
unsigned short lswerp2;
unsigned short lsdrsp2;
unsigned short ldd2  ;
unsigned short ldsdd2;
unsigned short lerp2;
unsigned short lswerp2;
unsigned short lsdrsp2;
unsigned short ldd2  ;
unsigned short ldsdd2;
unsigned short lerp2;
unsigned short lswerp2;
unsigned short lsdrsp2;

unsigned short dd2  ;
unsigned short dsdd2;
unsigned short erp2;
unsigned short swerp2;
unsigned short sdrsp2;

unsigned short temp2;
unsigned char temp3;
unsigned char temp4;
unsigned char temp5;
unsigned char temp6; 
unsigned short  mulp; 
unsigned char  divp;
   
//===================================================================

//void  PWMSET(void);
int main(void);

//中断处理.
//===================================================================
//
void __attribute__ ((__interrupt__)) _INT0Interrupt(void)
{//INT0 — 外部中断0  

IFS0bits.INT0IF = 0;  
}
void __attribute__ ((__interrupt__)) _IC1Interrupt(void)
{//IC1 — 输入捕捉1

IFS0bits.IC1IF = 0;  
}
void __attribute__ ((__interrupt__))   _OC1Interrupt(void)
{//OC1 — 输出比较1

IFS0bits.OC1IF = 0;  
}
void __attribute__ ((__interrupt__))   _T1Interrupt(void)
{//TMR1 — 定时器1

     if  (temp2==0)  temp2=255;
        else       temp2=0; 
      PORTB=temp2;    //255;  

IFS0bits.T1IF = 0;  	/* reset Timer 1 interrupt flag */

}
void __attribute__ ((__interrupt__))   _IC2Interrupt(void)
{//IC2 — 输入捕捉2


}
void __attribute__ ((__interrupt__))   _OC2Interrupt(void)
{//OC2 — 输出比较2
IFS0bits.OC2IF = 0; 
}
void __attribute__ ((__interrupt__))   _T2Interrupt(void)
{//TMR2 — 定时器2
IFS0bits.T2IF = 0; 
}

void __attribute__ ((__interrupt__))   _T3Interrupt(void)
{//TMR3 — 定时器3
IFS0bits.T3IF = 0; 
} 
void __attribute__ ((__interrupt__))   _SPI1Interrupt(void)
{//SPI1 — 串行外设接口1
IFS0bits.SPI1IF = 0; 
} 
void __attribute__ ((__interrupt__))   _U1RXInterrupt(void)
{//UART1RX — UART1 接收
IFS0bits.U1RXIF = 0; 
} 
void __attribute__ ((__interrupt__))   _U1TXInterrupt(void)
{//UART1TX — UART1 发送
IFS0bits.U1TXIF = 0; 
}
void __attribute__ ((__interrupt__))   _ADCInterrupt(void)
{//ADC — ADC 转换完
    IFS0bits.ADIF 		= 0;		/* Clear ADC Interrupt Flag */
	//IFS0bits.T1IF		= 0;		/* Clear Timer Interrupt Flag */	
}
void __attribute__ ((__interrupt__))   _NVMInterrupt(void)
{//NVM — NVM 写完
 IFS0bits.NVMIF 		= 0;
}
void __attribute__ ((__interrupt__))   _SI2CInterrupt(void)
{//从I2C 中断
   //IFS0bits.SI2IF 		= 0;
}
//void __attribute__ ((__interrupt__))   _MI2CInterrupt(void)
//{//主 I2C 中断
// IFS0bits.MI2CIF 		= 0;
//}
void __attribute__ ((__interrupt__))   _CNInterrupt(void)
{//CN — 输入变化中断

}
void __attribute__ ((__interrupt__))   _INT1Interrupt(void)
{//INT1 — 外部中断1
 IFS1bits.INT1IF 		= 0;
}
//void __attribute__ ((__interrupt__))   _IC7Interrupt(void)
//{//IC7 — 输入捕捉7
//}
//void __attribute__ ((__interrupt__))   _IC8Interrupt(void)
//{//IC8 — 输入捕捉8
//}
//void __attribute__ ((__interrupt__))   _OC3Interrupt(void)
//{//OC3 — 输出比较3
//}
//void __attribute__ ((__interrupt__))    _OC4Interrupt(void)
//{//OC4 — 输出比较4
//} 
//void __attribute__ ((__interrupt__))    _T4Interrupt(void)
//{//TMR4 — 定时器4
//} 
//void __attribute__ ((__interrupt__))   _T5Interrupt(void)
//{//TMR5 — 定时器5
//} 
void __attribute__ ((__interrupt__))   _INT2Interrupt(void)
{//INT2 — 外部中断2
IFS1bits.INT2IF 		= 0;
}
//void __attribute__ ((__interrupt__))   _U2RXInterrupt(void)
//{//UART2RX — UART2 接收
//}
//void __attribute__ ((__interrupt__))   _U2TXInterrupt(void)
//{//UART2TX — UART2 发送器
//} 
//void __attribute__ ((__interrupt__))   _SPI2Interrupt(void)
//{//SPI2 — 串行外设接口2
//}  
void __attribute__ ((__interrupt__))   _C1Interrupt(void)
{//CAN1 — 组合IRQ

} 
//void __attribute__ ((__interrupt__))   _IC3Interrupt(void)
//{//IC3 — 输入捕捉3
//} 
//void __attribute__ ((__interrupt__))   _IC4Interrupt(void)
//{//IC4 — 输入捕捉4
//}
//void __attribute__ ((__interrupt__))   _IC5Interrupt(void)
//{//IC5 — 输入捕捉5
//} 
//void __attribute__ ((__interrupt__))   _IC6Interrupt(void)
//{//IC6 — 输入捕捉6
//}
//void __attribute__ ((__interrupt__))   _OC5Interrupt(void)
//{//OC5 — 输出比较5
//}
//void __attribute__ ((__interrupt__))   _OC6Interrupt(void)
//{//OC6 — 输出比较6
//}
//void __attribute__ ((__interrupt__))   _OC7Interrupt(void)
//{//OC7 — 输出比较7
//}
//void __attribute__ ((__interrupt__))   _OC8Interrupt(void)
//{//OC8 — 输出比较8
//}
//void __attribute__ ((__interrupt__))   _INT3Interrupt(void)
//{//INT3 — 外部中断3
//}
//void __attribute__ ((__interrupt__))   _INT4Interrupt(void)
//{//INT4 — 外部中断4
//}
void __attribute__ ((__interrupt__))   _C2Interrupt(void)
{//CAN2 — 组合IRQ
}
//void __attribute__ ((__interrupt__))   _PWMInterrupt(void)
//{//PWM — PWM 周期匹配
//}
//void __attribute__ ((__interrupt__))   _QEIInterrupt(void)
//{//QEI — 位置计数器比较
//}
void __attribute__ ((__interrupt__))   _DCIInterrupt(void)
{//DCI — CODEC 传输完

} 
//void __attribute__ ((__interrupt__))   _LVDInterrupt(void)
//{//PLVD — 低电压检测
//} 
void __attribute__ ((__interrupt__))   _FLTAInterrupt(void)
{//FLTA — MPWM 故障A

} 
void __attribute__ ((__interrupt__))   _FLTBInterrupt(void)
{//FLTB — MPWM 故障B

 
};
 

//=============================================================

void   CLEARAM (void)
{
 //nop();

 };  


void timer1_set (void)
{
   TMR1=0;
   PR1=0XFF;
   T1CONbits.TON=1;
   T1CONbits.TSIDL=0;
   T1CONbits.TGATE=1;
   T1CONbits.TCKPS1=0;
   T1CONbits.TCKPS0=0;
   T1CONbits.TCS=0;
  
};

void INT_SET (void)
{
//--------------------
//中断嵌套.
  INTCON1=0;
  INTCON2=0;   
//--------------------
//中断优先权处理.
  IPC8bits.CMP4IP=0;
  IPC7bits.CMP1IP=0;
  IPC7bits.CMP2IP=0;
  IPC7bits.CMP3IP=0;
  IPC4bits.PWM1IP=0;
  IPC5bits.PWM2IP=0;
  IPC5bits.PWM3IP=0;
  IPC5bits.PWM4IP=0;
  IPC4bits.INT1IP=0;
  IPC4bits.INT2IP=0;
  IPC4bits.PSEMIP=0;
  IPC4bits.PWM1IP=0;
  IPC3bits.NVMIP=0;
  IPC3bits.SI2CIP=0;
  IPC3bits.MI2CIP=0;
  IPC2bits.SPI1IP=0;
  IPC2bits.U1RXIP=0;
  IPC2bits.U1TXIP=0;
  IPC2bits.ADIP=0;
  IPC1bits.T3IP=0;
  IPC1bits.T2IP=0;
  IPC0bits.T1IP=1;    //T1优先.
  IPC0bits.OC1IP=0;
  IPC0bits.IC1IP=0;
  IPC0bits.INT0IP=0;
//--------------------
//中断位开放.
  IEC0bits.INT0IE=1;

   


};


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -