Minggu, 04 Juli 2010
Sabtu, 03 Juli 2010
TUTORIAL BASCOM AVR4
KEYPAD
11.1. PENDAHULUAN Keypad 4x3 di sini adalah sebuah keypad matrix dengan susunan empat baris dan tiga kolom dengan sebuah common. Gambar 11.1. Konstruksi keypad 4x3 dengan common Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom 1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan terhubung ke common dan seterusnya.
Gambar 11.1. Konstruksi keypad 4x3 dengan common Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom 1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan terhubung ke common dan seterusnya.
4.1. RANGKAIAN PEMBACAAN KEYPAD DENGAN 7 SEGMENT
Rangkaian tombol 4x4 adalah rangkaian untuk membaca tombol 4x4 dari port keluaran mikrokontroller. Pada saat penekanan tombol key pad, data dari key pad akan ditampilkan dengan seven segment.
Gambar 4.1. Rangkaian aplikasi tombol 4x4 dengan seven segment
6.3.1. PEMROGRAMAN PEMBACAAN KEYPAD DAN 7 SEGMENT
Setelah rangkaian tombol 4x4 dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program pembacaan tombol. 4x4.
Program sebagai berikut ini
11.1. PENDAHULUAN Keypad 4x3 di sini adalah sebuah keypad matrix dengan susunan empat baris dan tiga kolom dengan sebuah common. Gambar 11.1. Konstruksi keypad 4x3 dengan common Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom 1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan terhubung ke common dan seterusnya.
Gambar 11.1. Konstruksi keypad 4x3 dengan common Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom 1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan terhubung ke common dan seterusnya.
4.1. RANGKAIAN PEMBACAAN KEYPAD DENGAN 7 SEGMENT
Rangkaian tombol 4x4 adalah rangkaian untuk membaca tombol 4x4 dari port keluaran mikrokontroller. Pada saat penekanan tombol key pad, data dari key pad akan ditampilkan dengan seven segment.
Gambar 4.1. Rangkaian aplikasi tombol 4x4 dengan seven segment
6.3.1. PEMROGRAMAN PEMBACAAN KEYPAD DAN 7 SEGMENT
Setelah rangkaian tombol 4x4 dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program pembacaan tombol. 4x4.
Program sebagai berikut ini
TUTORIAL BASCOM AVR3
Aplikasi Seven Segmen dengan Mikrokontroller
3.1. RANGKAIAN SEVEN SEGMENT TUNGGAL 1
Rangkaian seven segment tunggal adalah rangkaian untuk menggerakkan penampil 7 segment secara langsung dari port keluaran mikrokontroller. Penampil seven segment yang digunakan common anoda.
Rangkaian aplikasi penggerak seven segmen tunggal
3.2.1. PEMROGRAMAN SEVENT SEGMENT TUNGGAL 1
3.2.1.1. Program Bab 3.1
Setelah rangkaian seven segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya anda membuat program Bab 3.1. Program ini digunakan untuk menampilkan data 5 dan 7 secara bergantian.
Program sebagai berikut ini
Flowchart
Gambar 3.1. Flowchart Program Bab 4.1
3.1. APLIKASI SEVEN SEGMENT TUNGGAL 2
Rangkaian seven segment tunggal 2 adalah rangkaian untuk menggerakkan penampil 7 segment secara langsung dari port keluaran mikrokontroller dengan data input BCD. Penampil seven segment yang digunakan common anoda.
Gambar 3.2. Rangkaian aplikasi penggerak seven segmen tunggal dengan BCD
3.3.1. Pemrograman Sevent Segment Tunggal 2
3.3.1.1. Program Seven Segment 2_1
Setelah rangkaian seven segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program Seven Segment 1. Program ini digunakan untuk menampilkan data 3 dan 2 secara bergantian.
Program sebagai berikut ini
Flowchart
Gambar 3.3. Flowchart Program Bab 3.3 7-Segment Menyala Tunggal IC 4511
3.2. APLIKASI SEVEN SEGMENT TERMULTIPLEKS
Rangkaian seven segment termultipleks Seven Segment adalah rangkaian untuk menggerakkan 4 buah penampil 7 segment secara langsung dari port keluaran mikrokontroller dengan data input Seven Segment.
Gambar 3.4. Rangkaian aplikasi penggerak seven segmen termultipleks 2
5.4.1. Pemrograman Sevent Segment Termultipleks
5.4.1.1. Program Seven Segment 4_1
Setelah rangkaian sevent segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menampilkan data 1512 dan 4385 pada seven segment.
Program sebagai berikut ini
3.1. RANGKAIAN SEVEN SEGMENT TUNGGAL 1
Rangkaian seven segment tunggal adalah rangkaian untuk menggerakkan penampil 7 segment secara langsung dari port keluaran mikrokontroller. Penampil seven segment yang digunakan common anoda.
Rangkaian aplikasi penggerak seven segmen tunggal
3.2.1. PEMROGRAMAN SEVENT SEGMENT TUNGGAL 1
3.2.1.1. Program Bab 3.1
Setelah rangkaian seven segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya anda membuat program Bab 3.1. Program ini digunakan untuk menampilkan data 5 dan 7 secara bergantian.
Program sebagai berikut ini
Flowchart
Gambar 3.1. Flowchart Program Bab 4.1
3.1. APLIKASI SEVEN SEGMENT TUNGGAL 2
Rangkaian seven segment tunggal 2 adalah rangkaian untuk menggerakkan penampil 7 segment secara langsung dari port keluaran mikrokontroller dengan data input BCD. Penampil seven segment yang digunakan common anoda.
Gambar 3.2. Rangkaian aplikasi penggerak seven segmen tunggal dengan BCD
3.3.1. Pemrograman Sevent Segment Tunggal 2
3.3.1.1. Program Seven Segment 2_1
Setelah rangkaian seven segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program Seven Segment 1. Program ini digunakan untuk menampilkan data 3 dan 2 secara bergantian.
Program sebagai berikut ini
Flowchart
Gambar 3.3. Flowchart Program Bab 3.3 7-Segment Menyala Tunggal IC 4511
3.2. APLIKASI SEVEN SEGMENT TERMULTIPLEKS
Rangkaian seven segment termultipleks Seven Segment adalah rangkaian untuk menggerakkan 4 buah penampil 7 segment secara langsung dari port keluaran mikrokontroller dengan data input Seven Segment.
Gambar 3.4. Rangkaian aplikasi penggerak seven segmen termultipleks 2
5.4.1. Pemrograman Sevent Segment Termultipleks
5.4.1.1. Program Seven Segment 4_1
Setelah rangkaian sevent segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menampilkan data 1512 dan 4385 pada seven segment.
Program sebagai berikut ini
TUTORIAL BASCOM AVR1
APLIKASI LAMPU LED DENGAN MIKROKONTROLLER
2.1. RANGKAIAN LAMPU LED
Rangkaian minimum untuk menghidupkan 8 LED melalui Port C ditunjukan pada Gambar 2.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port C, port C harus dikirim atau diberi logika ‘0’.
2.1. RANGKAIAN LAMPU LED
Rangkaian minimum untuk menghidupkan 8 LED melalui Port C ditunjukan pada Gambar 2.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port C, port C harus dikirim atau diberi logika ‘0’.

