aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

19
APLIKASI INPUT OUTPUT DENGAN MIKROKONTROLLER DENGAN BASCOM Tujuan: 1. Mahasiswa dapat mengenal instruksi pemograman microcontroller dengan BASCOM 2. Mahasiswa dapat membuat program input – output dengan menggunakan software BASCOM 3. Mahasiswa dapat membuat program aplikasi menggunakan software BASCOM Materi : Rangkaian dasar dengan Output LED Pemograman dasar Dengan BASCOM Rangkaian minimum untuk menghidupkan 8 LED melalui Port 0 ditunjukan pada Gambar 3.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port 0, port 0 harus dikirim atau diberi logika ‘0’. Jika LED terhubung secara Common Katode, maka untuk menyalakan LED harus dikirim atau diberi logika ‘1’, menyebabkan Port 0 menjadi masukan berimpedansi, sehingga tidak dapat menyalakan LED karena ordenya μA.

Transcript of aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

Page 1: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

APLIKASI INPUT OUTPUT DENGAN MIKROKONTROLLER DENGAN

BASCOM

Tujuan:

1. Mahasiswa dapat mengenal instruksi pemograman

microcontroller dengan BASCOM

2. Mahasiswa dapat membuat program input – output

dengan menggunakan software BASCOM

3. Mahasiswa dapat membuat program aplikasi

menggunakan software BASCOM

Materi :

Rangkaian dasar dengan Output LED

Pemograman dasar Dengan BASCOM

Rangkaian minimum untuk menghidupkan 8 LED melalui Port 0

ditunjukan pada Gambar 3.1. yang perlu diperhatikan adalah

konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk

menghidupkan LED pada Port 0, port 0 harus dikirim atau diberi logika

‘0’. Jika LED terhubung secara Common Katode, maka untuk

menyalakan LED harus dikirim atau diberi logika ‘1’, menyebabkan

Port 0 menjadi masukan berimpedansi, sehingga tidak dapat

menyalakan LED karena ordenya μA.

3.1. RANGKAIAN LAMPU LED

Rangkaian minimum untuk menghidupkan 8 LED melalui Port 0

ditunjukan pada Gambar 3.1. yang perlu diperhatikan adalah

konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk

Page 2: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

menghidupkan LED pada Port 0, port 0 harus dikirim atau diberi logika

‘0’. Jika LED terhubung secara Common Katode, maka untuk

menyalakan LED harus dikirim atau diberi logika ‘1’, menyebabkan

Port 0 menjadi masukan berimpedansi, sehingga tidak dapat

menyalakan LED karena ordenya μA.

C 310u

C 630p

R STR ST

R 24K 7

X1

11 ,0 592MH z

R ESET

R ST

U 1

A T89S 51

9

1819

2930

31

12345678

2122232425262728

1011121314151617

3938373635343332

R ST

XTA L2XTA L1

PSENA LE /PR OG

EA /VPP

P 1 .0P 1 .1P 1 .2P 1 .3P 1 .4P 1 .5P 1 .6P 1 .7

P 2 .0 /A 8P 2 .1 /A 9

P 2 .2 /A 10P 2 .3 /A 11P 2 .4 /A 12P 2 .5 /A 13P 2 .6 /A 14P 2 .7 /A 15

P 3 .0 /R XDP 3 .1 / TXDP 3 .2 / IN T0P 3 .3 / IN T1

P 3 .4 / T0P 3 .5 / T1

P 3 .6 /W RP 3 .7 /R D

P 0 .0 /AD 0P 0 .1 /AD 1P 0 .2 /AD 2P 0 .3 /AD 3P 0 .4 /AD 4P 0 .5 /AD 5P 0 .6 /AD 6P 0 .7 /AD 7

VC C

C 730p

D 3

1N 4002

AC

V C C

Gambar 3.1. Hasil pemasangan komponen LED

3.2. PEMROGRAMAN MENYALAKAN LED

Setelah rangkaian LED dibuat dan dihubungkan dengan port

pararel mikrokontroller, maka sekarang saatnya Anda membuat

