Salam

Jumat, 18 September 2009

Omongane Wong Pinter

Jaga Orang yang Kamu Sayangi saat dia masih disisimu…

Jangan Pernah sia-siakan dia selagi kamu masih bersamanya…

Karna…kamu baru akan menyadari betapa kamu menyayanginya ketika dia telah pergi…





DSC02272.JPGJika Mata adalah Cahaya,maka Hati adalah Permata.

Saat Bahagia Merona,maka Tawa adalah Warna.

Jika senyum adalah Ibadah,maka Persahabatan adalah Anugrah yang Terindah.


IMG_2814.JPGIndahnya[P1] Dunia

Hanya Sementara.

Indahnya Cinta…

Hanya Seketika

Indahnya Mimpi…

Kadang Tak Pasti

Tapi…

Indahnya Persahabatan akan Tetap Abadi Sepanjang akhir Hidup


Omongane Wong Pinter


Jaga Orang yang Kamu Sayangi saat dia masih disisimu…
Jangan Pernah sia-siakan dia selagi kamu masih bersamanya…
Karna…kamu baru akan menyadari betapa kamu menyayanginya ketika dia telah pergi…





DSC02272.JPGJika Mata adalah Cahaya,maka Hati adalah Permata.
Saat Bahagia Merona,maka Tawa adalah Warna.
Jika senyum adalah Ibadah,maka Persahabatan adalah Anugrah yang Terindah.



IMG_2814.JPGIndahnya Dunia
Hanya Sementara.
Indahnya Cinta…
Hanya Seketika
Indahnya Mimpi…
Kadang Tak Pasti
Tapi…
Indahnya Persahabatan akan Tetap Abadi Sepanjang akhir Hidup




Biasakanlah diri anda untuk lebih banyak Berfikir & Berkata-kata tentang Pengalaman yang Menyenangkan dibandingkan Pengalaman yang mendatagkan Duka Nestapa


ATMEGA 8535

Rahmat Riyadi

2AV2/20

Tugas Mikrokontroller

Arsitektur ATMega8535

  • Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D
  • ADC 10 bit sebanyak 8 Channel
  • Tiga buah timer / counter
  • 32 register
  • Watchdog Timer dengan oscilator internal
  • SRAM sebanyak 512 byte
  • Memori Flash sebesar 8 kb
  • Sumber Interrupt internal dan eksternal
  • Port SPI (Serial Pheriperal Interface)
  • EEPROM on board sebanyak 512 byte
  • Komparator analog
  • Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)


Fitur ATMega8535

  • Sistem processor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
  • Ukuran memory flash 8KB, SRAM sebesar 512 byte, EEPROM sebesar 512 byte.
  • ADC internal dengan resolusi 10 bit sebanyak 8 channel
  • Port komunikasi serial USART dengan kecepatan maksimal 2.5 Mbps
  • Mode Sleep untuk penghematan penggunaan daya listrik


Konfigurasi Pin ATMega8535

  • VCC merupakan Pin yang berfungsi sebagai pin masukan catudaya
  • GND merupakan Pin Ground
  • Port A (PA0...PA7) merupakan pin I/O dan pin masukan ADC
  • Port B (PB0...PB7) merupakan pin I/O dan pin yang mempunyai fungsi khusus yaitu Timer/Counter, komparator Analog dan SPI
  • Port C (PC0...PC7) merupakan port I/O dan pin yang mempunyai fungsi khusus, yaitu komparator analog dan Timer Oscillator
  • Port D (PD0...PD1) merupakan port I/O dan pin fungsi khusus yaitu komparator analog dan interrupt eksternal serta komunikasi serial
  • RESET merupakan pin yang digunakan untuk mereset mikrokontroler
  • XTAL1 dan XTAL2 merupakan pin masukan clock eksternal
  • AVCC merupakan pin masukan untuk tegangan ADC
  • AREF merupakan pin masukan tegangan referensi untuk ADC

Keterangan PIN ATMEGA8535

Peta Memory ATMega8535

ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal.

Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel dibawah . Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.

Memori Data AVR ATMega8535

Memori program yang terletak pada Flash Perom tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32bit. AVR ATMega8535 memiliki 4KByte x 16 Bit Flash Perom dengan alamat mulai dari $000 sampai $FFF. AVR tersebut memiliki 12 bit Program Counter (PC) sehingga mampu mengalamati isi Flash.

Memori Program AVR ATMega8535

Selain itu AVR ATmega8535 juga memilki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF.

Status Register

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

