void InitConfig() { __CONFIG_EXTERN(0, cfghdr0); // нулевой конфиг и первый его элемент cfghdr0 LoadConfigData("0:\\Misc\\elf3\\test.bcfg", __CONFIG(0, cfghdr0)); __CONFIG_EXTERN(1, cfghdr2); LoadConfigData("0:\\Misc\\elf3\\test2.bcfg", __CONFIG(1, cfghdr2)); }
void main() { __CONFIG(FOSC_INTRC_NOCLKOUT & // Interrnal Osc, RA6 og RA7 = I/O WDTE_OFF & // Disable Watchdog Timer. PWRTE_ON & // Enable Power Up Timer. MCLRE_ON & CP_OFF & BOREN_ON & IESO_ON & FCMEN_ON & LVP_OFF & DEBUG_OFF); __CONFIG(BOR4V_BOR40V); // ===== uppsetning á PIC ===== OSCCON = 0x75; ANSEL = 0x00; ANSELH = 0x00; CM1CON0 = CM1CON0 && 0x7F; // Disable comparators CM2CON0 = CM2CON0 && 0x7F; // Disable comparators INTCON = 0x00; PORTA = 0x00; PORTB = 0x00; PORTC = 0x00; PORTD = 0x00; PORTE = 0x00; TRISA = 0xFF; // PORTA eru allt inngangar TRISB = 0xC0; // PORTB er u útgangar fyrir LCD skjá og inngangar fyrir segulskynjara, kubba teljara TRISC = 0x00; // PORTC er allt útgangar fyrir mótora TRISD = 0x0F; // PORTD er hálf inngangar og hálft útgangar fyrir takkaborð TRISE = 0x01; // PORTE er með 1 inngang og 2 útganga RE3 er reset og annað er ótengt lcd_init(); // uppsetning fyrir LCD skjá // ===== forritið byrjar ===== while(1){ // Endalust while byrjar lcd_out(1,1, "1 - Handstyring"); lcd_out(2,1, "2 - Sjalfstyring"); int mode = lyklabord(1); if(mode == 1){ handstyring(); } if(mode == 2){ sjalfstyring(); } } // Endalyst while endar } // main endar
void initPIC() { __CONFIG(0x3FF9); T0IE=1; T0IF=0; GIE = 1; OPTION = 0x04; //ADCON0=0b00000000; //ADCON1=0b00000111; //A/D conversion off //TRISC|=0b00010000; //SDI is automatically controlled by the SPI module,in any case i set it as an input (TRISC_4 set). //TRISC&=0b11011001; //SDO must have TRISC_5 cleared (output) //TRISC&=0b11110001; //SCK in master mode must have TRISC_3 cleared (output) TRISC=0b00010000; //CCP1=Output(TRISC<2>), SD0=output(TRISC<5>), SCK=output(TRISC<3>), SDI=input(TRISC<4>) TRISA=0b11011111; //SS must have TRISA_5 cleared (output) TRISD=0x7f; SSPCON=0b00110010; //WCOL=0,SSPOV=0,enable SSP,idle state=1 (CKP=1),master mode, clock=FOSC/64. [CKP=1,CKE=0==>MODE(1,1)] SSPSTAT=0b10000000; //SMP=0, data transmitted on rising edge of SCK (CKE=0) SPI_SS=1; SPI_SS=0; TRISB=0x00; PORTD = 0; }
void initPC() { __CONFIG(0x3FF5); OPTION=0x0E; TRISB=0X00; TRISA=0X03; PORTB=0; }
void initPIC(){ __CONFIG(0x3FF9); OPTION=0x04; GIE=1; T0IE=1; TRISA=0X00; TRISB=0X1F; PORTB=0X00; }
void initPIC() { __CONFIG(0x3FF9); TRISB = 0x00; TRISC = 0x00; TRISD = 0x00; PORTC = 0; PORTD = 0; GIE = 1; //T0IE = 1; //T0IF = 1; OPTION = 0x04; }
void main(void){ __CONFIG(0xD4); TRISC=0; TRISA=0; while(1){ PORTC=1; for(i=0;i<=10000;i++); PORTC=2; for(i=0;i<=10000;i++); PORTC=4; for(i=0;i<=10000;i++); PORTC=8; for(i=0;i<=10000;i++); for(i=0;i<=200;i++){ PORTA=1; for(j=0;j<=150;j++); PORTA=2; for(j=0;j<=150;j++); } } }
main() { __CONFIG(0x3FF5); OPTION=0x4D; TRISB=0x01; INTE=1; GIE=1; flag=0; PORTB=0x00; int a=0; while(1){ if(flag){ flag=0; a++; if((a%2)==0){ right(6); } else { left(6); } flag=0; } } }