#include // config: production / set config bits // CONFIG3 memória védelem #pragma config WPFP = WPFP511 #pragma config WPDIS = WPDIS #pragma config WPCFG = WPCFGDIS #pragma config WPEND = WPENDMEM // CONFIG2 #pragma config POSCMOD = HS // Primary Oscillator Select (HS oscillator mode selected) #pragma config DISUVREG = ON // Internal USB 3.3V Regulator Disable bit (Regulator is enabled) #pragma config IOL1WAY = ON #pragma config OSCIOFNC = OFF #pragma config FCKSM = CSDCMD #pragma config FNOSC = PRIPLL // Oscillator Select (Primary oscillator +pll ) #pragma config PLL_96MHZ = ON #pragma config PLLDIV = DIV3 // USB 96 MHz PLL Prescaler Select bits (Oscillator input divided by 3 (4MHz input)) #pragma config IESO = OFF // Internal External Switch Over Mode (IESO mode (Two-speed start-up)disabled) // CONFIG1 #pragma config WDTPS = PS32768 #pragma config FWPSA = PR128 #pragma config WINDIS = OFF #pragma config FWDTEN = OFF // Watchdog Timer Enable (Watchdog Timer is disabled) #pragma config ICS = PGx2 // Comm Channel Select (Emulator functions are shared with PGEC2/PGED2) #pragma config GWRP = OFF #pragma config GCP = OFF #pragma config JTAGEN = OFF // JTAG Port Enable (JTAG port is disabled) #define BYTE unsigned char #define BOOL unsigned char #define FALSE 0 #define TRUE 1 // delay. meg kell adni a cpu clock-ot #define SYS_FREQ 32000000L #define FCY SYS_FREQ/2 #include // ledek, gombok #define LED1 LATGbits.LATG6 #define LED2 LATGbits.LATG7 #define LED3 LATGbits.LATG8 #define LED4 LATGbits.LATG9 #define LEDR LATDbits.LATD15 #define LEDG LATFbits.LATF4 #define LEDB LATFbits.LATF5 #define SW1 !PORTCbits.RC1 #define SW2 !PORTCbits.RC3 #define SW3 !PORTEbits.RE8 #define SW4 !PORTEbits.RE9 BYTE i,on; // memóriában, mint byte int main(void) { // PLL start, osccon CLKDIVbits.CPDIV=0; // 32 mhz while (!OSCCONbits.LOCK) Nop(); // megvártuk az indulást // led tris. gombnál default az input TRISGbits.TRISG6=0; // 0: output TRISGbits.TRISG7=0; TRISGbits.TRISG8=0; TRISGbits.TRISG9=0; TRISDbits.TRISD15=0; TRISFbits.TRISF4=0; TRISFbits.TRISF5=0; i=0; // LEDR=1; while (1) { LED1^=1; // xor __delay_ms(200); Nop(); } // feladat: LED1..LED4 futófény, SW2 iránya. switch! return 0; }