BÜLENT ÇOBANOĞLU'NUN WEB SİTESİ

 

 

 

 

 

      MOTOROLA MC6800 AİLESİ

 

Motorola MC6800 ailesi, MC6800 mikroişlemcisi ile başlamış ve zaman  içinde, MC6801, MC6802, MC6803, MC6805 ve MC6809 bu aileye katılmıştır. MC6800 ailesi içinde, işlemcilerin yapıları değişiklik gösteermekle beraber birbirlerine çok yakın özellikleeri vardır. Bu nedenle aynı giriş/çıkış arabirimlerini kullanabilmektedirler. MC6800 ailesi içinde MC6809 gelişmişlik yönünden en üst düzeyde olanıdır.

 

Aynı ailenin üyeleri MC6801 ve MC6805 kırmıkları mikroişlemci ve mikrobilgisayar olarak üretilmektedir. MC6800 ailesi içindeki mikroişlemcilerden bazıları, MC6800 ile aynı buyruk kümesini kullanmakla beraber bazıları MC6800 buyruklarına ek buyruklar da içermektedirler. Bazıları ise, ilke olarak aynı yapıda buyruklar içermektedirler.

 

MC6800 ailesi içinde yer alan mikroişlemci ve mikrobilgisayarlara topluca bakarsak şöyle bir tablo ortaya çıkmaktadırlar:

 wpe2.jpg (32238 bytes)

 

 

MC6802 Mikroişlemci

 

MC6802’nin özellikleri şöyle özetlenebilir:

           

¨      Sözcük uzunluğu 8-bit,

 

¨      Bellek adresleme yeteneği 64K,

 

¨      Veri yolu ve adres yolları birbirinden bağımsız,

 

¨      Saat devresi içinde,

 

¨      İçinde 128 Byte bellek,

 

¨      Kesme girişleri var.

 

MC6802’nin ayak bağlantıları Şekil 1 ve iç yapısı Şekil 2 de gösterilmiştir. Şekil 1.b’de iç yapısı görülen MC6802’nin, alt birimlerine ve uçlarına ilişkin açıklamalar şöyledir:

 wpe3.jpg (16713 bytes)

Şekil 1: MC6802 kırmığının ayak bağlantıları

 

Akümülatör: MC6802’de iki tane akümülatör bulunmaktadır ve bunlar ACCA ve ACCB olarak adlandırılmıştır. A ve B akümülatörleri özdeştir.

 wpe4.jpg (41981 bytes)

Şekil 2: MC6802  mikroişlemcisinin iç yapısı

 Program Sayacı (Program Counter): Program sayacı 16 bit uzunluktadır ve o anda işlenen buyruğun adresini gösterir.

 

Yığın Göstergesi ( Stack Pointer): 16 bit uzunluğunda olan yığın göstergesi, belleğin herhangi bir yerinde yığın kurabilmeye olanak sağlar.Yığın göstergesi , yığına atılacak verinin yazılacağı adresi gösterir. Yığına veri atıldıkça , yığının boyu aşağıya doğru uzamaktadır. Yani yığına her veri atıldığında , yğın göstergesinin değeri bir azalmaktadır.  Yığından her veri çekildiğinde ise, yğın göstergesinin değeri bir artmaktadır.

 

Sıralama Kütüğü (Index Register): Sıralama kütüğü 16 bit uzunluktadır. Sıralı adreslemede, 8 bitlik kayıklık kabul edebilir.

 

Durum Kütüğü (Condition Code Register): MC6802’de durum kütüğü 5 bitten oluşmaktadır. Bunlar sırasıyla Elde, Taşma, Sıfır, Negatif ve Yarım Elde bayraklarıdır. Durum kütüğü içinde, bir de kesme isteği denetim biti bulunmaktadır.MC6802’nin durum kütüğü, diğer kütüklerle birlikte Şekil 3 te gösterilmiştir

 

 wpe5.jpg (23145 bytes)


Şekil 3 :  MC6802 mikroişlemcisinin kütükleri ve Durum Kütüğünün iç yapısı.

 

MC6802’nin Ayak Bağlantıları

 

 

(A0-A15) Adres Yolu : 16 bitlik olan adres yolunun her bir hattı bir TTL yükü  sürebilecek yetenektedir. Adres yolu çıkışları iki konumlu kapı özelliğindedir.

 

(D0-D7) Veri Yolu : 8 bitlik veri yolu iki yönlü çalışmaktadır. Ayrıca, çıkış yönünde üç konumlu kapılardan oluştuğu için gerektiğinde, yalıtım durumuna girebilir. Her bir veri hatti 1 TTL  yük sürebilir.

 

(HALT) DUR : Konuma duyar olan bu giriş lojik 0 olduğunda, MİB elindeki son buyruğu tamamlar ve çalışmasını durdurur. Bu durumda, adres yolu bir sonraki buyruğun adresini gösterir. Yol kullanılabilir (BA) çıkışı lojik 1 ve Geçerli Bellek Adresi çıkışı (VMA) lojik 0 konumuna geçer. Kullanılmadığı durumda, +5V’a bağlanması gerekir.

 

