You are on page 1of 107

8086 Mikroilemci Eitim Deney Seti Ercan KSE YKSEK L SANS TEZ Elektrik-Elektronik Anabilim Dal Aralk 2005

Microprocessor Traning Set Ercan KSE MASTER OF SCIENCE THESIS Department of Electrical-Electronics Engineering December 2005

8086 Mikroilemci Eitim Deney Seti

Ercan KSE

Osmangazi niversitesi Fen Bilimleri Enstits Lisansst Ynetmelii Uyarnca Elektrik-Elektronik Anabilim Dal Elektrik Tesisleri Bilim Dalnda YKSEK L SANS TEZ Olarak Hazrlanmtr

Danman: Prof.Dr.Salih FADIL

Aralk 2005

Ercan KSEnin YKSEK L SANS TEZ olarak hazrlad 8086 Mikroilemci Eitim Deney Seti balkl bu alma, Jrimizce Lisansst Ynetmeliinin ilgili maddeleri uyarnca deerlendirilerek kabul edilmitir.

ye:

ye:

ye:

Fen Bilimleri Enstits Ynetim Kurulunun

-------------------------

Gn ve --------------------------- sayl kararyla onaylanmtr.

Prof.Dr.Abdurrahman KARAMANCIOLU Enstit Mdr

ZET

Bu tez almasnda ana ve uygulama devre kartlarndan oluan, 8086 mikroilemcili genel amal bir eitim seti tasarm ve gereklenmesi hedeflenmitir.

Kullanc, set zerindeki uygulama kart yardmyla bir ok uygulamay kolayca yapabilmektedir. Bu uygulamalar; sinyallerin saysaldan (dijitalden) analoa ve

analogdan saysala (dijitale) evrilebilmesi, LCDye yaz yazdrma, scaklk lm, motor hz kontrol, motor yn kontrol, saysal motor hz kontrol, adm (step) motor kontrol ve rle kontroldr.

Genel amal eitim setinin monitr program J.ANTONAKOSun kitabndan alnarak sisteme uyarlanmtr[1]. program zerinden altrlmaktadr. Monitr program bilgisayarn hyper terminal

Gerekletirilen genel amal 8086/8088 16-bitlik mikroilemci eitim seti ile bir ok uygulama yaplabilmektedir. Bilgisayarda assembler dilinde yazlan .ASM

uzantl programlar bir 8086 derleyicisi yardmyla .HEX formatna evrildikten sonra seri port zerinden eitim setinin RAMine yklenerek altrlabilmektedir.

Genel amal set bilgisayarla RS232 seri portu zerinde 38.400 baud rate hznda seri olarak haberlemektedir.

Kullanlan elemanlarn yaplar ve almalar ilerleyen blmlerde ayrntl olarak anlatlmaktadr.

SUMMARY

In this thesis, an education set, consisting of main and application boards with 8086 microprocessor, design and production is targeted.

The user can execute many applications with the aid of the application board. These applications contain conversion of signals from digital to analog and from analog to digital signals, writing out to LCD panel, temperature measurement, motor speed control, motor direction control, digital motor speed control, step motor control and relay control.

Monitoring

program

of

the

education

set

was

taken

from

J.ANTONAKOSs book[1]. Monitoring program works on the hyper terminal.

This 8086/8088 16-bit microprocessor education set can perform many operations. After conversion of assembler language programs with .ASM

extension to programs with .HEX extension, programs can be executed by loading through serial port to the RAM of the education set.

Developed set communicates with a computer over RS232 with 38400 baud rate. The used components structures and operations are given in detail.

TEEKKR

Bu projenin tasarmnda ve gerekletirilmesinde her trl yardm salayan deerli hocam sayn Prof.Dr Salih FADILa, Yrd.Do.Dr Rfat ED ZKANa, Yrd.Do.Dr Hakan TORAya, r.Gr.Deniz STNne, r. Gr.Serhan YAMALIya, tez yazmnda yardmc olan rencilerim Aye Glden KARACA, Birsen TEMEL ve Levent SERTe, yksek lisans boyunca desteini esirgemeyen eim Nilfer KSE ye teekkr ederim.

NDEK LER

Sayfa ZET................................................................................................................................ v SUMMARY...................................................................................................................... vi TEEKKR..................................................................................................................... vii EK LLER D Z N ......................................................................................................... viii ZELGELER D Z N ................................................................................................... ix 1. G R ........................................................................................................................... 2. E T M SET DONANIMI....................................................................................... 2.1 8086/8088 Mikroilemci....................................................................................... 2.2 Yol Kontrol Sinyallerinin retilmesi................................................................... 2.3 8086 Mikroilemci in Saat Frekansnn retilmesi........................................... 2.4 8086 Mikroilemcinin Resetlenmesi ................................................................... 2.5 Adres Yolarnn ve Veri Yollarnn Ayrlmas..................................................... 2.6. Hafza ve evre Birimlerinin Organizasyonu...................................................... 2.6.1 evre Birimlerinin Hafza Organizasyonu.................................................. 1 2 2 3 4 5 6 7 9

2.7 Programlanabilir evre Birimi 8255 ile Giri/k............................................. 12 2.8 8254 Zamanlayc/ Sayc..................................................................................... 13 2.9 8259 Programlanabilir Kesme Yneticisi............................................................. 14 2.10 8251 Senkron/Asenkron Seri letiim Birimi..................................................... 15 2.11 RS232 Standard................................................................................................. 2.12 Hyper Terminal Program................................................................................... 16 18

3. E T M SET YAZILIM B LEENLER ............................................................... 20 3.1 Uygulamalar in Assembler Dilinde Yazlm Programlarn Derlenmesi......... 3.2 Monitr Program Kullanm................................................................................ 20 23

4. RNEK PROGRAM UYGULAMALARI................................................................ 28 4.1 74LS374 Entegresi le LED Kontrol................................................................. 4.1.1 Led Kontrolnn Assembler Program....................................................... 4.2 Rle Kontrol....................................................................................................... 28 29 30

NDEK LER (Devam) Sayfa 4.2.1 Rle Kontrolnn Assembler Program...................................................... 4.3 8254 le Saat Frekans reticisi le PWM Motor Hz Kontrol........................... 4.3.1 PWM Motor Kontrolnn Assembler Program........................................ 4.3.2 8254 le Saat Frekans reticisi le ses retimi........................................... 4.3.3 8254 le Saat Frekans reticisi le ses retimi Assembler Program......... 4.3.4 8254 le BUZZERn Kontrol................................................................... 4.4 Analog Saysal evirici (ADC) Uygulamas....................................................... 4.4.1. ADC Dntrc Assembler Program.................................................... 4.5 Adm Motor Kontrol Uygulamas........................................................................ 4.5.1 Adm Motor in Assembler Program ....................................................... 4.6 Saysal Analog Dntrc Uygulamas........................................................... 4.6.1 DAC0808 le Motor Hz Kontrol Assembler Program........................... 4.6.2 ADC0804 le rneklenen Sinyalin DAC0808 knda Elde Edilmesi Assembler Program.............................................................................................. 4.6.3 ADC0804 le rneklenen Ses Sinyalinin DAC0808 knda Elde Edilmesi Assembler Program............................................................................... 4.7 LCD Ekran Uygulamas....................................................................................... 4.7.1 LCD Ekran Yaz Uygulamas Assembler Program.................................... 4.8 Motor Yn Kontrol Uygulamas .......................................................................... 4.8.1 Motor Yn Kontrol Uygulamas Assembler Program................................ 4.9 Tu Takm Kontrol Uygulamas.......................................................................... 4.9.1 Tu Tanma Assembler Program................................................................ 52 54 54 58 58 60 62 51 31 32 34 36 37 41 43 44 46 48 49 50

5. SONU VE NER LER.............................................................................................. 68

KAYNAKLAR D Z N ....................................................................................................

69

EKLER

EK LLER D Z N

ekil 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12

Sayfa 8086/8088 Mikroilemcinin Genel Yaps....................................................... Yol Kontrol Sinyallerinin retilmesi............................................................... 8086 Mikroilemcinin Saat Frekansnn retilmesi......................................... 8086 Mikroilemcinin Resetlenmesi................................................................ Adres ve Veri Yolarnn Ayrlmas.................................................................. Bellek Haritas.................................................................................................. Bellek Adreslenmesi......................................................................................... evre Birimlerine Ait Kod zc Devresi..................................................... 8255 PIA Entegresi Ana ve Uygulama Kart Balants................................... 8254 Giri ve k Sinyalleri.......................................................................... 8259 Giri ve k Sinyalleri ......................................................................... 8251 Seri Haberleme Balants..................................................................... MAX-232 Devresi............................................................................................ Eitim Seti le Bilgisayar Arasndaki Seri Haberleme Balants................ Hyper Terminal Program Balant Tanm....................................................... Hyper Terminal Program Balan Ayar........................................................... Hyper Terminal Program Balant Noktas Ayarlar....................................... LED.ASM Uzantl Word Pad Dosyas........................................................... MASM ile Dnm........................................................................................ ntelhex Formatna Dosya Dnm.............................................................. ntelhex Formatndaki Dosya.......................................................................... Balant Grnts........................................................................................... Monitr Program alma Mens................................................................. Metin Dosyas Yklenmesi.............................................................................. Programn Ykle leminin Tamamlanmas.................................................... Ram Bellek erii............................................................................................ Rame Ykl Programn altrlmas............................................................ LED Kontrol..................................................................................................... Rle Kontrol Devresi....................................................................................... PWM Motor Kontrol Devresi.......................................................................... 8254 le Ses retim Devresi............................................................................. BUZZER Kontrol Devresi................................................................................ ADC Uygulama Devresi................................................................................... Adm Motor Src Devresi............................................................................ DAC0808 Uygulama Devresi.......................................................................... Ses Uygulama Devresi................................................................................... LCD Ekran Uygulama Devresi....................................................................... Motor Yn Kontrol Devresi........................................................................... Tu Takm Kontrol Devresi........................................................................... 2 3 4 5 7 8 8 10 12 13 14 16 17 17 18 18 19 21 22 22 23 24 24 25 26 26 27 28 30 33 37 41 43 47 49 52 54 58 61

TABLOLAR D Z N

Tablo 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8

Sayfa 7 9 9 10 10 11 11 11

Adres Kod zc Balants............................................................................ evre Birimleri Bellek Adresleri........................................................................ Sistemin Giri k Uzay................................................................................. 8255-1 Alt Adres Tablosu.................................................................................. 8255-2 Alt Adres Tablosu.................................................................................. 8254 Alt Adres Tablosu...................................................................................... 8251 Alt Adres Tablosu...................................................................................... 8259 Alt Adres Tablosu......................................................................................

1. G R

Bu tez almasnda, 8086 mikroilemcili gerekletirilmitir.

bir eitim seti tasarlanp

Eitim seti kullanclara, program yazacaklar ve programlarn Eitim deney setinde 8086/8088

deneyebilecekleri bir ortam salamaktadr.

