1

8085 MĐKROĐŞLEMCĐ VE MIKROBĐLGĐSAYAR

Murat KELLEGÖZ

LĐSANS TEZĐ

HAZĐRAN 1998

2

T.C. OSMANGAZĐ ÜNĐVERSĐTESĐ FEN-EDEBĐYAT FAKÜLTESĐ FĐZĐK BÖLÜMÜ

8085 MĐKROĐŞLEMCĐ VE MĐKROBĐLGĐSAYAR

Danışman : Yrd. Doç. Dr. Đsmail ÖZKAN

Hazırlayan : Murat KELLEGÖZ

3

HAZĐRAN 1998 4394003 no‘lu öğrenci Murat KELLEGÖZ tarafından hazırlanmış olan

8085 MĐKROĐŞLEMCĐ VE MĐKROBĐLGĐSAYAR konulu bitirme ödevi tarafımdan

okunup kabul edilmiştir.

...../...../1998

Yrd. Doç. Dr. Đsmail ÖZKAN

Đsmail ÖZKAN‘a teşekkür ederim. ayrıca değer verdiğim ve moral yönünden beni destekleyen Filiz ALACA‘ya sonsuz teşekkürü bir borç bilirim. . Doç. Dr. Tez süresince bana gerek maddi gerekse manevi desteklerini esirgemeyen aileme .4 TEŞEKKÜR Bu tez çalışmasını bana veren ve gerek fikir gerekse kaynak yönünden beni yönlendiren sayın hocam Yrd.

......................................... GĐRĐŞ / ÇIKIŞ BĐRĐMLERĐ.....................1.................1...... ĐLETĐŞĐM YÖNTEMLERĐ. ROM............................... MERKEZĐ ĐŞLEM BĐRĐMĐ (MĐB)... BELLEK.............................................................3 2......9 4............ MĐKROBĐLGĐSAYARLARIN TEMEL YAPISI............................2 2........................................4 3................................ 12 6........................................................................ 8085 MĐKROĐŞLEMCĐSĐNĐN BACAKLARININ TANIMI................12 6..................2......................1 1...........................................................................2......8 3..........8 3......................3 2................................... INTEL 8080 AĐLESĐ .13 .........1 MERKEZĐ ĐŞLEM BĐRĐMĐNĐN HIZI VE YETENEKLERĐ..2........................................................................................... 8085 MĐKROĐŞLEMCĐ...1 1......................................................................................... ....................5 ĐÇĐNDEKĐLER 1.. RAM...............................................11 6.............................................................1.................................................................2 MERKEZĐ ĐŞLEM BĐRĐMĐNĐN ĐÇ YAPISI....................................................... ĐLETĐŞĐM YOLLARI...............................................10 4........................................ MĐKROĐŞLEMCĐLER VE MĐKROBĐLGĐSAYARLAR...............10 5........... MĐKROĐŞLEMCĐNĐN KULLANIM ALANLARI VE ÜSTÜNLÜKLERĐ................1.....

........................ KOMUTLAR.. ADRESLEME YÖNTEMLERĐ.......................................... a....... MĐKROĐŞLEMCĐLER VE MĐKROBĐLGĐSAYARLAR Mikroişlemci bir bilgisayarın beynini oluşturan ‘Merkezi Đşlem Birimi’ dir. robot endüstrisinde kullanılmaktadır...... Dar bir alana milyonlarla ifade edilen transistör......1......... kontrol sistemlerinde... flip-flop gibi elemanların sıkıştırılmaları ile imal edilmiştir...) Programlanarak değişik işlerde kullanılabilirler......................... Mikroişlemci bir elektronik devre elemanı olmasına rağmen alışıla gelmiş devre elemanlarına göre üstünlükleri vardır.....................18 7................ ADRESLEME YÖNTEMLERĐ VE KOMUTLARI.... Mikroişlemci geniş hacimli bir entegredir...........17 7...... MĐKROĐŞLEMCĐNĐN KULLANIM ALANLARI VE ÜSTÜNLÜKLERĐ Mikroişlemci sadece bilgisayarlarda değil........................... ......... KOMUTLAR LĐSTESĐ.................. haberleşme sistemlerinde..6 7.1.....17 7..... aynı zamanda endüstride....... Mikrobilgisayar oluşturmak için mikroişlemci ile bellekler ve giriş/çıkış birimlerine ihtiyaç vardır.........2...... Mikroişlemci tek başına bir mikrobilgisayar değildir................................... MĐKROBĐLGĐSAYAR = MĐKROĐŞLEMCĐ + BELLEKLER + GĐRĐŞ/ÇIKIŞ BĐRĐMLERĐ 1..... Kısaca MĐB...3...........19 EK : 8085 MĐKROĐŞLEMCĐNĐN KARAKTERĐSTĐK ÖZELLĐKLERĐKLERĐ 1.................

) Daha hassas çalışırlar. çok sayıda bağlantıdan oluşan yollar bulunmaktadır.2.) Veri yolları b.7 b. a. c.) Daha dar bir alana monte edilirler ve maliyetleri daha ucuz olur. d. 1.) Bellek birimi c. mikrosaniye gibi zaman aralıklarında.) Merkezi Đşlem Birimi (MĐB) b. e.) Adres yolları c. ısı. bu üç ünite arasındaki veri ve program akışını sağlamak üzere. gerilim gibi değişkenlerin mikro değerlerindeki değişmeleri hissederek kontrol yapabilirler. Bir mikrobilgisayar temelde üç üniteden meydana gelir. giriş/çıkış durumlarına göre bir sistemi kontrol edebilirler. a. MĐKROBĐLGĐSAYARLARIN TEMEL YAPISI Mikrobilgisayarların tüm işlemlerinin organizasyonunu MĐB yapıp birçok alt birimlerden meydana gelir.) Bir makinenin arka arkaya yapacağı çok sayıda işlemlerini bir program içinde düzenli olarak sırayla yürütebilirler.) Giriş/Çıkış birimi Mikrobilgisayarın.) Denetim yolları .) Çok sayıda veri girişine sahip komplike devrelerde.