(R/W) OKU/YAZ : Oku/Yaz çıkışı MİB ile bellek ve/veya giriş/çıkış arabirimleri arasında, lojik 1 iken okuma ve lojik 0 iken yazma işlevini yerine getirir. Kullanılmadığı durumlarda ve HALT konumunda lojik 1 seviyesindedir.  Oku/Yaz çıkışı, 1 TTL sürebilecek güçtedir.

 

(VMA, Valid Memory Address) Geçerli Bellek Adresi : İki  konumlu olan bu çıkış, adres yolu üzerindeki bilgilerin adres olup olmadığını belirtmeye yarar. En çok 1 TTL yük sürülebilir.

 

(BA, Bus Available) Yol Kullanılabilir : Bu çıkış veri ve adres yollarının, MİB dışındaki kullanıcılar için, kullanılmaya uygun olduğunu belirtir. MİB’nin HALT girişinin 0 olması ile durması veya WAIT buyruğu ile beklemesi sonucunda, üç konumlu çıkışlar, örneğin veri yolu yalıtım durumuna geçer. Ayrıca, adres yolu, iki konumlu olmasına karşın kullanılmaya açıktır.

 

Kesme Vektörleri : MC6802 ailesinde kesme hizmet programlarına dallanabilmek için kesme vektörü kullanılmaktadır. Bu yöntemde, kesme geldiği zaman gidilecek adres, belli bellek gözleri içine yazılır. Bunun sonucu olarak, kesme geldiğinde, önce kesme hizmet programın başlangıç adresi buradan öğrenilir ve ardından kesme hizmet programına gidilir. MC6802’de kesme hizmet programlarının yazılı bulunduğu adresler Tablo 1’de gösterilmiştir.

 

   wpe6.jpg (13958 bytes)

                                      Tablo 1

 

Tablo 1’den görüldüğü gibi donanım kesmelerine ek olarak bir de yazılım kesmesi bulunmaktadır. Yazılım kesmesi, SWI komutuyla verilen yazılım kesmesine rastlandığında etkin duruma gelir.

 

MC6802’de kesmelerin öncelik sırası şöyle belirlenmiştir:

 

 

·        Altbaştan (Reset)

·        Kesme (Maskelenemez kesme: NMI)

·        Kesme İsteği (IRQ)

 

 

(Reset) Altbaştan :   Reset girişi sıfır yapıldığında, program $FFFE-$FFFF bellek gözlerinden, bilgisayar altbaştan edildiği zaman işletilmesi gereken programın başlangıç adresini öğrenir ve bu adrese dallanır. Mikroişlemci altbaştan edildiğinde, Kesme isteği girişini etkisiz konuma geçirir.

 

(NMI, Non-Maskable Interrupt) Kesme : Kesme girişi sıfıra çekildiğine, MİB içindeki kütüklerin değerlerini Şekil 4’de gösterildiği biçimde yığına atılır. MİB kütüklerinin içerikleri yığına atıldıktan sonra, $FFFC ve $FFFD adres çiftinde belirtilmiş olan kesme istek hizmet programına dallanır.

 

(IRQ, Interrupt Request) Kesme İsteği : Kesme isteği girişi, Durum Kütüğü içinde bulunan Kesme Biti ile denetlenmektedir. Bu bitin 0 olması durumunda, IRQ girişinden gelen kesme isteklerine cevap verilir. Kesme bayrağının 1 olması durumunda ise, IRQ girişi etkisizdir. IRQ girişi etkin olduğu durumda, bu giriş sıfıra çekilirse, MİB elindeki son buyruğu işlemeyi tamamlar. Bunun ardından, MİB içindeki kütüklerin değerlerini Şekil 4’te gösterildiği biçimde yığına atar.

 wpe7.jpg (14130 bytes)

Şekil 4:  MC6802 mikroişlemcisinde, kesme işlemi sonunda kütük içeriklerinin yığına atılma sırası

 

Kesmenin alınmasından, gerekli bilgilerin yığına atılması işlemi sonuna kadar, kesme bayrağı, yeni bir kesme isteğine izin vermemek üzere 1 yapılır. MİB kütüklerinin içerikleri yığına atıldıktan sonra, $FFF8 ve $FFF9 adres çiftinde belirtilmiş olan kesme istek hizmet programına dallanılır. MC6802’nin kesme işlemleri ile ilgili akış diyagramı Şekil 5’te gösterilmiştir.

 

(RE, Ram Enable) Bellek Kullanılabilir: Bu giriş MC6802 kırmığı içinde bulunan 128 Byte’lık belleğin kullanılması veya kullanılmaması durumunu denetler.

 

(Extal, Xtal) Krirtal Uçları: MC6802 içinde osilatör devresi bulunmaktadır. Bu osilatörün rezonans frekansını belirlemek için, bu girişler arasına bir RC devresi bağlanabileceği gibi  kristal de bağlanabilir. Bağlanacak RC veya kristalin rezonans frekansı, mikroişlemci çalışma frekansını dört katı olmalıdır.

 

wpe8.jpg (32843 bytes)

Şekil 5:  MC6802 mikroişlemcisinde, kesme hizmet programına ilişkin akış diyagramı

 

(MR, Memory Read) Belleği Oku: Erişim hızı yavaş olan bellekler ile uyuşumu sağlamak

