Senin, 21 Juni 2010

PROSES DOWNLOADING PROGRAM MENGGUNAKAN PONYPORG

PROSES DOWNLOADING PROGRAM

PonyProg2000

Software PonyProg2000 ini adalah software gratis yang berfungsi untuk men-download file hexa ke flash memori ATMega16. Sebenarnya program ini selain untuk jenis AVR ATMega16 dapat untuk jenis Atmel AVR yang lain. Hampir semua jenis AVR Atmel dapat di-download menggunakan software ini.
Berikut langkah-langkah untuk men-download program hexa ke dalam memori flash ATMega16 :
1. Buka Program PonyProg2000 maka akan muncul tampilan sebagai berikut lalu klik OK.
Gambar 1 Tampilan Awal PonyProg2000
2. Apabila pemakaian pertama kali program PonyProg2000 harus dilakukan interface setup. Dengan cara pilih pada menu Setup kemudian pilih pada Interface Setup…
Gambar 2 Membuka interface setup
3. Apabila menggunakan paralel port maka pilihan seperti pada gambar dibawah. Kemudian klik OK.
Gambar 3 Kotak dialog interface setup
4. Pilihan Jenis Mikrokontroler juga harus dilakukan
Gambar 4 Pilihan Mikrokontroler
5. Buka file hexa hasil proses Assembly AVR Studio dengan cara klik menu File kemudian pilih pada Open Device File…. Pilih file dengan ekstensi akhiran .hex

Gambar 5 Membuka file yang akan didownload ke mikrokontroler

6. Setelah file hexa dipilih maka akan jendela PonyProg2000 akan berubah seperti berikut.
Gambar 6 Tampilan program yang akan didownload ke mikrokontroler sudah dalam bahasa hexa

7. Untuk Proses mendownload ke flash memori ATMega16. Pilih Menu Command kemudian klik pada Write All

Gambar 7 Perintah Write untuk men-download ke mikrokontroler

8. Setelah berhasil klik OK. Maka file Hexa telah berhasil di-download ke flash memori ATMega16. Jalankan mikrokontroler.










Security And Configuration Bits

Fuse bits merupakan bit yang mengatur konfigurasi dasar ATMEGA16. ATMEGA16 yang sangat penting apabila setting ini tidak dilakukan maka penggunaaan Timer/Counter atau komunikasi serial USART tidak akan seperti yang diinginkan karena beberapa setting menyangkut pada penggunaan kristal untuk masukan clock. Pengaturan Fuse bits ini dapat diatur melalui Program PonyProg dengan cara pilih menu Command lalu pilih Security and Configuration Bits seperti tampak pada gambar dibawah ini.
Gambar 8 Perintah Write untuk membuka jedela Fuse Bits

Lalu akan muncul jendela seperti dibawah ini
Gambar 9 Jendela Fuse Bits

Pada dasarnya mikrokontroler ATMega16 memiliki dua tipe fuse bits yaitu Fuse High Byte dan Fuse Low Byte.
Fuse High Byte memiliki susunan sebagai berikut :

S8535C
WDTON
SPIEN
CKOPT
EESAVE
BOOTSZ1
BOOTSZ0
BOOTRST

Gambar 10 Fuse High Byte

Bit penyusun Fuse High Byte dapat dijelaskan sebagai berikut :
a. BOOTRST merupakan bit pemilih vektor reset. Nilai awalnya yaitu 1 yang berarti bahwa alamat resetnya berada di alamat 0x0000h. Sedangkan jika bernilai 0 maka alamat resetnya sesuai dengan alamat reset yang ditentukan oleh bit BOOTSZ1 dan BOOTSZ2.
b. BOOTSZ1 dan BOOTSZ1 merupakan bit pemilih ukuran boot sector. Bernilai awal 00 sehingga memberikan ukuran boot sector sebesar 1024 word dengan alamat boot sector pada 0x0C00h.
c. EESAVE merupakan bit pengatur aktivasi penyimpanan data EEPROM secara permanen. Bernilai awal 1 sehingga tidak dilakukan proses penyimpanan data EEPROM secara permanen. Jika bernilai 0 maka pilihan ini diaktifkan.
d. CKOPT merupakan bit pemrograman sumber clock. Bernilai awal 1 sehingga sumber clock berupa osilator internal dengan frekuensi 1MHz. Jika bernilai 0 maka sumber clock berasal dari luar.
e. SPIEN merupakan bit aktivasi pemrograman melalui SPI. Bit ini tidak bisa diprogram dengan perangkat lunak.
f. WDTON merupakan bit pengatur aktivasi Watch Dog Timer. Bernilai awal 1 sehingga Watch Dog Timer aktivasinya dikendalikan melalui register WDTCTR. Jika bernilai 0 maka Watch Dog Timer selalu aktif.
g. S8535C merupakan bit pemilih mode kerja mikrokontroler. Bernilai awal 1 dan jika bernilai 0 maka beberapa fitur yang tidak didukung oleh AT90S8535 akan dimatikan.