. Komut kümesinin zengin olması. MĐB’nin gücünü gösterir. 2. c.8 (Şekil 1: Bilgisayarın üç temel birimi arasındaki bağlantı) 2. b. komut kümesinin çeşitliliği ve komutlarının güçlülüğüde önemli bir etkendir. Bu görev MĐB tarafından yarine getirilir.1.) HIZ: MĐB’nin belli zaman içinde yapabileceği işlemşerin sayısıdır. programcıya esneklik ve kolaylık sağlayacağı için MĐB’yi güçlü kılar. Bu sayıya iş yüküde denilmektedir. MERKEZĐ ĐŞLEM BĐRĐMĐNĐN HIZI VE YETENEKLERĐNĐN ÖLÇÜTLERĐ a. MERKEZĐ ĐŞLEM BĐRĐMĐ (MĐB) Merkezi işlem birimi bilgisayarın temel birimi olarak kabul edilebilir. Bunun yanısıra MĐB’ye bilgisayarın beyni olarak bakılmaktadır.) KOMUT KÜMESĐ: Bir MĐB’nin yeteneklerinin ölçülmesinde.) SÖZCÜK UZUNLUĞU: MĐB’nin bir anda işleyebileceği veri uzunluğu. MĐB’nin çalışmasını senkronlayan saat frekansına bağlıdır. Bilgisayarın aritmetik ve lojik işlemler yapabilmeli ve ortaya çıkan sonuçlara göre karar verebilmelidir.

8 bit mikroişlemcilerde adresleme kapasitesi 64K’dır. .) BELLEK VERĐ SAKLAYICI: MĐB’inden belleğe veye giriş/çıkış arabirimlerine giden veye bu birimlerden MĐB ne gelen verinin yazıldığı yerdir. b.) ARĐTMETĐK LOJĐK BĐRĐM (ALU): MĐB içinde yapılması gereken aritmetik ve lojik birimler ALU içerisinde gerçekleşir.) BELLEK ADRES SAKLAYICI: MĐB ile bellek arasında gidip gelen verilerin bellekte hangi göze yazılacağı veye verinin hangi gözden geldiği bu kutüğe yazılan adres ile belirtilir. doğrudan adresleyebileceği bellek boyudur. e.2.) ADRSLEME YETENEĞĐ: Bir MĐB’nin en önemli özelliklerinden biride komut içinde kullanılan adresleme yöntemlerinin zenginliği ve güçlülüğü. c. Giriş/çıkış arabirimlerinin adreslenmesinde de bellek adres saklayıcısından faydalanılır.9 d. • Aritmetik işlemler: ALU toplama. 8085 mikroişlemcide bellek veri saklayıcısı 8 bittir. 8 bitlik mikroişlemcilerde adres yolları 16 bit olduğundan bellek adres saklayıcısıda 16 bit uzunluğundadır. MERKEZĐ ĐŞLEM BĐRĐMĐNĐN YAPISI a. 2. çarpma ve bölme işlemlerini yerine getirebilir. Karşılaştırma ve karar verme işlemleride bu birim içerisinde olur. bu arada düzgünlüğü de bir MĐB için önemli bir ölçüttür. çıkarma.) ADRESLEME KAPASĐTESĐ: MĐB’nin bir başka yeteneği ise.

8085 mikroişlemcide durum saklayıcısı 8 bitten oluşur. D2. Ortaya çıkan duruma göre karar rebilir ve sonuç durum saklayıcısına işlenir. (Şekil 2: Durum saklayıcı) Durum saklayıcısının D0.) AKÜMÜLATÖR: MĐB’nin ana saklayıcısıdır. 8085 mikroişlemcide akümülatör 8 bittir. D3 ve D5 nolu bayraklar ise boştur. programcının kontrolü dışında kullanır. küçüklük veya eşitlik karşılaştırması yapılabilir. Buna bayrak saklayıcısıda denilmektedir. Durum saklayıcısının içeriği. D6 ve D7 nolu bayrakları programcı tarafından kullanılır. • Karşılaştırma ve karar verme işlemleri: Đki büyüklüğün birbirine göre büyüklük. VEYA gibi işlemleri yerine getirebilir. d. Akümülatördeki bilgi belleğe alındığında akümülatördeki bilgi silinmez.) DURUM SAKLAYICI: ALU tarafından gerçekleştirilen işlemlerin sonunda ortaya çıkan durumların yazıldığı bir saklayıcıdır. • S-işaret bayrağı: Sayının pozitif veya negatif olduğunu gösteren bayraktır. . e. D4. Komutların çoğu akümülatör üzerinde yapılır ve. D4 nolu bayrağı mikroişlemci. Eğer işaret bayrağı 1 ise sayı negatif. 0 ise pozitiftir.10 • Lojik işlemler: ALU içinde temel VE. karar verme işlemlerinde temel alınır. Akümülatör yürürlükteki komutla işlenen bilginin geçici olarak depolandığı yerdir.