program yang digunakan untuk menghidupkan LED tersebut.

Program sebagai berikut ini

Page 3: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

$crystal = 12000000

$regfile = "REG51.DAT"

Dim Data1 As Byte

Do

Data1 = &b0

P0 = Data1

Waitms 1000

Loop

End

3.3. PEMROGRAMAN LED BERKEDIP

Setelah membuat dan menjalankan program menyalakan lampu LED,

maka sekarang saatnya Anda membuat program kedua yang

digunakan untuk menghidupkan LED berkedip.

Program sebagai berikut ini

$crystal = 12000000

$regfile = "REG51.dat"

Dim Data1 As Byte

Dim Data2 As Byte

Data1 = &B11111111

Data2 = &B00000000

Do

P0 = Data1

Waitms 1000

Page 4: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

P0 = Data2

Waitms 1000

Loop

3.4. PEMROGRAMAN LED FLIP FLOP 1

Setelah membuat dan menjalankan program menyalakan lampu

LED berkedip, maka sekarang saatnya Anda membuat program

ketiga yang digunakan untuk menghidupkan LED flip-flop 1.

Program sebagai berikut ini

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

'Program Bab 3.3 LED Flip-Flop

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

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

'DEKLARASI CRISTAL

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

$crystal = 12000000

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

'DEKLARASI HEADER

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

$regfile = "REG51.dat"

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

'DEKLARASI VARIABEL

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

Page 5: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

Dim Data1 As Byte

Dim Data2 As Byte

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

'rutin utama

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

Data1 = &B11110000

Data2 = &B00001111

Do

P1 = Data1

Waitms 1000

P1 = Data2

Waitms 1000

Loop

End

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

'Akhir program

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

3.5. PEMROGRAMAN LED BERJALAN KEKANAN

Setelah membuat dan menjalankan program menyalakan lampu

LED flip-flop, maka sekarang saatnya Anda membuat program yang

digunakan untuk menghidupkan LED berjalan kanan. Program LED

berjalan kekanan ini dijalankan pada hardware nyala led berlogika

Page 6: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

tinggi atau logika 1. jika menggunakan logika rendah maka LED bukan

menyala tetapi akan mati. Program LED berjalan kekanan

menggunakan operasi geser kanan. Operasi geser kiri akan

menggeser bit-bit kekanan sehingga bit 0 akan berpindah ke bit 1 dan

bit 1 akan berpindah ke bit 2 dan seterusnya.

Program sebagai berikut ini

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

'Program Bab 3.4 LED Berjalan

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

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

'DEKLARASI CRISTAL

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

$crystal = 12000000

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

'DEKLARASI HEADER

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

$regfile = "REG51.dat"

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

'DEKLARASI VARIABEL

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

Dim Data1 As Byte

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

'rutin utama

Page 7: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

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

Data1 = 128

Do

Rotate Data1 , Right , 1

P1 = Data1

Waitms 1000

Loop

End

3.6. PEMROGRAMAN LED BERJALAN KEKIRI

Setelah membuat dan menjalankan program menyalakan lampu

LED berjalan kekanan, maka sekarang saatnya Anda membuat

program yang digunakan untuk menghidupkan LED berjalan kekiri.

Program LED berjalan kekanan menggunakan operasi geser kiri.

Operasi geser kiri akan menggeser bit-bit kekanan sehingga bit 7

akan berpindah ke bit 6 dan bit 6 akan berpindah ke bit 5 dan

seterusnya.

Program sebagai berikut ini

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

'Program Bab 3.5 LED Berjalan Kekiri

Page 8: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

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

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

'DEKLARASI CRISTAL 12MHz

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

$crystal = 12000000

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

'DEKLARASI HEADER

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

$regfile = "REG51.dat"

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

'DEKLARASI VARIABEL

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

Dim Data1 As Byte

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

'rutin utama

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

Data1 = 1

Do

Rotate Data1 , Left , 1

P1 = Data1

Waitms 100

Loop

End

Page 9: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

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

'Akhir program

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

