Selasa, 22 Oktober 2013

HOW KEYBOARD WORK



       Sebuah keyboard seperti miniatur komputer. Keyboard mempunyai prosesor sendiri dan rangkaian sirkuit yang membawa informasi menuju dan dari prosesor tersebut. Bagian terbesar dari rangkaian keyboard berupa “key matrix”. “key matrix” adalah sebuah kisi rangkaian dibawah tombol-tombol keyboard. Di dalam keyboard, tiap rangkaiannya terputus (seperti saklar) pada titik dibawah tiap tombol. Ketika kita menekan sebuah tombol, tombol tersebut menekan sebuah saklar, menjadikan rangkaian tersambung dan mengalirkan arus listrik melaluinya. Jika kita lama pada tombol, prosesor mengenalinya sama dengan menekan tombol tersebut berulang-ulang.
          Ketika prosesor menemukan rangkaian tertutup (tersambung karena adanya penekanan tombol), maka prosesor akan membandingkan lokasi yang rangkaian tertutup tersebut dengan peta karakter yang tersimpan dalam ROM (read only memory) keyboard. Peta karakter pada dasar nya adalah tabel daftar karakter yaitu daftar posisi tiap-tiap tombol atau kombinasi tombol beserta karakter yang direpresentasikannya. Sebagai contoh, peta karakter memberitahu prosesor bahwa menekan tombol “a” sendirian menghasilkan huruf kecil “a”, tetapi tombol Shift bersama tombol “a” bersama-sama akan menghasilkan huruf kapital “A”
         Keyboard akan mengirim kode ke host (host adalah komputer kalau keyboard dihubungkan ke PC, atau berupa mikrokontroler kalau keyboard dihubungkan ke perlatan berbasis mikrokontroler). Kode tersebut dinamakan sebagai scan code.
          Scan code tombol ‘S’ adalah 1B (angka heksadesimal setara dengan angka biner 00011011). Ketika tombol ‘S’ ditekan keyboard akan mengirim 1B, jika tombol ‘S’ ditekan terus maka keyboard akan mengirimkan 1B berikutnya terus menerus, sampai ada tombol lain yang ditekan atau tombol ‘S’ tadi dilepas.
Keyboard juga mengirim kode saat ada satu tombol yang dilepas, kodenya adalah F0 (angka heksadesimal setara dengan angka biner 11110000), jadi kalau tombol ‘S’ tadi dilepas keyboard akan mengirim F0 dan 1B.
          Kode-kode tersebut dikirim keyboard secara seri, artinya dikirimkan satu bit demi satu bit. Misalnya 1B dikirimkan dengan cara : mula-mula dikirim ‘1’, sesaat kemudian ‘1’ lagi dan menyusul ‘0’ sampai akhirnya terkirim sebanyak 8 bit yang berbentuk 00011011 (dikirim mulai dari bit yang paling kanan kemudian beregeser satu per satu sampai yang paling kiri).
          Masing-masing tombol punya scan code sendiri, termasuk tombol ‘shift’, tombol ‘ctrl’ dan lain lain, jadi jika tombol ‘ctrl’ ditekan bersama dengan ‘S’, maka scan code yang dikirim adalah 14 (scan code untuk ‘ctrl’) dan 1B (scan code untuk ‘S’). Terserah host untuk mengintepretasi scan code itu sebagai apa, bearti merupakan tugas program dalam mikrokontroler untuk mengenal scan code.
          Scan code disusun sebagai kode 8 bit bisa dipakai untuk membedakan 256 macam kode, sedangkan keyboard PC hanya punya 101 tombol, jadi sesungguhnya kode 8 bit tadi  cukup untuk semua tombol. Tapi tombol di keyboard PC dikelompokkan menjadi 2 bagian, bagian utama dan bagian tambahan, bagian utama cukup dinyatakan dengan scan code 1 byte saja, sedangkan bagian tambahan diwakili dengan beberapa byte scan code yang selalu diawali dengan E0. Misalnya tombol ‘ctrl’ kiri diwakili dengan 14 sedangkan tombol ‘ctrl’ kanan diwakili dengan E0 14.
Data yang kita input akan diproses sebagai kode bilangan biner. Setiap karakter dalam keyboard mewakili 8 angka biner, berikut adalah beberapa kode bilangan biner:


Sumber:

Tidak ada komentar:

Posting Komentar