Bu saklayıcılar. Bir aritmetik işlem sonucunda üçüncü bitten dördüncü bite bir elde aktarıldığında yardımcı elde bayrağı 1 değerini alır. • P-parite bayrağı: Bir aritmetik veya mantık işleminden sonra elde edilen 1 sayıları ile ilgilidir. Program sayıcısının adresi. son adres kullanıldıktan sonra otomatik olarak atrar veye komuta göre azalabilir. 8085 mikroişlemcilerde 8 bit akümülatörün yanında herbiri 8 bit olan B.) YARDIMCI SAKLAYICI: MĐB içindeki işlemlere hız kazandırmak amacıyla. sonuç içerisindeki 1’lerin sayısı tek ise bu bayrak reset olur.) PROGRAM SAYICI: Program sayıcı bir sonra gelen programdaki komutun adresini depolar. • AC-yardımcı elde bayrağı: Bu bayrak iki tabanlı sayılar ile çalışırken kullanılır. üzerinde sık sık işlem yapılacak işlemler için kullanılırlar. D. verileri yığından teker teker geri almaya yığın işlemi denilmektedir. C. Eğer bir elde aktarımı söz konusu değil ise 0 değerini alır. aritmetik ve lojik işlemlerde birinci işlenen yerini almamalarıdır. h. yardımcı saklayıcı kullanılmaktadır. verilieri üst üste yığmaya ve gerektiğinde. sıfır değil ise 0 değerini alır.11 • Z-sıfır bayrağı: Akümülatörde bulunan sayının değeri sıfır ise bu bayrak 1 değerini. f. H ve L yardımcı saklayıcılar vardır. g.) YIĞIN GÖSTERGESĐ: Bilgisayar dilinde. Ayrıca program sayıcısı atlama komutu ile program sayıcısının adresi herhangi bir adresle değiştirilebilir. i.) KOMUT SAKLAYICI: Komut saklayıcısı o anda işlenen komutu içerir. j. Yığın . Sonuç içerisinde 1’lerin sayısı çift ise bu bayrak 1 değerini.) KOMUT KOD ÇOZÜCÜ: Komut saklayıcısında bulunan komutun taşıdığı anlamı çözümlediği yerdir. Adres yolları 16 bit genişliğinde olduğundan program sayıcısıda 16 bit genişliğinde bir kaydedicidir. Bu saklayıcının akümülatörden tek farkı. Yığının nerede kurulduğunu belirtmek için MĐB içinde yığın göstergeside kullanılmaktadır. • CY-elde bayrağı: Bir aritmetik işlem sonucunda akümülatöre yazılamayan bir elde varsa bu elde bayrağı 1 değerini alır.

l. (Şekil 3: Mikroişlemcinin kaydedici yapısı) k. Bu birim hem MĐB içindeki çalışmayı düzenler hemde bilgisayar içindeki çalışmayı düzenler. . Bu yığın göstergesi 16 bitlik bir kaydedicidir.12 göstergesi bellek üzerinde herhangi bir bölgesindeki yığının alınmasına müsaade eder.) SIRALAMA SAKLAYICI: Sıralı verilerin belleğe yazılması veya bellekte sıralı bulunan verşlerin okunması için kullanılır.) DENETĐM BĐRĐMĐ: MĐB’nin en önemli birimlerindendir.

Bilgiler bu kutularda binary formunda saklanır. kullanıcıya hizmet verecek.1. Yani belleği besleyen gerilim kesilmesi durumunda bellekteki bilgiler kaybolur. . Bellek posta kutusuna benzetilebilir. 3. Özel amaçlı ve sabit programla çalışan bilgisayarların programları ile bilgisayar açıldığında.13 (Şekil 4: Merkezi işlem biriminin iç yapısı) 3. Bu tür bellekler programlanabilme yeteneklerine göre dört gruba ayrılır. yol verme programları bu tür belleklere saklanır. Bu belleğe yazılmış olan bilgileri tutabilmek için enerjiye ihtiyaç vardır. Bu olumsuz durum sebebiyle yarı iletken teknolojisinde iki tip bellek üretimi sağlanmıştır. ROM (Salt okunur bellek) Bilgisayarda sürekli kalması istenilen bilgilerin saklanması için kullanılan bellek türüdür. BELLEK Bilgisayarın çalışmasına yön verecek programı ve programın üzerinde çalışacağı verileri saklamak için bellek kullanılmaktadır.Her bir posta kutusu bir adrese sahiptir. En önemli özelliği gerilim kesildiğinde bellekteki bilgiler saklı kalır.

EEPROM’lara veri yazılmasında özel yöntem ve araçlar kullanılabilir. Sonuçtada programlanan belleğin içerisindeki program değiştirilememektedir. • EEPROM (Elektriksel silinebilir. • EPROM (Silinebilir. Bu sigortalar istenilen nitelikteki programa göre attırılarak bellek programlanır. programlanabilir salt okunur bellek): Bu bellek türü üretildiğinde tüm bellek gözeleri 1 konumundadır. Bu belleğin gövdesi üzerinde bulunan pencereden ultraviyole ışığının tutulması durumunda belli bir süre sonunda bellek gözeleri 1 konumuna gelerek silinmiş olur ve tekrar programlanmaya hazır hale getirilebilir.14 • ROM: Bu bellek türüne bilgi yazılması. Bellek gözesine yazılan bilgi 0 ve 1’lerden oluşmaktadır. Programlandıktan sonra bir başka değişle sigortanın yenilenerek farklı bir programın yazılması olanağı yoktur. RAM (Okunabilir silinebilir bellek) Bu tür bellekler bilgilerin geçici olarak saklandığı yerlerdir. Gerilim kesildiğinde bilgilerin tümü kaybolur. Đstenildiğinde yazılabilen istenildiğinde silinebilen belleklerdir. EEPROM’ların silinmesi durumunda tüm belleklerin 0 veya 1 olması durumu anlaşılır. Anlaşılacağı üzere bu bellek yalnız bir kere programlanabilir. belleğin üretimi esnasında gerçekleşir. 1 konumunda olan gözelerden istenenler özel yöntem ve araçlarla 0 konumuna getirilebilir. Güneşten gelen ışığın ultraviyole ışık içerdiğini düşünecek olursak sağlıklı bir çalışma için programlanan EPROM’un penceresinin siyah bir bant ile kapatılması uygun görülür. 3. .2. • PROM (Programlanabilir salt okunur bellek): Bu bellek türü üretildikleri zaman bütün gözeneklerinde birer sigotta bulunmaktadır. RAM’lar bilgiyi saklama açısında iki gruba ayrılırlar. programlanabilen salt okunur bellek): Bu bellek türünde bellek gözelerine istenilen bir değer yazılabilir ve yazılan bu bilgi yeni bir yazmaya kadar kalır.

