Picproje Elektronik Sitesi

DERLEYİCİLER => PIC Assembly => Konuyu başlatan: anti1990 - 06 Kasım 2010, 02:13:28

Başlık: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: 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?
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: justice_for_all - 06 Kasım 2010, 02:18:20
arkadasim assembly bilmiyosan C ile yazmaya basla
...
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: Tagli - 06 Kasım 2010, 03:26:44
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ş?
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: anti1990 - 07 Kasım 2010, 14:05:23
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
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: Tagli - 07 Kasım 2010, 16:51:55
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.
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: anti1990 - 07 Kasım 2010, 16:59:16
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
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: stlg - 07 Kasım 2010, 17:28:46
4 bitten 7 segmente cd4511 ile cevirebilirsin
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: kudretuzuner - 07 Kasım 2010, 17:51:02
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
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: anti1990 - 13 Kasım 2010, 09:52:49
Herkese çok teşekkür ederim.. projeyi başarıyla bitirdim..

işte proje

http://www.4shared.com/file/nKxzOsWJ/Assembly_Hesap_Makinas.html
Başlık: Ynt: Böyle si soruyu nasıl assmebly de yazarız?
Gönderen: seyitmanis - 16 Nisan 2020, 21:59:27
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?