mikroilemcisi kullanlmtr. 8086/8088 mikroilemcisi bundan sonra ortaya kan 80286, 80386 gibi mikroilemcilerle uyumludur. Bu nedenle 8086/8088

mikroilemcisinin renilmesi, daha sonra piyasaya kan st seviyedeki CPUlarn renilmesinde kolaylk salayacaktr.

Genel amal eitim setinde 2 adet 32 KByte RAM, 1 adet 32 KByte EPROM, 3 adet 74LS373 tek ynl 8 bitlik tutucu (latch), 2 adet ve 74LS245 ift ynl 8 bitlik data alc verici, 1 adet 8251 seri haberleme , 2 adet 82C55 PIA , 1 adet 8259 kesme (interrupt handler), 1 adet 8288 yol kontrol (bus controller), 1 adet 8284 saat frekans (timer), 2 adet 74LS138 kod zc entegreleri bulunmaktadr .

Ayrca uygulama kart zerinde ise; 1 adet 2X16 karakter LCD, 1 adet LM35 scaklk sensr, 2 adet rle, 1 adet ADC0804 analog saysal dntrc, 1 adet DAC0808 saysal analog dntrc, tu takm, mikrofon ve ses anfisi bulunmaktadr.

2. E T M SET DONANIMI

2.1

8086 Mikroilemci

ekil 2.1 8086/8088 Mikroilemcinin Genel Yaps

8086: 16-bit mikroilemci 16-bit veri yolu ( data bus)na sahiptir. 8088: 16-bit mikroilemci 8-bit veri yolu ( data bus)na sahiptir. Her ikisi de 5V ile beslenir. 80C86/80C88: CMOS versiyonlar 10mA besleme akm ve -40 - 225degF alma scaklna sahiptir.

8086/8088 mikroilemci minimum ve maksimum mod olmak zere iki farkl modda alabilmektedir. 8086/8088 mikroilemcinin 33 numaral baca

topraa balanrsa, ilemci maksimum modda, 5 volta balanrsa minimum modda alr (TRIEBEL, 1997).

2.2

Yol Kontrol Sinyallerinin retilmesi

Tasarladmz genel amal eitim seti maksimum modda almaktadr. Mikroilemci maksimum modda alrken, yol kontrol sinyallerinin retilmesi iin ilemciye 8288 yol kontrol entegresi balanr. ekil 2.2de grld gibi 8086

ilemciden kan S0, S1 ve S2 sinyalleri 8288 yol kontrol entegresine girer. 8288 yol kontrol entegresi de

MRDC , MWTC , IORC , IOWC ve ALE gibi kontrol

sinyallerini retir (TRIEBEL, 1997). retilen bu kontrol sinyalleri bellee ve evre birimlerine balanarak kullanlmtr.

ekil 2.2 Yol Kontrol Sinyallerinin retilmesi

2.3 8086 Mikroilemci in Saat Frekansnn retilmesi

8086/8088 mikroilemcinin 5 MHz, 8 MHz ve 10 MHz saat frekanslarnda alan modelleri bulunmaktadr. Genel amal eitim setinde kullandmz

mikroilemci 5 MHz saat frekanslarnda almaktadr. 5 MHzlik saat frekans ekil 2.3de grld gibi 8284A saat frekans entegresi tarafndan retilmektedir. 8284A saat frekans entegresi 8086/8088 mikroilemcisi iin gelitirilmitir. 8284A entegresi, X1 ve X2 ularna balanan kristal frekansn e blerek CLK knda verir. Balanan kristal 15 MHz ise, CLK knda 15/3=5 MHz saat frekans elde edilir ve bu k mikroilemcinin CLK giriine verilir (MAZIDI, 2003).

ekil 2.3 8086 Mikroilemcinin Saat Frekansnn retilmesi

2.4 8086 Mikroilemcinin Resetlenmesi

8086/8088 mikroilemcinin en nemli girilerinden biride RESET giriidir. RESET sinyali 8284A saat frekans retici entegresi tarafndan retilmektedir. Bu giri 4 saat (clock) periyodu boyunca saysal 1 (lojik 1) olursa mikroilemci kendini resetler. Mikroilemci resetlendii zaman bellekte FFFF0h gerek adresine zplar ve bu adresten itibaren komutlar altrmaya balar ve IF bayran sfrlar. Bellekte FFFF0h

adresine yazlan bir FAR JMP komutu yardmyla program EPROM iersinde istenilen bir adrese dallandrlr ve program bu adresten itibaren almaya balar. Genel amal eitim setinde kullandmz EPROM 32 Kbyte olduu iin 8086/8088in RESET adresi 07FF0h olmaktadr. Bu adrese JMP 100n makine kodu karl olan EA 00 01 00 0E yazlr. Sistem resetlendiinde, program 07FF0h adresine atlar, buradan da

0100h adresine atlanarak programn bu adresten itibaren almas salanr. Bu durum ekil 2.4de gsterilmitir (ANTONAKOS, 1999).

ekil 2.4 8086 Mikroilemcinin Resetlenmesi

2.5 Adres Yolarnn ve Veri Yollarnn Ayrlmas

8086da 16-bit, 8088de 8-bit adres ve veri yollar ortaktr (multiplexed). Ayrca baz durum ve adres yollar da ortaktr. Bu yollarn ayrlmas gerekir. Genel amal eitim setinde adres yollarn ayrmak iin 3 adet 74LS373 tek ynl 8 bitlik tutucu, veri yollarn ayrmak iin ise 2 adet 74LS245 ift ynl 8 bitlik data alc verici entegresi kullanlmtr. ekil 2.5de de grld gibi adres yollarn ayrmak iin 8288 yol kontrol entegresinin rettii ALE (Address Latch Enable) sinyali ve veri yolarn ayrmak iin ise 8288 yol kontrol entegresinin rettii DEN (Data Bus Enable) ve DT/R (Data Transmit/Receive) sinyalleri kullanlr.

ALE (Address Latch Enable) sinyali saysal 1(lojik 1) olduunda, ilemcinin adres/data yolunda bir hafza veya I/O cihaznn adres bilgisi bulunmaktadr.

DT/R (Data Transmit/Receive) sinyali saysal 1 (lojik 1) olduunda, mikroilemcinin darya veri yollamakta (yazmakta) olduu ve saysal 0 (lojik 0) olduundaysa dardan veri ald (okuduu) anlalmaktadr.

DEN (Data Bus Enable) sinyali harici veri yolu bufferlarn aktif etmede kullanlmaktadr (TRIEBEL, 1997).

ekil 2.5 Adres ve Veri Yolarnn Ayrlmas

2.6 Hafza Birimlerinin Organizasyonu

Eitim setinde 2 adet 32 KByte RAM, 1 adet 32 KByte EPROM kullanlmtr. RAM olarak 43256 32 Kbyte x 8 bit SRAM ve EPROM olarak ise 27C256 32 Kbyte x 8 bit EPROM seilmitir. Bununla ilgili hafza haritalar Tablo 1, ekil 2.6 ve ekil 2.7de ayrntl olarak grlmektedir. A17 A16 A15 74LS138 kod zc giri ulardr. Bu giri u deerlerine gre seilen k lojik 0 dier klar lojik 1 olur. rnein 000 giri iin RAM 1 girii lojik 0 , 001 iin RAM 2 girii lojik 0 olur.

Tablo 2.1 Adres Kod zc Balants

FFFFFH 3FFFFH 38000H

Bota 32 Kbyte 8 bit EPROM Bota

0FFFFH 08000H 07FFFH 00000H

32 Kbyte 8 bit RAM 2 32 Kbyte 8 bit RAM 1

ekil 2.6 Bellek Haritas

ekil 2.7 Belleklerin Adreslenmesi

2.6.1

evre Birimlerinin Hafza Organizasyonu

evre birimlerini adreslemek iin alak deerlikli A7-A0 8 adres hatt kullanlr. 8 adres hatt ile 256 tane evre birimi adreslenebilir. Tablo 2.2, Tablo 2.3 ve ekil 2.8de grld gibi eitim seti zerindeki evre birimleri adreslenerek balanmtr.

Tablo 2.2 evre Birimleri Bellek Adresleri Adres Aklama 00h 20h 40h 60h 80h A0h B0h C0h D0h E0h 8255-1 Parallel Giri/k Birimi (evrebirimi Kart) 8255-2 Parallel Giri/k Birimi (evrebirimi Kart) 8251 Seri Haberleme birimi (evrebirimi Kart)

74F374-Buzzer ve LED Kontrol 8259 8254 Bota Bota Bota Bota Programlanabilir Kesme Denetleyicisi (evrebirimi Kart) Zamanlayc Birimi (evrebirimi Kart)

Tablo 2.3 Sistemin Giri/k Uzay

ekil 2.8 evre Birimlerine Ait Kod zc Devresi

8255, 8251, 8259 ve 8254 evre birimlerinin kullanlabilmeleri iin programlanmalar gerekir. Bu elemanlara ait alt adresler CS ve elmana dorudan bal adres balantlarna gre belirlenir (TRIEBEL, 1997). Tablo 2.4, Tablo 2.5, Tablo 2.6, Tablo 2.7 ve Tablo 2.8de 8255-1/2, 8254, 8251 ve 8259 ait alt adreslemeler yaplmtr.

Tablo 2.4 8255-1 Alt Adres Tablosu

Tablo 2.5 8251 Alt Adres Tablosu

Tablo 2.6 8255-2 Alt Adres Tablosu

Tablo 2.7 8254 Alt Adres Tablosu

Tablo 2.8 8259 Alt Adres Tablosu

2.7

Programlanabilir evre Birimi 8255 ile Giri/k

8255 geni bir kullanm alan olan, ou mikroilemcili sistemlerde kullanlabilen programlanabilir, genel amal paralel I/O birimidir. Eitim setinde 2 adet 8255 PIA entegresi kullanlmtr. 8255in Port A , port B ve port C olmak zere 3 adet 8-bit paralel portu bulunmaktadr. Uygulamalarn fazla olmas nedeniyle 8255in ayn portlar bazen girie bazen ka programlanabilmektedir. Bu sebepten dolay her uygulama programnn banda 8255 programlanmtr. ekil 2.9da 8255lerin ana ve uygulama kartlar arasnda nasl baland ayrntl olarak grlmektedir.

ekil 2.9 8255 PIA Entegrelerinin Ana ve Uygulama Kart Balantlar

2.8

8254 Zamanlayc / Sayc Entegresi

8254 Zaman gecikmeleri elde etmek, gerek zaman saati, tek darbe reteci, kare dalga reteci olarak zamanlayc veya sayc olarak kullanlan bir tm devredir. 8254 bir birinden bamsz 3 tane sayaca (counter) sahiptir. Her biri, giri frekansn 1 ile 65536 arasnda deien bir sayya blecek ekilde programlanabilir.

Eitim setin 8254 entegresinin OUT2 (saya 2) k kullanlmtr. 8254n clk0, clk1 ve clk2 girilerine 8284Ann PCLK kndaki 2.4576 MHzlik sinyal uygulanmtr. Bununla ilgili ayrntl bilgi ekil 2.10da grld gibidir. OUT2 knda elde edilen kare dalgann frekans

