modulavr 17maret2010 ed
DESCRIPTION
ini berisi tentang AVRTRANSCRIPT
-
PETUNJUK PRAKTIKUM EL-3096
SISTEM MIKROPROSESOR
Laboratorium Dasar Teknik Elektro
SEKOLAHTEKNIKELEKTRODANINFORMATIKA
INSTITUTTEKNOLOGIBANDUNG
2010
-
PETUNJUKPRAKTIKUMSISTEMMIKROPROSESOR
MervinT.Hutabarat
WaskitaAdijarto
HarrySeptanto
LaboratoriumDasarTeknikElektro
SEKOLAHTEKNIKELEKTRODANINFORMATIKA
INSTITUTTEKNOLOGIBANDUNG
2010
-
i
KATAPENGANTAR
Puji dan syukur kami panjatkan pada Tuhan Yang Maha Esa karena rahmatNya telahmemberikankamikesempatanuntukmenyusunPetunjukPraktikumSistemMikroprosesoryangdisesuaikandenganKurikulumProgramStudiTeknikElektrotahun2008ini.Petunjukpraktikum ini mengalami cukup banyak perubahan dibandingkan dengan petunjukpraktikum sejenis sebelumnya. Hal ini dilakukan sejalan dengan rencana Program StudiTeknik Elektro untuk mengupayakan Akreditasi ABET Internasional. Tuntutan pekerjaanmahasiswadalampraktikum ini lebih tinggidenganpengharagaanbebansksyangsesuai.Dalam melaksanakan praktikum ini, mahasiswa dituntut juga untuk menggunakan BukuCatatan Laboratorium dengan pola pencatatan sesuai baku yang berlaku sebagai buktidalam perselisihan terkait pengajuan paten di negara maju guna melatih mahasiswamenjadiengineeryangbaik.
Pada kesempatan ini, kami inginmenyampaikan terima kasih yang besarbesarnya padasemuapihakyangtelahterlibatdalampenyusunanpetunjukpraktikum ini.Secarakhususuntuk anggota Tim Penyusun Petunjuk Praktikum Sistem Mikroprosesor, Mas HarrySeptanto dan Pak Dr. Waskita Adijarto, yang sudah memberikan tenaga, pikiran danwaktunyauntukperbaikanpraktikumdalamProgramStudiTeknikEletroini.Ucapanterimakasih jugadisampaikanuntukdukunganrekanrekanteknisidiLaboratoriumDasarTeknikElektro,PakSuparyanto,PakSandraIrawandanMbakNinaLestari.
Akhir kata, semoga semua usaha yang telah dilakukan berkontribusi pada dihasilkannyalulusanProgramStudiTeknikElektrosebagaiengineerdenganstandarinternasional.
Bandung,Maret2010
TimPenyusunPetunjukPraktikumSistemMikroprosesor
KetuaTim,
Ir.MervinT.Hutabarat,M.Sc.,Ph.D.
-
ii
DAFTARISIKATAPENGANTAR.......................................................................................................................................... i
DAFTARISI..................................................................................................................................................... ii
ATURANUMUMLABORATORIUM................................................................................................................ v
KELENGKAPAN .......................................................................................................................................... v
PERSIAPAN ................................................................................................................................................ v
PERGANTIANJADWAL.............................................................................................................................. vi
SANKSI..................................................................................................................................................... vii
PANDUANUMUMKESELAMATANDANPENGGUNAANPERALATANLABORATORIUM ............................. ix
KESELAMATAN ......................................................................................................................................... ix
PENGGUNAANPERALATANPRAKTIKUM.................................................................................................. x
SANKSI...................................................................................................................................................... xi
MODULI I/ODASAR .................................................................................................................................1
I.A PORTASEBAGAIOUTPUT.............................................................................................................3
TUGASI.A.1 MenjalankanContohProgram......................................................................................3
TUGASI.A.2 ...........................................................................................................................................3
I.B FASILITASDELAYPADAAVRGCC ..................................................................................................3
TUGASI.B.1 MenjalankanContohProgram......................................................................................3
TUGASI.B.2 ...........................................................................................................................................4
TUGASI.B.3 ...........................................................................................................................................4
TUGASI.B.4 ...........................................................................................................................................5
I.C PORTASEBAGAIOUTPUTDANPORTBSEBAGAIINPUT..............................................................5
TUGASI.C.1 ...........................................................................................................................................5
TUGASI.C.2 ...........................................................................................................................................5
MODULII TIMER,COUNTER,INTERRUPTDANEXTERNALINTERRUPT.....................................................7
II.A DELAYDENGANTIMER/COUNTER0 ...........................................................................................10
TUGASII.A.1 MenjalankanContohProgram ...................................................................................10
TUGASII.A.2 ........................................................................................................................................11
II.B EXTERNALCLOCKSEBAGAICOUNTER.........................................................................................11
-
iii
TUGASII.B.1 MenjalankanContohProgram....................................................................................12
TUGASII.B.2 ........................................................................................................................................12
II.C APLIKASIINTERRUPTDENGANTIMER/COUNTER.......................................................................13
TUGASII.C.1 MenjalankanContohProgram....................................................................................13
TUGASII.C.2 ........................................................................................................................................14
II.D EXTERNALINTERRUPT.................................................................................................................14
TUGASII.D.1 MenjalankanContohProgram ...................................................................................14
TUGASII.D.2 ........................................................................................................................................15
MODULIII KOMUNIKASIUSARTDANEVALUASIMODULIIII...............................................................17
III.A MENERIMADATADARIPC..........................................................................................................19
TUGASIII.A.1 MenjalankanContohProgram ..................................................................................19
TUGASIII.A.2 .......................................................................................................................................20
III.B MENGIRIMDATAKEPC...............................................................................................................20
TUGASIII.B.1 MenjalankanContohProgram...................................................................................20
TUGASIII.B.2 .......................................................................................................................................21
III.C PENGIRIMANDANPENERIMAANDATADARIDANKEPC...........................................................21
TUGASIII.C.1 MenjalankanContohProgram...................................................................................21
TUGASIII.C.2 .......................................................................................................................................22
III.D EVALUASIMODULIIII .................................................................................................................22
TUGASIII.D.1 .......................................................................................................................................22
MODULIV SEVENSEGMENT,KEYPADDANLCD...................................................................................25
IV.A SCANNINGSEVENSEGMENT ..................................................................................................28
TUGASIV.A.1 MenjalankanContohProgram ..................................................................................28
TUGASIV.A.2.......................................................................................................................................29
IV.B SCANNINGKEYPAD .....................................................................................................................30
TUGASIV.B.1 MenjalankanContohProgram ..................................................................................30
TUGASIV.B.2 .......................................................................................................................................31
TUGASIV.B.3 .......................................................................................................................................31
IV.C LCD ..............................................................................................................................................32
TUGASIV.C.1 MenjalankanAVRLCDLibDemo...............................................................................32
TUGASIV.C.2 MenjalankanContohProgram ..................................................................................32
TUGASIV.C.3 .......................................................................................................................................34
-
iv
MODULV PERANCANGANAPLIKASI ........................................................................................................37
APENDIKSAPETUNJUKPENGGUNAANWINAVR...................................................................................... A1
APENDIKSBKITPRAKTIKUM......................................................................................................................B1
SISTEMMINIMUMATMEGA8535..........................................................................................................B1
DT51TRAINERBOARD ..........................................................................................................................B2
APENDIKSCKODEASCII .............................................................................................................................C1
-
AturanUmumLaboratorium
v
ATURANUMUMLABORATORIUM
KELENGKAPAN
Setiappraktikanwajibberpakaian lengkap,mengenakancelanapanjang/rok,kemejadanmengenakansepatu.Praktikanwajibmembawakelengkapanberikut:
Modulpraktikum BukuCatatanLaboratorium(BCL) Alattulis(dankalkulator,jikadiperlukan) Nametag KartuPraktikum
PERSIAPAN
SEBELUMPRAKTIKUM
Membacadanmemahamiisimodulpraktikum Mengerjakan halhal yang dapat dikerjakan sebelum praktikum dilaksanakan,
misalnya mengerjakan soal perhitungan, menyalin source code, mengisi KartuPraktikumdll.
MengerjakanTugasPendahuluan Mengisidaftarhadir Mengambil kunci loker dan melengkapi administrasi peminjaman kunci loker
(tukarkandengankartuidentitas:KTM/SIM/KTP)
MASUKLABORATORIUM
PRAKTIKAN dan ASISTEN sudah harus masuk Laboratorium sebelum jam 08.00(praktikumpagi)atausebelumjam13.30(praktikumsiang)waktulaboratorium
Setelah jam 08.00 (praktikum pagi) atau jam 13.30 (praktikum siang) pintulaboratoriumditutup
SELAMAPRAKTIKUM
Perhatikan dan kerjakan setiap percobaan denganwaktu sebaikbaiknya, diawalidengankehadiranpraktikansecaratepatwaktu
KumpulkanKartuPraktikumpadaasisten
-
AturanUmumLaboratorium
vi
DokumentasikanpadaBCL(lihatPetunjukPenggunaanBCL)tentanghalhalpentingterkaitpercobaanyangsedangdilakukan
Praktikan hanya diperbolehkan menggunakan kit dan peralatan praktikum yangsudah disediakan di meja masingmasing, apabila ada kekurangan atau terjadikerusakansilahkanhubungiasistenatauteknisi labdasaruntukmenggantidenganyangbaru
SETELAHPRAKTIKUM
Rapikan kit dan peralatan praktikum serta bersihkan meja praktikum sepertikeadaansemula
PastikanBCLtelahditandatanganiolehasisten Kembalikan kunci loker dan melengkapi administrasi pengembalian kunci loker
(pastikankartuidentitas(KTM/SIM/KTP)diperolehkembali)
Kerjakanlaporan(lihatPanduanPenyusunanLaporan) Kumpulkan laporanpada lemari (sesuainamaasistennya)di ruangLoket,sebelah
ruang Lab Dasar. Waktu pengumpulan paling lambat jam 16.30, hari kerjaberikutnyasetelahpraktikum
PERGANTIANJADWAL
KASUSBIASA
Pertukaranjadwalhanyadapatdilakukanperkelompokdanganmodulyangsama IsiFormPergantianJadwal(dapatdiperolehdilabdasar.ee.itb.ac.id),lalutunjukkan
pada asisten yang bersangkutan, Kordas yang bersangkutan atau TU Lab. Dasaruntukditandatangani
SerahkanFormPergantianJadwalyangsudahditandatanganitadipadaasistensaatpraktikum
KASUSSAKITATAUURUSANMENDESAKPRIBADILAINNYA
Isi Form Pergantian Jadwal dengan melampirkan surat keterangan dokter (bagiyangsakit)atausuratterkaitlainnya
Khususbagiyangsakit,harusmelaporpadakesempatanpertama,yaituketikayangbersangkutanmasukkuliahpertamakalisetelahsehatdenganmenunjukkansuratketerangansakitpadaKordas
FormPergantianJadwaldiserahkanpadaTULab.Dasar Praktikan yang bersangkutan sebelum kesempatan jadwal praktikum selanjutnya
harusmemintajadwalpraktikumpenggantikeKordaspraktikumterkait
-
AturanUmumLaboratorium
vii
KASUSKEPENTINGANMASSAL
Kepentingan massal terjadi jika ada lebih dari 1/3 rombongan praktikan yangtidakdapatmelaksanakanpraktikumpadasatuhariyangsamakarenaalasanyangterkaitkegiatanakademis
Isi FormPergantian Jadwaldan serahkanpadaTU Lab.Dasar secepatnya. JadwalpraktikumpenggantisatuhariituakanditentukankemudianolehKordaspraktikumyangbersangkutan
SANKSI
Pengabaianaturanaturandiatasdapatdikenakansanksisebagaiberikut:
Praktikan yang TERLAMBAT tidak diizinkan mengikuti praktikum dan dinyatakanTIDAKLULUS
Praktikan yang TIDAK MEMBAWA KELENGKAPAN praktikum (Name Tag / BCL /Kartu Praktikum /Modul Praktikum) dikenakan sanksinilai praktikumpercobaanpadaharitersebutsamadenganNOL
SegalabentukkerusakankitatauperalatanpraktikumyangdikarenakankesalahanproseduratauHumanErrorakandikenakansanksiuntukmenggantiseluruhbiayakerusakannya
Praktikan yang mengambil atau memindahkan kit dan peralatan praktikum darimejalainsertatidakmerapikankembalimejapraktikumnyaakandikenakansanksipemotongannilai
PelanggaranakademikberupaCOPYPASTElaporan,tugaspendahuluandanlainnyadinyatakanTIDAKLULUSpraktikumnya
ASISTEN yang BERHALANGAN HADIR harus memberikan kabar minimal seharisebelumpraktikumdanlangsungmencariASISTENPENGGANTI.
ASISTEN yang TERLAMBAT akan diberikan sanksi berupa PEMOTONGAN HONORsesuaidenganketerlambatannya
BATASmaksimumKETERLAMBATANASISTENadalah15MENIT. Jika lebih,asistentidakdiperkenankanmasuklaboratorium
-
PanduanUmumKeselamatandanPenggunaanPeralatanLaboratorium
ix
PANDUANUMUMKESELAMATANDANPENGGUNAANPERALATANLABORATORIUM
KESELAMATAN
Padaprinsipnya,untukmewujudkanpraktikum yang amandiperlukanpartisipasi seluruhpraktikan dan asisten pada praktikum yang bersangkutan. Dengan demikian, kepatuhansetiap praktikan terhadap uraian panduan pada bagian ini akan sangat membantumewujudkanpraktikumyangaman.
BAHAYALISTRIK
Perhatikan dan pelajari tempattempat sumber listrik (stopkontak dan circuitbreaker)dancaramenyalamatikannya.Jikamelihatadakerusakanyangberpotensimenimbulkanbahaya,laporkanpadaasisten
Hindaridaerahataubendayangberpotensimenimbulkanbahaya listrik(sengatanlistrik/strum)secaratidakdisengaja,misalnyakabeljalajalayangterkelupasdll.
Tidakmelakukansesuatuyangdapatmenimbulkanbahaya listrikpadadirisendiriatauoranglain
Keringkanbagiantubuhyangbasahkarena,misalnya,keringatatausisaairwudhu Selaluwaspadaterhadapbahayalistrikpadasetiapaktivitaspraktikum
Kecelakaanakibatbahayalistrikyangseringterjadiadalahtersengataruslistrik.Berikutiniadalahhalhalyangharusdiikutipraktikanjikahalituterjadi:
Janganpanik Matikansemuaperalatanelektronikdansumberlistrikdimejamasingmasingdan
dimejapraktikanyangtersengataruslistrik
Bantupraktikanyangtersengataruslistrikuntukmelepaskandiridarisumberlistrik Beritahukandanmintabantuan asisten,praktikan laindanorangdi sekitar anda
tentangterjadinyakecelakaanakibatbahayalistrik
BAHAYAAPIATAUPANASBERLEBIH
Janganmembawabendabendamudahterbakar(korekapi,gasdll.)kedalamruangpraktikumbilatidakdisyaratkandalammodulpraktikum
-
PanduanUmumKeselamatandanPenggunaanPeralatanLaboratorium
x
Janganmelakukan sesuatuyangdapatmenimbulkanapi,percikanapiataupanasyangberlebihan
Jangan melakukan sesuatu yang dapat menimbulkan bahaya api atau panasberlebihpadadirisendiriatauoranglain
Selalu waspada terhadap bahaya api atau panas berlebih pada setiap aktivitaspraktikum
Berikut ini adalah halhal yang harus diikuti praktikan jikamenghadapi bahaya api ataupanasberlebih:
Janganpanik Beritahukandanmintabantuan asisten,praktikan laindanorangdi sekitar anda
tentangterjadinyabahayaapiataupanasberlebih
Matikansemuaperalatanelektronikdansumberlistrikdimejamasingmasing Menjauhdariruangpraktikum
BAHAYABENDATAJAMDANLOGAM
Dilarangmembawabendatajam(pisau,guntingdansejenisnya)keruangpraktikumbilatidakdiperlukanuntukpelaksanaanpercobaan
Dilarangmemakaiperhiasandarilogammisalnyacincin,kalung,gelangdll. Hindaridaerah,bendaataulogamyangmemilikibagiantajamdandapatmelukai Tidakmelakukansesuatuyangdapatmenimbulkanlukapadadirisendiriatauorang
lain
LAINLAIN
Dilarangmembawamakanandanminumankedalamruangpraktikum
PENGGUNAANPERALATANPRAKTIKUM
Berikutiniadalahpanduanyangharusdipatuhiketikamenggunakanalatalatpraktikum:
Sebelummenggunakanalatalatpraktikum,pahamipetunjukpenggunaanalat itu.Petunjuk penggunaan beberapa alat dapat didownload dihttp://labdasar.ee.itb.ac.id
Perhatikandanpatuhiperingatan(warning)yangbiasaterterapadabadanalat Pahami fungsi atau peruntukan alatalat praktikum dan gunakanlah alatalat
tersebut hanya untuk aktivitas yang sesuai fungsi atau peruntukannya.Menggunakan alat praktikum di luar fungsi atau peruntukannya dapatmenimbulkankerusakanpadaalattersebutdanbahayakeselamatanpraktikan
-
PanduanUmumKeselamatandanPenggunaanPeralatanLaboratorium
xi
Pahami rating dan jangkauan kerja alatalat praktikum dan gunakanlah alatalattersebutsesuairatingdanjangkauankerjanya.Menggunakanalatpraktikumdiluarratingdan jangkauan kerjanyadapatmenimbulkan kerusakanpada alat tersebutdanbahayakeselamatanpraktikan
Pastikan seluruh peralatan praktikum yang digunakan aman dari benda/ logamtajam,api/panasberlebihataulainnyayangdapatmengakibatkankerusakanpadaalattersebut
Tidakmelakukan aktifitas yangdapatmenyebabkan kotor, coretan, goresan atausejenisnyapadabadanalatalatpraktikumyangdigunakan
SANKSI
Pengabaianuraianpanduandiatasdapatdikenakansanksitidaklulusmatakuliahpraktikumyangbersangkutan.
-
ModulI I/ODasar
1
MODULI I/ODASARTUJUAN
PraktikanmemahamidatasheetATMega8535 Praktikan mampu membuat aplikasi input dan output pada AVR dengan
menggunakanbahasapemprogramanCpadaWinAVR
PraktikanmampumengaturfuseAVRdenganAVRDude
KONFIGURASII/OATMEGA8535
GambardantableberikutinidikutipkandaridatasheetATMega8535:
SkematikI/O(Hal.51)
-
ModulI I/ODasar
2
KonfigurasiPinPort(hal.53)
PUDpadaSFIOR(hal.59)
Rekomendasiuntukinisialisasipadapininput(hal.56)
Deskripsiregister(misalnyaPortA)(hal.66)
-
ModulI I/ODasar
3
I.A PORTASEBAGAIOUTPUT
PERSIAPAN
Sebelum Power Supply dihubungkan pada kit praktikum, atur terlebih dahulupadategangan9volt.Kemudian,hubungkanpadakitpraktikum
HubungkanSismindenganPCmengunakankabelDB9 HubungkanPORTApadaPORTOUTPUT
TUGASI.A.1 MenjalankanContohProgram
Tanpamemperhatikanpengaturanfuse,jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include int main(void) {
DDRA = 0xFF;//inisialisasi PORTA sebagai OUTPUT PORTA = (1
-
ModulI I/ODasar
4
int main(void) { DDRA = 0xFF; PORTA = 0xFF; while(1) { PORTA = 0b00110011; _delay_ms(500); PORTA = 0b11001100; _delay_ms(500); } return 0;
}
TUGASI.B.2 ModifikasicontohprogramTugas1.B.1sehinggamenghasilkankeluaranled(OUTPUTLEDDISLAY) secarabergantian sesuaidengan representasibinerdari tigaangkaterakhirNIManggotakelompokAnda.
TUGASI.B.3
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include #define F_CPU 1000000UL // 1 MHz #include int main(void) { unsigned char i = 0xFE; DDRA = 0xFF; PORTA = i; while(1) { PORTA = i;
_delay_ms(120); i=(i7);
} return 0; }
-
ModulI I/ODasar
5
TUGASI.B.4
ModifikasicontohprogramTugas I.B.3sehinggahasilnyatidakmenunjukannyalamatilampu yang memutar. Tetapi, setelah sampai ujung kiri akan kembali ke kanan dansebaliknya.
I.C PORTASEBAGAIOUTPUTDANPORTBSEBAGAIINPUT
PERSIAPAN
Pastikan PERSIAPAN pada I.A terpenuhi; kemudian, hubungkan PORT B pada PORTINPUT
TUGASI.C.1
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include int main(void) { unsigned char i; DDRA = 0xFF; //inisialisasi PORTA sebagai OUTPUT DDRB = 0x00; //inisialisasi PORTB sebagai INPUT
SFIOR = 0
-
ModulI I/ODasar
6
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
7
MODULII TIMER,COUNTER,INTERRUPTDANEXTERNALINTERRUPT
TUJUAN
PraktikanmemahamidatasheetATMega8535 Praktikan mampu membuat aplikasi Timer/ Counter dan Interrupt pada AVR
denganmenggunakanbahasapemprogramanCpadaWinAVR
Praktikan mampu membuat aplikasi External Interrupt pada AVR denganmenggunakanbahasapemprogramanCpadaWinAVR
KONFIGURASITIMER/COUNTERDANINTERRUPT
GambardantableberikutinidikutipkandaridatasheetATMega8525:
DeskripsiregisterTimer/Counter8bit(Timer/Counter0)(Hal.71)
Konfigurasimodeoperasi(hal.83)
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
8
Lihatpulahal.72untukmemahamidefinisiMAX,BOTOMdanTOP.
PengaturanPerilakupinOCO(misalnyauntukmodenonPWM)(hal.84)
Pengaturansumberclock(hal.85)
PahamiTimingDiagram!
Registerregisterpentinglain(hal.85)
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
9
KONFIGURASIEXTERNALINTERRUPT
Registerregister untuk keperluan external interrupt diuraikan pada hal. 6870 didatasheetATMega8535.Disinidiberikankutipankutipannya.
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
10
II.A DELAYDENGANTIMER/COUNTER0
PERSIAPAN
Sebelum Power Supply dihubungkan pada kit praktikum, atur terlebih dahulupadategangan9volt.Kemudian,hubungkanpadakitpraktikum
HubungkanSismindenganPCmengunakankabelDB9 HubungkanPORTA(ATMega8535)padaPORTOUTPUT(TrainingBoard)
TUGASII.A.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini.Analisisdanbuatlahflowchartnya.
#include void init_tim(void); void Delay(void); int main(void)
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
11
{ init_tim(); DDRA=0xFF; while (1) { PORTA = 0x0F; Delay(); PORTA = 0xF0; Delay(); } return 0; } void init_tim(void) { //mode operasi dan sumber clock TCCR0=0b00000101; //overflow interrupt disable TIMSK=(0
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
12
Hubungkan prosesor ATMega8535 dengan Training Board (pada PORT CONTROL)sehinggapinT1padaProsesorATMega8535(lihatdatasheetATMega8535)terhubungdengansebuahInterruptInput(IS1,IS2,IS3atauIS4)padaTrainingBoard.
TUGASII.B.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include #define F_CPU 1000000UL // 1 MHz #include void init_tim(void); int main(void) { init_tim(); DDRA=0xFF; while (1) { TCNT1H=0x00; TCNT1L=0x00; OCR1AH=0; OCR1AL=3; while(bit_is_clear(TIFR,4)) {PORTA = 0x0F;} TIFR=_BV(4); PORTA = 0xF0; _delay_ms(350); } return 0; } void init_tim(void) { TCCR1A=0b11000000; TCCR1B=0b00000110; TIMSK=(1
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
13
II.C APLIKASIINTERRUPTDENGANTIMER/COUNTER
PERSIAPAN
PastikanPORTA(ATMega8535)terhubungdenganPORTOUTPUT(TrainingBoard)
TUGASII.C.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include #define F_CPU 1000000UL #include #include void inti_int0(void); ISR(TIMER0_OVF_vect) { unsigned char i; for (i=0;i
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
14
TCNT0=0x00; sei(); }
TUGASII.C.2
ModifikasiprogramTugasII.C.2menggunakanTimer/Counter1
II.D EXTERNALINTERRUPT
PERSIAPAN
Hubungkan prosesor ATMega8535 dengan Training Board (pada PORT CONTROL)sehingga pin INT0 pada Prosesor ATMega8535 terhubung dengan sebuah InterruptInput(IS1,IS2,IS3atauIS4)padaTrainingBoard.
TUGASII.D.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include #define F_CPU 1000000UL #include #include void Init_Ext_Int(void); ISR(INT0_vect) { unsigned char i=0x01,n; for(n=0;n
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
15
MCUCSR=0x00; GICR=0x40; GIFR=0x40; }
TUGASII.D.2
Buatlahprogramdengankondisi:
Programutamaakanmenampilkandata0FFhbergantiandengandata00h,masingmasingselamadetik.
Jika terjadi interrupt dari INT0, program akan menampilkan data 99hbergantian dengan data 66h, masingmasing selama detik. Setelah itukembalikeprogramutama.
Jika terjadi interrupt dari INT1, program akan menampilkan data 0Ahbergantian dengan data 55h, masingmasing selama detik.. Setelah itukembalikeprogramutama
Keterangan:gunakanfasilitasdelayAVRgcc.
-
ModulII Timer,Counter,InterruptdanExternalInterrupt
16
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
17
MODULIII KOMUNIKASIUSARTDANEVALUASIMODULIIII
TUJUAN
PraktikanmemahamidatasheetATMega8535 Praktikan memahami pengesetan fuse yang berkaitan dengan penggunakan
besardanjeniskristal
PraktikanmampumembuataplikasikomunikasiUSARTKONFIGURASITIMER/COUNTERDANINTERRUPT
GambardantableberikutinidikutipkandaridatasheetATMega8525:
Pengaturansumberclock(hal.85)
PahamiTimingDiagram!
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
18
Registerregisterpentinglain(hal.85)
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
19
III.A MENERIMADATADARIPC
PERSIAPAN
Sebelum Power Supply dihubungkan pada kit praktikum, atur terlebih dahulupadategangan9volt.Kemudian,hubungkanpadakitpraktikum
HubungkanPORTC(ATMega8535)denganPORTOUTPUT(TrainingBoard) HubungkanSisminATMega8535denganPCmengunakankabelDB9 Jalankan HyperTerminal (Cara menyiapkan Hyperterminal dapat dipelajari
melalui situs ini: http://extremeelectronics.co.in/avrtutorials/rs232communicationthelevelconversion/)
TUGASIII.A.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini.Analisisdanbuatlahflowchartnya.
Keterangan:
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
20
Program berikut ini dijalankan dengan kondisi ATMega8535 menggunakansumberclockKristal8Mhz.
AmatiOUTPUTLEDsetiaptombolkeyboardPCditekan
#include int main (void) { UCSRA=0x00; UCSRB=0x10; UCSRC=0x86; UBRRL=0x33; while (1) { loop_until_bit_is_set(UCSRA,7); PORTC=UDR; UCSRA|=_BV(7); } return 0; }
TUGASIII.A.2
ModifikasicontohprogramTugasIII.A.1.sehinggakondisinyademikian:
Baudrate=2400bps MengaktifkanfasilitasdoubleUSARTtransmissionspeed
III.B MENGIRIMDATAKEPC
TUGASIII.B.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
Keterangan:
Program berikut ini dijalankan dengan kondisi ATMega8535 menggunakansumberclockKristal8Mhz.
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
21
AmatitampilanpadaHyperTerminal#include int main (void) { UCSRA=0x00; UCSRB=0x08; UCSRC=0x86; UBRRL=0x33; char kal[]=" Praktikum Sistem Mikroprosesor "; unsigned char i=0; for (i=0;kal[i]!='\0';++i) { loop_until_bit_is_set(UCSRA,5); UDR=kal[i]; } return 0; }
TUGASIII.B.2 Modifikasi program diatas sehingga LED menyala semua selama x detik ketika tombolditekan sejumlah x kali, dimana x = (modulus 9 dari nomor kelompok) + 1. Keterangan:fasilitasdelayAVRgcctidakdigunakan.
III.C PENGIRIMANDANPENERIMAANDATADARIDANKEPC
PERSIAPAN
HubungkanPORTC(ATMega8535)denganPORTOUTPUT(TrainingBoard) HubungkanSisminATMega8535denganPCmengunakankabelDB9 JalankanHyperTerminal
TUGASIII.C.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
Keterangan:
Program berikut ini dijalankan dengan kondisi ATMega8535 menggunakansumberclockKristal8Mhz.
AmatitampilanpadaHyperTerminal#include
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
22
#include #define F_CPU 8000000UL // 8 MHz #include ISR(USART_RX_vect) { unsigned char kar; kar = UDR; PORTC = kar; loop_until_bit_is_set(UCSRA,5); UDR = kar; } int main (void) { UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRL=0x33; sei(); while(1) { if bit_is_set(UCSRA,3) { loop_until_bit_is_set(UCSRA,5); } } return 0; }
TUGASIII.C.2
Buatlah aplikasi seperti contohprogramdi atas,namunATMega8535bekerjadenganmenggunakansumberclockinternal1Mhz
III.D EVALUASIMODULIIII
TUGASIII.D.1
Buatlah sebuah program yang berfungsi untuk memeriksa password yang diberikanmelaluikomunikasiserialdantoggleswitch(SWITCHINPUT)denganspesifikasisebagaiberikut:
Adaduabuahkatakunciyangakandiberikankepadasistem; Padasaatidle,yaituModeIdle,OUTPUTLEDDISPLAYmenampilkannyalasebuah
LEDsepertipadaTugasI.B.4
Jika sebuah tombol (INTERRUPT INPUT) ditekan,maka sistem akan berpindahpadaModeKataKunci1,dimanasistemsiapmenerimakatakunci1;
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
23
Pada Mode Kata Kunci 1, sistem hanya menyediakan waktu 5 detik untukmenerima input kata kunci yang direpresentasikan oleh SWITCH INPUT.Sementara itu,OUTPUT LEDDISPLAY akanmerepresentasikan kenaikanwaktuperdetik(dimulaidaridetikkenol)dengannyalaledyangterusbertambah(darihanya nyala led Bit0, lalu Bit0 dan Bit1 hingga led Bit0 sampaidengan Bit4menyala). Setelah 5 detik berlalu, programmengecek apakah kata kunci yangdirepresentasikan dengan SWITCH INPUT apakah benar atau salah. Jika salah,makasistemkembalikeModeIdle.
Jikakatakunci1benar,semua ledpadaOUTPUTLEDDISPLAYakanmenyalasejenak(500ms)kemudianmati;
SetelahitusistemakanberpindahpadaModeCounter; PadaMode Counter, ada sebuah tombol yang digunakan sebagai penghitung.
OUTPUT LEDDISPLAYmenampilkan representasi biner dari jumlah penekanantombol (COUNTER INPUT). Jika tombol itu telahditekan sebanyak5kali,makaprogramakanberpindahkeModeKataKunci2.
Pada Mode Kata Kunci 2, sistem akan menerima input kata kunci (sebuahkarakter) dari komunikasi serial dalam jangka waktu 5 detik. Sementara itu,OUTPUT LED DISPLAY akan merepresentasikan kenaikan waktu perdetik(dimulaidaridetikkenol)dengannyala ledyang terusbertambah (darihanyanyala ledBit0, laluBit0danBit1hingga ledBit0 sampaidenganBit4menyala).Programmengecek apakah kata kunci yang dimasukanmelaluiHyperTerminaltadiadalahbenaratausalah?Jikasalah,akankembalikeModeIdle;
Jikakatakunci2benar,programakanmembuatseluruh ledpadaOUTPUTLEDDISPLAY nyala dan mati, bergantian tiap detik, sebanyak 2 kali. Setelah itukembalikeModeIdle
Catatan:
Port,modetimerdankombinasikatakunciyangdigunakanbebas.
-
ModulIII KomunikasiUSARTdanEvaluasiModulIIII
24
-
ModulIV SevenSegment,KeypaddanLCD
25
MODULIV SEVENSEGMENT,KEYPADDANLCD
TUJUAN
PraktikanmemahamidatasheetATMega8535 PraktikanmampumembuataplikasiSevenSegment,KeypaddanLCD
SCANNINGSEVENSEGMENT
SalahsatuteknikuntukmenjalankanperangkatSevenSegmentadalahteknikScanning.Denganteknikscanningini,sejumlahsevensegmendapatdijalankansecarabergantian(denganfrekuensitertentu)melaluijumlahportyangminimum.
Padapraktikum iniakandipelajariteknikscanninguntukmenjalankanduabuahsevensegmentpadaDT51 TutorialBoard.Aturanuntukmenjalankan kedua seven segmentersebutadalahsebagaiberikut:
Untukmenjalankansevensegment1(berlabelDIGIT1)makapinDO1(dariPortI/PSKEY)harusdiberilogika0;
Sedangkanuntukdapatmenjalankansevensegment2 (DIGIT1) makapinDO2(dariportI/PSKEY)harusdiberilogika0.
Dengan demikian, untukmenyalakanmasingmasing seven segemen tersebut, diaturlogika0untukpinD01danD02secarabergantian.
Selainduaaturandiatas,untukmenampilkanangka (09)dantitik (.)dengansevensegmentpadaDT51TutorialBoardtersebutyaitudenganmengaturlogikapindariportData7S.Rangkaian seven segment tesebutberisfatactivehigh (logika 1=nyala,logika0=padam),denganurutandariMSBkeLSBadalahDP(titik),G,F,E,D,C,B,A.
-
ModulIV SevenSegment,KeypaddanLCD
26
SCANNINGKEYPAD
Padaprinsipnya,teknikscanningpadakeypadmiripdenganteknikscanningpadasevensegmen.Namun,padascanningkeypad,selaindilakukanpengaturan logikapinsecarabergantian, juga dilakukan secara bergantian pemeriksaan/ pembacaan pin olehmikrokontroleruntukmengetahuitombolkeypadmanayangsedangditekan.
DT51TutorialBoardmemilikikeypad2x2dengankondisisebagaiberikut:
PinpenerimaoutputdarimkrokontroleradalahpinKBO1(dariportI/PSKEY)danKBO2(dariportI/PSKEY)yangbersifatactivelow.
Sedangkan pin yangmemberikan input padamikrokontroler adalah KBI1 (dariportI/PSKEY)danKBI2(dariportI/PSKEY)yangbersifatactivelow.
Berikutiniadalahtahaptahapuntukmenjalankankeypad2x2:
Pertama,berikanlogika0padapinKBO1(sementarapinKBO2berlogika1).Lalu,periksalogikadaridatainputKBI1.JikalogikapinKBI1berubahdari1ke0berartiKEY1telahditekan(perhatikanrangkainlistriknya).
o SelanjutnyaKBI2diperiksa;jikalogikanyaberubahdari1ke0berartiberartiKEY3telahditekan.
Kedua, berikan logika 0 pada KBO2 (sementara pin KBO1 berlogika 1).Kemudian tiaptiap data inputnya diperiksa, seperti pemeriksaan pada tahappertama.
-
ModulIV SevenSegment,KeypaddanLCD
27
LCD
LCDyangdigunakandalampraktikum iniadalahLCDyangberbasispadaHD44780LCDcontroller. Sebelumpraktikum,praktikandiharuskanuntukmembacadanmemahamiproses untuk menjalankan LCD yang diuraikan pada datasheet HD44780 tersebut.DatasheetHD44780disediakandihttp://labdasar.ee.itb.ac.id
Padapraktikumini,percobaantentangLCDakandilakukandenganmenggunakanlibrarybeserta demo projectnya yang dapat didownload free di sini:http://winavr.scienceprog.com/download/AVR_LCD_Lib_Demo.zip
Hal pertama yang harus diperhatikan dalam menggunakan library tersebut untukpercobaanpadapraktikuminiadalahbahwapadapraktikuminiLCDdijalankandenganmenggunakanPortC.Sementarapada library tersebut,LCDdijalankandenganPortD.PengubahandariPortDkePortCdilakukandenganmengedit4barisperintahpadafilelcd_lib.hmenjadisebagaiberikut:
#define LDP PORTC #define LCP PORTC #define LDDR DDRC #define LCDR DDRC
-
ModulIV SevenSegment,KeypaddanLCD
28
IV
IV.A SCANNINGSEVENSEGMENT
PERSIAPAN
Sebelum Power Supply dihubungkan pada kit praktikum, atur terlebih dahulupadategangan9volt.Kemudian,hubungkanpadakitpraktikum
HubungkanSisminATMega8535denganPCmengunakankabelDB9 HubungkanPORTADT51MinSysdenganDATA7SDT51TrainerBoard. HubungkanPORTDDT51MinSysdenganI/PSKEYDT51TrainerBoard.
TUGASIV.A.1 MenjalankanContohProgram
#include #define F_CPU 8000000UL #include char angka; char kodehex; unsigned int SSegmen(char angka); int main (void) { DDRA = 0xFF; DDRD = 0xFF; while (1) { PORTD =(0
-
ModulIV SevenSegment,KeypaddanLCD
29
unsigned int SSegmen(char angka) { switch (angka) { case '0': kodehex = 0x3f; break; case '1': kodehex = 0x06; break; case '2': kodehex = 0x5b; break; case '3': kodehex = 0x4f; break; case '4': kodehex = 0x66; break; case '5': kodehex = 0x6d; break; case '6': kodehex = 0x7d; break; case '7': kodehex = 0x07; break; case '8': kodehex = 0x7f; break; case '9': kodehex = 0x6f; break; } return kodehex; }
TUGASIV.A.2
ModifikasiContohProgramdiatassehinggaberjalandengankondisiberikut:
-
ModulIV SevenSegment,KeypaddanLCD
30
Pertama,sevensegmentakanmenampilkan5.0 1detikkemudian,sevensegmentakanmenampilkan4.0 1detikkemudian,sevensegmentakanmenampilkan3.0. 1detikkemudian,sevensegmentakanmenampilkan2.0. 1detikkemudian,sevensegmentakanmenampilkan1.0 1 detik kemudian, program kembali menampilkan 0.0 yang berkedipkedip 3x
denganselangwaktusetengahdetik.Kemudianpadam.
IV.B SCANNINGKEYPAD
PERSIAPAN
HubungkanPORTApadaPORTOUTPUTDT51TrainerBoard. HubungkanPORTDpadaI/PSKEYDT51TrainerBoard.
TUGASIV.B.1 MenjalankanContohProgram
Jalankancontohprogramdibawahini,analisisdanbuatlahflowchartnya.
#include #define F_CPU 8000000UL #include int main (void) { DDRA=0xFF; PORTA=0x00; DDRD=(1
-
ModulIV SevenSegment,KeypaddanLCD
31
_delay_ms(50); if(bit_is_clear(PIND,1)) PORTA=0b00001111; _delay_ms(50); PORTD=(0
-
ModulIV SevenSegment,KeypaddanLCD
32
IV.C LCD
PERSIAPAN
HubungkanPORTLCDpadaSismindenganPORTLCDpadaLCD HubungkanPORTDpadaI/PSKEYDT51TrainerBoard.
TUGASIV.C.1 MenjalankanAVRLCDLibDemo
Jalankan AVR LCD Lib Demo dengan membuka terlebih dahulu avrlcd.pnproj dankemudianadaptasiMakefile.
Berikan penjelasan singkat tentang contoh program tersebut, termasuk alur programpadafilemain.c
TUGASIV.C.2 MenjalankanContohProgram
Contohprogramdibawahinimerupakanprogrampadafilemain.cyangdimodifikasi.
#include #include #include #include "lcd_lib.h" //Strings stored in AVR Flash memory const uint8_t LCDtombol1[] PROGMEM="***Tekan Tombol Scanning Keypad***\0"; //delay 1s void delay1s(void) { uint8_t i; for(i=0;i
-
ModulIV SevenSegment,KeypaddanLCD
33
LCDinit();//init LCD bit, dual line, cursor right LCDclr();//clears LCD DDRA=0xFF; PORTA=0x00; DDRD=(1
-
ModulIV SevenSegment,KeypaddanLCD
34
} _delay_ms(50); PORTD =(0
-
ModulIV SevenSegment,KeypaddanLCD
35
Jika secaraberurutanditekan,misalnya, tomboldengan label 1, 3dan 2makaLCDmenampilkan132.
Setelah penekanan tombol keypad sebanyak 4x dan kelipatannya, layar LCDbergeser2karakterkekiri.
-
ModulIV SevenSegment,KeypaddanLCD
36
-
ModulV PerancanganAplikasi
37
MODULV PERANCANGANAPLIKASI
Tugas Modul V adalah melakukan perancangan suatu aplikasi sederhana yangmemanfaatkanfasilitasmikrokontrolerAVRAT8535.Percobaaninidilakukanperkelompoksecaramandiridalamwaktu2minggu.
-
ModulIV SevenSegment,KeypaddanLCD
38
-
ApendiksA PetunjukPenggunaanWinAVR
A1
APENDIKSAPETUNJUKPENGGUNAANWINAVRWinAVR(winavr.sourceforge.net)adalahseperangkatsoftwareopensource,termasukdidalamnya adalah Programmers Notepad (http://sourceforge.net/projects/pnotepad/)danAVRDude(http://savannah.nongnu.org/projects/avrdude/),untukmembuat,mengcompiledanmendownloadprogramAtmelAVRdalambahasaC.
Pada situs winavr.sourceforge.net, selain disediakan installer WinAVR yang dapatdidownloadsecaragratis,jugadisediakanmanualWinAVR.Namundemikian,berikutiniakan diulas secara singkat, mulai instalasi WinAVR, membuat program, hinggabagaimana memprogram ke dalam prosesor AVR. Langkahlangkah praktis disajikansecaraberkesinambungandari1hingga39.
LANGKAHLANGKAHMENGINSTALLWINAVRPADAPC
1. Jalankan program installer WinAVR; pada contoh ini digunakan WinAVR versi20090313(tampakpadanamafilenya)
2. InstallerWinAVRkemudianakanmenunjukandialogberikut:
3. Lalu,tekanOKjikadiinginkanbahasaInggrissebagaibahasapengantarnya.
4. Proses instalasi selanjutnya adalah berisi Lisence Agreement yang harus kitaikuti,kemudianpemilihanlokasiinstalasiWinAVR
5. Selanjutnya,pastikan seluruh (tiga) komponendipilihuntukdiinstal.Pemilihaniniditandaidengantandacentang()
-
ApendiksA PetunjukPenggunaanWinAVR
A2
6. Ikutihinggaselesai.
LANGKAHLANGKAHMENGINSTALLDRIVERGIVEIO
Driver GiveIO harus diinstall terlebih dahulu agar pemprograman dengan AVRDudedapatdilakukan.
7. JalankanCommandPromtdenganmengetikancmdpadaKotakRun
8. Lalu,tekanEnter(untukWinXP)atauCtrl+Shift+Enter(untukWinVistaatauWin7),sehinggaCommandPromptyangmunculdenganmodeAdministrator
9. Kemudian,ketikinstall_giveiodantekanEnter
-
ApendiksA PetunjukPenggunaanWinAVR
A3
10. ApabilapadaCommandPromtditampilkansebagaimanagambardiatas,makainstalasi driver GiveIO telah berhasil. Namun, apabila tidak seperti itu,kemungkinan besar karena Command Prompt tidak berjalan dalam modeAdministrator.BerikutcontohinstalasiGiveIOyanggagal:
LANGKAHLANGKAHMEMBUATPROGRAMDENGANPROGRAMMERSNOTEPAD[WINAVR]
11. JalankanProgrammersNotepad[WinAVR]
12. BuatlahNewProject:FileNewProject
13. BerinamaNewProjecttersebut,misalnyaModul1
-
ApendiksA PetunjukPenggunaanWinAVR
A4
14. PilihFolderdimanaNewProjectakandisimpan:
a. KlikKotak
b. Misalkan folder baru ditempatkan padaDrive C, kemudian, klik MakeNewFolderlaluberinamafolderModul1
c. Kemudian pilih folder baru tersebut sehingga Folder: New folderberubahmenjadiFolder:Modul1
-
ApendiksA PetunjukPenggunaanWinAVR
A5
d. AkhiridenganklikOK
e. KlikOKsekalilagimakaprojectbarudengannamaModul1telahsiap.
15. SelanjutnyaadalahmenyiapkanfileeditordengannamaTugas1A1.c
a. Klik:FileSaveAs
-
ApendiksA PetunjukPenggunaanWinAVR
A6
b. BerinamafileTugas1A1.c
c. PastikanfileTugas1A1.cberadapadafolderbaruyangtadidibuat,yaitufolderC:\Modul1.Kemudian,akhiridenganklikSave
16. IkutsertakanfileTugas1A1.cpadaprojectModul1
a. Klikkanan(Porject)(NewProjectGroup)Modul1pilihAddFiles
b. PilihfileTugas1A1.ctadi
-
ApendiksA PetunjukPenggunaanWinAVR
A7
c. AkhiridenganklikOpen
17. KetikkanbarisbarisprogramTugas1A1sebagaimanagambarberikut:
LANGKAHLANGKAHMENYIAPKANMAKEFILE
Program yang telah diketik tadi tidak dapat dicompile jika belum disiapkan fileMakefile yang berada pada folder yang sama dengan file Tugas1A1.c, yaitu padafolderC:\Modul1.
18. JalankanMFile[WinAVR]
19. AturTARGET=Tugas1A1denganlangkah:
a. MakefileklikMainfilename
-
ApendiksA PetunjukPenggunaanWinAVR
A8
b. PadakotakMain fileKetikannamaTugas1A1,sebagaimanagambarberikut:
c. AkhiridenganklikOK
20. Pilihjenisprosesor:MakefileMCUtypeATmegaa. Pilihatmega8535
-
ApendiksA PetunjukPenggunaanWinAVR
A9
b. Tampilansetelahdipilihatmega8535
21. Pilihprogrammeryangdigunakanpadapraktikumini:MakefileProgrammer
-
ApendiksA PetunjukPenggunaanWinAVR
A10
a. Pilih ponyser (skematik programmer ini dapat dilihat dihttp://www.lancos.com/e2p/siprog_base.png)
b. Tampilansetelahdipilihponyser
-
ApendiksA PetunjukPenggunaanWinAVR
A11
22. PilihPortyangdigunakanolehprogrammertadi:MakefilePorta. Pastikan/pilihcom1
b. Tampilansetelahdipilihcom1
-
ApendiksA PetunjukPenggunaanWinAVR
A12
23. Atur nilai Kristal yang digunakan dengan cara mengedit Makefile denganmengetikannilaiKristaltersebut
a. MakefileklikEnableEditingofMakefile
b. Lalu, edit Makefile dengan mengetikan nilai Kristal yang sesuai,misalnya1Mhz,sehinggatertulisF_CPU=1000000
24. SimpanfileMakefiletersebutdifolderfileTugas1A1.ctadiberada
a. FileSaveAs
-
ApendiksA PetunjukPenggunaanWinAVR
A13
b. PastikanberadapadafolerC:\Modul1
c. AkhiridenganklikSave
25. Terakhir,tutupprogramMfile:FileExit
MENGCOMPILEPROGRAMDANMEMBUATFILE*.HEX
Berikutiniadalahlangkahuntukmengcompilesekaligusmembuatfile*.hex(padakasusiniadalahfileTugas1A1.hex)yangakandidownloadkeATMega8535
26. PilihTools[WinAVR]MakeAll
-
ApendiksA PetunjukPenggunaanWinAVR
A14
27. Apabila tidak ada kesalahan pada program, maka pada Output ditampilkanProcessExitCode:0sepertigambarberikut:
28. Apabila terjadikesalahan,padaOutputdiberikan informasikesalahan tersebut.Berikutiniadalahcontohnya:
29. Perbaikikesalahanyangterjadi,kemudiankembalikelangkah26.
LANGKAHLANGKAHMENDOWNLOAD*.HEXKEPROSESORATMEGA8535
30. Pastikan programmer telah terhubung dengan Sismin AVR dan programmertelahterhubungdenganPC
31. PilihTools[WinAVR]Programm
32. Apabila proses memprogram/ mendownload Tugas1A1.hex ke prosesorATMega8535berhasil,makapadaOutputditampilkanProcessExitCode:0sepertigambarberikut:
-
ApendiksA PetunjukPenggunaanWinAVR
A15
33. Apabila proses memprogram tidak berhasil, periksa kembali koneksi antaraprogrammer dan PC serta programmer dan Sismin AVR; periksa jugakemungkinanlainnya.Kemudian,kembalikelangkah30.
34. Setelahprosesmemprogramsukses,amatilahhasilnya.
MANUALWINAVRDANDESKRIPSILIBRARYAVRGCC
ManualWinAVRdandeskripsilibrarypadaAVRGCCdapatdilihatsecaraofflinedenganmenjalankanWinAVRUserManual (untukmanualWinAVR)danmenjalankan avrlibcManual[WinAVR](untukdesktripsilibrarypadaAVRGCC).
MENGATURFUSEDENGANAVRDUDE
Denganmenjalankan langkah 31. di atas, sesungguhnya prosesor tersebut diprogramdengan AVRDude (http://www.nongnu.org/avrdude/). Selain dapat memprogramseperticontohdiatas,AVRDude jugadapatdigunakanuntukmembacadanmengaturfuseprosesorAVR.
DeskripsiFuseATMega8535
Berikut ini adalah cuplikan deskripsi fuse ATMega8535 (Datasheet ATMega8535 hal.238239,http://www.atmel.com/dyn/Products/product_card.asp?part_id=2008):
-
ApendiksA PetunjukPenggunaanWinAVR
A16
PenggunaanSumberdanNilaiClockdenganPengaturanFuse
ProsesorATMega8535memikikonfigurasifuseawal(default)sepertipadatablediatassehinggabekerjadengan clock internal1Mhz (tinjaukonfigurasiFuse LowByte); lihatpuladatasheetATMega8535hal.2930.
Pada praktikum ini akan digunakan pula sumber clock eksternal (kristal) 8Mhz (lihatHardwareSismin),sehinggapengaturanulangfuseharusdilakukan;lihatpuladatasheetATMega8535hal2527.
Pada bagian ini akan diberikan petunjuk untukmembaca danmengubah pengaturanfusepadaATMega8535denganAVRDude
LangkahLangkahMembacaPengaturanFuseATMega8535denganAVRDude
-
ApendiksA PetunjukPenggunaanWinAVR
A17
35. JalankanCommandPromptdenganmengikutiLangkah7dan8diatas
36. PadaCommandPrompt,ketikperintahberikut,diikutidengantekanEnter:
Avrdude c stk200 p atmega8535 P lpt1 v
37. Berikutadalahcontohpotongantampilanhasilnya:
LangkahLangkahMengubahPengaturanFuseATMega8535denganAVRDude
38. Agar prosesor bekerja sumber clock dari clock eksternal (Kristal) 8MHz, ketikperintahberikut,diikutidengantekanEnter:
Avrdude c stk200 p atmega8535 P lpt1 -U hfuse:w:0xD9:m -U lfuse:w:0xEF:m
MEMAHAMIKODEKODEPADAAVRDUDE
39. Untukmemahamiartikodekode,misalnyac,-Pdsb.,padaCommandPromptketikavrdude diikutidengantekan:
-
ApendiksB KitPraktikum
B1
APENDIKSBKITPRAKTIKUM
SISTEMMINIMUMATMEGA8535
TATALETAK
INFORMASIPIN
PORT I/O PORT LCD
-
ApendiksB KitPraktikum
B2
DT51TRAINERBOARD
TATALETAK
KONEKTOR
-
ApendiksC KodeASCII
C1
APENDIKSCKODEASCII