belajar mikro

35
PANDUAN PENGGUNAAN TRAINER MIKROKONTROLLER Versi 24092014

Transcript of belajar mikro

PANDUAN PENGGUNAAN

TRAINER MIKROKONTROLLER

Versi 24092014

Spesifikasi Trainer :

Skematik rangkaian Sysmin :

LED di PORT A

Saklar Input di PORTC

0 1 2 3 4

SEVEN SEGMEN DIPORT B

Soket keUSBasp

INSTALASI USBASP

1. Colokkan USBASP ke port USB Laptop2. Jika USBASP anda tidak dikenali, maka anda perlu instal

drivernya3. 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 computerfor 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 PROGRAMMER1. Double klik Installer Khazama2. Klik NextInstal Finish

3. Tampilan Khazama AVR Programmer

Mengecek Sambungan dan rangkaian Mikrokontrol

dengan Software Khazama AVR Programmer1. Pastikan USBASP telah terkoneksi dengan Mikrokontroller dan

laptop dengan benar2. Buka software Khazama AVR Programmer3. 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 untukmenyeleksi 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 Mikrokontroller1. 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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklarwhile(1){ //loopingPORTA=0xff; //menyalakan semua LED di port A delay_ms(50); // tunda waktuPORTA=0x00; //menyalakan semua LED di port Adelay_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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklar

while(1){ //loopingPORTA=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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklarwhile(1){ //loopingPORTA=PINC; //output LED di PORT A = kondisi saklar diPINC}}

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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklar

while(1){ //loopingif (PINC.0==1){ // Jika tombol 00 ditekan makaPORTA=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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklar

while(1){ //loopingif (PINC.0==1){ //jika tombol 00 ditekanPORTA=0b00000001; //led di PORTA.1 akan menyala}else if (PINC.1==1){ //jika tombol 01 ditekanPORTA=0b00000000; //led pada PORTA.1 padam}}}

Latihan 6 :

Aplikasi CounterSemua 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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklar

while(1){ //loopingfor (x=0;x<5;x++){ //jika nilai x dibawah 5while (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 > 5break; //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 nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=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 xdelay_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 tampilanvoid main (void){

DDRA=0xff; //PORT A sebagai OUTPUT ada LED nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmenDDRC=0x00; //PORT C sebagai INPUT ada saklarwhile(1){ //loopingfor (x=0;x<10;x++){ //jika nilai x < 10 maka nilai x akan ditambahPORTB=segmen[x]; //nyala 7 segmen sesuai dengan posisi x pada arraydelay_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}; //arraytampilan

void naik (){ //Program menyalakan 7 segmen Naikfor (x=0;x<10;x++){ //Jika nilai x < 10 maka maka X akan ditambahPORTB=segmen[x]; //tampilan 7 segmen sesuai dengan posisi x pada arraydelay_ms(50); //tunda waktu} } void turun (){ //program menyalakan 7 segmen turunfor (x=10;x>0;x--){ //jika nilai x>0 maka nilai x akan dikurangiPORTB=segmen[x]; //tampilan 7 segmen sesuai posisi x pada arraydelay_ms(50); }} void main (void){DDRA=0xff; //PORT A sebagai OUTPUT ada LED nyaDDRB=0xff; //PORT B sebagai OUTPUT ada 7 segmen

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

while(1){ //loopingif (PINC.0==1){ //jika tombol 00 ditekan maka programvoid naik dijalankan naik ();}else if (PINC.1==1){ //jika tombol 01 ditekan maka programvoid turun dijalankan turun();}else {PORTB=0x00; //jika tidak ada tombol ditekan maka 7 segmen padam}} }