İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ



Benzer belgeler
İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI OLAYLARI ZAMANLAMA

Bahar Dönemi BIL382 Mikroişlemcili Sistem Lab. Vize Sınavı,

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

MTM 305 MİKROİŞLEMCİLER

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI SERİ GİRİŞ ÇIKIŞ

DENEY III RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

(5 soru seçerek cevaplandırınız. Seçilen soru numaralarını yukarıdaki çizelgede işaretleyiniz) Sınav süresi 100 dakikadır. Başarılar dileriz.

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI SERİ GİRİŞ/ÇIKIŞ

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

BÖLÜM 7 Kesmeler.

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Mikroişlemcili Sistemler ve Laboratuvarı

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

MTM 305 MĠKROĠġLEMCĠLER

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

MTM 305 MİKROİŞLEMCİLER

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Mikrobilgisayar Donanımı

BM-311 Bilgisayar Mimarisi

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

Mikroişlemcili Sistemler ve Laboratuvarı

16 bitlik işlemciler basit olarak 8 bitlik işlemciler gibi Kaydedici ALU Zamanlama/kontrol

Mikroişlemciler. Microchip PIC

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

8086 Mikroişlemcisi Komut Seti

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

Araş. Gör. Abdulkerim ŞENOĞLU Araş. Gör. Mehmet AYAN Araş. Gör İbrahim Kök. BM 310 Mikroişlemciler Dersi Laboratuvarı (LAB2)

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

BÖLÜM in Bellek Organizasyonu

Deney 2. Kesme Uygulamaları

LCD (Liquid Crystal Display)

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

BM-311 Bilgisayar Mimarisi

BÖLÜM 6 Seri Port Đşlemleri

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

JZ TEST3 (7/3) 1 makine çevrimi süresi

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

Mikrobilgisayar Mimarisi ve Programlama

MTM 305 MİKROİŞLEMCİLER

8086 dan core2 ya yazaç yapısını tanımak. Bayrak yazacının içeriğinde yer alan bayrakların görevlerini tanımlamak. Real mod çalışmada bellek

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

CSD İŞLETİM SİSTEMİNDE SİSTEM FONKSİYONLARININ ÇAĞIRILMASI

DENEY II RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

MICROPROCESSORS ESA 86/88-3 KULLANIM KLAVUZU

B.Ç. / E.B. MİKROİŞLEMCİLER

Bileenler arasndaki iletiim ise iletiim yollar ad verilen kanallar yardm ile gerçekleir: 1 Veri Yollar 2 Adres Yollar 3 Kontrol Yollar

Komutların Yürütülmesi

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Debug Komutları C:\>DEBUG - Çizgi işareti artık debug programının komut kabul etmeye hazır olduğunu belirtmektedir.

7. HAFTA KBP208 VE ASSEMBLER. Öğr.Gör. Kürşat M. KARAOĞLAN.

Assembly Language Programming

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

EasyPic 6 Deney Seti Tanıtımı

K uark projesi. Temel Özellikler :

6. Mikroişlemcili Geliştirme Sistemleri

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Bildiğiniz gibi programları oluşturan kodlar ve veriler hafızaya yüklendikten sonra işlemci tarafından satırsatır icra edilirler.

MTM 305 MĠKROĠġLEMCĠLER

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ

Bölüm 4 Veri Aktarma Komutları

PIC Mikrodenetleyicileri

DENEY-5. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

CISC Complex Instruction Set Computers

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İşletim Sistemlerine Giriş

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

Komutların İşlem Süresi

MTM 305 MĠKROĠġLEMCĠLER

SAYISAL MANTIK LAB. PROJELERİ

PIC ASSEMBLY VE MAKROLAR

Röle Ters röle Set rölesi Reset rölesi

SysTick Kesmesi. Suhap SAHIN {\} /\

Basit Bootstrap Uygulaması