için kullanılır. Erişim hızı, mikroişlemci hızına uygun olan bellekler için bu girişin lojik 1’de tutulması yeterlidir.

 

(E, Enable) Saat: MİB ve diğer birimler için gerekli saat işareti çıkışıdır.

 

(Vcc Stanby) Bekleme Gerilimi: MC6802 besleme gerilimi kesildiği zaman, içinde bulunan ve $0000-$001F arasındaki bellek gözleri içeriğinin saklanabilmesi için kullanılan özel bir giriştir.

  

MC6802 Mikroişlemcisinin Adresleme Yeteneği

 

MC6800 ailesi, beş temel tür adresleme yöntemi kullanılabilmektedir. Bu yöntemler aşağıda, MC6800 ile ilgili yayınlarda kullanılan İngilizce  karşılıkları ile birlikte verilmiştir.

 

·        İvedi Adresleme                             Immeditate Addressing

 

·        Doğal Adresleme                             Implied Addressing

 

·        Doğal Adresleme                            Accumulator Addressing

 

·        Doğrudan Adresleme                      Direct Addressing

 

·        Doğrudan Adresleme                      Extended Addressing

 

·        Sıralı Adresleme                             Indexing Addressing

 

·        Bağıl Adresleme                             Relative Addressing

 

 

İvedi Adresleme : MİB içindeki akümülatör ve kütükler, boylarına uygun verilerle ivedi olarak yüklenebilirler.

 

Doğal Adresleme : Doğal adreslemeye karşılık olarak da “accumulator” ve “implied” adresleme yöntemleri kullanılmaktadır. İki adresleme kavramına uygundur. Sadece adlandırmada farklılık gösterilmiştir.

 

Doğrudan Adresleme : Doğrudan Adreslemenin, $0000-$00FF arasında yapılması ile tüm bellek alanını kapsaması farklı adresleme biçimi olarak adlandırılmıştır. $0000-$00FF arasındaki bellek gözlerinin adreslenmesi için doğrudan adresleme kullanıldığında, buna        “direct”  tüm belleğin doğrudan adreslenmesi için doğrudan adresleme kullanıldığında “extended”  adresleme adı kullanılmaktadır. İlk sayfa olarak da adlandırılan $0000-$00FF bellek alanı içini, özel doğrudan adresleme yönteminin kullanılması, MC6800’e buyrukları daha kısa yazabilme ve daha hızlı çalışabilme olanağı kazandırmaktadır. Örneğin LDA A, <$0010> buyruğu iki türlü yazılabilir:

 

            LDA A, <$10>                       96 10

            LDA A, <$0010>                    B6 00 10

 

Aynı işlemi yerine getirmek üzere yazılan bu iki buyruktan birincisi, iki byte içine yazılabilirken, ikincisi üç byte içine yazılabilmektedir. Buna ek olarak birinci örnek buyruk 3 makine çeviriminde işlenirken, ikincisi 4  makine çeviriminde işlenebilmektedir.

 

 

Sıralı Adresleme : Sıralama Kütüğünün içeriği ve kayıklığa bağlı olarak sıralı adresleme yapılabilir. Sıralama Kütüğü 16 bit uzunlukta olduğu için, bellek içinde her adres için sıralı adresleme geçerlidir. Kayıklık 00-$FF arasında ve işaretsiz sayı olarak kullanılabilir. Bu nedenle, sıralanmış verilerin boyu, 256 olarak sınırlıdır. Ancak biraz evvel belirtildiği gibi, belleğin her yerinde oluşturulabilirler.

 

Bağıl Adresleme : Bağıl Adresleme sadece dallanma buyrukları için geçerlidir. Dallanma ileri ve geri yönde yapılabilir. Bu nedenle ileri dallanmalar $00-$7F ve geri dallanmalar $FF-$80 arasında kalır.

 

MC6800 ailesinde kullanılan buyruk kümeleri Tablo 2, 3, 4, 5, 6, 7 ve 8’de verilmiştir. Bu tablolarda görülen M bir veri ya da bellek gözü içeriği anlamındadır. Taşıdığı anlam buyruğa göre değerlendirilmektedir.

 

MC6800 ailesinde giriş/çıkış arabirimleri, bellek içinde yer almaktadır. Bu nedenle, buyruk kümesi içinde, giriş/çıkış işlemleri için ayrıca buyruk takımı yoktur.

 

 

Tablolarla ilgili temel tanımlar :

 

            I : İvedi Adresleme

 

            D : İlk sayfa Doğrudan Adresleme

 

            S : Sıralı Adresleme

 

            G : Tüm bellek Doğrudan Adresleme

 

            L : Bağıl Adresleme

 

 wpe9.jpg (48683 bytes)

 

                                    Tablo2

 wpeA.jpg (57227 bytes)k

                                    Tablo3

 wpe1.jpg (33879 bytes)

                                    Tablo4

 wpe2.jpg (63247 bytes)

                                    Tablo5

 wpe3.jpg (50367 bytes)

                                    Tablo6

 wpe4.jpg (28903 bytes)

                                    Tablo7

 wpe5.jpg (73198 bytes)

                                    Tablo8

 wpe7.jpg (17030 bytes)

