Elektrik Mühendisliği · Sayı 258 · Haziran 1978

BİR MİKROİŞLEMCİ VE MİKROBİLGİSAYAR ÖĞRENİM VE UYGULAMA SİSTEMİNİN TASARIM VE GERÇEKLEŞTİRİLMESİ

Erdal Nusoğlu, Füsun Erdim, Ender Kefoğlu, Hulusi Sağ

Elektronik ve yarı iletkenler Teknik / bilimsel makale

Yıl
1978
Sayfa
7
Okuma süresi
16 dk
Görüntülenme
0

Konu

Elektronik ve yarı iletkenler

İlgili: Mühendislik eğitimi, Kontrol, otomasyon ve robotik

Anahtar kelimeler

  • mikroişlemci
  • Motorola MC6800
  • mikrobilgisayar
  • TES-68
  • EPROM
  • TESTAŞ

Özet

TESTAŞ Araştırma Geliştirme Merkezi tarafından Motorola MC6800 mikroişlemcisine dayalı olarak tasarlanan TES-68 mikroişlemci öğrenim ve uygulama sisteminin donanım ve yazılım özellikleri, bellek ve giriş/çıkış birimleri ile uygulama örnekleri ayrıntılı olarak anlatılmaktadır.

Tam metin

Metin PDF'ten otomatik çıkarılmıştır; tablo, şekil ve formüller eksik ya da hatalı olabilir. Özgün dizgi için PDF'e bakın.

bir mikroişlemci ve mikrobilgisayar öğrenim ve uygulama sisteminin tasarım ve gerçekleştirilmesi

Erdal NUSOĞLU , Füsun ERDİM , Ender KEFO6LU , Hulusi SAÛ

UDK: 621.3.049.771.14

ÖZET

Mikroişlemcilerin verimli biçimde kullanılabilmeleri için, kullanım, tasarım ve programlama özelliklerinin öğrenilmesi gereklidir. Yazıda, bu amaç için gerçekleştirilmiş bir mikrobilgisayarın genel donanım ve yazılım özellikleri incelenmek tedir. Donanım birimleri arasında kurulan ilişkiler, kullanılan bilgi yapıları ve mikrobilgasayarlarla çevresi arasındaki bil gi alışveriş yöntemleri, ilgili yazılım öğeleri ile birlikte açıklanmaktadır. Mikrobilgisayarın kullanım alanından örnekler verilmektedir.

S UM M AR Y in order to utilize microprocessors efficiently, their design and programming characteristics must be ıvell understood. A microcomputer, designed and implemented for this purpose, is being investigated from the harduıare and softtuare points of vieuı. Relations among the various harduıare units, implemented data structures and the means of information flow betıveen the microcomputer and its environment is explained together with its software aspects. Application area of the microcomputer is briefly examplified.

I. GİRİŞ

Elektronik mühendislerinin, genel amaçlı devre eleman ları mikroişlemcileri tanımaları ve uygulayabilmeye baş lamaları çeşitli biçimlerde olabilir. Bu yollardan en etkin ve ekonomik olanı bir mikroişlemci öğrenim sisteminden yani bir küçük mikrobilgisayardan yararlanmaktır. Bu yazıda TESTAŞ Araştırma Geliştirme Merkezince, ülke mizde mikroişlemcilerin öğrenimini hızlandırmak, kolay laştırmak ve uygulamalarını yaygınlaştırmak amacı ile tasarlanıp gerçekleştirilen bir mikrobilgisayar tanıtıla caktır.

II. GENEL ÖZELLİKLER

Kısaca TES 68 diye adlandırılacak olan mikroişlemci öğ renim ve uygulama sistemi Motorola MC6800 mikroiş

Erdal Nusoğlu, Füsun Erdim, Ender Kefoğlu, Hulusi Sağ TESTA Ş

lemcisine dayalı küçük bir mikrobilgisayardır. Adı geçen mikroişlemcinin yetenekleri günümüzdeki mikroişlemci lerin bazılarından daha sınırlı olsa da mimarisi, giriş çı kışiarı, çevre elemanları ve komut kümesi ile hem en ko lay anlaşılır ve uygulanır mikroişlemcilerden biri olmaya, hem de elektroniğin; cihazlar (Instrumentation), bilgisa yar çevre birimleri otomotiv elektroniği, tıbbi elektronik gibi dallarında, çok yaygın biçimde uygulanmaya devam etmektedir. Ayrıca bu yılın ilk yarısında üretimine başla nan MC6802 iki yongalı sistem ile ikinci yarı da üretilecek MC6801 tek yongada bilgisayar Motorola mikroişlemci ailesinin yakından izlenmesi gereğini orta ya koymaktadırlar. (1)

