modulavr 17maret2010 ed

Upload: fuziadithia188

Post on 10-Oct-2015

39 views

Category:

Documents


0 download

DESCRIPTION

ini berisi tentang AVR

TRANSCRIPT

  • 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