k Frekans=

2.4576.MHz Blen.(Desimal)

eitlii ile hesaplanmaktadr. Blen =FFFFh=65535 alndnda OUT2 kndaki kare dalgann frekans 37.5 Hz olmaktadr. Elde edilen bu kare dalga ses retmek ve A3955 PWM (Pulse Width Modulation) entegresi ile DC motorlarn tork ve hz kontroln salamak amacyla kullanlr.

ekil 2.10 8254 Giri ve k Sinyalleri

2.9

8259 Programlanabilir Kesme Yneticisi

Programlanabilir kesme yneticisi olarak 8259 entegresi kullanlmaktadr. Bu entegre sekiz kesme girii iin kullanlabilmektedir (MAZIDI, 2003).

ekil 2.11de grld gibi 8259un kesme girileri IDC40 konnektr ile uygulama kart zerindeki 74LS244 entegresine bal tulara balanmtr. Bu tulara baslarak yapay kesmeler retilmektedir. 8259 port adresleri A7 A6 1 1 1 1 1 0 0 0 0 0 A5 A4 0 0 0 0 0 0 0 0 0 0 A3 A2 A1 A0 0 0 1 0 1 Kod zcnn Y5 k 8259u emektedir. 80h ICW1 81h ICW2,ICW3,ICW4 80h OCW2,OCW3 81h OCW1

X X X 0 0 0 0 0 0 0 0 0 0 0 0

ICW Portlarna Girilecek Kontrol Deerleri; ICW113h ICW208h IR0n balang deeri ICW309h

ekil 2.11 8259 Giri ve k Sinyalleri

2.10

8251 Senkron/Asenkron Seri letiim Birimi

8251 Entegresi hem senkron, hem asenkron alabilen bir seri iletiim birimidir. ekil 2.12de grld gibi bilgisayar ile eitim seti bu birim zerinden seri olarak iletiim salamaktadr.

8251 Entegresi seri iletiim iin d kaynaktan bir baud rate saat sinyali kullanr. Bu sinyal 8284A entegresinin PCLK kndaki sinyalin SLN393 iki adet sayc entegresi yardmyla drde blnmesi sonucu elde edilir. PCLK k frekans

2.4576Mhz dir. ekil 2.12de grld gibi, ikinci SLN393 sayc entegresinin kndaki saat frekans 614.4Khz (2.4576Mhz /4=614.4Khz) KHz olmaktadr. Eitim setinin ilk al annda yaplan evre birimi ayarlamalarnda 8251 bu 614.4Khzlik sinyali 16ya blecek ekilde programlanr. Bylece 8251in transmitter ve receiver baud ratei 614.4Khz /16= 38400 baud olmaktadr.

8251 entegresinin TxD (Transmit Data) ve RxD (Receive Data) sinyalleri TTL seviyesindedir. 8251 entegresinin bu sinyallerini PCnin RS232 portundaki TxD ve RxD sinyallerine balayabilmek iin araya TTL ve RS232 sinyal seviyelerini badatran bir MAX232 entegresi konulmutur. Bu entegrenin zellii ilave bir

besleme girii kullanmadan +5V tan +9V ve 9V retmesidir. Bylece ilave g girii kullanlmas gerekmemektedir.

Ak denetimi uygulamalar iin TxD ve RxD nin yansra CTS ve RTS, giri / klar da ICL232 entegresine iletilmitir. Burada dikkat edilmesi gereken nokta, 8251in CTS knn dk seviyede olmasnn gerekmesidir. Aksi halde sistemden darya veri gnderilemez. Bu yzden eitim setiyle yaplacak seri iletiimde, ya ak denetimi kullanlmal (Setin RTSsi bilgisayarn CTS ucuna, Bilgisayarn CTSsi setin RTS ucuna balanarak) ya da kendi RTS k CTS giriine balanarak sahte bir ak denetimi (loopback) uygulanmal.

Eitim seti ile bilgisayarn haberlemesinde dier gerekli ayarlar, 8 veri biti, 2 stop biti ve parite yok eklindedir (8N2).

ekil 2.12 8251 Seri Haberleme Balants

2.11

RS232 Standard

Gnmzde RS232 en yaygn kullanlan seri I/O arabirim standarddr. Bu standart TTL lojik ailesinden ok nceleri belirlendii iin giri ve k voltaj seviyeleri TTL uyumlu deildir. RS232 de lojik 1 -3V ile 25V arasnda lojik 0 +3V ile +25V arasnda tanmlanr, -3V ile +3V aras tanmszdr. Bu yzden herhangi RS232 cihazn bir mikroilemci-tabanl sisteme balamak iin MCI1488, MCI1489 veya MAX232 gibi voltaj eviricileri kullanlr.Bu tm devreler hat srcleri/alclar (Line Driver/Receiver) olarak adlandrlr.

ekil 2.13 MAX-232 Devresi

klar TTL seviyesindedir bunu RS232 sinyal seviyesin dntrmek gerekmektedir. Bu sistemde bu ilem iin MAX232 entegresi kullanlmtr. Bu entegrenin zellii ilave bir besleme girii kullanmadan +5Vtan +9V ve 9V retmesidir. Bylece ilave g girii kullanlmas gerekmemektedir.

Eitim setinde DB-9 seri I/O seri balant standard kullanlmtr. ekil 2.14de grld gibi bilgisayarn seri portunun yanmamas iin araya 4.7 Kohmluk diren balanmtr.

ekil 2.14 Eitim Seti le Bilgisayar Arasndaki Seri Haberleme Balants

2.12

Hyper Terminal Program

Hyper Terminal Program, bilgisayar ile 8251 seri haberlemesini salayan programdr. Program aldktan sonra ekil 2.15de grld gibi bir balant isimi girilmelidir.

ekil 2.15 Hyper Terminal Program Balant Tanm Daha sonra, oluturulan verilen isimdeki icon tklanarak balant yaplacak PC seri portu seilir (baknz ekil 2.16). Burada eitim setinin seri port soketi hangi PC seri portuna balanm ise o seri port seilmelidir.

ekil 2.16 Hyper Terminal Program Balan Ayar

En sonunda, ekil 2.17de grld gibi, seilen seri portun zellikleri bal olan eitim setinin zellikleri ile ayn olacak ekilde seilir.

ekil 2.17 Hyper Terminal Program Balant Noktas Ayarlar

3. E T M SET YAZILIM B LEENLER

Yazlm blm, EPROMda bulunan monitr program ve rnek uygulamalar iin yazlan programlardan olumaktadr.

3.1 Uygulamalar in Assembler Dilinde Yazlm Programlarn Derlenmesi

Word gibi bir editrde assembler olarak yazlan dosya .ASM uzantl olarak kaydedilir. Yazlan bu dosya MS-DOSta MASM ile .OBJ uzantl hale getirilir. MASM .ASM uzantl dosyay yazm hatalarna kar kontrol eder. Eer herhangi bir hata varsa evirme ilemini yapmaz. Assembler dilinde yazdmz .ASM uzantl Ercan.ASM dosyasn derlemek iin DOS

dosyay ercan.ASM olarak kaydedelim. ekrannda

MASM

yazp ENTER tuuna baslr. Sonra

ercan.asm

yazp iki kere ENTER tuuna baslr. ercan.OBJ uzantl dosya elde edilir. Daha sonra

Bylece ayn klasr iinde

LINK ercan.OBJ ercan.EXE

yazp ENTER tuuna baslarak, dosyas elde edilir. Ercan.BIN dosyasn elde etmek iin aada

verilen komut satr yazlp ENTER tuuna baslmaldr. EXE2BIN.EXE ercan.EXE ercan .BIN Ercan.HEX dosyasn elde etmek iin aadaki komut satrlar kullanlmaldr.

BIN2HEX.EXE ercan.BIN

ercan.HEX dntrlm eklidir.

dosyas yazlan ercan.ASM dosyasnn intelhex formatna Bu dosya yazlan ercan.ASM dosyasnn makine kodlarn

eitim setinin RAMne Hyper Terminal program yardmyla yklenmesinde kullanlmaktadr. .ASM olarak kaydedilmi bir dosyann ayn adl bir .B N uzantl dosyaya dntrme ilemi (TANYER ,1996). Ercan% 1.asm MASM %1 ; LINK %1 ; EXE2BIN %1 aada verilen .BAT dosyas yardmyla yaplabilir

%1.COM ;

Yukarda anlatlanlar bir rnek zerinde grmek iin eitim setinin zerindeki 74F374 elemann kna bal yedi adet LEDin kontrolne ait bir program gz nne alnacaktr. ekil 3.1de grlen program LED.ASM olarak kaydedilir.

ekil 3.1 LED.ASM Uzantl Word Pad Dosyas

ekil 3.2de grld gibi MASM kullanlarak LED.OBJ dosyas elde edilir.

ekil 3.2 MASM ile Dnm

Daha sonra ekil 3.3de grld gibi

srasyla LINK, EXE2BIN ve

BIN2HEX programlar kullanlarak LED.EXE dosyas elde edilir. Yazlan LED.ASM uzantl dosyann makine kodlar ve ykleme ileminde kullanlan baz bilgileri ieren LED.HEX dosyasnn ierii ekil 3.4de gsterilmitir (TANYER , 1996).

ekil 3.3 ntelhex Formatna Dosya Dnm

ekil 3.4 ntelhex Formatndaki Dosya

3.2 Monitr Program Kullanm

Monitr programyla; hafzaya bir programn yklenmesi, yklenmi programn veya hafzann bir blgesinin hex formatnda gsterilmesi, hafzann ieriinin

deitirilmesi, mikroilemci saklayclarnn ve bayraklarn ieriklerinin gsterilmesi, saklayclara dorudan bilgi girilebilmesi, yklenmi programlarn altrlmas, yklenmi programn belirli bir yerine durma noktas (break point) konularak, bu noktaya gelince programn durdurulmas (ANTONAKOS, 1999). gibi bir ok ilem yaplabilmektedir

Monitr programyla ilem yaplabilmesi iin bilgisayar ile eitim seti arasnda RS232 balants yaplmaldr. Daha sonra bilgisayardaki hyper terminal program

balant ayarlar yaplp hyper terminal programnn setin bal olduu seri porta balanmas salanmaldr.

ekil 3.5 Balant Grnts

>H (help) yazlp ENTER tuuna baslrsa kullancnn karsna ekil 3.6da grlen yardm (help) ekran grnts gelir. Burada kullanc monitr program

yardmyla yapabilecei ilemlere ait komut bilgilerini renebilir.

ekil 3.6 Monitr Program alma Mens

Daha nce oluturulan LED.HEX formatnda ki uygulama program RAMe yklenmek istenirse;

>L

yazlp ENTER tuuna baslr. Hyper Terminal program ara ubuklarndaki

Aktarm mensne girilir ve burada Metin Dosyas Gnder seilir. Metin Dosyas Gnder alt mens alr ve yklenecek program burada bulunur ve yklenir. Bununla ilgili ayrntl bilgi ekil 3.7 ve ekil 3.8de grld gibidir. Uygulama program RAMin 0400h adresinden itibaren yklenir. Bunu yapmak iin LED.HEX dosyasnn yklenip yklenmedii RAMin ieriine baklarak grlebilir.