TES—68'in genel yapısı Şekil 1'de görülmektedir. Kulla nıcı mikrobilgisayarı 16 tabanlı (0 9, A F) sayılarla prog ramlamakta, bellek ve giriş çıkış adresleri ile bu adresler deki verileri yine 16 tabanlı sayıları gösterebilen 6 sayılı (4 sayı (16 bit) adres + 2 sayı (8 bit) veri) bir led göster geden okumaktadır. Kullanıcının makinayı 16 tabanlı sa yılarla denetlemesi, belleğe ulaşımı ve verileri değiştir mesi, yazmış olduğu programlan çalıştırması ve izlemesi,

mikrobilgisayarın salt oku belleğinde bulunan denetim programı (monitör) tarafından sağlanmaktadır.

Mikroişiemci öğrenim sistemi hazırlanırken uygulayarak öğrenmenin sağlayacağı verim artışı özellikle gözönüne alınarak sistemde örneksel giriş çıkış, opto yalıtıcı ve triaklı güç kontrol çıkışı, standart terminal (RS 2320, yazıcı veya katod ışınlı tüp) bağlantısı ve kullanıcının özel uygulamaları için herbir biti giriş/çıkış olarak prog ramlanabilen 16 bitlik bir paralel giriş çıkış öngörülmüş tür. Gerçekleştirilen öğrenim sisteminin sınırlı bütçeli kullanıcı ve uygulayıcılar için en çekici yanları ise, prog ramlama, kullanım ve uygulamalar için hiçbir şekilde ek birim (terminal) gerektirmemesi ve geliştirilen program ların Sıklık Kaydırmalı (Frequency Shift Keying, FSK) 300 baud hızla standart bir kaset teybe alınabilme ve yeniden belleğe yüklenebilmesidir. Bu özellik sayesinde bu çok ekonomik ve herkeste bulunan manyetik ortam da programların kalıcı biçimde saklanabilmelerinin ve istendiğinde denetim programı tarafından belleğe yük lenmelerinin kullanıcıya sağladığı kolaylık ve olanak lar açıktır (300 baud, bps 30 karakter/saniyelik bir hız olup, örneğin 600 byte uzunluğunda bir program 20 sa niyede kasete yüklenebilir veya yeniden belleğe okuna bilir).

TES 68 tasarlanırken Silinebilir Programlanabilen Salt Oku Bellek, SPSOB (EPROM)ların programlanabilmele rinin de uygulayıcı yönünden önemi düşünülmüş ve 1K x 8'lik 2700 tipi ve 2K x 2716 tipi SPSOB'ları program layabilen, belleğe okuyabilen, karşılaştırabilen ve birin den diğerine aktarabilen bir SPSOB programlayıcısı da donanım ve yazılım olarak gerçekleştirilmiştir. Ayrıca 8 K'lık ek bellek kartı tasarlanıp gerçekleştirilmiş olup, makineye örneğin bir ekranlı çevre birimi eklenmesiyle ASSEMBLER, ve BASIC dillerinde yazılım hazırlama olanağı vermektedir. Ekranlı birim mikrobilgisayar ile 110 baud ile 9600 baud arası hızlarda alışverişi yapabilir.

Rtstı

Saat

Dnmr

88\

Mı— ı—

SPSOB I ||

IEPROM) r J programla^cm f"

fı G/CIACJA)

lopto.Voln.ci • jMröTölTn°"

OmtkMl ve

Sayııal

Şekil 1. TES 68 mikrobilgisayarının genel yapısı

III. DONANIM

Motorola 6800 ailesi ile tasarlanmış TES 68 sisteminde 1 K'lık oku/yaz bellek (RAM) ve 3,5 K'lık salt oku bellek (EPROM) veri saklama işlemlerini üstlenmişlerdir.

