//------------------------------------------------------------------------------ // Autor: Marcelo Gonçalves Damasceno // Data: Novembro/2005 // Compilador: CCS-C (PCW) ver. 3.150 //------------------------------------------------------------------------------ // *** Inclusão das bibliotecas *** #include <16F628.h> //------------------------------------------------------------------------------ // *** Configurações do Projeto *** #use delay(clock=4000000) // informa ao sistema o frequência // de clock, para temporização #fuses NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,MCLR,NOLVP,INTRC_IO //configuração das void servo (void){ for(;;){ int a; for(a=0;a<40;a++){ output_high(pin_a4); delay_us(720); output_low(pin_a4); delay_ms(20); } for(a=0;a<40;a++){ output_high(pin_a4); delay_us(1370); output_low(pin_a4); delay_ms(20); } for(a=0;a<40;a++){ output_high(pin_a4); delay_us(2270); output_low(pin_a4); delay_ms(20); } for(a=0;a<40;a++){ output_high(pin_a4); delay_us(1370); output_low(pin_a4); delay_ms(20); } } } void dc (void){ for(;;){ output_low(pin_a6); output_high(pin_a7); delay_ms(1500); output_low(pin_a6); output_low(pin_a7); delay_ms(300); output_high(pin_a6); output_low(pin_a7); delay_ms(1500); } } void passos(void){ int i; output_high(pin_a0); output_high(pin_a1); output_high(pin_a2); output_high(pin_a3); for(;;){ output_high(pin_a0); output_high(pin_a1); output_high(pin_a2); output_high(pin_a3); for (i=0;i<26;i++){ output_low(pin_a0); output_low(pin_a3); delay_ms(10); output_high(pin_a3); delay_ms(10); output_low(pin_a1); delay_ms(10); output_high(pin_a0); delay_ms(10); output_low(pin_a2); delay_ms(10); output_high(pin_a1); delay_ms(10); output_low(pin_a3); delay_ms(10); output_high(pin_a2); delay_ms(10); } output_high(pin_a0); output_high(pin_a1); output_high(pin_a2); output_high(pin_a3); for (i=0;i<26;i++){ output_low(pin_a3); delay_ms(10); output_low(pin_a2); delay_ms(10); output_high(pin_a3); delay_ms(10); output_low(pin_a1); delay_ms(10); output_high(pin_a2); delay_ms(10); output_low(pin_a0); delay_ms(10); output_high(pin_a1); delay_ms(10); output_low(pin_a3); delay_ms(10); output_high(pin_a0); } } } void main(void){ int select; output_a(0x00); select = input_b(); select = select&0x03; switch (select) { case 0: servo(); break; case 1: dc(); break; case 2: passos(); break; case 3: ; break; } } //------------------------------------------------------------------------------ // *** Fim do código-fonte *** //------------------------------------------------------------------------------