ekil 3.7 Metin Dosyas Yklenmesi

ekil 3.8 Programn Ykle leminin Tamamlanmas

> D 0400h 0500h

yazlp entere baslr. 0400h ile 0500h adresleri arsndaki bilgi LED.HEX dosyasndaki format verileri hari dier INTEL.HEX formatnda; ilk iki byte

ekil 3.9da olduu gibidir.

bilgilerin RAMdekiyle ayn olduu grlr.

yklenecek veri uzunluunu, sonraki drt byte ykleme adresini, sonraki iki byte kayt tipini ve son iki byte ise kontrol (sum check) byten gsterir. RAMde grmemiz gereken veriler dokuzuncu bytetan itibaren balar (ANTONAKOS, 1998).

ekil 3.9 Ram Bellek erii

> G 0400h

yazlp entere baslrsa, program 0400hden itibaren mikroilemci

tarafndan okunarak srasyla yerine getirilir (run edilir). Eitim seti zerindeki ledlerin srasyla yaklak 1 saniye yand grlr. Program bir dng ierisinde alt iin eitim seti zerindeki reset tuuna baslncaya kadar alr. Reset tuuna basldnda ilem durur. RAMdeki bilgiler silinmedii iin

> G 0400h

yazlp ENTER tuuna baslrsa program tekrar alr ve ledlerin

srasyla yand grlr. Ayrntlar ekil 3.10da grld gibidir.

ekil 3.10 Rame Ykl Programn altrlmas

4. RNEK PROGRAM UYGULAMALARI

4.1

74LS374 Entegresi le LED Kontrol

ekil 4.1de grld gibi 74LS374n adresi 60hdir. 74LS374 entegresinin girilerine data verilir. Ayn anda 60h adresi seilirse giriteki data bilgisi kta grlr. Bu bilgiye gre ledlerin yanmas salanr.

ekil 4.1 LED Kontrol

4.1.1 Led Kontrolnn Assembler Program

CODE

SEGMENT DS:CODE

ASSUME CS:CODE, START: MOV AL, MOV DL, OUT DX,

11111111B 01100000B AL

; k bilgisi. ; 60H CS bilgisi

CALL DELAY MOV AL, 11111110B ; 1.LED yanar

CALL DELAY MOV AL, 11111101B ; 2.LED yanar

CALL DELAY MOV AL, 1111011B ; 3.LED yanar

CALL DELAY MOV AL, 11110111B ; 4.LED yanar

CALL DELAY MOV AL, 11101111B ; 5.LED yanar

CALL DELAY MOV AL, 11011111B ; 6.LED yanar

CALL DELAY MOV AL, 10111111B ; 7.LED yanar

CALL DELAY MOV AL, MOV DL, OUT DX, 00000000B 01100000B AL ; Btn LEDler yanar.

CALL DELAY JMP START DELAY:MOV CX, 1111111111111111B ; FFFFH=65535 Decimal LOOP $ RET CODE ENDS ; 65535X15.085US=988.59 MS 1 S

4.2

Rle Kontrol

ekil 4.2de rle ve 8255 PIA balants grlmektedir. 8255den gelen iki bitlik veri bilgisine gre BC 237 transistr iletime geer. Transistr rle bobinine enerji vererek normalde ak (NO) kontaklarn kapanmasna, normalde kapal (NC) kontaklarn almasn salar.

Devredeki 1N4148 diyodunun grevi ise, transistr rlenin enerjisini kestiinde rle bobini zerinde kalan akm kendi zerinde ksa devre ederek yok eder. Rlenin iletime gemesiyle yanmakta olan LED sner. Rlenin iletimi kesildiinde LED tekrar yanmaya balar.

D2 U1 34 33 32 31 30 29 28 27 9 8 U2 A5 A6 A7 1 2 3 6 4 5 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 00H 35 5 36 6 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET RD WR 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 8255-1 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 R2 47K D1 3 4 LED P1A-SPST RL1 2 1 DIODE32

5V

R2 Q1 BC237 4.7K R R1 4.7K

74LS138

ekil 4.2 Rle Kontrol Devresi

HI

4.2.1 Rle Kontrolnn Assembler Program

CODE SEGMENT ASSUME CS:CODE, START: MOV BL, 33H ; lk Port-A k bilgisi DS:CODE

TEKRAR: MOV AL,BL MOV DX, OUT DX, 00H AL ;Bilgi rleye gnderilir.

CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY ROR BL, 1 ;Port-A k bilgisi bir bit saa kaydrlr.

JMP TEKRAR DELAY:MOV CX, 0000111111111111B LOOP $ RET ;0FFFH=4095 Desimal ;4095X15.08US=61.75 ms

CODE

ENDS

END START

Bu program 300 mili saniye boyunca, uygulama kart zerindeki bulunan birinci rle kontaklarnn ak olanlarn kapatmakta ve kapal olanlarn amaktadr.

Daha sonra 300 mili saniye boyunca ikinci rle kontaklarn ak olanlarn kapatmakta ve kapal olanlarn amaktadr. Eitim setinin reset tuuna baslncaya kadar bu ilem srekli tekrarlanyor.

4.3

8254 le Saat Frekans reticisi le PWM Motor Hz Kontrol

PWM motor hz kontrol olduka yaygn olarak kullanlan bir teknik olup, motorlarn daha verimli kullanabilmesini salamaktadr.

PWM DC motorun torkunu ve hzn kontrol etmek iin tamamyla farkl bir yaklam kullanr. G motora sabit genlikli ama darbe genilii deiik kare dalga ile iletilir. Duty-Cycle bir periyotta darbenin yksek gerilime sahip olduu zamann

yzdesidir. En dk hz iin, g zamann sadece eyreinde uygulanr. Darbelerin frekans, motorun dzgn almasn salayacak kadar yksek olmaldr. Pratik olarak bunu gerekletirmek iin, g motora regle edilerek verilir.

PWM analog srmeye gre iki farkl avantaj salar.

Birincisi dorudan

bilgisayarla tek bir bit kullanlarak srme ileminin gerekletirilmesini salar. Bylece DAC ihtiyac ortadan kalkar. kincisi C snf kuvvetlendiricilerle src

kuvvetlendiricisinin etkin bir biimde gerekletirilmesidir.

C snf srclerin

kullanlma nedeni ise, bu srcler de g harcamas minimize edilmitir.

deal PWMde frekans sabit tutulur ve sadece uygulanan darbenin sresi deitirilir (Duty-Cycle).

Bu sistem set zerindeki uygulama devresinde, A3955SB entegresi kullanlarak gerekletirilmitir. Bu entegrenin phase ve enable girilerine Dijital TTLle uygun sinyaller uygulanmaldr. Bu entegre PWM (Pulse Width Modulation) ile DC

motorlarn tork ve hz kontroln salar. Bu sistem ile motor zerindeki akm kontrol edilir. A3955SB entegresi PWM srme ilemi iin kullanlr. 8254 Timer kndaki sinyal A3955SB entegresinin enable ucuna uygulanr. OutA ve OutB klar motoru kontrol eder.

U2 19 20 11 14 16 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 9 15 18 A0H 22 23 21 A0 A1 G0 G1 G2 CLK0 CLK1 CLK2 RD WR CS 8254 74LS138 U3 14 9 8 2 3 11 1 7 16 D0 D1 D2 VREF RC SENSE PFD PH VBB A3955 OUTA OUTB 10 15 1 MG1 OUT0 OUT1 OUT2 D0 D1 D2 D3 D4 D5 D6 D7 10 13 17 8 7 6 5 4 3 2 1

U1 A5 A6 A7 1 2 3 6 4 5 A B C G1 G2A G2B

3 VDC MOTOR

ekil 4.3 PWM Motor Kontrol Devresi

Counter0= A0H Counter1= A1H Counter2= A2H Kontrol Saklaycs=A3H

Clk girii; 8284Ann PCLK k= 2.4576 MHz

2.4576 MHz k Frekans= ----------------BLEN(desimal)

Burada blen=FFFFH=65535 ise k Frekans=2.4576MHz/65535=37.5Hz,

Burada blen=FFH =255 ise

k Frekans=2.4576MHz/255=9.63764 KHz olur.

4.3.1 PWM Motor Kontrolnn Assembler Program

.MODEL SMALL CODE SEGMENT ASSUME CS:CODE, DS:CODE

START:MOV AL, 10110110B;8254 Counter2,Mode3,ikili eklinde programlanr. MOV DX, OUT DX, 10100011B AL 11111111B 10100010B AL AH AL ;Dk deerli byte ykle. ;Yksek deerli byte ykle. ;Giri saat blenini ykle

MOV AX, MOV DX, OUT DX,

MOV AL, OUT DX,

CALL DELAY MOV AL, MOV DX, OUT DX, 10110110B 10100011B AL 11111110B 10100010B AL AH AL

MOV AX, MOV DX, OUT DX,

MOV AL, OUT DX,

CALL DELAY MOV AL, MOV DX, OUT DX, 10110110B 10100011B AL 11111100B

MOV AX,

MOV DX, OUT DX,

10100010B AL AH AL

MOV AL, OUT DX,

CALL DELAY MOV AL, MOV DX, OUT DX, 10110110B 10100011B AL 11110000B 10100010B AL AH AL

MOV AX, MOV DX, OUT DX,

MOV AL, OUT DX,

CALL DELAY MOV AL, MOV DX, OUT DX, 10110110B 10100011B AL 11000000B 10100010B AL AH AL

MOV AX, MOV DX, OUT DX,

MOV AL, OUT DX,

CALL DELAY MOV AL, MOV DX, OUT DX, 10110110B 10100011B AL 00001111B 10100010B AL AH AL

MOV AX, MOV DX, OUT DX,

MOV AL, OUT DX,

CALL DELAY

MOV AL, MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX,

10110110B 10100011B AL 00000000B 10100010B AL AH AL

CALL DELAY JMP START DELAY:MOV CX, 1111111111111111B LOOP $ RET

CODE

ENDS END START

Bu program 8254 Counter 2 k frekans ayarlar. Belirli zaman aral iin 8254 bleni deitirilerek kta deiik frekanslarda sinyaller elde edilmektedir. Elde edilen bu sinyaller A3955 PWM entegresine gnderilmektedir.

A3955 PWM entegresinin knda bulunan DC motor bu sinyallerin frekanslarna bal olarak deiik hzlarda dndrlmektedir.

4.3.2 8254 le Ses retimi

Mzik notalarnn temel frekanslar DO iin 261.6 Hz, RE iin 293.7 Hz , M iin 329.6 Hz, FA iin 349.2 Hz, SOL iin 392 Hz, LA iin 440 Hz ve S iin 493.2dir. 8254n clk giri frekans 2.4576 MHzdir. 2.4576 MHZ frekans uygun saylara

blnerek nota frekanslar elde edilebilmektedir. ekil 4.4deki gibi sistem balanarak program altrldnda hoparlrde nota sesleri duyulmaktadr.

