You are on page 1of 13

BAB I

PENDAHULUAN

1.1.Tujuan Percobaan
Adapun tujuan dari praktikum ini adalah :
1. Memahami penggunaan mikrokontroler AVR ATMEGA 8535.
2. Membuat aplikasi dari penggnaan AVR ATEGA 8535 berupa running LED kekanan
dan kekiri.
3. Memahami Pembuatan Program Running LED dengang Switch Pada Program
CodeVisionAVR V2.03.4

1.2. Landasan Teori

CodeVisionAVR

CodeVisionAVR adalah C cross-compiler, Integrated Development Environment dan


Automatic Program Generator dirancang bagi keluarga AVR Atmel dari mikrokontroler.
Program ini dirancang untuk dijalankan di bawah sistem operasi Windows XP 95, 98, Me,
NT 4, 2000 dan.

C cross-compiler melaksanakan hampir semua elemen dari bahasa C ANSI,


sebagaimana diizinkan oleh arsitektur AVR, dengan beberapa fitur tambahan untuk
mengambil keuntungan dari kekhususan dari arsitektur AVR dan kebutuhan sistem tertanam.
File COFF dikompilasi objek dapat C source level debug, dengan variabel menonton,
menggunakan Atmel AVR Studio debugger.

Integrated Development Environment (IDE) memiliki built-in Chip AVR In-System


Programmer perangkat lunak yang memungkinkan pengalihan otomatisasi program ke chip
mikrokontroler setelah kompilasi berhasil / perakitan. Di-System Programmer perangkat
lunak ini dirancang untuk bekerja bersama dengan STK500/AVRISP/AVRProg Atmel
(AVR910 aplikasi catatan), Kanda Sistem STK200 +, / 300 Dontronics DT006, Vogel
Elektronik VTEC-ISP, Futurlec JRAVR dan ATCPU/Mega2000 MicroTronics programmer /
pengembangan papan.
Untuk debugging embedded system, yang menggunakan komunikasi serial, IDE
memiliki built-in Terminal.

Selain perpustakaan standar C, compiler C CodeVisionAVR telah mendedikasikan


perpustakaan untuk:

Alfanumerik modul LCD


Philips bus I2C
National Semiconductor LM75 Sensor Suhu
Philips PCF8563, PCF8583, Dallas Semiconductor DS1302 dan DS1307 Jam Real
Time
Dallas Semiconductor 1 Wire protokol
Dallas Semiconductor DS1820/DS18S20 Sensor Suhu
Dallas DS1621 Semikonduktor Thermometer / Thermostat
.Dallas Semikonduktor DS2430 dan DS2433 EEPROMs
SPI
Power manajemen

Delay
.Gray kode konversi

CodeVisionAVR juga berisi CodeWizardAVR Otomatis Program Generator, yang


memungkinkan Anda untuk menulis, dalam hitungan menit, semua kode yang diperlukan
untuk melaksanakan fungsi-fungsi berikut:

Memori eksternal akses setup


Chip reset identifikasi sumber
Input / Output Port inisialisasi
inisialisasi interupsi eksternal
Timer / Counter inisialisasi
Watchdog Timer inisialisasi
UART (USART) inisialisasi dan komunikasi serial interrupt driven buffer

Analog komparator inisialisasi

inisialisasi ADC
SPI Interface inisialisasi
Dua Wire Interface inisialisasi

Bisa Antarmuka inisialisasi


I2C Bus, Suhu LM75 Sensor, DS1621 Thermometer / Thermostat dan PCF8563,
PCF8583,

DS1302, DS1307 Real Time Jam inisialisasi


1 Wire Bus dan DS1820/DS18S20 inisialisasi Sensor Suhu
inisialisasi modul LCD.

PROTEUS

Banyak pengguna CAD mengabaikan menangkap skematik sebagai kejahatan yang


