Mikroişlemciler Temel I/O Arayüzleri
İçerik Temel I/O Arayüzü IN ve OUT Komutları Emülatör üzerindeki trafik ışıkları Step motor İsole ve hafıza adreslemeli I/O
Temel I/O Arayüzü Bir mikroişlemci, problem çözmek için çok kullanışlıdır. Ancak, dış dünya ile iletişim kuramaz ise, değeri çok azdır.
I/O Komutları IN: I/O aygıtlarından mikroişlemciye veri okuma OUT: Mikroişlemciden I/O aygıtlarına veri yazma 65536 port vardır (0 - FFFFh arası).
IN, OUT komutlarının operand’ları IN AL, p8 IN AX, p8 IN AL, DX IN AX, DX OUT p8, AL OUT p8, AX OUT DX, AL OUT DX, AX p8: 0-255 arasındaki bir port numarası Diğer port numaraları için DX register’ı kullanılır.
Örnek: Emülatör’deki trafik ışıkları Port adresi 4’tür 12 lamba: 4 kırmızı, 4 yeşil, 4 sarı Lambayı çalıştırıp kapatmak için, ilgili bit 1 veya 0’a tanımlanır. Örneğin: Eğer tüm ışıkların kırmızı olması için: OUT 4, 0000001001001001b
Örnek: Emülatör’deki Step Motor Port 7 üzerinde çalışır Bu 3-fazlı bir step motordur. 3 magnet 0, 1 ve 2 bitleri ile kontrol edilir. Diğer bitler (3..7) kullanımda değildir. Magnetler kullanımda ise, kırmızı olurlar. Sol üst köşedeki ok, son motor hareketinin yönünü gösterir. Ortadaki yeşil çizgi, dönüşü göstermek içindir.
Step Motor Hareketleri Magnetleri çalıştırmak için, belirtilen sırada çalıştırmak gereklidir. Port 7’de bulunan en soldaki bit, motor hazır durumda olduğunda 1 olur. MOV AL, 001b ; ilk değer OUT 7, AL MOV AL, 011b ; yarım hız 1 MOV AL, 010b ; yarım hız 2 MOV AL, 110b ; yarım hız 3
I/O arayüzü metotları Mikroişlemciler ile I/O aygıtlarını haberleştirmek için iki farklı metot bulunmaktadır: İzole I/O ve Hafıza adreslemeli I/O
İzole I/O En fazla kullanılan tekniktir. I/O yerleşimleri, hafızadan bağımsız ve ayrı bir adres alanında yer alır. IN ve OUT kullanılır
İzole I/O Adres Alanı
Hafıza adreslemeli I/O IN ve OUT kullanılmaz Mikroişlemci ile hafıza arası veri transferi sağlayan tüm komutlar kullanılır. I/O portları, hafıza adresleri olarak tanımlanırlar. Bu hafıza adreslerine yazıldığı zaman, doğrudan I/O aygıtına yazılmış olur. Uygulamalar için kullanılan hafıza alanını azaltır.
Hafıza adreslemeli I/O Adres alanı