#include <p18cxxx.h>
#include <delays.h>
#pragma config PLLDIV = 5 // (20 MHz crystal on PICDEM FS USB board)
#pragma config CPUDIV = OSC1_PLL2
#pragma config USBDIV = 2 // Clock source from 96MHz PLL/2
#pragma config FOSC = HSPLL_HS
#pragma config FCMEN = OFF
#pragma config IESO = OFF
#pragma config PWRT = OFF
#pragma config BOR = ON
#pragma config BORV = 3
#pragma config VREGEN = ON //USB Voltage Regulator
#pragma config WDT = OFF
#pragma config WDTPS = 32768
#pragma config MCLRE = ON
#pragma config LPT1OSC = OFF
#pragma config PBADEN = OFF
#pragma config CCP2MX = ON
#pragma config STVREN = ON
#pragma config LVP = OFF
#pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming
#pragma config XINST = OFF // Extended Instruction Set
#pragma config CP0 = OFF
#pragma config CP1 = OFF
#pragma config CP2 = OFF
#pragma config CP3 = OFF
#pragma config CPB = OFF
#pragma config CPD = OFF
#pragma config WRT0 = OFF
#pragma config WRT1 = OFF
#pragma config WRT2 = OFF
#pragma config WRT3 = OFF
#pragma config WRTB = ON // Boot Block Write Protection
#pragma config WRTC = OFF
#pragma config WRTD = OFF
#pragma config EBTR0 = OFF
#pragma config EBTR1 = OFF
#pragma config EBTR2 = OFF
#pragma config EBTR3 = OFF
#pragma config EBTRB = OFF
#define M1 LATAbits.LATA1
#define M2 LATAbits.LATA2
#define SD1 PORTBbits.RB7
#define SD2 PORTBbits.RB6
#define SD3 PORTBbits.RB5
#define SZ1 PORTBbits.RB4
#define SZ2 PORTBbits.RB3
#define SZ3 PORTBbits.RB2
//#define minitAllSwitches() TRISBbites. TRISB4=1; TRSIBbites; TRISB5=1;
void Configurar_PWM (void);
void Configurar_PWM2 (void);
void main (void)
{
ADCON1 |=0x0F; //es para poner todos los pines a digital oxof para hexadesimal
PORTA=0x00; //puertos A salidas de los leds
TRISA=0B00000000; //numero binario para k las patas de A esten apagadas
TRISB=0xFF;
TRISC=0x00;
PORTC=0B00000000;
// minitAllSwitches();
Configurar_PWM();
Configurar_PWM2();
while (1)
{
M1=0;
M1 = PORTCbits.RC2;
if (SZ1==1 && SZ2==0 && SZ3==0 )
{
CCPR1L = 1;
}
if (SZ1==1 && SZ2==0 && SZ3==0)
{
CCPR1L = 100;
}
if (SZ1==0 && SZ2==0 && SZ3==1)
{
CCPR1L = 200;
}
M2=0;
M2 = PORTCbits.RC1;
if (SD1==1 && SD2==0 && SD3==0 )
{
CCPR1L = 1;
}
if (SD1==1 && SD2==0 && SD3==0)
{
CCPR1L = 100;
}
if (SD1==0 && SD2==0 && SD3==1)
{
CCPR1L = 200;
}
}
}
void Configurar_PWM(void)
{
TRISCbits.TRISC2 = 0;
PR2 = 0xFF;
CCP1CON= 0x0c;
CCPR1L = 0;
//CCPR1L= 0x80;
// CCPR1L = 200;
T2CON = 0x05;
T2CONbits.TMR2ON=1;
}
void Configurar_PWM2(void)
{
TRISCbits.TRISC1 = 0;
PR2 = 0xFF;
CCP1CON= 0x0c;
CCPR1L = 0;
T1CON = 0x05;
T1CONbits.TMR1ON=1;
}