giriş/çıkış birimleri ile akümülatör üzerinden biligi alış verişini sağlar. girişine uygulanan lojik işaretin durumuna göre 0 veye 1 konumunu alır. Gerilimin kesildiğinde bilgilerin yok olması bazı uygulamalarda sorun yaratabileceğinden dıştan veya içten pilli bellekler üretilmektedir. Bu elektrik yükünün boşalmaya başladığı durumda yük yarıya inmeden okuduğunda 1 değerini. aksi halde 0 değerini alır. Bu ilişki giriş çıkış birimleri ile sağlanır.1. • PARALEL ĐLETĐŞĐM: Bir verinin alıcıya gönderilmesi sırasında. GĐRĐŞ/ÇIKIŞ BĐRĐMLERĐ Bir bilgisayar her zaman için dış ortamlarlaa ilişki halindedir. . ĐLETĐŞĐM YÖNTEMLERĐ Bilgi aliş verişi paralel iletişim ve seri iletişim iki gruba ayrılırlar. 1 olduğu algılanırsa kapasite yeniden doldurulur. çıkış birimi output port olarak adlandırılır. • DĐNAMĐK RAM: Bu bellek türü MOS transistörlerinden oluşmuştur ve bilgileri elektrik yükü olarak saklanır. Bilindiği üzere iki konumlu olan flip-floplar. Giriş birimi input port. Yeni bir veri girişi yapılana dek eski konumda kalır. Merkezi işlem birimi.15 • STASĐK RAM: Bu belleğin her bir gözesinde bir flip-flop bulunur. verinin her bir biti için ayrı bir hat kullanılıyor ise. (Şekil 5: Belleklerin sınıflandırılması) 4. 4. bu iletişim yöntemine paralel iletişim yöntemi denir.

Aynı zamanda bu . Bu iki bağlantı bilginin hangi yönde akacağını belirlemekte kullanılır. aktarılacak veri içindeki bit sayısı kadar hat bulunmaktadır. • SERĐ ĐLETĐŞĐM: BU iletişim yönteminde .16 (Şekil 6: Paralel iletişime örnek bağlanmış iki birim) Şeki 6’da görüldüğü gibi. 5. Uygulanan bu adres paralel bilgi hattından oluşur. • BĐLGĐ YOLU: Bilgi yolu genellikle sekiz hattan oluşur. Çünkü bir tek hat üzerinden çift taraflı bilgi akışı olabilir. Aynı hat üzerinden peş peşe gönderilirler. Bir başka değişle. 8 bitlik mikroişlemci biriminde adres hat sayısı 16 bitliktir. verici ve alıcı arasında. iletişim hatları bitler tarafından zamanda paylaşılırlar. Ayrıca veri hatlarına ek olarak al ve hazır bağlantıları vardır. Adres binary olarak uygulanır. bir veri içindeki bitler. Buna göre 216=65536 bellek gözesi adreslenebilmektedir. Giriş/çıkış birimi ile merkezi işlem biriminde bulunan akümülatör arasında bilgi alış verişini sağlar. ĐLETĐŞĐM YOLLARI Mikroişlemci birimi ile bellek veya giriş/çıkış birimleri arasındaki bilgi alış verişinin sağlanması için üç çeşit iletişim yolu vardır. • ADRES YOLU: Merkezi işlemci birimi tarafından bellekten seçilecek bilginin bulunduğu yerin adresiniğ taşıyan yoldur.

INTEL 8080 AĐLESĐ Intel 8080. 8080. Bilgi yolu adedi bit sayısını tanımlar. -5 ve +12 V’luk üç gerilim kaynağı gerektirdiğinden yerini yalnızca 5V ile çalışan 8085’e bırakmıştır. . Bunların başında 8080’de adres ve veri yolları için bağımsız ayaklar bulunurken.17 hatlar üzerinden de dış devreler yollanabilir veya dış devrelerden bilgi alınabilir. +5. • KONTROL YOLU: Mikroişlemcinin dış ortamla ilişki kurarak gerekli işlemleri gerçekleştirebilmesi için kontrol sinyallerini taşıyan hatlara ihtiyaç vardır. 8085 mikroişlemcilerin ise 8 bit mikroişlemcilerin ikincisidir. Yalnızca tek değerde bir gerilim kaynağı kullanmayıp aynı zamanda bir çok eksiklikleride giderilmiştir. 4004. Yani sekiz bilgi hattına sahip bir merkezi işlem birimi 8 bitlik mikroişlemci olarak olarak tanımlanır. 4040 ve 8008’lerin ardından üretilmiş 8 bit mikroişlemcilerin ilkidir ve 1974’te kullanıma sunulmuştur. 8085’de veri yolları ile adres yolları geçmeli olarak düzenlenmiştir. (Şekil 7: Mikroişlemcide iletişim yolları) 6. Bu hatlara kontrol yolları denir.

• Kesme girişleri ve kesme öncelikvericisi vardır.18 6. • Veri yolu ve adres yolu geçmelidir. • Sözcük uzunluğu 8 bittir. • Giriş/çıkış arabirimleri bellek dışındadır.1. . • Bellek adresleme yeteneği 64K’dır. 8085 MĐKROĐŞLEMCĐ 8085 mikroişlemcisinin özellikleri şöyle özetlenebilir. • Saat osilatörü içindedir.

