Laporan 2 LED
description
Transcript of Laporan 2 LED
A.JUDUL PERCOBAAN
LED (LIGHT EMITING DIODE) “PUSH BUTTON DAN SAKLAR GESER”.
B.Tujuan Percobaan
1. Membuat program menghidupkan dan mematikan LED.
2. Memahami bagaimana prinsip kerja Push Button dan Saklar Geser.
3. Memahami rangkaian Mikrokontroller untuk menghidupkan dan mematikan
LED dengan Push Button dan Saklar Geser.
C.Teori Dasar
Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu
chip. Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah
terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory),
beberapa port masukan maupun keluaran, dan beberapa peripheral seperti
pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog
converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak
digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC
(Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara
umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu
keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan
masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti
mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri
atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register
kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali
lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori
dalam chip yang sama dengen prosesornya (in chip).
Deskripsi Mikrokontroler ATMega16
VCC (Power Supply) dan GND(Ground)
Port A (PA7..PA0)
NASRULLAH YUSUF_1129040100 | 1
Port A berfungsi sebagai input analog pada konverter A/D. Port A juga
sebagai suatu port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pin
- pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk
masing-masing bit). Port A output buffer mempunyai karakteristik gerakan
simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin
PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah,
pin–pin akan memungkinkan arus sumber jika resistor internal pull-up
diaktifkan. Port A adalah tri-stated manakala suatu kondisi reset menjadi
aktif, sekalipun waktu habis.
Port B (PB7..PB0)
Pin B adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-
up (yang dipilih untuk beberapa bit). Pin B output buffer mempunyai
karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, Pin B yang secara eksternal ditarik rendah akan arus
sumber jika resistor pull-up diaktifkan. Pin B adalah tri-stated manakala suatu
kondisi reset menjadi aktif, sekalipun waktu habis.
Port C (PC7..PC0)
Pin C adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-
up (yang dipilih untuk beberapa bit). Pin C output buffer mempunyai
karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, pin C yang secara eksternal ditarik rendah akan arus
sumber jika resistor pull-up diaktifkan. pin C adalah tri-stated manakala suatu
kondisi reset menjadi aktif, sekalipun waktu habis.
Port D (PD7..PD0)
Pin D adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-
up (yang dipilih untuk beberapa bit). Pin D output buffer mempunyai
karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, pin D yang secara eksternal ditarik rendah akan arus
sumber jika resistor pull-up diaktifkan. Pin D adalah tri-stated manakala suatu
kondisi reset menjadi aktif, sekalipun waktu habis.
NASRULLAH YUSUF_1129040100 | 2
RESET (Reset input)
XTAL1 (Input Oscillator)
XTAL2 (Output Oscillator)
AVCC adalah pin penyedia tegangan untuk Port A dan Konverter A/D
AREF adalah pin referensi analog untuk konverter A/D
Push Button dan Saklar Geser
Swich Push Button adalah salkar tekan yang berfungsi untuk menghubungkan
atau memisahkan bagian – bagian dari suatu instalasi listrik satu sama lain (suatu sistem
saklar tekan push button terdiri dari saklar tekan start. Stop reset dn saklar tekan untuk
emergency. Push button memiliki kontak NC (normally close) dan NO (normally open),
yang mana bentuk fisik jenis push button dapat dilihat pada gambar berikut ini :
Prinsip kerja Push Button adalah apabila dalam keadaan normal tidak ditekan
maka kontaktidak berubah,apabila ditekan maka kontak NC aka berfungsi sebagai stop
(memberhentikan) dan kontak NO akan berfungsi sebagai start (menjalankan) biasanya
digunakan pada sistem pengontrolan motor – motor induksi untuk menjalankan
mematikan motor pada industri – industri. Tipe saklar yang menghubungkan aliran listrik
sesaat saja saat ditekan dan setelah dilepas maka kembali lagi pada posisi off. Saklar tipe
ini banyak digunakan pada rangkaian elektronika yang di kombinasikan dengan rangkaian
pengunci.
Saklar adalah sebuah perangkat yang digunakan untuk memutuskan dan
menghubungkan aliran listrik. Jadi saklar pada dasarnya adalah suatu alat yang dapat
atau berfungsi menghubungkan atau pemutus aliran listrik (arus listrik) baik itu pada
jaringan arus listrik kuat maupun pada jaringan arus listrik lemah.
Yang membedakan saklar arus listrik kuat dan saklar arus listrik lemah adalah
bentuknya kecil jika dipakai untuk alat peralatan elektronika arus lemah, demikian pula
sebaliknya, semakin besar saklar yang digunakan jika aliran listrik semakin kuat. Secara
NASRULLAH YUSUF_1129040100 | 3
sederhana, saklar terdiri dari dua bilah logam yang menempel pada suatu rangkaian, dan
bisa terhubung atau terpisah sesuai dengan keadaan sambung (on) atau putus (off) dalam
rangkaian itu. Material kontak sambungan umumnya dipilih agar supaya tahan terhadap
korosi. Kalau logam yang dipakai terbuat dari bahan oksida biasa, maka saklar akan
sering tidak bekerja. Untuk mengurangi efek korosi ini, paling tidak logam kontaknya
harus disepuh dengan logam anti korosi dan anti karat.
Saklar Geser
Saklar-saklar geser digunakan untuk tujuan-tujuan yang sama dengan penggunaan
saklar toggle, namun jenis ini dioperasikan dengan menggunakan sebuah kenop geser.
Contoh saklar geser seperti yang terlihat pada gambar dibawah ini
D.Langkah Kerja dan Hasil
Gambar Rangkaian LED
Percobaan 1
1. Buka aplikasi BASCOM-AVR
NASRULLAH YUSUF_1129040100 | 4
2. Buat file baru, klik File lalu pilih New (Ctrl+N)
3. Ketikkan Programnya
Flowchartnya :
NASRULLAH YUSUF_1129040100 | 5
4. Simpan program yang telah anda buat, klik File lalu pilih Save (Ctrl S)
5. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
6. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
7. Hasil Program
NASRULLAH YUSUF_1129040100 | 6
Percobaan 2
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
Flowchartnya :
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
NASRULLAH YUSUF_1129040100 | 7
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
7. Hasil Program
Percobaan 3
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
Flowchartnya :
NASRULLAH YUSUF_1129040100 | 8
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
7. Hasil Program
.
Percobaan 4
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 9
Flowchartnya :
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
7. Hasil Program
NASRULLAH YUSUF_1129040100 | 10
E. ANALISA DATA
Percobaan 1
$regfile = “m16def.dat”
Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah
ATMega16.
$crystal = 1000000
Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan
kecepatan eksekusi program.
Config Portb = Output
Pengkonfigurasian bahwa Port B menjadi output
Config Porta = Input
Pengkonfigurasian bahwa Port A menjadi input
Do
Perintah Perulangan, program utama dimulai.
Bitwait Pina.0, Set
Menunggu Inputan untuk mengeset Pina.0.
Set Portb.0
Menyalakan Led yang terhubung dengan PortB.0 => Nilai PortB.0=1
Bitwait Pina.0, Reset
Menunggu Inputan untuk mereset Pina.0.
Reset Portb.0
Mematikan Led yang terhubung dengan PortB.0 => Nilai PortB.0=0.
Loop
Perintah perulangan, ulangi ke awal (mulai dari do).
End
Proses selesai.
NASRULLAH YUSUF_1129040100 | 11
Percobaan 2
$regfile = “m16def.dat”
Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah
ATMega16.
$crystal = 1000000
Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan
kecepatan eksekusi program.
Config Portb = Output
Pengkonfigurasian bahwa Port B menjadi output
Do
Perintah Perulangan, program utama dimulai.
If Pina.0 = 1 then
Jika Pina.0 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak
maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If.
Set Portb.0
Menyalakan Led yang terhubung dengan PortB.0 => Nilai PortB.0=1
End if
Statement untuk instruksi If selesai.
If Pina.1 = 1 Then
Reset Portb.0
Mematikan Led yang terhubung dengan PortB.0 => Nilai PortB.0=0.
End If
Statement untuk instruksi If selesai.
Loop
Perintah perulangan, ulangi ke awal (mulai dari do).
End
Proses selesai.
Percobaan 3
$regfile = “m16def.dat”
Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah
ATMega16.
NASRULLAH YUSUF_1129040100 | 12
$crystal = 1000000
Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan
kecepatan eksekusi program.
Config Portb = Output
Pengkonfigurasian bahwa Port B menjadi output
Do
Perintah Perulangan, program utama dimulai.
Portb = Pinc
Nilai pada Portb sama dengan Portc, jika PortC diset maka PortB juga ikut
terset.
Loop
Perintah perulangan, ulangi ke awal (mulai dari do).
End
Proses selesai.
Percobaan 4
$regfile = “m16def.dat”
Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah
ATMega16.
$crystal = 1000000
Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan
kecepatan eksekusi program.
Config Portb = Output
Pengkonfigurasian bahwa Port B menjadi output
Do
Perintah Perulangan, program utama dimulai.
If Pina.0 = 1 then
Jika Pina.0 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak
maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If.
Set Portb.0
Menyalakan Led yang terhubung dengan PortB.0 => Nilai PortB.0=1
End If
Statement untuk instruksi If selesai.
NASRULLAH YUSUF_1129040100 | 13
If Pina.1 = 1 and Portb.0=1 Then
Jika Pina.0 = 1 dan Portb.0=1 maka statement dibawahnya akan
dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa
mengeksekusi statement If.
Reset Portb.0
Mematikan Led yang terhubung dengan PortB.0 => Nilai PortB.0=0.
Reset Portb.1
Mematikan Led yang terhubung dengan PortB.1 => Nilai PortB.1=0
Bitwait Pina.1, Reset
Menunggu Inputan untuk mereset Pina.1.
Else If Pina.1 = 1 and Portb.0 = 0 Then
Dan Jika Pina.1 = 1 dan Portb.0=0 maka statement dibawahnya akan
dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa
mengeksekusi statement If.
Set Portb1
Menyalakan Led yang terhubung dengan PortB.1 => Nilai PortB.1=1
End If
Statement untuk instruksi If selesai.
Loop
Perintah perulangan, ulangi ke awal (mulai dari do).
End
Proses selesai.
F. KESIMPULAN
Pada praktikum kedua ini kita menggunakan Inputan dari User jadi kita
menambahkan satu Port lagi yang digunakan sebagai Port Input dan satu Port
untuk output. Untuk Inputannya sendiri kita menggunakan Push Button atau
Saklar Geser.
Percobaan 2.1
Pada percobaan 2.1 pertama kita menunggu inputan dari PinA.0 untuk di
Set nilainya. Jika sudah di Set maka PortB.0 juga ikut menyala. Selanjutnya
menunggu inputan dari PinA.0 untuk di Reset nilainya. Jika sudah direset maka
NASRULLAH YUSUF_1129040100 | 14
PortB.0 juga ikut mati. Di program ini digunakan instruksi Do-Loop maka program
akan terus melakukan perulangan.
Percobaan 2.2
Pada percobaan 2.2, pertama kita mengecek kondisi jika PinA.0 = 1
maka statement dilaksanakan yaitu Set PortB.0 jadi LED 1 pada portB menyala,
jika tidak maka instruksi selanjutnya dilaksanakan tanpa mengeksekusi
statement. Instruksi selanjutnya jika PinA.1 = 1 maka statement dilaksanakan
yaitu Reset PortB.0 artinya mematikan LED 1 pada PortB. Di program ini
digunakan instruksi Do-Loop maka program akan terus melakukan perulangan.
Percobaan 2.3
Pada Percobaan 2.3, karena PortB adalah Output dan PortB = Pinc maka
semua nilai yang dimasukkan pada PinC maka hasilnya akan sama pada PortB.
Di program ini digunakan instruksi Do-Loop maka program akan terus melakukan
perulangan.
Percobaan 2.4
Pada percobaan 2.4, pertama dicek Kondisi jika PinA.0 = 1 maka
Statement dilaksanakan yaitu Set PortB.0 jadi LED 1 pada Port B akan menyala.
Jika tidak maka instruksi selanjutnya dilaksanakan tanpa mengeksekusi
statement. Instruksi selanjutnya jika PinA.1 = 1 dan PortB.0 = 1 maka Statement
dilaksanakan yaitu matikan LED 1 dan LED 2 pada PortB kemudian menunggu
inputan untuk me Reset PinA.1. dan Jika PinA.1 = 1 dan PortB.0=0 maka
Statement dilaksanakan yaitu Set PortB.1 jadi LED 2 akan menyala, jika tidak
maka instruksi selanjutnya dilaksanakan tanpa mengeksekusi Statement. Di
program ini digunakan instruksi Do-Loop maka program akan terus melakukan
perulangan.
NASRULLAH YUSUF_1129040100 | 15