aplikasi-input-output-dengan-mikrokontroller-dengan-bascom.doc
-
Upload
adnan-ashari -
Category
Documents
-
view
60 -
download
0
Transcript of 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
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
$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
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
'-------------------------------------------------------
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
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
'-------------------------------------------------------
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
'-------------------------------------------------------
'-------------------------------------------------------
'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
'--------------------------------------------------------
'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
'-------------------------------------------------------
$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
'--------------------------------------------------------
'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
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
'--------------------------------------------------------
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"
'--------------------------------------------------------
'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()
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
'--------------------------------------------------------
'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