Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <p18f2550.h>
- #include <timers.h>
- /** CONFIGURATION **************************************************/
- #pragma config PLLDIV = 1 // (20 MHz crystal on PICDEM FS USB board)
- #pragma config CPUDIV = OSC1_PLL2
- #pragma config USBDIV = 1 // 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 = OFF
- #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 = OFF // 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
- int a;
- /*############### V E C T O R R E M A P P I N G #####################*/
- #pragma code
- //These are your actual interrupt handling routines.
- #pragma interrupt HighPriorityISRCode
- void HighPriorityISRCode()
- {
- // check here for High Priority interrupts (PIR1bits, INTCON, etc)
- if(a==0)
- {
- a = 1 ;
- PORTB = 0xff;
- }
- else
- {
- a = 0;
- PORTB = 0x00;
- }
- WriteTimer0(61629);
- PORTA = a;
- }
- #pragma interruptlow LowPriorityISRCode
- void LowPriorityISRCode()
- {
- }
- #pragma code HIGH_INTERRUPT_VECTOR = 0x08
- void Remapped_High_ISR (void)
- {
- _asm goto HighPriorityISRCode _endasm
- }
- #pragma code LOW_INTERRUPT_VECTOR = 0x18
- void Remapped_Low_ISR (void)
- {
- _asm goto LowPriorityISRCode _endasm
- }
- /*#D E C L A R A T I O N S ###################################*/
- #pragma code
- void main(void)
- {
- ADCON1=0x0F;//Todos entrada/salida digitales.
- TRISA=0x00; //Todos como salida.
- TRISB=0X00;
- //Todos como salida.
- PORTB=0x00; //Leds apagados.
- a=0;
- INTCONbits.PEIE=1; // Habilitamos interrupcion de perifericos.
- INTCONbits.GIE=1; // Habilitamos interrupcion Global.
- // Timer0, PS: 1:256, 16 bit, INTSRC, INT ON
- OpenTimer0(TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_PS_1_256);
- WriteTimer0(61629);
- while(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement