You are on page 1of 45

T.C.

NN NVERSTES MHENDSLK FAKLTES ELEKTRK ELEKTRONK MHENDSL BLM

MKROLEMC (Z80) KONTROLL SES KAYDI (Bitirme Tezi)

Hazrlayan A. HAYRETTN YZER

Danman Yrd. Do. Dr. mer Faruk ZGVEN

MALATYA - 1999

T.C. NN NVERSTES MHENDSLK FAKLTES ELEKTRK ELEKTRONK MHENDSL BLM

MKROLEMC (Z80) KONTROLL SES KAYDI (Bitirme Tezi)

Hazrlayan A. HAYRETTN YZER

Danman Yrd. Do. Dr. mer Faruk ZGVEN

MALATYA - 1999

Bana olan sevgi ve gvenleri ile benim bu seviyeye gelmemde byk katklar olan sevgili annem, babam ve kardelerime teekkr eder, Bitirme Tezimi onlara ithaf ederim.

Elektrik Elektronik Mhendislii Blm Bakanlna,

Burada sunulan alma, tarafmdan ynlendirilmi olup Elektrik Elektronik Mhendislii Blm'nde BTRME TEZ almas olarak kabul edilmitir.

Danman: Yrd. Do. Dr. mer Faruk ZGVEN

........................

..... / .... / 1999

Onay Burada sunulan almann, Elektrik Elektronik Mhendislii Blm'nde BTRME TEZ almas olarak kabul edildiini onaylarm.

...... / ...... / 1999 .................. Yrd. Do. Dr. Saadettin HERDEM Elektrik Elektronik Mhendislii Blm Bakan

GR Ses kayd ve sesin tannmas, gnmzde bilim adamlarnn ve aratrmaclarn en ok ilgisini eken konular arasndadr. Yakn gelecekte de birok sistem sesle kontrol edilir hale gelecektir. ok kompleks bir yapya sahip sesin tannmas elbette ki zordur. Hatta sesten te kelimelerin tannmas ise asl amatr. Gnmzde baz gvenlik sistemlerinde sesin sahibi tannabilmektedir. Ses zerinde baz analizler yapabilmek iin ise ncelikle ses ve sese ait zelliklerin kaydedilmesi gerekmektedir. Sesin bozulmamas iin saniyede minimum 3000 rnek alnarak ses sinyallerinin dijitale evrilmesi gerekmektedir. Ses kalitesinin artmas iin ise saniyede 10000 rnek alnmaldr. Bu yzden ses sinyalleri dijitale evrilerek saklanmak istendiinde ok byk kapasiteye sahip hafza sistemleri kullanlmas gerekmektedir. Bu artlar altnda endstride yaygn olarak kullanlan 8 Kbytelk 6264 RAM a minimum ses kalitesinde maksimum 2.73 sn ses kayd yaplabilmektedir. Halbuki sesi dijitale evirmeden analog olarak saklamak iin ok daha az hafza blmne ihtiya duyulur. Bitirme tezimde kullandm ISD- 4003-05MP entegresi de sesi analog olarak kaydetmektedir. Bylece 5 dakikaya kadar ses kayd yapabilmektedir. Bu ise ses tanma ilemleri iin iyi bir emel yap oluturmaktadr. ISDS-4003 entegresi dijital kontroll analog hafza birimi olarak esiz bir entegredir. ISD-4003 entegresini kontrol etmek iin bu bitirme almasnda Z80 mikroilemcili bir devre kullanlmtr. Gnmz teknolojisinde birok sistemin ayn anda tek bir mikroilemci tarafndan kontrol edilebilmesi bu entegrenin (ISD) gerekli yazlm (software) bilgileri ile hazr kurulu bir sisteme eklenebilmesi ynnden byk bir avantajdr. Yazlmda yaplacak kk deiiklikler ile bu entegre her trl mikroilemcili-mikrodenetleyicili-sisteme balanarak otomatik olarak kontrol edilebilir. Bu bitirme tezi iin kurulan mikroilemcili devrede; microilemci olarak Z80, ROM olarak 27C64, RAM olarak 6264, Giri/k portu olarak 8255 kullanlmtr. Devrede kullanlan display yardmyla hangi mesaj zerinde ne ilem yapld hakknda bilgi verilerek kullancya kolaylk salanmaktadr. Ayrca HELP butonu vastasyla kullancya devre hakknda sesli olarak gerekli kullanm bilgisi verilmektedir. Baz gerekli aamalarda ise sesli uyarlarla kullancya yardmda bulunulmaktadr. Devrenin nasl alt kullanlan elemanlarn tantmndan sonra anlatlmaktadr.

TEEKKR

Bitirme tezi projesi almam sresince yardmlarndan dolay Sayn Yrd. Doc. Dr. mer Faruk ZGVEN hocama, tezimin bandan sonuna kadar her an teknik yardm, nee ve moral desteklerinden dolay Sayn Sevin TOSUN hocama, almam boyunca yanmda olan arkadalarm Sayn Necati ERGN, Sayn Seyfettin YILDIZ, Sayn Alparslan TATAR, Sayn M. Akif ERGEN ve Sayn Furkan UZUNOLUna teekkr ederim.

NDEKLER

ISD 4003 SERLER TEK ENTEGREDE 4-5-6- VE 8 DAKKALIK SES

KAYDI/GERALMA .............................................................................................................................. 1 1.1 1.2 GENEL TANITIM...................................................................... ERROR! BOOKMARK NOT DEFINED. BACAK TANIMLAMALARI ............................................................................................................... 2 Voltaj Girileri ..................................................................................................................... 2 Toprak Girileri (VSSA, VSSD)................................................................................................. 2 Terslemeyen Analog Giri (ANA IN +) ................................................................................ 3 Tersleyen Analog Giri (ANA IN ) ..................................................................................... 3 Ses k (AUD OUT) ......................................................................................................... 3 Slave Select ( SS )................................................................................................................. 4 Master Out Slave In (MOSI)................................................................................................. 4 Master In Slave Out( MISO )................................................................................................ 4 Serial Clock (SCLK)............................................................................................................. 4 Interrupt ( INT )................................................................................................................... 4 Row Address Clock (RAC) ................................................................................................... 5 External Clock Input (XCLK)............................................................................................... 5 Serial Peripheral nterface ( SPI ) Description.................................................................... 5 Mesaj Cueing (Mesaj arma) ........................................................................................... 6

1.2.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 2

ZLOG Z80 MKROLEMCS ................................................................................................. 11 2.1 2.2 Z80 MMARS .............................................................................................................................. 11 MKROLEMC YE AT KAYDEDC BRMLER (REGSTERLER) ..................................................... 11 zel Amal Kaydediciler................................................................................................... 12 Akmlatr Ve Bayrak Kaydedicileri................................................................................. 14 Genel Amal Kaydediciler................................................................................................. 16

2.2.1 2.2.2 2.2.3 2.3 2.4 2.5 3

ARTMETK VE MANTIK BRM (ALU) ........................................................................................ 17 KOMUT KAYDEDCS VE MKROLEMC DENETM .................................................................... 17 Z80-MKROLEMCNN BACAK TANIMLARI ................................................................................ 18

8255A PROGRAMLANABLEN PARELEL GR/ IKI ENTEGRES ............................ 22 3.1 8255 LE KLAVYE VE EKRAN MODL ........................................................................................ 25

HAFIZA........................................................................................................................................... 26 4.1 HAFIZA HARTASI (MEMORY MAP ) ............................................................................................. 26

4.2 4.3 4.4 4.5 4.6 4.7 5

HAFIZA ETLER ........................................................................................................................ 27 YAZ/OKU HAFIZA (READ/WRITE MEMORY, R/WM, RAM) .......................................................... 28 YALNIZCA OKUNABLEN HAFIZA (READ ONLY MEMORY, ROM ) ................................................ 28 PROGRAMLANABLEN OKU-YAZ HAFIZA (PROGRAMMABLE ROM, PROM)................................... 28 SLNEBLEN PROM (ERASABLE PROM, EPROM) ........................................................................... 29 ELEKTRKSEL SLNEBLEN PROM (EEPROM) ................................................................................ 29

SES KAYDI N YAPILMASI GEREKEN LEMLER VE DEVREDE GEREKLEEN

OLAYLAR................................................................................................................................................ 30 6 MKROLEMCNN, SES KAYDINDA YAPACAI LEMLER YNLENDREN Z80

PROGRAMI ............................................................................................................................................. 32 7 8 9 SONU ............................................................................................................................................ 44 KAYNAKLAR ................................................................................................................................ 45 EK .................................................................................................................................................... 46

EKLLER
EKL 1 ISD 4003 SERES BLOCK DAGRAM ................................................................................................. 7 EKL 2 SPI PORT ......................................................................................................................................... 8 EKL 3 ISD 4003 SERES ANA IN MODES................................................................................................... 8 EKL 4 TMNG DAGRAM ............................................................................................................................ 9 EKL 5 8-BT COMMAND FORMAT ............................................................................................................... 9 EKL 6 16-BT COMMAND FORMAT ........................................................................................................... 10 EKL 7 PLAYBACK/RECORD AND STOP CYCLE .......................................................................................... 10 EKL 8 Z80 MKROLEMC BLOK DYAGRAMI ......................................................................................... 11 EKL 9 Z80 MKROLEMC REGSTER DZEN .......................................................................................... 14 EKL 10 F BAYRAK KAYDEDCSNN YAPISINDA BULUNAN BAYRAKLAR ................................................ 15 EKL 11 Z80 BACAK BALANTILARI ......................................................................................................... 18 EKL 12 8255 BACAK BALANTISI ............................................................................................................ 22 EKL 13 8255 COMMAND REGSTER YAPISI .............................................................................................. 24 EKL 14 HAFIZA HARTASI ........................................................................................................................ 27

TABLOLAR
TABLO 1 OPCODE SUMMARY ........................................................................................................................ 6 TABLO 2 SPI CONTROL REGSTER ................................................................................................................ 7 TABLO 3 KOMUT BALANGI ADRESLER .................................................................................................. 32 TABLO 4 SAYI KARILII SEGMENT BLGLER ........................................................................................... 33 TABLO 5 KAYDEDLEN MESAJLARIN BALANGI ADRESLER .................................................................... 33 TABLO 6 ETKET ADRESLER ...................................................................................................................... 43

ISD 4003 SERLER TEK ENTEGREDE 4-5-6- VE 8 DAKKALIK SES KAYDI/GERALMA

Genel Tantm
ISD 4003 yksek kaliteli rnler olup +3 V besleme ile tek bir entegrede 4- 8 dakikalk mesaj kayt/geri alma uygulamas, hcreli telefonlar ve dier tanabilir elemanlar iin idealdir. CMOS yapl entegreler zerinde, osilatr, dzletirici filtre, otomatik susma zellii, ses amplifikatr ve yksek kapasite ok seviyeli flash hafza sralar bulundururlar. ISD 4003, mikroilemcili veya microdenetleyicili sistemde seri olarak kullanlacak ekilde dzenlenmitir. Kaydedilirken bilgiler entegredeki silinmez hafza hcrelerine depolanr, mesajlar sakl tutulurken sfr g harcanr. Bu esiz entegre, ISDnin patentli ok seviyeli hafza teknolojisi ile retilmitir. Ses ve ses sinyallerini doal hallerinde direkt olarak depolar, yksek kaliteli, kat halli ses kopyalar retilmesini salar. zellikler Tek entegrede kayt/geri alma Yalnz +3 V luk besleme Dk g tketimi lem akmlar: ICC Play: 25 mA (tipik) ICC Rec: 30 mA (tipik) Standby akm: 1A (tipik) 4, 5, 6 ve 8 dakika srekli ilem Yksek kaliteli doal ses kopyalarn retme Geri etkenlerin grlts azalarak sessizlik durumu salanana kadar otomatik susma zellii. Algoritma gerektirmemesi Mikrodenetleyici SPI veya Mikroilemci seri arabirimi ok yollu mesajda tamamen adreslenebilme Saklanm (depolanm) mesajlarn silinmemesi SPI veya Mikroilemci kontrol register' ile g tketim kontrol 100 yl mesaj saklama (tipik) 100K kayt periyotlar (tipik) Entegre zerinde clock kayna Scaklk yayabilme (-20 C 70 C) ve endstriyel scaklk (-40 C85 C) eitleri mevcuttur.

Bacak Tanmlamalar

Voltaj Girileri
ISD 4003' teki analog ve dijital devrelere ayr g hatt balanmasyla grlt nemsenmeyecek seviyeye der. +3V' luk besleme hatlar mmkn olduu kadar besleme kaynana yakn bir yerde birletirilmeli. Buna ek olarak, bu devreler mmkn olduu kadar empedans nleyen devreler (empedans oluturmayan) devreler olmaldr.

Toprak Girileri (VSSA, VSSD)


ISD 4003 seri eleman ayr ayr analog ve dijital toprak hatlar kullanr. Analog toprak bacaklar (VSSA) mmkn olduu kadar hep birlikte klfa yakn bir ekilde balanmal ve balantdan dolay oluan empedans g besleme topra ile kk yzeyli olmaldr. Dijital toprak baca (VSSD), g besleme topra ile balantdan dolay oluturduu empedans kk yzeyli olmaldr. Bu toprak hatlarnn yzeyi VSSD, ve VSSA bacaklar aras empedans 3 dan kk olacak ekilde yeter derecede byk olmaldr. Kalbn geri yzeyi VSSin balanmasndan dolay direnli tabakaya sahiptir. Entegre zeri dizaynnda klfa yaplan VSS balantlar klf yzeyi ile ilikili olmal veya solda olmaldr.

Terslemeyen Analog Giri (ANA IN +)


Bu bacak, kayt iin entegreye sinyal aktarmn terslemeden yapar. Analog giri amplifikatr, Single-Ended Input Mode (tek fazl) veya Differential Input Mode (diferansiyelleme) ile srlebilir. Single-Ended Input Mode de optimum sinyal kalitesi iin bu bacaa max. Tepeden tepeye 32 mV luk girie izin verecek kapasite balanmaldr. Bu kapasitansn deeri, beraber baland ANA IN + bacann giri empedans 3 K ile birlikte, ses geirme bandnn en dk frekansnda kesilecek (devreyi ayracak) ekilde seilmitir. Differential-Input Mode de, optimum ses kalitesi iin ANA IN+ ya max. 16 mVP-Plik giri sinyali uygulanmaldr. Her iki mod iin devre balantlar ISD Series ANA IN MODES eklinde gsterilmitir.

Tersleyen Analog Giri (ANA IN )


Bu bacak differential-Input Mode de kayt iin entegreye analog sinyal aktarmn tersleyerek yapar. Bu differential-Input Mode de optimum sinyal kalitesi iin max. Giri sinyali 16 mVP-P olan, ANA IN- kapasite balanmal. Bu kapasitansn deeri, ANA IN+ bacanda olan kapasitansa eit olmaldr. Bu ANA IN- bacann giri empedans nominal deeri 56 K dur. Single-Ended Input Mode de ANA INbaca ANA IN+ giriinde kullanlan kapasitans deerine eit olacak ekilde kapasitans zerinden VSSA ya balanmaldr.

Ses k (AUD OUT)


Bu bacak kullanc iin ses k salar. 5 K luk empedanslar srebilir. Bu bacaktan AC k verilir. Not: AUDOUT baca entegrede enerji olduu zaman daima 1,2 Volttadr. Geri alma zaman bu bacaktaki k src balantlar 5 K dan kk ykleri srebilir. Kayt yaparken AUDOUT bir direnle ieriden 1,2 Vluk analog toprak beslemesine balanr. Bu diren tahminen 850 Kdur, fakat entegrenin rnekleme oranna gre biraz deiir. Bu baml yksek empedans izin verir ki, bu bacak ses hattnn yklenmesini drmeyecek ekilde balanabilir.

Slave Select ( SS )
Bu giri LOW olduu zaman ISD 4003 entegresi yetkilendirilir.

Master Out Slave In (MOSI)


Bu, ISD 4003 n seri giriidir. Mikrodenetleyici, clock sinyalinin ykselen kenarndan yarm saykl nce bilgileri ISD 4003 n MOSI hatt zerine yerletirmelidir

Master In Slave Out( MISO )


Bu, ISD 4003 n seri kdr. Bu k, eer entegre yetkilendirilmezse yksek empedans durumuna gider.

Serial Clock (SCLK)


ISD 4003n clock giriidir. Bu clock mikrodenetleyici tarafndan oluturulur ve senkron bilgi giriinde ve MOSI ile MISO hatlarnn entegreden knda kullanlr. Bilgi ISD 4003te SCLKnn ykselen kenarnda tutulur (kaydedilir) ve SCLKnn den kenarnda ka kaydrlr.

Interrupt ( INT )
ISD 4003 n interrupt baca Overflow (OVF) veya Mesaj Bitimi (EOM) iaretleri ortaya ktnda sfra der ve orada kalr. Bu bir ak aka bacadr. Her operasyon OVF veya EOMn mesaj iaretlerini ieren interrupt oluturmasyla son bulur. nterrupt sonraki zamanda SPI saykllarnn balamasyla silinir. nterruptn durumu RINT komutu ile okunabilir. Overflow Flag (OVF) Overflow flag'i ISD 4003n analog hafzasnn gerialma veya kaydederken bittiini gsterir. End of Message (EOM) End of Message flag'i herhangi bir EOM bulunana kadar sadece geri alma ilemi boyunca set olur. Her bir dizi ayar iin EOM flag'inin sekiz durumu vardr.

Row Address Clock (RAC)


Bu ak aka k baca 8 KHzlik rnekleme frekansnda 200 mslik periyotlarla sinyallerin olumasn salar (Bu hafzann tek sra dizelerini gsterir ve ISD 4003 serilerinde 1200 memory dizisi vardr). Bu sinyal dizinin sonuna ulaana kadar 175 ms HIGH durumunda ve 25 ms LOW durumunda kalr. Bu bacak mesaj yrrle koyma teknikleri iin kullanlabilir. RAC baca mesaj arma modunda 218,75 s HIGH durumunda ve 31,25 s LOW durumunda kalr (Mesaj armann ayrntl tantm iin "Opcode Summary " isimli tabloya baknz). Dier rnekleme oranna sahip rnler iin RACn zamanlama diyagram AC parametreler tablusunda belirtilmitir.

External Clock Input (XCLK)


Eer XCLK kullanlmayacaksa, bu giri topraa balanmaldr.

Serial Peripheral nterface ( SPI ) Description


ISD 4003 operasyonlar SPI seri arabiriminden belirlenir. SPI arabirimi operasyonlar sraya gre ileme koyar. Varsaylan bilgi transfer protokol (kurallar) yledir ki; mikrocontrollerin kaydrmal kaydedicinin sinyalleri SCLKnn den kenarnda olur. ISD 4003te bilgi sinyalleri clockun den kenarnda MISO bacandan kar.

1. Tm seri bilgi iletimi SS bacann (sinyallerinin) den kenar ile balar. 2. SS tm seri haberleme srasnda LOW ve komutlar aras zamanlarda ise HIGH olur. 3. Bilgi sinyal girileri Clockun ykselen kenarnda ve bilgi sinyal klar clockun den
kenarnda olur.

4. Dinleme ve kayt ilemlerinin balamasna SS bacann LOW olmasyla izin verilir, opcode ve adres durumuna gre srlr. (Opcode tablosu devam eden sayfadadr.) 5. Opcode ve adreslerin durumu 5 bit ve 11 bittir.

sonlanr.

6. Mesaj arma saykllarn ieren her operasyon EOM veya OVF un interrupt oluturmasyla

7. nterrupt bilgisi ISD 4003n MISO bacandan ktnda ayn anda kontrol ve adres bilgileri MOSI bacandan girmeye balar. Dikkat ederek devre sistem operasyonlar ile uyumlu bilgiler gnderilmelidir. nterrupt bilgisinin durumu okunabilir ve ayn SPI saykl iersinde yeni ilem balatlabilir. 8. Operasyonlar RUN bitinin set olmasyla balar ve reset olmasyla biter. 9. Her operasyon SS bacann ykselen kenaryla balar. Mesaj Cueing (Mesaj arma)
Gerek fiziksel yerini bilmese de kullancnn mesaj atlayarak mesaj armasna izin verir. Bu modda mesajlar normal geri alma modundan 1600 kat daha hzl arlr. EOM iaretleyicisi ortaya kncaya kadar devam eder. Bundan sonra, dahili adres sayc sonraki mesajn adresini gsterecektir.

Tablo 1 Opcode Summary


Komut POWERUP SETPLAY PLAY SETREC REC SETMC MC STOP STOPPWRDN RINT Opcode <5_ bits> Adress <11_bits> 00100 <XXX> 11100 <A10A0> 11110 <XXX> 10100 <A10A0> 10110 <XXX> 11101 <A10A0> 11111 <XXX> 0X110 <XXX> 0X01X <XXX> 0X110 <XXX> Operasyon zeti Powerup: Aygtn TPUD sresinden sonra operasyon iin hazr duruma gelmesi <A10A0> adresinden itibaren geri almann balatlmas EOM veya OVF iaretleyicisi gelene kadar o anki adresten itibaren geri alma <A10A0> adresinden itibaren kayt yapma OVF olana kadar o anki adresten itibaren kayt yapma <A10A0> adresinden mesaj almann balatlmas Mesaj almann ileme konmas Devre operasyonlarnn durdurulmas Devre operasyonlarnn durdurulmas ve stand-by (dk g) modunda bekleme nterrupt bitinin durumunun okunmas: OVF ve EOM

Tablo 2 SPI Control Register


Control Register RUN P/R 1 0 MC 1 0 Bit Device Fonction Enable or Disable operation Start Stop Selects Play or Record operation Play Record Enable or disable message cueing Enable mesage cueing Disable message cueing Control Register PU IAB 1 0 P10-P0 A10-A0 Bit Device Function Master Power control Power-Up Power-Down Ignore Address control bit Ignore input address register (A10-A0) Use the input address register contents for an operation (A10-A0) Output of the row pointer register Input address register

1 0

1 0

ekil 1 ISD 4003 Series Block Diagram

MISO OVF EOM MOSI C4 C3

P0

P1

P2

P3 A10

P4

P5

P6

P7

P8

P9 P10

C2 C1 C0

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Message Cueing (MC) Ignore Address Bit (IAB) Powerup (PU) Play/Record (P/R) RUN

ekil 2 SPI Port

ekil 3 ISD 4003 Series ANA IN Modes

ekil 4 Timing Diagram

ekil 5 8-Bit Command Format

ekil 6 16-Bit Command Format

ekil 7 Playback/Record and Stop Cycle

ZLOG Z80 MKROLEMCS

Z80 Mimarisi
Z80 mikroilemcisinin i mimarisinin blok diyagram ekil 8te gsterilmitir. Bu diyagram mikroilemci biriminin ana elemanlarn gstermektedir ve aada verilen ema anlatmn bandan sonuna kadar referans olarak kullanlacaktr.

8 Bitlik Veri Yolu

Veri Yolu Denetimi Komut Kod zc ve MB Denetimi Komut Kayd. MB Kaydedicileri MB Denetimi

ALU

Adres Denetimi Mikroilemci ve Sistem Denetim Sinyalleri 16 Bitlik Adres Yolu

ekil 8 Z80 Mikroilemci Blok Diyagram

Mikroilemci ye Ait Kaydedici Birimler (Registerler)


Z80 mikroilemci, programc tarafndan eriilmesi mmkn olan 208 bitlik R/W bellek ierir. Bu bellein 18 tane 8 bitlik kaydedici ve 4 tane 16 bitlik kaydedici halinde nasl dzenlendii ekil 4te gsterilmitir. Z80'in tm kaydedicileri, statik RAM kullanlarak gerekletirilmitir. Bu kaydediciler, 8 bitlik kaydedici olarak tek balarna yada 16 bitlik kaydedici olarak iftler halinde kullanlabilecek olan 6 adet genel amal kaydediciden oluan 2 takm ierir. Ayrca akmlatr ve bayrak kaydedicilerinden oluan iki takm daha mevcuttur.

zel Amal Kaydediciler


a) Program Sayc (Program Counter-PC): Program sayc bellekten okunacak olan komutun 16 bitlik adresini ierir. PC ieriinin adres hatlarna aktarlmasndan sonra otomatik olarak arttrlr. Herhangi bir program atlama komutu yrtldnde, arttrc alarak, yeni deer PC ye otomatik olarak yerletirilir. Mikroilemci komutlar okurken ilgili komutu hangi bellek gznden aldna dair adresi saklamas gerekir. nk bir sonraki komutu bu adresi bir arttrarak alr. te mikroilemcinin hangi adresten komut aldn gsteren registere PC denir ve bu register 16 bitliktir. b) Yn aretisi (Stack Pointer-SP): SP, d sistemde bulunan RAM belleindeki herhangi bir yere yerletirilmi olan bir ynn tepesinin 16 bitlik adresini tutar. D yn bellei, son kaydedilen ilk okunur (LIFO) dzeninde bir dosya eklinde dzenlenir. PUSH ve POP komutlarnn yrtlmesi yoluyla, yna belirli mikroilemci kaydedicilerinden veri itilebilir, yada yndan belli mikroilemci kaydedicilerine veri ekilebilir. Yndan ekilen veri her zaman yna daha nce itilmi olan son veridir. Yn ok dzeyli kesmelerin kolayca gereklenmesini, snrsz sayda alt programn i ie geirilebilmesini ve birok veri ileme trlerinin basitletirilmesini salar. Mikroilemcinin ana programdan alt programa gittii zaman ana programa geri dnecei adresi saklad adres gznn adresini ierir. Ana programdan alt programa gidildii zaman PC de o anda ana program komut satrnn adresi vardr. Stack pointere bir defa 16 bitlik bir adres yklendikten sonra, rnein 2099H stacka bilgi depolama bir sonraki stack adresinden balar. SP-1 (yani 2098) ve azalarak gider. Bir register iftinin ieriini (16 bitlik) SP-1 ve SP-2 (2098ve 2097) adreslerine depolanr. SP 2 azaltlarak 2099H den 2097H olur. Stack pointerden bilgilerin geri alnmas ilemi de depolama ileminin tersidir. POP komutunun her altrlmasnda stackn gsterdii adresten balayarak 2 byte bilgi geri alnr. Stack toplam da iki arttrlr. Stack proramc ve mikroilemci tarafndan paylalr. c) ndeks Kaydedicileri (IX ve IY): Birbirinden bamsz iki adet indeks kaydedicisi, indekslenmi adresleme modlarnda kullanlan 16 bitlik bir taban adresini tutar. Bu adresleme modunda indeks kaydedicilerinden biri verinin bellekte saklanaca yada geri alnaca blgeyi iaret etmek iin bir taban olarak kullanlr. Bu tabandan itibaren olan kaymay belirtmek iin indekslenmi komutlarda ilave bir byte ierir. Bu kayma 2nin tmleyeni halindeki iaretli bir tamsay olarak belirtilir. Bu adresleme modu, zellikle veri tablolarnn kullanld bir ok program trlerini byk lde basitletirir. d) Kesme Sayfas Adres Kaydedicisi (Interrupt): Z80 mikroilemcisi, herhangi bir kesmeye cevap olarak herhangi bir bellek konumuna dolayl bir arnn gerekletirilebilecei bir modda altrlabilir. Bu amala I kaydedicisi dolayl adresin st sral 8 bitini saklamak iin kullanlr, adresin alt 8 bitini ise kesme yapan birim aracl ile Adres Bus'tan alr. e) Bellek Tazeleme Kaydedicisi (Refrech): Z80 mikroilemcisi, statik belleklerle ayn kolaylkla kullanlan dinamik bellekleri yetkilendirebilmek iin bir bellek tazeleme saycsn iermektedir. Bu 8 bitlik kaydedici her komut getirme sayklndan sonra otomatik olarak arttrlr. Mikroilemci getirilen komutun kodunu zerken ve yrtrken tazeleme saycsndaki veri bir tazeleme denetim sinyaliyle birlikte adres yolunun alt yars zerinden darya gnderilir. Bu tazeleme modu programcya btnyle aktr ve mikroilemcinin almasn yavalatmaz. Programc R (tazeleme) kaydedicisini test etmek amac iin ykleyebilir, fakat bu kaydedici normalde programc tarafndan kullanlamaz. f) PUSH: Bu 1 veya 2 bytelk komut olup belirtilen registeri (16 bitlik) veya indeks registerinin ieriklerini stacka yle kaydeder. Bu komut nce SPyi bir eksiltir ve register iftinin veya indeks registerinin st byten SP-1 adresine kopyalar. Sonra SP yi tekrar bir azaltr ve alt byte SP-2 adresine kopyalar. g) POP: Bu 1 vaya2 bytelk komut olup stackin en st iki adresindeki bilgiler belirtilen register iftine kopyalanr. nce stackin SP ile gsterilen adresindeki bilgi register iftinin alt baytna kopyalanr (BC registerinin C registerine veya IX registerinin alt baytna) sonrada SP+1 deki bilgi st registere kopyalanr. h) EXCHANGE: Z80 mikroilemci, bayraklar, akmlatr ve genel amal registerlerin birer de yedeine sahiptir. Dei komutlar ile bu yazalarn ierikleri kaydedilebilir. Bu yedek yazalar yna benzer grev yaparlar.

