Beispiel #1
0
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
Beispiel #3
0
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;
}
Beispiel #4
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;


}
Beispiel #6
0
void initPIC()
{
	__CONFIG(0x3FF9);
	TRISB = 0x00;
	TRISC = 0x00;
	TRISD = 0x00;
	PORTC = 0;
	PORTD = 0;
	GIE = 1;
	//T0IE = 1;
	//T0IF = 1;
	OPTION = 0x04;
}
Beispiel #7
0
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++);
		}
	}
}
Beispiel #8
0
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;
			}
		}
}