8051 İle 4 Yol Trafik Işıkları
Kaynak Kod:
scount equ 0ffh
org 10h
setb tr0
setb tr1
mov r7,#scount
mov r6,#scount
sjmp sari
sari:
mov TMOD,#80h
setb p1.4
clr p1.0
clr p1.1
clr p1.2
clr p1.3
jnb TF0,sari
clr tf0
djnz r6,sari
mov r6,#scount
clr p1.4
sjmp gec
gec:
mov TMOD,#90h
setb p1.0
clr p1.3
setb p1.1
clr p1.2
jnb TF1,gec
clr tf1
djnz r6,gec
mov r6,#scount
sjmp sar
sar:
mov TMOD,#80h
setb p1.4
clr p1.0
clr p1.1
clr p1.2
clr p1.3
jnb TF0,sar
clr tf0
djnz r6,sar
mov r6,#scount
clr p1.4
sjmp dur
dur:
mov TMOD,#90h
clr p1.0
setb p1.3
clr p1.1
setb p1.2
jnb TF1,dur
clr tf1
djnz r6,dur
mov r6,#scount
sjmp sari
end
Yukarıdaki kaynak kod trafik ışıkları 8051 entegresinin zamanlayıcılarından faydalanılarak yazılmıştır..
Dikkat edileceği gibi birbiriyle bağımlı 4 farklı etiket oluşturulmuş ve ışıklar bu etiketler arasında döndürülmüştür.. Kısacası düz bir bakış açısıyla önce sarı ışıklar yanacak daha sonra yukarıdan gelen araçlara yol verilecek bu aşamada tekrar sarı lambalar yanarken tüm ışıklar sönecek bunu takiben sağ sol araçlara yol verilecek ve döngü bu çerçevede aralıksız sürecektir..
Bu mantığı donanıma yansıttığımızda göreceğiz ki bir yöne ışık yaktığımızda ortak iki ışık olacak ve bu da bizim için bir yol anlamına geliyor.. Bir yöne 2 değişik ışık yaktığımıza göre 2 yönde 4 yola ihtiyacımız var ve buna ilaveten aynı anda yanan sarı ışıklarıda düşünürsek 5 yol yani 5 tane porta ihtiyacımız olmaktadır..
Kullandığımız portların çıkışlarını o anki duruma göre ayarlayarak yukarıdaki gibi ışıları belli bir düzende yakıp söndürebiliriz..
Kaynak kodda görüldüğü üzere tek kafa yormamız gereken mesele zamanlayıcı(timer) sürelerini ayarlamak olacak koddaki süre herhangi bir hesaplama yapılmadan sadece denemek amacıyla yazılmıştır..
Yukarıdaki kod sadece ışıların kontrolünü kavramak amacıyla yazılmış ince ayrıntıya girilmemiştir..
Daha rahat anlaşılması için aşağıdaki led kullanılarak yapılan programıda incelebilirsiniz mantık tamamen aynıdır sadece bağlantı türü farklıdır..Yukarıdaki programda entegre kaynak olarak kullanılmıştır; aşağıdaki programda ise toprak olarak işlev görmektedir..
Devre Şeması ve Çalışma Şekli:
Kaynak Kod:
scount equ 0ffh
org 10h
setb tr0
setb tr1
mov r7,#scount
mov r6,#scount
sjmp sari
sari:
mov TMOD,#80h
clr p1.7
setb p1.0
setb p1.1
setb p1.2
setb p1.3
jnb TF1,sari
clr tf1
djnz r6,sari
mov r6,#scount
setb p1.7
sjmp gec
gec:
mov TMOD,#90h
clr p1.0
setb p1.3
clr p1.1
setb p1.2
jnb TF1,gec
clr tf1
djnz r6,gec
mov r6,#scount
sjmp sar
sar:
mov TMOD,#80h
clr p1.7
setb p1.0
setb p1.1
setb p1.2
setb p1.3
jnb TF1,sar
clr tf1
djnz r6,sar
mov r6,#scount
setb p1.7
sjmp dur
dur:
mov TMOD,#90h
setb p1.0
clr p1.3
setb p1.1
clr p1.2
jnb TF1,dur
clr tf1
djnz r6,dur
mov r6,#scount
sjmp sari
end
| Bu kategorideki diğer makaleler | |
8051 ile Step Motor Kontrolü
|
000-999 TTL SAYICI
|
|
|