Transkript:

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ 8259 PIC (Programmable Interrupt Controller) ve 8086 CPU tümleşik devrelerin sinyal akışı ve bacak bağlantıları Şekil-1 deki gibidir. 8259 un IR0-IR7 kesme isteği (Interrupt Reuest) uçlarına bağlanabilen donanımsal çevrebirim, bir servis talebinde bulunduğundan Interrurpt Request ucu aktif hale gelir. PIC te kesmeler yetkilendirilmiş ise bu istek 8259 un INT ucundan 8086 ın INTR ucuna aktarılır. 8086 o anda koşmakta olduğu emirin icrasını tamamladıktan sonra INTA ucundan bir darbe göndererek bu kesme isteğini onaylar (acknowledge). 8259, 8086 dan ikinci INTA sinyalini aldığında kesme istek numarasını (Interrurp Request Number) data bus üzerinden 8086 ya göndererek hangi cihazın kesme isteğinde bulunduğunu tanımlar. Bu kesme istek numarası 8086 nın içinde 4 ile çarpılır ve 20-bitlik adrese dönüştürüldükten sonra kesme vektör tablosuna uygulanır. Tablodan alınan CS ve IP adres bilgileri işlenerek servis programının fiziksel adresi bulunur. Servis programından geri dönülmeden önce servis programı, EOI (End-of-Interrupt) komutunu 8259 a göndererek servis programının bittiğini bildirir. Böylece PIC de bu istekten daha düşük öncelikli istekler yetkilendirir. Şekil-1: 8259 ve 8086 tümleşik devrelerin sinyal akışı ve bacak bağlantıları 8259 un iki tip kontrol kelimesi vardır: Initialization Control Words (ICWs) ve Operation Control Words (OCWs). Kontrol kelimeleri; A0, CS, RD ve WR uçlarının yardımıyla data bus üzerinden gönderilir. A0=0 yapılarak ICW1, OCW2, OCW3 yazmaçlarına erişilebilir. A0=1 yapılarak ise ICW2, ICW3, ICW4, OCW1 kaydedicilerine erişilebilir ( Tablo-1). 1

Tablo-1: 8259 kaydedicilerinin adreslenmesi Şekil-2 de gösterildiği gibi kullanıcı interruptlarının kesme vektör tablosundaki yeri 0000:0100 (Type 40 Interrupt, 40H*4) adresinden başlamaktadır. CPU, IRQ isteğini aldığında o anda icra edilen program durdurulur ve IRQ kesme servis rutinini icra edilir. Kesme servis programının başlangıç adresi (CS:IP) kesme vektöründe tutulur. Şekil-2: Kesme vektör tablosu 2

Şekil-3 de 8259 u ilk kullanıma hazırlama dizisi verilmiştir. İlk kullanıma hazırlama kelimeleri sırasıyla yazılır. Tablo-1 den de görüleceği gibi ICW2-ICW4 nin hepsi aynı port adresine yazılır. Çünkü 8259, bu kaydedicilerin sırasıyla yazılmasını beklemektedir. ICW3 ve ICW4 yazmaçları opsiyoneldir. Şekil-3: 8259 ilk kullanıma hazırlama dizisi ICW kelimelerinin formatı Şekil-4-7 de görülmektedir. Şekil-4: ICW1 register format 3