Salt oku bellek değişik uygulama ve bütçelere cevap ve recek şekilde 2x1702 A (256 İlk SPSOB) + 1 x 2708 (1 K.hk SPSOB) + 1 x 2716 (2 K'lık SPSOB) olarak dü zenlenmiştir. Bunlardan 2708 denetim programının sak lanması için kullanılmaktadır.

Sistemde yer alan iki paralel giriş/çıkış (PIA) birimi ile bir seri giriş/çıkış (ACI A) birimi, paralel ve seri bilgi alış verişinde kullanılacak çevre birimleri ile mikrobilgisayar arasında bağlantı sağlamaktadır. Paralel giriş/çıkış birim leinden bir tanesi kullanıcıya bırakılmış, diğeri ise siste me bağlı olan tuş takımından bilgi alınması ve gösterge lere bilgi aktarılmasının sağlanması için kullanılmıştır.

Tuş takımının taranmasını sağlayan donanımda bir adet 74153 (TTL 4 1 çoklayıcı) devresi bulunmaktadır (Şekil 2). Tuş matrisinin sütunlarındaki gerilim düzeyi, bu tüm leşik devre adreslenerek paralel giriş/çıkış biriminin PA7 numaralı girişine aktarılır.

Bütün matris satırları, tarama işlemi başlamadan önce ya zılım tarafından 0 düzeyine getirilmiş olduğundan, tuş lardan birine basıldığında bu tuşu içeren sütun yüksek düzeyden 0 düzeyine düşer. Böylece, tuşlardan birine ba sılıp basılmadığı, basılmışsa hangisi olduğu yazılım yar dımı ile saptanır.

Seri giriş/çıkış birimi, zamanlama devresine yapılan bağ lantının değişik yerlere lehimlenmesi ile 110, 150, 300, 600, 1200, 2400, 4800 veya 9600 baud hızında çalışa bilmekte ve bir anahtar yardımıyla kasetli teyp veya RS 232 uç/ekran birimi arasında ilişki kurabilmektedir.

Gerilim kesildiğinde oku/yaz bellekte bulunan program lar silineceğinden bunların bir ortamda saklanması gerek lidir. Kasetli teybe kayıt yapabilmek için, seri giriş/çıkış biriminden çıkan sayısal imler, iki ayrı sıklıkta, 1200 Hz ve 1200 Hz'de modüle edilmektedir.

"Kansas City Standart" olarak bilinen bu yöntemde 0 düzeyindeki imler için 1200 Hz, 1 düzeyindekiler için 2400 Hz'lik dalgalar kullanılmaktadır.

Kaydedilen bilgilerin okunmasında imler bir demodü lasyon devresinden geçirilerek önceki durumuna dönüş türülmekte ve seri giriş/çıkış birimine giriş verisi olarak gelmektedir. Yazılım, verileri belleğin istenen bölümüne yerleştirmektedir. Burada kullanılacak kasetli teypte ek özellikler olması gerekmemektedir.

VMA R/W A15 A M A,, A,, A,, A,o A, A . A, A. A5 A4 A 3 \

Aı

Ao

0000 0 3FF 1 X 0 0

0 0 X X X X X X X X X X RAM

0400 07 FF 1 X 0 0 0800 0BFF 1 X 0 0 0C00 OFFF 1 X 0 0

0 1 X X X X X X X X X X İK 1 0 X X X X X X X X X X 2K 1 1 X X X X X X X X X X 3K

Denetim p. ve kul lanıcı oku/yaz bel lek bölgesi

Eklenebilecek Yaz/Oku Bellek bölgeleri

4004 4007 1 X ) 1 4008 400F 1 X 0 1 4010 401F 1 X 0 1

0 0 1 X X PIA1

0 10

X ACIA

1 0 0 X X PIA2

(Kullanıcı) (Sistem)

8000 80FF 1 1 1 0

8100 81FF 1 1 1 0

AOOO

1 110

COOO

111 10

EOOO

1 11 11

0 X X X X X X X X PROMİ 1702

1 XXXXXXXX _

P R O M 2 dışarıdan ilave imkanı için

X X X X X X X X X X PROM3

X X X X X X X X X X X PROM4 2716

X: 0/1 olabilir

Çizelge 1. Birim adresleri

Kullanıcıya

Şekil 2. Salt Oku Bellek adresleme (seçme)

Şekil 3. Sayısal örneksel çeviri devresi.

Mikroişlemcinin yukarıda anlatılan çevre birimlerinden herhangi birini seçebilmesi için bu elemanlara değişik ad resler verilmiştir (Çizelge 1). Bu adresler 2/4 kod çözü cülerden geçirilen ve çevre birimleri tarafından doğrudan kullanılmayan mikroişlemci adres uçları tarafından yara tılmaktadır. 8,1 3 ve 14 numaralı adres uçlarının, SPSOB' ların adreslenmesinde nasıl kullanıldığı Şekil 2'de göste rilmiştir.

Gerek salt oku, gerekse oku/yaz belleklerde kullanıcıya bırakılmış adresleme (seçme) uçları ile 4 x 2 K SBSOB ve 3 x 1 K oku/yaz belleği ekleme olanağı vardır.

