📄 tou.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 + -