Ana Kaydedici Takm (Register) Akmlatr Bayraklar A F B C D E H L

Yedek Kaydedici Takm (Register) Akmlatr Bayraklar A' F' B' C' D' E' H' L'

Kesme Vektr Bellek Tazeleme I R ndeks Kaydedicisi IX ndeks Kaydedicisi IY Yn aretisi SP Program Saycs PC

ekil 9 Z80 Mikroilemci Register Dzeni

Akmlatr Ve Bayrak Kaydedicileri


Mikroilemci birimi birbirinden bamsz iki adet 8 bitlik akmlatr ve bunlarla birletirilmi 8 bitlik bayrak kaydedicilerini iermektedir. Bayrak kaydedicisi 8 yada 16 bitlik ilemler iin ,rnein bir ilemin sonucunun sfra eit olup olmadnn belirtilmesi gibi zel koullar gsterirken, akmlatr 8 bitlik aritmetik veya mantksal ilemlerin sonularn tutar. Programc, almak istedii akmlatr ve bayrak iftinin tek bir dei toku komutu ile seer. Bu suretle, programcnn herhangi biri ile kolaylkla almas mmkndr. a) Akmlatr: Akmlatr mikroilemcinin bir paras olan 8 bitlik bir kaydedicidir. A kaydedicisi Z80 de akmlatr grevini grr. Bu kaydedici, aritmetik ve mantk ileme tabi tutulacak 8 bitlik datann depolanmas,mikroilemci de yaplan ilem sonularnn depolanmas, sonularn ka aktarlmas grevini yrtr. rnein toplama ilemi yaptran ADD komutu, toplama ilemine giren iki saydan birini daima A akmlatrnde bulunan say olarak kabul eder. Toplama ileminin sonucu da akmlatrdeki bir nceki say ile yer deitirilerek saklanr. Akmlatrn dndaki registerlara direkt olarak data yklenemez ve mikroilemci ilemlerinin sonular da depolanamaz. Sadece A akmlatrnn ierii ile yer deiimi yaplarak kullanlabilir. b) Bayrak Kaydedicisi (Flag Registeri): Bir futbol manda yan hakemlerin oyunun kurallarna gre bazen ellerindeki bayraklar kaldrdklar ve bylece orta hakeme bilgi verdikleri grlr. Benzer ekilde mikroilemci de yaplan bir ilemden sonra data sonularnn durumlarn gsteren mikroilemci de bulunan 6 flip-floptan her biri mikroilemciye bilgi verir ve bunlarn her birine de bayrak ad verilir. Flip-floplarn durumlar,istenildiinde 8 bitlik bayrak kaydedicisinde grlebilmektedir. ekil 5te F bayrak kaydedicinin bitlerindeki bayraklarn yerleri grlmektedir. Bu bayrak kaydedicisindeki D3 ve D5 bitleri ise kullanlmamaktadr. D7 S D6 Z D5 D4 H D3 D2 P/V D1 N D0 C

S: Sign Z: Zero H: Half Cary

P/V: Parity/Over flow N: Add/Substract C: Carry

ekil 10 F Bayrak Kaydedicisinin Yapsnda Bulunan Bayraklar

6 bayrak iindeki H (half carry) ve N (Add/subtract) bayraklar mikroilemci tarafndan BCD (Binary Coded Decimal) say ilemlerinde kullanlr. Bu iki bayran ierii herhangi bir komut tarafndan test edilemez ve programc tarafndan kullanlamazlar. Geriye kalan 4 bayrak Jump ve Call komutlar ile kontrol edilebilir. 1) Elde Bayra (Carry Flag-C): Bu bayrak akmlatrn en yksek sral bitinde kan eldedir. Bir aritmetik ilemde, rnein bir toplama sonucu elde (carry) retilmise veya bir karma ileminde bir bor alma (borrow) olmusa elde bayra set olur. Aksi takdirde reset olur. Ayrca bu bayrak baz mantk ve kaydrma komutlar tarafndan da etkilenir.

2) Sfr Bayra (Zero Flag-Z): Bu bayrak, yaplan ilemin sonucu sfr ise set olur. Aksi takdirde reset olur. ki sayy karlatrrken bu saylar eitse veya bir bitin sfr olup olmad kontrol edilmek isteniyorsa ve bu bit sfrsa Z bayra set olur. 3) aret Bayra (Sign Flag-S): Bu bayrak, yaplan ilemin sonucu negatif olduunda set olur. Bu bayrak, saynn iaretini 7. bit (EDB) gsterdiinden dolay (negatif bir saynn 7. biti birdir), akmlatrdeki 7. bitin bir kopyasn ierir. 4) Elik/Tama Bayra (Parity/Over Flow Flag-P/V): Bu ift amal bayrak, mantksal ilemler (rnein AND A,B gibi) yapldnda akmlatrdeki sonucun eliini belirtir,ikiye tmleyeni ile iaretli aritmetik ilemler yerine getirildiinde ise tamay gsterir. Z80 tama bayra, akmlatrdeki ikiye tmleyen halindeki saynn, ikiye tmleyeni notasyonunda gsterilebilen maksimum sayy (+127) amas yada minimum saydan (-128) daha kk olmas halinde, hatal olduunu belirtir.

Genel Amal Kaydediciler


Z80 mikroilemcisinde genel amal kaydedicilerden oluan, eletirilmi iki kaydedici takm mevcuttur. Bu takmlarn her ikisi de, programc tarafndan 8 bitlik kaydedici olarak tek bana yada 16 bitlik kaydedici olarak iftler halinde kullanlabilecek olan 6 adet 8 bitlik kaydedici iermektedir. Takmlardan birincisindeki kaydedici iftleri, BC, DE, HL ile adlandrlr. Elenik takmdakiler ise BC, DE,HL ile adlandrlr. Programc, alaca kaydedici takmn, btn takm iin tek bir dei toku komutu yardmyla seebilir. Hzl kesme cevabnn gerekli olduu sistemlerde, genel amal kaydediciler ile akmlatr/bayrak kaydedicisinden oluan takmlardan birisi, bu ok hzl programn iletilmesine ayrlabilir. Programdan programa gei iin sadece tek bir dei toku komutunun yrtlmesi gerekir. Bu zellik, kesme yada alt program ilemleri srasnda kaydedici ieriklerinin d yna saklama ve geri alma gereksinimlerini ortadan kaldrmak suretiyle, kesmeye cevap verme sresini byk lde azaltr. Bu genel amal kaydediciler, programc tarafndan ok geni aralktaki uygulamalar iin kullanlr. Ayrca, d belleinin mevcut olduu ROM tabanl sistemlerde programlamay da basitletirirler.

Aritmetik Ve Mantk Birimi (ALU)


Z80 mikroilemcinin 8 bitlik aritmetik ve mantksal komutlar, ALUda yrtlrler. ALU, mikroilemcinin ierisinde i veri yolu zerinden, kaydediciler ve d veri yoluyla iletiimde bulunurlar. ALU tarafndan yerine getirilen ilevlerin trleri yledir. Toplama kartma Mantksal VE Mantksal VEYA Mantksal zel VEYA Karlatrma Sola ya da saa kaydrma ya da dndrme Arttrma Azaltma Bit kurma Bit sfrlama Bit test etme

Komut Kaydedicisi Ve Mikroilemci Denetimi


Bellekten her komut getirme ileminde, getirilen komut ,komut kaydedicisine yerletirilerek kodu zlr. Bu ilevi denetim blm yerine getirir ve sonra kaydedicilerden veri okumak ya da kaydedicilere veri yazmak iin gerekli olan btn denetim sinyallerini retir ve srer, ALU yu denetler ve gerekli olan btn d denetim sinyallerini salar.

Z80-Mikroilemcinin Bacak Tanmlar