ÖrntkMl çıkı;

Bütün adres, veri ve denetim uçlarına kullanıcı tarafın dan erişilmesi sağlanmış, doğrudan belleğe erişim (DM A ) olanakları gözönünde tutulmuştur. Bunlara ek olarak örneksel çevre ile ilişki kurulabilmesi için bir ör neksel sayısal, sayısal örneksel çevirici sisteme eklenmiş tir.

Şekil 3'de sayısal değerlerin örneksel değerlere çevrilişi görülmektedir. Burada paralel giriş/çıkış biriminin B ya nsı sayısal değerlerin çıkışı için, P A 1 ise direnç grubu nun sayısal verilere göre bulduğu örneksel değerleri ör nekleyen (sample hold) devrenin denetim ucu olarak kul lanılmıştır.

Şekil 4'de ise, yazılımı da kullanıldığı için ilginç bir uy gulama örneği olan örneksel sayısal çeviri sistemi gösterilmektedir. Burada mikroişlemci, yazılım gereği PRO PR7 çıkışlarına 1 0 0 0 0 0 0 0 2 yollar. Bu tahmin ana log devre çevrildikten sonra dışarıdan örneklenmiş

Çık,;

Şekil 4. örneksel sayısal çeviri devresi.

ŞeMI 5. Tuş tarama donanımı (Tepeden tepeye en fazla 2 V) analog değerlerle karşılaş tırılır. Karşılaştırmanın sonucunda, yapılan tahminin asıl değerden büyük veya küçük oluşuna göre paralel giriş/çı kış biriminin giriş olarak seçilmiş PA7 ucu 1 veya 0 yapılır. PA7'deki veriyi değerlendiren mikroişlemci yap tığı tahminin büyütülmesi veya küçültülmesi konusunda karar verip, ikinci bir tahminde bulunur. Bu işlemler en yakın değer bulunana kadar tekrarlanır. Mikroişlemci her doğru tahmine 0,5 ms'den az bir zamanda erişebildi ğinden bant genişliği 1 0 0 0 Hz'e kadar olan imlerin sayı sal biçime çevrilmesi mümkündür,

IV. DENETLEME PROGRAMI, SİSTEM Y AZILIMI Donanımı, mikroişlemciyle çevresine konan programla nabilir salt oku ve oku yaz bellekler, paralel/seri/giriş çıkış birimleri ve bazı sayısal devreler kullanarak tasarla nan bir sistemin çalışır duruma gelmesi nasıl sağlanır, ne gibi olanaklar vardır? En az sayıda birimle, bir mikroişlemci ve oku yaz bellek le kurulan bir mikroişlemci sisteminde, mikroişlemci durma (Halt) durumuna getirilip doğrudan belleğe eri şim ( D M A ) yoluyla, önce 16 bitlik adres (normal 8 bitlik mikroişlemciler için konuşursak) adres yollarına bağlı anahtarların 1 veya 0 konumuna getirilmesiyle seçilir, 230

8 bitlik veri de veri yollarına bağlı anahtarlarla hazırlana rak belleğin oku/yaz girişine "yaz" vuruşu verilmesiyle belleğin seçilen yerine yazılır. Mikroişlemcinin komut kümesindeki 8 bitlik kodlarla hazırlanan programlar yu karıdaki işlemin tekrarlanmasıyla sistemin belleğine yer leştirilir. Bu işlem sırasında "durma"daki mikroişlemci nin veri ve adres uçları yüksek empedansta oldukları için iletim yollarını etkilemezler. Programın işler duruma getirilmesinde mikroişlemcinin donanım özelliğinden ya rarlanılır. Sisteme "Reset" darbesi verildiğinde M6800 mikroişlemcisi 16 tabanında FFFE FFFF adreslerini çıkartıp bu adreslerdeki 2 kelimelik veriyi uygulayacağı programın başlangıç adresi olarak alıp işleme koyar. De mek ki programın başlangıç adresi, FFFE FFFF adresle rine cevap verecek bir belleğe "durma" durumunda yazı lıp, anahtarın durma durumundan çekilmesiyle program çalıştırılır. Program sonuna konacak bir bekle (W AIT) koduyla da program bitiminde tekrar mikroişlemcinin durma durumuna geçmesi ve kullanıcının anahtarlara ku mandası sağlanır. Normal olarak oku/yaz anahtarı oku konumunda olduğundan, durma veya bekleme durumun da adres seçmek yoluyla bellekteki veriler yollara uygun şekilde bağlanacak 8 tane ışık yayan diyot (L E D) yardı mıyla okunabilir.

