Interfacing Keypad dengan 8051
Keypad adalah perangkat input dengan array kecil menekan tombol berlabel dengan angka atau simbol lainnya, dirancang untuk memungkinkan masuknya cepat karakter dari satu set kecil, misalnya 0-9 atau angka desimal, secara historis, digit heksadesimal.

Konstruksi (Internal Schematic):
Pembangunan tombol di bawah ini dibangun menggunakan SPST Switches sederhana seperti berikut:
Koneksi ke 8051:
Metode untuk memeriksa Input:
Metode untuk memeriksa masukan adalah membuat coloums sebagai i p / dan kita drive baris membuat mereka o / p, seluruh prosedur ini membaca keyboard disebut Scanning.
Untuk mengetahui tombol yang ditekan dari papan tombol (4x4) matriks, kita membuat garis-garis baris rendah satu per satu dan membaca coloums. Katakanlah kita pertama membuat ROW1 rendah, kemudian membaca kolom. Jika salah satu kunci dalam ROW1 ditekan akan membuat kolom corrosponding sebagai yaitu rendah jika kunci kedua ditekan di ROW1, maka column2 akan memberikan rendah. Jadi kami datang untuk mengetahui bahwa 2 kunci ROW1 ditekan. Ini adalah bagaimana pemindaian dilakukan.
Hal ini dapat ditunjukkan di bawah ini dalam animasi tombol (output dan input):

Jadi untuk memindai keypad sepenuhnya, kita perlu membuat baris rendah satu per satu dan membaca kolom.
Pemrograman pada 8051 di 'C':
Gets tombol ditekan dari Port 2 dan output nilai desimal ke Port 1.
Download Firmware di 'C' di Keil (. Zip)
Download Skema Simulasi di Proteus (. Zip)
disadur dari : http://www.electronics-control.info/keypad.htm
Konstruksi (Internal Schematic):
Pembangunan tombol di bawah ini dibangun menggunakan SPST Switches sederhana seperti berikut:
Koneksi ke 8051:
Kita perlu terhubung kolom keypad dan baris ke port dari mikrokontroler 8051 dan program controller untuk membaca input.
Metode untuk memeriksa Input:
Metode untuk memeriksa masukan adalah membuat coloums sebagai i p / dan kita drive baris membuat mereka o / p, seluruh prosedur ini membaca keyboard disebut Scanning.
Untuk mengetahui tombol yang ditekan dari papan tombol (4x4) matriks, kita membuat garis-garis baris rendah satu per satu dan membaca coloums. Katakanlah kita pertama membuat ROW1 rendah, kemudian membaca kolom. Jika salah satu kunci dalam ROW1 ditekan akan membuat kolom corrosponding sebagai yaitu rendah jika kunci kedua ditekan di ROW1, maka column2 akan memberikan rendah. Jadi kami datang untuk mengetahui bahwa 2 kunci ROW1 ditekan. Ini adalah bagaimana pemindaian dilakukan.
Hal ini dapat ditunjukkan di bawah ini dalam animasi tombol (output dan input):
Jadi untuk memindai keypad sepenuhnya, kita perlu membuat baris rendah satu per satu dan membaca kolom.
Pemrograman pada 8051 di 'C':
Gets tombol ditekan dari Port 2 dan output nilai desimal ke Port 1.
01.# include <regx51.H> / / Sertakan file untuk 805102.# define P2 keypad / / keypad terhubung ke P203.# define col1 P2_0 / / kolom 104.# define col2 P2_1 / / kolom 205.# define col3 P2_2 / / kolom 306.# define col4 P2_3 / / kolom 407. . 08void key_init ();. 09unsigned char get_key ();10.void tunda (unsigned char i);11. 12.void main ()13.{14.unsigned char ret = 0;15.unsigned char toggle = 0;16.key_init (); / / menginisialisasi keypad 17. 18.sementara (1)19.{20.delay (10);21.ret = get_key ();22.jika (ret! = 0 & & toggle == 0)23.{24.toggle = 1;25.P1 = ret;26.}27.jika (ret == 0)28.{29.toggle = 0;30.}31.}32.}33. 34.void key_init ()35.{. 36keypad & 0x0F =; / / membuat Baris sebagai o / p dan cols adalah i / p37.}38. 39. 40.unsigned char get_key ()41.{. 42unsigned char i, k, key = 0;43.k = 1;44.untuk (i = 0; i <4; i + +) / / loop untuk 4 baris45.{ 46.keypad & = ~ (0x80>> i); / / untuk membuat baris rendah 1 by 147.jika (col1 == 0) / / periksa apakah key1 ditekan48.{ 49.key = k +0; / set tombol angka /50.sementara (col1 == 0); / / menunggu rilis. 51kembali kunci; / / tombol angka kembali52.}53.jika (col2 == 0) / / periksa apakah key2 ditekan54.{ 55.key = k +1; / set tombol angka /56.sementara (col2 == 0); / / menunggu rilis. 57kembali kunci; / / tombol angka kembali58.}59.jika (col3 == 0) / / periksa apakah key3 ditekan60.{ 61.key = k +2; / set tombol angka /62.sementara (col3 == 0); / / menunggu rilis. 63kembali kunci; / / tombol angka kembali64.}65.jika (! col4) / / periksa apakah key4 ditekan66.{ 67.key = k +3; / set tombol angka /68.sementara (col4 == 0); / / menunggu rilis. 69kembali kunci; / / tombol angka kembali70.}. 71k + = 4; / / tombol nomor baris berikutnya72.keypad | = 0x80>> i; / / membuat baris tinggi lagi73.}74.return 0; / kembali / false jika tidak ada tombol ditekan75.}76. 77.void tunda (unsigned char i)78.{ 79.unsigned int rr;80.untuk (rr = 0; rr <i; rr + +);81.}Download Proyek Folder
Proyek meliputi proyek-proyek di C dikompilasi dari Keil UV4 dan Proteus skematik.Download Firmware di 'C' di Keil (. Zip)
Download Skema Simulasi di Proteus (. Zip)
disadur dari : http://www.electronics-control.info/keypad.htm


Posting Komentar untuk "Interfacing Keypad dengan 8051"