Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <12F675.h>
- #device adc=10
- #FUSES NOWDT //No Watch Dog Timer
- #FUSES INTRC_IO //Internal RC Osc
- #FUSES NOCPD //No EE protection
- #FUSES PROTECT //Code not protected from reading
- #FUSES NOMCLR //Master Clear pin enabled
- #FUSES NOPUT //No Power Up Timer
- #FUSES NOCPD
- #FUSES NOBROWNOUT
- #use delay(clock=20000000)
- #use fast_io (a)
- #define GP1 pin_a1
- #define GP4 pin_a2
- int adc;
- unsigned int16 valor;
- unsigned int16 valor1;
- unsigned int16 valor2;
- int ciclos = 0;
- int ciclos2 = 0;
- const int y [7] ={0,1,1,1,1,1,1};
- const int x [7] ={0,1,0,1,1,1,1};
- const int y2 [21] ={0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
- const int x2 [21] ={0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
- static int estado_atual = 0;
- static int estado_atual2 = 0;
- #int_TIMER1
- //----------------------------------------
- //void TIMER1_isr(void)
- void teste(void)
- {
- int ajuste = 35;
- //clear_interrupt(INT_TIMER1);
- if ( ++ ciclos > ajuste){ ciclos = 0;}
- if ( ++ ciclos2 > ajuste ){ ciclos2 = 0;}
- //**************GERA PULSOS DUPLOS NO FIM DO CICLO*************************
- if ( ciclos == ajuste )
- {
- if ( x [ estado_atual++ ] )
- {
- output_high(GP1);
- }
- else
- {
- output_low(GP1 );
- }
- if ( estado_atual >=7 )
- {
- estado_atual = 0;
- }
- }
- //**************** // GERA OS PULSOS AMARELO SIMPLES //************************
- else
- {
- if ( y [ estado_atual++ ] )
- {
- output_high(GP1);
- }
- else
- {
- output_low(GP1) ;
- }
- if ( estado_atual >=7 )
- {
- estado_atual = 0;
- }
- }
- //**************GERA PULSOS DUPLOS AZUL *************************
- if ((ciclos2 == 6) )
- {
- if ( x2 [ estado_atual2++ ] )
- {
- output_high(GP4);
- }
- else
- {
- output_low(GP4);
- }
- if ( estado_atual2 >=21 )
- {
- estado_atual2 = 0;
- }
- }
- //********************GERA PULSOS SIMPLES AZUL **********************
- else
- {
- if ( y2 [ estado_atual2++ ] )
- {
- output_high(GP4);
- }
- else
- {
- output_low(GP4) ;
- }
- if ( estado_atual2 >=21 )
- {
- estado_atual2 = 0;
- }
- }
- // set_timer1 (65534); // 65565=365us ideal 35us// ideal 3.15ms
- }
- //----------------------------------------
- void main()
- {
- set_tris_a( 0 );
- output_low(GP1);
- output_low(GP4);
- setup_adc_ports(sAN0|VSS_VDD);
- setup_adc(ADC_CLOCK_INTERNAL);
- setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
- setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
- setup_comparator(NC_NC);
- setup_vref(FALSE);
- // enable_interrupts(INT_TIMER1);
- // enable_interrupts(GLOBAL);
- while ( TRUE )
- {
- set_adc_channel (0); //Inicia o canal 0
- delay_us (5); //espera ele ler o sinal
- adc = read_adc();
- valor = adc ;
- valor1=valor ;
- valor2 = valor1*255 ;
- teste();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement