Böyle si soruyu nasıl assmebly de yazarız?

Başlatan anti1990, 06 Kasım 2010, 02:13:28

anti1990

Çalıştırıldığında, PIC16F84 ün portA en düşük değerlikli 4 bitine bağlı anahtarlardan BCD(Binary Coded Decimal) kodunda bir bir sayı girilmesini bekleyen, sayı girildi ise bunu portB nin en düşük değerlikli 4 bitine bağlı hexadecimalden 7 segmente display sürücüye (MC14495) aktararak bu entegre çıkışındaki 7 segmentli displayde gösterip yeni bir sayı girilmesini bekleyen, yeni sayı girildikten sonra bunu portB nin  en yüksek değerlikli 4 bitine bağlı hexadecimalden 7 segmente display sürücüye aktararak bu entegre çıkışındaki 7 segmentli displayde gösteren ve bundan sonra portA ya bağlı anahtarlardan girilecek sayı hexadecimal A ise 2 sayıyı BCD olarak toplayan, B ise BCD olarak çıkaran ve sonucu 7 segmentli displaylerde gösteren programı yazınız. Çıkarma işlemi sonucu pozitif ise portB nin yüksek değerlikli bitlerine bağlı displayde Artının A'sını, negatif ise Eksinin E'sini yazan programı yazıp, Proteusta simülasyonunu nasıl yapabiliriz?

justice_for_all

arkadasim assembly bilmiyosan C ile yazmaya basla
...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Tagli

Bu bir ödev sanırım? "Girme" kısmını yapan 5. eleman nedir? Clock sinyali mi yoksa başka bir anahtar mı? Port B'nin 8 bacağı ile 2 adet MC14495 sürebilirsin. Toplama veya çıkarma işleminin sonucunu işareti ile göstermek içinse 4 adet 7S gösterge gerekiyor. Nasıl olacak bu iş?
Gökçe Tağlıoğlu

anti1990

evet bu bir ödev, C biliyorum ama ödev assembly dilinde yazılması gerekiliyor.
Proteusta Mc14495 diye bi entegre yok, onun alternatifi olarak 7447 denedim ama oda tam olarak sonuc vermiyor malsefki.
PORTA da giriş işlemi yapılacak. 5.elemanı (yani RA4) bosta olacak.
Sonuc işaretiyle gösterilmeyecek, sadece çıkarma işleminde sonuc pozitifte portb nin en yüksek 4 bitindeki 7 segmentli display (A) harfini gösterecek, eger sonuc negatifse portb nin en yüksek 4 bitindeki 7 segmentli display (E) harfini gösterecek

Tagli

Peki toplama? Diyelim ki 99 + 99 girdin. Nasıl göstereceksin 198'i 2 göstergede? 16'lık tabanda mı? Ayrıca A4'e de birşey bağlaman gerekir ki sayının girildiği anlaşılsın.
Gökçe Tağlıoğlu

anti1990

tam kapsamlı bir hesap makinası olamıyacak pic16f84a kullanıldıgı için, giriş zaten 4 bit :en fazla girilen sayı 15 olabiliyor. Çıkısta ise en fazla 15+15=30 olabiliyor.oda b'00011110' oluyor.
Ayrıca 5.bite bişe bağlamak istenirse Ground bağlarız..Böylece sonuca etki etmez...
Fakat 7 segmenti displayın 7 tane girişi war, hangi decoder kullanacazki cıkıstaki 4 bitten 7bit elde edip 7 segmenti displayde gösterelim

stlg

4 bitten 7 segmente cd4511 ile cevirebilirsin
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

kudretuzuner

Merhaba
Zaman kaybolmasın  diye ben işin kaba kısmını hazırladım.Bundan sonra "BASLA-GOTO BASLA" komutların arasını arasını size bırakıyorum.asm yazılımında gerekli bilgiler de verildi.Kolay gelsin.
http://www.4shared.com/file/QCrIJRMY/antt1990.html
Amatör

anti1990


seyitmanis

Alıntı yapılan: anti1990 - 06 Kasım 2010, 02:13:28Çalıştırıldığında, PIC16F84 ün portA en düşük değerlikli 4 bitine bağlı anahtarlardan BCD(Binary Coded Decimal) kodunda bir bir sayı girilmesini bekleyen, sayı girildi ise bunu portB nin en düşük değerlikli 4 bitine bağlı hexadecimalden 7 segmente display sürücüye (MC14495) aktararak bu entegre çıkışındaki 7 segmentli displayde gösterip yeni bir sayı girilmesini bekleyen, yeni sayı girildikten sonra bunu portB nin  en yüksek değerlikli 4 bitine bağlı hexadecimalden 7 segmente display sürücüye aktararak bu entegre çıkışındaki 7 segmentli displayde gösteren ve bundan sonra portA ya bağlı anahtarlardan girilecek sayı hexadecimal A ise 2 sayıyı BCD olarak toplayan, B ise BCD olarak çıkaran ve sonucu 7 segmentli displaylerde gösteren programı yazınız. Çıkarma işlemi sonucu pozitif ise portB nin yüksek değerlikli bitlerine bağlı displayde Artının A'sını, negatif ise Eksinin E'sini yazan programı yazıp, Proteusta simülasyonunu nasıl yapabiliriz?