ekil 4.4 8254 le Ses retim Devresi

4.3.3 8254 le Ses retimi Assembler Program

.MODEL SMALL CODE SEGMENT ASSUME CS:CODE, DS:CODE START:MOV AL, 10110110B;8254 Counter2,Mode3,ikili eklinde programlanr. MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10100011B AL 18788 10100010B AL AH AL ;DO iin blen.

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, 10 10100010B AL AH

OUT DX,

AL

CALL DELAY MOV AL, MOV DX, OUT DX, 10110110B 10100011B AL 16736 10100010B AL AH AL ;RE iin blen.

MOV AX, MOV DX, OUT DX, MOV AL, OUT DX,

CALL DELAY MOV AX, MOV DX, OUT DX MOV AL, OUT DX, 10 10100010B ,AL AH AL

CALL DELAY MOV AL, MOV DX, OUT DX, MOV AX, MOV DX, OUT DX MOV AL, OUT DX 10110110B 10100011B AL 14912 10100010B ,AL AH ,AL ;M iin blen.

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100010B AL AH AL

CALL DELAY

MOV AL, MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX,

10110110B 10100011B AL 14076 10100010B AL AH AL ;FA iin blen.

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100010B AL AH AL

CALL DELAY MOV AL, MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX 10110110B 10100011B AL 12540 10100010B AL AH ,AL ; SOL iin blen.

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100010B AL AH AL

CALL DELAY MOV AL, MOV DX, 10110110B 10100011B

OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX,

AL 11172 10100010B AL AH AL ; LA iin blen.

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100010B AL AH AL

CALL DELAY MOV AL, MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10110110B 10100011B AL 9964 10100010B AL AH AL ;S iin blen.

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100010B AL AH AL

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, 9408 10100010B AL AH ; nce DO iin blen.

OUT DX,

AL

CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100010B AL AH AL

CALL DELAY JMP START DELAY:MOV CX, 1111111111111111B LOOP $ RET CODE ENDS END START

Bu program 8254 Counter 2 k frekans ayarlar. 8254n clk giri frekans 2.4576 MHzdir. 2.4576 MHZ frekans uygun saylara blnerek nota frekanslar elde edilebilmektedir. Bu sesler ykselte vastasyla dinlenmektedir.

4.3.4

8254 le BUZZERn Kontrol

+5V
U2 S2 19 20 U1 A5 A6 A7 1 2 3 6 4 5 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 11 14 16 9 15 18 22 23 21 A0 A1 G0 G1 G2 CLK0 CLK1 CLK2 RD WR CS 8254 OUT0 OUT1 OUT2 D0 D1 D2 D3 D4 D5 D6 D7 10 13 17 8 7 6 5 4 3 2 1 SW SPST 1 2 LS1 BUZZER 1uF Q1 BC238 +

A0H

74F138

ekil 4.5 BUZZER Kontrol Devresi

.MODEL SMALL CODE SEGMENT ASSUME CS:CODE, DS:CODE START: MOV AL, MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 00110110B;8254 Counter0,Mode3,ikili eklinde programlanr. 10100011B AL 983 10100000B AL AH AL ;2.4576MHz/2.5 KHz=983 Blen.

CALL DELAY CALL DELAY MOV AX, MOV DX, OUT DX, MOV AL, OUT DX, 10 10100000B AL AH AL

CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP START DELAY:MOV CX,1111111111111111B LOOP $ RET CODE ENDS END START

Bu program 8254 Counter 0 k frekansn ayarlar. 8254den elde edilen uygun frekansl kare dalga sinyal ile BUZZERdan ses elde edilebilir. BUZZERn rezonans frekans referans [7]de grld gibi 2 ile 4 KHz arasnda deimektedir. 2.4576 MHZ frekans 983 saysna blnerek, elde edilen 2.5 KHzlik kare dalga sinyal ile BUZZERn tmesi salanmaktadr.

4.4

Analog Saysal evirici (ADC) Uygulamas

ekil 4.6 ADC Uygulama Devresi

ADC0804 negatif-pozitif (double pole) gerilim modunda almaktadr.

8255-1 PA=00H PB=01H PC=02H CONTROL=03H

8255-2 PA=20H PB=21H PC=22H CONTROL=23H

4.4.1 ADC Dntrc Assembler Program

.MODEL

SMALL

CODE SEGMENT ASSUME CS:CODE, DS:CODE START: MOV AL, MOV DX, OUT DX, MOV DX, 81H 23H AL 22H

MOV AL,11101111B OUT DX, K1: IN AL, AND AL, AL DX 00001111B

CMP AL,00001110B JNE K1 90H 23H AL 81H 03H AL 02H

MOV AL, MOV DL, OUT DL, MOV AL, MOV DL, OUT DL, MOV DX,

B1:

IN

AL,DX 01H 01

AND AL, CMP AL, JNE B1

MOV CX, LOOP $ MOV AL, MOV DL, OUT DL, MOV DL, IN AL,

00100000B 02H AL 20H DL

NOT AL SHL AL, OR AL, MOV DL, OUT DL, MOV CX, LOOP $ MOV AL, MOV DL, OUT DL, MOV AL, MOV DL, OUT DL, 00010000B 02H AL 00110000B 02H AL 1 01H 60H AL 0

JMP START

CODE

ENDS END START

Bu program, ncelikle tu takmndaki ilk tua baslp baslmadn kontrol eder. Eer bu tua baslrsa, LM35 scaklk sensr sinyali ADC0804 tarafndan

rneklenir. rneklenmi sinyal, 74LS374 entegresi ile kontrol edilen LED klarna verilir. LEDler scaklk karln, ikilik dzende desimal olarak gstermektedir. Her tua basldnda bu ilem tekrarlanmaktadr.

4.5 Adm Motor Kontrol Uygulamas

Bu uygulamada kullanlan adm motor ekil 4.7de grld gibi alt girie sahiptir. Bunlardan 4 tanesi stator sarglar dier 2 tanesi merkezi ortak ulardr. Stator sarglarna uygulanan kontrol darbeleri, motor milinin belli alardaki admlarla dnmesine neden olur. Adm as, tek bir admda alnan en kk adr. Motorun i yapsna gre, her bir admda deiik alarda dner. Admlarn says 360lik bir tam dnmedeki admlar toplamdr. rnein adm as 0.72 iin 500 adm, 1.8 iin 200 adm, 5 iin 72 adm, 15 iin 24 adm gerekir. Aada kullanlan adm motor kontrol devresinde, sistem transistrlerle srlmtr. Bizim kullandmz motorun adm as 7.30 olup, bir turu iin yaklak 50 adm atmas gerekmektedir.

8255-1 Kullanlarak adm motor dndrlr. Farkl say deerleri girilerek adm motor dndrlebilir. Burada 33h says kullanlmtr.

PA=00H PB=01H PC=02H CONTROL=03H Adm as = 7.30 derece, 360/7.30=49.315 admda bir tur atar.

HI

HI

5V

12V

D2 R2 47K U1 34 33 32 31 30 29 28 27 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 8255-1 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 4.7K R R1 R2 Q1 2N2222 4.7K 1 2 3 D2 MOTOR STEPPER 4 5 6 MG1

9 8 A0 A1 U2 A5 A6 A7 1 2 A 3 B C 6 4 G1 5 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 00H 35 5 RESET 36 RD 6 WR CS

R2 Q1 2N2222 4.7K

74LS138

ekil 4.7 Adm Motor Src Devresi

Motor saat ynnde dner.

ABCD ularna ok ynnde bilgiler gnderilirse adm motor saat ynnde, okun ters ynnde bilgiler gnderilirse adm motor saatin ters ynnde dner.

4.5.1 Adm Motor in Assembler Program

CODE

SEGMENT DS:CODE

ASSUME CS:CODE,

START: MOV BL, 33H

ABCD

; 00110011

TEKRAR: MOV AL,BL MOV DX, OUT NOP NOP NOP CALL DELAY ROR BL, 1 ;Bir bit saa kaydrlr. DX, 00H AL

JMP TEKRAR DELAY:MOV CX, 0000111111111111B ;0FFFH=4095 Desimal LOOP $ RET ; 4095X15.08US=61.75 ms ;49.315*61.75 ms =3.045 sde bir

CODE

ENDS END START

;tur dner.

Bu program adm motora ABCD bilgilerini 61.75 ms aralklarla deitirerek, gnderir. Adm motor 61.75 ms aralklarla bir adm atarak, bir turu 3.045 saniyede tamamlamaktadr.

4.6 Saysal Analog Dntrc Uygulamas

DAC0808 8-bit saysal-analog eviricidir. evirici knda 256 farkl voltaj seviyesi salar. DAC tm devresi orta hzl bir evirici olup bir saysal girii bir analog ka yaklak 100 s iinde evirir.

DAC0808 8-bit bir saysal girii lout1 ve lout2 olarak belirtilen, genelde 741 gibi bir d OPAMP (Operatinal Amplifier ) devresine balanan iki tane analog ka evirir. DAC0808 in k adm voltaj Vref (referance ) voltajnn 255e blm olarak tanmlanr. rnein, eer referans voltaj -5V ise k adm voltaj +0.0196V tur. k adm voltaj referans voltaj ile ters iarete sahiptir. Adm voltaj bir eviricinin znrl ( resolution ) olarak da adlandrlr.

ekil 4.8de grld gibi 8255-2nin Port B kna bal olan DAC kullanlarak, deiik saysal giriler iin elde edilen klara bal olarak motor kontrol yaplmaktadr. almaktadr. DAC0808 negatif-pozitif (double pole) gerilim modunda

U1 34 33 32 31 30 29 28 27 9 8 35 5 36 6 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET RD WR 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 8255-2 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 MK1

AMPLIFIER

1 2 MICROPHONE

+5V
U5 U4 12 11 10 9 8 7 6 5 14 15 A8 A7 A6 A5 A4 A3 A2 A1 VR+ VRDAC0808 MOTOR DC 2 IOUT IOUT 4 2 3 2 1 5

0
S1 6 SWITCH 1X2 1 MG1 Q1 BC237

+ ON1 ON2
LM741

COMP

16

ekil 4.8 DAC0808 Uygulama Devresi

4.6.1 DAC0808 le Motor Hz Kontrol Assembler Program

.MODEL SMALL

CODE

SEGMENT DS:CODE

ASSUME CS:CODE, MOV SP, 2000H

START:MOV AL, 80H MOV DX, OUT DX, MOV AX, MOV DX, OUT DX, 23H AL 00000000B 21H AL

;8255-2 PA,PB VE PC OUT

; Motor en dk hzda dnderilir.

CALL DELAY MOV AX, MOV DX OUT DX, 11111111B ,21H AL ; Motor en yksek hzda dnderilir.

CALL DELAY JMP START DELAY:MOV CX, 1111111111111111B ; FFFFH=65535 Decimal LOOP $ RET CODE END ENDS START ; 65535X15.085US=988.59 MS 1 S