Z80 mikroilemcisi, 40 bacakl bir endstri standard olan ift-sral (DIL) Paket iinde paketlenmitir. Giri/k bacaklar ekil 11da gsterilmi ve bu bacaklarn her birinin ilevleri eklin altnda tanmlanmtr.
27 19 20 22 21 28 18 24 16 17 26 25 23 6 M1 MREQ IORQ WR RD REFSH HALT WAIT INT NMI RESET BUSRQ BUSAK CLK D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 14 15 12 8 7 9 10 13

Z80-CPU

ekil 11 Z80 Bacak Balantlar

A0-A15: Tristate durumunda olabilen high'ta etkin k A0-A15, (Adres Bus) 16 bitlik bir adres yolu oluturur. Adres yolu, (64 Kbyte kadar) bellek veri dei-tokular ve Giri/k birimleri veri dei tokular iin gerekli adresi salar. Giri/k adreslemesi, kullancnn 256 adete kadar giri yada k portunu dorudan doruya seebilmesini salamak zere alt sral 8 adres bitini kullanr. A0 en kk deerlikli adres bitidir. Tazeleme sresi srasnda, alt sral 7 bitin geerli bir tazeleme adresini ierir. D0-D7: Tristate durumunda olabilen high'ta etkin Giri/k. D0-D7, (Data Bus) 8 bitlik iki ynl veri yolu oluturur.

M 1 : Alakta etkin k. M 1 yrrlkteki makine (Birinci makine saykl) sayklnn, bir komutun
yrtmnn opkodu getirme saykl olduunu belirtir. 2 byte lk opkodlarnn yrtm

srasnda,

M 1 in her iki opkodu bytenn getirilmesi srasnda da retilir. Bu iki byte lk

opkodlar her zaman CBH, DDH, EDH ya da FDH ile balar. M 1 ayrca, kesme alnd saykln belirtmek iin IORQ ile de ortaya kar.

IORQ : Tristate durumunda olabilen low da etkin k. IORQ sinyali,(Giri /k istei) adres
yolunun 8 bitinin, Giri/k okuma ya da yazma ilemi iin geerli bir Giri/k adresini tutmakta olduunu belirtir. IORQ sinyali ayrca, herhangi bir kesme istei alndnda da, veri yoluna kesme yant vektrnn yerletirilebileceini belirtmek iin M 1 sinyali ile birlikte retilir.

RD : Tristate durumunda olabilen low da etkin k. RD , bu sinyal mikroilemci tarafndan veri

okunmaya alldnda oluur. Bellek ya da bir Giri/k biriminden veri okunmak istediini belirtir.

WR : Tristate durumunda olabilen low da etkin k. WR , mikroilemci tarafndan hafzaya bilgi


saklamak veya Giri/k biriminden k yaplmak istendiinde oluur.

RFSH : Low da etkin k. RFSH , adres yolunun alt (tazele) sral 7 bitinin, dinamik bellekler iin bir tazeleme adresi ierdiini ve yrrlkteki MREQ sinyalinin, tm dinamik bellekler iin
tazeleme amal bir okuma ilemi yapmak amacyla kullanlmas gerektiini belirtir. Tazeleme srasnda, A7 adres hatt mantksal sfrdr ve adres yolunun st sral 8 biti, I. Kaydedicisini ierir.

HALT : Low da etkin k. Bir ey yapma bekle demektir. HALT , mikroilemcinin bir HALT

(Durdurma durumu) yazlm komutunu yrtm olduunu ve ilemin geri alnabilecei hale gelinmeden nce, maskelenemez ya da maskelenebilir bir kesme iin hazr beklediini belirtir. Durdurma durumuna alnm iken mikroilemcinin, bellek tazeleme etkinliini srdrmek iin srekli olarak NOP komutlar yrtlr.

WAIT : Low da etkin k. WAIT (Bekle) girii Z80 mikroilemcinin, adreslenen bellek ya da
Giri/k biriminin veri aktarma iin hazr olmadn belirtir. Mikroilemci, bu sinyal etkin olduu srece hibir ilem yapmaz. Bu sinyal, her hangi bir hzdaki bellek ya da Giri/k birimlerinin mikroilemci ile senkronize edilmesini salar.

INT : Low da etkin k. Kesme istek sinyali, Giri/k (kesme istei) birimleri tarafndan retilir.
Kesme istei, eer yazlm denetimli i kesme yetkilendirme flip-flobu (IFF) yetkilendirilmise ve BUSRQ sinyali aktif deilse, yrrlkteki komutun sonunda dikkate alnr. Mikroilemci kesmeyi aldnda, bir sonraki komut sayklnn balangcnda, darya bir alnd sinyali ( IORQ ) gnderir. Mikroilemci, bir kesmeyi, ayr modda yantlayabilir. (IM0, IM1, IM2)

NMI : Pozitif kenar tetiklemeli giri. Maskelenemez kesme istei girii, INT den daha yksek bir
ncelie sahiptir ve kesme yetkilendirme flip-flopunun durumundan bamsz olarak her zaman iin yrrlkteki komutun sonunda tannr. NMI , mikroilemciyi otomatik olarak 0066H konumundan tekrar balatr. Program sayc, kullancnn kesilen programa geri dnebilmesi iin otomatik olarak d ynda saklanr. Ardarda girilen WAIT (bekle) saykllarnn yrrlkteki komutun sonlanmasn engelleyebileceine ve herhangi bir dikkat edilmelidir.

BUSRQ un NMI y aacana

RESET : Alakta etkin giri. RESET , program saycsna sfr ykler ve mikroilemciyi balang
durumuna getirme ilemi aadaki aamalar kapsar. 1) Kesme yetkilendirme flip -flobunun yetkisiz klnmas 2) I kaydedicisinin 00H e kurulmas 3) R kaydedicisinin 00H e kurulmas 4) 0nc kesme modunun kurulmas Sfrlama sresi srasnda, adres ve veri yollar yksek empedans durumuna girerler ve tm denetim k sinyalleri de etkisiz duruma gider. Bu srada, tazeleme ilemi de yaplamaz.

BUSRQ : Low da etkin k. Yol istei sinyali. Mikroilemcinin adres yolu, veri yolu ve durumlu
k denetim sinyallerinin yksek empedans durumuna gemesi iin d nite tarafndan kullanlr, bylece dier birimlerin bu yollar denetlemesi mmkn olur. BUSRQ aktif duruma getirildiinde, Mikroilemci, yrrlkteki mikroilemci makine saykl sonlandrlr sonlandrlmaz bu yollar yksek empedans durumuna getirir ve BUSAK 'tan sinyal kar.

BUSAK : Low da etkin k. Yol alnds, istek yapan birime, mikroilemcinin adres yolu veri yolu
konumlu denetim yolu sinyallerinin yksek empedans durumlarna geirildiklerini ve artk d birimin bu sinyalleri denetleyebileceini belirtmek iin kullanlr. CLK: Mikroilemcinin komutlar yrrle koymas iin saat darbesi giri ucu (Tek fazl sistem saati). Z80 iin 4 MHZ frekansndaki kare dalga osilatrnden gelir.

8255A PROGRAMLANABLEN PARELEL GR/ IKI ENTEGRES


8255A yaygn olarak kullanlan, olduka hzl, genel amal kullanmlarda karlalacak her duruma uygun zellikleri salayan bir entegredir. Esnek, kullanl ve ucuz olmasna ramen, baz kullanclar kullanmn ok kark bulmaktadr. Bu entegre genel amal paralel Giri/k (I/O) cihazdr ve neredeyse tm mikroilemcilerle beraber kullanlabilir. 8255Ann 24 tane Giri/k ucu vardr. 24 bit giri k yaplabilmektedir. Bu 24 bit 8 bitlik gruplar halinde gruplanmtr ve ilk 8 bit A portu, ikinci 8 bit B portu ve nc 8 bit C portu, olarak adlandrlr. C portu ayrca 4 bitlik iki kk grup olarak kullanlabilir. (CU ve CL) (ekil 13). Tm portlarn hangi fonksiyonlar salayaca kontrol kaydedicisine (Command register) yazlacak say ile belirlenir.

34 33 32 31 30 29 28 27 5 36 9 8 35 6

D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RESET CS

PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7

4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10

8255

ekil 12 8255 Bacak Balants

Temel olarak iki mod mevcuttur. Bunlar bit boyutlu ilemler yapmak veya Giri/k modlu yani 4-8 bitlik gruplar boyutunda ilemler yapmaktr. Bu ikinci modda kendi ierisinde 3 ayr iletim moduna ayrlarak incelenir. Bu karmak iletim modlarnda temel olarak sadece Giri/k mod sfr tercih edilir ve yaygn olarak kullanlr. Dier modlarda belirli ihtiyalara cevap vermek zere hazrlanm zel fonksiyonlar kolayca elde etmemizi salar. rnein Giri/k Mode1 fonksiyon olarak bir mikroilemcinin (yazc) printer amac ile de kullanlabilir. Mod2de ise A port ift ynl data aktarm amacyla kullanlr. C port ise bu haberleme sistemi iinde karlkl onaylama ve dier gerekli haberlemeleri ieren tokalama (Handshake) sinyallerini salar. 8255 Blok diyagram: ekil 7de 8255Ann blok diyagram grlmektedir. Kontrol ularn ayrca ele alalm.

