#include <p33fJ32MC204.h>
#include "p33fxxxx.h"
#define __33FJ32MC204_H
#define Fcy 40000000
#include <delay.h>
_FOSCSEL(FNOSC_FRCPLL);
void delay_ms(long ms)
{
__delay32(ms*(Delay_1mS_Cnt));//mirar en delay.h
}
void inicializarPWM()
{
P1TCON = 0;
P1TMR = 0;
P1TPER = 999; //(FCY/FPWM -1 ) ; // Compute Period based on CPU speed
P1SECMP = 0;
PWM1CON1 = 0x0E11; // Enable PWM output pins and configure them as complementary mode
PWM1CON2 = 0x0000;
P1DTCON1 = 0x0000;
P1DTCON2 = 0x0000;
P1FLTACON = 0x0000;//PxFLTACON: Fault A Control Register
P1DC1 = 1000; //bit 15-0 PxDC1<15:0>: PWM Duty Cycle 1 Value bits
//LA BUENA
P1OVDCON=0Xff00;
P1TCONbits.PTEN = 1;
TRISBbits.TRISB8 = 0;
}
int main(void)
{
/* Configure Oscillator to operate the device at 40Mhz */
// Fosc= Fin*M/(N1*N2), Fcy=Fosc/2
// Fosc= 7.37M*43(2*2)=80Mhz for 7.37M input clock
PLLFBD=41; // M=43
CLKDIVbits.PLLPOST=0; // N1=2
CLKDIVbits.PLLPRE=0; // N2=2
inicializarPWM();
while(1)
{
PORTB=~PORTB;
}
return 0;
}
dsPIC33F产生PWM
最新推荐文章于 2023-07-19 23:02:05 发布