Sedangkan Fuse Low Byte memiliki susunan sebagai berikut :
BODLEVEL
BODEN
SUT1
SUT0
CKSEL3
CKSEL2
CKSEL1
CKSEL0

Gambar 11 Fuse Low Byte

Bit penyusun Fuse Low Byte dapat dijelaskan sebagai berikut :
a. CKSEL3, CKSEL2, CKSEL1, CKSEL0 merupakan bit yang berfungsi mengatur pemilihan sumber clock. Saat awal bernilai 0001 sehingga clock berasal dari osilator RC internal. Jika bit CKOPT=0 maka bit-bit ini perlu diprogram sesuai dengan tabel B.1.

Tabel 1 Konfigurasi sumber clock
Sumber Clock
CKSEL3..0
Kristal atau resonator keramik eksternal
1111-1010
Kristal frekuensi rendah
1001
Osilator RC eksternal
1000-0101
Osilator RC internal
0100-0001
Clock eksternal
0000

b. SUT1 dan SUT0 merupakan bit pemilihan waktu start up. Bernilai awal 10 sehingga memberikan waktu start up terbesar yaitu 65 mdetik. Detail konfigurasinya sebagai berikut :
1. Jika bernilai 00 maka tidak ada tunda waktu. Dianjurkan untuk digunakan jika bit BODEN diprogram.
2. Jika bernilai 01 maka tunda waktunya sebesar 41 mdetik.
c. BODEN merupakan bit pengatur aktivasi deteksi tegangan gagal. Bernilai awal 1 sehingga fitur ini tidak diaktifkan. Jika bernilai 0 maka jika tegangan catu daya mikrokontroler melebihi atau kurang dari level tegangan yang diizinkan maka secara otomatis mikrokontroler akan langsung direset.
d. BODLEVEL menentukan level tegangan gagal mikrokontroler. Bernilai awal 1 sehingga level tegangan gagalnya diset pada 4V. Jika bernilai 0 maka level tegangan gagalnya diset 2,7V. Bit ini berfungsi jika bit BODEN diaktifkan.

Untuk melekukan penyetingan klik pada kotak bit, hubungkan mikrokontroler kemudian klik pada Write. Anda juga dapat membaca konfigurasi yng terdapat pada mikrokontroler sebelumnya dengan klik pada Read.
Jadi apabila Anda memakai kristal luar sebesar 11,0592 MHz konfigurasi dari Security and Configuration Bitsnya adalah seperti gambar dibawah ini. Harus diingat kotak yang di beri tanda centang berarti berlogika 0
Gambar 12 Konfigurasi jika menggunakan kristal luar 11,0592 MHz

MENDOWNLOAD PROGRAM KE MIKROKONTROLER AT89S51

MENDOWNLOAD PROGRAM KE MIKROKONTROLER

Untuk proses mendownload program ke mikrokontroler gunakan aecisp programmer.
Untuk bias mendownload program, maka letak program harus sama dengan letak folder dari aecisp.
Proses mendownload adalah:
Buka program aecisp dengan cara double klik program tersebut sehingga tampak seperti berikut







Kemudian melakukan setting terhadap interface dan mikrokontroler yang dipakai dengan menekan tombol J(setup)

Setelah memilih setting yang dipakai maka simpan dengan menekan tombol S(save setup)


Load/ambil program yang ingin di download dengan menekan tombol A(load hex file to flash buffer)



ketikkan nama file.hex yang akan didownload, dan enter


Tampilan flash buffer

Lakukan programming dengan menekan tombol E(program)




Tunggu hingga proses download selesai (100%)


Untuk bias melihat hasil program maka aktifkan reset(reset=low) dengan cara menekan tombol I

MENGINSTAL SDCC VERSION....

MENGINSTAL SDCC VERSION....