diperlukan dalam proses pembuatan layout PCB tapi kita selalu membantah sudut pandang
ini. Dengan layout PCB kini menawarkan otomatisasi dari kedua penempatan komponen dan
melacak routing, mendapatkan desain ke dalam komputer sering bisa elemen paling
memakan waktu latihan. Dan jika Anda menggunakan rangkaian simulasi untuk
mengembangkan ide-ide Anda, Anda akan menghabiskan lebih banyak waktu bekerja pada
skema.

ISIS telah diciptakan dengan pikiran ini. Hal ini telah berkembang lebih dari dua belas
tahun penelitian dan pengembangan dan telah dibuktikan oleh ribuan pengguna di seluruh
dunia. Kekuatan arsitekturnya telah memungkinkan kami untuk mengintegrasikan simulasi
konvensional berbasis grafik pertama dan sekarang - dengan Proteus VSM - sirkuit simulasi
interaktif ke lingkungan desain. Untuk pertama kalinya adalah mungkin untuk menggambar
rangkaian lengkap untuk micro-controller berbasis sistem dan kemudian menguji secara
interaktif, semua dari dalam bagian yang sama dari perangkat lunak. Sementara itu, ISIS tetap
memiliki sejumlah fitur yang ditujukan untuk desainer PCB, sehingga desain yang sama
dapat diekspor untuk produksi dengan ARES atau perangkat lunak lain PCB layout.

Untuk pengguna pendidikan dan penulis rekayasa, ISIS juga unggul untuk
menghasilkan skema menarik seperti yang Anda lihat dalam majalah-majalah. Ini
memberikan kontrol total gambar tampilan dalam hal lebar garis, isi gaya, warna dan font.
Selain itu, sistem template memungkinkan Anda untuk menentukan 'gaya rumah' dan untuk
menyalin tampilan satu gambar yang lain.

Mikrokontroler

Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran
serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja
mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda
saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda
bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa
pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis
data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik
menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer
didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan
efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut pengendali kecil dimana
sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen
pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta
dikendalikan oleh mikrokontroler ini. Dengan penggunaan mikrokontroler ini maka :

Sistem elektronik akan menjadi lebih ringkas


Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem
adalah perangkat lunak yang mudah dimodifikasi
Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan
CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar
menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler
adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung
beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial,
komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya
hanya menggunakan sistem minimum yang tidak rumit atau kompleks.

Mikrokontroler Atmega8535

Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik ditulis atau
dihapus (Agus Bejo, 2007). Biasanya digunakan untuk pengontrolan otomatis dan
manual pada perangkat elektronika.

Konfigurasi pin ATmega8535 (Data Sheet AVR)

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline

Package). Fungsi dari masing-masing pin Atmega8535 sebagai berikut:

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.

2. GND merupakan pin Ground.

3. Port A (PortA0PortA7) merupakan pin input/output dua arah dan pin masukan

ADC.

4. Port B (PortB0PortB7) merupakan pin input/output dua arah dan pin fungsi

Khusus.
Fungsi khusus Port B

Pin Fungsi Khusus

PB7 SCK (SPI Bus Serial Clock)

PB6 MISO (SPI Bus Master Input/ Slave Output)

PB5 MOSI (SPI Bus Master Output/ Slave Input)

PB4 SS (SPI Slave Select Input)

AIN1 (Analog Comparator Negative Input)

PB3 OC0 (Timer/Counter0 Output Compare Match Output)

AIN0 (Analog Comparator Positive Input)

PB2 INT2 (External Interrupt 2 Input)

PB1 T1 (Timer/ Counter1 External Counter Input)

T0 T1 (Timer/Counter External Counter Input)

PB0 XCK (USART External Clock Input/Output)

Fungsi khusus Port C

Pin Fungsi khusus

PC7 TOSC2 ( Timer Oscillator Pin2)

PC6 TOSC1 ( Timer Oscillator Pin1)

PC5 Input/Output

PC4 Input/Output

PC3 Input/Output

PC2 Input/Output
PC1 SDA ( Two-wire Serial Buas Data Input/Output Line)

PC0 SCL ( Two-wire Serial Buas Clock Line)

Fungsi khusus Port D

Pin Fungsi khusus

