Books

17

Click here to load reader

description

Documents

Transcript of Books

Page 1: Books

BAB I

PENDAHULUAN

1.1. Tujuan PercobaanAdapun 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

Page 2: Books

· 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

Page 3: Books

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.

Page 4: Books

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 (PortA0…PortA7) merupakan pin input/output dua arah dan pin masukan

ADC.

4. Port B (PortB0…PortB7) merupakan pin input/output dua arah dan pin fungsi

Khusus.

Page 5: Books

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)

PB3

AIN1 (Analog Comparator Negative Input)

OC0 (Timer/Counter0 Output Compare Match Output)

PB2

 AIN0 (Analog Comparator Positive Input)

INT2 (External Interrupt 2 Input)

PB1  T1 (Timer/ Counter1 External Counter Input)

PB0

 T0 T1 (Timer/Counter External Counter Input)

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)

Page 6: Books

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

Page 7: Books

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 IIPERCOBAAN

3.1. Alat dan Bahan

Page 8: Books

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)

{

Page 9: Books

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);

Page 10: Books

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.

Page 11: Books

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);

Page 12: Books

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

Page 13: Books

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 dibuatb. void main(void)> Awal Program Utama

ini harus diperhatikan,,karna ini merupakan kepala awal dalam pembuatan program

c. PORTA=0xFF;Merupakan Settingan untuk penggunaan PORTAJika PORTA=0x00 > ini untuk PORTA berfungsi aktif lowJika 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 program3. 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