Şekil 2:  MC6821 PİA kırmığının ayakları

 

·        İskele

 

·        Yönlendirici

 

·        Durum ve denetim kütüğü

 

 

wpe8.jpg (45021 bytes)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

İskele (Peripheral Interface) : İskele, PİA nin dışa bağlantısını sağlar ve 8 kapısı bulunmaktadır. Bu kapıların her biri, giriş ya da çıkış olarak kullanılabilir. Çıkış durumunda, her kapı bir TTL kapı özelliği gösterir.

Yönlendirici (Data Direction Register) : İskelenin her kapısına, yönlendiricide bir bit karşı düşer. Yönlendiricideki bir bitin sıfır olması, ilişkili kapının alıcı ve bir olması verici olmasını belirler. Dolayısı ile, iskele içindeki kapıların alıcı ya da verici olarak koşullanması, yönlendirici ile belirlenir.

 

Durum/Denetim Kütüğü (Status/Control Register) : PİA’nin durumu ve denetimi ile ilgili kütüktür. Hem denetim ve hem de durum belirttiği için bu adı almıştır. Durum denetim kütüğünün işlevleri ile ilgili açıklamalar aşağıda verilmiştir:

 

CA1 (CB1) Denetimi : Çevre birimden gelen bu giriş ile, çevre birimin durumu öğrenilmektedir. Çevre birimlerin hazır olup olmadıklarını göstermede belli bir standartlaşmaya gidilmediği için, Durum/Denetim kütüğü içindeki D0 ve D1, hazır girişi olarak da andığımız CA1 (B iskelesi için CB1) girişini denetlemek için ayrılmıştır.

 

D1 biti, hazır girişinin hangi lojik geçiş durumunda etkin olacağını belirler. D1=0 ise, hazır girişinin 1’den 0’a geçişi ve D1=1 ise 0’dan 1’e geçişi etkin durum olarak seçilmiş olur. Hazır girişi, etkin bir değer aldığında, kütük içindeki D7 bayrağı 1 olur ve böylece çevre birimin durumu anlaşılır. D7 bayrağının silinmesi için Durum/Denetim Kütüğünün okunması gerekir.

 

D0 biti ise, hazır girişin etkin olduğu durumda, D7 durum bayrağının çekilmesine ek olarak, IRQ çıkışından (A için IRQA ve B için IRQB) kesme çıkışı üretmek için kullanılır. D0=0  ise, kesme üretilmez, D0=1 ise kesme üretilir

 

CA2(CB2) Denetimi : MC6821’de el sıkışma için gerekli olan diğer hat alıcı ve verici olarak çalışabilmektedir. Bu hattın alıcı ya da verici olarak çalışmasını, D5 biti belirlemektedir. D5=0 ise CA2 (CB2) alıcı olarak çalışmaktadır. D5=1 ise verici olarak çalışmaktadır.

 

CA2 veya CB2 nin alıcı olarak çalışması seçilir ise, koşullanması, CA1 veya CB1 in koşullanması ile aynıdır. Tek farkla, koşullama, D3 ve D4 bitleri ile gerçeklenir. Bir başka deyişle, D0 ın yerini D3 ve D2 nin yerini D4 alacaktır. CA2 veya DB2 nin etkin konumunu göstermek üzere D6 durum bayrağı kullanılmaktadır. Bu girişin etkin durumunda, kesme üretilir ya da üretilmez. Üretilir ise, aynı kesme çıkış ucundan belirtilir. Bu nedenle, MC6821 den bir kesme alındığında, bu kesmenin nereden geldiğini anlamak için,  durum kütüğü içindeki D6 ve D7 bayraklarına bakmak gerekir. Hatırlanacağı gibi, bu bayrakları silmek için gerek ve yeter koşul Durum/Denetim Kütüğünün okunmasıdır.

 

AL çıkışı olarak çalışacağı, verici durumunda ise, D3 ve D4 bitlerinin etkisi şöyledir: D4=1 ise, bu durumda, D3=1 yapılırsa, AL çıkışı 1 konumuna geçer, D3=0 yapılırsa AL 0 konumuna geçer. D4 ün sıfır olması durumunda ise, AL çıkışın alacağı değer, A ve B iskeleleri  için farklıdır. Önce A iskelesi için durumu açıklarsak: D4=0 ve D3=0 ise, A iskelesindeki verinin okunmasının hemen ardından, AL çıkışı sıfır konumuna geçer ve hazır girişinin (CA1) ilk etkin duruma geçmesi ile tekrar 1 konumuna geçer. D4=0 ve D3=1 ise, A iskelesindeki verinin okunmasının hemen ardından, AL çıkışı sıfır konumuna geçer ve E saat işaretinin 1’den 0’a inmesi ile tekrar 1 konumuna geçer. B iskelesine ilişkin CB2 nin çalışması şöyledir: D4=0 ve D3=0 ise, B iskelesine bir veri yazılmasının hemen ardından, AL çıkışı sıfır konumuna geçer ve hazır girişinin (CB1) ilk etkin duruma geçmesi ile tekrar 1 konumuna geçer. D4=0 ve D3=1 ise, B iskelesine bir veri yazılmasının hemen ardından, AL çıkışı  sıfır konumuna geçer ve E saat işaretinin 1 den 0 a inmesi ile tekrar 1 konumuna geçer.

 