Untuk melakukan instalasi SDCC di computer Windows, anda dapat mendownload dari web site SDCC di http://sdcc.sourceforge.net/ dengan kode win32.
Untuk memulai instalasi SDCC, klick ganda file instalasinya, ikuti langkah berikut:
1. Klick ganda pada sdcc-2.7.0-setup.exe Akan muncul tampilan preparing to install seperti gambar berikut.
Gambar 1 Preparing To Install

2. Tunggu sampai Anda masuk tampilan selamat datang seperti Gambar 2.

Gambar 2 Instalation Wizard
3. Klik Next. Anda akan menjumpai tampilan License Agreement seperti Gambar 3:

Gambar 3 License Agreement
4. Klik Next. Anda menjumpai tampilan Choose Start Menu Folder seperti Gambar 4

Gambar 4 Server Information

5. Anda akan masuk ke bagian Choose Components. Lanjutkan proses dengan menekan tombol Next. Lihat Gambar 5

Gambar 5 Setup Type
6. Pilih folder tujuan untuk meletakkan file yang akan anda install. Secara default, folder adalah C:\Program Files\SDCC. Tekan tombol Install untuk proses selanjutnya.

Gambar 6 Choose Install Location
7. Anda akan masuk ke bagian Installing. Tunggu proses Installing. Lihat Gambar 7

Gambar 7 Destination Folder
8. Jika proses instalasi selesai, akan muncul pesan Set Path seperti Gambar 8.

Gambar 8 Instal Completed


9. Jika proses instalasi selesai, akan muncul seperti Gambar 9.

Gambar 9 Instal Completed

MENGINSTAL PROGRAM PONYPROG



MENGINSTAL PROGRAM PONYPROG2000
Untuk memulai instalasi ponyprog, klick ganda file instalasinya, ikuti langkah berikut:
· Klick ganda pada setup.EXE.
· Tunggu sampai Anda masuk tampilan selamat datang seperti Gambar 1
Gambar 1. selamat datang
· Klik Next. Anda akan menjumpai tampilan License Agreement

Gambar 2. License Agreement

· Klik Next. Anda akan menjumpai tampilan Select Destination Directory

Gambar 3. Select Destination Directory
· Klik Next. Anda akan menjumpai tampilan Select Start Menu Folder

Gambar 4. Select Start Menu Folder








· Klik Next. Anda akan menjumpai tampilan Ready to Install

Gambar 5. Ready to Install
· Klik Next. Anda akan menjumpai tampilan Installing

Gambar 6. Installing








· Klik Next. Anda akan menjumpai tampilan Completing the PonyProg2000 Setup Wizard

Gambar 7. Completing the PonyProg2000 Setup Wizard

TUTORIAL CODEVISION CAVR9

PWM ATMEGA16

10.1. PENDAHULUAN
PWM (Pulse Width Modulation) dapat digunakan untuk mengatur kecepatan motor, yaitu dengan cara mengatur lebar pulsa (waktu ON) dari tegangan sumbernya (tegangan DC). Perbandingan antara waktu ON dan waktu OFF disebut duty cycle (siklus kerja). Semakin besar siklus kerjanya, akan semakin besar pula keluaran yang dihasilkan, sehingga kecepatan motor akan semakin besar. Pembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana.
Mikrokontroler AVR ATMEGA16 dapat digunakan sebagai pembangkit gelombang PWM. Mikrokontroler AVR ATMEGA16 mempunyai PWM yang telah terintegrasi dalam chip. Keluaran dari PWM tersebut terdapat pada pin 15 (OC1). Untuk menjalankan program PWM, diperlukan 3 unit register timer, yaitu:
a. Timer/Counter Control Register (TCCR), untuk menentukan mode PWM.
b. Timer/Counter Register (TCNT), digunakan untuk menentukan modulasi frekuensinya.
c. Output Compare Register (OCR), untuk menentukan nilai siklus kerjanya.Dalam mikrokontroler ATMEGA16, terdapat beberapa mode PWM. Mode PWM yang akan dibahas adalah mode Fast PWM, karena dalam perancangan sistem robot ini menggunakan mode Fast PWM. Pada mode Fast PWM, semakin besar nilai OCR, maka akan semakin besar pula siklus kerja yang dihasilkan. Keluaran PWM akan berlogika tinggi setelah nilai TOP tercapai sampai nilai OCR tercapai dan kemudian akan berlogika rendah sampai nilai TOP tercapai kembali.


