engelli butonlu trafik ışığı uygulaması

Başlatan gökhan_, 21 Temmuz 2012, 04:08:37

gökhan_

merhaba arkadaşlar, bu şekilde bir proje yapmak istedim ancak 20 denemedir hata alıyorum yapmak istediğim rutin olarak 8 saniye yeşil 8 saniye kırmızı yancak (6 şar saniye yalnız 2 şer saniye sarı ışıklı beraber), aynı andada yaya ışıkları yanıcak, biri butona bastığı anda 2 saniye bekliyecek araca sarı ısık yakıp 2 saniye sonra araca kırmızı yayaya yeşil yakıcak, ancak içinden çıkamadım, yazdığım kod ise

#include <16f877a.h>
#fuses XT,NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(a)
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!
   set_tris_b(0x00);
   set_tris_a(0x01);
   output_b(0x00);
while(1)
{
if(input(pin_a0)==0)
{
while(input(pin_a0)==0);
ETIKET:
output_high(pin_b0);
output_high(pin_b3);
delay_ms(6000);
output_low(pin_b3);
output_high(pin_b1);
output_high(pin_b4);
delay_ms(2000);
output_low(pin_b0);
output_low(pin_b1);
output_high(pin_b2);
delay_ms(6000);
output_high(pin_b1);
delay_ms(2000);
output_low(pin_b1);
output_low(pin_b2);
output_low(pin_b4);
}
else if(input(pin_a0)==1)
{
while(input(pin_a0)==0);
delay_ms(2000);
output_b(0x00);
output_high(pin_b1);
delay_ms(2000);
output_low(pin_b1);
goto ETIKET;
}
}
}


isis çizimi ise
[IMG]http://i50.tinypic.com/1z4vdhk.jpg[/img]