Bilgisayarla Dünyaya Hükmetmek
8255 giriş çıkış kartı yapıp pek çok elektrikli aleti kumanda etmek istemez misiniz?
Bilgisayarla elektronik cihazlara hükmetmek, hele bir de bunu kendi ürettiğimiz devrelerle yapmak yıllardır hepimizi cezbetmiştir. Bu ayki yazımda sizlere evde uygulanabilecek, düşük mailyetli bir I/O kartını nasıl üretebileceğimizi anlatacağım.
Lütfen Dikkat! Eğer elektronik konusunda yeterli tecrübeye sahip değilseniz sakın bu uygulamayı denemeyin. Yapacağınız devreyi doğrudan bilgisayarınızın ISA slotuna bağlayacaksınız.
Küçük bir uyarıdan sonra hemen nelere ihtiyacımız olacak bir gözden geçirelim:
- I8255
- 74LS138
- 8'li DIPSWITCH
- 100nF
- ISA PROTOTYPE BOARD
- Bağlantı kabloları
- Dijital Multimetre
Bütün bunları temin ettikten sonra I/O kartımızı yapmaya başlayabiliriz.
Yukarıdaki şemaya tıklayarak daha büyük görebilirsiniz.
Bağlantıları yaparken büyük dikkat gösterin. Şema oldukça kolay. Yarım saat gibi bir sürede rahatlıkla uygulayabilirsiniz. Montajı tamamladıktan sonra bağlantılarınızı son bir defa kontrol edin ve devenin lehim yaptığınız yüzünü tiner yada asetonla sildikten sonra mümkünse plastik sprey yada vernikle kaplayın. Plastik sprey yada vernik sürerken kartın ISA slota giren bölümlerinin (ISA Fingers) kaplanmaması için önceden bant yapıştırın.
Bütün bu işlemleri tamamladıktan sonra I/O kartımızın taban adresini ayarlayıp bilgisayarımıza bağlayabiliriz.
SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | SW7 | SW8 | |
0x200h | ON | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
0x220h | OFF | ON | OFF | OFF | OFF | OFF | OFF | OFF |
0x240h | OFF | OFF | ON | OFF | OFF | OFF | OFF | OFF |
0x260h | OFF | OFF | OFF | ON | OFF | OFF | OFF | OFF |
0x280h | OFF | OFF | OFF | OFF | ON | OFF | OFF | OFF |
0x2A0h | OFF | OFF | OFF | OFF | OFF | ON | OFF | OFF |
0x2C0h | OFF | OFF | OFF | OFF | OFF | OFF | ON | OFF |
0x2E0h | OFF | OFF | OFF | OFF | OFF | OFF | OFF | ON |
Taban adresi için DIPSWITCH ayarları yukarıdaki tabloda. 0x280h adresini kullanabilirsiniz. Bilgisayarınızda çok çok çok istisna bir durum olmadığı sürece genellikle hiçbir adresle çakışmadan sorunsuz olarak çalışır.
DIPSWITCH ayarlarını da yaptıktan sonra kartımızı bilgisayara bağlayabiliriz. Bilgisayarınızı kapatın ve hazırladığınız kartı ISA slotlarından herhangi birine takın. Kartın tam olarak slota oturduğundan emin olun. Prototip kartları genellikle normal ISA kartlardan biraz daha kalın oluyor. Slota zor oturabilir bu yüzden.
Kartımız plug and play bir kart değil. Aksine YTBÇ (Yap, Tak Belki Çalışır :-) ) bir kart. Bu yüzden Windows açıldığında "Yeni donanım bulundu" şekline bir ileti almayacaksınız.
Kartı bilgisayara bağladıktan sonra kullanmaya başlayabiliriz. 8255'in kontrol yazmacı (taban adresi+3) şeklindedir. Kontrol yazmacına gönderilebilecek değerler ve bu değerlerin işlevi aşağıdaki tabloda.
Değer | PORT A (0xTabanAdresi) | PORT B (0xTabanAdresi+1) | PORT C (0xTabanAdresi+2) |
0x80h | ÇIKIŞ | ÇIKIŞ | ÇIKIŞ |
0x82h | ÇIKIŞ | GİRİŞ | ÇIKIŞ |
0x85h | ÇIKIŞ | ÇIKIŞ | GİRİŞ |
0x87h | ÇIKIŞ | GİRİŞ | GİRİŞ |
0x88h | GİRİŞ | ÇIKIŞ | ÇIKIŞ |
0x8Ah | GİRİŞ | GİRİŞ | ÇIKIŞ |
0x8Ch | GİRİŞ | ÇIKIŞ | GİRİŞ |
0x8Fh | GİRİŞ | GİRİŞ | GİRİŞ |
Tabloda da görüldüğü gibi portları istediğiniz gibi yapılandırıp giriş yada çıkış olarak kullanabilirsiniz. 0x280h adresini kullandığınız taktirde PortA 0x280h, PortB 0x281h, PortC 0x282h ve kontrol yazmacı da 0x283h olacaktır.
Şimdi de kartımızı üst seviye programlama dilleriyle nasıl kullanabileceğimizi inceleyelim.
Eğer Visual Basic kullanıyorsanız IN komutu ile porttan değer alıp, OUT komutuyla porta değer gönderebilirsiniz. Porta 255 gönderdiğinizde tüm bitler H, 0 gönderdiğinizde tüm bitler L olacaktır. Değer okumak yada yazmak istediğiniz port önceden giriş yada çıkış olarak belirtlilmiş olmalıdır.
Delphi yada C++ kullanıyorsanız 1.x … 3.x sürümlerinin standart port[adress] komutunu kullanabilirsiniz. 3.x'den daha yeni bir sürüm kullanıyorsanız internetten kendi çabalarınızla bulacağınız VCL bileşenleriyle portlara erişebilirsiniz. www.torry.ru adresinden freeware VCL bileşenleri bulabilirsiniz.
Bu sayıda düşük maliyetli bir I/O kartını evde nasıl yapabileceğimizi anlattım. Gelecek ay kendi ürettiğimiz I/O kartıyla stepper motor çalıştıracağız.
Görüşmek dileğiyle.