Gambar 2.1. Hasil pemasangan komponen rangkaian lampu led
2.2. PEMROGRAMAN MENYALAKAN LED
Setelah rangkaian LED dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED tersebut.
Program sebagai berikut ini
2.2. PEMROGRAMAN MENYALAKAN LED
Setelah rangkaian LED dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED tersebut.
Program sebagai berikut ini

Flowchart

Gambar 2.2. Flowchart program LED menyala
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
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
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
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
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

· 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
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
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
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
TUTORIAL CODEVISION CAVR6
INTERUPSI MIKROKONTROLLER
7.1. PENDAHULUAN
Interupsi adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani interupsi tersebut. Program yang dijalankan pada saat melayani interupsi disebut Interrupt Service Routine.
Pada sistem mikrokontroler yang sedang menjalankan programnya, saat terjadi interupsi , program akan berhenti sesaat, melayani interupsi tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh vektor dari interupsi yang terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh interupsi tadi.
Meskipun memerlukan pengertian yang lebih mendalam, pengetahuan mengenai interupsi sangat membantu mengatasi masalah pemrograman mikroprosesor / mikrokontroler dalam hal menangani banyak peralatan input/output. Pengetahuan mengenai interupsi tidak cukup hanya dibahas secara teori saja, diperlukan contoh program yang konkrit untuk memahami. ATMEGA16 memiliki 21 buah sumber interupsi. Interupsi tersebut bekerja jika bit I pada Register status atau Status Register (SREG) dan bit pada masing-masing register bernilai 1.
7.1. RANGKAIAN INTERUPSI EKTERNAL
Rangkaian berikut digunakan untuk interupsi ekternal mikrokontroller. Rangkaian tersebut menggunakan interupsi eksternal 0, 1, dan 2 yang menggunakan tampilan LED yang dihubungkan pada Port A.
7.3.1. PEMROGRAMAN INTERUPSI EKTERNAL INT0
Setelah membuat rangkaian interupsi ekternal untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi external 0. Program sebagai berikut ini
7.3.1. PEMROGRAMAN INTERUPSI EKTERNAL INT1
Setelah membuat rangkaian interupsi ekternal int 1, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi external int1Program sebagai berikut ini
7.1. RANGKAIAN INTERUPSI TIMER MIKROKONTROLLER
Rangkaian berikut digunakan untuk interupsi ekternal mikrokontroller. Rangkaian tersebut menggunakan interupsi timer 0 dan 1 yang menggunakan tampilan LED yang dihubungkan pada Port D.
Gambar 7.1. Rangkaian interupsi timer mikrokontroller
7.4.1. PEMROGRAMAN INTERUPSI TIMER 0
Setelah membuat rangkaian interupsi timer untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi timer 0.
Program sebagai berikut ini
7.4.1. PEMROGRAMAN INTERUPSI TIMER 1
Setelah membuat rangkaian interupsi timer untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi timer 1.
Program sebagai berikut ini
7.4.1. PEMROGRAMAN INTERUPSI TIMER 2
Setelah membuat rangkaian interupsi timer untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi timer 2. Program sebagai berikut ini
7.1. RANGKAIAN INTERUPSI SERIAL
Rangkaian berikut digunakan untuk interupsi serial mikrokontroller. Rangkaian tersebut menggunakan interupsi serial yang menggunakan tampilan LED yang dihubungkan pada Port A.
Gambar 7.1. Rangkaian interupsi serial mikrokontroller
7.5.1. PEMROGRAMAN INTERUPSI SERIAL
Setelah membuat rangkaian interupsi serial untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi serial.
Program sebagai berikut ini
7.1. PENDAHULUAN
Interupsi adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani interupsi tersebut. Program yang dijalankan pada saat melayani interupsi disebut Interrupt Service Routine.
Pada sistem mikrokontroler yang sedang menjalankan programnya, saat terjadi interupsi , program akan berhenti sesaat, melayani interupsi tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh vektor dari interupsi yang terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh interupsi tadi.
Meskipun memerlukan pengertian yang lebih mendalam, pengetahuan mengenai interupsi sangat membantu mengatasi masalah pemrograman mikroprosesor / mikrokontroler dalam hal menangani banyak peralatan input/output. Pengetahuan mengenai interupsi tidak cukup hanya dibahas secara teori saja, diperlukan contoh program yang konkrit untuk memahami. ATMEGA16 memiliki 21 buah sumber interupsi. Interupsi tersebut bekerja jika bit I pada Register status atau Status Register (SREG) dan bit pada masing-masing register bernilai 1.
7.1. RANGKAIAN INTERUPSI EKTERNAL
Rangkaian berikut digunakan untuk interupsi ekternal mikrokontroller. Rangkaian tersebut menggunakan interupsi eksternal 0, 1, dan 2 yang menggunakan tampilan LED yang dihubungkan pada Port A.
7.3.1. PEMROGRAMAN INTERUPSI EKTERNAL INT0
Setelah membuat rangkaian interupsi ekternal untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi external 0. Program sebagai berikut ini
7.3.1. PEMROGRAMAN INTERUPSI EKTERNAL INT1
Setelah membuat rangkaian interupsi ekternal int 1, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi external int1Program sebagai berikut ini
7.1. RANGKAIAN INTERUPSI TIMER MIKROKONTROLLER
Rangkaian berikut digunakan untuk interupsi ekternal mikrokontroller. Rangkaian tersebut menggunakan interupsi timer 0 dan 1 yang menggunakan tampilan LED yang dihubungkan pada Port D.
Gambar 7.1. Rangkaian interupsi timer mikrokontroller
7.4.1. PEMROGRAMAN INTERUPSI TIMER 0
Setelah membuat rangkaian interupsi timer untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi timer 0.
Program sebagai berikut ini
7.4.1. PEMROGRAMAN INTERUPSI TIMER 1
Setelah membuat rangkaian interupsi timer untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi timer 1.
Program sebagai berikut ini
7.4.1. PEMROGRAMAN INTERUPSI TIMER 2
Setelah membuat rangkaian interupsi timer untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi timer 2. Program sebagai berikut ini
7.1. RANGKAIAN INTERUPSI SERIAL
Rangkaian berikut digunakan untuk interupsi serial mikrokontroller. Rangkaian tersebut menggunakan interupsi serial yang menggunakan tampilan LED yang dihubungkan pada Port A.
Gambar 7.1. Rangkaian interupsi serial mikrokontroller
7.5.1. PEMROGRAMAN INTERUPSI SERIAL
Setelah membuat rangkaian interupsi serial untuk menghidupkan LED, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED dengan menggunakan interupsi serial.
Program sebagai berikut ini
TUTORIAL CODEVISION CAVR5
SERIAL PORT
5.1. SERIAL PADA ATMEGA16
Universal synchronous dan asynchronous pemancar dan penerima serial adalah suatu alat komunikasi serial sangat fleksibel. Jenis yang utama adalah :
§ Operasi full duplex ( register penerima dan pengirim serial dapat berdiri sendiri )
§ Operasi Asychronous atau synchronous
§ Master atau slave mendapat clock dengan operasi synchronous
§ Pembangkit boud rate dengan resolusi tinggi
§ Dukung frames serial dengan 5, 6, 7, 8 atau 9 Data bit dan 1 atau 2 Stop bit
§ Tahap odd atau even parity dan parity check didukung oleh hardware
§ Pendeteksian data overrun
§ Pendeteksi framing error
§ Pemfilteran gangguan ( noise ) meliputi pendeteksian bit false start dan pendeteksian low pass filter digital
§ Tiga interrupt terdiri dari TX complete, TX data register empty dan RX complete.
§ Mode komunikasi multi-processor
§ Mode komunikasi double speed asynchronous
5.2. INISIALISASI USART
USART harus diinisialisasi sebelum komunikasi manapun dapat berlansung. Proses inisialisasi normalnyaterdiri daripengesetan boud rate, penyetingan frame format dan pengaktifan pengirim atau penerimatergantung pada pemakaian. Untuk interrupt menjalankan operasi USART , global interrupt flag ( penanda ) sebaiknya dibersihkan ( dan interrupt global disable ) ketika inisialisasi dilakukan. Sebelum melakukan inisialisasi ulang dengan mengubah boud rate atau frame format, untuk meyakinkan bahwa tidak ada transmisi berkelanjutan sepanjang peiode register yang diubah.
Flag TXC dapat digunakan untuk mengecek bahwa pemancar telah melengkapi semua pengiriman, dan flag RXC dapat digunakan untuk mengecek bahwa tidak ada data yang tidak terbaca pada buffer penerima. Tercatat bahwa flag TXC harus dibersihkan sebelum tiap transmisi ( sebelum UDR ditulisi ) jika itu semua digunakan untuk tujuan tersebut. USART sederhana inisialisasi kode contoh berikut menunjukan fungsi satu assembly dan satu C itu mempunyai kesamaan dalam kemampuan. Pada contoh tersebit mengasumsikan bahwa operasi asinkron menggunakan metode poling ( tidak ada interrupt enable ) frame format yang tetap. Boud rate diberikan sebagai fungsi parameter.
Untuk kode assembly, parameter boud rate diasumsikan untuk di simpan pada register r16, r17. Ketika menulis fungsi pada register UCSRC, bit URSEL (MSB) harus diset dalam kaitan dengan pembagian penempatan I/O oleh UBRRH dan UCSRC. Lebih mengedepankan inisialisasi rutin dapat dibuat seperti itu meliputi frame format sebagai parameter, disable interrupt dan lain-lain. Bagai manapun juga banyak aplikasi menggunakan seting tetap boud dan register control, dan untuk aplikasi jenis ini dapat ditempatkan secara langsung pada keseluruhan routine, atau dikombinasikan dengan inisialisasi kode untuk modul I/O yang lain.
5.3. RANGKAIAN SERIAL MIKROKONTROLLER
Rangkaian berikut digunakan untuk interfacing Led dengan port serial. Rangkaian tersebut, sebagai konverter dari serial ke pararel. Berikut adalah rangkaian serial led driver yang akan kita hubungkan pada port serial. Rangkaian Led Driver Serial menggunakan Microcontroller ATMEGA16 yang dihubungkan ke port serial dengan menggunakan IC RS232 Rangkaian Serial LED Driver ini akan mendeteksi setiap pengiriman data karakter dari port serial computer.
Gambar 5.1. Hasil pemasangan komponen rangkaian serial mikrokontroller
5.4. PEMROGRAMAN PORT SERIAL MIKROKONTROLLER
5.4.1. PEMROGRAMAN MENGIRIM DATA
Setelah membuat rangkaian serial mikrokontroller dan menghubungkan ke komputer, maka sekarang saatnya Anda membuat program yang digunakan untuk mengirim data serial.
Program sebagai berikut ini
5.4.2. PEMROGRAMAN MENGIRIM DAN MENERIMA DATA
Setelah membuat dan menjalankan program mengirim data serial, maka sekarang saatnya Anda membuat program kedua yang digunakan untuk program mengirim dan menerima data serial.
Program sebagai berikut ini
5.1. SERIAL PADA ATMEGA16
Universal synchronous dan asynchronous pemancar dan penerima serial adalah suatu alat komunikasi serial sangat fleksibel. Jenis yang utama adalah :
§ Operasi full duplex ( register penerima dan pengirim serial dapat berdiri sendiri )
§ Operasi Asychronous atau synchronous
§ Master atau slave mendapat clock dengan operasi synchronous
§ Pembangkit boud rate dengan resolusi tinggi
§ Dukung frames serial dengan 5, 6, 7, 8 atau 9 Data bit dan 1 atau 2 Stop bit
§ Tahap odd atau even parity dan parity check didukung oleh hardware
§ Pendeteksian data overrun
§ Pendeteksi framing error
§ Pemfilteran gangguan ( noise ) meliputi pendeteksian bit false start dan pendeteksian low pass filter digital
§ Tiga interrupt terdiri dari TX complete, TX data register empty dan RX complete.
§ Mode komunikasi multi-processor
§ Mode komunikasi double speed asynchronous
5.2. INISIALISASI USART
USART harus diinisialisasi sebelum komunikasi manapun dapat berlansung. Proses inisialisasi normalnyaterdiri daripengesetan boud rate, penyetingan frame format dan pengaktifan pengirim atau penerimatergantung pada pemakaian. Untuk interrupt menjalankan operasi USART , global interrupt flag ( penanda ) sebaiknya dibersihkan ( dan interrupt global disable ) ketika inisialisasi dilakukan. Sebelum melakukan inisialisasi ulang dengan mengubah boud rate atau frame format, untuk meyakinkan bahwa tidak ada transmisi berkelanjutan sepanjang peiode register yang diubah.
Flag TXC dapat digunakan untuk mengecek bahwa pemancar telah melengkapi semua pengiriman, dan flag RXC dapat digunakan untuk mengecek bahwa tidak ada data yang tidak terbaca pada buffer penerima. Tercatat bahwa flag TXC harus dibersihkan sebelum tiap transmisi ( sebelum UDR ditulisi ) jika itu semua digunakan untuk tujuan tersebut. USART sederhana inisialisasi kode contoh berikut menunjukan fungsi satu assembly dan satu C itu mempunyai kesamaan dalam kemampuan. Pada contoh tersebit mengasumsikan bahwa operasi asinkron menggunakan metode poling ( tidak ada interrupt enable ) frame format yang tetap. Boud rate diberikan sebagai fungsi parameter.
Untuk kode assembly, parameter boud rate diasumsikan untuk di simpan pada register r16, r17. Ketika menulis fungsi pada register UCSRC, bit URSEL (MSB) harus diset dalam kaitan dengan pembagian penempatan I/O oleh UBRRH dan UCSRC. Lebih mengedepankan inisialisasi rutin dapat dibuat seperti itu meliputi frame format sebagai parameter, disable interrupt dan lain-lain. Bagai manapun juga banyak aplikasi menggunakan seting tetap boud dan register control, dan untuk aplikasi jenis ini dapat ditempatkan secara langsung pada keseluruhan routine, atau dikombinasikan dengan inisialisasi kode untuk modul I/O yang lain.
5.3. RANGKAIAN SERIAL MIKROKONTROLLER
Rangkaian berikut digunakan untuk interfacing Led dengan port serial. Rangkaian tersebut, sebagai konverter dari serial ke pararel. Berikut adalah rangkaian serial led driver yang akan kita hubungkan pada port serial. Rangkaian Led Driver Serial menggunakan Microcontroller ATMEGA16 yang dihubungkan ke port serial dengan menggunakan IC RS232 Rangkaian Serial LED Driver ini akan mendeteksi setiap pengiriman data karakter dari port serial computer.
Gambar 5.1. Hasil pemasangan komponen rangkaian serial mikrokontroller
5.4. PEMROGRAMAN PORT SERIAL MIKROKONTROLLER
5.4.1. PEMROGRAMAN MENGIRIM DATA
Setelah membuat rangkaian serial mikrokontroller dan menghubungkan ke komputer, maka sekarang saatnya Anda membuat program yang digunakan untuk mengirim data serial.
Program sebagai berikut ini
5.4.2. PEMROGRAMAN MENGIRIM DAN MENERIMA DATA
Setelah membuat dan menjalankan program mengirim data serial, maka sekarang saatnya Anda membuat program kedua yang digunakan untuk program mengirim dan menerima data serial.
Program sebagai berikut ini
TUTORIAL CODEVISION CAVR4
KEYPAD
11.1. PENDAHULUAN
Keypad 4x3 di sini adalah sebuah keypad matrix dengan susunan empat baris dan tiga kolom dengan sebuah common.
Gambar 11.1. Konstruksi keypad 4x3 dengan common
Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom 1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan terhubung ke common dan seterusnya.
Keypad 4x3 di sini adalah sebuah keypad matrix dengan susunan empat baris dan tiga kolom dengan sebuah common.