Durm/denetim kütüğünün yapısı, Şekil 8’de gösterilmiştir.

 wpe9.jpg (9136 bytes)

Şekil 8 : MC6821 kırmığının Durum/Denetim Kütüğünün yapısı

 

 

Veri Yönlendirme: Durum/Denetim Kütüğünün üçüncü biti, PİA içinde veriye yön vermeye yarar. MC6802 de Yönlendirici ve İskele aynı adrese yerleştirilmiştir. Bunun sonucu olarak bir anda hangisinin seçildiğini belirtmek için bir yönlendirici gerekmiştir. D2 biti sıfır ise, veriler yönlendiriciye ve bir iskeleye gidecek şekilde çalışmaktadır. Durum/Denetim Kütüğünün genel görünümü Tablo 9’da gösterilmiştir.

 

 

MC6820 PİA Kırmığının Uçları

 

Alt Birimlerin Seçiciler  :  MC6821 içindeki ortak veri yoluna bağlı alt birimleri seçebilmek için RS0 ve RS1 kütük seçici girişleri kullanılmaktadır. Bir önceki paragrafta belirtildiği gibi, bu seçime Durum/Denetim Kütüğünün üçüncü biti de katılmaktadır. MC6821 içindeki alt birimlerin seçimi Tablo 9’da verilmiştir.

 

 

Tablo 9

MC6821 PİA kırmığında, altbirimlerin seçilme yöntemi

 wpeA.jpg (17379 bytes)

 

Veri Yolu (D0-D7) :  MC6821 içinde birçok alt birim bulunmaktadır ve bu alt birimlerden çoğu, ortak bir veri yolu üzerinden birbirlerine bağlıdır. MC6821 in iç veri yolu olarak adlandırabileceğimiz bu yol bilgisayar veri yoluna, iki yönlü çalışabilen bir sürücü üzerinden bağlanmıştır. Sürücü bilgisayar veri yoluna doğru üç konumlu kapı özelliği göstermektedir. MC6821 içindeki alt birimlerin MİB tarafından okunması durumunda, alt birimin içeriği sürücü çıkışında, yani veri yolu üzerinde görülür.

 

Canlandırma (Enable) : MC6821 içindeki alt birimlerin birbirleri ile ve MİB ile uyum içinde çalışabilmeleri için gerekli olan işarettir. MC6800 mikroişlemcisi ile kurulmuş bilgisayarda, sistem saati canlandırma işareti olarak kullanılır.

 

Seçiciler (CS0, CS1, CS2) : MC6821 kırmmığını seçmek için üç seçici giriş, kırmıkta bulunmaktadır. Dikkat edilirse, seçme girişlerinden CS0 ve CS1 lojik 1 de CS2 lojik 0 da etkindir.  Seçici giriş sayısının birden fazla olması, kırmığın seçimi için tasarlanacak adres çözücü devrenin basitleşmesini sağlamaktadır.

 

Oku/Yaz : MC6821içindeki alt birimlerin okunması veya bu birimlere veri yazılması işlemlerini belirtir.

 

Albaştan (Reset) : Bu girişin, sıfıra çekilmesi, MC6821 içindeki tüm kütüklerin sıfırlanmasına neden olur.

 

 

MC6850 Asenkron Seri İletişim Arabirimi

 

MC6850, Motorola mikroişlemci ailesi için olduğu kadar başka mikroişlemci aileleri içinde de kullanılabilecek bir Asenkron Seri İletişim Arabirimi  (ASİA) dir. MC6850 nin görünümü Şekil 10 ‘da verilmiştir.

 

 wpeB.jpg (15031 bytes)

Şekil 9 : MC6850 ASİA kırmığının ayakları

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Şekil 10’dan görüldüğü gibi MC6850 temelde Alıcı ve Verici alt birimlerinden kuruludur. Bunlara ek olarak bir durum kütüğü ve bir denetim kütüğü bulunmaktadır. Ayrıca alıcı ve vericinin çalışmasını yönlendirecek yardımcı alt birimler bulunmaktadır. MC6850 asenkron giriş/çıkış arabiriminin çalışması ve alt birimlerine ilişkin açıklamalar verilmiştir. 

 

 

 

Verici (Transmit Shift Register) : Verici temelde paralel yüklenen ve seri ötelemeli bir kütüktür. Vericiye veriler, ASİA içindeki iç veri yolu üzerinden paralel olarak gelmektedir. Verici öncesinde bulunan Verici Veri Kütüğü, Vericsi ile MİB arasındaki  veri  alışverişinde yardımcı bir görev yürütür. MİB nin gönderdiği veri bu kütüğ yazılır ve verici boşaldığında Vericiye aktarılır. Böylece, verici hızı artırılır. Vericiye bağlı olan eşlik anlaşmasına ve verici  içine yerleşmiş olan veriye bakarak eşlik bitini hesaplar ve yerine yerleştirir. Vericinin boş ya da dolu olduğu, durum kütüğünde belirtilir.

 

