Bu sayfadaki yazılar
Sayfanın metni
Sayfa 56
C-64
64'er'den Çeviren Ziya BAYMAN
Bilgisayarınıza program modülleri mi bağlamak istiyorsunuz? Bir modemi mi çalıştırmak istiyorsunuz? Ya da bir alarm sistemini bilgisayar üzerinden kullanmak mı istiyorsunuz? Bu işler için Expansion ya da User Port'u kullanmak zorundasınız. Tabii ki yukarıda saydıklarımız, bu portlar aracılığıyla yapabileceğiniz bir sürü işten yalnızca üçü. Ama bunları tipik örnekler oldukları için seçtik. Örneğin modem ya da alarm sistemi User Port'a (Resim 1) program modülleri ise Expansion Port'a (Resim 2) takılır. Önce User Port'u inceleyelim.
ÇOK YÖNLÜ BİR PORT
User Port, çok yönlü kullanabileceğiniz bir bağlantı noktası. Çoğunlukla modemler ya da akustik coupler'lar için kullanılan RS232 bağlantısı, User Port üzerinden ölçme ve yönetme işlerini de gerçekleştirebilir. Bağlantı yerini biraz daha yakından inceleyelim. Resim 3'te User Port'un bağlantı pozisyonları veriliyor. User Port'un alt ve üstteki bağlantılarının farklı işlevleri olduğunu görüyorsunuz. Bu nedenle asla bir timsah ya da benzeri bir mandalı buraya tutturmaya kalkışmamalısınız! Daha önce de belirttiğimiz gibi User Port çok farklı işler için kullanılabilir. Bunu sağlayan, User Port'ta bulunan ve sizin istediğiniz gibi programlayabileceğiniz 8 bitlik paralel porttur (Resim 3: PB0-PB7). Bunun anlamı, paralel port üzerinden verileri okuyabilmeniz ya da çıkışını alabilmenizdir. Burada enteresan olan, sekiz hattın herbiri için veri akışını tek tek belirleyebilmenizdir. Hangi hattın giriş hangisinin çıkış için kullanılacağını, veri akışı sicilinden verebilirsiniz. Bu sicil için kullanılan “DDR” kısaltması, İngilizce “Data Direction Register” kelimelerinin baş harflerinden oluşmaktadır. Peki, bir sicille sekiz hat nasıl kullanılabiliyor? Bunu anlayabilmek için, ikili ve onlu sayılar arasındaki ilişkiyi biraz incelememiz gerekecek.
USER PORT PROGRAMLANABİLİYOR
Bilgisayarın çalışırken kullandığı ikili sayı sistemi, 0 ve 1 olmak üzere, yalnızca iki sayıyı tanır. Bu sistemde 0 ya da 1 içeren bir bilgi birimi, “bit” olarak adlandırılır. Bu, bilgisayar teknolojisinde kullanılan en küçük bilgi birimidir. Tek bir bitle, ondalık sayı olarak 0 ve 1 gösterilebilir. Buna ikinci bir biti eklersek, 0'dan 3'e kadarki ondalık sayıları gösterebiliriz. Üçün gösterilebilmesi için, her iki bitin de birer 1 içermesi gerekir (1*2^1 + 1*2^0 = 2+1=3). Sekiz bitle 0'dan 255'e kadarki ondalık sayılar gösterilebilir. Resim 4'te örnek olarak 223 ondalık sayısının ikili sistemde nasıl parçalandığını görebilirsiniz. Ayrıca bilgisayar teknolojisinde sekiz bitin bir araya gelmesiyle ikinci en küçük bilgi birimi olan “Byte” oluşur. Commodore 64'ünüzün bellek kapasitesi 65536 Byte'tır. 56579 sayılı byte, yukarıda bahsedilen veri akış sicilidir. Buradaki 0 bitine bir 1 koyarsanız, buna ait olan PB0 hattı çıkışa açılmış olur. Makineyi açtıktan sonra aşağıdaki satırı yazarak DDR'i bir kez daha deneyin:
PRİNT PEEK (56579)
Ekranda bir 0'ın görüntülenmesi gerekir, çünkü bilgisayarın açılması anında PB0'den PB7'ye kadarki port hatları giriş olarak açılmıştır. Yukarıdaki örnekteki (Resim 4) sayımızı kullanırsak,
POKE 56579,223
satırıyla DDR, 11011111 şeklinde bir bit dizisi içerir. Böylece tüm PB hatları, PB5 hattına kadar çıkış olarak açılmış olur. 56577 bellek hücresindeki DPB (Data Port B) sicili üzerinden tek tek çıkışları, aynen DDR'de olduğu gibi 1 ya da 0 yapabilirsiniz. POKE 56577,222 ile oraya 11011110 şeklinde bir bit dizisi girebilirsiniz. Böylece PB0'a kadar tüm çıkışlar 1 olur. Bunun anlamı ise, D pininden H pinine kadar (PB1-PB4), K pininde (PB6) ve L pininde (PB7) +5 Volt akım varken, C (PB0) pininde 0 Volt bulunur. Bu durumda 5 bitine 0 verilmiştir. DDR'deki karşılık gelen hattın daha önce giriş olarak açılmış olması nedeniyle, bilgisayar DPB sicilinin 5. bitini görmezden gelir. Aynı şekilde
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 57
POKE 56577,254
yazarak, 11111110 şeklinde bir bit dizisi yaratabilirsiniz.
USER PORT'U PROGRAMLARKEN DİKKAT EDİLMESİ GEREKEN HUSUSLAR
User Port'la denemeler yapmaya başlıyorsanız, son derece dikkatli davranmanız gerekir. Çünkü daha önce de belirttiğimiz gibi, entegre bir eleman olan CIA (Control Interface Adapter)'in 14 yapılmış olan çıkışlarında 4-5 Volt akım bulunmaktadır. Bu uçları yanlışlıkla şasiyle bağlarsanız, CIA bu davranışınızdan pek hoşlanmayacaktır. Sonuçta bilgisayarınızı büyük bir olasılıkla bir tamir servisine götürmek zorunda kalabilirsiniz. Yani, çok dikkatli olun. Eğer portu giriş olarak kullanıyorsanız, tek tek hatları denemek ilgi çekici olabilir. Port sicili yardımıyla bunu gerçekleştirebilirsiniz.
PRINT PEEK (56577)
yazdığınız takdirde, DDRB sicilinin değeri ekranda görünecektir. Bilgisayarınızı yeniden açıp DDRB sicilini deneyin. Bütün bitlerin 1 olduğunu göreceksiniz. Bu nedenle B portunun tüm hatlarında 5 Volt bulunacaktır.
USER PORT'LA DENEMELER
Hatırlayacağınız gibi, makinenin açılmasından sonra B portunun tüm hatları giriş olarak açılmış olmakta, çıkışların aksine şimdi, karşılık gelen hatları şasiyle bağlayarak, tek tek her biti 0 yapabilirsiniz. Peki, tek bir bitin DDRB sicili tarafından denetlenmesi nasıl gerçekleşiyor? Bilmecenin çözümü, “AND-bağlantısı”.
Örneğin, 7. biti denetlemek için
PRINT PEEK (56577) AND 128
satırını girmelisiniz. Sonuç 128 ise, DDRB sicilinin 7. biti 1 içeriyor demektir. Sonuç 0 ise, 7. bit de 0 demektir. Aynı şekilde 6. biti
PRİNT PEEK (566577) AND 64
satırıyla denetleyebilirsiniz. Sonuç 64 ise bitin içeriği 1, sonuç 0 ise bitin içeriği 0'dır. Aynı yöntemle diğer tüm bitler de denetlenebilir. AND bağlantısının neler yaptığını, ilerki sayılarımızda betimlemeye çalışacağız.
;
? | ?
Yukarıda verilen BASIC komutlarını programların içine yerleştirdiğiniz takdirde, bir sürü yönetme sürecini de işletebilmeniz mümkün. Alarm sistemleri ya da yanıp sönen lamba dizileri ve benzeri bir sürü şeyi çalıştırabilirsiniz. Dikkat edeceğiniz konu, çıkışlardan yalnızca sınırlı bir düzeyde akım alabileceğinizdir. Aslında bu akım her hatta ön akımlı birer ışıklı diyot bağlamaya yeterlidir, fakat daha kapsamlı bağlantılar için röleler ya da güçlendiriciler kullanmanız gerekir.
Tabii ki, User Port'u verilerin uzağa iletilmesi için de kullanabilirsiniz, örneğin bir akustik koppler bağlayabilirsiniz. Önümüzdeki sayılarda akustik koppler ya da modemle veri iletimi konusunda da yazılar yayınlayacağız.