Скачать проект в VS2010

Скачать проект в MPLABX

#include <p18cxxx.h>
#include <delays.h>
#include <usart.h>
#include <timers.h>
#pragma config FOSC=HS1 //Кварц заменить на 20МГц
#pragma config SOSCSEL=DIG
#pragma config PLLCFG=ON
#pragma config FCMEN=OFF
#pragma config IESO=OFF
#pragma config PWRTEN=OFF
#pragma config BOREN=OFF
#pragma config BORV=3
#pragma config WDTEN=OFF
#pragma config WDTPS=32768
#pragma config MCLRE=OFF
#pragma config STVREN=ON
#pragma config XINST=OFF
#pragma config CP0=OFF
#pragma config CP1=OFF
#pragma config CPB=OFF
#pragma config CPD=OFF
#pragma config WRT0=OFF
#pragma config WRT1=OFF
#pragma config WRTC=OFF
#pragma config WRTB=OFF
#pragma config WRTD=OFF
#pragma config EBTR0=OFF
#pragma config EBTR1=OFF
//*********************************************************
#pragma udata
char inByte=0;
char flag=0;
#pragma code
void MyHighInt(void);
#pragma interrupt MyHighInt
#pragma code high_vector=0x08
void high_vector(void){
    _asm GOTO MyHighInt _endasm
}
//*********************************************************
#pragma code
void Init_OSC_USART(void);
void SetInterrupt(void);
void main(void)
{
    ADCON1=0x0f;
    TRISB=0;
    PORTB=0b01010000;
    Init_OSC_USART();
    SetInterrupt();
    while(1)
    {
    }
}
void MyHighInt(void)
{
    if(PIR1bits.RC1IF)
    {
        inByte=RCREG1;
        while(!TXSTA1bits.TRMT);
        putc1USART(inByte);
        if(inByte==0x0a)
        {
            if(!flag)
                LATBbits.LATB6^=1;
            else
                LATBbits.LATB4^=1;
            flag^=1;
        }
    }
}
void SetInterrupt(void)
{
    RCONbits.IPEN=0;
    INTCONbits.GIE=1;
    PIE1bits.RC1IE=1;
    INTCONbits.PEIE=1;
}
void Init_OSC_USART(void)
{
    Open1USART( USART_TX_INT_OFF&USART_RX_INT_ON&USART_ASYNCH_MODE
        &USART_EIGHT_BIT &USART_CONT_RX &USART_BRGH_HIGH,129);//9600
}