Anahtarlarla kumandalı basit sistemde, belleğe yazma okuma, program işletme, donanıma eklenecek paralel ve ya seri giriş/çıkış birimleri yardımıyla dış dünyayla de netim ilişkisi kurma olanakları vardır. Sistemin kullanıcı açısından güçlüğü bütün adres ve verilerin iki tabanında t ek tek anahtarlarla girilmesi, okurken de diyotların gös terdiği kodun tanınmasındadır ve başlangıç için makina ya yakınlığı açısından son derece öğretici olmakla bera ber, uzun programların girilmesinde bu sistem yavaşlık ve hata yüzdesinin yüksekliği nedeniyle yetersizdir.

Makinaya yakınlık avantajını kaybetmeden verileri daha kolay girmenin yolu, iki tabanı yerine 16 tabanı kullana rak 8 bit lik bir veriyi 2 dörtlüğe ayırıp, herbirini 0 9 sa yılar veya A F harfleri olarak kodlamaktır. Bu şekilde 8 tane 1/0 yerine 16 tabanında iki sayı yeterli olur. Mikro işlemciler ve çevresindeki birimler 2 tabanında çalıştık larından 16 tabanlı kodların belleğe yazılması ve okun ması için kod çevirmeyi gerçekleştirecek olan bir prog ram gereklidir, örnek bir sistemde bir klavyeden tuşlar la girilen 16 tabanlı veriler 2 tabanına çevrilip bellek ve ya sistemdeki sayaçlara yazılır, yine 2 tabanındaki sis tem içi veriler 16 tabanına çevrilip 7 kesimli gösterge lerle dışarı verilir. Gerek bu şekilde giriş/çıkışı sağlamak için kod çeviren programlan deneme olanağı veren bir sistemde, gerekse mikroişlemcili bitmiş bir denetim sis teminde donanım birimleri arasındaki ilişkileri düzenle yen ve sisteme salt oku belleğe yazılmış olarak yerleş tirilen bu işletim programları; denetim programı (moni tör) olarak adlandırılır. Sistemde yapılacak değişiklikler (mikroişlemciye dayalı sistemin en önemli özelliklerin

den biri esnekliğidir) salt oku belleğin yeniden program lanmasıyla gerçekleştirilir. Program yazıp deneme olana ğı veren "monitor"lü bir sistemde geliştirilen bir kullanı cı programı, son şekliyle programlanıp konulduğu bir sistemin denetim programı görevini yüklenir.

Denetim programı kavramını bu şekilde özetledikten son ra, bir mikroişlemci uygulama ve öğrenme sisteminin de netim programından neler beklendiğine bakalım (Paran tez içindeki hafler sistemdeki tuşları belirlemektedir.)

i) 16 tabanında veri giriş/çıkışı, dolayısıyla belleği oku ma belleğe kullanıcı programı yazma (M) ii) Belli bir adresten başlayan programı çalıştırabilme(G). iii) Programın istenilen yerlerine durma noktaları koyup, işlerliğini takip edebilme, durduğunda mikroişlemcinin sayaçlarını ve istenilen bellek konumlarını okuyup değiş tirebilme, programın kaldığı yerden devam ettirebilme (BP). iv) Çalışırken programı adım adım izleyebilme (I). v) Gerilim kesildiğinde oku yaz bellekler verilerini sak layamadıkları için, bellekten kasetli teybe program kay detme (P) ve kasetten belleğe program yükleme (L), do layısıyla kasetin kalıcı bellek olarak kullanılabilmesi, vi) Gerekebilecek ek özellikler.

Sıralanan görevler arasında en önemlisi kuşkusuz 16 ta banında giriş/çıkıştır. Bunu, klavyenin tuşa basıldığını anlamak için taranıp tuş kodunun tanınması (yani giriş) ve istenilen verilerin 7 kesimli göstergede gösterilmesi (yani çıkış) olarak ikiye ayırabilir ve donanım ve/veya yazılımla gerçekleştirebiliriz. Giriş, bir klavye kodlayıcı nın tuşa basınca kesme uyarısı (interrupt) göndermesi, mikroişlemcinin uyarı alınca, kodlayıcı belli bir adrestey se ve çıkışları veri yoluna doğrudan bağlıysa bu adresi okuyarak, çıkışlar paralel G/Ç ünitesine bağlıysa veri sa yacını okuyarak gelen kodu değerlendirmesiyle yapılabi lir. Çıkış ise iletim yollarına konan iki tabanından 16 ta banına ve 7 kesimine çevirici devrelerin 7 kesimli göster gelere bağlanmasıyla sağlanabilir. Her ikisi de donanımı yoğun, ek devre gerektiren ve ancak mikroişlemci gerçek zamanda devamlı başka iş yapıyorsa uyarıyla çalışmayı normal kılan çözümlerdir. Bir öğretim sisteminde mikro işlemci zamanı bol olduğundan yazılıma ağırlık verip uyarısız çalışabilir.

