Sunteți pe pagina 1din 3

#pragma config FOSC = HS // Oscillator Selection bits (Internal oscillator, XT used by USB

(INTXT))
#pragma config PWRT = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config BOR = OFF // Brown-out Reset Enable bits (Brown-out Reset enabled
in hardware only (SBOREN is disabled))
#pragma config WDT = OFF // Watchdog Timer Enable bit (WDT disabled (control is
placed on the SWDTEN bit))
#pragma config PBADEN = OFF // PORTB A/D Enable bit (PORTB<4:0> pins are
configured as digital I/O on Reset)
#pragma config MCLRE = OFF // MCLR Pin Enable bit (RE3 input pin enabled; MCLR pin
disabled)
#pragma config LVP = OFF // Single-Supply ICSP Enable bit (Single-Supply ICSP
disabled)

#include <xc.h>
#include <P18CXXX.h>
#define _XTAL_FREQ 20000000

int i=0;
int vari = 0;
int vari2 = 0;
int vari3 = 0;
int vari4 = 0;
int vari5 = 0;
int vari6 = 0;

const unsigned char


TAp[620]={1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1
,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0
,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
void main(void) {
// OSCCONbits.IRCF0 = 1;
// OSCCONbits.IRCF1 = 1;
// OSCCONbits.IRCF2 = 1;
ADCON1= 0xFF;
TRISB=0X00;
PORTB=0;

// BUCLE:
while(1){
vari = TAp[i];
vari2 = TAp[i+120];
vari3 = TAp[i+240];
vari4 = ~vari;
vari5 = ~vari2;
vari6 = ~vari3;

if(PORTBbits.RB1 ==1){
if(PORTBbits.RB0 == 0){
if(vari == 1){
PORTBbits.RB1 = vari4;
__delay_us(5);
PORTBbits.RB0 = vari;
__delay_us(5);
}
}
}
else{
__delay_us(5);
PORTBbits.RB0= vari;
__delay_us(5);
// __delay_us(5);
PORTBbits.RB1= vari4;
__delay_us(5);
}

if(PORTBbits.RB2 == 0){
if(TAp[i] == 1){
PORTBbits.RB3 = vari2;
__delay_us(5);
PORTBbits.RB2 = vari5;
__delay_us(5);
}
}
else{
PORTBbits.RB2= vari5;
__delay_us(5);
// __delay_us(5);
PORTBbits.RB3= vari2;
__delay_us(5);
}

if(PORTBbits.RB4 == 0){
if(TAp[i] == 1){
PORTBbits.RB5 = vari3;
__delay_us(5);
PORTBbits.RB4 = vari6;
__delay_us(5);
}
}
else{
PORTBbits.RB4= vari6;
__delay_us(5);
// __delay_us(5);
PORTBbits.RB5= vari3;
__delay_us(5);
}
// __delay_us(5);
if(i>320)
i=0;
i++;
}
return;
}

S-ar putea să vă placă și