ALU ucunun lojik 1’den 0’a inmesi. adres bilgilerinden ilk sekizinin tutulması sağlanır. buyruğun işlenişine uygun olarak ya adres bilgisi yada veri bilgisi bulunur. 8 bitlik giriş/çıkış birimi adresi oluşur. giriş/çıkış birimlerinin seçimi sırasında. Bacaklar arasında yar almaktadır. Bacaklar arasında yer almaktadırlar. . Bu nedenle verilier için kullanılan 8 hat ile. AD0-AD7 hatları iki yönlü çalışmaktadır. Bunlar 12.19 (Şekil 8: 8085 Mikroişlemcisinin iç yapısı) 6. bu hatlara bağlı olan tutucu devrede. HALT. tutma emrini oluşturur. adres hatlarının ilk 8 hattı aynıdır. A8-A15 adres hatları üzerinde. Böylece aynı hatlar ortaklaşa kullanılmış olur. Her bir hat bir TTL sürebilecek güçteüç konumlu kapılardan kurulmuştur. 8 bitlik giriş/çıkış birimi adresi oluşur. AD0-AD7 hattı olarak anılan bu hatlar üzerinde. AD0AD7 hatları üzerine olduğu gibi.2. AD0-AD7 adres hatları üzerinde. ALU (Adres tutucu): Bu 30. Bunlar 21. 8085 MĐKROĐŞLEMCĐSĐNĐN BACAKLARININ TANITIMI • AD0-AD7 (Adres ve veri yolları): 8085’te veri ve adres yolları için ortak hatlar kullanılmıştır. HOLD ve RESET durumlarında. Böylece. bu çıkışlar üçüncü konuma geçerler. Çıkış durumunda çalışırken her bir bit bir TTL yükü sürebilecek yetenektedir ve bu hatlar üç konumlu kapılardan oluşmuştur. bacağı oluşturan bu bacak AD0-AD7 hatları üzerine adres bilgisi yerleştirildikten sonra etkin duruma gelir. A8-A15 (Adres yolları): Adres yollarının diğer hatlarıdır. ile 28. ile 19. giriş/çıkış birimlerinin seçimi sırasında.

RST 6. • READY (Hazır): 35. merkezi işlem birimi girişin hazır olması durumunu bekler. • TRAP (Kesme): 6. Bu üç kesme isteği de yazılımla denetlenebilmektedir. merkezi işlem birimi elindeki son komutu tamamlar ve çalışmasını durdurur. +5V’a bağlanması gerekir. 8. • HLDA (Dur anlaşıldı): 38. HALT. RD. bacağını oluşturan bu bacak HALT girişinin lojik 0’a inmesi ve merkezi işlem biriminin kendisini çevresinden yalıtması durumu. Kullanılmadığı durumda. Hazır girişinin lojik 1 olması bellek veya giriş/çıkış biriminin hazır olduğunu gösterir. HOLD ve RESET girişlerinden biri etkin iken üçüncü konuma geçer.5 (Kesme isteği) : Bunlar sırasıyla 7. bacak maskelenemez kesme girişidir. Bu giriş 0’dan 1’e çıkması sonucunda belirlenmiş adresten başlayan kesme hizmet programına dallanır. Bacağı oluşturan bu giriş.5. Bacağı teşkil eder. adres ve veri yolları ile. Bu girişin 0 olması durumunda. Bu durumda. . Bu çıkış merkezi işlem birimi ile bellek ve/veya giriş/çıkış birimleri arasında yazma işlemini sağlar. Yaz çıkışı lojik 0’da etkindir.bacağı oluşturan RD çıkışı merkezi işlem birimi ile Oku • WR (Yaz): Yaz çıkışı 31. • RST 7. belirlenmiş adreslerden başlayan kesme hizmet programlarına dallanır. WR ve IO/M çıkışları üçüncü konuma geçerler.5. Önceliği en yüksek olan kesmedir. bacakları oluşturur.HLDA çıkışının 0’a inmesi ile yansıtılır. merkezi işlem birimine bağlı bellek veya giriş/çıkış biriminin okuma veya yazma için hazır olup olmadığını yansıtır. • RD (Oku): 32. Bacağı oluşturan bu bacak girişinin lojik 0 olması ile. RST 5.20 • HOLD (Dur): 39. ve 9. Bu üç girişten gelen kesme isteklerinde.

. 8085 mikroişlemci içinde bulunan osilatör çalışır. Etkin durumu 0 dır. • RESET IN (Reset girişi): 36. ve 4. SOD (Seri giriş/çıkış): Bunlar sırasıyla 5. X2. X1’e bağlanarak. • SID. Bu girişin kısa bir süre için 0 olması ile merkezi işlem birimi 0000 adresine bağlanır ve bu adresten başlayan programı işlemeye koyulur. SID komutu ile akümülatöre alınabilir. • X1. S1.VCC : 5 V’lik besleme için bağlantı bacakları. SID girişine uygulanmış olan seri bilgiler. Bunlar 20. mermezi işlem birimini dışarıdan komut okumaya zorlar. • VSS. • RESET OUT (Reset çıkışı): 3. ve 37. bilgisayar sisteminin çalışması için gereklidir. 2. Akümülatör de bulunan veri SOD komutu ile. Merkezi işlem birimini albaştan etmeye yarar. Bacağı oluşturur. • INTA (Kesme alındı): Bu 11. Bacakları oluştururlar. Etkin durumu lojik 1 dir. Önceliği en düşük olan kesmedir. Ve frekansı X1’de görülen frekansın yarısıdır. Bacağı oluşturur. Bu girişten kesme isteği gelmesi. • S0. ve 40. yazılımla denetlenmek istenen kesme isteği bağlanır. CLK OUT (Saat uçları): Sırasıyla 1. 33. seri biçimde SOD çıkışından dışarı gönderilebilir. Benzer şekilde. Bacaklardır. dışarıda bulunan bir osilatörün çıkışı. X1 ve X2 arasına bir rezonans devresi veya bir kristal bağlanması ile. Bacaklardır. 80852in bu frekansta çalışması sağlanabilir. Bu girişe. IO/M (Merkezi işlem biriminin durumu): Bunlar sırasıyla 29. Bu üç cıkış 8085 mikroişlemcisinin o andaki çalışma biçimini ve durumunu yansıtırlar. Bir başka çozüm. CLK OUT. Bacağı teşkil eden bu bacak merkezi işlem biriminin RESET edildiğini belirtir. bacaklardır. ve 34. Bacak olup kesme alındığını belirten çıkıştır.21 • INTR (Kesme isteği): 10.