Alıcı (Receive Shift Register) : Alıcı, seri giriş paralel çıkışlı bir kütüktür. Alıcıya gelen verinin sağlıklı olup olmadığı alıcı denetim, eşlik sınayıcı ve durum kütüğü tarafından incelenir. Alıcıya tam olarak yerleşen veri daha sonra, MİB nin okuması için Alıcı Veri  Kütüğüne aktarılır. Bu aktarmanın ardından, Alıcı yeni bir veriyi almaya hazırdır.

 

 

Durum Kütüğü (Status Register) : Durum kütüğü, alıcı ve vericiye ilişkin durumları içerir. Durum kütüğü bitlerinin taşıdığı anlamlar şekil 11’de gösterilmiştir.

 wpeC.jpg (15219 bytes)

Şekil 11 : MC6850 ASİA kırmığının durum kütüğü içeriği

 

Şekil 11’den görüldüğü gibi denetim kütüğünün bitleri şu işlevleri yürütmektedir:

 

D0: D0=1 ise alıcı dolu D0=0 ise alıcı boş demektir.

D1: D1=1 ise verici boş D1=0 ise verici dolu demektir.

D2: Modemden gelen taşıyıcı sinyalin (DCD) varlığı D3=1 olarak belirtilir.

D3: Çevre birimden gelen Göndermek için Sil  (CTS) sinyalinin varlığı  D3=1 olarak belirtilir.

D4: D4=1 ise çerçeve yanılgısı oluşmuştur.

D5: D5=1 ise çiğneme yanılgısı oluşmuştur.

D6: D6=1 ise eşlik yanılgısı oluşmuştur.

D7: Kesme oluşmuş ise bu bayrak lojik 1 konumuna geçer.

 

MİKROBİLGİSAYARLAR

mikroişlemciler genel amaçlı bilgisayarların MİB olarak kullanıldıkları gibi,özel amaçlı , atanmış bilgisayarlarında MİB olarak kullanımaktadırlar.atanmış bilgisayarlar , belli bir amaç için gerçeklendiklerinden donanımları ve yazılımları kullanım amacına göre düzenlenir. Atanmış bilgisayarlar bu özelliklerinden dolayı, küçük kapasiteli bir belleği içerirler. Belleğin geniş bir alanı salt oku türden ve küçük bir alanı oku/yaz türü bellekten oluşur. Atanmış mikrobilgisayar olgusu, üretici firmaları , tek kırmık içinde mikrobilgilsayar üretmeye yöneltmiştir. günümüzde intel ve motorola v e diğer  yarıiletken üreticileri ,mikrobilgisayar kırmıkları üretmektedir.pazarlanan üretimlerde , 2-8K arasında değişen bir salt oku bellek , 128-256 Byte   kadar yaz oku bellek bulunmaktadır.

   Giriş/çıkış arabirimi olarak iki veya üç iskelesi olan PİA ve bazılarında ASIA bulunmaktadır. Bazı mikrobilgisayarlarda analog giriş ve çıkışa  olanak sağlamak için ADÇ ve DAÇ de bulunmaktadır. Çoğunluk mikrobilgisayarlarda  programlanabilir sayıcı yer almaktadır. Günümüzde , atanmış mikrobilgisayarlar genellikle denetim amcıyla kullanılmaktadırlar. Bunun sonucu olarak zaman zaman mikro denetçide  denir.

 

MOTOROLA MC6805 AİLESİ

 

MC6805’in Donanım Özellikleri

 

MC6805  ailesi  içinde çeşitli mikrobilgsayar örnekleri bulunmaktadır. Bu örnekler içinde bazıları bellek ve giriş-çıkış arabirimi açısından daha kısıtlıdır. Bazı örneklerde  analog giriş ve çıkış olanakları vardır. Ancak bu aile içindeki tüm mikrobilgisayarlar aynı yazılım özelliğindedirler. “MC6805  ailesi içindeki her mikrobilgisayarın rom ve eprom modeli bulunmaktadır. Bunun sonucu olarak , düşük sayıdaki kullanımlar için  EPROM lu model, çok sayıdaki üretimler için  ROM lu model daha ekonomik olmaktadır.

   Şimdi sadece örnek olmak üzere MC6805P2 (EPROM lu modeli MC68705P3) incelenecektir. MC6805P2 nin özellikleri genel hatları ile şöyledir:

·      8-bit mimari,

·      64 Byte oku/yaz bellek,

·      bellek içi giriş/çıkış arabirimi,

·      2K ya yakın salt oku bellek,

·      3PİA :      

·      A iskelesi 8-bitlik,

·      B iskelesi 8-bitlik,

·      C iskelesi 4-bitlik,

·      saat devresi kırmık içinde,

·      8-bitlik programlanabilir sayıcı.

MC6805P2 nin iç genel donanım yapısı aşağıda verilmiştir.

 wpeD.jpg (26276 bytes)