Status Register ATMega8535

  • Bit7 --> I (Global Interrupt Enable), Bit harus di Set untuk mengenable semua jenis interupsi.
  • Bit6 --> T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali kesuatu bit dalam register GPR dengan menggunakan instruksi BLD.
  • Bi5 --> H (Half Cary Flag)
  • Bit4 --> S (Sign Bit) merupakan hasil operasi EOR antara flag -N (negatif) dan flag V (komplemen dua overflow).
  • Bit3 --> V (Two's Component Overflow Flag) Bit ini berfungsi untuk mendukung operasi matematis.
  • Bit2 --> N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi matematis menghasilkan bilangan negatif.
  • Bit1 --> Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi matematis menghasilkan bilangan 0.
  • Bit0 --> C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi menghasilkan carry.


Pengarah Assembler

Pengarah assembler berguna untuk mengubah penunjuk kode assembly. Berikut adalah daftar beberapa sintaks pengarah assembler yang terdapat pada ATMega8535.

  1. .cseg (code segment) pengarah ini berguna sebagai penunjuk bahwa kode atau ekspresi dibawahnya diletakkan pada memori program pengarah ini biasanya diletakkan setelah pengarah .deseg
  2. .db (data byte) pengarah ini memungkinkan kita dapat meletakkan konstanta seperti serial number, dan lookup table di memory program pada alamat tertentu.
  3. .dw (data word) pengarah ini seperti data byte, tetapi dalam ukuran word.
  4. .org digunakan untuk mengeset program counter pada alamat tertentu
  5. .byte digunakan untuk inisialisasi besar byte yang digunakan pada SRAM untuk label tertentu
  6. .dseg (data segment) pengarah ini berguna sebagai penunjuk bahwa kode dibawahnya berfungsi untuk melakukan seting SRAM
  7. .def (define) pengarah ini memungkinkan suatu register dapat didefinisikan.
  8. .equ berguna untuk memberi nama suatu konstanta yang tidak dapat berubah.
  9. .set sama seperti .equ tetapi konstantanya dapat diubah.
  10. .endm (end macro) untuk mengakhiri macro.
  11. .include untuk mengincludekan sebuah file kedalam program agar program lebih cepat dimengerti atau memisahkan kedo dalam dua file terpisah.
  12. .device sebagai penunjuk jenis AVR yang digunakan.
  13. .exit sebagai penunjuk agar berhenti melakukan assembly pada file saat ini.
  14. .list berguna membangkitkan file list.
  15. .listmac berguna agar penambahan macro ditampilkan pada file list yang dibangkitkan.
  16. .nolist berguna agar suatu runtun instruksi tidak dimasukkan dalam file list yang dibangkitkan.


Tugas Mikrokontroller

Rahmat Riyadi

2AV2/20

Pengenalan AVR ATMega8535

1. Pengenalan AVR
Perkembangan Teknologi yang semakin maju membuat prodesen mikrokontroler semakin berkembang. Mikrokontroler jenis MCS51 yang sering digunakan berangsur-angsur ditinggalkan karena kebutuhan yang semakin banyak. Mikrokontroler jenis AVR yang sekarang sering digunakan mempunyai perbedaan dengan jenis MCS51. Mkrokontroler jenis AVR mempunyai segudang kelebihan dibandingkan dengan jenis MCS. Mikrokontroler AVR mempunyai arsitektur RISC 8bit, dimana semua instruksi dikemas dalam kode 16 bit dan sebagian besar instruksi dikemas dalam 1 siklus clock, berbeda dengan jenis MCS51 yang membutuhkan 12 siklus clock. Perbedaan tersebut dikarenakan AVR yang berteknologi RISC sedangkan MCS51 yang berteknologi CISC. Secara umum AVR dikelompokkan dalam 4 kelompok umum, yaitu :
a. AT90SXX
b. ATMEGA
c. AT86RFXX
d. Attiny
Pada dasarnya yang membedakan antara keluarga AVR adalah memori, peripheral, dan fungsi. Untuk praktikum kali ini akan dikenalkan dengan ATMEGA8535.
Mikrokontroler ATMEGA8535 mempunyai 40 kaki, diantaranya 32 port I/O yaitu PORTA, PORTB, PORTC, dan PORTD yang masing-masing mempunyai 8 pin I/O. Pada setiap pin memiliki fungsi khusus.

2. Struktur Masing_Masing Port

Deskripsi masing-masing port :
Port A (PA7.. PA0) merupakan port yang digunakan sebagai input ADC (Analog to Digital Converter). jika ADC tidak digunakan maka port A merupakan 8-bit port I/O dua arah. Pada PortA terdapat internal Pull-up resistor. Ketika pin di portA disetting low “0” maka arus akan mengalir jika resistor pull-up internal diaktifkan.

Port B (PB7..PB0) merupakan 8-bit port I/O dua arah. Pada PortB terdapat internal Pull-up resistor. Ketika pin di portB disetting low “0” maka arus akan mengalir jika resistor pull-up internal diaktifkan.

Port C (PC7..PC0) merupakan 8-bit port I/O dua arah. Pada PortC terdapat internal Pull-up resistor. Ketika pin di portC disetting low “0” maka arus akan mengalir jika resistor pull-up internal diaktifkan.

Port D (PD7..PD0) merupakan 8-bit port I/O dua arah. Pada PortD terdapat internal Pull-up resistor. Ketika pin di portD disetting low “0” maka arus akan mengalir jika resistor pull-up internal diaktifkan.

RESET merupakan pin jika diberikan inputan low “0” maka program yang telah dibuat akan kembali dari awal ..

3. Spesifikasi Masing_Masing Port
a. PORTA
v Tabel PORTA:
PORTA Funsi tambahan
PA.0 ADC0 ( input ADC channel 0 )
PA.1 ADC1 ( input ADC channel 1 )
PA.2 ADC2 ( input ADC channel 2 )
PA.3 ADC3 ( input ADC channel 3 )
PA.4 ADC4 ( input ADC channel 4 )
PA.5 ADC5 ( input ADC channel 5 )
PA.6 ADC6 ( input ADC channel 6 )
PA.7 ADC7 ( input ADC channel 7 )

v Fungsi khusus PORTA:
Pada seri AVR ATMEGA8535 ini telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC dapat dikonfigurasi baik secara single ended input maupun differrential input. Selain itu, ADC ATMEGA 8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang sangat dleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dengan ADC itu sendiri.

b. PORTB
v Tabel PORTB :
PORTB Funsi tambahan
PB.0 T0 (Timer/Counter0 External Counter Input)
XCK (USART External Clock Input/Output)
PB.1 T1 (Timer/Counter1 External Counter Input)
PB.2 AIN0 (Analog Comparator Positive Input)
INT2 (External Interrupt 2 Input)
PB.3 AIN1 (Analog Comparator Negative Input)
OC0 (Timer/Counter0 Output Compare Match Output)
PB.4 SS (SPI Slave Select Input)
PB.5 MOSI (SPI Bus Master Output/Slave Input)
PB.6 MISO (SPI Bus Master Input/Slave Output)
PB.7 SCK (SPI Bus Serial Clock)

v Fungsi khusus PORT B:
1. MOSI, MISO, SCK berguna sebagai inputan downloader ISP.
2. T0/T1 sebagai inputan timer atau counter external.
3. AIN0 dan AIN1 sebagai inputan komparator, AIN0 sebagai inputan positif (+) sedangkan AIN1 sebagai inputan (-).
4.

c. PORTC
v Tabel PORTC :
PORTC Funsi tambahan
PC.0 SCL (Two-wire Serial Bus Clock Line)
PC.1 SDA (Two-wire Serial Bus Data Input/Output Line)
PC.2 TCK (JTAG Test Clock)
PC.3 TMS (JTAG Test Mode Select)
PC.4 TDO (JTAG Test Data Out)
PC.5 TDI (JTAG Test Data In)
PC.6 TOSC1 (Timer Oscillator Pin 1)
PC.7 TOSC2 (Timer Oscillator Pin 2)

v Fungsi Khusus PORTC :
1. SCL dan SDA merupakan pin yang dapat berfungsi sebagai mengatur interface serial 2 jalur.
2. TCK merupakan pin yang dapat berfungsi sebagai operasi sinkronisasi dari JTAG ke TCK. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O.
3. TMS merupakan pin yang dapat berfungsi sebagai pengontrol navigasi mesin TAP. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O.
4. TD0 merupakan pin yang dapat berfungsi sebagai output data serial dari data register. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O.
5. TD1 merupakan pin yang dapat berfungsi sebagai input data serial ke register atau data register. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O.
6. TOSC1 dan TOSC2 jika disambungkan dengan kristal dan bit ASR serta bit ASSR diset “1” (high) untuk mengaktifkan asyncronous clocking dari Timer/Counter2 maka pin ini dapat digunakan sebagai inputan penguat amplifier osilator. Dalam keadaan ini pin tidak dapat berfungsi sebagai I/O.

d. PORTD
v Tabel PORTD :
PORTD Funsi tambahan
PD.0 RXD (USART Input Pin)
PD.1 TXD (USART Output Pin)
PD.2 INT0 (External Interrupt 0 Input)
PD.3 INT1 (External Interrupt 1 Input)
PD.4 OC1B (Timer/Counter1 Output Compare B Match Output)
PD.5 OC1A (Timer/Counter1 Output Compare A Match Output)
PD.6 ICP1 (Timer/Counter1 Input Capture Pin)
PD.7 OC2 (Timer/Counter2 Output Compare Match Output)

v Fungsi Khusus PORTD :
1. RXD dan TXD merupakan pin yang digunakan untuk komnikasi serial.
2. INT0 dan INT1 merupakan pin yang digunakan sebagai inputan interupsi eksternal 0 dan inputan interupsi eksternal 1.
3. OC1A dan OC1B merupakan output untuk PWM mode fungsi timer dan OC1A juga berfungsi sebagai output eksternal dari pembanding timer/counter A serta OC1B juga berfungsi sebagai output eksternal dari pembanding timer/counter B.
4. ICP1 merupakan pin yang dapat berfungsi sebagai penampung input timer/ counter 1.
5. OC2 merupakan pin yang dapat berfungsi sebagai output untuk PWM mode fungsi timer dan OC2 juga berfungsi sebagai output eksternal dari pembanding timer/counter.

4. Pemrograman AVR
Mikrokontroler jenis AVR dapat diprogram menggunakan bahasa pemrograman C, visual basic, Assembler,dll. Untuk setiap bahasa pemrograman tersebut digunakan beberapa software yang berbeda. Seperti mikrokontroler jenis MCS dimana bahasa pemrograman assembler digunakan software Topview Simulator, untuk mikrokontroler jenis AVR bahasa pemrograman assembler digunakan software AVR Studio 4 sedangkan jika menggunakan bahasa pemrograman C digunakan CVAVR.





Tugas Mirokontroller

Rahmat Riyadi

2AV2/20

Pendahuluan
Mikrokontroller AVR ATMega8535 merupakan mikrokontroller 40 pin (lihat Gambar 1) buatan Atmell Corporation yang memiliki fasilitas 8K Byte Flash Memori ISP (In-System Programmable), yang membuatnya tidak memerlukan bantuan mC
lain dalam pemrograman, tetapi hanya memerlukan sedikit rangkaian elektronik eksternal saja




Mikrokontroler ini bisa diaktifkan dengan memasukkan sumber tegangan sebesar 4,5 s.d. 5,5 V dc melalui pin VCC (pin 10) dan merangkai kristal osilator pad a pin XTAL1 dan XTAL2 sebagaimana diperlihatkan pada gambar 3 Untuk konfigurasi selengkapnya, bisa dibaca pada buku petunjuk ”AVR ATMega8535”.

Deskripsi singkat dari pin
VCC Input sumber tegangan (+)
GND Ground (-)
Port A (PA7 … PA0) Berfungsi sebagai input analog dari ADC (Analog to Digital Converter). Port ini juga berfungsi sebagai port I/O dua arah, jika ADC tidak digunakan.
Port B (PB7 … PB0) Berfungsi sebagai port I/O dua arah. Port PB5, PB6 dan PB7 juga berfungsi sebagai MOSI, MISO dan SCK yang dipergunakan pada proses downloading. Fungsi lain port ini selengkapnya bisa dibaca pada buku petunjuk ”AVR ATMega8535”.
Port C (PC7 … PC0) Berfungsi sebagai port I/O dua arah. Fungsi lain port ini selengk apnya bisa dibaca pada buku petunjuk ”AVR ATMega8535”.
Port D (PD7 … PD0) Berfungsi sebagai port I/O dua arah. Port PD0 dan PD1 juga berfungsi sebagai RXD dan TXD, yang diper gunakan untuk komunikasi serial. Fungsi lain port ini selengkapnya bisa dibaca pad a buku petunjuk ”AVR ATMega8535”.
RESET Input reset.
XTAL1 Input ke amplifier inverting osilator dan input ke sirkuit clock internal.
XTAL2 Output dari amplifier inverting osilator.
AVCC Input tegangan untuk Port A dan ADC.
AREF Tegangan referensi untuk ADC.

Percoban A.
Pemrograman Mikrokontroller

1. Buka program CV AVR C Compiler
2. Buat project baru dengan mengklik menu File → New, maka akan muncul jendela:





Pilih ”Project” dan klik ”OK”. Akan muncul jendela






Klik ”Yes”, maka akan muncul jendela:


3. Jendela di atas adalah jendela untuk memilih setting mC yang akan diisikan. Ikuti langkah-langkah berikut :
a. Klik Tab Chip. Tentukan jenis Chip C yang digunakan. Dalam praktikum ini adalah ”ATmega8535 ”
b. Masukkan nilai frekuensi ”clock” yan g digunakan. Dalam praktikum ini digunakan frekuensi sebesar 12 MHz.
c. Klik tab Ports. Tab ini untuk menentukan fungsi dari masing-masin g port (Port A s.d. Port D).
d. Klik tab Port D. Untuk praktikum ini digunakan led yang berada pada kaki 20 (Port D.6) sebagai indikator.
e. Klik tulisan In pada Bit 6. Ini akan mengubah nilai menjadi Out, yang berarti pin PD6 akan difungsikan sebagai output.

4. Pada menu, pilih “File” “Generate, Save and Exit”. Maka akan muncul jendela “Save C Compiler Source File”. Beri nama file, misal: “Praktikum1.c” lalu ketik “Save”.

5. Akan muncul jendela “Save C Compiler Project File”. Beri nama file, misal: “Praktikum1.prj” lalu ketik “Save”.

6. Akan muncul jendela “Save : \.....”. Beri nama file, misal: “Praktikum1.cwp” lalu ketik “Save”.

7. Maka akan muncul jendela program yang berisi sintaks sbb.:

This program was produced by the
CodeWizardAVR V1.24.7d Evaluation
Automatic Program Generator
© Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
e-mail:office@hpinfotech.com

Project :
Version :
Date : 10/20/2008
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:

Chip type : ATmega8535
Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 128
*****************************************************/
#include
// Declare your global variables here
void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=0 State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x40;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
{
// Place your code here
};
}

