MTM 305 MİKROİŞLEMCİLER



Benzer belgeler
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 LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

MTM 305 MİKROİŞLEMCİLER

MTM 305 MĠKROĠġLEMCĠLER

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

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 KESMELİ GİRİŞ/ÇIKIŞ

İ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

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

BIL 362 Mikroilemciler Dersi Final Sınavı Cevapları

(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.

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

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

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

8086 Mikroişlemcisi Komut Seti

BIL 362 Mikroilemciler Dersi Arasınav Cevapları 3 Temmuz 2007

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

Mikrobilgisayar Donanımı

Çok sayıda adım motoru tasarımı olmasına rağmen, bu motorlar iki değişik temel tür altında toplanabilir: değişken relüktanslı veya hibrid yapılı.

MTM 305 MĠKROĠġLEMCĠLER

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

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

MTM 305 MĠKROĠġLEMCĠLER

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

BÖLÜM 7 Kesmeler.

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

Mikrobilgisayar Mimarisi ve Programlama

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER

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

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

İŞLEMCİ DURUM KAYDEDİCİSİ (PROCESSOR STATUS REGISTER)

SAUEEE.ORG. Önce C 00 Sonrası C 00

LCD (Liquid Crystal Display)

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

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

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları / Dr. Serkan DİŞLİTAŞ

Mikrobilgisayar Mimarisi ve Programlama

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

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

6. Mikroişlemcili Geliştirme Sistemleri

MTM 305 MĠKROĠġLEMCĠLER

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM 6 Seri Port Đşlemleri

İ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Ş

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MICROPROCESSORS ESA 86/88-3 KULLANIM KLAVUZU

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

SAYISAL MANTIK LAB. PROJELERİ

İ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Ş

# 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

80x86 MICROPROCESSOR Instructions

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

Assembly Language Programming

Basit Bootstrap Uygulaması

BM-311 Bilgisayar Mimarisi

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

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

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

8086 Mikroişlemcisi Komut Seti

ELEKTRİKSEL EYLEYİCİLER

DIGIAC 2000 Deney Seti PAT İŞLEMCİ KARTI :

Sistem Programlama. Seri ve Paralel Port Kullanımı:

SABİT MIKNATISLI MOTORLAR ve SÜRÜCÜLERİ

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

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

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

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

Ayhan Yüksel. (Son güncelleme: Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

ÖZEL EGE LİSESİ FİLTREN DÖNDÜKÇE ELEKTRİK ELDE ET

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

MİKROİŞLEMCİ LABORATUARI UYGULAMA ÖRNEKLERİ

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

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

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

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

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

Bölüm 4 Veri Aktarma Komutları

MCR02-AE Ethernet Temassız Kart Okuyucu

DELTA PLC DE ZAMANLAYICILAR

Aritmetiksel Komutlar

b) Aritmetik İşlem Komutları

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

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

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

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

ÖNEMLİ AÇIKLAMA: Bu derslerdeki sunumların kısa bir özetini göstermek için hazırlanmıştır. Burada türkçeleştirilmemiş olan kısımlar sorulmayacak

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

LCD (Liquid Crystal Display )

DENEY NO: 6 DENEYİN ADI : MİKROİŞLEMCİSİ İLE TRİSTÖRÜN ATEŞLEME AÇISININ KONTROL EDİLMESİ

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Transkript:

KARABÜK ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MTM 305 MİKROİŞLEMCİLER Arş. Gör. Emel SOYLU Arş. Gör. Kadriye ÖZ

Basit Giriş/Çıkış Teknikleri

IN ve OUT komutları X86 komut kümesi kullanan işlemcilerde verinin I/O cihazlarından alınması veya bu cihazlara veri gönderilmesi işi IN ve OUT komutlarıyla gerçekleşmektedir. IN kaydedici, port OUT port, kaydedici IN EAX/AX/AL,PORT OUT PORT,EAX/AX/AL

Dinamik adres tanımlama MOV AL,B6H MOV DX,43H OUT DX,AL

PORT NO Portlar bilgisayar sistemini dış dünyaya açan bir kapı olarak düşünülebilir. Her portun standart bir adresi vardır.

Dinamik adres örnekleri ADRESLER 040H-043H 060H-06FH 061H 278H-27GH 2F8H-2FFH 300H-31FH 378H-3FFH 3BCH-3BFH MANALARI Zamanlayıcı ve Sayıcı 8042 Klavyedeb giriş 8255 portu (0. ve 1. bitler hoparlör için) Paralel port LPT-3 Seri port-com2 Prototip kart Paralel port LPT-1 Paralel port LPT-1

Örnek YAZI DW 03BCH. MOV BL, @ MOV DX,YAZI MOV AL,BL OUT DX,AL @ karakterini LPT1 üzerindeki yazıcıya gönderen program

Örnek: #make_com# ORG 100h ;115 NOLU PORTA 215 DEĞERİNİ YAZ mov al, 215 out 115, al ;117 NOLU PORTA 1234 DEĞERİNİ YAZ mov ax, 1234 out 117, ax ;RESETLE mov ax, 0 ;110 NOLU PORTTAKİ DEĞERİ AL YE OKU in al, 110 ;PORT 112 DEKİ DEĞERİ AX'E OKU in ax, 112 ret

;PRINTIRA YAZI GÖNDERME ÖRNEĞİ #make_com# ORG 100h MESAJ db "MEKATRONIK",10,13,"BOLUMU",07 lea bx, MESAJ ; MESAJIN İLK ADRESİNİ BX'E AL mov cx, 19d ; MESAJ UZUNLUĞU mov ax, 0h ; AX'İ SIFIRLA GONDER: mov al, [bx] ; KARAKTERİ AL'YE AL out 130d, al ; KARAKTERİ ÇIKIŞ PORTUNA KOY INC BX ; BX'i BİR ARTIR BEKLE: ; PRINTERIN HAZIR OLMASINI BEKLE IN al, 130d ; HAZIRSA PORTU TEMİZLE OR al, 0 ; JNZ BEKLE loop GONDER ; CX SIFIRLANANA KADAR DÖNGÜ ret

; TRAFİK IŞIKLARI ÖRNEĞİ #MAKE_BIN# #CS = 500# #IP = 0# ;TRAFİK IŞIKLARI ÖRNEĞİ MOV AX, 0000000000000001B DONGU: OUT 4, AX JMP DONGU

Led Display örneği mov ax, 1234 out 199, ax mov ax, -5678 out 199, ax mov ax, 0 hlt

;EMU8086 SAYAÇ #make_com# ; COM file is loaded at CS:0100h ORG 100h mov cx,10 mov al,01 mov dx,199 git1: out dx,al loop git1 mov cx,10 inc ax jmp git1 hlt

Step Motor (Adım Motoru) Step motor elektrik enerjisini dönme enerjisine çeviren elektromekanik bir cihazdır. Step motorlarda rotor hareketleri dijital sinyallere göre değişir. Motorun bir adımda ne kadar yol alacağı yapısına bağlıdır. Örneğin bir adımda 90,45,30,18 derece ya da daha küçük açı aralıklarında olabilir. Motora uygulanacak sinyallerin frekansı değiştirilerek motorun hızı değiştirilebilir. Ayrıca uygulanan sinyallerin sırası değiştirilerek motorun yönü saat yönü veya saat yönünün tersi olarak ayarlanabilir. Step motorlar bir turda yaptığı adım sayısı ile tanımlanırlar. Örneğin 600 adımlık bir step motor 360 derece döndüğü zaman 600 adım yapmış olur. Yani adım açısı 0.6 derece olur. Bir step motor yarım adım modunda çalışıyorsa iki katı adım yapar.

Step Motor (Adım Motoru) Emu8086 similasyon programındaki step motor yarım adım 11.25 derece, tam adım 22.5 derece dönmektedir. Motor saat yönü ve saat yönünün tersinde döndürülebilmektedir. 7 nolu porta değer göndererek motor kontrol edilmektedir. Bu motor 3 fazlı temel bir motordur. Motorun içindeki üç mıktatıs 0,1 ve 2. bitlerle kontrol edilmektedir. Diğer bitler kullanılmamaktadır. Mıknatıs çalışırken kırmızı olur. Yeşil çizgi motorun hareketini göstermektedir. Yarım adım dönme: 2 mıknatıs aktif ardından bir mıknatıs aktif Tam adım dönme: 2 mıknatıs aktif, ardından iki mıknatıs aktif, ardından tek mıknatıs aktif ;3 tane saat yönünde yarım adım MOV AL, 001b ; başla MOV AL, 011b ; yarım adım 1. MOV AL, 010b ; yarım adım 2. MOV AL, 110b ; yarım adım 3.

Step motor örnek org 100h #start=stepper_motor.exe# ;tam adım saat yönünün tersi MOV CX,20 GIT1: MOV AL, 100b MOV AL, 110b MOV AL, 011b LOOP GIT1 ;tam adım saat yönü MOV CX,20 GIT2: MOV AL, 100b MOV AL, 011b MOV AL, 110b LOOP GIT2 ;yarım adım saat yönü MOV CX,20 GIT3:MOV AL, 001b MOV AL, 011b MOV AL, 010b MOV AL, 110b LOOP GIT3 ;yarım adım saat yönünün tersi GIT4:MOV CX,20 MOV AL,100B MOV AL,110B MOV AL,010B MOV AL,011B LOOP GIT4 ret

PARALEL PORTA VERİ GÖNDERME

ÖRNEK: Önce 0. sonra 1. ledi yakan program MOV AL,00000001B G1:OUT DX,AL ;bekleme yapıyoruz LOOP G1 MOV AL,00000010B G2:OUT DX,AL LOOP G2

TITLE 8086 Code Template (for EXE file) ; AUTHOR emu8086 ; DATE? ; VERSION 1.00 ; FILE?.ASM ; 8086 Code Template ; Directive to make EXE output: #MAKE_EXE# DSEG SEGMENT 'DATA ; TODO: add your data here!!!! DSEG ENDS SSEG SEGMENT STACK 'STACK' DW 100h DUP(?) SSEG ENDS CSEG SEGMENT 'CODE ;********************************** ********* START PROC FAR ; Store return address to OS: PUSH DS MOV AX, 0 PUSH AX ; set segment registers: MOV AX, DSEG MOV DS, AX MOV ES, AX ; TODO: add your code here!!!! MOV AX,0B800H MOV DS,AX MOV [00H],' WK1:MOV AH,1 INT 16H JZ WK1 MOV AH,0 INT 16H CMP AL,31h JZ DURUM1 CMP AL,32h JZ DURUM2 CMP AL,33h JZ DURUM3 CMP AL,34h JZ DURUM4 CMP AL,35h JZ DURUM5 CMP AL,36h JZ DURUM6 CMP AL,37h JZ DURUM7 CMP AL,38h JZ DURUM8 JMP WK1 DURUM1: MOV CX,000fh MOV DX,03BCH GONDER1: MOV AL,01H OUT DX,AL LOOP GONDER1 JMP WK1 DURUM2: MOV CX,000fh MOV DX,03BCH GONDER2: MOV AL,02H OUT DX,AL LOOP GONDER2 JMP WK1 DURUM3: MOV CX,000fh MOV DX,03BCH GONDER3: MOV AL,04H OUT DX,AL LOOP GONDER3 JMP WK1 DURUM4: MOV CX,000fh MOV DX,03BCH GONDER4: MOV AL,08H OUT DX,AL LOOP GONDER4 JMP wk1 DURUM5: MOV CX,000fh MOV DX,03BCH GONDER5: MOV AL,00010000b OUT DX,AL LOOP GONDER5 JMP wk1 DURUM6: MOV CX,000fh MOV DX,03BCH GONDER6: MOV AL,00100000b OUT DX,AL LOOP GONDER6 JMP wk1 DURUM7: MOV CX,000fh MOV DX,03BCH GONDER7: MOV AL,01000000b OUT DX,AL LOOP GONDER7 JMP wk1 DURUM8: MOV CX,000fh MOV DX,03BCH GONDER8: MOV AL,10000000b OUT DX,AL LOOP GONDER8 JMP wk1 ; return to operating system: RET START ENDP ;********************************** ********* CSEG ENDS END START ; set entry point.

TITLE 8086 Code Template (for EXE file) ; AUTHOR emu8086 ; DATE? ; VERSION 1.00 ; FILE?.ASM ; 8086 Code Template ; Directive to make EXE output: #MAKE_EXE# DSEG SEGMENT 'DATA' ; TODO: add your data here!!!! DSEG ENDS SSEG SEGMENT STACK 'STACK' DW 100h DUP(?) SSEG ENDS CSEG SEGMENT 'CODE' ;********************************** ********* START PROC FAR ; Store return address to OS: PUSH DS MOV AX, 0 PUSH AX ; set segment registers: MOV AX, DSEG MOV DS, AX MOV ES, AX MOV DX,03BCH BASLA: MOV AL,00000001B G1:OUT DX,AL LOOP G1 MOV AL,00000010B G2:OUT DX,AL LOOP G2 MOV AL,00000100B G3:OUT DX,AL LOOP G3 MOV AL,00001000B G4:OUT DX,AL LOOP G4 MOV AL,00010000B G5:OUT DX,AL LOOP G5 MOV AL,00100000B G6:OUT DX,ALLOOP G6 MOV AL,01000000B G7:OUT DX,AL LOOP G7 MOV AL,10000000B G9:OUT DX,AL LOOP G9 MOV AL,01000000B G10:OUT DX,AL LOOP G10 MOV AL,01000000B G11:OUT DX,AL LOOP G11 MOV AL,00100000B G12:OUT DX,AL LOOP G12 MOV AL,00010000B G13:OUT DX,AL LOOP G13 MOV AL,00001000B G14:OUT DX,AL LOOP G14 MOV AL,00000100B G15:OUT DX,AL LOOP G15 MOV AL,00000010B G16:OUT DX,AL LOOP G16 MOV AL,00000001B G17:OUT DX,AL LOOP G17 JMP BASLA ; return to operating system: RET START ENDP ;********************************** ********* CSEG ENDS END START ; set entry point.

Beni dinlediğiniz için teşekkür ederim.