Şekil(1)de de görüldüğü gibi, M6805 te bir akümülatör, bir sıralama kütüğü bulunmaktadır. Şekil(2)de ayrıntılı olarak gösterildiği gibi, akümülatör ve sıralama kütüğü  8 bitlik,program sayacı 10 bitliktir. Ve en çok 2K bellek gözünü adresleyebilir. Yığın göstergesi 10 bitlik olmasına karşın, yığın  $7F den aşağıya doğru kurulabilir. Ayrıca yığının boyuda en çok 31 byte olabilir. Durum kütüğü ise  M6800 ailesinin aynıdır.

 

   M6805’in bellek haritasına bakıldığında üç kısma ayrılmıştır:

   

 

1.    Giriş/çıkış iskeleleri ve sayıcı ile ilgili kısım,

2.    Oku/Yaz bellek alanı,

3.    Salt oku bellek alanı. Bu alan ROM içeren MC6805P2 de üretim sırasında programlanabilir. EPROM lu model olan M68705P3 te ise, bu alanda EPROM bulunmaktadır.

  


 

                        Mc6805 Mikrobilgisayarın Kütükleri

 wpeE.jpg (30433 bytes)

Yukarıdaki şekilde bir Mikrobilgisayarın  Bellek Haritası Verilmiştir

 wpeF.jpg (14432 bytes)

                             Mc6805 Microbilgisayarının Ayak Bağlantıları

 

 MC6805’te üç tane iskele bulunmaktadır. Bunlar A,B ve C olarak anılırlar. Bu üç iskelede yazılım yoluyla koşullanabilmektedir. Bu üç iskelenin her bir kapısı, alıcı yada verici olarak koşullanabilir. Koşullama işlemi, koşullanacak iskeleye ilişkin yönlendirici kütüğe yazılan verilerle gerçeklenir. Yönlendiricide bir bite 1 yazılması, bu bitin denetiminde olan iskelenin verici ,0 yazılması alıcı olarak çalışmasını sağlar.

     Kesme işlemleri olarak RESET,SWI (yazılım kesmesi),INT(kesme) ve Sayıcıdan gelebilecek kesmeler bulunmaktadır. Kesme hizmet programlarının başlangıç adresleri , vektör biçiminde saklanırlar ve bulundukları adresler tabloda verilmiştir.

      Kesme alındığında , yığına ,DK,ACC,SK ve PS nın içerikleri atılmaktadır. Bu kütük içeriklerinin yığına hangi sırayla atıldıkları aşağıdaki şekilde gösterilmiştir.

 

MC6805'te Kesme Vektörleri

 

 wpe10.jpg (9381 bytes)

PSA : PS’NIN ALÇAK KISMI

PSY : PS’NIN YÜKSEK KISMI

 

Mc6805 Mikrobilgisayarının Kesme Sonrası Yığınının Aldığı Durum

 

MC6805’in Yazılım Özellikleri

 

  MC6805’in yazılım özellikleri MC6800’ e benzer. Ancak makine  kodlarında farklılıklar vardır. MC6805 şu adresleme yöntemlerinde çalışabilmektedir:

         

·      İvedi

·      Doğal

·      Doğrudan

·      Sıralı

·      Bağıl

·      Bit Kur/Sil

ivedi adresleme

       

     Bu adresleme yönteminde ACC ve SK 8-bitlik veri ile yüklenebilir.ACC üzerinde 8-bitlik   aritmetik ve lojik işlemler yerine getirilebilir.

 

Bağıl adresleme

 

      sadece dallanma buyrukları için geçerlidir. Dallanma ileri ve geri yönde yapılabilir. İleri yönde  $7F ve geri yönde $80’e kadar dallanılabilir.

 

 

Sıralı adresleme

Sıralama kütüğüne bağlı olarak gerçeklenen sıralı adresleme yönteminin 3 turu bulunmaktadır. Bunlardan ilkinde,sıralama kutuğune kayıklık eklenemez. Yani 0 ötelemeli sıralı adreslemedir. İkinci türde,kayıklık 8 bit ve 3.türde ise kayıklık 16 bit olarak işleme girmektedir. Bu 3 sıralı adresleme yöntemi ile boyu 8 bit içinde kalmak üzere,belleğin herhangi bir yerinde dizi kurula bilir. Tablolarda kayıklığı olamayan sıralamalı adresleme SI 0 kısaltması ile verilmiştir. Benzer şekilde,8 bitlik kayıklık SI 16 kısaltması ile gösterilmiştir.

BIT KUR/SİL ADRESLEME   YÖNTEMİ

 

    Bu adresleme yönteminde , bellek içindeki bir bellek gözünün herhangi bir biti 1 yada 0 yapılabilir. Ayrıca, bir bellek gözünün bir bitinin 1 yada 0 olmasına göre dallanılabilir.

 Görüldüğü gibi,M6805 ailesi M6800 ailesinde bulunan yazılım özelliklerini  kapsadığı gibi ,bit üzerinde oynayabilme yeteneğini de bulunmaktadır.

 

                         Okuma / Değiştirme / Yazma Bellek Buyrukları

 wpe11.jpg (49062 bytes)

                                                Kütük Bellek Buyrukları

 wpe12.jpg (57113 bytes)

Denetim Buyrukları

 wpe13.jpg (26599 bytes)

                         wpe14.jpg (18633 bytes)

 

         Dallanma Buyrukları

 wpe16.jpg (42050 bytes)

SİSTEM GELİŞTİRME