PD7 OC2 (Timer/Counter Output Compare Match Output)

PD6 ICP (Timer/Counter1 Input Capture Pin)

PD5 OC1A (Timer/Counter1 Output Compare A Match Output)

PD4 OC1B (Timer/Counter1 Output Compare B Match Output)

PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input)

PD1 TXD (USART Output Pin)

PD0 RXD (USART Input Pin)

5. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

6. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

7. AVCC merupakan pin masukan tegangan untuk ADC.

8. AREFF merupakan pin masukan tegangan referensi ADC.

Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam

pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat semakin

kompak dan bahasa pemrograman juga ikut berubah. Salah satunya adalah mikrokontroler

AVR ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Compute)

dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk

mengeksekusi program.
Selain itu mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal,

EEPROM internal, Timer/Counter, I2C, dll (M.Ary Heryanto, 2008). Sehingga dengan

fasilitas yang lengkap , programmer dan desainer dapat menggunakannya untuk berbagai

aplikasi sistem elektronika seperti robot, otomasi industri, komunikasi, dan aplikasi lainnya.

Gambar 2.7 Mikrokontroler AVR ATmega8535

Bahasa Pemograman Codevision Pada Mikrokontroler AVR Atmega 8535

Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan Atmel

menggunakan software AVR Studio dan CodeVision AVR. AVR Studio merupakan software

khusus untuk bahasa assembly yang mempunyai fungsi sangat lengkap, yaitu digunakan

untuk menulis program, kompilasi, simulasi, dan download program ke IC mikrokontroler.

Sedangkan Codevision AVR merupakan software C-cross compiler, dimana program dapat

ditulis dalam bahasa C. Codevision memiliki IDE (Integrated Development Environment)

yang lengkap, dimana penulisan program, kompiler, link, pembuatan kode mesin (assembler)

dan download program ke chip mikrokontroler AVR dapat dilakukan pada Codevision, selain

itu ada fasilitas terminal, yaitu untuk melakukan komunikasi serial dengan mikrokontroler

yang sudah diprogram.

Proses download program ke IC mikrokontroler AVR dapat menggunakan system download

secara ISP (In-System Programming). In-Sistem Programmable Flash on-chip mengizinkan

memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI

(Heri Andrianto, 2008).


BAB II
PERCOBAAN

3.1.Alat dan Bahan


1 buah PC/Leptop
Program Proteus yang sudah diinstalkan pada PC/Leptop
Program codeVision yang sudah diinstalkan pada PC/Leptop

3.2.Gambar Rangkaian

3.3. Program

#include <mega8535.h>

#include <delay.h>

void main(void)

PORTA=0xFF; // Port A aktif high

DDRA=0xFF; // Port A sebagai output

PORTB=0xFF; // Internal Pull up aktif


DDRC=0x00; //Port c sebagai input

while (1)

if (PINB.0 == 0)

PORTA=0b11111110;

delay_ms(500);

PORTA=0b11111101;

delay_ms(500);

PORTA=0b11111011;

delay_ms(500);

PORTA=0b11110111;

delay_ms(500);

PORTA=0b11101111;

delay_ms(500);

PORTA=0b11011111;

delay_ms(500);

PORTA=0b10111111;

delay_ms(500);

PORTA=0b01111111;

delay_ms(500);

if (PINB.1 == 0)

PORTA=0b01111111;

delay_ms(500);

PORTA=0b10111111;

delay_ms(500);

PORTA=0b11011111;

delay_ms(500);
PORTA=0b11101111;

delay_ms(500);

PORTA=0b11110111;

delay_ms(500);

PORTA=0b11111011;

delay_ms(500);

PORTA=0b11111101;

delay_ms(500);

PORTA=0b11111110;

delay_ms(500);

3.4. Langkah Kerja


1. Instalkan Program Proteus pada PC.
2. Buat rangkaian pada proteus seperti rangkaian diatas.
3. Instalkan program CodeVision pada PC.
4. Pada code wizard, setting PortA sebagai output dan PortB sebagai input.
5. Buat program running LED seperti diatas.
6. Masukkan program pada Proteus lalu klik play maka program akan running ke kiri
jika di tekan switch1 dan running ke kanan jika ditekan switch2.
BAB III

