Laporan 2 LED

20
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 NASRULLAH YUSUF_1129040100 | 1

description

Microcentroller

Transcript of Laporan 2 LED

Page 1: 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

Page 2: Laporan 2 LED

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

Page 3: Laporan 2 LED

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

Page 4: Laporan 2 LED

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

Page 5: Laporan 2 LED

2. Buat file baru, klik File lalu pilih New (Ctrl+N)

3. Ketikkan Programnya

Flowchartnya :

NASRULLAH YUSUF_1129040100 | 5

Page 6: Laporan 2 LED

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

Page 7: Laporan 2 LED

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

Page 8: Laporan 2 LED

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

Page 9: Laporan 2 LED

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

Page 10: Laporan 2 LED

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

Page 11: Laporan 2 LED

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

Page 12: Laporan 2 LED

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

Page 13: Laporan 2 LED

$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

Page 14: Laporan 2 LED

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

Page 15: Laporan 2 LED

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