8051’de Input (Giriş) ve Output (Çıkış) işlemleri için 4 tane port bulunur. Her bir portta 8 adet pin bulunur. Bunların dışında 8051’de 8 tane özel pin bulunmaktadır, VCC, GND, XTAL1, XTAL2, RST, EA, ALE ve PSEN. Toplamda 8051 40 tane pini barındırmaktadır.8051

8051 Pin Tanımları

Bu portları sırayla inceleyelim.

VCC

Gömülü sistem için voltaj sağlar. Voltaj kaynağının değeri +5V’tur.

GND, XTAL1 ve XTAL2

GND’yi sistemi toprağa bağlamak için kullanıyoruz. XTAL’ler yani kristal osilatörler ise external clock’u çalıştırmak için kullanılıyorlar. 8051 mikrodenetleyicilerinin çeşitli hızları olabilir, tüm bu hızlar XTAL’in çalıştığı maximum frekansa bağlıdır.

080209_1427_pindescript91

Farklı hızlara sahip 8051 versiyonları

RST

RST adı üstünde Reset pini, gömülü sistemi durdurmak veya üzerindeki işlemleri sıfırlamak için kullanılır.

EA, PSEN ve ALE’nin kullanımlarına karışık yapıya sahip olmaları sebebiyle sonraki yazılarımda değineceğim. Açılımları şu şekildedir: EA (Enable), PSEN(Program Store Enable) ve ALE (Address Latch Enable).

Port 0

Port 0 toplamda 8 adet pin içerir, bu pinler input veya output için kullanılabilir. Port 0’da ek olarak Pull-up resistör bulunur. Diğer portlarda bu özellik bulunmaz. Bunun için diyelim otomatik kapı için geliştirdiğimiz gömülü sistemde Port 0’ı kullanırsak, pull-up resistörü bulundurduğu için diğerlerine oranla kapı daha geç açılabilir. Haliyle mantıklı olan diğer portları kullanmak olacaktır.

Port 1-2

Port 1 ve Port 2 de 8 pinden oluşur ve bu pinler temel input-output işlemleri için kullanılabilir. P2 portu upper address bitlerini bağlamak için kullanılır.

Çoğu mikrodenetleyiciler için P0, P1 ve P2 portları I/O operasyonları için yeterlidir. Ek olarak Port 3 interruptlar ve diğer sinyaller için kullanılır.

Port 3

Port 3 8 adet özelleşmiş pinden meydana gelir. Bunları 4 gruba ayıracak olursak 2 tanesi Seri İletişim sinyalleri, 2 tanesi interrupt, 2 tanesi zaman sinyalleri ve son olarak yazma-okuma sinyalleridir.

080209_1427_pindescript71

Burada RxD receiver, TxD transciever, INT0 VE INT1 interrupt sinyaller, T0 Timer0, T1 Timer1, WR Write ve RD Read olarak adlandırılır.

8051 bitlerin birer birer işlenebilmesi kolaylığını sağlar. Peki bunun anlamı nedir? Yüksek seviye dillerde işlem yaparken 1 tane bitin üzerinde işlem yapmak mümkün olmayabilir. Bunun tersine 8051 diğer bitleri değiştirmeden sadece tek bir bite ulaşım imkanını sağlar.


>>SETB X.Y ; X burada port numarasını belirtiyor. Port numarası 0,1,2,3 olabilir. Y ise değiştirilmek istenen datanın bit numarasıdır. 0'dan 7'ye değerler alabilir.


>>SETB PO.2 ; P0 portunun D2 bitini 1 yaptık.

>>CLR P1.6 ; P1 portunun D6 bitini 0 yaptık.

Aşağıdaki tüm portların pinlerine erişmek için “Single Bit Addressability” tablosunu görüyoruz:

080109_1921_bitaddresse5

Ek olarak yukarıdaki örnekte bahsettiğimiz “SETB” VE “CLR” komutları pinde bulunan değerleri değiştirmek için kullanılıyor. SETB ile değeri 1 yapıyor, CLR ile değeri 0’lıyoruz.

Bit adreslemesi yapabilen registerlardan bazıları şunlardır: A, B, PSW, IP, IE, ACC, SCON ve TCON.

Advertisements