ANALISA
Percobaan ini dengan pemograman AVR untuk menjalankan LED yang jika ditekan
switch1 maka LED akan running ke kiri dan jika ditekan switch2 LED akan running kekanan.
Dan apabila switch aktif keduanya maka led akan berjalan kebawah dan ke atas. Disini kita
menggunakan PortA sebagai output dan PortC sebagai input.

Untuk menjadikan PORTB sebagai input dan mengaktifkan internal pull up dari PORTB
maka kita membuat program seperti berikut:

PORTC=0xFF; // Internal Pull up aktif

DDRC=0x00; //Port b sebagai input

Untuk menjadikan PORTA sebagai output, maka kita membuat program outputnya seperti
berikut:

PORTA=0xFF; // Port A aktif high

DDRA=0xFF; // Port A sebagai output

if (PINC.1 == 0) // jika pinb.1 diberikan logika nol maka led akan running dari
kiri ke kanan.

PORTA=0b01111111;

delay_ms(500);

PORTA=0b10111111;

delay_ms(500);

PORTA=0b11011111;

delay_ms(500);

PORTA=0b11101111;

delay_ms(500);

PORTA=0b11110111;

delay_ms(500);

PORTA=0b11111011;

delay_ms(500);
PORTA=0b11111101;

delay_ms(500);

PORTA=0b11111110;

delay_ms(500);

Jika diberikan logika nol pada PORTB.0 maka bit nol akan bergeser dari kanan ke kiri yang
disimbolkan oleh led. Jika diberikan logika nol pada PORTB.1 maka bit nol akan bergeser
dari kiri kekanan yang disimbolkan oleh LED.

if(PINC.0==0) > Ini prosedur penekanan switch,,,jika PC.0 ditekan maka akan memberikan
logika 0 pada pemrograman, dan akan mengaktifkan prosedure dari program running LED
dibawah ini:

PORTA=0b11111110; > konfigurasi nilai output yang akan ditampilkan pada


LED

delay_ms(1000); > delay sebagai selang waktu pergantian jalannya suatu


pemrograman

PORTA=0b11111101;

delay_ms(1000);

PORTA=0b11111011;

delay_ms(1000);

PORTA=0b11110111;

delay_ms(1000);

PORTA=0b11101111;

delay_ms(1000);

PORTA=0b11011111;

delay_ms(1000);

PORTA=0b10111111;

delay_ms(1000);

PORTA=0b01111111;

delay_ms(1000);
BAB IV

PENUTUP

4.1. Kesimpulan

Dari analisa diatas dapat disimpulkan hal-hal sebagai berikut:

1. Mikrokontroler AVR ATMEGA 8535 mempunyai 4 buah port yang bisa digunakan
sebagai input dan output.
2. Pemrograman Menggunakan CodeVisison, hal yang perlu diperhatikan:
a. #include > ini merupakan program konfigurasi untuk pengenalan program yang
akan dibuat
b. void main(void)> Awal Program Utama
ini harus diperhatikan,,karna ini merupakan kepala awal dalam pembuatan
program
c. PORTA=0xFF;
Merupakan Settingan untuk penggunaan PORTA
Jika PORTA=0x00 > ini untuk PORTA berfungsi aktif low
Jika PORTA=0xFF> ini untuk PORTA berfungsi aktif high
d. PINC.0==0 > merupakan program penekanan switch,,yang artinya PINC.0
ditekan maka kontrol diberikan inputan data logika nol (0)
e. Delay_ms > Instruction selang waktu dalam running program
3. Mikrokontroler AVR digunakan sebagai pengontrol dalam sebuah alat dengan bahasa
pemograman C.

4.2 Saran

Periksa kemali program yang telah dibuat (apakah masih error, atau sudah
complete)
Pastikan dimana input dan output pada program dan Implementasi Hardware

You might also like