Arsip untuk Juli, 2012

Programmer ISP ini dapat digunakan baik untuk sistem pemrograman atau  berdiri sendiri SPI programmer untuk perangkat Atmel ISP embeded. Antarmuka pemrograman kompatibel untuk ISP STK200 programmer hardware  sehingga pengguna STK200 juga dapat menggunakan perangkat lunak yang dapat program kedua 8051 dan perangkat seri AVR.

Berikut skematik dan layout PCB :

untuk programnya silahkan download di :

http://www.kmitl.ac.th/~kswichit/IspPgm30a/ISP-Pgm30a.html

SELAMAT MENCOBA !

Support : Support mikrokontroler AVR  ATmega 16, ATmega 8535, ATmega 32

Fitur : 8 kali LED simulasi dan tombol reset
Harga : @ Rp 125.000,-

LED FLIP FLOP ATMEGA8583

Chip type                              : ATmega8583

Program type                    : Application

Clock frequency               : 4.00000 MHz

Memory model                : Small

External SRAM size         : 0

Data Stack size                  : 128

_______________________________________________________

Aplikasi  LED Flip Flop ini digenerate pada AVR ATMEGA8385. Dengan menggunakan CodeVisionAVR kita dapat menggenerate dengan setting sesuai keinginan.

Berikutnya setelah digenerate hasilnya :

#include <mega8583.h>

#include <delay.h>

/* #include merupakan identifikasi macro yang dapat mengurangi beban kerja pemrograman berisi file-file yang dibutuhkan pemrograman*/

// Declare your global variables here

//disinilah adalah tempat untuk inisialisasi variable global

void main(void)

{

/*void merupakan fungsi tanpa nilai balik, melainkan sebuah proses sebelumnya kita melakukan deklarasi/inisialisasi variable local*/

// Declare your local variables here

//tentukan PORT ATMEGA8583 yang aktif sebagai output

// 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=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out

// State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1

PORTD=0xFF;

DDRD=0xFF;

/*disini kita menggunakan PORTD sebagai output jika kita ingin menggantikan PORT output, kita memberikan nilai 0xFF (aktif)*/

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

/*semua inisialisasi secara default ditampilkan oleh generate codevisionAVR, jika tidak diperlukan dapat kita hapus*/

while (1)

{

/*while merupakan fungsi perulangan (loop), yaitu perintah akan melakukan looping jika memenuhi syarat.(1) merupakan persyaratan loop yaitu high*/

// Place your code here

PORTD=0xFF;

delay_ms(1000);

PORTD=0x00;

delay_ms(1000);

/*PORTD=0xFF, berarti seluruh LED 8p aktif, lalu delay 1 detik. PORTD=0x00, LED mati, setelah 1 detik aktif lagi, begitu seterusnya. Delay dapat diganti sesuai dengan keinginan*/

};

}

I. Pendahuluan
Pada praktikum ini, anda akan mencoba memanfaatkan fasilitas komunikasi serial pada mikrokontroler AVR ATmega8535. Modul praktikum sebelumnya adalah membaca nilai tegangan pada LDR untuk ditampilkan ke LCD. Sekarang, nilai hasil konversi tegangan pada LDR dan nilai hasil konversi suhu dari LM35 selain ditampilkan pada LCD juga dikirimkan ke PC secara serial menggunakan protokol RS-232. Inisialisasi ADC dan komunikasi serial dilakukan menggunakan bantuan CodeWizardAVR dan program ditulis dengan bahasa-C.
II. Tujuan
Setelah menyelesaikan praktikum ini, yang anda peroleh adalah :
• dapat mengimplentasikan fungsi masukan analog pada mikrokontroler AVR
sebagai sensor suhu dan sensor cahaya.
• dapat mengimplementasikan fungsi kontrol LCD untuk menampilkan nilai
tegangan yang diterima LDR.
• dapat mengimplementasikan fungsi komukasi serial RS-232 pada mikrokontroler untuk mengirimkan data pada PC.
• dapat mengimplementasikan sebuah sistem monitoring cahaya dan suhu ke PC
pada AVR ATmega8535 dengan pemrograman bahasa-C.
III. Gambaran Disain
Nilai hasil konversi ADC internal pada ATmega8535 yang berasal dari dari LDR
sebagai sensor cahaya ditampilkan pada layar LCD dan juga dikirimkan ke PC secara serial. Data yang diterima oleh PC dapat dilihat menggunakan fasilitas terminal pada CodeVisionAVR. Untuk melakukan inisialisasi ADC dan komunikasi serial dapat dilakukan dengan bantuan CodeWizardAVR. Pada tugas yang akan dikerjakan, anda akan membaca nilai dari LDR sebagai sensor cahaya dan nilai dari LM35 sebagai sensor suhu untuk ditampilkan ke LCD dan dikirim ke PC secara serial secara bergantian. Kemampuan pemrograman bahasa-C sangat diperlukan pada praktikum ini.