RD Oku (Read): Bu kontrol sinyali ile okuma ilemi yaplr. Bu u 0 (low) yapldnda istenilen
porttan okuma yaplr ve porttaki bilgi Adres Bus'a aktarlr.

WR Yaz (Write): Yazma ilemi iin bu sinyal kullanlr. Bu u sfra ekildiinde seilen porta veya
command kaydedicisine bir saynn yazlmas mmkn olur. RESET: Bu, high konumunda aktif olan sinyal girii olup uygulandnda, 8255A balang konumuna gelir, command registerlar sfrlanr.

CS A0 ve A1: Entegre ve port seme sinyalleri. Bu sinyaller ile entegre seme ve entegrede port seme
ilemleri yaplr. Eer entegre seilmi ise gelen datann entegredeki drt porttan hangisi ile ilgili olduu sinyalleri A0 ve A1 adres seme ularna gelen adres bilgileri ile belirlenir.

D7

D6

D5

D4

D3

D2

D1

D0

MODE SET FLAG 1 Active

GRUP B Port C (Lower) 1nput 0Output Port B 1nput 0Output Mode Selection 0Mode 0 1Mode 1 GRUP A Port C (Upper) 1nput 0Output Port A 1nput 0Output Mode 00Mode 0 01Mode 1 1Mode 2

ekil 13 8255 Command Register Yaps

8255 le Klavye Ve Ekran Modl


8255 devreye, tulardaki bilgiyi p ye ve p den gelen kayt ilemine ait bilgileri display de gsterecek ekilde iki ynl olarak yerletirilmitir. A portuna bal butonlardan yaplacak ilem komutu belirlenir. Bu ilemin ne olduu B portuna bal display de gsterilerek C portundan ISD 4003e seri bilgi gnderilir ve seri bilgi alnr. Portlarla yaplan bu ilemler hazr yazl programa gre ileyen p tarafndan kontrol edilir. Dolaysyla bu ilemler programcya baldr. Tulardaki grlty nleme ii yine programcya aittir.

HAFIZA
Hafza, bir mikroilemci sisteminin en nemli paralarndan biridir. Grevi, mikroilemci iin komut datalarn saklamak. eitli hafza tipleri 2 ana grupta toplanabilir. Bunlar ana hafza ve depolama hafzasdr. ROM hafza kalc bilgi depolayan FETlerden yaplmtr. RAM hafza ise bilgiyi geici olarak depolar. Bir hafza engellemesinde tm yazalar bir sra halindedir ve ikili saylardan oluan adreslerde tanmlanrlar.

Hafza Haritas (Memory Map )


Bitirme tezimde kullandm Z80 mikroilemcisinin 16 bitlik adres belirleme sistemi vardr. Mikroilemci (p) bu 16 bit ile 0000Hten FFFFHe kadar 65536 bytelk blgeyi kullanr. Bu blge sabit kalc hafza (ROM), ksa sreli hafza (RAM), Giri/k portu (8255) ve ses kaydedicisi (ISD)yi iine alr. Her birinin ayr ayr adres blgeleri vardr. Bu blge hafza ilemleri ve Giri/k ilemleri iin ayr ayr olacak ekilde paylatrlr. Blgelere ayrma ilemi ile kastedilen her entegrenin belirli blgelerde aktif duruma gelecek ekilde balantsnn yaplmas demektir. Her entegrenin ayr ayr blgelerde seilmesi ise p tarafndan yaplan okuma veya yazma ilemi srasnda ilem yaplacak adres blgelerinin akmamas iindir. p dnda kullanlan dier entegreler genelde 64 Kbytetan daha kk hafza blmne sahip olduklar iin onlarda adresleme yaparken 16 bitten daha az adres biti kullanlr. Arta kalan adres bitleri ise entegrenin farkl blgelerde yetkilendirilmesi iin kullanlmaktadr. Bu ilemler srasnda bir bitin bota kalmas, yani ister LOW ister HIGH olsun hibir entegrenin yetkilendirilmesini etkilememesi, yansma dediimiz olay ortaya karr. Bu ise entegrenin iki farkl blgede yetkilendirilmesini salar. Benim projeme gre hafza ilemleri iin 0000Hten 1FFFHe kadar 8 Kbytelk blgede ROM (27C64) yetkilendirilir. A13 bitinin bota kalmasndan dolay 2000H ten 3FFFH e kadar ki blgede yine ROM yetkilendirilir. 4000Hten 5FFFHe ve 6000Hten 7FFFHe kadar ki blgede ise RAM (6264) yetkilendirilir. Giri/k ilemleri iin ise 00H ten 3FH e kadar ki blgede 8255 yetkilendirilir. FFFFH FFH 8000H 7FFFH RAM 6000H 5FFFH RAM 4000H 3FFFH ROM 2000H 1FFFH ROM 0000H 8255 00H 40H 3FH

ekil 14 Hafza Haritas


Bu yetkilendirme ilemi, iinde iki adet demultiplexer bulunan 74LS139 entegresi ile gerekletirilir.

Hafza eitleri
Hafza ncelikle ana ve depolama hafzas olarak iki gruba ayrlr. RAM ve ROM hafzalar ana hafzadr. Mikroilemci bu hafzalar, programlar altrmakta ve depolamakta kullanlr. Bu hafzalar mikroilemcinin alma hzna yeteri kadar ayak uydurmaldr. Bunlar RAM (Rasgele Eriilebilen Hafza) ve mikroilemci bilgiye zaman kaybetmeksizin herhangi bir yazatan eriebilir. Depolama hafzalar ise manyetik diskler, teyp bantlardr. Bu hafzalar mikrobilgisayar sisteminin bir paras olmayp ihtiya halinde taklp kullanlrlar ve mikrobilgisayar sisteminin enerjisi kesilse dahi bu hafzadaki bilgiler kaybolmazlar. Mikroilemci bu hafzada depolanan bilgileri direk olarak ileyemez ve programlar altramaz, bunun iin programlar nce ana hafzaya kopya edilir. Bu yzden sistemin ana hafzas (64 K, 128 K, 2M, 4M gibi), ne kadar byklkte bir programn altrlabilecei bilgisini de vermektedir.

Yaz/Oku Hafza (Read/Wrte Memory, R/WM, Ram)


sminden de anlald gibi mikroilemci bu hafzaya yazar veya okur. Popler olarak RAM hafza olarak adlandrlrlar.(Random Access Memory). Statik ve Dinamik olarak iki ekli bulunan bu hafzann, sistemin enerjisi kesilince zerindeki bilgiler de silinir. Statik hafza flip-floplardan yaplm olup bilgiyi flip-floplarda gerilim olarak, dinamik hafza ise MOS transistor kaplarndan yaplm olup bilgiyi kapasitanslarda elektrik yk olarak depolarlar. Dinamik hafzann avantaj, ucuz,yksek younluklu, az g tketiyor olmas; dezavantaj ise ykn (bit bilgisi) zayflamasndan dolay bilginin birka milisaniyede bir okunup tekrar yazlmas zorunluluudur. Hafza tazeleme olarak adlandrlan bu ilem iin ek devrelere ihtiya duyulduundan dolay fiyatnn da artmasna yol amaktadr. Ekonomik olarak, kk sistemler iin statik hafza, 16Kdan byk sistemler iin ise dinamik hafza kullanmak uygundur.

Yalnzca Okunabilen Hafza (Read Only Memory, Rom )


Enerjisi kesilse dahi bilgilerini koruyan bu hafzaya yklenen programlarn deitirilmeye ihtiyac yoktur. nk bir bit yaps depolandktan sonra sadece okunabilir, yani kalc veya yar kalcdrlar. Kalc grup MASKED ROM ve PROM olmak zere iki tip hafza, yar kalc grup ise EPROM ve EEPROM olmak zere iki tip hafza ierir.

Programlanabilen Oku-Yaz Hafza (Programmable Rom, Prom)


Bu hafzada nikrom veya polisilikon adnda teller bulunur ve zel bir PROM programlayc ile bit yaplar hafzaya yazlrken karlk gelen bu teller birer sigorta gibi yanarak girilen bit yapsnn kalc olmasn salarlar.

Silinebilen Prom (Erasable Prom, Eprom)


Bu hafza ipinde de, bir EPROM programlayc kullanlarak iinde bulunan FETlerin kap girilerine yksek gerilimler tatbik edilip yklenmesi ile depolama ilemi yaplr. Hafzann zerinde bulunan quartz pencereye ultraviyole n tutulmas ile de bu bilgiler silinebilir. Bylece hafzaya yeni programlarn yklenebilmesi mmkn olur.

Elektriksel Silinebilen Prom (Eeprom)


Bu hafza tipi EPROMa bezemektedir, fakat iindeki bilgilerin hepsinin silinmesinden ziyade uygulanan elektriksel sinyaller vastasyla yaza seviyesinde bilgilerin deitirilmesi ile fark gstermektedir. Elektriksel gerilimler uygulayarak hafza bilgilerinin deitirilebilmesi bu EE-PROMa uzaktan kumanda uygulamalarnda byk avantaj salamaktadr.

SES KAYDI N YAPILMASI GEREKEN LEMLER VE DEVREDE GEREKLEEN OLAYLAR