Gambar 11.1. Konstruksi keypad 4x3 dengan common
Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom 1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan terhubung ke common dan seterusnya.
11.1. RANGKAIAN PEMBACAAN KEYPAD DENGAN LCD
Rangkaian tombol 4x4 adalah rangkaian untuk membaca tombol 4x4 dari port keluaran mikrokontroller. Pada saat penekanan tombol key pad, data dari key pad akan ditampilkan dengan port serial komputer.

Gambar 11.1. Rangkaian aplikasi tombol keypad dengan lcd
11.2.1. PEMROGRAMAN PEMBACAAN KEYPAD
Setelah rangkaian tombol 4x4 dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program Program pembacaan tombol. 4x4.
Program sebagai berikut ini


TUTORIAL CODEVISION CAVR3
MENYALAKAN SEVEN SEGMENT MULTIPLEKSER
4.1. APLIKASI SEVEN SEGMENT TERMULTIPLEKS 1
Rangkaian seven segment termultipleks Seven Segment adalah rangkaian untuk menggerakkan 4 buah penampil 7 segment secara langsung dari port keluaran mikrokontroller dengan data input Seven Segment.
Gambar 4.1. Rangkaian aplikasi penggerak seven termultipleks 1
4.4.1. Pemrograman Sevent Segment Termultipleks 1
4.4.1.1. Program Seven Segment 3_1
Setelah rangkaian sevent segment dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menampilkan data 1512 dan 4123 pada seven segment.
Program sebagai berikut ini
TUTORIAL CODEVISION CAVR2
MENGAKSES TOMBOL
1.1. RANGKAIAN PEMBACAAN 8 TOMBOL
Rangkaian pembacaan 8 buah tombol adalah rangkaian untuk membaca penekanan tombol yang terhubung pada port keluaran mikrokontroller yang hasilnya tertampil pada led .

