PERCOBAAN I PENGENALAN CODEVISION AVR TUJUAN Memahami cara membuat file project dengan aplikasi CodeVision AVR Memahami cara menggunakan CodeWizzard Memahami cara menampilkan data ke port output Memahami cara membaca data dari port input
PERALATAN Personal Computer Kit MT-01 Program CodeVision AVR
: 1 buah : 1 buah
PROSEDUR Menampilkan Data Ke Port A Percobaan 1. LED ON/OFF Pada percobaan ini, kita akan membuat program untuk menampilkan data 0xFF ke PortA selama 1 detik, kemudian data pada PortA tersebut berubah menjadi 0x00 selama 1 detik berikutnya. Demikian siklus berulang-ulang. Berikut adalah langkah-langkah percobaannya : 1. Jalankan program CodeVisionAVR C Compiler. 2. Pilih Project untuk membuat project baru.
3. Klik Yes untuk menggunakan CodeWizardAVR
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 1 of 7
4. Pada CodeWizardAVR pilih menu Chip dan pilih menu pilihan ATmega8535L serta pilih frekuensi Clock sebesar 11,059200 MHz.
5. Masih pada CodeWizardAVR, pilih menu Ports, kemudian setting Port A sebagai output dengan output value 0.
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 2 of 7
6. Setelah selesai melakukan setting maka klik menu File->Generate, Save and Exit.
7. Simpan File program anda dengan sebuah nama file misalnya Belajar. Kemudian klik Save. File ini akan disimpan dengan extention .c 8. Simpan file project anda dengan nama project misalnya Belajar. Kemudian klik Save. File ini akan disimpan dengan extention .prj. 9. Simpan file CodeWizzardAVR project files anda dengan nama file misalnya Belajar. Kemudian klik Save. File ini akan disimpan dengan extention .cwp. Selanjutnya anda bisa membuat program pada editor yang sudah disediakan.
10. Tambahkan library delay dengan menuliskan #include <delay.h> tepat dibawah #include <mega8535.h>.
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 3 of 7
11. Kemudian ketikkan program berikut ini : while (1) { // Place your code here PORTA=0xFF; delay_ms(1000); PORTA=0x00; delay_ms(1000); }; }
//Keluarkan data 0xFF ke PORTA //Delay 1S //Keluarkan 0x00 ke PORTA //Delay 1S
12. Klik menu Settings->Programmer kemudian pilih jenis chip programmer yang anda gunakan. Pastikan juga setting port komputer sudah benar sesuai dengan koneksi antara komputer dan programmer.
13. Hubungkan Kit MT-LED ke PortA Kit MT-AVR, pastikan koneksi kabelnya benar. Jika sudah benar, nyalakan power supply. 14. Klik menu Project->Configure, kemudian pilih Program the Chip. 15. Perhatian ! Pastikan Chip Programming Options pada pilihan No Protection. Jangan mengubah setting yang lain jika anda belum paham benar fungsi setting tersebut. Setelah selesai klik OK.
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 4 of 7
16. Klik menu Project->Make untuk mengkompilasi program. 17. Jika program anda sudah benar, maka klik Program untuk memulai proses download ke mikrokontroler. Namun jika masih terdapat kesalahan pada program, anda harus memperbaikinya terlebih dahulu. 18. Tunggu hingga proses download selesai.
19. Perhatikan apa yang terjadi pada LED, apakah sesuai dengan yang diinginkan atau belum. Jika masih salah, maka periksa kembali program yang anda buat. Percobaan 2. Data Increment Pada percobaan ini, kita akan membuat program untuk menampilkan data pada PortA yang naik satu persatu (increment) mulai dari 0x00 sampai 0xFF dengan interval 1 detik. Berikut adalah langkahlangkah percobaannya : 1. Buat project baru. Setting CodeWizard sama dengan Percobaan 1. 2. Buat program seperti berikut : #include <mega8535.h> #include <delay.h> // Declare your global variables here void main(void) { .
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 5 of 7
. . while (1) { // Place your code here unsigned char x; x++; PORTA=x; delay_ms(1000); }; }
//Mendefinisikan variable x //x=x+1 kalau ingin dikurangi gunakan x-//Keluarkan x ke PORTA //Delay 1S
3. Compile, download dan perhatikan yang terjadi pada PortA.
Membaca Data Pada Port Percobaan 3. Membaca Data Pada PortB dan Menampilkannya Ke PortA Pada percobaan ini, kita akan membuat program untuk membaca data dari Port B dan menampilkan data tersebut ke PortA. Data pada Port B disimulasikan menggunakan 8 buah toggle switch yang dapat mensimulasikan data dari 0x00 sampai 0xFF. Untuk menampilkan data yang dibaca, maka dipasang 8 buah LED pada Port A. Data yang ditampilkan seharusnya sama dengan data yang dibaca. Berikut adalah langkah-langkah percobaannya : 1. Buat project baru dan lakukan setting pada CodeWizard sebagai berikut :
2. Kemudian buatlah program sebagai berikut : #include <mega8535.h> // Declare your global variables here void main(void) { . . . while (1) {
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 6 of 7
// Place your code here PORTA=PINB; }; }
3. Compile, download dan perhatikan apa yang terjadi pada LED jika kondisi switch diubah. Catatan : Jika proses download gagal, lepaskan dulu koneksi switch dari PortB selama proses download. Percobaan 4. Membaca Data Per Bit Pada PinB Pada percobaan ini, kita akan membuat program untuk membaca data dari PinB.0 dan PinB.1 Jika PinB.0 berlogika 0 maka PortA.0 dan PortA.1 akan berlogika 0. Jika PinB.0 berlogika 1 maka data pada PortA adalah 0xFF. Berikut adalah langkah-langkah percobaannya : 1. Buat project baru. Setting CodeWizard sama dengan Percobaan 3. 2. Buat program seperti berikut : #include <mega8535.h> // Declare your global variables here void main(void) { . . . while (1) { // Place your code here if(PINB.0==0){PORTA.0=0;PORTA.1=0;} if(PINB.1==0)PORTA=0xFF; }; }
3. Compile, download dan cobalah mengubah kondisi PinB.0 dan PinB.1. Perhatikan pengaruhnya pada PortA.
TUGAS 1. Buatlah program untuk membuat LED pada PORTA menyala satu buah, kemudian bergeser kearah kanan dengan selang waktu pergeseran 2 detik. 2. Buatlah program untuk membuat kondisi sebagai berikut : Jika PINB.0 = 0, maka semua LED pada PORTA akan menyala dan padam bergantian dengan selang waktu 500mS. Jika PINB.0 = 1, maka data pada PORTA akan berkurang satu (decrement) mulai dari 0xFF sampai 0x00 dengan selang waktu 500mS.
Praktikum Sistem Mikrokontroler Hendawan Soebhakti
Page 7 of 7