Jendela ini berisi sintaks setting awal mC yang telah kita pilih sebelumnya.

8. Lengkapi sintaks di atas sbb.
a. Di atas fungsi “void main (void)”, tuliskan:
#include //untuk memanggil fungsi penundaan waktu, dan
#define led PORTD.6 //untuk membuat alias
b. Pada struktur “while”, ubah menjadi:
while (1)
{
//Place your code here
delay_ms(500);
led = 1;
delay_ms(500);
led = 0;
};

9. Klik ikon

untuk melakukan kompilasi.

10. Klik ikon

untuk membuat file ”*.hex” yang akan digunakan untuk downloading

Percobaan B
Mendownload Program ke Mikrokontroler

1. Buka program ”PonyProg”. Klik OK, maka akan muncul jendela utama sbb.:

2. Pilih jenis mC yang digunakan (lihat gambar atas). Dalam hal ini adalah ”AVR micro” (2a) dan “ATmega8535” (2b)

3. Pada menu, pilih Setup → Interface Setup. Pilih port yang akan digunalan untuk proses download. Misalnya port Serial, koneksi pada COM2

4. Klik ikon (Configuration and Security bits) maka akan muncul jendela seperti gambar di bawah. Jendela ini akan mengisikan bit konfigurasi dan bit pengaman yang diperlukan untuk mendownload program, sesuai pilihan yang kita berikan. Isi dari konfigurasi ini tergantung dari komponen elektronika yang kita gunakan. Untuk lebih lengkapnya, lihat buku petunjuk ” AVR ATMega8535” . Untuk sementara, isi sesuai dengan yang tertera di gambar. Atau, jika modul mC telah terhubung ke komputer, bisa dilakukan proses membaca konfigurasi yang telah digunakan dengan menekan ”Read”.

Peringatan!! Pengisian/pembacaan konfigurasi ini harus dilakukan dengan benar terlebih dahulu sebelum melakukan pengisian program, karena pengisian nilai yang salah bias mengakibatkan kerusakan pada mC.

5. Klik OK. Maka akan kembali ke jendela utama.

6. Buka file berkestensi ”hex” dengan meng-klik ikon
lihat gambar di bawah). Masukkan file yang diinginkan, misalnya ”Praktikum1.hex” lalu klik ”Open” Maka pada jendela utama akan terisi program berformat hexadesimal sbb :

7. Klik ikon

(lihat panah di atas) untuk mengisikan program ke dalam mC.

8. Amati output yang dihasilkan.