Şekil-5: ICW2 register format Şekil-6: ICW3 register format Şekil-7: ICW4 register format ICW1=00010011: 80x86 modu; kenar tetikleme; tek bir 8259; ICW4 e ihtiyaç var (D7-D5 ve D2 bitleri sadece 8-bitlik 8085 mikroişlemcisi kullanıldığında gereklidir. D1, single mod için 1 yapılır. ICW2=01000000: Kesme vektör adresi 40h yapılır. ( 8 dış cihazın hangisinden isteğin (IR0-IR7) geldiğine bağlı olarak ICW2 nin en anlamsız üç biti 000-111 arasında değerler alır.) ICW4=00000101: Normal nesting; Non-buffer; Normal EOI; 80x86 mod ( Normal nesting modda IR0 en yüksek, IR7 ise en düşük önceliğe sahiptir. Normal EOI seçilmişse, kesme servis rutininin bitiminde, diğer kesmelerin kabul edilebilmesi için EOI komutuna ihtiyaç duyulur. 4

İlklendirme tamamlandıktan sonra, yani çalışma moduna geçilince operasyon kontrol kelimeleri herhangi bir anda herhangi bir sırada gönderilebilir. OCW ler kesme maskesini, dönen öncelik modunu, özel maske modunu, yoklamalı modu ve EOI komutlarını tayin eder. OCW1 ve OCW2 nin formatları Şekil-8-9 de verilmiştir. OCW1: M7-M0=11111110 kelimesi bit0 ın haricindeki istekleri maskeler. M7-M0, ilgili kesme hattının maske bitleridir. Biti setleme maskeyi etkinleştirir ve dolayısıyla ilgili kesmeyi engeller. OW2: D7-D0=00100000 çalışmasını sağlar. kelimesi 8259 denetleyicisinin Nonspecific EOI komutu altında Şekil-8: OCW1 register format Şekil-9: OCW2 register format 5

DENEYİN YAPILIŞI Amaç: Servis programının amacı SW11 butonu ile her kesme isteği gönderildiğinde Şekil- 10 da görülen yanan LED i bir bit sola kaydırmaktır. Şekil-10: Programın çıktısı Devre tanımı: SW11 butonu, 8259 un IR0 ucuna bağlıdır ve harici donanım kesmesi üretmek için kullanılmaktadır. 8259 dan kesme isteğini 8086 her aldığında LED leri yakan bilgiyi bir bit sola kaydırarak 8255 gönderir. Şekil-11: Fonksiyonel devre tanımı Kaynak Program: ;================================8259.ASM======================================== CNT EQU 3FD6H ;Define 8255 control word port address BPORT EQU 3FD2H ;Define 8255 portb address COMM1 EQU 0FFC8H ;Define 8259 command address for ICW1, OCW2, OCW3 COMM2 EQU 0FFCAH ;Define 8259 command address for ICW2, ICW3, ICW4, OCW1 CODE SEGMENT ASSUME CS:CODE,DS:CODE 6

START: CLI ;Disable interrupt MOV SP,4000H ;Setup of stack pointer MOV AX,CS ; MOV DS,AX ; Data Segment= Code Segment ;<Setup IR0 vector> MAIN: MOV AX,0 ;Initialize ES to 0 MOV ES,AX ;Extra Segment=0 MOV BX,40H*4 ;Setup vector address of IR0 to BX=40H*4 MOV ES:WORD PTR[BX],OFFSET INTR0 ;IP of ISR write to vector MOV ES:2[BX],CS ;CS of ISR write to vector ;<Initialize Command Words> ;<ICW1> MOV DX,COMM1 MOV AL,00010111B ;<ICW2> MOV DX,COMM2 MOV AL,40H ;<ICW4> MOV AL,00000101B ;Enable command1 port address ;Setup ICW1 ;Enable command2 port address ;Setup ICW2 ;Setup ICW4 ;<Operation Command Words> ;<OCW1> MOV AL,11111110B ;OCW1(Unmask IR0) ;<setup 8255 control word register & initialize LED> MOV DX,CNT MOV AL,80H MOV AL,01H MOV DX,BPORT STI ;Enable 8255 control port ;Setup 8255 control word register ;AL=80h,define porta, portb, portc=>output ;initialize LED ;Enable 8255 portb ;Output data, LED=01h ;Enable Interrupt 7

JMP $ ;Wait for IR0 interrupt ;<IR0 Interrupt Service Routine> INTR0: ROL AL,1 ;LED rotate left 1 bit ;Output data to LED MOV CX,5FFFH ;Setup CX register for time delay LOOP $ PUSH AX ;Store AX PUSH DX ;Store DX MOV DX,COMM1 ;Enable 8259 COMM1 port adres (Setup OCW2) MOV AL,20H ;EOI(End of Interrupt) command write to 8259 ;Output command POP DX ;Restore AX POP AX ;Restore DX IRET ;Return to Main routine CODE ENDS END START 8