27
PANDUAN PENGGUNAAN TRAINER MIKROKONTROLLER Versi 24092014

Modul Belajar Mikrokontroller

Embed Size (px)

DESCRIPTION

Belajar Mikrokontroller

Citation preview

PANDUAN PENGGUNAAN

TRAINER MIKROKONTROLLER

Versi 24092014

Spesifikasi Trainer :

Skematik rangkaian Sysmin :

LED di PORT A

Saklar Input di PORTC

0 1 2 3 4 5 6 7

SEVEN SEGMEN DI

PORT B

Soket ke USBasp

INSTALASI USBASP

1. Colokkan USBASP ke port USB Laptop

2. Jika USBASP anda tidak dikenali, maka anda perlu instal drivernya

3. Buka Device manager laptop anda

4. Instal drivernya dengan cara klik kanan pada tulisan USBasp klik Update Driver

Software

USBASP tidak dikenali

Akan ada tampilan seperti dibawah ini, pilih “Browse my computer for driver software

5. Browse driver USBasp anda lalu klik NEXT

6. Jika Windows scurity mengingatkan klik aja “Instal this driver software anyway”

7. Jika driver sukses di instal akan ada tulisan seperti ini ;

8. Dan di Device manager sudah dikenali

INSTALASI KHAZAMA AVR PROGRAMMER

1. Double klik Installer Khazama

2. Klik NextInstal Finish

3. Tampilan Khazama AVR Programmer

Mengecek Sambungan dan rangkaian Mikrokontrol

dengan Software Khazama AVR Programmer

1. Pastikan USBASP telah terkoneksi dengan Mikrokontroller dan laptop dengan benar

2. Buka software Khazama AVR Programmer

3. Klik Command Read Chip Signature

4. Jika Rangkaian dan penyambungan anda benar, maka akan muncul tulisan seperti

dibawah ini, jika masih ada error silahkan cek kondisi IC Mikro dan penyambungannya

sudah betul belum.

5. IC Mikrokontroller Siap untuk di Program

Membuat Progran di Code Vision

1. Instal Dahulu Software Codevision AVR (CVAVR)

2. Kemudian Buka Program CVAVR Tersebut

3. Tampilan Program CVAVR

4. Klik File New

5. Pilih Project OK

6. Klik Yes

7. Pilih Jenis Chip sesuai dengan IC yang kita pasang, dan ukuran Christalnya

8. Karena IC yang saya gunakan AT mega 16 dan kristal 12 MHz, maka setting saya sebagai

berikut :

9. Kalau sudah Klik File Generate, Save dan exit anda diminta untuk menyimpan file

sebanyak 3 kali dengan ekstensi berbeda-beda (c, prj,cwp). Simpanlah dengan nama

yang sama dan folder yang sama sehingga anda akan lebih mudah mencari file tersebut.

10. Simpan dengan nama “Lat-1.c”

Simpan lagi dengan nama “lat-1.prj”

Simpan lagi dengan nama “Lat-1. cwp”

11. Akan tampil tulisan program banyak, Tekan Ctrl+A untuk menyeleksi semua teks

tersebut, lalu klik DELETE pada keyboard untuk menghapus semua Teks.

12. Ketik Program dibawah ini :

#include <mega16.h>

void main (void){

DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya

DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen

DDRC=0x00; //PORT C sebagai INPUT ada saklar

while(1){ //looping

PORTA=0xff; //menyalakan semua LED di port A

}}

Tulisan setelah tanda // tidak usah di ketik itu adalah komentar saya untuk

memudahkan anda memprogram

Compile Program Anda dengan menekan gambar tanda panah:

Jika program anda error maka anda akan diberitahu oleh program.

Misalnya saya kurang kurung kurawal “}”.. maka saya akan diberitahu

Jika tidak ada error maka tampilannya adalah :

Memasukkan Program kedalam Mikrokontroller

1. Buka Khazama AVR Programmer

Klik Tanda ini

2. Buka file dimana anda menyimpan program CVAVR, pilihlah file yang ber ekstensi “Lat-

1.Hex”

3. Lalu Klik Auto Program

4. Jika ada tampilan seperti ini, berarti program sukses di masukkan kedalam

mikrokontroller

Latihan 1 :

Menyalakan LED FLIP-FLOP

#include <mega16.h> #include <delay.h> void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping PORTA=0xff; //menyalakan semua LED di port A delay_ms(50); // tunda waktu PORTA=0x00; //menyalakan semua LED di port A delay_ms(50); //tunda waktu }}

Latihan 2 :

Menyalakan LED lampu berjalan

