1. sayfa
Bu komutların hangi mikrodenetleyiciye ait olduğunu söylersen daha net yardımcı olabilirim. 1. soruda a) şıkkı içinde RL A komutu uygulandığında Carry Bitinin (PIC lerde ismi bu belki senin micro cont. de farklıdır.) sıfır olduğunu varsayarak yapıldığında; P3 içindeki değer; HEX --> C1 BIN --> 11000001 olur. b) şıkkında ise DA komutunun ne işe yaradığını bilmiyorum. DA komutunu açıklarsan sonucu yazarım. Diğer sorular için yine kullanılan mikro cont. bilmem gerekiyor. PIC için olsa hemen yazardım ![]() |
Hocam biz bunları bilgisayrda yazıyorduk çalışıyordu işlemciye de bu kodları yazıp hex çevirip pic lere yüklüyorduk çalışıyordu DA komuta ise ondalık tabana çevirmek içindi sanırım Bunları yapacak biri var mı ücretini de verebilirim |
< Resime gitmek için tıklayın > < Resime gitmek için tıklayın > Hocam bunları ben yaptım 2 ve 3 soruları da açıklayarak yaparsanı. Sevinirim 1 hazirana kadar lazım |
Biraz araştırma yaptım. Programlamada kullandığınız komutlar 8051 entegresinin komutları. Her entegrenin komutları ve programlama mantığı birbirinden farklıdır. 8051 de PIC proglamadan biraz farklı hem komutların kullanımı hemde donanım yapısında farklılıklar var. Direk komutlarıyla programları yazamam (8051 in yapısını bilmediğimden dolayı) ama 8051 için programlarını yazarken adım adım yapman gerekenleri anlatmaya çalışacağım. Sen sadece uygun komutları kullanarak dediğim işlemleri yaptıracaksın. |
1. soruyu yapmışsın zaten. Şimdi 2. sorudan başlayalım. Port1 girişlerine switch bağlanğını ve program koşturmadan sayıların girilmiş olduğunu kabul ediyorum. - Port1 in değerini okuyup herhangi bir register a atacaksın. - Okunan Port1 değerinin en yüksek 4 bit deki sadece iki biti değerlendirmek için Port1 değerini attığın register ile ilk önce '11000000' sayısını AND işlemi (sanırım 8051 de ANL komutu) yapacaksın ve sonucu B ye yollayacaksın. Daha sonra yine Port1 in değerini attığın register ile '00110000' sayısını AND işlemi yapıp bu sefer sonucu A ya atacaksın. - Şimdi A ve B de bulunan iki bitlik sayıları çarpacaksın. Yani MUL AB komutu ![]() - Son olarak A daki sonucu Port3 e göndereceksin. |
Gelelim 3. soruya: - Port2 yi çıkış olarak ayarla. (PIC te önce ayarlaman gerekiyor belki 8051 de bu işleme gerek olmayabilir.) - Port2 ye '11000000' sayısını yolla. - Yapılacak işlemlerin göz ile takip edilebilmesi için küçük bir gecikme altprogramı yazman gerekecek. O iş tamamen sende ![]() - Port2 deki veriyi sağa ve sola kaydırmak için ; Sağa kaydırmak için; --> RR komutu ile Port2 deki veriyi sağa kaydır. --> Gecikme altprogramını çalıştır. --> Port2 nin 0. bitinin 1 olup olmadığını test et (JB komutu sanırım). Eğer sıfırsa sağa kaydırmaya devam et. Eğer bir ise sola kaydırma programına dallan. Sola kaydırmak için; --> RL komutu ile Port2 deki veriyi sola kaydır --> Gecikme altprogramını çalıştır. --> Port2 nin 8. bitinin 1 olup olmadığını test et Eğer sıfır ise sola kaydırmaya devam et. Eğer bir ise sonsuz döngüye dallan. (Soruda eski haline gelince durması isteniyor. Eğer sürekli devam etmesi istenseydi sağa kaydırma programına dallanacaktık.) - Sonsuz döngü oluştur ve programı bitir. ( Çıkışın sürekli sabit kalması için program sonsuz döngüye sokulmak zorundadır.) |
4.soruda MOD-12 sayıcı demiş. MOD-12 sayıcı ne demek açıklarmısın. Birde hocaya sor bakalım 4. sorudaki programı kesme koutları ile mi istiyor yoksa normal mi? Çünkü uygulamada eğer kesme yoksa anahtar konum değiştirdiğinde ufakta olsa bir gecikme olacak. Yani diyelim sayıcı o anda 2 sayısını gösteriyor. Biz anahtarı değiştirince sayıcı 3 olduğunda sonuç P3 e gidecektir. Eğer hoca kesme istiyorsa beni aşar çünkü daha kesme muhabbetine tam hakim değilim. |
Hocam açıklama için teşekkür ederim ama benim fotoğraftaki attığım gibi lazımdı bana 1 hazirana kadar. Artık bende bişeyler yazar çözerim napalım yinede çok saoö teşekkğr ettim |
1. sayfa
Sınıfı geçmem için çok gerekli
< Resime gitmek için tıklayın >
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi 4w3e -- 13 Mayıs 2015; 17:37:06 >
< Bu ileti tablet sürüm kullanılarak atıldı >