B4--B7. Kesme yardım

Başlatan zeus48, 02 Ocak 2018, 00:44:36

zeus48

Arkadaşlar açıklama ekte.iyi çalışmalar.

ete

Yüzüp kuyruğuna gelmişsin. Ama her nedense tamamlayamadım diyorsun.
Gerçi tamamlama konusunda bir çaba da göremedim. Sadece ne yapmak istediğini ve yapamadığını yazmışsın o kadar. Gerisi zaten benim standart kodlar.
Her zaman söylerim biraz yaratıcı olun kafayı çalıştırın diye. Nedenmi açıklayayım.
Portb4-7 kesmesi yaratmak için temel kurallar şunlar,
1. Global kesmeleri ve değişiklik kesmesini aktif et. Yapmışsın.
2. B4-B7 pinlerinden hangisi giriş olacak ise tris regisyerinden ilgili biti 1 yap, yapmışsın.
3. Kesme oluşunca programın gideceği etiketi belirle, yapmışsın.

Bu şartlardan sonra kesme etiketi altına biraz kafa yormak gerekiyor. Şöyle düşün, tuşlardan birine bastın ve o Tuşa bağlı pin konum değiştirdi bu kesme oluşturma sebebidir ve program hemen kesme etiketine geldi. Burada hangi tuşa basıldığını bilmem gerekiyorki ona bağlı işleri yaptırabileyim. Nasıl anlayacağım hangi tuşa basıldığını? Elbette sorgulayarak, eksik noktan bu işte.
If portb.4=0 then komutu sana portb.4 tuşuna basılmış ise şunları yap deme inkanı vermezmi? Bunumu düşünemedin? Yada düşündünde oraya mı yazmadın yoksa?
Devam edelim If portb.5=0 then satırı ise portb.5 de bağlı butona basılmış ise şunları yap deme imkanı verecek.
Benzer şekilde diğer kalan 2 butonuda benzer şekilde sorgulayıp istediğini yaptırabilirsin.
Bu sistemde dahili pullup lar açık olmalı bunların dışında bir şey gözlemlemedim. Bazen bakarsın görmezsin eksik olanı ama programı simule edince eksikler ortaya çıkar tamamlarsın. Sende öyle yap.
Ete

zeus48

Tşk ederim hocam. 
temp=portb  ; portb nin durumu okunarak kesme oluşturmak
İçin portb nin durumu kayıt altına alınır. Bu kısmınıda anlamadım. İyi çalışmalar

ete

Portb nin durumunun temp değişkenine aktarılması ile işlemci portb deki giriş pinlerinin konumunu bir yere kayıt eder ve sürekli pinlerin Durumu ile kayıt edilen bilgiyi karşılaştırır. Değişim saptadığı anda kesme oluşturup programın kesme etiketine gitmesine sebep olur.
Adı üzerinde değişiklik kesmesi. O halde B4-B7 giriş pinlerinde bir değişikliğin olması ve bunun farkedilmesi gerekir. Bir konuda değişiklik olup olmadığını algılamak için iki şeye ihtiyaç vardır. Önceki hali ile yeni yada son hali. Bu ikisini karşılaştırarak bir değişiklik olup olmadığını anlarsın.
PortB nin okunup Temp değişkenine aktarılması ile birlikte PortB nin B4-B7 pinlarinin durumu kayıt altına alınmış olur. Bu kayıt sürekli okunan portB nin yeni değeri ile karşılaştırılarak varsa kesme oluşturulur.
Ete

Powered by EzPortal