Gambar 1.1. Rangkaian aplikasi pembacaan 8 buah tombol
1.5.1. PEMROGRAMAN PEMBACAAN 8 BUAH TOMBOL
Setelah rangkaian tombol dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program pembacaan tombol.
Program sebagai berikut ini
Rangkaian pembacaan 8 buah tombol adalah rangkaian untuk membaca penekanan tombol yang terhubung pada port keluaran mikrokontroller yang hasilnya tertampil pada led .

Gambar 1.1. Rangkaian aplikasi pembacaan 8 buah tombol
1.5.1. PEMROGRAMAN PEMBACAAN 8 BUAH TOMBOL
Setelah rangkaian tombol dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program pembacaan tombol.
Program sebagai berikut ini

TUTORIAL CODEVISION CAVR1
MENGHIDUPKAN LED
1.1. RANGKAIAN LAMPU LED
Rangkaian minimum untuk menghidupkan 8 LED melalui Port B ditunjukan pada Gambar 3.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port B, port B harus dikirim atau diberi logika ‘0’.
1.1. RANGKAIAN LAMPU LED
Rangkaian minimum untuk menghidupkan 8 LED melalui Port B ditunjukan pada Gambar 3.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port B, port B harus dikirim atau diberi logika ‘0’.
Gambar 1.1. Hasil pemasangan komponen rangkaian lampu led
1.2. PEMROGRAMAN MENYALAKAN LED
Setelah rangkaian LED dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED tersebut.
Program sebagai berikut ini
Langganan:
Postingan (Atom)