3.7. PEMROGRAMAN LED BERJALAN BOLAK-BALIK

Setelah membuat dan menjalankan program menyalakan lampu

LED berjalan menyala kekiri, maka sekarang saatnya Anda membuat

program ketuga yang digunakan untuk menghidupkan LED bolak

balik. Program LED bolak balik menggunakan operasi pernyataan

geser kanan dan geser kiri.

Program sebagai berikut ini

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

'Program Bab 3.6 LED Berjalan Bolak Balik

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

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

'DEKLARASI CRYSTAL

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

$crystal = 12000000

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

'DEKLARASI HEADER

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

Page 10: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

$regfile = "REG51.dat"

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

'DEKLARASI VARIABEL

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

Dim Data1 As Byte

Dim Data2 As Byte

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

'rutin utama

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

Data1 = 1

Do

Do

Rotate Data1 , Left , 1

P1 = Data1

Waitms 1000

Loop Until P1 = 128

Do

Rotate Data1 , Right , 1

P1 = Data1

Waitms 1000

Loop Until P1 = 1

Loop

End

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

Page 11: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

'Akhir program

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

3.8.RANGKAIAN PEMBACAAN 8 TOMBOL 1

Rangkaian pembacaan 8 buah tombol adalah rangkaian untuk

membaca penekanan tombol yang terhubung pada port keluaran

mikrokontroller yang hasilnya tertampil pada led .

Gambar 3.2. Rangkaian aplikasi pembacaan 8 buah tombol 1

Page 12: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

3.8.1. PEMROGRAMAN PEMBACAAN 8 BUAH TOMBOL

Setelah rangkaian tombol dibuat dan dihubungkan dengan port

pararel mikrokontroller, maka sekarang saatnya Anda membuat

program pembacaan tombol.

Program sebagai berikut ini

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

'Program Bab 3.7 Tombol

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

'DEKLARASI CRISTAL 12MHz

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

$crystal = 12000000

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

'DEKLARASI HEADER

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

$regfile = "REG51.dat"

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

'DEKLARASI VARIABEL

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

Dim Data1 As Byte

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

'rutin utama

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

Page 13: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

Data1 = 1

Do

Data1 = P1

P3 = Data1

Loop

End

3.8.2. PEMROGRAMAN PEMBACAAN TOMBOL 2

Setelah rangkaian tombol dibuat dan dihubungkan dengan port

pararel mikrokontroller, maka sekarang saatnya Anda membuat

program pembacaan tombol.

Program sebagai berikut ini

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

'Program Bab 3.8 Tombol

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

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

'DEKLARASI CRISTAL 12MHz

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

$crystal = 12000000

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

'DEKLARASI HEADER

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

$regfile = "REG51.dat"

Page 14: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

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

'DEKLARASI VARIABEL

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

Dim Data1 As Byte

Dim A1 As Byte

Dim B1 As Byte

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

'DEKLARASI SUB RUTIN

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

Declare Sub Kiri()

Declare Sub Kanan()

Declare Sub Kedip()

Declare Sub Mati()

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

'rutin utama

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

Data1 = 1

Do

P1 = 0

Data1 = P1

Select Case Data1

Case 1 : Call Kiri()

Case 2 : Call Kanan()

Case 4 : Call Kedip()

Case Else : Call Mati()

Page 15: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

End Select

Loop

End

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

'SUB RUTIN KIRI

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

Sub Kiri()

A1 = 1

For B1 = 0 To 8

P3 = A1

Shift A1 , Left , 1

Waitms 100

Next

End Sub

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

'SUB RUTIN KANAN

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

Sub Kanan()

A1 = 128

For B1 = 0 To 8

P3 = A1

Shift A1 , Right , 1

Waitms 100

Next

End Sub

Page 16: aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc

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

'SUB RUTIN KEDIP

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

Sub Kedip()

For B1 = 0 To 8

P3 = 0

Waitms 100

P3 = 255

Waitms 100

Next

End Sub

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

'SUB RUTIN MATI

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

Sub Mati()

P3 = 255

End Sub