Mikrobilgisayarlar,sınırlı bellek ve giriş/çıkış ara biriminin bir kırmık içinde MIB bağlanması sonucunda elde edilirler. Böylece küçük bir hacim içinde,yetenekli bir çözüm sunarlar.

            MC6805 örneğinde olduğu gibi tek kırmık mikrobilgisayarlarda,kullanıcı sadece ,3 iskelenin kapıları görebilmektedir. Bunun sonucu olarak bilgisayarın belleğine ve MIB’ ne ulaşamamatadır.Bu nedenle böyle bir kırmık ile sistem geliştirilmesi düşünülemez.MC6805 ailesinden bir mikrobilgisayarı kullanmak isteyen tasarımcı için ikili seçenek vardır. Bunlardan birincisinde,M6805’ei simule eden gelişmiş bir bilgisayar sisteminde çalışmak ve sonuçları irdelemek, sonuçta da elde edilen bir programı,kullanılması düşünülen M6805’e aktarmaktır.

İkinci yöntem daha ucuza mal olaması bakımından ilginçtir.Mc6805 ile yazılım olarak aynı olan ancak Mıb özelliğinde bir kırmık vardır ve bunlarda MC146805E2’dir.bu MIB kullanılarak ,MC6805 ‘e benzer bir geliştirme bilgisayarı gerçeklenir. Her iki yolla gerçeklenecek olan yazılım,sonuçta ,2K’lık bir eproma yüklenecektir. Bu eprom 2716 olarak anılır. Daha sonra bu epromdaki bilgilerin M68705’e aktarılması gerekir.MC68705’in içinde bu aktarmayı sağlayacak yazılım hazır bulunmaktadır. Tek yapılması gereken işlem ,aktarma için gerekli donanımı bulmaktır. 2716 2K’lık EPROMDA bulunan MC68705 aktarmak için gereken donanımın basitleştirilmiş şekli gösterilmiştir. Bu şemada görülen 4040 , 2K’ya kadar ikilik düzende sayabilen bir sayıcıdır.

 
 

 

              Mc6805 Microbilgisayarının Programlanması İçin Kulanılan Devre

 

        ÖRNEK PROGRAMLAR(6502,8086)

1-    Buble sort programı ( sıralama ) örneği

 

THIS SUBROUTINE ARRANGES THE 8-BIT ELEMENTS OF A LIST IN ASCENDING

;ORDER.  THE STARTING ADDRESS OF THE LIST IS IN LOCATIONS $30 AND

;$31.  THE LENGTH OF THE LIST IS IN THE FIRST BYTE OF THE LIST.  LOCATION

;$32 IS USED TO HOLD AN EXCHANGE FLAG.

 

SORT8    LDY #$00      ;TURN EXCHANGE FLAG OFF (= 0)

         STY $32

         LDA ($30),Y   ;FETCH ELEMENT COUNT

         TAX           ; AND PUT IT INTO X

         INY           ;POINT TO FIRST ELEMENT IN LIST

         DEX           ;DECREMENT ELEMENT COUNT

NXTEL    LDA ($30),Y   ;FETCH ELEMENT

         INY

         CMP ($30),Y   ;IS IT LARGER THAN THE NEXT ELEMENT?

         BCC CHKEND

         BEQ CHKEND

                       ;YES. EXCHANGE ELEMENTS IN MEMORY

         PHA           ; BY SAVING LOW BYTE ON STACK.

         LDA ($30),Y   ; THEN GET HIGH BYTE AND

         DEY           ; STORE IT AT LOW ADDRESS

         STA ($30),Y  

         PLA           ;PULL LOW BYTE FROM STACK

         INY           ; AND STORE IT AT HIGH ADDRESS

         STA ($30),Y

         LDA #$FF      ;TURN EXCHANGE FLAG ON (= -1)

         STA $32

CHKEND   DEX           ;END OF LIST?

         BNE NXTEL     ;NO. FETCH NEXT ELEMENT

         BIT $32       ;YES. EXCHANGE FLAG STILL OFF?

         BMI SORT8     ;NO. GO THROUGH LIST AGAIN

         RTS           ;YES. LIST IS NOW ORDERED

 

2-        [0020] adresindeki veriyi bir bit sola kaydıran ve bir sonraki adrese aktaran program

        STA $20

        ASL

        STA $21

                     BRK

 

 

 

| ana sayfa | bulanık mantık | yapay zeka | pic | plc | paralel port | mikroişlemciler | assembly | programlama temelleri | elektronik dergiler | program örnekleri |
| universiteler | resmi kurumlar | sertifika programları | download siteleri | iletişim sistemleri | fotoğraf albümü | özgeçmiş | mesaj panosu| arama motorları | mezunlar

 

Sahibi © Öğr.Gör.BÜLENT ÇOBANOĞLU
Tasarım ve Kodlama © BİLGİSAYAR PROGRAMCISI MEHMET YAVAŞ

İçerik hazırlama: BÜLENT ÇOBANOĞLU
Bu siteyi en iyi IE4.0 ve üzeri browser, 1024x768 ekran genişliği ve yüksek renk modunda izleyebiliriniz.
                                                Her hakkı saklıdır.