Kamis, 28 September 2017

rangkaian Keypad menggunakan mikrokontroler ATMega8535 dengan software compiler BASCOM AVR

[menuju akhir]





1.       Tujuan [kembali]
-membuat rangkaian Seven Segment menggunakan mikrokontroler ATMega8535 dengan software compiler BASCOM AVR
2.       Komponen yang digunakan [kembali]
-          Keypad
-          Switch
-          LCD
-          Mikrokontroler ATMega8535
-          Button
-          Crystal

3.       Dasar teori [kembali]
3.1   Pengertian Keypad
Tombol keypad matrik 4x3 adalah susunan dari beberapa buah saklar tekan (push button) yang disusun secara matrix. Dipasaran terdapat beberapa jenis tombol keypad, dan yang paling sering digunakan diantaranya adalah tombol keypad 4x3 dan 4x4. Susunan tombol tekan yang disusun secara matrik menjadi sebuah keypad dapat dilihat pada gambar berikut:
Gambar : Keypad 4x3

Ketujuh atau kedelapan pin tersebut adalah 3 pin untuk kolom dan 4 pin untuk baris. Untuk mengakses keypad ini tidak seperti push button biasa. Adapun cara yang saya pakai untuk mengakses keypad ini adalah dengan metode scanning.  

Dengan menggunakan mikrokontroler hal ini sangat mudah dilakukan, karena mengingat mikrokontroler memiliki frekuensi clock yang tinggi. Misalnya saya menggunakan ATmega32 kemudian saya hubungkan pin keypad secara urut dari baris kemudian kolom ke pin mikrokontroler. 

row1 -> PINC.0
row2 ->PINC.1
row3 ->PINC.2
row4 ->PINC.3
col1 ->PINC.4
col2 ->PINC.5
col3 ->PINC.6

4.       Simulasi Rangkaian [kembali]


5.       Listing Program [kembali]

$regfile = "m8515.dat"                                      'meanggil librari ATmega 8535
$crystal = 16000000                                         'mementukan kecepatan krystal yang digunakan
Config Lcdpin = Pin , Rs = Porta.4 , E = Porta.5 , Db4 = Porta.0       'mendeklarasika pin Lcd yang di pakai
Config Lcdpin = Pin , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3       'mendeklarasikan pin Lcd yang di pakai
Config Lcd = 16 * 2                                         'menentukan lcd yang di pakai                                '
Config Kbd = Portd                                          'membuat variabel kbd pada PORTD
Dim Keypad As Byte                                          'keypad sebagai word

Cursor Off                                                  'kursor lcd off
Cls                                                         'lcd bersih
Ddrd = &B1110000                                            'menentukan input dan output pada keypad
Portd = &B1111111                                           'keadaan awal portd hidup

Keypad = Getkbd()                                           'memanggil fungsi keypad
Locate 1 , 1                                                'pada baris 1 kolom 1
Lcd "Pepi dan Reno"                                         'lcd membentuk karakter Pepi dan Reno
Lowerline                                                   'pada bagian bawah
Lcd "KEYPAD= "                                              'lcd menimbulkan karakter KEYPAD

Do                                                          'fungsi utama
Portd = &B1101111                                           'menentukan keadaan awal PORTD
Waitms 5                                                    'delay 5 ms
If Pind.0 = 0 Then                                          'jika PIND.0 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "1"                                                     'lcd menamplkan karakter 1

Elseif Pind.1 = 0 Then                                      'jika PIND.1 =0
Locate 2 , 9
Lcd "4"                                                     'lcd menamplkan karakter 4

Elseif Pind.2 = 0 Then                                      'jika PIND.2 =0
Locate 2 , 9
Lcd "7"                                                     'lcd menamplkan karakter 7

Elseif Pind.3 = 0 Then                                      'jika PIND.3 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "*"                                                     'lcd menamplkan karakter *
End If                                                      'pemilihan fumgsi selesai

Portd = &B1011111                                           'menentukan keadaan awal PORTD
Waitms 5
If Pind.0 = 0 Then                                          'jika PIND.0 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "2"                                                     'lcd menamplkan karakter 2

Elseif Pind.1 = 0 Then                                      'jika PIND.1 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "5"

Elseif Pind.2 = 0 Then                                      'jika PIND.2 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "8"                                                     'lcd menamplkan karakter 8

Elseif Pind.3 = 0 Then                                      'jika PIND.3 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "0"                                                     'lcd menamplkan karakter 0
End If                                                      'pemilihan kondisi selesai

Portd = &B0111111                                           'menentukan keadaan awal PORTD
Waitms 5
If Pind.0 = 0 Then                                          'jika PIND.0 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "3"                                                     'lcd menamplkan karakter 3

Elseif Pind.1 = 0 Then                                      'jika PIND.1 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "6"                                                     'lcd menamplkan karakter 6

Elseif Pind.2 = 0 Then                                      'jika PIND.2 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "9"                                                     'lcd menamplkan karakter 9

Elseif Pind.3 = 0 Then                                      'jika PIND.3 =0
Locate 2 , 9                                                'baris 2 kolom 9 pada keypad
Lcd "#"                                                     'lcd menamplkan karakter #
End If                                                      'pemilihan kondisi selesai
Loop
                                                             'fungsi utama



End                                                         'program selesai


6.       Flowchart [kembali]




























































































7.       Video [kembali]



8.       Link download [kembali]
File simulasi rangkaian   =>>DOWNLOAD
File video rangkaian   =>>DOWNLOAD
File Listing program   =>>DOWNLOAD
File HTML   =>>DOWNLOAD

Tidak ada komentar:

Posting Komentar