ADRESLEME YÖNTEMLERĐ .22 (Şekil 9: 8085 Mikroişlemcinin bacaklarının tanıtımı) 7. 7. Bu komutlar makine dili dediğimiz makinanın anlayabilecegi dilde düzenlenmiştir.1. ARESLEME YÖNTEMLERĐ VE KOMUTLAR 8085 Mikroişlemcilerde dört temel adresleme yöntemleri kullanılmaktadır ve bu yöntemlerin her birine has komutlar mevcuttur.

üçüncü byte’e ise adresin yüksek anlamlı kısmı yazılır. üzerinde işlem yapılacak bellek gözünün adresi. Komutların yazılımı ve kullanılan kodların programın hazırlanmasında büyük önem vardır. Bu adresleme yönteminde. bir kütük çiftinde yazılı olmalıdır. Ayrıca herhangi bir bellek gözesine de ivedi olarak yazılabilir.2. bir komut üç byte içine yazılmaktadır. ‘Register adressing’ diye anılan yöntemde. boylarına uygun verilere ivedi olarak yüklenebilir. 7. durum saklayıcı bayrağını etkileyen komutlar örnek verilebilir. • DOĞAL ADRESLAME: Bu adreslemeye karşılık olarak ‘register’ ve ‘implied’ adresleme yöntemleri kullanılmaktadır. ikinci byte’e adresin düşük anlamlı kısmı. Yani ilk byte’e komutu. merkezi işlem birimi içindeki kütükler üzerinde işlemler yapılmaktadır. KOMUTLAR 8085 mikroişlemcilerde kullanılan Intel firmasınca altı kümeye ayrılmaktadır. Sadece adlandırmada farklılık göstermiştir. . ‘Đmplied adressing’ yönteminde ise. Bir anlamda dolaylı adresleme olarak düşünülebilir. Đki adresleme yöntemide doğal adresleme kavramına uygundur.23 • ĐVEDĐ ADESLEME: Merkezi işlem birimi içerisindeki akümülatör ve saklayıcılar. • DOĞRUDAN ADRESLEME: Doğrudan adresleme 0000 . • KÜTÜĞE BAĞLI ADRESLEME: Bu yöntemde. Bu altı kümenin tümünde kullanılan komutlar makine dilinde ifade edilir.FFFF arasındaki bellek alanını kapsamaktadır.

