Aplikasi Tombol Dengan Mikrokontroller

download Aplikasi Tombol Dengan Mikrokontroller

of 8

description

annn

Transcript of Aplikasi Tombol Dengan Mikrokontroller

BAB V

BAB IVAplikasi Tombol dengan Mikrokontroller

4.1. PENDAHULUANAgar tombol tersebut dapat memberi input pada mikrokontroller, maka terlebih dahulu tombol ini harus disusun dalam sebuah rangkaian di mana terdapat perbedaan kondisi pada pin-pinnya antara kondisi tidak ada penekanan tombol, penekanan tombol 1, 2, 3 dan seterusnya. Kondisi tidak adanya penekanan tombol diatur dengan adanya kondisi logika high.

Pada saat tombol tidak ditekan, maka arus akan mengalir dari VCC melalui resistor menuju ke port seperti tampak pada gambar berikut.

Gambar 4.1. Rangkaian saklarSedangkan saat tombol ditekan, maka baris dan kolom akan terhubung ke ground sehingga kondisi pada baris dan kolom tersebut akan menjadi low. 4.2. RANGKAIAN PEMBACAAN TOMBOL Rangkaian pembacaan tombol adalah rangkaian untuk membaca penekanan tombol yang terhubung pada port mikrokontroller yang hasilnya tertampil pada led . Tombol akan dihubungkan dengan PORT A dan Keluaran berupa LED akan dihubungkan dengan PORT C. Led dirangkai dengan aktif rendah.

Gambar 4.2. Rangkaian aplikasi pembacaan tombol4.2.1. PEMROGRAMAN PEMBACAAN TOMBOL1Setelah rangkaian tombol dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program pembacaan tombol tunggal.

Program sebagai berikut ini

'--------------------------------------------------------

'Program Bab 5.1 Tombol

'--------------------------------------------------------

'--------------------------------------------------------

'DEKLARASI CRISTAL 12MHz'--------------------------------------------------------

$crystal = 12000000

'--------------------------------------------------------

'DEKLARASI HEADER'--------------------------------------------------------

$regfile = "m8535.dat" 'jika menggunakan ATMEGA8535

'--------------------------------------------------------

'DEKLARASI VARIABEL

'--------------------------------------------------------

Dim Data1 As Byte

'--------------------------------------------------------

'PENDEFINISIAN PIN MIKRO

'--------------------------------------------------------

Config Porta = Input

Config Portc = Output

'--------------------------------------------------------

'rutin utama

'--------------------------------------------------------

Data1 = 1

Do

Data1 = Pina

Portc = Data1

Loop

End'--------------------------------------------------------

4.2.2. PEMROGRAMAN PEMBACAAN TOMBOL 2

Setelah rangkaian tombol dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program pembacaan tombol2.

Program sebagai berikut ini

'--------------------------------------------------------

'Program Bab 5.1 Tombol

'--------------------------------------------------------

'--------------------------------------------------------

'DEKLARASI CRISTAL 12MHz

'--------------------------------------------------------

$crystal = 12000000

'--------------------------------------------------------

'DEKLARASI HEADER

'--------------------------------------------------------

$regfile = "m8535.dat" 'jika menggunakan ATMEGA8535

'--------------------------------------------------------

'DEKLARASI VARIABEL

'--------------------------------------------------------

Dim Data1 As Byte

Dim A As Byte

Dim B As Byte

'--------------------------------------------------------

'DEKLARASI SUB RUTIN

'--------------------------------------------------------

Declare Sub Kiri()

Declare Sub Kanan()

Declare Sub Kedip()

Declare Sub Mati()

'--------------------------------------------------------

'PENDEFINISIAN PIN MIKRO

'--------------------------------------------------------

Config Porta = Input

Config Portc = Output

'--------------------------------------------------------

'rutin utama

'--------------------------------------------------------

Data1 = 1

Do

Data1 = Pina

Select Case Data1