TES 68 sisteminde (Şekil 2), 16 tabanında giriş çıkış için 16 ve denetim için 4 tane olmak üzere 20 tuş 4x5 bi matris olarak yerleştirilmiş, 4'ü adres 2'si de veri gös termek üzere 6 tane gösterge konulmuştur. Bir paralel giriş/çıkış biriminin A yarısı PA 0 6 çıkış, PA 7 giriş ola rak programlanıp, 7 çıkış 6 göstergenin 'O'la çalışan "segment" seçicilerine; B yarısı hep çıkış olarak prog ramlanıp PB 0 5, 6 göstergenin katod seçicilerine ve tuş matrisinin sıralarına, PB 6 7 matrisin 4 kolonunu giriş

olarak alan 1/4 seçici devrenin 2 adres girişine ve seçici çıkışı da PA 7 girişine bağlanmıştır. Yöntem, kesimleri karartıp bütün sıraları seçip sütunları tarayarak PA 7'den tuşa basılıp basılmadığının anlaşılması, basılmışsa paralel giriş/çıkış biriminin B yarısına yazılan kodla tek tek sıra seçip kolonları tarayarak ve PA 7'yi sınayarak basılan tuş bulunduğunda B yarısında o sıra ve kolonu seçen kodu bir tuş tablosundaki kodlarla karşılaştırıp ait olduğu tuşun 16'lık karşılığının bulunmasıdır. Gös tergeler için ise her basamağa bir tane olmak üzere 6 bel lek yeri ayrılmıştır. Gösterilmek istenen karakterler bu yerlere 00 12ı 6 olarak yazılırlar. Bir çevrim tablosundan tablodaki sırası 16 tabanında ifade edilmiş bu karakter lerin 7 kesim karşılığı paralel giriş/çıkış biriminin A ya rısı yoluyla göstergelerin "kesim" seçicilerine yollanır. B yarısıyla da gösterge katodları sırayla seçilip taranarak al tı basamak gösterilir. Tuş tarama tanımı ve gösterge tarama programları alt yordam olarak yazılmış olduğundan devamli birbiri ar dından çağrılarak giriş/çıkışı sağlamakta, kullanıcıya programlarında göstergeyi ve girişi kullanma olanağı ver mektedir. Giriş/çıkış sorunu çözümlendikten sonra denetim prog ramının genel yapısına bakarsak gerilim uçları veya düğ meyle 'reset' darbesi gönderildiğinde FFFE FFFF16 adreslerine cevap veren ana program (RESTAR) ile do

Şekil 6. Denetim programı akış çizelgesi

