Selamlar
Hocam herhangi bir etki ile trafik lambalarının kontrolü üzerinde çalışıyorum. Butona(a2) bastığımda 4.lamba yanıp sönecek, butona basılmazsa trafik lambaları bilindiği gibi çalışacak. Yaptığım programda belli bir yere kadar oluyor, lambalar sırayla yanıp sönüyor. Fakat lambaların sırayla değil bildiğimiz trafik lambaları gibi yanmasını istiyorum. kırmızı 1.lamba(0x01) yanacak 3sn sonra sarı3.lamba(0x02) yanacak, sonra ikisi sönüp yeşil3.lamba(0x04) yanacak. İşte burasını yapamadım yardımcı olursanız sevinirim. hayırlı çalışmalar
NOT: Daha önce konuda hata iletisi vermişsiniz, dikkat ediyorum ama nerde hata yaptım anlamadım
#include <16f877A.h>
#fuses XT,NOWDT,NOPUT,NOPROTECT,NOLVP,
#use delay(clock=4000000)
#use fast_io(a)//port yonlendirme komutları a portu için geçerli
#use fast_io(b)//port yonlendirme komutları b portu için geçerli
#byte port_a=5
#byte port_b=6
void main()
{
set_tris_a(0);// a portu giriş
set_tris_b(0x00);// b portu çıkış
while(1)
{
if(input(pin_a2)==1)//azalt butonuna basıldı ise
{
output_b(0x08);
delay_ms(200);
output_b(0x00);
delay_ms(200);
}
else
{
output_b(0x01);
delay_ms(5000);
output_b(0x01);
output_b(0x02);
delay_ms(3000);
output_b(0x04);
delay_ms(5000);
}
}
}
a portu gırıs demıssın ama gırıs yapabılmen ıcın 0xff tapman lazım veya 0b00001111 seklınde yapman lazımdı sankı
mesaj birleştirme:: 05 Mayıs 2016, 07:36:35
ayrıca ınput ıcerısını yukarıda su sekılde tanımlaman lazım
#bit ra0=0x05.0
seklınde ve ardından ınput(ra0==1) yapman gerekırdı
mesaj birleştirme:: 04 Mayıs 2016, 17:39:26
ve neden byte ıfadesını kullandın dongunde bole ıfadelere yer vermemıssın ..
#byte trisa=0x85 seklınde yaparak ardından
trisa=0x00; cıkıs olur trisa=0xff dersen gırıs olur
burada sadece a potunun gerekli pinleri giris yapilmamis baska bir sorun yok gibi.?
Tamam doğru hocam.. Devre normalde else ye kadar çalışıyor, fakat else den sonra kırmızı(01) yanarken 2sn sonra sarı(02) lambasını yakamadım. Sonra ikisi de sönecek yeşil(04)lambası yanacak. Burayı tam yapamıyorum. sadece sırayla yanıp döngü devam ediyor, burayı kodlayabilirmisiniz.
Sunlari output_high yaparak istedigin portu bi lojik 1 yap sonra low yapmayi unutma bu sekilde olmaz
tamam o şekilde oldu.output_high ve low ile ayarladım. sağol