Bu program DAC0808e 00h ve FFh bilgilerini 1 saniye aralklarla gndermektedir. DAC0808 bu saysal bilgileri alarak analog sinyale dntrmektedir. Elde edilen bu anolog sinyaller BC237 transistrnn basene uygulanarak, transistrn emiter ucuna bal olan DC motorun iki farkl hzda dnmesini salamaktadr.

4.6.2 ADC0804

le rneklenen

Sinyalin DAC0808 knda Elde Edilmesi

Assembler Program

.MODEL SMALL CODE SEGMENT ASSUME CS: CODE, DS:CODE START:MOV AL, 90H MOV DL, OUT DL, MOV AL, MOV DL, OUT DL, MOV DX, B1: IN AL, 23H AL 81H 03H AL 02H DX 01H 01

AND AL, CMP AL, JNE B1

MOV AL, MOV DL, OUT DL, MOV DL, IN AL,

00100000B 02H AL 20H DL 21H AX 00010000B 02H AL 00110000B 02H AL

MOV DX, OUT DX, MOV AL, MOV DL, OUT DL, MOV AL, MOV DL, OUT DL,

JMP CODE ENDS

B1

END START

Bu program ile ADC0804 giriinde alnan sins sinyali rneklenerek DAC0808 gnderilmektedir. DAC0808 kna osiloskopta bakldnda sins sinyali grlmektedir.

4.6.3

ADC0804 le rneklenen Ses Sinyalinin DAC0808 knda Elde Edilmesi

Assembler Program

U1 34 33 32 31 30 29 28 27 9 8 35 5 36 6 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET RD WR 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 8255 U2 34 33 32 31 30 29 28 27 9 8 35 5 36 6 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET RD WR 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 8255 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 U5 U4 12 11 10 9 8 7 6 5 14 15 A8 A7 A6 A5 A4 A3 A2 A1 VR+ VRDAC0808 U3 6 7 9 4 19 2 3 1 +IN -IN VREF/2 CLKIN CLKR RD WR CS VCC/VREF ADC0804 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 INTR 18 17 16 15 14 13 12 11 5 X1 IOUT IOUT 4 2 3 2 1 5 MK1 6

+ ON1 ON2
LM741

AMPLIFIER

1 2 MICROPHONE

COMP

16

AMPLIFIER
MICROPHONE

20

ekil 4.9 Ses Uygulama Devresi

.MODEL SMALL CODE SEGMENT ASSUME CS:CODE, DS:CODE START:MOV AL, 90H MOV DL, OUT DL, MOV AL, MOV DL, OUT DL, MOV DX, B1: IN AL, 23H AL 81H 03H AL 02H DX 01H 01

AND AL, CMP AL, JNE B1

MOV CX, LOOP MOV AL, MOV DL, OUT DL, MOV DL, IN AL, MOV DX, OUT DX, MOV AL, MOV DL, OUT DL, MOV AL, MOV DL, OUT DL, JMP B1 CODE ENDS

15H $ 00100000B 02H AL 20H DL 21H AX 00010000B 02H AL 00110000B 02H AL

END START

Bu program ile ADC0804 giriinde alnan ses sinyali rneklenerek DAC0808 gnderilmektedir. DAC0808 kna anfi de ykseltilerek dinlenebilmektedir.

4.7 LCD Ekran Uygulamas

Bu devrede ekil 4.10da grld gibi 2X16 karakter LCD ekran paralel olarak balanmtr. LCDnin okunmas dnlmediinden veri yolu tek ynldr. Bu nedenle LCDdeki R/W ucu topraklanmtr. LCDye bal bir 10 Kohmluk potansiyometre ile LCDnin ekran aydnl ayarlanabilmektedir (MAZ D ,2003).

U1 34 33 32 31 30 29 28 27 9 8 U2 A5 A6 A7 1 2 3 6 4 5 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 00H 35 5 36 6 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET RD WR 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 8255-1 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10

2X16 LCD

DATA

RS

74LS138

ekil 4.10 LCD Ekran Uygulama Devresi

4.7.1 LCD Ekran Yaz Uygulamas Assembler Program

LCD assembler program referans [5]den alnarak sisteme uyarlanmtr. PA=00H PB=01H

PC=02H CONTROL=03H .MODEL SMALL PORTB PORTC CODE EQU EQU SEGMENT 01H 02H

ASSUME CS:CODE, DS:CODE START:MOV AL, 80H MOV DX, OUT DX, MOV SP, MOV AL, matris tanmlanr. CALL COMNDWRT MOV AL, 0EH ;LCDye hazr ol bilgisi gnderilir. 03 AL 2000H 38H ;LCD ekranda her bir elemann yazlmas iin 7x4 ;8255-1 PA,PB,PC k olarak programlanr.

CALL COMNDWRT MOV AL, 01H ;LCD ekran temizlenir.

CALL COMNDWRT MOV AL, 06H


;Bir sonraki karakter iin kursr saa kaydrlr.

CALL COMNDWRT MOV AL, 'E'

CALL DATWRT CALL DELAY MOV AL, 'E'

CALL DATWRT CALL DELAY MOV AL, 'R'

CALL DATWRT CALL DELAY MOV AL, 'C'

CALL DATWRT CALL DELAY

MOV AL,

'A'

CALL DATWRT CALL DELAY MOV AL, 'N'

CALL DATWRT CALL DELAY MOV AL, '-'

CALL DATWRT CALL DELAY MOV AL, 'K'

CALL DATWRT CALL DELAY MOV AL, 'O'

CALL DATWRT CALL DELAY MOV AL, 'S'

CALL DATWRT CALL DELAY MOV AL, 'E'

CALL DATWRT CALL DELAY DELAY PROC PUSH CX MOV CX LOOP $ POP CX RET DELAY DATWRT ENDP PROC ,0000111111111111B

PUSH DX MOV DX, OUT DX, PORTB AL

MOV AL, MOV DX, OUT DX, NOP NOP MOV AL, OUT DX, POP RET DATWRT COMND ENDP DX

00001100B PORTC AL

00000100B AL

WRT PROC

PUSH DX MOV DX, OUT DX, MOV DX, MOV AL, OUT DX, NOP NOP MOV AL, OUT DX, POP DX RET COMNDWRT ENDP 00000000B AL PORTB AL PORTC 00001000B AL

CODE

ENDS END START

Bu program ncelikle 8255i programlar.

LCD ekranda elemanlarn yazlmas

iin 7x4 matris oluturur. Karakterler srasyla gnderilerek ekranda yaz yazdrlr. Her bir karakterden sonra kursr saa kaydrlr.

4.8 Motor Yn Kontrol Uygulamas

ekil 4.11de grld gibi 8255 PIA entegresinin A potunun A0 ve A1 bitleri kullanlarak motor yn kontrol yaplmtr. Bu iki bit 00 ve 11 iken motor durmakta, 01 iken saa, 10 iken motor sola dnmektedir (GMKAYA, 2002).

+5V
U1 34 33 32 31 30 29 28 27 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 8255-1 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 Q1 AC187 Q2 AC187

MG1 1 2

9 8 A0 A1 U2 A5 A6 A7 1 2 A 3 B C 6 4 G1 5 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 00H 35 5 RESET 36 RD 6 WR CS

MOTOR DC Q4 Q3 AC188 AC188

GND

74LS138

ekil 4.11 Motor Yn Kontrol Devresi

4.8.1 Motor Yn Kontrol Uygulamas Assembler Program

PA=00H PB=01H PC=02H CONTROL=03H

CODE

SEGMENT DS:CODE

ASSUME CS:CODE, START: MOV AL, MOV DX, OUT DX,

00000001B 00000000B AL

; Motor saa dndrlr.

CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY MOV AL, MOV DX, OUT DX, 00000000B 00000000B AL ; Motor durdurulur.

CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY MOV AL, MOV DX, OUT DX, 00000010B 00000000B AL ; Motor sola dndrlr.

CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY

CALL DELAY MOV AL, MOV DX, OUT DX, 00000000B 00000000B AL ; Motor durdurulur.

CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP START DELAY:MOV CX, 1111111111111111B ; FFFFH=65535 Decimal LOOP $ RET CODE ENDS END START ; 65535X15.085US=988.59 MS 1 S

Bu program 8255-1in A0 ve A1 klarna 7 saniye aralklara 01, 00, 10 ve 00 bilgilerini gndermektedir. 01 bilgisi ile motor 7 saniye boyunca saa dnmektedir. Sonra 00 bilgisiyle motor 7 saniye sreyle durmaktadr. Daha sonra 10

bilgisiyle motor sola dnmektedir. En sonunda ise 00 bilgisiyle motor 7 saniye boyunca durmaktadr. Eitim setinin RESET tuuna baslana kadar bu dnme ilemleri

tekrarlanmaktadr.

4.9 Tu Takm Kontrol Uygulamas

ekil 4.12de grld gibi deney kartnda 12 tuluk (3 satr, 4 stun toplam 12 tu) bir tu takm kullanlmtr. Yazlan tu tanma program baslan tuun bal olduu satr ve stundaki hatlar birbirine ksa devre etmesi prensibini kullanmaktadr. 3x4 matris tu takm 8255-2nin Port Csine balanmtr. Port Cnin yksek drt biti

ka ve dk drt biti girie programlanmtr. ekilden grlecei gibi PC2-PC0 (giri) tu takmnn stun hatlarna, PC7-PC4 (k) ise satr hatlarna balanmtr. k drt bitte srasyla 1110, 1101, 1011 ve 0111 bilgileri gnderilir. Her gnderilen veriden sonra giri verisi okunur ve 1110, 1101, 1011 saylaryla karlatrlr. Okunan veri 1110 ise o satrdaki ilk tutur, 1101 ise o satrdaki ikinci tutur, 1011 ise o satrdaki nc tutur.

Birinci satrdaki 2 tuunun tannmas iin, PC7-PC4 klarndan 1110 bilgisi gnderilir. Eer tu takmndaki 2 numaral tua baslmsa, PC2-PC0 girilerinden okunan deer 1101 olacaktr. Yazlan programdaki LEDler baslan tuun saysn 8-bit ikilik say olarak gstermektedir. Mesela, kullanc C tuuna bastnda, D7........D0 ledleri 11000000 (1:yanyor, 0: snk) saysn gstermektedir. LEDler baslan tuun hegzadesimal deerine gre yanmaktadr.

+5V D0-D7 CLK


330 Ohm 1 LED U3A 74LS02 R1 D7

D0 D1

330 Ohm R1

D6 LED

D6 D7 74f374
U1

R1

D6

8288 IOW
U2 A5 A6 A7 1 2 3 6 4 5 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7

2 3

330 Ohm LED

60H

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

74LS138

D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET RD WR 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

1 4 7 A

S1 S2 S3 S4

2 5 8 B
R1 47 K

S5 S6 S7 S8

3 6 9 c
R2

S9 S10 S11 S12

20H

R3 47 K 47K

8255-2

+5V

ekil 4.12 Tu Takm Kontrol Devresi

HI

4.9.1 Tu Tanma Assembler Program Tu takm assembler program referans [5]den alnarak sisteme uyarlanmtr.