nanımdarı gelecek önlenebilir (Interrupt Request, IRQ) ve önlenemez (Non maskable Interrupt, NMI) kesme is temlerine ve yazılım kesme istemine (Sof'tıvare Interrupt Reguest, SWI) cevap verecek (FFF8 FFFD1 e adreslerine cevap) kesme servis programlarından oluştuğunu görü rüz.

Ana programda (Şekil 5 akış şeması), istif göstergesi (Stack Pointer, SP) ile paralel ve seri giriş/çıkış birimleri nin ön koşulları sağlandıktan sonra göstergede ' ' işareti çıkartılıp tuşlardan kontrol karakteri beklenmekte ve ge len karakterin gerektirdiği yordama sapılmaktadır. Kulla nıcı açısından M, E, G, F, 1 karakterleri aşağıdaki işlem leri sağlamaktadır.

MXXXXi6 £ GXXXXi6 F X 16 A B XXXXi6

C D XXXX, 6

2 3. 1

: Belleğin XXXXi6 adresine okuyum yaz ma, G tuşuyla adresi arttırma.

: Kullanıcı programından veya denetim yor damlarından denetim programı başına dönme.

:XXXXi6 adresinden başlayan kullanıcı programının çalıştırılması.

: Xi6 kodlu fonksiyonun gerçekleştirilme si.

: Mikroişlemci içindeki PC, X, A, B, CC ve SP sayaçlarının içeriklerinin okunması (G tuşuyla ilerleterek).

: Kullanıcın programının yazılı olduğu bel lekte XXXXi6 adresine bir durma ko mutu (Break Point, BP) koyarak program dönerken en fazla on yerde kullanıcının inceleyip akışa karışmasının sağlanması.

: Bir durma noktasında duran programın devamının sağlanması.

: Makina dilinde program yazılırken, göreli adresleme mod'unda XXXX, adresinden YYYY adresine atlanırkenki uzaklığın bulunup, OO 7F16 (ileri atlayış) veya 80 FFj (geriye atlayış) arasında ise adresine yazılması, değilse yanlışlığın 'Err' koduy la gösterilmesi.

: Başlangıç ve bitiş adresi daha önce belle ğin belli yerine verilmiş olan bellek bölge sindeki verilerin kasete aktarılması.

: Kasetteki programın belleğe yüklenerek başlangıç adresinin ekranda çıkması. : Bir 'BP'den başlayarak programın adım adım çalıştırılması.

Fonksiyon tuşu, tuş ekonomisi yaparak ilerde ek özel liklere olanak sağlamak amacıyla düşünülmüştür. Kısaca değinilecek olursa, program çalıştırmak için G işlemi, Kesme Programından Dönme(Returnfrom lnterrupt,RTl) komutundan yararlanılarak sağlanır. Bu komutun uygu lanması istif bellekte istif göstergesinin (SP) gösterdiği adresten 7 eksiğine kadar (dahil) olan adreslerdeki değer

lerin mikroişlemci sayaçlarına yüklenmesini ve istif saya cının 7 yukarı çıkartılmasını sağlar. Program başlangıç adresi istif'deki Program Sayacı (Program Counter, PC) yerlerine yazılarak RTI uygulanarak program çalıştırılır. Program şuasında tuşlar ve göstergelermikroişlemciler ta rafından taranmadığından, başlamadan önce programdan çıkış için kullanılan E tuşu sırası seçilip, basıldığında sü tunun paralel giriş/çıkış birimi yoluyla doğrudan mikro işlemciye NMI göndermesi önlemi alınmıştır.

Önlenebilir ve önlenemez kesme servis programları (IRO ve NMI) için başlangıç adreslerinin oku yaz bellekten alınması sağlanarak kullanıcının isterse kendi yazacağı "donanım kesmelerine cevap" programlarını, adreslerini bu başlangıç adreslerine yazarak kullanması olanağı ve rilmekle beraber, denetim programında da kendi görev lerini (E ile denetim programına dönme, adım adım prog ram çalıştırma ve programda durma noktası kullanılma sı) yaparken kullandığı önlenemez kesme (NMI) ve yazı lım kesme (SVVI) servis programları vardır. Durma nokta larının aslı, programın istenilen yerlerine yazılım kesme kodu olan 3Fi6 lerin konulması ve program dönerken bunlara rastlanıldığında bu servis programıyla kontrolün kullanıcıya verilmesidir. (Fg) fonksiyonuyla tuşlar la girilen durma adresleri. bellekte bir tabloya yazılır. Program G tuşuyla başlatıldığında, tablodaki adreslerde bulunan komut kodları yine tabloda saklanıp programda yerlerine 3 F ] 6 konulur. 3F16'e kartlanıldığında gidilen SVVI programı, sayaçları gösterme, (FA), programıyla kullanıcıya "monitör" kontrolünü verir. (FC) fonksiyo nuyla devam etmek istendiğinde, tek komut uygulaya rak, (1), üzerinde durulmuş olan komut gerçekleştirilir ve donanım yardımıyla mikroişlemciye NMI verilir. NMI servis programı; tek adımdan gelinmişse ve 'BP'ler varsa tablodaki adreslere bakarak yeniden 3F]6'leri yerlerine koyar ve programa devam eder, 'BP' yoksa tek adımla ge linen yeni adresi gösterir. NMI tek adım sonucu üretilme mişse tek kaynağı E tuşu olabilir ki işleyen bir program dan denetim programına dönme sağlanır.

Kasete kaydetme kasetten alma işlemleri seri giriş/çıkış birimi (ACIA) üzerinden olup, bu birimin giriş/çıkış, kelime uzunluk ve şekli, saat hızı için programlanması yardımıyla gerçekleştirilir.

Anlatılanların dışında kalan fonksiyonlar, tuş tarama tanıma ve gösterge tarama alt yordamlarının kullanıl ması yanında, donanım gerektirmeden, yalnız yazılım yöntemleriyle oluşturulmuşlardır.