Case 1 : Call Kiri()

Case 2 : Call Kanan()

Case 3 : Call Kedip()

Case Else : Call Mati()

End Select

Loop

End'--------------------------------------------------------

'--------------------------------------------------------

'SUB RUTIN

'--------------------------------------------------------

'--------------------------------------------------------

'SUB RUTIN KIRI

'--------------------------------------------------------

Sub Kiri()

A = 1

For B = 0 To 8

Portc = A

Shift A , Left , 1

Waitms 100 '2

Next

End Sub

'--------------------------------------------------------

'SUB RUTIN KANAN

'--------------------------------------------------------

Sub Kanan()

A = 128

For B=0 To 8

Portc = A

Shift A , Right , 1

Waitms 100 '2

Next

End Sub

'--------------------------------------------------------

'SUB RUTIN KEDIP

'--------------------------------------------------------

Sub Kedip()

For B = 0 To 8

Portc = 0

Waitms 100

Portc = 255

Waitms 100 '2

Next

End Sub

'--------------------------------------------------------

'SUB RUTIN MATI

'--------------------------------------------------------

Sub Mati()

Portc = 00

End Sub

4.3. RANGKAIAN PEMBACAAN KEYPAD DENGAN LEDRangkaian tombol 4x4 adalah rangkaian untuk membaca tombol 4x4 dari port keluaran mikrokontroller. Pada saat penekanan tombol key pad, data dari key pad akan ditampilkan dengan seven segment.

Gambar 4.3. Rangkaian aplikasi tombol keypad dengan led4.3.1. PEMROGRAMAN PEMBACAAN KEYPAD DENGAN LEDSetelah rangkaian tombol 4x4 dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program pembacaan tombol. 4x4.Program sebagai berikut ini

'-------------------------------------------------------

'Program Bab 5.4 Tombol

'-------------------------------------------------------

'-------------------------------------------------------

'DEKLARASI Header'-------------------------------------------------------

$regfile = "8535def.dat"

'-------------------------------------------------------

'DEKLARASI Cristal'-------------------------------------------------------

$crystal = 12000000

'-------------------------------------------------------

'DEKLARASI VARIABEL

'-------------------------------------------------------

Dim Data1 As Integer

Dim B As Byte

Dim A As Byte

'-------------------------------------------------------

'PENDEFINISIAN PIN MIKRO

'-------------------------------------------------------

Config Kbd = Portc

Config Porta = Output

'-------------------------------------------------------

'DEKLARASI SUB RUTIN

'-------------------------------------------------------

Declare Sub Kiri()

Declare Sub Kanan()

Declare Sub Kedip()

Declare Sub Mati()

'-------------------------------------------------------

'rutin utama

'-------------------------------------------------------

Do

Data1 = Getkbd()

Select Case Data1

Case 1 : Call Kiri()

Case 2 : Call Kanan()

Case 3 : Call Kedip()

Case Else : Call Mati()

End Select

Loop

End

'-------------------------------------------------------

'-------------------------------------------------------

'SUB RUTIN

'-------------------------------------------------------

'-------------------------------------------------------

'SUB RUTIN KIRI

'-------------------------------------------------------

Sub Kiri()

A = 1

For B = 0 To 8

Porta = A

Shift A , Left , 1

Waitms 100

Next

End Sub

'-------------------------------------------------------

'SUB RUTIN KANAN

'-------------------------------------------------------

Sub Kanan()

A = 128

For B = 0 To 8

Porta = A

Shift A , Right , 1

Waitms 100

Next

End Sub

'-------------------------------------------------------

'SUB RUTIN KEDIP

'-------------------------------------------------------

Sub Kedip()

For B = 0 To 8

Porta = 0

Waitms 100

Porta = 255

Waitms 100

Next

End Sub

'-------------------------------------------------------

'SUB RUTIN MATI

'-------------------------------------------------------

Sub Mati()

Porta = 00

End Sub