.MODEL SMALL CODE SEGMENT PARA 'CODE'

ASSUME CS: CODE, DS:CODE MOV SP, MOV AL, MOV DX, OUT DX, BAS: MOV DX, MOV AL, OUT IN DX, AL, 22H 11101111B AL DX 00001111B 00001110B ;1.Stun mu? ; 1. Satra sfr bilgisi gnderilir. 2000H 81H 23H AL ;8255-2 programlanr.

AND AL, CMP AL, JE K1

CMP AL, JE K2

00001101B

;2.Stun mu?

CMP AL, JE K3

00001011B

;3.Stun mu?

MOV DX, MOV AL, OUT IN DX, AL,

22H 11011111B AL DX 00001111B 00001110B ;1.Stun mu? ; 2. Satra sfr bilgisi gnderilir.

AND AL, CMP AL, JE K4

CMP AL, JE K5

00001101B

;2.Stun mu?

CMP AL, JE K6

00001011B

;3.Stun mu?

CALL ALT JMP BAS K1: MOV AL, MOV DL, OUT DX, 11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL OUT DX, 11111110B ,01100000B AL ;1.Tua baslm birinci LEDi yak.

CALL DELAY JMP BAS K2: MOV AL MOV DL, OUT DX, ,11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11111101B 01100000B AL ;2.Tua baslm ikinci LEDi yak.

CALL DELAY JMP BAS K3: MOV AL, MOV DL, OUT DX, 11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11111100B 01100000B AL ;3.Tua baslm birinci ve ikinci LEDi yak.

CALL DELAY JMP BAS K4: MOV AL, 1111111B

MOV DL, OUT DX,

01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11111011B 01100000B AL ;4.Tua baslm nc LEDi yak.

CALL DELAY JMP K5: BAS 11111111B 01100000B AL

MOV AL, MOV DL, OUT DX,

CALL DELAY MOV AL, MOV DL, OUT DX, 11111010B 01100000B AL ;5.Tua baslm birinci ve nc LEDi yak.

CALL DELAY JMP BAS K6: MOV AL, MOV DL, OUT DX, 11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11111001B 01100000B AL ;6.Tua baslm ikinci ve nc LEDi yak

CALL DELAY JMP BAS ALT: MOV DX, MOV AL, OUT DX, IN AL, 22H 10111111B AL DX 00001111B

AND AL,

CMP AL, JE K7

00001110B

CMP AL, JE K8

00001101B

CMP AL, JE K9

00001011B

MOV DX, MOV AL, OUT DX, IN AL,

22H 01111111B AL DX 00001111B 00001110B

AND AL, CMP AL, JE KA

CMP AL, JE KB

00001101B

CMP AL, JE RET K7: MOV AL, MOV DL, OUT DX, KC

00001011B

11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11111000B 01100000B AL

CALL DELAY RET K8: MOV AL, MOV DL, OUT DX, 11111111B 01100000B AL

CALL DELAY MOV AL, 11110111B

MOV DL, OUT DX,

01100000B AL

CALL DELAY RET K9: MOV AL, MOV DL, OUT DX, 11111111B 01100000B AL

CALL DELAY MOV AL, 11110110B

MOV DL,0 1100000B OUT DX, AL

CALL DELAY RET KA: MOV AL, MOV DL, OUT DX, 11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11110101B 01100000B AL

CALL DELAY RET

KB:

MOV AL, MOV DL, OUT DX,

11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11110100B 01100000B AL

CALL DELAY RET

KC:

MOV AL, MOV DL, OUT DX,

11111111B 01100000B AL

CALL DELAY MOV AL, MOV DL, OUT DX, 11110011B 01100000B AL

CALL DELAY RET

DELAY:MOV CX, 1111111111111111B; LOOP RET $

CODE END

ENDS

Bu programda ncelikle 8255-2 PC7-PC4 ka ve PC3-PC0 girie programlanmaktadr. PC portuna 11101111b ( 1. Satra sfr bilgisi gnderilir) ve PC portu okunur ve 0Fh ile AND ilemine tabi tutulmaktadr. Okunan ve ANDlenen deer srasyla 00001110b, 00001101B, 00001011b VE 00000111B deerleriyle

karlatrlarak stun taramas yaplr. Her hangi birine basldysa bununla ilgili alt programa atlanr ve burada saynn karl olan LEDler yaklmaktadr. Bu ilemler btn satrlar iin tekrarlanmaktadr.

SONU VE NER LER

Gerekletirilen genel amal 8086/8088 16-bitlik mikroilemci eitim seti ile; sinyallerin saysaldan analoa ve analogdan saysala evrilebilmesi, LCDye yaz yazdrma, scaklk lm, d.c motor hz kontrol, d.c motor yn kontrol, saysal d.c motor hz kontrol, adm motor kontrol, rle kontrol ve 16 adet tutan oluan tu takm kontrol uygulamalar yaplabilir.

Eitim seti, mhendislik ve teknik eitim fakltelerinin, meslek yksek okullarnn mikroilemciler derslerinde ve Milli Eitim Bakanlnn hizmet ii eitim kurslarnda kullanlabilir.

Kullanlan monitr programyla ilgili ayrntl bilgi J.A. ANTONAKOSun referans [1]de verilen kitab incelenerek elde edilebilir.

Genel amal eitim seti minimize edilerek robot kontrol, rzgar hz, basn ve alk lmleri gibi yeni uygulamalar gerekletirilebilir.

Seri haberlemede kullanlan ve bilgisayarda bulunan Hyper Terminal Program yerine visual dillerle yazlm bir ara yz program gerekletirilerek, eitim setinin daha kolay ve kullanl hale getirilmesi salanabilir.

KAYNAKLAR D Z N

1. Antonakos, J.A., 1999, An Introduction to the Intel Family of Microprocessors A Hands-on Approach Utilizing the 80x86 Microprocessor Family Third Edition, Prentice-Hall, 505-542 p.

2. Avtar, S. and Triebel, W.A., 2003, The 8088 and 8086 Microprocessors, Prentice-Hall, 342, 365, 369,387,455, 479, 517-520,573-580 p.

3. Barry, B.B., 1993, The Intel Microprocessors: 8086/8088, 80186, 80286, 80386, 80486 - Architecture, Programming and Interfacing, Macmillan USA, 401-407 p.

4. Gmkaya, H., 2002, Herkes in Mikroilemciler ve Bilgisayarlar (Intel Ailesi ve IBM PC ) , Alfa, 307-335 s.

5. Mazidi, M.A. and Mazidi, J.C.G.,2003, The 80X86 IBM PC and Compatble Computers (VOLUMES I & II ) , Assembley Language Desingn, and Interfacing, Prentice-Hall, 353-366, 389-394, 420-430, 541-550 p.

6. Tanyeri, F.M.,1996, Assembly Programlama Sanat , Alfa, 57-65, 103-117 s. 7. http://www.hemar.ch/Tech.Daten/Echo/Piezo%20Buzzers/b35.pdf

EKLER

Ek.1 Ana Kart Devre emas

Ek.2 Uygulama Kart Devre emas

Ek.3 LM35 Bilgi Sayfas

Ek.4 ADC0804 Bilgi Sayfas

Ek.5 DAC0808 Bilgi Sayfas

Ek.6 8255 Bilgi Sayfas

Ek.7 8251 Bilgi Sayfas

Ek.8 8254 Bilgi Sayfas

Ek.9 8259 Bilgi Sayfas

Ek.1 Ana Kart Devre emas


C20 +5V 1mikro F 10 9 8 7 6 5 4 3 25 24 21 23 2 26 27 address bus U2 11 O0 12 O1 13 O2 15 O3 16 O4 17 O5 18 O6 19 O7 28 VCC +5V U9 D8 D9 D10 D11 D12 D13 D14 D15 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19 D8 D9 D10 D11 D12 D13 D14 D15 address bus +5V C28 20 U7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 2 3 4 5 6 7 8 9 A0 A1 A2 A3 A4 A5 A6 A7 1mikro F +5V 1mikro18 F B0 17 B1 16 B2 15 B3 14 B4 13 B5 12 B6 11 B7 D8 D9 D10 D11 D12 D13 D14 D15 26 C33 25 3 RXC RXD 24 1mikro F 10 OUT0 13 OUT1 17 OUT2 D0 D1 D2 D3 D4 D5 D6 D7 GND 8 7 6 5 4 3 2 1 D0 D1 D2 D3 D4 D5 D6 D7 20 A0 IOR RESET IOW 17 12 22 13 21 10 11 CLK CTS C/D DSR RD RESET WR CS 9 TXC 19 TXD D0 D1 D2 D3 D4 D5 D6 D7 SY/BR DTR RTS RXRDY TXRDY TXE 8251 27 28 1 2 5 6 7 8 16 + 22uf 24 23 14 15 18 + 22uf 15 D0 D1 D2 D3 D4 D5 D6 D7 + 22mf 13 8 R1IN R2IN 11 10 T1IN T2IN 1 3 4 5 2 6 C1+ C1C2+ C2V+ V16 RXD U16 U17 1mikro F J2 12 R1OUT 9 R2OUT 14 T1OUT 7 T2OUT 1 2 3 4 5 6 7 8 9 CON9 MAX232 address bus C34 +5V C38

D[8...15] address bus

address bus

GND

22 20 OE CE +5V 1 VPP 27C256-1

address bus

22 27 OE 20 WE CE +5V 28 VCC C8 43256 U10 1mikro F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14

GND

1 D[8...15] 2

GND

A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14

A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14

VCC

VCC

14

U24A 1 2 CLK CLR U25A CLK CLR

U28 3 A 4 QB 5 QC 6 QD 3 QA 4 QB 5 QC 6 QD PCLK A0 19 +5V A1 20 A0 A1 G0 11 G1 14 G0 G1 G2 16 G2

1 19 DIR G D[8...15] 74LS245/FP

VCCQ

VCC

22 mf

10

PCLK IOR IOW

+5V C27 data bus 20 U8 D0 D1 D2 D3 D4 D5 D6 D7 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 D0 D1 D2 D3 D4 D5 D6 D7 D[0..7] data bus

9 15 CLK0 18 CLK1 CLK2 22 23 RD 21 WR CS

GND

+5V U3 10 9 8 7 6 5 4 3 25 24 21 23 2 26 27 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14

28

14

C21

0 54HC393
Q1 1uF BC238 +

14

data bus

AD[0...7]

A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14

11 O0 F 1mikro12 O1 13 O2 15 O3 16 O4 17 O5 18 O6 19 O7

D0 D1 D2 D3 D4 D5 D6 D7

D0 D1 D2 D3 D4 D5 D6 D7

11 12 13 15 16 17 18 19

2 3 4 5 6 7 8 9

A0 A1 A2 A3 A4 A5 A6 A7

18 B0 F 1mikro17 B1 16 B2 15 B3 14 B4 13 B5 12 B6 11 B7

8254 12

VCC

adres data hatt

VCC

GND

+5V

address bus

control bus

R2 data bus +5V C35 26 U15 9 8 7 6 5 4 3 2 47K