özel olarak TES 68 denetim programı 64K'lık Motoro rola 6800 adres bölgesinin en üst 1 K'lık bölgesine yerleş tirilmiş, 128 byte'hk bir oku yaz bellek de denetim prog ramının gerektirdiği istif ve geçici veriler için kullanıl mıştır.

A.

Şekil 7. TES 68'in Sayısal örneksel çevirici uygulamaları

_l

ÖO

Şekil 8. Açık Kapalı sıcaklık denetimi.

V. UYGULAMA ÖRNEKLERİ TES 68 üzerinde en yararlı uygulamaların başında M6800'ün komut kümesini denemek, öğrenmek ve prog ram yazmak gelmektedir. Sistem bol giriş çıkışı sayesin de her tür uygulamaya da olanak tanımaktadır, örneğin: 1) Sayısal örneksel çıkış ile, (Şekil 6) (Şekil, Diyagram, liste, 7) a) Çok alçak frekanslara kadar (Saatler süren peryod lar, hatta alt sınır söz konusu değildir) inebilen ka re, vuruş, testere, üçgen, sinüs v.b. peryodik dalga şekillerinin üretilmesi ve genlik, peryod ve idarbe boşluk oranlarının programlanabilmesi, b) Bir veya daha çok peryodların istenilen süre ve sa yıda üretilip, karıştırılarak en karmaşık zorlayıcı fonksiyonların üretilmesi, genlik ve frekans modü lasyonlu alçak ve çok alçak frekanslı işaret üreti mi, c) Karmaşık (örneğin biyolojik elektrokardiyogram, elektroansefalogram vb.) EEG işaretlerin birleşi mini kolaylıkla yapabilme ve gerek örneksel gerek sayısal devrelerle çok zor ve kısıtlı olarak yapılabi len bu tür işaret benzeticilerinin tüm parametrele ri, değişebilir, programlanabilir ve her cins patolo ELEKTRİK MÜHENDİSLİĞİ 258

jinin de benzetimi yapılabilir biçimde gerçekleşti rilmeleri.

2) Örneksel Sayısal (ADC) giriş ile, a) Yüksek duyarlık, doğruluklu sayısal voltmetre (veya Ampermetre,Ohmmetre). Bu uygulamada mikroişlemcinin tüm matematiksel işlem yapma olanaklarından yararlanılabilir ve örneğin bir Sen sor (Transdüktör)un doğrusallaştırılması ve ölçme sonucunun mühendislik birimlerine çevrilerek gös terilmesi sağlanabilir.

b) örneksel sayısal çevircinin önüne bir çoklayıcı (multiplexor) eklenerek çok sayıda işaret (örneğin 8 veya 16) sayısallaştırılarak veri biriktirme (data acquisition) sistemi oluşturulabilir.

3) S—ö ve Ö S çeviriciler İle a) Çeşitli sayısal süzgeçler gerçekleştirilebilir.

b) örneksel işaretin sayısal türevi (leri) ve integrali (leri) kayma (drift, derive) sorunu ortadan kalka cak biçimde alınabilir.

c) En önemli uygulama ise örneksel işareti (veya ço ğaltıcı yardımı ile işaretleri) sisteme girip işlem gördürüp (örneğin diferansiyel denklem takımları çözdürüp) örneksel çıkışlardan yararlanarak, doğ' rudan sayısal kontrol (DDC) yapabilmektir.

4) Opto yalıtıcı ve Triak ile güç kontrolü.

Bir mikroişlemci sistemine bağlanan böyle bir düzenle şehir şebekesindeki büyük yükleri (birkaç 100 VV'd^n 5 10 kVV veya daha yukarıya kadar) denetlemek olanağı doğar. Mikroişlemci örneksel sayısal giriş ine bağlı bir sı caklık ölçme düzeni ile giriş alıp aynı birimin çıkışı ile bir ısıtıcı, aç kapa denetimiyle (on off control) ısı düzen lemesi yapabilir (Şekil 7) Sistemin göstergesi ve tuş ta kımından sıcaklığı okuma ve çalışma noktası, alarm sınırları vb. konutları girme gibi işlevlerde yararlanılabilir.

KAYNAKLAR:

1) Wiles Michel, "Compatibüity cures groıving pains of microcomputer family", Electronics, 2 Şubat 1978, s. 95 103.

2) M6800 Microprocessor Apparatus Manual, Motorola Semiconductor Products Inc. 1975.

3) Motorola M6800 Programming Reference Manual, 1976.

4) Motorola M6800 Microprocessor Programming Manual, 1975.