L) SP(STACK POĐNTER .E) H(H. • ĐŞLEM KOMUTLARI: Bu küme içindeki komutlar. aritmetik veya lojik komut kümesine katılmak üzere özellikleri gereği temel anlamda ayrı tutulmuştur. akümülatörün içeriği ve belirtilen veri arasında aritmetik işlemler yapar. D verinin gittiği rgisterleri temsil eder. BYTE VERĐ ADRESĐN DÜŞÜK KISMI ADRESĐN YÜKSEK KISMI (Tablo 1: ĐNTEL 8085 için komutların belleğe yazılış formu) REGĐSTER KODU S/D A 111 B 000 C 001 D 010 E 011 H 100 L 101 (S verinin çıktığı registerleri. • LOJĐK ĐŞLEM KOMUTLARI: Bu grup içindeki komutlar. • KARAR VERME VE DALLANMA KOMUTLARI:Bu komutlar yardımı ile program akışı içinde değişik satırlara atlanabilir.24 • ARĐTMETĐK ĐŞLEM KOMUTLARI: Bu komutlar yardımı ile. BYTE 3. BYTE TEK BYTE OPCODE ĐKĐ BYTE OPCODE ÜÇ BYTE OPCODE 2. 1.C) D(D.) REGĐSTER ÇĐFTĐ B(B. • GĐRĐŞ / ÇIKIŞ KOMUTLARI: Bu küme içindeki komutlar yığına veya çevre elemanlarına veri göndermek ve oradan veri kabul etmek için kullanılır. akümülatörün içeriği üzerinde lojik işlemleri yapar.

Opcode : 00RP0001 Komut adı : LDA adres Tanım : Bellekteki veriyi akümülatöre taşır.3. Opcode : 00DDD110 Komut adı : MVI M veri Tanım : Veriyi belleğe taşır.25 KODU 00 01 10 11 (Tablo 2: Register ve register çiftleri için kodlar) 7. Opcode : 01DDDSSS Komut adı : MOVE R M Tanım : Bellekten R registerine veri yükler: Opcode : 01DDD110 Komut adı : MOV M R Tanım : R registerin içeriğini belleğe taşır. . Opcode : 01110SSS Komut adı : MVI R veri Tanım : Veriyi R registerine taşır. KOMUTLAR LĐSTESĐ Komut adı : MOV R1 R2 Tanım : R2 register içeriğini R1’e taşır. Opcode : 00110110 Komut adı : LXI RP veri Tanım : Veriyi Rp register çiftine taşır.

Opcode : 00101010 Komut adı : SHLD adres Tanım : Register içeriğini verilen adrese taşır. Opcode : 11101011 Komut adı : INR R Tanım : Register içeriğini 1 ile toplar. Opcode : 00DDD100 . Opcode : 00RP1010 Komut adı : STAX RP Tanım : Akümülatörün içeriğini RP register çiftine taşır. Opcode : 00100010 Komut adı : LDAX RP Tanım : RP pegister çiftinin içeriğini akümülatöre taşır.26 Opcode : 00111010 Komut adı : STA adres Tanım : Akümülatörün içeriğini belleğe taşır. Opcode : 00110010 Komut adı : LHLD adres Tanım : Verilen adresin içeriğini L’ye bir sonrakini H registerine taşır. Opcode : 00RP0010 Komut adı : XCHG Tanım : H ve L register içeriğini sırasıyla D ve E ile değiştirir.

Opcode : 00110100 Komut adı : INX RP Tanım : Register çiftinin içeriğini 1 ile toplar.27 Komut adı : INR M Tanım : Bellek içeriğini 1 ile toplar. Opcode : 00110101 Komut adı : DCX RP Tanım : RP register çifti içeriğinden 1 çıkartır. Opcode : 11000110 . Opcode : 00RP0011 Komut adı : DCR R Tanım : Register içeriğinden 1 çıkartır. Opcode : 10000110 Komut adı : ADI veri Tanım : Veri ve akümülatörü toplar sonucu akümülatörde saklar. Opcode : 00RP1011 Komut adı : ADD R Tanım : R register ve akümülatör içeriğini toplar sonucu akümülatörde saklar. Opcode : 10000SSS Komut adı : ADD M Tanım : Bellek ve akümülatörün içeriğini toplar sonucu akümülatörde saklar. Opcode : 00DDD101 Komut adı : DCR M Tanım : Bellek içeriğinden 1 çıkartır.

. Opcode : 10010SSS Komut adı : SUB M Tanım : Bellek içeriğini akümülatörden çıkartır sonucu akümülatörde saklar. Opcode : 11010110 Komut adı : SBB R Tanım : R register i ve elde bayrağını akümülatörden cıkartır sonucu akümülatörde saklar. Opcode : 11001110 Komut adı : DAD RP Tanım : RP register çiftini HL register çifti ile toplar sonucu HL register çiftinde saklar. Opcode : 10010110 Komut adı : SUI veri Tanım : Veriyi akümülatörden çıkartır sonucu akümülatörde saklar. Opcode : 00RP1001 Komut adı : SUB R Tanım : R register çiftini akümülatörden çıkartır sonucu akümülatörde saklar. Opcode : 10001SSS Komut adı : ADC M Tanım : Bellek ve elde bayrağını akümülatör ile toplar sonucu akümülatörde saklar Opcode : 10001110 Komut adı : ACI veri Tanım : Veri ve elde bayrağını akümülatör ile toplar sonucu akümülatörde saklar.28 Komut adı : ADC R Tanım : R register ve elde bayrağını akümülatör ile toplar sonucu akümülatörde saklar.

Opcode : 00100111 Komut adı : RLC Tanım : Akümülatörü bir bit sola döndürür. Opcode : 00000111 Komut adı : RRC .29 Opcode : 10011SSS Komut adı : SBB M Tanım : Bellek ve elde bayrağını akümülatörden çıkartır sonucu akümülatörde saklar. Opcode : 00101111 Komut adı : STC Tanım : Elde bayrağının değerini 1 yapar. Opcode : 00110111 Komut adı : CMC Tanım : Elde bayrağının değerini 0 ise 1. Opcode : 00111111 Komut adı : DAA Tanım : Akümülatörün içeriğini BCD sayıları ile çalışacak şekilde düzenler. Opcode : 11011110 Komut adı : CMA Tanım : Akümülatördeki sayının tümleyenini alır. 1 ise 0 yapar. Opcode : 10011110 Komut adı : SBI veri Tanım : Veri ve elde bayrağını akümülatörden çıkartır sonucu akümülatörde saklar.

Opcode : 11100110 Komut adı : XRA R Tanım : R registeri ile akümülatör arasında XOR işlemi yapar sonucu akümülatörde saklar. Opcode : 10100110 Komut adı : ANI veri Tanım : Veri ile akümülatör arasında VE işlemi yapar sonucu akümülatörde saklar. Opcode : 00010111 Komut adı : RAR Tanım : Akümülatörü elde bayrağı ile birlikte sağa kaydırır. Opcode : 10101SSS Komut adı : XRA M Tanım : Bellek ile akümülatör arasında XOR işlemi yapar sonucu akümülatörde saklar. Opcode : 10101110 .30 Tanım : Akümülatörü bir bit sağa kaydırır. Opcode : 10100SSS Komut adı : ANA M Tanım : Bellek ile akümülatör arasında VE işlemi yapar sonucu akümülatörde saklar. Opcode : 00001111 Komut adı : RAL Tanım : Akümülatörü elde bayrağı ile birlikte sola kaydırır. Opcode : 00011111 Komut adı : ANA R Tanım : R registeri ile akümülatör arasında VE işlemi yapar sonucu akümülatörde saklar.

31 Komut adı : XRI veri Tanım : Veri ile akümülatör arasında XOR işlemi yapar sonucu akümülatörde saklar. Opcode : 11111110 Komut adı : JMP adres Tanım : Komutta verilen adrese dallanır. Opcode : 11110110 Komut adı : (CMP R)1 Tanım : R registeri ile akümülatörü karşılaştırır sonuç bayrakların durumu ile gösterilir. Opcode : 10110110 Komut adı : ORI veri Tanım : Veri ile akümülatör arasında VEYA işlemi yapar sonucu akümülatörde saklar. Opcode : 10111110 Komut adı : (CPI veri)1 Tanım : Veri ile akümülarötü karşılaştırır sonuç bayrakların durumu ile gösterilir. Opcode : 10111SSS Komut adı : (CMP M)1 Tanım : Bellek ile akümülatörü karşılaştırır sonuç bayrakların durumu ile gösterilir. . Opcode : 10110SSS Komut adı : ORA M Tanım : Bellek ile akümülatör arasında VEYA işlemi yapar sonucu akümülatörde saklar. Opcode : 11101110 Komut adı : ORA R Tanım : R registeri ile akümülatör arasında VEYA işlemi yapar sonucu akümülatörde saklar.

Opcode : 11011010 Komut adı : JNC adres Tanım : Verilen adrese elde yok ise atlar. Opcode : 11010010 Komut adı : JZ adres Tanım : Verilen adrese sıfır ise atlar. Opcode : 11101010 Komut adı : JPO adres . Opcode : 11000010 Komut adı : JP adres Tanım : Verilen adrese pozitif ise atlar. Opcode : 11001010 Komut adı : JNZ adres Tanım : Verilen adrese sıfır değil ise atlar. Opcode : 11110010 Komut adı : JM adres Tanım : Verilen adrese negatif ise atlar. Opcode : 11111010 Komut adı : JPE adres Tanım : Verilen adrese çift parite ise atlar.32 Opcode : 11000011 Komut adı : JC adres Tanım : Verilen adrese elde var ise atlar.

Opcode : 11100100 . Opcode : 11010100 Komut adı : CC adres Tanım : Verilen adrese elde var ise atlar. Opcode : 11001100 Komut adı : CNC adres Tanım : Verilen adrese elde yok ise atlar. Opcode : 11001101 Komut adı : CNZ adres Tanım : Verilen adrese sıfır değil ise atlar. Opcode : 11011100 Komut adı : CPO adres Tanım : Verilen adrese tek parite ise atlar. Opcode : 11000100 Komut adı : CZ adres Tanım : Verilen adrese sıfır ise atlar.33 Tanım : Verilen adrese tek parite ise atlar. Opcode : 11100010 Komut adı : PCHL Tanım : HL register çiftini prıgram sayıcısına alır program kaldığı adresten devam eder. Opcode : 11101001 Komut adı : CALL adres Tanım : Verilen adresten programa devam eder.

Opcode : 11001001 Komut adı : RNZ Tanım : Ana programa sıfır değil ise döner. Opcode : 11110100 Komut adı : CM adres Tanım : Verilen adrese negatif ise atlar. Opcode : 11010000 Komut adı : RC Tanım : Ana programa elde var ise döner.34 Komut adı : CPE adres Tanım : Verilen adrese çift parite ise atlar. Opcode : 11000000 Komut adı : RZ Tanım : Ana programa sıfır ise döner. Opcode : 11111100 Komut adı : RET Tanım : Alt program sona erdikten sonra ana programda kaldığı adresten devam eder. Opcode : 11101100 Komut adı : CP adres Tanım : Verilen adrese pozitif ise atlar. Opcode : 11011000 . Opcode : 11001000 Komut adı : RNC Tanım : Ana programa elde yok ise döner.

Opcode : 11111000 Komut adı : RST n Tanım : Özel amaçlı bir CALL komutudur. Opcode’u 3. Opcode : 11101000 Komut adı : RP Tanım : Ana programa pozitif ise döner.35 Komut adı : RPO Tanım : Ana programa tek parite ise döner.. Opcode : 11n1n2n3111 Komut adı : XTHL Tanım : Yığının en üsteki byte‘i HL register çifti ile yer değiştirir. . Opcode : 11111001 Komut adı : OUT PORT Tanım : Akümülatörden porta bilgi gönderir. bitleri ile belirlenir. Opcode : 11100000 Komut adı : RPE Tanım : Ana programa çift parite ise döner. Opcode : 11100011 Komut adı : SPHL Tanım : HL register çiftini stack pointere aktarır. Opcode : 11110000 Komut adı : RM Tanım : Ana programa negatif ise döner. ve 5. 4.

M veya veri ise elde (CY) bayrağı 1 değerini alır. Opcode : 11011011 Komut adı : DI Tanım : Dışarıdan gelen maskelenebilir interrupt sinyallere tepki gösterir. Akümülatör > R.36 Opcode : 11010011 Komut adı : IN PORT Tanım : Porttan akümülatöre bilgi gönderir. Akümülatör ≠ R. M veya veri ise elde (CY) bayrağı 0 değerini alır. Opcode : 01110110 1 Akümülatör = R. Opcode : 11110011 Komut adı : EI Tanım : Dışarıdan gelen maskelenebilen interrupt sinyallerine tepki göstermez. . M veya veri ise sıfır (Z) bayrağı 1 değerini alır. Opcode : 11111011 Komut adı : NOP Tanım : Zamanlama programlarında işlemciyi bekletir. M veya veri ise sıfır (Z) bayrağı 0 değerini alır. Akümülatör < R. Opcode : 00000000 Komut adı : HLT Tanım : Đşlemcinin çalışması durdurulur.

INTEL MCS. KURTULDU Şaban . 1988. 1994. ADALI Eşref. Birsen Yayınları. 8 Bit Mikrobilgisayar.B. Mikroişlemciler. 1979. Đleri Elektronik 2. 2. Beta Basım A. 5. GÜLER Mehmet Ali ve VARGÖR. AYTAÇ Cihat ve KUNTALP Mehmet. M.Ş.. AKBAY Sönmez ve ÇETĐN Kadir. . Đntel Copreration. 1995. Mikroişlemciler / Mikrobilgisayarlar. 1993.E. 4.37 KAYNAKLAR 1. 3.80/85 User’s Manuel. Yayınları. Đlhan. Birsen Yayınları.

Sign up to vote on this title
UsefulNot useful