Mikroilemci ald anda 8255 entegresinin Giri/k portlarnn belirlenmesi iin command registerine bilgi gnderiyor. Yani 8255 in portlar artlanyor. Sonra ise POWERUP alt program ile ISD 4003 entegresine power iareti gndererek ISDnin hazr hale gelmesini salyor. ISD hazr olduktan sonra 3FF H defa tutaranp bir defa DONDER alt programn aryor. DONDER alt program displayn d evre segmentlerinde srayla kayarak yanan bir grnt oluturuyor. Eer herhangi bir tua baslrsa KOMADR alt program bu tuun yapmas gereken ilevi gerekletirecek alt programn balang adresini Tablo 2den belirleyerek HL registerine yerletirir. KJ alt program ise bu program akn HL registerinde belirlenen adresten devam edecek ekilde deitirir. Tularn gerekletirmesi gereken ilevler unlardr: 1. Help 2. Stop 3. Message no 4. Play 5. Record Sesli olarak bu mikroilemci kontroll devrenin nasl kullanlacan anlatr veya dier bir deyile ksa bir tantm yapar

1. Help:

2. Stop:

ISDye stop komutu gndererek uygulamada olan tm fonksiyonlar durdurur.

Bu tu basl olduu srece display de 1den Fe kadar saylar srasyla artarak grntlenir ve sfra dnp tekrar eder. Buton brakld anda display hangi sayy gsteriyorsa o mesajn adresi MESAJAD alt program tarafndan belirlenir. Eer bu program Play tarafndan arlmsa belirlenen mesaj alnr. Eer RECORD tarafndan arlmsa belirlenen mesajn zerine yeni mesaj kaydetmeye balar.

3. Message No:

stenirse MESS_NO program yardmyla belirlenen mesajn dinlenmesini, istenirse de en son kaydedilen mesajn dinlenmesini salar. 5. Record: Ana ilevi mesaj kaydetmeyi salamaktr. MESS_NO program yardmyla kaydedilecek yeri deitirebiliriz. Yalnz kayt ilemi balamadan nce KONT program kaydn balayaca adresin tantmn bitiminden sonra olup olmadn kontrol eder. Eer tantmn zerine yazlmak istenirse kaydn balayaca adresi otomatik olarak tantmn son adresi olarak belirler. Bu kadar program arasnda kullanlan register'larda bir karklk olmamas iin RAM' in hafzalar 5F00H adresinden itibaren indekslemeli olarak kullanlmtr. RAM' in beslemesine pil taklarak devrenin enerjisi kesilse bile RAM' deki (kaydedilen mesaja ait) bilgilerinin kaybolmamas salanmtr. Bu indeksli adreslerin neyi belirttii ve sesli uyarlarn deifre edilmi hali programn balangcna ilave edilmitir.

4. Play:

MKROLEMCNN, SES KAYDINDA YAPACAI LEMLER YNLENDREN Z80 PROGRAMI


Uyar 1 : "Dinlemek istediiniz mesaj numarasn ekranda grene kadar brakmakszn mesaj numaras yazan tua sonra da Play tuuna basnz" Uyar 2 : " Bir daha yanl tua basarsanz sistem kapatlacaktr." Uyar 3 : "Tekrar Record tuuna basarsanz mesajnz en son kaydedilen mesajn devamna kaydedilecektir ve mesaj numarasn ekranda greceksiniz. stediiniz bir mesajn yerine kaydetmek iin mesaj numaras yazan tua basnz ekranda 'r' harfi grntlendii andan itibaren kayt balar ve herhangi bir tua baslana kadar devam eder.

Tablo 3 Komut Balang Adresleri


TANITIM STOP MESS_NO PLAY RECORD Tantmn bitim adresi 00H 03H 01H 18H 10H 48H 10H 90H 10H D2H 00H D6H 1ED1H 1ED2H 1ED3H 1ED4H 1ED5H 1ED6H 1ED7H 1ED8H 1ED9H 1EDAH 1EDBH 1EDCH

Tablo 4 Say Karl Segment Bilgileri


6FH 41H 76H 73H 59H 3BH 3FH 61H 7FH 7BH 7CH 1FH 2EH 57H 3EH 3CH 1FD0H : : : : : : : : : : : : : : 1FDFH

Tablo 5 Kaydedilen Mesajlarn Balang Adresleri


Mesaj 1 Mesaj 2 : : LB HB LB HB : : 5ED1H 5ED2H 5ED3H 5ED4H : :

0000H 0003H 0070H 0073H 0077H 0079H 007BH 007EH 0082H 0085H 0089H 008DH 0090H 0093H 0095H 0098H 009AH 009CH 009EH 00A1H 00A3H 00A4H 00A6H 00A9H 00ABH 00AEH 00AFH 00B2H 00B5H 00B7H 00B9H 00BCH 00BFH 00C1H 00C3H 00C6H 00C8H 00CCH 00D0H 00D4H 00D5H 00D8H 00DBH 00DCH 00DDH 00DEH 1000H 1003H 1005H 1007H 1009H 100AH 100CH

C37000 C9 31005D DD21005F 3E98 D303 CDAF00 DD361320 CDFC00 DD3617FF DD3618FF CD0010 DD3518 20F8 DD3517 20F3 38E6 1E70 CD0010 30F9 1D 20F8 CDAB00 18D7 CD1910 E9 210020 CD4B11 3E7C D301 32095F CDC110 3EFF D302 DDAE0D 200C DD360D01 FD2ADB1E FD220A5F C9 210020 CD4B11 C9 C9 C9 C9 21005F 0605 0E01 DB00 57 3E01 CB0A

TANITIM: ANAPROG:

TKONT: TT:

TTARA: TDEV:

KJ: POWER:

GEC3: POWERUP: UYARI1: UYARI2: UYARI3: TUSTARA:

KAYDIR:

CPU "Z80.TBL" JP ANAPROG RET ORG 0070H LD SP, 5D00H LD IX, 5F00H LD A, 98H OUT (03H), A CALL POWER LD (IX+13H), 20H CALL DONDER LD (IX+17H), FFH LD (IX+18H), FFH CALL TUSTARA DEC (IX+18H) JR NZ, TT DEC (IX+17H) JR NZ, TT JR C, TKONT LD E, 70H CALL TUSTARA JR NC, TTARA DEC E JR NZ, TDEV CALL KJ JR TKONT CALL KOMADR JP (HL) LD HL, 2000H CALL SERICIK LD A, 7CH OUT (01H), A LD (5F09H), A CALL BEKLE LD A, FFH OUT (02H), A XOR (IX+0DH) JR NZ, GEC3 LD (IX+0DH), 1 LD IY, (1EDBH) LD (5F0AH), IY RET LD HL, 2000H CALL SERICIK RET RET RET RET ORG 1000H LD HL, 5F00H LD B, 5H LD C, 1H IN A, (00H) LD D, A LD A, 01 RRC D

100EH 1010H 1011H 1013 H 1014H 1016H 1018H 1019H 101CH 101EH 1020H 1022H 1023H 1024H 1025H 1026H 1027H 1028H 1029H 102CH 102FH 1031H 1034H 1036H 1039H 103CH 103FH 1041H 1044H 1047H 1048H 104CH 104EH 1050H 1052H 1054H 1056H 1059H 105CH 105EH 1061H 1064H 106BH 106FH 1071H 1072H 1075H 1078H 107AH 107DH 107EH 1081H 1083H 1085H 1086H 1087H 108AH

3803 71 3E00 0C 10F6 CB0F C9 DD7E00 CB07 C6D0 161E 5F 1A 67 1B 1A 6F C9 3ADC1E DDBE11 2805 FA4110 1811 3ADB1E DBE10 FA4110 1806 2ADB1E 22105F C9 DD360908 0E00 0602 DB00 EEFB 2815 CDDD00 CDC110 100D 210030 CD4B11 DD360903 DB00 2009 0C DD7108 CDB010 18F1 CD7E10 C9 DD7E08 CB07 265E 6F 7E DD7711 2B

GEC2:

KOMADR:

KONT:

DIGER:

KUCUK: BITR: MESS_NO:

ATLA:

BITIR: MESAJAD:

JR C, GEC2 LD (HL), C LD A, 0 INC C DJNZ KAYDIR RRC A RET LD A, (IX+00H) RLC A ADD A, 0D0H LD D, 1EH LD E, A LD A, (DE) LD H, A DEC DE LD A, (DE) LD L, A RET LD A, (1EDCH) CP (IX+11H) JR Z, DIGER JP M, KUCUK JR BITR LD A, (1EDBH) CP (IX+10H) JP M, KUCUK JR BITR LD HL, (1EDBH) LD (5F10H), HL RET LD (IX+09H), 8H LD C, 00 LD B, 2H IN A, (00H) XOR 0FBH JR Z, ATLA CALL UYARI2 CALL BEKLE DJNZ ATLA LD HL, 3000H CALL SERICIK LD (IX+09H), 3 IN A, (00H) JR NZ, BITIR INC C LD (IX+08H), C CALL DISP_GOS JR ATLA CALL MESAJAD RET LD A, (IX+08H) RLC A LD H, 5EH LD L, A LD A, (HL) LD (IX+11H), A DEC HL

108BH 108CH 108FH 1090H 1093H 1096H 1099H 109CH 109FH 10A2H 10A5H 10A8H 10AAH 10ACH 10AFH 10B0H 10B3H 10B5H 10B7H 10B8H 10BAH 10BBH 10BDH 10C0H 10C1H 10C2H 10C5H 10C8H 10C9H 10CAH 10CBH 10CDH 10CEH 10D0H 10D1H 10D2H 10D5H 10D8H 10DBH 10DEH 10E1H 10E4H 10E7H 10E9H 10EBH 10EEH 10EFH 10EFH 10F2H 10F5H 10F7H 10F9H 10FCH 10FEH 10FFH 1101H 1104H

