Commodore sayı 38, sayfa 52

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 52

Bilgi Port registeri yön registeri C 64 56579 56577 tümü çıkış konumuna gelir. Port Registeri'ndeki 255 değeri ise yine tüm hatlardan 45 V gerilim çıkmasını sağlar. Port Registeri'ndeki O değeri ise belli bir çıkışı GND, yani toprak konumuna getirir, Görüldüğü gibi burada da Bilgi Yön Registeri'nde olduğu gibi gerilim konumları Bit'ler yardımıyla belirlenir (1 - High, 0— Low). Aynı şekilde Bit O, PBO'a karşı gelmektedir. Bu Port'tan elde ettiğimiz gerilimlerin nasıl ileride detaylı olarak göreceğiz. İkinci örnek olarak Paralel Port'- un nasıl giriş olarak kullanılacağını görelim. Bilgi Yön Registeri'ne 0 yazılırsa, tüm veri hatları giriş konumunu alır. Şimdi dışarıdan bazı bilgileri bu Port'tan girelim. Bu işlem veri hatlarına 4 5 V veya bilgisayarın besleme geriliminin GND'si bağlanarak gerçekleştirilir. Burada yine “0' GND ve '1” anlamına gelmektedir. Fakat girişlerden herhangi birine GND veya 4 5V bağlanmasa da Port Registeri'nde değeri elde edilir. Bu şekilde önemli bir bağlantı kazancı sağlanır. User Port'taki Bit kombinasyonu her an Port Registeri okunarak öğrenilebilir. Eğer veri hatlarında bir değişiklik olursa, bu hemen kendiliğinden Port Registeri'ne bildirilir. Daha önce belirtildiği gibi giriş ve çıkış fonksiyonları istenilen hatlara dağıtılabilir. Örneğin 2, 5 ve 7 numaralı hatlar çıkış olurken, kalanlar giriş olabilir. Bilgi Yön Registeri'ne yazarsak 2., 5. ve 7. Bitler “1” değerini alır, yani çıkış haline gelir. Bu çıkışlardaki gerilim konumları Port Registeri'ndeki 2, 5 ve 7 numaralı Bit'lere POKE edilmeli ve girişler hakkındaki enformasyonlar da 0, 1,3, 4, 6 numaralı Bit'lerden okunmalıdır. Bu kadar teorinin ardından programlama işlemine geçebiliriz. Öncelikle yukarıda bahsedilen iki registerin adreslerini öğrenmelisiniz. Bunlar Resim 2'de görülmektedir. Şimdiye kadar bilgisayarınızı daha mantıklı bir şekilde kullanabilmeniz için gerekli her şeyi öğrendiniz. Artık bir alarm sistemi programlayabiliriz.

RESİM 2: User Port registerleri.

User Port'taki Alarm Sistemi:

“Alarm” adlı programı yazın ve RUN ile başlatın. Ekranda Paralel Port'un bağlantı planı görülecektir. Bu arada hemen belirtelim, alarm sistemi için bir adet User Port konnektörüne ihtiyacınız olacaktır. Konnektörün dört kenar bağlantısından herhangi birine (— GND bkz. Resim 1) kablo lehimleyin ve User Port'a takın. Kesinlikle iki bağlantı birbirine değmemelidir. Şimdi kablonun diğer ucunu elinize alın ve PB7'ye kadar olan yollardan birine değdirin. PBO program tarafından alarm cihazında çıkış olarak kullanıldığı için kesinlikle buraya değdirmeyin. Hangi hattın doğru olduğunu Resim 1'den rahatça anlayabilirsiniz. Kablo giriş hatlarından birine temas ettiğinde bir alarm sesi duyulacak, ekranın kenarındaki renkler değişecek ve PBO çıkışına * 5V gerilim verilecektir. Ayrıca ekranda hangi hattın alarm sistemini devreye soktuğu görülecektir. Eğer kabloyu hiçbir yere değdirmezseniz, girişler High sinyali alacaktır ve tüm alarm sinyalleri silinecektir. Şimdi programa bir göz atalım. Değişkenler, Port Registeri, SID- Chip'i ve ekran için gerekli kodlamalar yapıldıktan sonra 390. satırda Port Registeri (R değişkeni) 254'ten başka bir değer alıncaya dek okunur. Neden 254? 254, birden yediye kadar olan yani alarm çıkışı dışındaki tüm Bit'lerin değerliklerinin toplamıdır. Bu alarm sisteminin tüm kontaklar açık durumdaki dinlenme konumudur (High sinyali). Alarm verildiğinde 430. satırda alarm çıkışı açılmaktadır. 470. satırdan itibaren ise yeni bağlantı planı çizilmektedir. Burada her bağlantı kontrol edilmekte ve sonuç ekranda gösterilmektedir.

Son olarak bilgisayar alarm bitişi için beklemektedir. Eğer hatlardaki temas devam ediyorsa, yani alarm veriliyorsa, bağlantı planı tekrar çizilir. Zira bu arada bazı değişiklikler olmuş olabilir. Diğer durumda ekran tekrar başa döner. Programı dikkatlice inceleyen birisi bunun gerçek bir alarm sistemi olarak kullanılmaya pek uygun olmadığını kolaylıkla söyleyebilir. C-64'ün bu alanda bazı zayıf yanları vardır. En önemlisi tüm sinyaller güvence içinde algılanamaz. Eğer temas, yani alarm süresi, kısa ise C-64 bu arada Port Registeri'ni okumak yerine örneğin 390. satıra atlamayı gerçekleştiriyor olabilir. Bundan başka alarm sinyali bilgisayar tarafından algılandıktan sonra nereden verildiği ilk 420. satırda belirlenmektedir. Bu satıra gelinene kadar geçen zaman sürecinde bir şeyler değişebilir. Fakat tüm bunların çok kısa temaslar için

Bilgi Port registeri yön registeri C 64, PORT 1 56323 56321 C 64, PORT 2 56322 56320

RESİM 3: Control Port registerleri.

Klavyeyle gezinmek için ← ve → tuşları.