LS1 BUZZER

S2

1 19 DIR G 74LS245/FP

GND

D[0..7]

SW SPST 2 +5V

AD[8...19]

data bus

GND

O\E\ 22 C\E\ 20 OE CE +5V 1 VPP address bus A(0.....19) 27C256

data bus

22 27 OE 20 WE CE +5V 28 VCC

GND

data bus +5V U23 C30

+5V

D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET IOR IOW

C7 43256 1mikro F 14

RN1 1mikro F 2 Q0 5 Q1 6 Q2 9 Q3 12 Q4 15 Q5 16 Q6 19 Q7 1 2 3 4 5 6 7 14 13 12 11 10 9 8

C22

AD[8...19] A8 A9 A10 A11 A12 A13 A14 A15 adres data hatt U6

+5V 40

20

U5 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 3 4 7 8 13 14 17 18 D0 D1 D2 D3 D4 D5 D6 D7

C26

VCC

+5V

address bus

address bus

2 Q0 1mikro5F Q1 6 Q2 9 Q3 12 Q4 15 Q5 16 Q6 19 Q7

control bus

AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 CLK

16 15 14 13 12 11 10 9 19 18 33 17 22 31 30 21 23

11 1 LE OE 74LS373

10

CLK INTR MX NMI READY RQ/GT0 RQ/GT1 RST TEST

adres data hatt

INTR NMI READY RST 4.7K

+5V 20 U4 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 3 4 7 8 13 14 17 18 D0 D1 D2 D3 D4 D5 D6 D7

38 A16/S3 37 A17/S4 36 A18/S5 35 A19/S6

14

data bus

AD16 AD17 AD18 AD19

AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7

AD8 1mikro F AD9 AD10 AD11 AD12 AD13 AD14 AD15

8 7 6 5 4 3 2 39

AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15

AD[0...7]

VCC

D0 D1 D2 D3 D4 D5 D6 D7

3 4 7 8 13 14 17 18 11 1

LEDD4 LED LED

D0 D1 D2 D3 D4 D5 D6 D7 CLK

GND

C52 1 1mikroU27A F 74LS02

OE

GND

330 Ohm

4 P PA0 1mikro F 3 P PA1 2 P PA2 1 P PA3 40 P PA4 39 P PA5 38 P PA6 37 P PA7 9 18 P PB0 19 P 8 A0 A1 PB1 20 P PB2 21 P 35 5 RESET PB3 22 P PB4 23 P 36 RD PB5 24 P 6 WR CS PB6 25 P PB7 14 P PC0 15 P PC1 16 P PC2 17 P PC3 13 P PC4 12 P PC5 11 P PC6 10 P PC7 34 33 32 31 30 29 28 27 D0 D1 D2 D3 D4 D5 D6 D7 VCC 8255

A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7

J5 +5V P P P P P P P P P P P P P P P P P P P P A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 P 36 P 38 P 40 P PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 C4 C5 C6 C7

D[0..7]

10

R5 47K

14

20

VCC

9 8 7 6 5 4 3 2

R6 9 8 7 6 5 4 3 2 47K

CONN SOCKET 20x2/SM 1

74F374

+5V

10

GND

+5V

C36

C23

+5V 2 Q0 1mikro5F Q1 6 Q2 9 Q3 12 Q4 15 Q5 16 Q6 19 Q7 A0 A1 A2 A3 A4 A5 A6 A7 adres data hatt

26 S0 +5V S0 27 S1 S1 28 S2 S2 BHE/S7 LOCK QS0 QS1 RD 34 29 25 24 32

2 3 4 5 6 7 8 9

R7 2 3 26 U20 U22 Y4 IOW 7 9 10 11 12 13 14 15 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 8 4.7K D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RESET IOR IOW 34 33 32 31 30 29 28 27 D0 D1 D2 D3 D4 D5 D6 D7 47K 1mikro F PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 J6 +5V R8 47K 1 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 IR3 IR4 IR5 IR6 IR7 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

VCC

5 G2B 4 G2A 6 G1 3 C 2 B 1 A C31

VCC

GND

GND GND

M A17 A16 A15

+5V

8086/8088 20 1

11 1 LE OE 74LS373

VCC

74LS138 16

+5V 20 U21 AD16 AD17 AD18 AD19 3 4 7 8 13 14 17 18 D0 D1 D2 D3 D4 D5 D6 D7

C24 1mikro F +5V C25 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 5 6 9 12 15 16 19 A16 A17 A18 A19 +5V Q1 CRYSTAL +5V 4.7K R 470K S1
100 Ohm

1mikro F +5V +5V CLK R S2 S1 S0 19 3 S0 18 S1 S2 2 CLK 20


100 Ohm

C32 C29

PB0 PB1 PB2 35 RESET PB3 5 PB4 RD 36 PB5 WR 6 PB6 CS PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7

9 8 A0 A1

10

GND

2 3 4 5 6 7 8 9

R9 47K

+5V 9 8 7 6 5 4 3 2

18

U11 +5V 3 7 AEN1 AEN2 14 EFI

VCC

U12

VCC

C410 pf

11 1 LE OE 74LS373

GND

+5V

control bus data bus

GND

GND

28

D2 START R + C2 1mikrof

U18 IR1 IR3 IR4 IR5 IR6 IR7 18 19 20 21 22 23 24 25 27 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 A0

8284 10 9

8288
Harici I/O Decoder Ucl.

VCC

IR2

J1 1 +5V +5V

DEN 13

14

control bus

1mikro F 11 D0 10 D1 9 D2 8 D3 7 D4 6 D5 5 D6 4 D7

R12 47K

U13F1F 12 74LS04 7

A0 IOR IOW

J3 1

12 CAS0 13 +5V CAS1 15 INTA 26 3 INTA CAS2 RD 2 16 WR SP/EN 1 CS 17 INT INT 8259A 14 GND IR3/IR7

GND
Harici I/O Decoder Ucl.

6 5 4 3 2

IR3/IR7

Harici I/O Decoder Ucl.

D0 D1 D2 D3 D4 D5 D6 D7

+5V

IR3/IR7

74HC138 8

address bus

15 1 13 4 6 11

+5V ASYNC CSYNC F/C RDY1 RDY2 RES 4.7K

+5V 4.7K

IO

DIODE

GND

9 8 7 6 5 4 3 2

6 4 G1 5 G2A G2B

NMI

2.2 KOhm NMI +5V C37

12 17 OSC 16 X1 X2

6 15 AEN 1 CEN IOB

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

GND

8 CLK 1mikro F 2 PCLK PCLK 5 READY READY 10 RESET RESET

8255 12 AIOW 8 F 1mikro AMW 13 IOR IOR 11 IOW IOW 7 MRD MRD 9 MWT MWT 5 ALE ALE 16 DEN DEN 4 DT/R DT/R 14 INTA INTA 17 MC/PD A5 A6 A7 1mikro F 16 U19 1 2 A 3 B C

VCC

+5V Y6 Y7 1

15 Y0 14 Y1 13 Y2 12 Y3 11 Y4 10 Y5 9 Y6 7 Y7

VCC

R10 10K

10

GND
CONN SOCKET 20x2/SM

VCC

Ek.2 Uygulama Kart Devre emas

Motor Yn Kontrol +5V -12V J3 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 CONN SOCKET 20x2/SM 2.5K +5V 4.7K 13 4 5 U2 A8 A7 A6 A5 A4 A3 A2 A1 VR+ VRVIOUT IOUT 4 2 -12V COMP 16 100 pF C1 12V 12V 0.1uF Analog Motor Hiz Kontrol AC187 SW1 3 Ohm 3 Ohm 5V 1 + MG22 3 V DC 3 Ohm 3 Ohm U11 VCC/VREF 5 11 12 13 14 15 16 17 18 INTR DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 ADC0804 LCD-DMC16207/2*16 karakter a 1 uF A3952 U10A 1 2 3 14 <Value> 2*16 karakter D7 D7-D0 RS-E +5V Vcc Vee 5 10K LED LED RELAY SPDT 4.7K BC109 BC109 4.7K 4.7K RELAY SPDT 4.7K 5 Vss TEMPERATURE SENSOR 4.7K D66 4 3 4 3 LS1 2 1 D0 E R/W Vee 1 RSVcc Vss LM34/LM35 Rle Kontrol Devresi +5V +5V D45 IN4148 4.7K D73 LS22 2 1 D55 IN4148 27K 20 -12V D3 LM336 10K R-VAR S2 10K 5 4 6 LM741 75 Ohm 5V 12V U4 4.7K 2 3 6 U4 LM741 2 3 47K 1 7 50KOhm R-VAR 10K 2 1 1uF ELECTRET SW MIC1 S1 5 4 4.7K 2 VREF U3 6 10 OUTA 15 OUTB 10K 100KOhm 100 Ohm ZENER 8.2V +5V 1 + MG8 3 V DC 3 Ohm +12V SW ROTARY 4P-2W D47 2N2222 IN4001 +12V 2 D46 2N2222 IN4001 MOTOR STEPPER 4 5 6 D45 2N2222 IN4001 1 2 3 10uF 2 3 12 11 10 9 8 7 6 5 14 15 5.6KOhm U8 LM741 6 S1 2 SW SW 270 Ohm 22 KOhm R-VAR 7 1 2.2 uF 6 S5 10K 7 1

SES/ SAAT SES


4.7uF U13 LM380/DIP8 + 3 Ohm 4 5 470uF +5V 8 HOP 8Ohm

AC187 AC187 1 + AC188 3 V DC D44 2N2222 +5V 3 Ohm 3 Ohm IN4001 MG3 MG23

V+

A -

2 AC188 3 Ohm STEP MOTOR KONTROL UYGULAMASI

+12V

R2 5.6KOhm

R1 DAC0808 3

1 CS 3 WR 2 RD 19 CLKR 4 CLKIN VREF/2 9 S3

0.64 V

10K

1 7

9 16 VBB VBB

HIZ/ SES
S5

Dijital Motor Hz Kontrol

SW

Klavye Kontrol Uygulamas

J2 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 CONN SOCKET 20x2/SM

0 1 2 3

4 5 6 7

8 9 A B

4.7K 5V

5V

2 2 2 2 2 2 2

10K SW PUSHBUTTON U12 18 16 14 12 9 7 5 3 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 2 4 6 8 11 13 15 17 SW PUSHBUTTON S2 5V 12V -12V 1 1 1 1 1 1 1

1 1G 19 2G 74ALS244

J5A CONN PWR 4X3-R

4 3 2 1

4 5 12 13

GND GND GND GND

7 -IN 6 +IN

3 11 RC SENSE 1 8 BRAKE 14 EN 7 MODE PH

VCC

A
-

Ek.3 LM35 Bilgi Sayfas

Ek.4 ADC0804 Bilgi Sayfas

Ek.5 DAC0808 Bilgi Sayfas

Ek.6 8255 Bilgi Sayfas

Ek.7 8251 Bilgi Sayfas

Ek.8 8254 Bilgi Sayfas

Ek.9 8259 Bilgi Sayfas

You might also like