7E DD7710 C9 CDD500 CDDC00 CD4810 21000E CD4B11 CDC110 21F000 CD4B11 3E7C D301 CDC110 C9 DD7E08 E60F C6D0 6F 261F 7E D301 CDC110 C9 D9 DD5609 21FFFF 2B 7D B4 20FB 15 20F8 D9 C9 CDD500 CDEF10 2100A0 CD4B11 CDC110 2100B0 CD4B11 3E2C D301 CD2211 C9 CDDE00 CD0010 30FB 1E80 CD0010 38F9 1D 20F8 CD0511 C9

PLAY:

DISP_GOS:

BEKLE: AZALT:

REC:

LD A, (HL) LD (IX+10H), A RET CALL POWERUP CALL UYARI1 CALL MESS_NO LD HL, 0E00H CALL SERICIK CALL BEKLE LD HL, F0H CALL SERICIK LD A, 7CH OUT (01H), A CALL BEKLE RET LD A, (IX+08H) AND 0FH ADD A, 0D0H LD L, A LD H, 1FH LD A, (HL) OUT (01H), A CALL BEKLE RET EXX LD D, (IX+09H) LD HL, FFFFH DEC HL LD A, L OR H JR NZ, AZALT DEC D JR NZ, AZALT EXX RET CALL POWERUP CALL REC1 LD HL, A000H CALL SERICIK CALL BEKLE LD HL, B000H CALL SERICIK LD A, 2CH OUT (01H), A CALL KAY_SON_IS RET

REC1: CALL UYARI3 TKONT1: CALL TUSTARA JR NC, TKONT1 TTARA1: LD E, 80H TDEV1: CALL TUSTARA JR C, TTARA1 DEC E JR NZ, TDEV1 CALL SEC RET

1105H 1108H 110AH 110CH 110FH 1110H 1114H 1118H 111BH 111EH 1121H 1122H 1122H 1125H 1127H 1129H 112CH 112EH 112FH 1131H 1134H 1136H 1139H 113CH 113DH 113FH 1142H 1144H 1147H 114AH 114BH 114DH 114FH 1151H 1153H 1155H 1157H 1159H 115BH 115EH 1161H 1163H 1165H 1167H 1168H 1169H 116BH 116DH 116FH 1172H 1173H 1174H 1176H 1177H 1179H 117BH 117FH

DD7E00 EE03 2004 CD4810 C9 FD2A0A5F FD22105F DD7E0D DD7708 CDB010 C9 CD0010 38FB 1E80 CD0010 30F9 1D 20F8 CD1801 0E0D CDE000 CDEF00 0D 20F7 DD7E16 E607 DD7716 CD2A01 C9 3E00 D301 D302 0610 CB3C CB1D CB17 D302 CDC110 CDE000 10F0 3EFF D302 C9 C5 0E02 3E80 D301 CDC110 AF 0D 20F7 C1 DB02 CB27 DDCB1516 DDCB1616

SEC: LD A, (IX+00H) XOR 3 JR NZ, GEC1 CALL MESS_NO RET GEC1: LD IY, (5F0AH) LD (5F10H), IY LD A, (IX+0DH) LD (IX+08H), A CALL DISP_GOS RET KAY_SON_IS: TKONT2: CALL TUSTARA JR C, TKONT2 TTARA2: LD E, 80H TDEV2: CALL TUSTARA JR NC, TTARA2 DEC E JR NZ, TDEV2 CALL STOP LD C, 0DH GIRDEV: CALL SCLK CALL GIR DEC C JR NZ, GIRDEV LD A, (IX+16H) AND 07H LD (IX+16H), A CALL EKLEMELER RET SERICIK: LD A, 00H OUT (01H), A OUT (02H), A LD B, 16 GON: SRL H RR L RL A OUT (02H), A CALL BEKLE CALL SCLK DJNZ GON LD A, FFH OUT (02H), A RET SCLK: PUSH BC LD C,02H LD A,80H KARE: OUT (01H),A CALL BEKLE XOR A DEC C JR NZ, KARE POP BC GIR: IN A, (02H) SLA A RL (IX+15H) RL (IX+16H)

1183H 1184H 1188H 118AH 118EH 1190H 1192H 1196H 1199H 119BH 119FH 11A0H 11A3H 11A6H 11A8H 11AA 11AE 11B1H 11B2H 11B5H 11B7H 11B8H 11BBH 11BE 11C2H 11C6H 1FD0H 1FD3H 1FD6 1FD9 1FDC 1FDF 1ED1H 1ED3H 1ED5H 1ED7H 1ED9H

C9 DDCB1366 2008 DDCB137E 2002 1804 DDCB1306 DD7E13 D301 DDCB1306 C9 210030 CD4B11 3E3B D301 DD360905 CDC110 C9 3A085F D301 3C 320D5F CDC110 FD2A155F FD220A5F C9 6F4176 73593B 3F617F 7B7C1F 2E573E 3C 0000 0118 1048 1090 10D2

RET DONDER: BIT 4, (IX+13H) JR NZ, GEC BIT 7, (IX+13H) JR NZ, GEC JR NORM GEC: RLC (IX+13H) NORM: LD A, (IX+13H) OUT (01H), A RLC (IX+13H) RET STOP: LD HL, 3000H CALL SERICIK LD A, 3BH OUT (01H), A LD (IX+09H), 5 CALL BEKLE RET EKLEMELER: LD A, (5F08H) OUT (01H), A INC A LD (5F0DH), A CALL BEKLE LD IY, (5F15H) LD (5F0AH), IY RET ORG 1FD0H DFB 6FH, 41H, 76H, DFB 73H, 59H 3BH DFB 3FH, 61H, 7FH DFB 7BH, 7CH, 1FH DFB 2EH, 57H, 3EH DFB 3CH ORG 1ED1H DWM TANITIM DWM STOP DWM MESS_NO DWM PLAY DWM REC END

Tablo 6 Etiket Adresleri


0000H 0082H 008DH 009CH 009EH 00ABH 00AFH 00D4H 00D5H 00DCH 00DDH 00DEH 00E0H 00E5H 00EFH 00FCH 010AH 010EH 0118H 012AH 013FH 1000H 100CH 1013H 1019H 1029H TANITIM TKONT TT TTARA TDEV KJ POWER GEC3 POWERUP UYARI1 UYARI2 UYARI3 SCLK KARE GIR DONDER GEC NORM STOP EKLEMELER ANAPROG TUSTARA KAYDIR GEC2 KOMADR KONT 1036H 1041H 1047H 1048H 106BH 107AH 107EH 1090H 10C1H 10B0H 10C8H 10D2H 10EFH 10F2H 10F7H 10F9H 1105H 1110H 1122H 1122H 1127H 1129H 1136H 114BH 1153H DIGER KUCUK BITR MESS_NO ATLA BITIR MESAJAD PLAY BEKLE DISP_GOS AZALT REC REC1 TKONT1 TTARA1 TDEV1 SEC GEC1 TKONT2 KAY_SON_IS TTARA2 TDEV2 GIRDEV SERICIK GON

SONU
nsann d dnya ile iliki kurmasnda en nemli zelliinden birisi olan ses yani istedii kelimeleri bir araya getirerek cmle oluturma ona benzer robotlar retmede u an iin byk bir engel olarak karmza kmaktadr. Bunun yannda dardan gelen seslerin anlalmas ise cabas. Bu devre ve program yardm ile daha nceden kaydedilen kelimeler istenilen sraya gre arlarak cmle yaps oluturulabilmektedir. Devrede kullanlan mikroilemcinin hzna bal olarak bu ilem daha seri bir ekilde yaplabilir. Birka entegrenin seri balanmas ile hafza bytlerek gnlk hayatta kullanlan kelimelerin bir ou kaydedilebilir. Bylece konuma zrllerin dolayl olarak konumas salanm olur. Ayrca kullanmad kelimelerin yerine yeni kelimeler kaydederek kelime haznesini deitirebilir. Bu devreyi laboratuarlarda yaygn olarak kullandmz osilaskoplarn giriine balanmak suretiyle osilaskoplarmz hafzal hale getirebiliriz. Geici sre iin oluan sinyal ISD' ye analog olarak kaydedildiinden sinyalde bozulma meydana gelmez. Sinyalin uygulama sresi mikroilemci tarafndan llerek tekrarlanmak suretiyle daimi sinyal girii varm gibi osilaskop'un ekrannda sinyalin grntlenmesi salanr.

KAYNAKLAR
1) 2) 3) 4) 5) 6) 7) 8) 9)
POTTON, A. ,Mikroilemci tabanl sistemler 4 ANKARA-1994 BOYLESTAT, R., NASHELSKY, L., Elektronik elemanlar ve devre teorisi GKKAYA, K., UZUN. ., Mikroilemciler ve Assembler programlama STANBUL-1994. Z80 PROGRAMMING MANUEL ISD 4003 SERIES, ChirCorder ISD WEBSTE(www.isd.com) HITACHI Data Book M..ORRS MANO,Saysal Tasarm, ABAN KURTULDU, MEHMETY AL GLER, Mikroilemciler

EK

You might also like