merhaba...ben arastirma projemde 16F84 ile 4 katli bir toplamali asansör programlamaya
calisiyorum.sorunum assembler dilinde hafizayi nasil olusturup gerektiginde programin oradan calismasini saglayacagim?(flag ile yapabilecegimi duydum ama basaramadim).Ornegin asansor 3. kata
cikarken 2. kattan cagirildiginda benim 2. kattaki veriyi hafizaya alip ondan sonra dügmeye basilmis olsa bile önce 2. kata gitmeyi saglamasini nasil programlayabilirim?Yardimlariniza simdiden
teşekkürler :)
3.kata çıkarken basılırsa interrupt oluştur.hangi kata basıldıysa sırayla eepromuna yaz.sonra da sırayla eepromdan çağır.
Merhaba,
Interrupt gerekmez. Üstelik yeniyseniz interrupt (kesme) oluşturmak başını ağrıtabilir!
Hatta EEPROM kullanımına da girme çünkü işimizi statik hafıza rahatça çözer...
Şimdi, diyelim ki programda PORTB'nin ilk 4 biti(LSB) katlardan gelen durma bilgisi, son 4 biti(MSB)
ise hangi katta olduğunu gösteren algılayıcı(sensor) bilgisi olduğunu farz edelim.
Sorudaki gibi asansör 3. kata çıkıyorken bulunduğu kattaki algılayıcıdan gelen bilgi ile durma bilgisini
karşılaştırıp durmasını gerektiğini denetleyecek. Zaten motor çalışırken başka bir şey yapmasına gerek yok. Yani mesele hangi katta duracağını gelen bilgileri karşılaştırılarak
yapılabilir.
Bunu LSB ve MSB değerlerini karşılaştırma olarak da adlandırabiliriz. Karşılaştırma için bir kaç yöntem var. Mesela XOR'lama yaparak Z (Zero) bayrağını kontrol
edebilirsin. Tabii bunu yapmadan önce ilgili verileri SWAPF ve ANDLW gibi komutlarını kullanarak bir değişkene yerleştirip veriyi karşılaştırmaya hazır hale getirmen gerekiyor.
Son bir
not; genişletilebilirlik açısından ve kaynakları müsrifçe kullanmamak için bilgilerin seri paketler halinde girmesi daha uygun olur. Portları anlattığım gibi kullanman farz edelim 12 katlı bir binada
16F84'ün yetersiz kalmasına sebep olur. Port sayısı çok olan bir mikrodenetleyici kullanmak da anlamsız olur.
Kolay gelsin...
Arkadaşım asansör kat bilgilerini ve ne kadar gereken bilgi varsa shift registerlar vasıtası ile okuyup
karşılaştırma işlemi yapman işine yarar bence.Shift register olarak 74hc597-74hc595 kullanabilirsin.
Saygılar.İyi çalışmalar.
*******************************************************
microcozmoz Tarih: Cum Ksm 21, 2003 7:57 pm Mesaj
konusu: Asansör kumanda
--------------------------------------------------------------------------------
Arkadaşım asansör kat bilgilerini ve ne kadar gereken bilgi varsa shift registerlar vasıtası ile
okuyup karşılaştırma işlemi yapman işine yarar bence.Shift register olarak 74hc597-74hc595 kullanabilirsin.
Saygılar.İyi çalışmalar.
*******************************************************
arkadaşım elinde mikrodenetleyiciler varken halen daha ötemeli kaydedici ile uğraşmak niye???? komple asansör
programını ötemeli kaydediciler ile yapacaksak sonumuzu hiç düşünmek istemiyorum.......
Sevgili arkadaşım dediğinde bir nebze haklılık payın olabilir ama ben genel olarak asansör kumanda
devrelerinin nasıl yapıldığını bildiğim için (Ötemeli kaydediciler ile) yardımcı olmak istedim.Şu anda piyasanın en iyi kumanda sistemi tasarlayıp satan arkadaşlar bu yolu tercih etmişler.Belki
arkadaşın yapacağı sistem için pek gerekli olmayabilir ama bazı şeylerin geliştirilmesi için fikir vermek lazım.
İyi akşamlar.Saygılar.
Arkadaslar; hepinize cok teşekkür ederim :)