10.1. RANGKAIAN PWM MIKROKONTROLLER
Rangkaian minimum untuk pwm melalui Port D.4 dan Port D.5 ditunjukan pada Gambar 10.2. Rangkaian tersebut menggunakan diver motor dc yaitu transistor. Rangkaian driver tersebut akan di hubungkan dengan pin D.4 dan pin D.5.
Gambar 10.1. Hasil pemasangan komponen rangkaian minimum untuk pwm

10.2. PEMROGRAMAN PWM MIKROKONTROLLER
Setelah rangkaian dibuat dan dihubungkan dengan port mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk mengatur putaran motor dc.
Program sebagai berikut ini

TUTORIAL CODEVISION CAVR8

ANALOG TO DIGITAL CONVERTER MIKROKONTROLLER

9.1. PENDAHULUAN
Dalam dunia komputer, semua nilai tegangan dijadikan dalam bentuk digital, dan menggunakan sistem bilangan biner. Untuk itu dalam sistem ini, karena output dari sensor suhu berupa tegangan analog, maka diperlukan pengubah tegangan analog ke digital. ADC (Analog to Digital Converter) adalah suatu piranti yang digunakan untuk mengubah isyarat analog ke isyarat digital, rangkaian ini digunakan untuk mengubah isyarat analog dari sensor ke bentuk digital yang nantinya masuk ke komputer.


9.1. RANGKAIAN ADC ATMEGA DENGAN LED
Rangkaian minimum untuk membaca ADC dengan tempilan LED ditunjukan pada Gambar 9.7 yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port D, port D harus dikirim atau diberi logika ‘0’.
Gambar 9.1. Hasil pemasangan komponen ADC LED

9.2. PEMROGRAMAN ADC ATMEGA16
Setelah rangkaian adc mikrokontroller ATMEGA16 dibuat, maka sekarang saatnya Anda membuat program yang digunakan untuk membaca ADC ATMEGA16 dan menampilkan data ADC tersebut dengan menggunakan LED yang terhubung pada PORT D yang konfigurasi rangkaian LED yaitu Common Anode (CA).
Program sebagai berikut ini

TUTORIAL CODEVISION CAVR7

TIMER DAN COUNTER

6.1. PENDAHULUAN
Timer dan Counter merupakan sarana input yang kurang dapat perhatian pemakai mikrokontroler, dengan sarana input ini mikrokontroler dengan mudah bisa dipakai untuk mengukur lebar pulsa, membangkitkan pulsa dengan lebar yang pasti. AVR ATMEGA16 memiliki tiga buah timer, yaitu Timer/Counter0 (8 bit), Timer/Counter1 (16 bit), dan Timer/Counter3 (16 bit).

6.1. RANGKAIAN MENCACAH COUNTER TIMER T0
Rangkaian minimum untuk counter melalui Port B.0 ditunjukan pada Gambar 6.2. Rangkaian tersebut menggunakan penampil led. Konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port D, port D harus dikirim atau diberi logika ‘0’.
Gambar 6.1. Hasil pemasangan komponen-komponen mencacah counter T0

6.3.1. PEMROGRAMAN MENCACAH COUNTER T0
Setelah rangkaian dibuat dan dihubungkan dengan port mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk mencacah. Program cacah menggunakan port B.0 pada mikrokontroller.
Program sebagai berikut ini

6.3.1. PEMROGRAMAN MENCACAH TIMER T0
Setelah rangkaian dibuat dan dihubungkan dengan port mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk mencacah. Program cacah menggunakan timer pada mikrokontroller. Program sebagai berikut ini

6.1. RANGKAIAN MENCACAH COUNTER TIMER T1
Rangkaian minimum untuk counter melalui Port B.1 ditunjukan pada Gambar 6.5. Rangkaian tersebut menggunakan penampil led. Konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port D, port D harus dikirim atau diberi logika ‘0’.
Gambar 6.1. Hasil pemasangan komponen-komponen mencacah counter T1

6.4.1. PEMROGRAMAN MENCACAH COUNTER T1
Setelah rangkaian dibuat dan dihubungkan dengan port mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk mencacah. Program cacah menggunakan port B.1 pada mikrokontroller. Program sebagai berikut ini

6.4.2. PEMROGRAMAN MENCACAH TIMER T1
Setelah rangkaian dibuat dan dihubungkan dengan port mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk mencacah. Program cacah menggunakan timer pada mikrokontroller. Program sebagai berikut ini