#include <mega16.h> #include <delay.h> void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping PORTA=0x01; delay_ms(50); PORTA=0x02; delay_ms(50); PORTA=0x04; delay_ms(50); PORTA=0x08; delay_ms(50); PORTA=0x10; delay_ms(50); PORTA=0x20; delay_ms(50); PORTA=0x40; delay_ms(50); PORTA=0x80; delay_ms(50); }}

Latihan 3 :

Menyalakan LED sesuai dengan tombol yang ditekan

#include <mega16.h> #include <delay.h> void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping PORTA=PINC; //output LED di PORT A = kondisi saklar di PINC }}

Latihan 4 :

Menyalakan LED dengan tombol ON-OFF versi-1

Semua Lampu di PORTA akan menyala semua ketika Tombol 00

ditekan, dan akan mati semua ketika tombol 01 ditekan

#include <mega16.h> #include <delay.h> void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping if (PINC.0==1){ // Jika tombol 00 ditekan maka PORTA=0xff; // semua lampu di PORT A menyala }else if (PINC.1==1){ // jika tombol 01 ditekan maka PORTA=0x00; //semua lampu di PORT A mati }}}

Latihan 5 :

Menyalakan LED dengan tombol ON-OFF versi-2

Lampu 00 di PORT A akan menyala jika tombol 00 ditekan, dan lampu

00 akan mati jika tombol 01 ditekan

#include <mega16.h> #include <delay.h> void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping if (PINC.0==1){ //jika tombol 00 ditekan PORTA=0b00000001; //led di PORTA.1 akan menyala }else if (PINC.1==1){ //jika tombol 01 ditekan PORTA=0b00000000; //led pada PORTA.1 padam }}}

Latihan 6 :

Aplikasi Counter

Semua Lampu di PORT A akan menyala jika tombol 00 ditekan sebanyak 5 kali #include <mega16.h> #include <delay.h> char x; void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping for (x=0;x<5;x++){ //jika nilai x dibawah 5 while (PINC.0==1){ //ketika pin C =1 } while (PINC.0==0){ //dan pinc = 0 } PORTA=0x00; //jalan kan program jika x <5 } PORTA=0xff; //jalankan program jika x > 5 break; //hentikan program }}

Latihan7 :

Menyalakan seven segmen

#include <mega16.h> #include <delay.h> char x; void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping x=50; //tunda waktu di simbolkan dengan x, PORTB=0x30; // untuk ganti delay cukup ganti nilai x delay_ms(x); PORTB=0X5B ; delay_ms(x); PORTB=0X4F ; delay_ms(x); PORTB=0X66 ; delay_ms(x); PORTB=0X6D ; delay_ms(x); PORTB=0X7D ; delay_ms(x); PORTB=0X07 ; delay_ms(x); PORTB=0X7F ; delay_ms(x); PORTB=0X6F ; delay_ms(x); PORTB=0X3F ; delay_ms(x); }}

Latihan 8 :

Menyalakan seven segmen dengan array

#include <mega16.h> #include <delay.h> char x; char segmen [10]={0x30,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x3F}; //array tampilan void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping for (x=0;x<10;x++){ //jika nilai x < 10 maka nilai x akan ditambah PORTB=segmen[x]; //nyala 7 segmen sesuai dengan posisi x pada array delay_ms(50);}} } //tunda waktu

Latihan 9 :

Menyalakan seven segmen naik turun dengan perintah void

Seven segmen akan menghitung keatas jika tombol 00 ditekan.

Seven segmen akan menghitung mundur jika tombol 01 ditekan.

#include <mega16.h> #include <delay.h> char x; char segmen [10]={0x30,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x3F}; //array tampilan void naik (){ //Program menyalakan 7 segmen Naik for (x=0;x<10;x++){ //Jika nilai x < 10 maka maka X akan ditambah PORTB=segmen[x]; //tampilan 7 segmen sesuai dengan posisi x pada array delay_ms(50); //tunda waktu } } void turun (){ //program menyalakan 7 segmen turun for (x=10;x>0;x--){ //jika nilai x>0 maka nilai x akan dikurangi PORTB=segmen[x]; //tampilan 7 segmen sesuai posisi x pada array delay_ms(50); }} void main (void){ DDRA=0xff; //PORT A sebagai OUTPUT ada LED nya DDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen DDRC=0x00; //PORT C sebagai INPUT ada saklar while(1){ //looping if (PINC.0==1){ //jika tombol 00 ditekan maka program void naik dijalankan naik (); }else if (PINC.1==1){ //jika tombol 01 ditekan maka program void turun dijalankan turun(); }else { PORTB=0x00; //jika tidak ada tombol ditekan maka 7 segmen padam } } }

Selamat berkarya...

Terimakasih..

SALAM EDUKASI

Disusun Oleh : ROKHMAD ASTIKA TRIPRASETIA

Phone / wahtsapp : 08157712604