unsigned int PWMMD = 0x03FF; //PWMMD[9:0]=Period (PWM Max Data Register 0~1023)
unsigned int PWMD0 = 0x0200; //PWMD0[9:0]=Duty (PWM Channel 0 Data Register 0~1023)
unsigned int PWMD1 = 0x00; //PWMD1[9:0]=Duty (PWM Channel 1 Data Register 0~1023)
unsigned int PWMD2 = 0x00; //PWMD2[9:0]=Duty (PWM Channel 2 Data Register 0~1023)
unsigned int PWMD3 = 0x00; //PWMD3[9:0]=Duty (PWM Channel 3 Data Register 0~1023)
void PWM_initialize(void) //Initialize PWM
{
EA = 0; //Disable All Interrupt Function
AUX = AUX | (d_P2PWM); //Set PWM channel on P2/P4
IEPWM = (d_PWMIE); //Enable PWM Interrupt Function
PWMMDH = PWMMD >> 8;
PWMMDL = PWMMD;
EA = 1; //Enable All Interrupt
}