Basic AVR Microcontroller Tutorial

Ukuran: px
Mulai penontonan dengan halaman:

Download "Basic AVR Microcontroller Tutorial"

Transkripsi

1 Basic AVR Microcontroller Tutorial Oleh : Hendawan oebhakti, T Agustus 2007 Parkway treet, Batam Centre Batam 2946 Telp Fax

2 DAFTAR II. AVR ATMega 8535L 2. Operasi Aritmatika, Logika dan Percabangan 3. Interupsi 4. Timer/Counter 5. Pengendalian Motor tepper 6. LCD 6x2 7. PWM dan Pengendalian Motor DC 8. Motor ervo 9. Keypad 0. Komunikasi erial UART Basic AVR Tutorial by Hendawan oebhakti Page 2 of 68

3 BAB I AVR ATMega 8535L. ekilas Tentang AVR AVR : Alf and Vegard RIC atau AVR : Advanced Virtual RIC RIC: Reduced Instruction et Computer Arsitektur mikrokontroler jenis AVR pertamakali dikembangkan pada tahun 996 oleh dua orang mahasiswa orwegian Institute of Technology yaitu Alf-Egil Bogen dan Vegard Wollan. Mikrokontroler AVR kemudian dikembangkan lebih lanjut oleh Atmel. eri pertama AVR yang dikeluarkan adalah mikrokontroler 8 bit AT90855, dengan konfigurasi pin yang sama dengan mikrokontroler 805, termasuk address dan data bus yang termultipleksi. Mikrokontroler AVR menggunakan teknologi RIC dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode pengalamatannya. Pada awal era industri komputer, bahasa pemrograman masih menggunakan kode mesin dan bahasa assembly. Untuk mempermudah dalam pemrograman para desainer komputer kemudian mengembangkan bahasa pemrograman tingkat tinggi yang mudah dipahami manusia. amun akibatnya, instruksi yang ada menjadi semakin komplek dan membutuhkan lebih banyak memori. Dan tentu saja siklus eksekusi instruksinya menjadi semakin lama. Dalam AVR dengan arsitektur RIC 8 bit, semua instruksi berukuran 6 bit dan sebagian besar dieksekusi dalam siklus clock. Berbeda dengan mikrokontroler MC-5 yang instruksinya bervariasi antara 8 bit sampai 32 bit dan dieksekusi selama sampai 4 siklus mesin, dimana siklus mesin membutuhkan 2 periode clock. Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90xx, ATMega, AT86RFxx dan ATTiny. Pada dasarnya yang membedakan masing-masing varian adalah kapasitas memori dan beberapa fitur tambahan saja..2 Karakteristik mikrokontroler AVR seri ATMega Fitur ATMega8535 Fitur yang tersedia pada ATMega 8535 adalah : Frekuensi clock maksimum 6 MHz Jalur I/O 32 buah, yang terbagi dalam PortA, PortB, PortC dan PortD Analog to Digital Converter 0 bit sebanyak 8 input Timer/Counter sebanyak 3 buah CPU 8 bit yang terdiri dari 32 register Watchdog Timer dengan osilator internal RAM sebesar 52 byte Memori Flash sebesar 8 Kbyte dengan kemampuan read while write Interrupt internal maupun eksternal Port komunikasi PI EEPROM sebesar 52 byte yang dapat diprogram saat operasi Analog Comparator Komunikasi serial standar UART dengan kecepatan maksimal 2,5 Mbps Basic AVR Tutorial by Hendawan oebhakti Page 3 of 68

4 .2.2 Konfigurasi Pin ATMega8535 Gambar. Konfigurasi Pin ATMega Peta Memori ATMega8535 ATMega8535 memiliki dua jenis memori yaitu Data Memory dan Program Memory ditambah satu fitur tambahan yaitu EEPROM Memory untuk penyimpan data. Program Memory ATMega8535 memiliki On-Chip In-ystem Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian yaitu Boot Flash ection dan Application Flash ection. Boot Flash ection digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertamakali diaktifkan. Application Flash ection digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash ection dapat diprogram dari 28 word sampai 024 word tergantung setting pada konfigurasi bit di register BOOTZ. Jika Boot Loader diproteksi, maka program pada Application Flash ection juga sudah aman. Gambar.2 Peta Program Memory Basic AVR Tutorial by Hendawan oebhakti Page 4 of 68

5 Data Memory Gambar berikut menunjukkan peta memori RAM pada ATMega8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory sementara 52 lokasi address lainnya digunakan untuk internal data RAM. Register File terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register. Gambar.3 Peta Data Memory EEPROM Data Memory ATMega8535 memiliki EEPROM sebesar 52 byte untuk menyimpan data. Lokasinya terpisah dengan sistem address register, data register dan control register yang dibuat khusus untuk EEPROM..3 tatus Register (REG) tatus Register adalah register yang memberikan informasi yang dihasilkan dari eksekusi instuksi aritmatika. Informasi ini berguna untuk mencari alternatif alur program sesuai dengan kondisi yang dihadapi. Bit 7 I : Global Interrupt Enable Jika bit Global Interrupt Enable diset, maka fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interrupt yang dipicu dari hardware, setelah program interrupt dieksekusi, maka bit ini harus di set kembali dengan instruksi EI. Bit 6 T : Bit Copy torage Instruksi bit copy BLD dan BT menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Bit 5 H : Half Carry Flag Basic AVR Tutorial by Hendawan oebhakti Page 5 of 68

6 Bit 4 : ign Bit Bit merupakan hasil exlusive or dari egative Flag dan Two s Complement Overflow Flag V. Bit 3 V : Two s Complement Overflow Flag Digunakan dalam operasi aritmatika Bit 2 : egative Flag Jika operasi aritmatika menghasilkan bilangan negatif, maka bit ini akan set. Bit Z : Zero Flag Jika operasi aritmatika menghaslkan bilangan nol, maka bit ini akan set..4 Bahasa Assembly AVR Bahasa yang dipakai untuk memprogram mikrokontroler AVR adalah bahasa assembly AVR atau bahasa C. Dalam buku ini semua program ditulis dalam bahasa assembly AVR. Berikut adalah contoh sebuah program aplikasi untuk mikrokontroler AVR :.include m8535def.inc.org 0x0000 rjmp main Inisialisasi program main: ldi ldi r6,low(ramed) PL,r6 r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 Program utama PortA,r6 cbi PortA,0 cbi PortA, stop: rjmp stop ebuah program harus terdiri dari dua bagian, yaitu inisialisasi program dan program utama. Inisialisasi program harus disertakan agar program utama dapat berjalan. Berikut adalah urutan langkah inisialisasi program :. Menentukan jenis mikrokontroler yang digunakan dengan cara memasukkan file definisi device (m8535def.inc) ke dalam program utama..include m8535def.inc ; 2. Menuliskan original address program, yaitu 0x0000. Kemudian dilanjutkan dengan instruksi rjmp / relative jump ke label main. Hal ini dimaksudkan agar program memory tidak tumpang tindih dengan data memory..org rjmp 0x0000 main 3. Menentukan isi tack Pointer dengan address terakhir RAM (RAMED). Untuk ATMega8535 yaitu 0x025F. Ini dimaksudkan agar program utama mulai ditulis setelah address terakhir RAM. main: ldi r6,low(ramed) ; low byte address RAM = 5F PL,r6 ldi r6,high(ramed) ; high byte address RAM = 02 PH,r6 Basic AVR Tutorial by Hendawan oebhakti Page 6 of 68

7 BAB II Operasi Port Input Output 2. Register I/O etiap port ATMega8535 terdiri dari 3 register I/O yaitu DDRx, Portx dan PIx. DDRx (Data Direction Register) Register DDRx digunakan untuk memilih arah pin. Jika DDRx = maka Pxn sebagai pin put Jika DDRx = 0 maka Pxn sebagai input. Portx (Port Data Register) Register Portx digunakan untuk 2 keperluan yaitu untuk jalur put atau untuk mengaktifkan resistor pullup.. Portx berfungsi sebagai put jika DDRx = maka : Portxn = maka pin Pxn akan berlogika high. Portxn = 0 maka pin Pxn akan berlogika low. 2. Portx berfungsi untuk mengaktifkan resistor pullup jika DDRx = 0 maka : Portxn = maka pin Pxn sebagai pin input dengan resistor pull up. Portxn = 0 maka pin Pxn sebagai put tanpa resistor pull up. Tabel 2. Konfigurasi Port DDRxn Portxn I/O Pull up Comment 0 0 Input o Tri state (Hi-Z) 0 Input Yes Pull up aktif 0 Output o Output Low Output o Output High Catatan : x menunjukkan nama port (A,B,C,D) n menunjukkan nomor bit (0,,2,3,4,5,6,7) ilai awal (initial value) seluruh register I/O adalah 00h. PIx (Port Input Pin Address) Digunakan sebagai register input. 2.2 Instruksi I/O in : membaca data I/O port ke dalam register contoh : in r6,pina : menulis data register ke I/O port contoh : PortA,r6 ldi : (load immediate) : menulis konstanta ke register sebelum konstanta tersebut dikeluarkan ke I/O port contoh : ldi r6,0xff sbi : (set bit in I/O) : membuat logika high pada sebuah bit I/O port contoh : sbi PortB,7 cbi : (clear bit in I/O) : membuat logika low pada sebuah bit I/O port contoh : cbi PortB,5 sbic : (skip if bit in I/O is clear) : lompati satu instruksi jika bit I/O port dalam kondisi clear/low contoh : sbic PortA,3 sbis : (skip if bit in I/O is set) : lompati satu instruksi jika bit I/O port dalam kondisi set/high contoh : sbis PortB,3 Basic AVR Tutorial by Hendawan oebhakti Page 7 of 68

8 Contoh Program :.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0x00 ddra,r6 ; PortA as input ldi r6,0xff ddrb,r6 ; PortB as put ddrc,r6 ; PortC as put ulang: in r6,porta PortB,r6 ldi cbi sbic cbi sbi sbis sbi ldi rjmp r6,0x0f PortC,r6 PortC,0 PortA,5 PortC, PortC,6 PortA,5 PortC,7 r6,0x00 PortB,r6 PortC,r6 ulang Latihan :. Buatlah program agar dapat membaca data pada PortC dan mengeluarkan data tersebut pada PortA. 2. Buatlah program agar PortA mengeluarkan data 20h jika PortB, berlogika Buatlah program agar PortA mengeluarkan data 5h jika PortC, dan PortD,2 berlogika, selain kondisi tersebut PortA mengeluarkan data 00h. Basic AVR Tutorial by Hendawan oebhakti Page 8 of 68

9 Jawaban Latihan no 3:.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ; PortA as put ldi r6,0x00 ddrc,r6 ; PortC as put ddrd,r6 ; PortD as put ldi r6,0x00 ldi r7,0x5 ulang: sbis PortC, rjmp ulang sbis PortD,2 rjmp ulang PortA,r7 rjmp ulang ulang: PortA,r6 rjmp ulang Basic AVR Tutorial by Hendawan oebhakti Page 9 of 68

10 BAB III Operasi Aritmatika 3. Operasi Aritmatika Instruksi Aritmatika add : Menambahkan isi dua register. Contoh : add r5,r4 ; r5=r5+r4 adc : Menambahkan isi dua register dan isi carry flag Contoh : adc r5,r4 ; r5=r5+r4+c sub mul : Mengurangi isi dua register. Contoh : sub r9,r4 ; r9=r9-r4 : Mengalikan dua register. Perkalian 8 bit dengan 8 bit menghasilkan bilangan 6 bit yang disimpan di r0 untuk byte rendah dan di r untuk byte tinggi. Untuk memindahkan bilangan 6 bit antar register digunakan instruksi movw (copy register word) Contoh : mul r2,r20 ; r:r0=r2*r Contoh Program Penjumlahan.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0x80 ldi r7,0x80 add r6,r7 ldi r8,0x02 adc r6,r8 here: rjmp here Pengurangan.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0x09 ldi r7,0x06 sub r6,r7 ldi r7,0x03 sub r6,r7 ldi r7,0x06 sub r6,r7 here: rjmp here Basic AVR Tutorial by Hendawan oebhakti Page 0 of 68

11 Perkalian.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,5 ldi r7,00 mul r6,r7 movw r7:r6,r:r0 here: rjmp here ; Copy r:r0 to r7:r6 Pembagian.include "m8535def.inc".org 0x00.def drem8u =r5 ;remainder/sisa.def dres8u =r6 ;result/hasil.def dd8u =r6 ;dividend/yang dibagi.def dv8u =r7 ;divisor/pembagi.def dcnt8u =r8 ;loop counter rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi dd8u,4 ldi dv8u,2 rcall div8u here: rjmp here ; div8u: sub drem8u,drem8u ;clear remainder and carry ldi dcnt8u,9 ;init loop counter d8u_: rol dd8u ;shift left dividend dec dcnt8u ;decrement counter brne d8u_2 ;if done ;urn d8u_2: rol drem8u ;shift dividend into remainder sub drem8u,dv8u remainder = remainder - divisor brcc d8u_3 ;if result negative add drem8u,dv8u ;restore remainder clc ;clear carry to be shifted into result rjmp d8u_ ;else d8u_3: sec ;set carry to be shifted into result rjmp d8u_ Basic AVR Tutorial by Hendawan oebhakti Page of 68

12 Latihan : Buatlah program untuk menyelesaikan persamaan matematika berikut ini :. r2=r r2=r r6:r7=r2*5 4. r6:r7=(r2+5)*(r22-5) Basic AVR Tutorial by Hendawan oebhakti Page 2 of 68

13 BAB IV Operasi Logika 4. Operasi Logika Instruksi Logika and : Untuk meng-and-kan dua register Contoh : and r23,r27 ; r23=r23 and r27 andi : Untuk meng-and-kan register dengan konstanta immediate Contoh : andi r25,0b0000 or : Untuk meng-or-kan dua register Contoh : or r8,r7 ; r8=r8 or r7 ori : Untuk meng-or-kan register dengan konstanta immediate Contoh : ori r5,0xfe inc : Untuk menaikkan satu isi sebuah register Contoh : inc r4 dec : Untuk menurunkan satu isi sebuah register Contoh : dec r5 clr : Untuk mengosongkan (membuat jadi nol) isi register Contoh : clr r5 ; r5=0x00 ser : et all bit in register. Membuat jadi satu isi register Contoh : ser r6 ; r6=0xff 4.2 Contoh Program Operasi Logika.include "m8535def.inc".org 0x00 rjmp main main: ldi ldi ldi ldi and ori clr inc ser dec here: rjmp r6,low(ramed) PL,r6 r6,high(ramed) PH,r6 r6,0b00 r7,0b0000 r6,r7 r6,0b r6 r6 r6 r6 here Basic AVR Tutorial by Hendawan oebhakti Page 3 of 68

14 Latihan :. Buatlah program untuk memecahkan persoalan berikut : PinA PinB 0xf0 r20 PortC 2. Buatlah program dengan ketentuan sbb : Input PortA, PortA,0 Aksi 0 0 Clear isi r20 dan r2 0 Isi r20 dengan 0 kemudian naikkan isi r20 sampai nilainya = 0, jika sudah sampai 0 ulangi lagi dari 0 0 Isi r2 dengan 0 kemudian turunkan isi r2 sampai 0, jika sudah 0 ulangi lagi dari 0. et isi r20 dan r2 Jawaban no 2:.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 mulai: sbic PortA, ; skip if PortA, = 0 rjmp cek0_ rjmp cek00_0 cek0_: ; PortA,= sbic PortA,0 ; PortA,=, PortA,0=0 (0) rjmp setall ; ulang: ldi r2,0 dec r2 dec r2 dec r2 dec r2 dec r2 dec r2 dec r2 dec r2 dec r2 dec r2 rjmp ulang setall: ser r20 ser r2 rjmp mulai ; cek00_0: ; PortA,=0 sbis PortA,0 ; skip if PortA,0= rjmp clearall Basic AVR Tutorial by Hendawan oebhakti Page 4 of 68

15 ulang2: ldi r20,0 inc r20 inc r20 inc r20 inc r20 inc r20 inc r20 inc r20 inc r20 inc r20 inc r20 rjmp ulang2 clearall: clr clr rjmp r20 r2 mulai Basic AVR Tutorial by Hendawan oebhakti Page 5 of 68

16 BAB V Percabangan 5. Operasi Percabangan Instruksi Percabangan sbic (skip if bit in I/O is cleared) : kip jika bit I/O yang diuji clear sbis (skip if bit in I/O is set) : kip jika bit I/O yang diuji set sbrc (skip if bit in register is clear) : kip jika bit dalam register yang diuji clear cp (compare) : Membandingkan isi dua register mov (move) : Meng-copy isi dua register cpi (compare with immediate) : Membandingakan isi register dengan konstanta tertentu. breq (branch if equal) : Lompat ke label tertentu jika suatu hasil perbandingan adalah sama. brne (branch if not equal) : Lompat ke label tertentu jika suatu hasil perbandingan adalah tidak sama. rjmp (relative jump) : Lompat ke label tertentu. rcall (relative call) : Memanggil subrutin. (urn) : Keluar dari sub rutin. 5.2 Contoh Program Operasi Percabangan.include "m8535def.inc".org 0x00 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 clr r6 ; r6=0x00 naik: inc r6 ; increment r6 cpi r6,5 ; r6=5? breq lagi ; branch to lagi if r6 = 5 rjmp naik ; jump to naik if r6 5 lagi: ldi r8,5 ; r8 = 5 dec r6 ; decrement r6 cp r6,r8 ; compare r6 & r8 brne lompat ; branch to lompat if r6=r8 rjmp lagi ; jump to lagi if r6 r8 lompat: rcall rutin rcall rutin2 henti: rjmp henti rutin: mov r7,r6 rutin2: mov r9,r8 Basic AVR Tutorial by Hendawan oebhakti Page 6 of 68

17 Latihan : Buatlah program delay dari flowchart berikut ini : Mulai Isi r7 dengan 0x05 Isi r6 dengan 0x0A Kurangi isi r6 Tdk r6=0? Ya Kurangi isi r7 Tdk r7=0? Ya elesai Basic AVR Tutorial by Hendawan oebhakti Page 7 of 68

18 BAB VI Interupsi Interupsi adalah kondisi yang memaksa mikrokontroler menghentikan sementara eksekusi program utama untuk mengeksekusi rutin interrupt tertentu / Interrupt ervice Rine (IR) etelah melaksanakan IR secara lengkap, maka mikrokontroler akan kembali melanjutkan eksekusi program utama yang tadi ditinggalkan. Time Main Program (a). Program execution with interrupts IR IR IR Main Main Main Main Time (b). Program execution with interrupts Pada Atmega 8535 terdapat 2 sumber interupsi yaitu : Tabel 6. Interrupt Vector pada ATmega 8535 Vector Program o Address ource Interrupt Definition 0x0000 REET External Pin, Power-on Reset, Brown- Reset and Watchdog Reset 2 0x000 IT0 External Interrupt Request 0 3 0x0002 IT External Interrupt Request 4 0x0003 TIMER2 COMP Timer/Counter2 Compare Match 5 0x0004 TIMER2 OVF Timer/Counter2 Overflow 6 0x0005 TIMER CAPT Timer/Counter Capture Event 7 0x0006 TIMER COMPA Timer/Counter Compare Match A 8 0x0007 TIMER COMPB Timer/Counter Compare Match B 9 0x0008 TIMER OVF Timer/Counter Overflow 0 0x0009 TIMER0 OVF Timer/Counter0 Overflow 0x000A PI, TC erial Transfer Complete 2 0x000B UART, RXC UART, Rx Complete 3 0x000C UART, UDRE UART Data Register Empty 4 0x000D UART, TXC UART, Tx Complete 5 0x000E ADC ADC Conversion Complete 6 0x000F EE_RDY EEPROM Ready 7 0x000 AA_COMP Analog Comparator 8 0x00 TWI Two-wire erial Interface 9 0x002 IT2 External Interrupt Request x003 TIMER0 COMP Timer/Counter0 Compare Match 2 0x004 PM_RDY tore Program Memory Ready Basic AVR Tutorial by Hendawan oebhakti Page 8 of 68

19 M2 E M M0 IC IC0 IC0 IC00 MCUCR / MCU Control Register Bit ymbol Fuction 7,5,4 M2..0 leep Mode elect Bits. Digunakan untuk memilih mode sleep MCU M2 M M0 leep Mode Idle 0 0 ADC oise Reduction 0 0 Power-down 0 Power-save 0 0 Reserved 0 Reserved 0 tandby Extended tandby 6 E leep Enable. Digunakan untuk mengaktifkan mode leep dengan memberikan logika pada E sebelum leep dijalankan. etelah Wake-up harus segera diberi logika 0. 3,2 IC, IC0 Interrupt ense Control Bit. Digunakan untuk memilih jenis pulsa trigger External Interrupt (IT). IC IC0 Description 0 0 The low level of IT generates an interrupt request. 0 Any logical change on IT generate an interrupt request 0 The falling edge of IT generate an interrupt request. The rising edge of IT generate an interrupt request.,0 IC0, IC00 Interrupt ense Control 0 Bit. Digunakan untuk memilih jenis pulsa trigger External Interrupt 0 (IT0). IC0 IC00 Description 0 0 The low level of IT0 generates an interrupt request. 0 Any logical change on IT0 generate an interrupt request 0 The falling edge of IT0 generate an interrupt request. The rising edge of IT0 generate an interrupt request. Basic AVR Tutorial by Hendawan oebhakti Page 9 of 68

20 IT IT0 IT IVEL IVCE GICR / General Interrupt Control Register Bit ymbol Fuction 7 IT External Interrupt Request Enable. Digunakan untuk mengaktifkan IT dengan syarat bit I pada REG juga diset. 6 IT0 External Interrupt Request 0 Enable. Digunakan untuk mengaktifkan IT0 dengan syarat bit I pada REG juga diset. 5 IT External Interrupt Request 2 Enable. Digunakan untuk mengaktifkan IT2 dengan syarat bit I pada REG juga diset. 4,3,2 - Reserved IVEL Interrupt Vector elect. Jika IVEL = 0 maka interrupt vector ditempatkan pada start address flash memory Jika IVEL = maka interrupt vector ditempatkan pada awal bootloader dalam flash memory. IVCE Interrupt Vector Change Enable. Digunakan untuk mengaktifkan perubahan interrupt vector. Basic AVR Tutorial by Hendawan oebhakti Page 20 of 68

21 Contoh Program : Interrupt 0.include "m8535def.inc".org 0x0000 rjmp main.org 0x000 rjmp ex_int0 main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi set_int: ldi ldi sei r6,0xff ddrd,r6 PortD,r6 r7,0b GICR,r7 r7,0b MCUCR,r7 loop: rjmp loop ex_int0: push r6 in r6,reg push r6 ldi pop pop i r7,0xff ddra,r7 PortA,r7 r6 REG,r6 r6 Basic AVR Tutorial by Hendawan oebhakti Page 2 of 68

22 BAB VII Timer/Counter. Prescaler Timer pada dasarnya hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal yang dipasang atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 024. Berikut penjelasannya : ebuah AVR menggunakan crystal dengan frekuensi 8 MHz dan timer yang digunakan adalah timer 6 bit, maka maksimum waktu timer yang bisa dihasilkan adalah : TMAX = /fclk x (FFFFh+) = 0.25u x = Untuk menghasilkan waktu timer yang lebih lama dapat digunakan prescaler, misalnya 024, maka maksimum waktu timer yang bisa dihasilkan adalah : TMAX = /fclk x (FFFFh+) x = 0.25u x x 024 = Ketika presacaler digunakan, waktu timer dapat diperpanjang namun tingkat ketelitiannya menjadi turun. Misalnya dengan prescaler 024 nilai timer akan bertambah setiap kelipatan 024 pulsa dan membutuhkan waktu /fclk x 024 = 0.25u x 024 = 28 u bandingkan tingkat resolusi ini jika tanpa precsaler (0.25u). 2. Timer 6 Bit ormal Mode Pada mode normal, TCT akan menghitung naik dan membangkitkan interrupt Timer/Counter ketika nilainya berubah dari 0xFFFF ke 0x0000. eringkali kita menganggap untuk menggunakan timer cukup dengan memasukkan nilai yang diinginkan ke TCT dan menunggu sampai terjadi interrupt. Ini menjadi benar pada timer yang menghitung mundur, tetapi untuk timer yang menghitung maju, maka anda harus memasukkan nilai (timer value) ke dalam TCT. Gambar 7. Blok Diagram Timer 6 Bit Basic AVR Tutorial by Hendawan oebhakti Page 22 of 68

23 3. Register Timer 6 Bit TCT Timer/Counter Register digunakan untuk menyimpan nilai timer yang diinginkan. TCT dibagi menjadi 2 register 8 bit yaitu TCTH dan TCTL. TIMK & TIFR Timer Interrupt Mask Register (TIMK) dan Timer Interrupt Flag (TIFR) Register digunakan untuk mengendalikan interrupt mana yang diaktifkan dengan cara melakukan setting pada TIMK dan untuk mengetahui interrupt mana yang sedang terjadi OCIE2 TOIE2 TICIE OCIEA OCIEB TOIE OCIE0 TOIE0 TIMK / Timer/Counter Interrupt Mask Register Bit ymbol Fuction 7 OCIE2 Timer/Counter2 Output Compare Match Interrupt Enable. 6 TOIE2 Timer/Counter2 Overflow Interrupt Enable. 5 TICIE Timer Input Capture Interrupt Enable 4 OCIEA Timer/CounterA Output Compare Match Interrupt Enable. 3 OCIEB Timer/CounterB Output Compare Match Interrupt Enable. 2 TOIE Timer/Counter Overflow Interrupt Enable. 4 OCIE0 Timer/Counter0 Output Compare Match Interrupt Enable. 0 TOIE0 Timer/Counter0 Overflow Interrupt Enable. Basic AVR Tutorial by Hendawan oebhakti Page 23 of 68

24 OCF2 TOV2 ICF OCFA OCFB TOV OCF0 TOV0 TIFR / Timer/Counter Interrupt Flag Register Bit ymbol Fuction 7 OCF2 Output Compare Flag2. 6 TOV2 Timer/Counter2 Overflow Flag. 5 ICF Timer Input Capture Interrupt Flag 4 OCFA Output Compare FlagA. 3 OCFB Output Compare FlagB. 2 TOV Timer/Counter Overflow Flag. 4 OCF0 Output Compare Flag0. 0 TOV0 Timer/Counter0 Overflow Flag. TCCRB Timer/Counter Control Register B digunakan untuk mengatur mode timer, prescaler dan pilihan lainnya. C2..0: Clock elect bits ; Tiga bit pemilih prescaler timer/counter dan hubungannya dengan clock eksternal pada pin T. 4. Perhitungan Waktu Timer Basic AVR Tutorial by Hendawan oebhakti Page 24 of 68

25 Dimana : TCT f CLK : ilai timer (Hex) T TCT = ( + FFFF h) ( timer : Frekuensi clock (crystal) yang digunakan (Hz) f CLK ) T timer : Waktu timer yang diinginkan (detik) : Prescaler (, 8, 64, 256, 024) +FFFFh : ilai max timer adalah FFFFh dan overflow saat FFFFh ke 0000h Contoh : Diinginkan sebuah timer 6 bit bekerja selama detik, dengan frekuensi clock sebesar,0592mhz dan presecaller 024 maka diperoleh nilai TCT sebesar : TCT TCT TCT TCT = + FFFFh) 024 = 0000h 0800d = 0000h 2A30h = D5D0h Dengan demikian nilai TCTH = D5h dan TCTL = D0h 5. Maksimum Waktu Timer Timer 6 bit AVR8535 dapat menghasilkan waktu tunda maksimum sebesar 6, detik pada frekuensi,0592mhz TCT = (+ FFFFh) FFFFh = (0000 h) (FFFFh) = 000h Dengan nilai maksimum FFFFh maka akan dihasilkan waktu timer selama : Ttimer FFFFh = ( ) = (T 0800) T timer timer = 6, detik Basic AVR Tutorial by Hendawan oebhakti Page 25 of 68

26 7. Mengaktifkan Timer etelah tahu nilai yang harus dituliskan ke TCT maka anda harus mengaktifkan bit interrupt terkait dan global interrupt enable. Berikut adalah flowchart apa yang terjadi pada timer : Langkah yang perlu dilakukan adalah : Aktifkan TOIE pada TIMK Masukkan nilai timer ke TCT misalnya : D5D0h et prescaler pada 024 ( set bit C2 dan C0 pada TCCRB) Aktifkan bit global interrupt pada REG Tunggu. Atau lakukan hal yang lain. emua perhitungan dan pengecekan flag dilakukan oleh hardware. Basic AVR Tutorial by Hendawan oebhakti Page 26 of 68

27 Contoh Program :.include "m8535def.inc".equ timer_value = 0xD5D0.org 0x0000 rjmp mulai mulai: ldi ldi r6,low(ramed) PL,r6 r6,high(ramed) PH,r6 ulang: ldi r6,0xff ddra,r6 PortA,r6 rcall timerd ldi r6,0x00 PortA,r6 rcall timerd rjmp ulang timerd: ldi r6,0b ;aktifkan enable interupt TIMK,r6 ldi r6,high(timer_value) ;masukkan nilai timer TCTH,r6 ldi r6,low(timer_value) TCTL,r6 ldi r6,0b ;masukkan prescaler 024 TCCRB,r6 looptimer: in r7,tifr sbrs r7,tov ;tunggu sampai timer overflow set rjmp looptimer ldi r6,0b ;TOV dinolkan dengan memberi logika TIFR,r6 Basic AVR Tutorial by Hendawan oebhakti Page 27 of 68

28 BAB VIII Pengendalian Motor tepper. Dasar Motor tepper Motor stepper adalah sebuah peralatan elektromekanik yang mengubah pulsa elektrik menjadi pergerakan mekanik. haft atau kumparan motor stepper berputar per step ketika pulsa elektrik dimasukkan ke kumparan tersebut dengan urutan yang benar. Urutan pemberian pulsa ke motor stepper akan menyebabkan arah putaran yang berbeda. edangkan besarnya frekuensi dari pulsa akan mempengaruhi kecepatan putaran motor stepper. Motor tepper Unipolar Gambar 2. Motor tepper Unipolar Motor stepper unipolar baik tipe 5 atau 6 kabel biasanya dihubungkan seperti pada gambar 2., dengan sebuah center tap pada tiap kumparan. Pada penggunaannya, center tap dihubungkan ke supply positif, dan dua ujung kumparan lainnya dihubungkan ke ground. Bagian rotor motor pada gambar 2. dibuat dari magnet permanent dengan 6 kutub, 3 kutub utara dan 3 kutub selatan. eperti terlihat pada gambar, arus mengalir dari center tap kumparan ke terminal a menyebabkan kutub stator yang atas menjadi berkutub utara dan kutub stator yang bawah berkutub selatan. Kondisi ini menyebabkan rotor berada pada posisi seperti gambar 2.. Jika arus pada kumparan dimatikan dan kumparan 2 dinyalakan, maka rotor akan berputar 30 derajat, atau step. Untuk berputar secara kontinyu, kita hanya perlu menghubungkan supplay power ke 2 kumparan secara berurutan. Dengan asumsi bahwa logika berarti arus mengalir pada kumparan motor, maka berikut adalah urutan yang harus dipenuhi agar motor dapat berputar sebanyak 24 step atau 2 putaran : Kumparan a Kumparan b Kumparan 2a Kumparan 2b waktu ---> Basic AVR Tutorial by Hendawan oebhakti Page 28 of 68

29 Basic AVR Tutorial by Hendawan oebhakti Page 29 of tep tep 2 tep 3 tep tep 5 tep 6 tep 7 tep tep 9 tep 0 tep tep 2 Gambar 2.2 Bergeraknya Motor tepper tep Angle / A Motor stepper bergerak per step. etiap bergerak satu step, motor stepper akan berputar beberapa derajat sesuai dengan step anglenya. tep angle tergantung dari jumlah kutub magnet motor stepper. Jumlah putaran yang diperlukan agar motor stepper bergerak putaran penuh (360 0 ) adalah : tep = / tep Angle Misalnya, sebuah motor stepper memiliki A=,80 maka untuk untuk berputar satu putaran penuh memerlukan jumlah step sebanyak : 360 /,8 = 200 step

30 kema Rangkaian Driver Motor tepper 0K +2V 0K PA.0 K TIP TIP 22 K PA.3 0K MOTOR TEPPER 0K PA. K TIP TIP 22 K PA.2 Gambar 2.3 kema Rangkaian Driver Motor tepper 2. Kendali Arah Putaran Arah putaran motor stepper ditentukan oleh arah urutan aktifasi kumparannya. ecara program, ini bisa dilakukan dengan mengubah arah pergeseran bit. Jika arah pergesarannya ke kiri, maka motor stepper akan berputar kearah kiri pula (CCW) Jika arah pergeserannya ke kanan, maka motor stepper akan berputar ke arah kanan (CW) Arah Putaran CW.include "m8535def.inc".org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ldi r9,0x08 tep: PortA,r9 rcall delay ror r9 cpi r9,0x0 brne tep PortA,r9 rcall delay ldi r9,0x08 rjmp tep Arah Putaran CCW.include "m8535def.inc".org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ldi r9,0x0 tep: PortA,r9 rcall delay rol r9 cpi r9,0x08 brne tep PortA,r9 rcall delay ldi r9,0x0 rjmp tep Basic AVR Tutorial by Hendawan oebhakti Page 30 of 68

31 delay: ldi r20,0x02 dl: ldi r2,0xff dl2: ldi r22,0xff dl3: dec r22 cpi r22,0x00 brne dl3 dec r2 cpi r2,0x00 brne dl2 dec r20 cpi r20,0x00 brne dl delay: ldi r20,0x02 dl: ldi r2,0xff dl2: ldi r22,0xff dl3: dec r22 cpi r22,0x00 brne dl3 dec r2 cpi r2,0x00 brne dl2 dec r20 cpi r20,0x00 brne dl Pada program, jika instruksi ror r9 diganti menjadi rol r9 Maka arah putaran motor stepper akan berubah. 3. Kendali Posisi Derajat putaran motor stepper ditentukan oleh banyaknya jumlah pergeseran aktifasi kumparannya. ecara program, ini bisa dilakukan dengan mengubah jumlah pergeseran bit. Pada motor stepper dengan A=,8 0, agar motor stepper bergerak 45 0 maka diperlukan pergeseran step sebanyak : 45/,8 =25 step.include "m8535def.inc".org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ldi r9,0x08 ldi r7,25 Loop: rcall tep dec r7 cpi r7,0 brne Loop top: nop rjmp top tep: cpi r9,0x0 brne hift PortA,r9 rcall delay ldi r9,0x08 hift: PortA,r9 rcall delay ror r9 Basic AVR Tutorial by Hendawan oebhakti Page 3 of 68

32 delay: ldi r20,0x02 dl: ldi r2,0xff dl2: ldi r22,0xff dl3: dec r22 cpi r22,0x00 brne dl3 dec r2 cpi r2,0x00 brne dl2 dec r20 cpi r20,0x00 brne dl Jika instruksi ldi r7,25 diganti menjadi ldi r7,50 maka posisi akhir motor stepper adalah Kendali Kecepatan Kecepatan motor stepper ditentukan oleh kecepatan aktifasi kumparannya. ecara program, ini bisa dilakukan dengan mengubah delay waktu pergeseran tiap bitnya. emakin cepat delay waktunya, kecepatan motor stepper juga akan bertambah..include "m8535def.inc".org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ldi r9,0x08 tep: PortA,r9 rcall delay ror r9 cpi r9,0x0 brne tep PortA,r9 rcall delay ldi r9,0x08 rjmp tep delay: ldi r20,0x20 dl: ldi r2,0xff dl2: ldi r22,0xff dl3: dec r22 cpi r22,0x00 brne dl3 dec r2 cpi r2,0x00 brne dl2 dec r20 cpi r20,0x00 Basic AVR Tutorial by Hendawan oebhakti Page 32 of 68

33 brne dl Jika instruksi ldi r20,0x20 menjadi ldi r20,0x02 maka kecepatan motor stepper akan bertambah. 5. Kendali Torsi Torsi motor stepper ditentukan oleh banyaknya jumlah kumparan yang aktif pada saat yang sama. Torsi akan bertambah besar jika 2 kumparan aktif pada saat yang sama. ecara program, ini bisa dilakukan dengan mengubah kondisi bit..include "m8535def.inc".org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ldi r9,0x4c tep: PortA,r9 rcall delay ror r9 cpi r9,0x09 brne tep PortA,r9 rcall delay ldi r9,0x4c rjmp tep delay: ldi r20,0x20 dl: ldi r2,0xff dl2: ldi r22,0xff dl3: dec r22 cpi r22,0x00 brne dl3 dec r2 cpi r2,0x00 brne dl2 dec r20 cpi r20,0x00 brne dl Jika instruksi ldi r9,0x4c cpi r9,0x09 diubah menjadi ldi r9,0x08 cpi r9,0x0 maka torsi motor stepper akan turun menjadi setengahnya. Basic AVR Tutorial by Hendawan oebhakti Page 33 of 68

34 BAB IX Liquid Crystal Display. Konfigurasi Pin LCD 6x2 LIQUID CRYTAL DIPLAY 6 CHARACTER X 2 LIE V VDD VO R R/W E DB0 DB DB2 DB3 DB4 DB5 DB6 DB7 A K 6 Gambar 9. Konfigurasi Pin LCD 6 Karakter x 2 Baris Pin o. ymbol Level Description V 0V Ground 2 VDD 5V upply voltage for logic 3 VO (Variable) Operating voltage for LCD 4 R H/L H : Data, L : Instruction code 5 R/W H/L H : Read, L : Write 6 E H, H->L Chip Enable signal 7 DB0 H/L Data bit 0 8 DB H/L Data bit 9 DB2 H/L Data bit 2 0 DB3 H/L Data bit 3 DB4 H/L Data bit 4 2 DB5 H/L Data bit 5 3 DB6 H/L Data bit 6 4 DB7 H/L Data bit 7 5 A 4,2 4,6 V LED + 6 K 0V LED - Basic AVR Tutorial by Hendawan oebhakti Page 34 of 68

35 2. Rangkaian kematik Mikrokontroler dan LCD 6x2 2x6 LCD V VCC VEE R RW E DB0 DB DB2 DB3 DB4 DB5 DB6 DB7 A K +5V +5V R 5K PA.4 PA.6 PA.0 PA. PA.2 PA.3 +5V D Gambar 9.2 Rangkaian kematik LCD Fungsi Register LCD Modul display LCD sudah dilengkapi dengan sebuah kontroler yang memiliki dua register 8 bit yaitu instruction register (IR) dan data register (DR). IR menyimpan kode instruksi, seperti display clear, cursor shift dan informasi address untuk display data RAM (DDRAM) dan character generator (CGRAM). R R/W Operation 0 0 Menulis instruksi ke IR, seperti display clear, cursor shift 0 Membaca busy flag (DB7) dan address counter (DB0 s/d DB7) 0 Menulis data ke DDRAM atau CGRAM Membaca data dari DDRAM atau CGRAM Busy Flag (BF) Busy flag = saat kontroler sedang mengerjakan instruksi, selama instruksi tersebut belum selesai dikerjakan, kontroler tidak akan menerima instruksi apapun. Ketika R=0 dan R/W=, busy flag mengeluarkan logika pada DB7. Instruksi berikutnya akan siap diterima ketika busy flag = 0. Address Counter (AC) Address counter berisi address DDRAM dan CGRAM. Display Data RAM (DDRAM) DDRAM menyimpan data display dalam bentuk kode karakter 8 bit. Kapasitasnya adalah 80 karakter. Berikut adalah posisi address DDRAM pada LCD 6x2 : A 0B 0C 0D 0E 0F A 4B 4C 4D 4E 4F Character Generator ROM (CGROM) CGROM akan menghasilkan karakter dengan format 5x8 dot atau 5x0 dot. Lihat tabel Format Karakter CGROM Basic AVR Tutorial by Hendawan oebhakti Page 35 of 68

36 Character Generator RAM (CGRAM) Dengan CGRAM, user dapat membuat sendiri format karakter yang diinginkan. Untuk format 5x8 dot bisa dibuat 8 karakter, untuk format 5x0 dapat dibuat 4 karakter. Lihat tabel 4. Hubungan CGRAM Address, DDRAM dan Pola Karakter Basic AVR Tutorial by Hendawan oebhakti Page 36 of 68

37 5. Pola Karakter CGROM Basic AVR Tutorial by Hendawan oebhakti Page 37 of 68

38 6. Tabel Instruksi Instruksi Kode Instruksi Deskripsi R R/W DB7 DB6 DB5 DB4 DB3 DB2 DB DB0 Clear display Menghapus semua tampilan pada display et DDRAM address ke 00h dan Return home * kembalikan cursor ke posisi awal. Isi DDRAM tidak berubah Menentukan auto increment / Entry mode set I/D decrement DDRAM address karakter atau cursor berikutnya yang akan ditulis ke display. Display O/OFF et display (D), cursor (C), dan D C B control cursor blinking (B) O/OFF Menentukan pergeseran display atau Cursor or Display shift /C R/L * * cursor serta menentukan arah pergeseran display Menentukan panjang data interface Function set DL F * * (DL: 8 atau 4 bit), jumlah baris (: atau 2 baris) dan tipe font (F: 5x0 atau 5x7 dot) et CGRAM address ACG et CGRAM address et DDRAM address 0 0 ADD et DDRAM address Mengetahui apakah LCD sedang Read Busy Flag and 0 BF AC mengerjakan instruksi atau tidak. Isi address address counter juga dapat dibaca Write data to RAM 0 D7 D6 D5 D4 D3 D2 D D0 Menulis data ke internal RAM (DDRAM/CGRAM) Read data from RAM D7 D6 D5 D4 D3 D2 D D0 Membaca data dari internal RAM (DDRAM/CGRAM) I/D = : Increment C = : Cursor O R/L = : Right hift F = : 5x7 dots I/D = 0 : Decrement C = 0 : Cursor OFF R/L = 0 : Left hift F = 0 : 5x0 dots = : Displayhift B = : Blink O DL = : 8 bits BF = : Busy = 0 : o Display hift B = 0 : Blink OFF DL = 0 : 4 bits BF = 0 : Can Accept Data D = : Display O /C = : Display hift = : 2 Lines ACG : CGRAM Address D = 0 : Display OFF /C = 0 : Cursor Move = 0 : Line ADD : DDRAM Address Basic AVR Tutorial by Hendawan oebhakti Page 38 of 68

39 7. Inisialisasi LCD Power On Tunggu = 5 m setelah VCC naik sampai 4,5V BF belum bisa dicek sebelum instruksi ini R R/W DB7 DB6 DB5 DB4 DB3 DB2 DB DB * * * * Function et (Interface 8 bit) Tunggu = 4, m BF belum bisa dicek sebelum instruksi ini R R/W DB7 DB6 DB5 DB4 DB3 DB2 DB DB * * * * Function et (Interface 8 bit) Tunggu = 00 u BF belum bisa dicek sebelum instruksi ini R R/W DB7 DB6 DB5 DB4 DB3 DB2 DB DB * * * * Function et (Interface 8 bit) BF bisa dicek setelah instruksi-instruksi berikut. Jika BF tidak dicek, tundaan waktu tiap instruksi harus lebih lama dari waktu eksekusi instruksi. R R/W DB7 DB6 DB5 DB4 DB3 DB2 DB DB F * * I/ D Function et (Interface 8 bit) Display OFF Display Clear Entry Mode et Inisialisasi selesai Interface 8 bit Basic AVR Tutorial by Hendawan oebhakti Page 39 of 68

40 Power On Tunggu = 5 m setelah VCC naik sampai 4,5V BF belum bisa dicek sebelum instruksi ini R R/W DB7 DB6 DB5 DB Function et (Interface 8 bit) Tunggu = 4, m BF belum bisa dicek sebelum instruksi ini R R/W DB7 DB6 DB5 DB Function et (Interface 8 bit) Tunggu = 00 u BF belum bisa dicek sebelum instruksi ini R R/W DB7 DB6 DB5 DB Function et (Interface 8 bit) BF bisa dicek setelah instruksi-instruksi berikut. Jika BF tidak dicek, tundaan waktu tiap instruksi harus lebih lama dari waktu eksekusi instruksi. R R/W DB7 DB6 DB5 DB F * * I/D Function et (Interface 4 bit) Function et (Interface 4 bit) Display OFF Display Clear Entry Mode et Inisialisasi selesai Interface 4 bit Basic AVR Tutorial by Hendawan oebhakti Page 40 of 68

41 8. Contoh Program.include "m8535def.inc".equ timer_value = 0xffca.equ timer_value00 = 0xfbaf.cseg.org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 rcall InitLCD tart: ldi r7,0x0 rcall Lcd Loopx: ldi ZL,low(2*text) ldi ZH,high(2*text) rcall WMLCD ldi ZL,low(2*text2) ldi ZH,high(2*text2) rcall WM2LCD end: rjmp Loopx ; ; Write Message to LCD ; WMLCD: ldi r7,0x80 ;st line, st col rcall Lcd rjmp Wr WM2LCD: ldi r7,0xc0 rcall Lcd Wr: clr r LoopWr: lpm ;load program memory mov r9,r0 cpi r9,0 brne extchr extchr: rcall WLCD ;write character adiw ZL, ;get next char rjmp LoopWr ; ; Inisialisasi LCD ; InitLCD: ldi r20,8 LoopDelay: rcall delay5m dec r20 cpi r20,0 brne LoopDelay ldi r7,0x03 ;Function set PortA,r7 sbi PortA,6 ;E= cbi PortA,6 ;E=0 rcall delay5m Basic AVR Tutorial by Hendawan oebhakti Page 4 of 68

42 ldi r7,0x03 ;Function set PortA,r7 sbi PortA,6 ;E= cbi PortA,6 ;E=0 rcall delay00u ldi r7,0x02 ;Function set:4 bit operation PortA,r7 sbi PortA,6 ;E= ; rcall delay00u cbi PortA,6 ;E=0 ldi r7,0x28 ;Function set:4 bit op;2lines rcall Lcd ldi r7,0x08 ;Turn Off LCD rcall Lcd ldi r7,0x0c ;Turn On LCD rcall Lcd ldi r7,0x0 ;Clear Display rcall Lcd ldi r7,0x06 ;Entry mode set; Inc addr rcall Lcd ; ; Rutin kirim instruksi ; Lcd: mov r8,r7 andi r8,$f0 ;Get high nibble swap r8 PortA,r8 sbi PortA,6 ;E= cbi PortA,6 ;E=0 ; mov r8,r7 andi r8,$0f ;Get low nibble PortA,r8 sbi PortA,6 ;E= cbi PortA,6 ;E=0 rcall delay00u ; ; Rutin kirim karakter ; WLcd: mov r8,r9 andi r8,$f0 ;Get high nibble swap r8 PortA,r8 sbi PortA,4 ;R= sbi PortA,6 ;E= cbi PortA,6 ;E=0 ; mov r8,r9 andi r8,$0f ;Get low nibble PortA,r8 Basic AVR Tutorial by Hendawan oebhakti Page 42 of 68

43 sbi PortA,4 ;R= sbi PortA,6 ;E= cbi PortA,6 ;E=0 rcall delay00u ; ; Rutin delay 5ms ; delay5ms: ldi r6,0b TIMK,r6 ldi r6,high(timer_value) TCTH,r6 ldi r6,low(timer_value) TCTL,r6 ldi r6,0b TCCRB,r6 loop: in r2,tifr sbrs r2,tov rjmp loop ldi r6,0b TIFR,r6 ; ; Rutin delay 00u ; delay00us: ldi r6,0b TIMK,r6 ldi r6,high(timer_value00) TCTH,r6 ldi r6,low(timer_value00) TCTL,r6 ldi r6,0b TCCRB,r6 loop: in r2,tifr sbrs r2,tov rjmp loop ldi r6,0b TIFR,r6 ; " " text:.db "Hello World",0 text2:.db "How Are You?",0 Basic AVR Tutorial by Hendawan oebhakti Page 43 of 68

44 Catatan Tambahan : Register X, Register Y dan Register Z Register R26 R3 memiliki fungsi tambahan sebagai register serbaguna. Register-register ini dapat berfungsi sebagai register 6 bit yang dapat menyimpan address pada operasi pemindahan data dalam mode indirect addressing. Fungsinya seperti register Data Pointer / DPTR pada MC-5. Register 6 bit ini adalah register X, Y dan Z seperti gambar berikut : Gambar 9.3 Register X, Y dan Z LPM (Load Program Memory) Load byte isi address yang ditunjukkan oleh register Z ke R0. Instruksi ini mirip dengan instruksi mov A,@DPTR pada MC-5. Contoh : ldi ZL,low(2*text) ; ZL=00h ldi ZH,high(2*text) ; ZH=0h lpm ; r0= H (Karakter H) mov r9,r0 ; r9= H.org 000h text:.db "Hello World",0 Basic AVR Tutorial by Hendawan oebhakti Page 44 of 68

45 BAB X Pengendalian Motor DC. Motor DC etiap arus yang mengalir melalui sebuah konduktor akan menimbulkan medan magnet. Arah medan magnet dapat ditentukan dengan kaidah tangan kiri. Ibu jari tangan menunjukkan arah aliran arus listrik sedangkan jari-jari yang lain menunjukkan arah medan magnet yang timbul, seperti yang ditunjukkan oleh gambar 0. berikut ini. Gambar 0. Kaidah Tangan Kiri Jika suatu konduktor yang dialiri arus listrik ditempatkan dalam sebuah medan magnet, kombinasi medan magnet akan ditunjukkan oleh gambar 0.2. Arah aliran arus listrik dalam konduktor ditunjukkan dengan tanda x atau.. Tanda x menunjukkan arah arus listrik mengalir menjauhi pembaca gambar, tanda. menunjukkan arah arus listrik mengalir mendekati pembaca gambar. Gambar 0.2 Konduktor Berarus Listrik Dalam Medan Magnet Basic AVR Tutorial by Hendawan oebhakti Page 45 of 68

46 Pada gambar sebelah kiri, arah medan magnet pada sisi atas yang dihasilkan oleh konduktor berlawanan dengan arah medan magnet yang dihasilkan oleh magnet permanen. ementara pada sisi sebelah bawah, arah medan magnet yang dihasilkan oleh konduktor searah dengan arah medan magnet yang dihasilkan oleh magnet permanen. Dengan kata lain, pada sisi sebelah atas kerapatan fluks magnet lebih sedikit dari pada sisi sebelah bawah. ebuah gaya dorong akan menyebabkan konduktor bergerak ke sisi sebelah atas. Pada gambar sebelah kanan, arah medan magnet pada sisi atas yang dihasilkan oleh konduktor searah dengan arah medan magnet yang dihasilkan oleh magnet permanen. ementara pada sisi sebelah bawah, arah medan magnet yang dihasilkan oleh konduktor berlawanan dengan arah medan magnet yang dihasilkan oleh magnet permanen. Dengan kata lain, pada sisi sebelah bawah kerapatan fluks magnet lebih sedikit dari pada sisi sebelah atas. ebuah gaya dorong akan menyebabkan konduktor bergerak ke sisi sebelah bawah. Pada sebuah motor dc, konduktor dibentuk menjadi sebuah loop sehingga ada dua bagian konduktor yang berada didalam medan magnet pada saat yang sama, seperti diperlihatkan pada gambar 0.3. Konfigurasi konduktor seperti ini akan menghasilkan distorsi pada medan magnet utama dan menghasilkan gaya dorong pada masing-masing konduktor. Pada saat konduktor di tempatkan pada rotor, gaya dorong yang timbul akan menyebabkan rotor berputar searah dengan jarum jam, seperti diperlihatkan pada gambar 0.3. Gambar 0.3 Bergeraknya ebuah Motor ebuah cara lagi untuk menunjukkan hubungan antara arus listrik yang mengalir didalam sebuah konduktor, medan magnet dan arah gerak, adalah kaidah tangan kanan untuk motor seperti yang diperlihatkan pada gambar 0.4. Basic AVR Tutorial by Hendawan oebhakti Page 46 of 68

47 Gambar 0.4 Kaidah Tangan Kanan Untuk Motor Kaidah tangan kanan untuk motor menunjukkan arah arus yang mengalir didalam sebuah konduktor yang berada dalam medan magnet. Jari tengah menunjukkan arah arus yang mengalir pada konduktor, jari telunjuk menunjukkan arah medan magnet dan ibu jari menunjukkan arah gaya putar. Adapun besarnya gaya yang bekerja pada konduktor tersebut dapat dirumuskan dengan : F = B.L.I (ewton) Dimana : B = kerapatan fluks magnet (weber) L = panjang konduktor (meter) I = arus listrik ( ampere) Gambar 0.5 Konstruksi Dasar Motor DC Basic AVR Tutorial by Hendawan oebhakti Page 47 of 68

48 Pada gambar 0.5 diatas tampak sebuah konstruksi dasar motor dc, pada gambar diatas terlihat bahwa pada saat terminal motor diberi tegangan dc, maka arus elektron akan mengalir melalui konduktor dari terminal negatif menuju ke terminal positif. Karena konduktor berada diantara medan magnet, maka akan timbul medan magnet juga pada konduktor yang arahnya seperti terlihat pada gambar 0.5 diatas. Arah garis gaya medan magnet yang dihasilkan oleh magnet permanen adalah dari kutub utara menuju ke selatan. ementara pada konduktor yang dekat dengan kutub selatan, arah garis gaya magnet disisi sebelah bawah searah dengan garis gaya magnet permanen sedangkan di sisi sebelah atas arah garis gaya magnet berlawanan arah dengan garis gaya magnet permanen. Ini menyebabkan medan magnet disisi sebelah bawah lebih rapat daripada sisi sebelah atas. Dengan demikian konduktor akan terdorong ke arah atas. ementara pada konduktor yang dekat dengan kutub utara, arah garis gaya magnet disisi sebelah atas searah dengan garis gaya magnet permanen sedangkan di sisi sebelah bawah arah garis gaya magnet berlawanan arah dengan garis gaya magnet permanen. Ini menyebabkan medan magnet disisi sebelah atas lebih rapat daripada sisi sebelah bawah. Dengan demikian konduktor akan terdorong ke arah bawah. Pada akhirnya konduktor akan membentuk gerakan berputar berlawanan dengan jarum jam seperti terlihat pada gambar 0.5 diatas. 2. Kendali Arah Putaran Gambar 0.6 Arah Putaran Motor DC Dari gambar 0.6 diatas, agar arah putaran motor dc berubah, maka polaritas tegangan pada terminal motor harus dibalik. Basic AVR Tutorial by Hendawan oebhakti Page 48 of 68

49 R BIT0 2 3 IC Anoda C Katoda Kolektor C Emiter V R 2 0K 2 Q TIP20 +2V Q2 TIP20 2 R2 2 0K M R7 680 BIT 2 3 IC2 Anoda C Katoda Kolektor C Emiter V R3 2 0K 2 Q3 TIP20 2 MOTOR DC 2 Q4 TIP20 R4 2 0K IC3 A Vcc B 4A Y 4B 2A 4Y 2B 3A 2Y 3B G 3Y 74L00 VCC 4 3 BIT0 2 BIT R5 K 2 2 Q5 BC548 Gambar 0.7 Rangkaian Driver Motor DC Tabel 0. Tabel Kebenaran Rangkaian Driver Motor DC Input BIT BIT 0 Aksi Motor 0 0 Berhenti 0 Berputar searah jarum jam 0 Berputar berlawanan arah jarum jam Berhenti Basic AVR Tutorial by Hendawan oebhakti Page 49 of 68

50 Contoh Program :.include "m8535def.inc".org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 Run: ldi r9,0b PortA,r9 rcall delay ldi r9,0b PortA,r9 rcall delay ldi r9,0b PortA,r9 rcall delay ldi r9,0b PortA,r9 rcall delay rjmp Run delay: ldi r20,0x0 dl: ldi r2,0xff dl2: ldi r22,0xff dl3: dec r22 cpi r22,0x00 brne dl3 dec r2 cpi r2,0x00 brne dl2 dec r20 cpi r20,0x00 brne dl Basic AVR Tutorial by Hendawan oebhakti Page 50 of 68

51 3. Kendali Kecepatan (PWM) Pulse Width Modulation (PWM) adalah sebuah cara memanipulasi lebar dari pulsa dalam perioda yang konstan untuk mendapatkan tegangan rata-rata yang berbeda. 20 % 50% 90 % Gambar 2.8 inyal PWM dengan Berbagai Duty Cycle Pada gambar 2.8 menunjukkan tiga sinyal PWM yang berbeda. inyal yang paling atas menunjukkan sinyal PWM dengan duty cycle 0%. Artinya sinyal on selama 20% dari perioda sinyal dan off selama 80 % sisanya. Gambar yang lainnya menunjukkan sinyal dengan duty cycle 50% dan 90%. Ketiga sinyal PWM tersebut akan menghasilkan sinyal analog yang berbeda. ebagai contoh jika supply tegangan sebesar 9V dan duty cycle 20%, maka menghasilkan,8v. V io vo 0 t T Gambar 2.9 Pulsa PWM V o = t T V V 0 V t T : Tegangan Output (Volt) : Tegangan Pulsa PWM (Volt) : Perioda pulsa high (econ) : Periode pulsa (econ) Basic AVR Tutorial by Hendawan oebhakti Page 5 of 68

52 Contoh Program :.include "m8535def.inc".equ timer_value000 = 0xd4cd.org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ldi r6,0x00 PortA,r6 Loop: sbi PortA,0 ;Output Bit Pulse rcall Pulse cbi PortA,0 ;Output Bit Pulse rcall P_m rjmp Loop Pulse: ldi r6,0b ;o prescaling untuk timer TCCRb,r6 ldi r6,0b ;Presaling 024 untuk timer0 TCCR0,r6 ldi r6,0b ;Timer0& overflow interrupt enable TIMK,r6 ldi r6,high(timer_value000) ;ilai timer TCTH,r6 ldi r6,low(timer_value000) ;ilai timer TCTL,r6 ldi r8,$f6 ;Bilangan hex, $f6 = 0xf6 TCT0,r8 ;ilai timer0 P_300u: in r7,tifr ;Baca Timer Interrupt Flag Register sbrs r7,tov0 ;Tunggu sampai timer0 overflow set rjmp P_300u ldi r6,0b ;TOV0 dinolkan dg memberi logika TIFR,r6 P_m: in r9,tifr ;Baca Timer Interrupt Flag Register sbrs r9,tov ;Tunggu sampai timer overflow set rjmp P_m ldi r6,0b ;TOV dinolkan dg memberi logika TIFR,r6 Basic AVR Tutorial by Hendawan oebhakti Page 52 of 68

53 Catatan Tambahan : Timer/Counter0 Control Register TCCR0 C : elect bit Timer Interrupt Mask Register TIMK Timer Interrupt Flag Register - TIFR Timer/Counter Control Register B TCCRB Basic AVR Tutorial by Hendawan oebhakti Page 53 of 68

54 Basic AVR Tutorial by Hendawan oebhakti Page 54 of 68

55 BAB IX Motor ervo. Dasar Motor ervo Motor ervo terdiri dari sebuah motor DC, serangkaian gear, sebuah potensiometer, sebuah put shaft dan sebuah rangkaian kontrol elektronik. Biasanya, motor servo berbentuk kotak segi empat dengan sebuah put shaft motor dan konektor dengan 3 kabel yaitu power, kontrol dan ground. Gear motor servo ada yang terbuat dari plastic, metal atau titanium. Didalam motor servo terdapat potensiometer yang digunakan sebagai sensor posisi. Potensiometer tersebut dihubungkan dengan put shaft untuk mengetahui posisi aktual shaft. Ketika motor dc berputar, maka put shaft juga berputar dan sekaligus memutar potensiometer. Rangkaian kontrol kemudian dapat membaca kondisi potensiometer tersebut untuk mengetahui posisi aktual shaft. Jika posisinya sesuai dengan yang diinginkan, maka motor dc akan berhenti. udut operasi motor servo (Operating Angle) bervariasi tergantung jenis motor servo. Ada 2 jenis motor servo yaitu : Motor ervo tandard Yaitu motor servo yang mampu bergerak CW dan CCW dengan sudut operasi tertentu, misalnya 60 0, 90 0 atau Motor ervo Continuous Yaitu motor servo yang mampu bergerak CW dan CCW tanpa batasan sudut operasi (berputar secara kontinyu). Gambar 9. Konstruksi Motor ervo umber : Motor servo dikendalikan dengan cara mengirimkan sebuah pulsa yang lebar pulsanya bervariasi. Pulsa tersebut dimasukkan melalui kabel kontrol motor servo. udut atau posisi shaft motor servo akan diturunkan dari lebar pulsa. Biasanya lebar pulsanya antara. ms sampai.9 ms dengan periode pulsa sebesar 20 m. Basic AVR Tutorial by Hendawan oebhakti Page 55 of 68

56 Periode 20 ms Lebar Pulsa. ms (min).9 (max) Lebar pulsa akan mengakibatkan perubahan posisi pada servo. Misalnya sebuah pulsa.5 ms akan memutar motor pada posisi 90 0 (posisi netral). Agar posisi servo tetap pada posisi ini, maka pulsa harus terus diberikan pada servo. Jadi meskipun ada gaya yang melawan, servo akan tetap bertahan pada posisinya. Gaya maksimum servo tergantung dari rentang torsi servo. Lebar Pulsa. ms Lebar Pulsa.5 ms Lebar Pulsa.9 ms 80 0 Gambar 9.2 Lebar Pulsa dan Posisi ervo Ketika sebuah pulsa yang dikirim ke servo kurang dari.5 ms, servo akan berputar counterclockwise menuju ke posisi tertentu dari posisi netral. Jika pulsa yang dikirim lebih dari.5 ms, servo akan berputar clockwise menuju ke posisi tertentu dari posisi netral. etiap servo memiliki spesifikasi lebar pulsa minimum dan maksimum sendiri-sendiri, tergantung jenis dan merk servo. Umumnya antara. ms sampai.9 ms. Parameter lain yang berbeda antara servo satu dengan servo lainnya adalah kecepatan servo untuk berubah dari posisi satu ke posisi lainnya (Operating peed). Basic AVR Tutorial by Hendawan oebhakti Page 56 of 68

57 Detailed pecifications Gambar 9.3 HR-5995TG Ultra Torque umber : Control ystem: +Pulse Width Control 500usec eutral Required Pulse: Volt Peak to Peak quare Wave Operating Voltage Range: Volts Operating Temperature Range: -20 to +60 Degree C (-68F to +40F) Operating peed (6.0V): 0.5sec/60 degrees at no load Operating peed (7.4V): 0.2sec/60 degrees at no load tall Torque (6.0V): oz/in. (24kg.cm) tall Torque (7.4V): 46.6oz/in. (30kg.cm) tanding Torque (6.0V): oz/in. (3.2kg.cm) 5 degree deflection tanding Torque (7.4V): 54.59oz/in. (39kg.cm) 5 degree deflection Operating Angle: 90 Deg. one side pulse traveling 400usec 360 Modifiable: Yes Direction: Clockwise/Pulse Traveling 500 to 900usec Idle Current Drain (6.0V): 3mA at stop Idle Current Drain (7.4V): 3mA at stop Current Drain (6.0V): 300mA/idle and 4.2 amps at lock/stall Current Drain (7.4V): 380mA/idle and 5.2 amps at lock/stall Dead Band Width: 2usec Motor Type: Coreless Metal Brush Potentiometer Drive: 6 lider Indirect Drive Bearing Type: Dual Ball Bearing MR06 Gear Type: 4 Titanium Gears Connector Wire Length:.8" (300mm) Dimensions:.57" x 0.78"x.45" (40 x 20 x 37mm) Weight: 2.8oz (62g) Basic AVR Tutorial by Hendawan oebhakti Page 57 of 68

58 2. Kendali Posisi Untuk mengendalikan motor servo dapat digunakan 2 buah timer pada AVR yaitu : Timer digunakan untuk menjaga agar periode pulsa PWM sebesar 20m Timer 0 digunakan untuk menghasilkan lebar pulsa high untuk menentukan posisi servo Pada contoh program dibawah ini motor servo akan diberi pulsa high selama.5m setiap 20m sekali. Posisi motor servo ada di posisi netral / centre..include "m8535def.inc".equ timer_value20 = 0xf280 ;timer 20m.equ timer_value = 0xc0 ;timer.5m.org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 sbi DDRD,5 ;PortD.5 as put ldi r6,25 Loop: sbi PortD,5 rcall Pulse cbi PortD,5 rcall P20m dec r6 cpi r6,0 brne Loop top: nop rjmp top ; ; Generate pulse.5m ervo position at centre ; Pulse: ldi r6,0b ;Prescaling 64 untuk timer TCCRb,r6 ldi r6,0b ;Presaling 024 untuk timer0 TCCR0,r6 ldi r6,0b ;Timer0& overflow interrupt enable TIMK,r6 ldi r6,high(timer_value20) ;ilai timer = 20m TCTH,r6 ldi r6,low(timer_value20) ;ilai timer TCTL,r6 ldi r8,0xf0 ;Bilangan hex, 0xf0 = timer.5 m TCT0,r8 ;ilai timer0 P_500u: in r7,tifr ;Baca Timer Interrupt Flag Register sbrs r7,tov0 ;Tunggu sampai timer0 overflow set rjmp P_500u ldi r6,0b ;TOV0 dinolkan dg memberi logika TIFR,r6 P20m:in r9,tifr ;Baca Timer Interrupt Flag Register sbrs r9,tov ;Tunggu sampai timer overflow set Basic AVR Tutorial by Hendawan oebhakti Page 58 of 68

59 rjmp P20m ldi r6,0b ;TOV dinolkan dg memberi logika TIFR,r6 Catatan Tambahan : Timer/Counter Control Register B - TCCRB Digunakan untuk mengatur mode timer, prescaler dan pilihan lainnya. C2..0: Clock elect bits ; Tiga bit pemilih prescaler timer/counter dan hubungannya dengan clock eksternal pada pin T. Contoh Program dilakukan setting sbb : ldi r6,0b ;enable Timer with 64 prescaler TCCRB,r6 Basic AVR Tutorial by Hendawan oebhakti Page 59 of 68

60 Timer/Counter0 Control Register TCCR0 C02..00: Clock elect bits ; Tiga bit pemilih prescaler timer/counter 0 dan hubungannya dengan clock eksternal pada pin T0. Pada Contoh Program dilakukan setting sbb : ldi r6,0b ;Presaling 256 untuk timer0 TCCR0,r6 Perhitungan Timer Timer menghasilkan 20 m : TCT=(+FFFFh)-((Ttimer x fclk)/) TCT=0000h-((0.2 x )/64) TCT=0000h-3456d TCT=0000h-0D80h TCT=F280h Timer 0 menghasilkan.5m : TCT=(+FFh)-((Ttimer x fclk)/) TCT=00h-((0.005 x )/256) TCT=00h-64.8d TCT=00h-40h TCT=C0h Dimana : TCT : ilai timer (Hex) fclk : Frekuensi clock (crystal) yang digunakan (Hz) Ttimer : Waktu timer yang diinginkan (detik) : Prescaler (, 8, 64, 256, 024) Basic AVR Tutorial by Hendawan oebhakti Page 60 of 68

61 BAB X Keypad. Konfigurasi Keypad Pada dasarnya keypad adalah sejumlah tombol yang disusun sedemikian rupa sehingga membentuk susunan tombol angka dan beberapa menu lainnya. Berikut adalah contoh konfigurasi keypad 4x4 : Kolom Kolom2 Kolom3 Kolom4 Baris Baris2 Baris COR ME Baris4 CA 0 ET Gambar 0. Konfigurasi Keypad 4x4 2. Cara Mengakses Keypad Berikut ini adalah cara menghubungkan keypad ke mikrokontroler : PD.7 PD.6 ATmega8535 PD.5 PD.4 PD.0 PD. B B2 K K2 K3 K COR ME PD.2 B PD.3 B4 CA 0 ET Gambar 0.2 Menghubungkan Keypad ke Microkontroler Basic AVR Tutorial by Hendawan oebhakti Page 6 of 68

62 Untuk mengetahui tombol mana yang ditekan maka kita harus melakukan proses scanning pada keypad dengan langkah sebagai berikut : Langkah : PD.0 PD. PD.2 PD.4 PD.5 PD.6 PD COR ME a. et kondisi Port D = 0 b. Baca kondisi Port D : Jika PD.0 = 0 maka Tombol ditekan Jika PD. = 0 maka Tombol 4 ditekan Jika PD.2 = 0 maka Tombol 7 ditekan Jika PD.3 = 0 maka Tombol CA ditekan PD.3 CA 0 ET Langkah 2 : PD.0 PD. PD.2 PD.4 PD.5 PD.6 PD COR ME a. et kondisi Port D = 0 b. Baca kondisi Port D : Jika PD.0 = 0 maka Tombol 2 ditekan Jika PD. = 0 maka Tombol 5 ditekan Jika PD.2 = 0 maka Tombol 8 ditekan Jika PD.3 = 0 maka Tombol 0 ditekan PD.3 CA 0 ET Langkah 3 : PD.0 PD. PD.2 PD.4 PD.5 PD.6 PD COR ME a. et kondisi Port D = 0 b. Baca kondisi Port D : Jika PD.0 = 0 maka Tombol 3 ditekan Jika PD. = 0 maka Tombol 6 ditekan Jika PD.2 = 0 maka Tombol 9 ditekan Jika PD.3 = 0 maka Tombol ET ditekan PD.3 CA 0 ET Langkah 4 : PD.0 PD. PD.2 PD.3 PD.4 PD.5 PD.6 PD CA 0 ET COR ME a. et kondisi Port D = 0 b. Baca kondisi Port D : Jika PD.0 = 0 maka Tombol COR ditekan Jika PD. = 0 maka Tombol ME ditekan Jika PD.2 = 0 maka Tombol UP ditekan Jika PD.3 = 0 maka Tombol DOW ditekan Jika kondisi PD.0..PD.3 = maka tidak ada penekanan tombol Basic AVR Tutorial by Hendawan oebhakti Page 62 of 68

63 Contoh Program :.include "m8535def.inc".def temp =r22.def dly =r23.def dly =r24.def Key =r25.equ col =0b0 ;Column.equ col2 =0b0 ;Column 2.equ col3 =0b0 ;Column 3.equ col4 =0b0 ;Column 4.org 0x0000 rjmp main main: ldi r6,low(ramed) PL,r6 ldi r6,high(ramed) PH,r6 ldi r6,0xff ddra,r6 ;PortA as put ldi r6,0xf0 ;PD[7:4]=put PD[3:0]=input ddrd,r6 loopx: rcall check_keys rjmp loopx ; ; Check keypad sub rine ; check_keys: ldi temp,col ;Enable column PORTD,temp rcall delay sbic PID,PD0 ; Pressed key o? rjmp key4 ; if ot, check next key ldi key,0x0 ; if yes... PortA,key ; key=0x0 key4: sbic PID,PD ; Pressed key o4? rjmp key7 ; if ot, check next key ldi key,0x04 ; if yes... PortA,key ; key=0x04 key7: sbic PID,PD2 ; Pressed key o7? rjmp keyca ; if ot, check next key ldi key,0x07 ; if yes... PortA,key ; key=0x07 keyca: sbic PID,PD3 ; Pressed key CA? rjmp key2 ; if ot, check next key ldi key,0x0a ; if yes... PortA,key ; key=0x0a key2: ldi temp,col2 ; Disable the first column... PORTD,temp ; and enable the second rcall delay sbic PID,PD0 ; Pressed key o2? Basic AVR Tutorial by Hendawan oebhakti Page 63 of 68

64 rjmp key5 ; if ot... ldi key,0x02 ; if yes... PortA,key ; key=0x02 key5: sbic PID,PD ; Pressed key o5? rjmp key8 ; if ot... ldi key,0x05 ; if yes... PortA,key ; key=0x05 key8: sbic PID,PD2 ; Pressed key o8? rjmp key0 ; if ot... ldi key,0x08 ; if yes... PortA,key ; key=0x08 key0: sbic PID,PD3 ; Pressed key o0? rjmp key3 ; if ot... ldi key,0x00 ; if yes... PortA,key ; key=0x00 key3: ldi temp,col3 ; Disable 2nd column... PORTD,temp ; and enable the 3th rcall delay sbic PID,PD0 ; Pressed key o3? rjmp key6 ; if ot... ldi key,0x03 ; if yes... PortA,key ; key=0x03 key6: sbic PID,PD ; Pressed key o6? rjmp key9 ; if ot... ldi key,0x06 ; if yes... PortA,key ; key=0x06 key9: sbic PID,PD2 ; Pressed key o9? rjmp keyet ; if ot... ldi key,0x09 ; if yes... PortA,key ; key=0x09 keyet: sbic PID,PD3 ; Pressed key ET? rjmp keycor ; if ot... ldi key,0x0b ; if yes... PortA,key ; key=0x0b keycor: ldi temp,col4 ; PORTD,temp rcall delay sbic PID,PD0 ; Pressed key COR? rjmp keyme ; if ot... ldi key,0x0c ; if yes... PortA,key ; key=0x0c keyme: sbic PID,PD ; Pressed key ME? rjmp keyup ; if ot... ldi key,0x0d ; if yes... PortA,key ; key=0x0d Basic AVR Tutorial by Hendawan oebhakti Page 64 of 68

65 keyup: sbic PID,PD2 ; Pressed key UP? rjmp keydw ; if ot... ldi key,0x0e ; if yes... PortA,key ; key=0x0e keydw: sbic PID,PD3 ; Pressed key DOW? rjmp check_keys ; if ot... ldi key,0x0f ; if yes... PortA,key ; key=0x0f ; ; Delay sub rine ; delay: ldi dly,0x0 dl: ldi dly,0xff dl2: dec dly cpi dly,0x00 brne dl2 dec dly cpi dly,0x00 brne dl Basic AVR Tutorial by Hendawan oebhakti Page 65 of 68

66 BAB XI erial UART. Inisialisasi UART Berikut register yang perlu disetting untuk mengatur komunikasi serial UART : UBRR (UART Baud Rate Register) UCRB (UART Control and tatus Register B) UCRC (UART Control and tatus Register C) UBRR Digunakan untuk menentukan baud rate UART. Rumus : UBRR = (fosc/6xbaudrate)- UCRB Digunakan untuk mengaktifkan penerimaan dan pengiriman data UART RXE : Jika di set maka akan mengaktifkan penerimaan TXE : Jika di set maka akan mengaktifkan pengiriman RXCIE : Jika di set maka akan mengaktifkan interupsi penerimaan UCRC Digunakan untuk mengatur mode komunikasi UART UREL : Jika di set maka register UCRC bisa diakses, sebab alamat register UCRC dan UBRR sama UCZ2..UCZ0 : Menentukan ukuran karakter yang dikirimkan. Jika UCZ2..UCZ0 = 000 maka ukuran karakter 5 bit Jika UCZ2..UCZ0 = 00 maka ukuran karakter 6 bit Jika UCZ2..UCZ0 = 00 maka ukuran karakter 7 bit Jika UCZ2..UCZ0 = 0 maka ukuran karakter 8 bit Jika UCZ2..UCZ0 = 00-0 tidak digunakan Jika UCZ2..UCZ0 = maka ukuran karakter 9 bit Contoh inisialisasi UART : Basic AVR Tutorial by Hendawan oebhakti Page 66 of 68

67 .equ fclock = equ baud_rate =9200.equ ubbr_value =(fclock / (6*baud_rate)) - init_usart: ldi temp,high(ubbr_value) UBRRH,temp ldi temp,low(ubbr_value) UBRRL,temp ldi temp,(<<rxe) (<<TXE) (<<RXCIE) UCRB,temp ldi temp,(<<urel) (3<<UCZ0) UCRC,temp 2. Pengiriman Data Pengiriman data dilakukan per byte menunggu UDR kosong (UDR = register tempat menyimpan data UART, menjadi satu dengan register UBRR). Jika kosong, maka bit UDRE(UART Data Register Empty) pada UCRA akan set sehingga siap menerima data baru yang akan dikirim. Contoh pengiriman UART : usart_tx: sbis UCRA,UDRE rjmp usart_tx UDR,txbyte 3. Penerimaan Data Penerimaan data dilakukan dengan memeriksa bit RXC (UART Receive Complete) pada register UCRA. RXC akan set jika ada data yang siap dibaca. Data yang diterima akan disimpan pada register UDR. Contoh penerimaan UART : usart_rx: sbis UCRA,RXC rjmp usart_rx in rxbyte,udr Basic AVR Tutorial by Hendawan oebhakti Page 67 of 68

68 Contoh Program :.include"m8535def.inc".def temp =r6.def txbyte =r7.def rxbyte =r8.equ fclock = equ baud_rate =9200.equ ubbr_value =(fclock / (6*baud_rate)) -.org 0x0000 rjmp main main: ldi temp,low(ramend) spl,temp ldi temp,high(ramend) sph,temp rcall init_usart loop: ldi zl,low(2*msg) ldi zh,high(2*msg) load: lpm mov txbyte,r0 cpi txbyte,0 breq done rcall usart_tx inc zl rjmp load done: rjmp done init_usart: ldi ldi ldi ldi usart_tx: sbis rjmp usart_rx: sbis rjmp in msg:.db temp,high(ubbr_value) UBRRH,temp temp,low(ubbr_value) UBRRL,temp temp,(<<rxe) (<<TXE) (<<RXCIE) UCRB,temp temp,(<<urel) (3<<UCZ0) UCRC,temp UCRA,UDRE usart_tx UDR,txbyte UCRA,RXC usart_rx rxbyte,udr "******Welcome To Politeknik Batam******",3,0,0 Keterangan : angka 3,0 adalah kode ACII untuk Enter. Jadi pesan akan ditampilkan pada baris baru di editor Hyper Terminal. Angka 0 menunjukkan akhir karakter dari pesan yang dikirim. Basic AVR Tutorial by Hendawan oebhakti Page 68 of 68

BAB I AVR ATMega 8535L

BAB I AVR ATMega 8535L BAB I AVR ATMega 8535L 1.1 Sekilas Tentang AVR AVR : Alf and Vegard RISC atau AVR : Advanced Virtual RISC RISC: Reduced Instruction Set Computer Arsitektur mikrokontroler jenis AVR pertamakali dikembangkan

Lebih terperinci

Mikrokontroler AVR. Hendawan Soebhakti 2009

Mikrokontroler AVR. Hendawan Soebhakti 2009 Mikrokontroler AVR Hendawan Soebhakti 2009 Tujuan Mampu menjelaskan arsitektur mikrokontroler ATMega 8535 Mampu membuat rangkaian minimum sistem ATMega 8535 Mampu membuat rangkaian downloader ATMega 8535

Lebih terperinci

Timer/Counter. AVR ATMega 8535

Timer/Counter. AVR ATMega 8535 Timer/Counter AVR ATMega 8535 Timer/Counter ATMega8535 mempunyai timer/counter yang berfungsi sebagai pencacah/pewaktuan. Karena ATMega8535 mampu memakai crystal berfrekuensi sampai dengan 16 MHz maka

Lebih terperinci

2. Unit Praktikum Perhitungan Aritmatika

2. Unit Praktikum Perhitungan Aritmatika 2. Unit Praktikum Perhitungan Aritmatika Data yang dipakai dalam mikrokontroler ATmega8535 direpresentasikan dalam sistem bilangan biner, desimal dan bilangan heksadesimal. Data yang terdapat di mikrokontroler

Lebih terperinci

Timer / Counter. Hendawan Soebhakti. November 2009

Timer / Counter. Hendawan Soebhakti. November 2009 Timer / Counter Hendawan Soebhakti November 2009 Sub Pokok Bahasan Jenis Timer/Counter Register TIMSK dan TIFR Interrupt Timer Sistem Mikrokontroler - By : Hendawan Soebhakti 2 Timer/Counter Jenis-jenis

Lebih terperinci

M1632 MODULE LCD 16 X 2 BARIS (M1632)

M1632 MODULE LCD 16 X 2 BARIS (M1632) M1632 MODULE LCD 16 X 2 BARIS (M1632) Deskripsi: M1632 adalah merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya yang rendah. Modul ini dilengkapi dengan mikrokontroler yang didisain

Lebih terperinci

Sistem Mikrokontroler FE UDINUS

Sistem Mikrokontroler FE UDINUS Minggu ke 2 8 Maret 2013 Sistem Mikrokontroler FE UDINUS 2 Jenis jenis mikrokontroler Jenis-jenis Mikrokontroller Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan pada kompleksitas

Lebih terperinci

Antarmuka LCD pada DST-AVR

Antarmuka LCD pada DST-AVR Antarmuka LCD pada DST-AVR M1632 adalah merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya yang rendah. Modul ini dilengkapi dengan mikrokontroler yang didisain khusus untuk mengendalikan

Lebih terperinci

MAKALAH PERANCANGAN KEYPAD MESIN FOTOKOPI SISTEM MIKROPROSESOR

MAKALAH PERANCANGAN KEYPAD MESIN FOTOKOPI SISTEM MIKROPROSESOR MAKALAH PERANCANGAN KEYPAD MESIN FOTOKOPI SISTEM MIKROPROSESOR DISUSUN OLEH: RIZKY JANUAR (35501) NATHAN SITOHANG (36017) JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS GADJAH

Lebih terperinci

APLIKASI HITACHI M1632 LCD PADA SC - AVR

APLIKASI HITACHI M1632 LCD PADA SC - AVR APLIKASI HITACHI M1632 LCD PADA SC - AVR Apabila kita merancang suatu system yang membutuhkan tampilan, biasanya digunakan LCD. M1632 LCD yang ada di pasaran sekarang ini, sebagian besar menggunakan mikrokontroler

Lebih terperinci

Sistem Mikrokontroler FE UDINUS

Sistem Mikrokontroler FE UDINUS Minggu ke 5 8 Maret 2013 Sistem Mikrokontroler FE UDINUS 2 Jenis Timer/Counter Jenis-jenis Timer Pada ATMega8535L terdapat 4 buah fasilitas timer yaitu : Timer 0 : Adalah timer 8 bit dengan timer value

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.2.1.1 Sensor Load Cell Prinsip kerja dari sensor tekanan ini adalah mengubah tegangan mekanis menjadi sinyal listrik. Ukuran ketegangan didasarkan pada prinsip bahwa tahanan pengantar

Lebih terperinci

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER Pada tahap perancangan ini dibagi menjadi 2 tahap perancangan. Tahap pertama adalah perancangan perangkat keras (hardware), yang meliputi rangkaian rangkaian

Lebih terperinci

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika TAKARIR AC (Alternating Current) Adalah sistem arus listrik. Sistem AC adalah cara bekerjanya arus bolakbalik. Dimana arus yang berskala dengan harga rata-rata selama satu periode atau satu masa kerjanya

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM Pada bab ini akan dibahas mengenai perancangan dan realisasi dari perangkat keras maupun perangkat lunak dari setiap modul yang dipakai pada skripsi ini. 3.1. Perancangan dan

Lebih terperinci

PERANCANGAN KEYPAD MESIN FOTOCOPY SEDERHANA MENGGUNAKAN ATMEL AVR ATmega8535

PERANCANGAN KEYPAD MESIN FOTOCOPY SEDERHANA MENGGUNAKAN ATMEL AVR ATmega8535 PERANCANGAN KEYPAD MESIN FOTOCOPY SEDERHANA MENGGUNAKAN ATMEL AVR ATmega8535 Oleh : AL FARISI ( [email protected] ) http://www.alfarisi.web.ugm.ac.id http://www.alfarisi.co.nr http://www.alfarisi.tk

Lebih terperinci

4. Port Input/Output Mikrokontroler MCS-51

4. Port Input/Output Mikrokontroler MCS-51 4. Port Input/Output Mikrokontroler MCS-51 Mikrokontroler MCS-51 memiliki 2 jenis port input/output, yaitu port I/O parallel dan port I/O serial. Port I/O parallel sebanyak 4 buah dengan nama P0,P1,P2

Lebih terperinci

BAB II KONSEP DASAR PERANCANGAN

BAB II KONSEP DASAR PERANCANGAN BAB II KONSEP DASAR PERANCANGAN Pada bab ini akan dijelaskan konsep dasar sistem keamanan rumah nirkabel berbasis mikrokontroler menggunakan modul Xbee Pro. Konsep dasar sistem ini terdiri dari gambaran

Lebih terperinci

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di BAB III TEORI PENUNJANG 3.1. Microcontroller ATmega8 Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti proccesor, memori (sejumlah kecil RAM, memori

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM Pada Bab III ini akan diuraikan mengenai perancangan perangkat keras dan perangkat lunak yang digunakan untuk membangun sistem keamanan rumah nirkabel berbasis mikrokontroler

Lebih terperinci

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16 PERCOBAAN 4 LCD KARAKTER TUJUAN: 1. Memahami rangkaian interface mikrokontroller dengan LCD Karakter 2 x 16 2. Dapat memahami program assembly untuk menampilkan data ke LCD Karakter 2 x 16 3. Memahami

Lebih terperinci

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51 MIKROKONTROLER Arsitektur Mikrokontroler AT89S51 Ringkasan Pendahuluan Mikrokontroler Mikrokontroler = µp + Memori (RAM & ROM) + I/O Port + Programmable IC Mikrokontroler digunakan sebagai komponen pengendali

Lebih terperinci

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol) BAB II TINJAUAN PUSTAKA 2.1 Mikrokontroler Mikrokontroler merupakan keseluruhan sistem komputer yang dikemas menjadi sebuah chip di mana di dalamnya sudah terdapat Mikroprosesor, I/O Pendukung, Memori

Lebih terperinci

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C. BAB II DASAR TEORI 2.1 ARDUINO Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang.

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam BAB II TINJAUAN PUSTAKA 2.1 Mikrokontroler ATMega 8535 Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Mikrokontroler AVR ini memiliki arsitektur

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Motor DC dan Motor Servo 2.1.1. Motor DC Motor DC berfungsi mengubah tenaga listrik menjadi tenaga gerak (mekanik). Berdasarkan hukum Lorenz bahwa jika suatu kawat listrik diberi

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM Pada bab ini akan dijelaskan mengenai perancangan dari perangkat keras, serta perangkat lunak dari alat akuisisi data termokopel 8 kanal. 3.1. Gambaran Sistem Alat yang direalisasikan

Lebih terperinci

Apa itu timer/counter?

Apa itu timer/counter? Timer/Counter Apa itu timer/counter? Merupakan suatu pencacah(counter) yang bisa menghitung naik/turun Pencacah berupa register 8 bit/16 bit Nilai cacahan yg tersimpan di register tersebut akan naik/turun

Lebih terperinci

DAFTAR ISI Bab 1 Membuat Rangkaian dan PCB... 1 Bab 2 Proyek 1: Lampu Kelap-Kelip Bab 3 Proyek 2: Analog to Digital Converter (ADC)...

DAFTAR ISI Bab 1 Membuat Rangkaian dan PCB... 1 Bab 2 Proyek 1: Lampu Kelap-Kelip Bab 3 Proyek 2: Analog to Digital Converter (ADC)... DAFTAR ISI Kata Pengantar... v Daftar Isi... vii Bab 1 Membuat Rangkaian dan PCB... 1 1.1 Mengenal Software Protel DXP...1 1.1.1 Spesifikasi Protel DXP...2 1.1.2 Membuat Proyek Baru...3 1.2 Membuat Dokumen

Lebih terperinci

MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom SECTION 1. The Feature of AVR Prosesor Family On-chip and In System Programmable

Lebih terperinci

BAB III DESKRIPSI MASALAH

BAB III DESKRIPSI MASALAH BAB III DESKRIPSI MASALAH 3.1 Perancangan Hardware Perancangan hardware ini meliputi keseluruhan perancangan, artinya dari masukan sampai keluaran dengan menghasilkan energi panas. Dibawah ini adalah diagram

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis Permasalahan Dalam Perancangan Alat Pengaduk Adonan Kue ini, terdapat beberapa masalah yang harus dipecahkan. Permasalahan-permasalahan tersebut antara

Lebih terperinci

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan BAB 3 PERANCANGAN SISTEM Konsep dasar mengendalikan lampu dan komponen komponen yang digunakan pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan perancangan sistem

Lebih terperinci

MICROCONTROLER AVR AT MEGA 8535

MICROCONTROLER AVR AT MEGA 8535 MICROCONTROLER AVR AT MEGA 8535 Dwisnanto Putro, S.T., M.Eng. MIKROKONTROLER AVR Jenis Mikrokontroler AVR dan spesifikasinya Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program

Lebih terperinci

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor Sistem Minimum Mikrokontroler TTH2D3 Mikroprosesor MIKROKONTROLER AVR Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler yang menjadi andalan Atmel. Arsitektur ini dirancang memiliki

Lebih terperinci

Memprogram Port sebagai Output dan Input Sederhana

Memprogram Port sebagai Output dan Input Sederhana BAGIAN 1 Tujuan Pembelajaran Umum: 1. Mahasiswa trampil memprogram Port sebagai Input dan Output sederhana menggunakan bahasa pemrograman assembly Tujuan Pembelajaran Khusus: 1. Mahasiswa memahami Konstruksi

Lebih terperinci

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5] BAB II DASAR TEORI Dalam bab ini dibahas beberapa teori pendukung yang digunakan sebagai acuan dalam merealisasikan skripsi yang dibuat. Teori-teori yang digunakan dalam pembuatan skripsi ini adalah sensor

Lebih terperinci

MICROCONTROLER AVR AT MEGA 8535

MICROCONTROLER AVR AT MEGA 8535 MICROCONTROLER AVR AT MEGA 8535 Dwisnanto Putro, S.T., M.Eng. MIKROKONTROLER AVR Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler yang menjadi andalan Atmel. Arsitektur ini dirancang

Lebih terperinci

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi II. TINJAUAN PUSTAKA A. Temperatur dan Kelembaban Temperatur dan kelembaban merupakan aspek yang penting dalam menentukan kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM 3.1 Pengertian Umum Sistem yang dirancang adalah sistem yang berbasiskan mikrokontroller dengan menggunakan smart card yang diaplikasikan pada Stasiun Kereta Api sebagai tanda

Lebih terperinci

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK 4.1 Pengukuran Alat Pengukuran dilakukan untuk melihat apakah rangkaian dalam sistem yang diukur sesuai dengan spesifikasi

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM 3.1 Rancangan Perangkat Keras 3.1.1 Blok Diagram Sistem Blok diagram dari sistem AVR standalone programmer adalah sebagai berikut : Tombol Memori Eksternal Input I2C PC SPI AVR

Lebih terperinci

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global. BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM 3.1 Perancangan Perangkat Keras 3.1.1 Blok Diagram Dari diagram sistem dapat diuraikan metode kerja sistem secara global. Gambar

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI Pada bab ini akan dibahas mengenai teori-teori dasar yang digunakan untuk pembuatan pintu gerbang otomatis berbasis Arduino yang dapat dikontrol melalui komunikasi Transifer dan Receiver

Lebih terperinci

BAB III PERENCANAAN DAN REALISASI

BAB III PERENCANAAN DAN REALISASI BAB III PERENCANAAN DAN REALISASI 3.1 PERANCANGAN UMUM SISTEM Metode untuk pelaksanaan Program dimulai dengan mempelajari system pengukuran tangki air yang akan digunakan. Dari sini dikembangkan apa saja

Lebih terperinci

BAB II DASAR TEORI Arduino Mega 2560

BAB II DASAR TEORI Arduino Mega 2560 BAB II DASAR TEORI Pada bab ini akan dijelaskan teori-teori penunjang yang diperlukan dalam merancang dan merealisasikan skripsi ini. Bab ini dimulai dari pengenalan singkat dari komponen elektronik utama

Lebih terperinci

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB IV PENGUJIAN ALAT DAN ANALISA BAB IV PENGUJIAN ALAT DAN ANALISA 4.1 Tujuan Tujuan dari pengujian alat pada tugas akhir ini adalah untuk mengetahui sejauh mana kinerja sistem yang telah dibuat dan untuk mengetahui penyebabpenyebab ketidaksempurnaan

Lebih terperinci

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai BAB II DASAR TEORI 2.1 Arduino Uno R3 Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai

Lebih terperinci

Mikrokontroler 89C51 Bagian II :

Mikrokontroler 89C51 Bagian II : Mikrokontroler 89C51 Bagian II : Mikrokontroler 89C51 Mikrokontroler 89C51 merupakan mikrokomputer CMOS 8 bit dengan 4 Kbytes Flash Programmable Memory. Arsitektur 89C51 ditunjukkan pada gambar 2. Accumulator

Lebih terperinci

BAB III PENGENDALIAN GERAK MEJA KERJA MESIN FRAIS EMCO F3 DALAM ARAH SUMBU X

BAB III PENGENDALIAN GERAK MEJA KERJA MESIN FRAIS EMCO F3 DALAM ARAH SUMBU X BAB III PENGENDALIAN GERAK MEJA KERJA MESIN FRAIS EMCO F3 DALAM ARAH SUMBU X Pada bab ini akan dibahas mengenai diagram alir pembuatan sistem kendali meja kerja mesin frais dalam arah sumbu-x, rangkaian

Lebih terperinci

JOBSHEET VIII MENGGUNAKAN TIMER/COUNTER DALAM MIKROKONTROLER ATMEGA8535

JOBSHEET VIII MENGGUNAKAN TIMER/COUNTER DALAM MIKROKONTROLER ATMEGA8535 JOBSHEET VIII MENGGUNAKAN TIMER/COUNTER DALAM MIKROKONTROLER ATMEGA8535 1 TUJUAN Mahasiswa mampu menggunakan fitur timer/counter mikrokontroler. Mahasiswa mampu menggunakan mikrokontroler untuk membuat

Lebih terperinci

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN ALAT BAB III PERANCANGAN DAN PEMBUATAN ALAT 3.1 Uraian Umum Dalam perancangan alat akses pintu keluar masuk menggunakan pin berbasis mikrokontroler AT89S52 ini, penulis mempunyai pemikiran untuk membantu mengatasi

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM Bab ini akan membahas tentang perancangan sistem deteksi keberhasilan software QuickMark untuk mendeteksi QRCode pada objek yang bergerak di conveyor. Garis besar pengukuran

Lebih terperinci

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB III DESKRIPSI DAN PERANCANGAN SISTEM BAB III DESKRIPSI DAN PERANCANGAN SISTEM 3.1. DESKRIPSI KERJA SISTEM Gambar 3.1. Blok diagram sistem Satelit-satelit GPS akan mengirimkan sinyal-sinyal secara kontinyu setiap detiknya. GPS receiver akan

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM Pada bab ini membahas perencanaan dan pembuatan dari alat yang akan dibuat yaitu Perencanaan dan Pembuatan Pengendali Suhu Ruangan Berdasarkan Jumlah Orang ini memiliki 4 tahapan

Lebih terperinci

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51 TAKARIR Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika Assembler Bahasa pemrograman mikrokontroler MCS-51 Assembly Listing Hasil dari proses assembly dalam rupa campuran dari

Lebih terperinci

BAB IV PROTOTYPE ROBOT TANGGA BERODA. beroda yang dapat menaiki tangga dengan metode pengangkatan beban pada roda

BAB IV PROTOTYPE ROBOT TANGGA BERODA. beroda yang dapat menaiki tangga dengan metode pengangkatan beban pada roda BAB IV PROTOTYPE ROBOT TANGGA BERODA 4.1 Desain Sistem Sistem yang dibangun pada tugas akhir ini bertujuan untuk membangun robot beroda yang dapat menaiki tangga dengan metode pengangkatan beban pada roda

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Karbon Monoksida (CO) Karbon monoksida merupakan gas yang tidak berwarna, tidak berbau, tidak berasa, tidak mudah larut dalam air, tidak menyebabkan iritasi, beracun dan berbahaya

Lebih terperinci

MIKROKONTROLER AT89S52

MIKROKONTROLER AT89S52 MIKROKONTROLER AT89S52 Mikrokontroler adalah mikroprosessor yang dirancang khusus untuk aplikasi kontrol, dan dilengkapi dengan ROM, RAM dan fasilitas I/O pada satu chip. AT89S52 adalah salah satu anggota

Lebih terperinci

BAB III LANDASAN TEORI. digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator

BAB III LANDASAN TEORI. digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator BAB III LANDASAN TEORI 3.1 Microcontroller Atmega 8 AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti

Lebih terperinci

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O, BAB II DASAR TEORI 2.1 Arduino Uno R3 Arduino Uno R3 adalah papan pengembangan mikrokontroler yang berbasis chip ATmega328P. Arduino Uno memiliki 14 digital pin input / output (atau biasa ditulis I/O,

Lebih terperinci

Pengenalan CodeVisionAVR

Pengenalan CodeVisionAVR Pengenalan CodeVisionAVR Hendawan Soebhakti Oktober 2009 Sub Pokok Bahasan Pengenalan CodeVision Menampilkan Data Ke Port Output Membaca Data Dari Port Input 2 CodeVisionAVR C Compiler CodeVisionAVR C

Lebih terperinci

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN ALAT BAB III PERANCANGAN DAN PEMBUATAN ALAT 3.1 Pendahuluan Bab ini akan membahas pembuatan seluruh perangkat yang ada pada Tugas Akhir tersebut. Secara garis besar dibagi atas dua bagian perangkat yaitu: 1.

Lebih terperinci

BAB III RANCANGAN SISTEM. dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram

BAB III RANCANGAN SISTEM. dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram BAB III RANCANGAN SISTEM 3.1. Diagram Blok Rangkaian Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram

Lebih terperinci

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system. BAB II LANDASAN TEORI Landasan teori sangat membantu untuk dapat memahami suatu sistem. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system. Dengan pertimbangan

Lebih terperinci

JOBSHEET VII MENGGUNAKAN INTERRUPT DALAM MIKROKONTROLLER ATMEGA8535

JOBSHEET VII MENGGUNAKAN INTERRUPT DALAM MIKROKONTROLLER ATMEGA8535 JOBSHEET VII MENGGUNAKAN INTERRUPT DALAM MIKROKONTROLLER ATMEGA8535 1 TUJUAN Menjelaskan fitur interrupt dalam mikrokontroler. Mengetahui dan memahami bagaimana memrogram mikrokontroler untuk menjalankan

Lebih terperinci

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT BAB III PERANCANGAN ALAT Perancangan alat pada tugas akhir ini meliputi pemilihan komponen dan perhitungannya serta memilih rangkaian yang tepat dalam merancang dan membuat alat yang telah di rencanakan.

Lebih terperinci

BAB 2 TINJAUAN TEORITIS

BAB 2 TINJAUAN TEORITIS 7 BAB 2 TINJAUAN TEORITIS 1 Konveyor Konveyor hanya bergerak ke satu arah saja, konveyor digerakkan dengan motor stepper 12V type. Sinyal keluaran dari motor stepper untuk menggerakkan konveyor dirangkaikan

Lebih terperinci

Pembuatan Sistem Pengendali 4 Motor DC Penggerak 4 Roda Secara Independent Berbasis Mikrokontroler AT89C2051

Pembuatan Sistem Pengendali 4 Motor DC Penggerak 4 Roda Secara Independent Berbasis Mikrokontroler AT89C2051 Pembuatan Sistem Pengendali 4 Motor DC Penggerak 4 Roda Secara Independent Berbasis Mikrokontroler AT89C2051 Ari Rahayuningtyas Balai Besar Pengembangan Teknologi Tepat Guna Jl K S Tubun no 5 Subang Jawa

Lebih terperinci

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009 III. METODOLOGI PENELITIAN A. Waktu dan Tempat Penelitian Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009 dilakukan di Laboratorium Konversi Energi Elektrik dan Laboratorium

Lebih terperinci

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR... DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR... ABSTRAKSI... TAKARIR... DAFTAR ISI... DAFTAR TABEL...

Lebih terperinci

DAFTAR ISI. HALAMAN PENGESAHAN... i. KATA PENGANTAR... iii. DAFTAR ISI... v. DAFTAR TABEL... x. DAFTAR GAMBAR... xi. DAFTAR LAMPIRAN...

DAFTAR ISI. HALAMAN PENGESAHAN... i. KATA PENGANTAR... iii. DAFTAR ISI... v. DAFTAR TABEL... x. DAFTAR GAMBAR... xi. DAFTAR LAMPIRAN... DAFTAR ISI Halaman HALAMAN PENGESAHAN... i ABSTRAKSI... ii KATA PENGANTAR... iii DAFTAR ISI... v DAFTAR TABEL... x DAFTAR GAMBAR... xi DAFTAR LAMPIRAN... xiv DAFTAR ISTILAH DAN SINGKATAN... xv BAB I PENDAHULUAN

Lebih terperinci

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only) 1. Operasi Serial Port mempunyai On Chip Serial Port yang dapat digunakan untuk komunikasi data serial secara Full Duplex sehingga Port Serial ini masih dapat menerima data pada saat proses pengiriman

Lebih terperinci

BAB III PERANCANGAN SISTEM. Secara garis besar rangkaian pengendali peralatan elektronik dengan. blok rangkaian tampak seperti gambar berikut :

BAB III PERANCANGAN SISTEM. Secara garis besar rangkaian pengendali peralatan elektronik dengan. blok rangkaian tampak seperti gambar berikut : BAB III PERANCANGAN SISTEM 3.1. Diagram Blok Secara garis besar rangkaian pengendali peralatan elektronik dengan menggunakan PC, memiliki 6 blok utama, yaitu personal komputer (PC), Mikrokontroler AT89S51,

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM Perancangan sistem DOT Matrix ini terbagi menjadi tiga bagian, yakni: perancangan perangkat keras serta perancangan perangkat lunak. 3.1. Perancangan Perangkat Keras Sistem yang

Lebih terperinci

III. METODE PENELITIAN. Teknik Elektro Universitas Lampung dilaksanakan mulai bulan Desember 2011

III. METODE PENELITIAN. Teknik Elektro Universitas Lampung dilaksanakan mulai bulan Desember 2011 III. METODE PENELITIAN A. Waktu dan Tempat Penelitian dan perancangan tugas akhir dilakukan di Laboratorium Terpadu Teknik Elektro Universitas Lampung dilaksanakan mulai bulan Desember 2011 sampai dengan

Lebih terperinci

MODUL 8 Analog Digital Converter (ADC)

MODUL 8 Analog Digital Converter (ADC) MODUL 8 Analog Digital Converter (ADC) AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapatdi konfigurasi, baik single

Lebih terperinci

BAB II DASAR TEORI. ATmega8535 merupakan IC CMOS 8-bit berdaya rendah yang berdasar pada

BAB II DASAR TEORI. ATmega8535 merupakan IC CMOS 8-bit berdaya rendah yang berdasar pada 5 BAB II DASAR TEORI 2.1. Mikrokontroler ATMega 8535 Pada tugas akhir ini digunakan mikrokontroller ATmega8535. ATmega8535 merupakan IC CMOS 8-bit berdaya rendah yang berdasar pada AVR, yaitu arsitektur

Lebih terperinci

BAB 3 PERANCANGAN ALAT. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5

BAB 3 PERANCANGAN ALAT. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5 BAB 3 PERANCANGAN ALAT 3.1. Perancangan Rangkaian Catu Daya Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari

Lebih terperinci

TUGAS MATAKULIAH APLIKASI KOMPUTER DALAM SISTEM TENAGA LISTRIK FINAL REPORT : Pengendalian Motor DC menggunakan Komputer

TUGAS MATAKULIAH APLIKASI KOMPUTER DALAM SISTEM TENAGA LISTRIK FINAL REPORT : Pengendalian Motor DC menggunakan Komputer TUGAS MATAKULIAH APLIKASI KOMPUTER DALAM SISTEM TENAGA LISTRIK FINAL REPORT : Pengendalian Motor DC menggunakan Komputer disusun oleh : MERIZKY ALFAN ADHI HIDAYAT AZZA LAZUARDI JA FAR JUNAIDI 31780 31924

Lebih terperinci

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS 3.1. Pendahuluan Perangkat pengolah sinyal yang dikembangkan pada tugas sarjana ini dirancang dengan tiga kanal masukan. Pada perangkat pengolah sinyal

Lebih terperinci

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051 Lab Elektronika Industri Mikrokontroler - 1 AT89C1051 I. FITUR AT89C1051 Kompatibel dengan produk MCS51 1k byte program flash ROM yang dapa diprogram ulang hingga 1000 kali Tegangan operasi 2.7 volt hingga

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Dalam perancangan robot pengantar makanan berbasis mikrokontroler ini, terdapat beberapa masalah yang harus dipecahkan. Permasalahan-permasalahan

Lebih terperinci

INSTRUKSI. TTH2D3 Mikroprosesor

INSTRUKSI. TTH2D3 Mikroprosesor INSTRUKSI TTH2D3 Mikroprosesor AT Mega 32 pin diagram Port B Port A Port D Port C ATMega32 Pin out & Descriptions Mega32/Mega16 (XCK/T0) PB0 PA0 (ADC0) (T1) PB1 PA1 (ADC1) (INT2/AIN0) PB2 PA2 (ADC2) (OC0/AIN1)

Lebih terperinci

Gambar 9.1 Gambar 9.2

Gambar 9.1 Gambar 9.2 JOBSHEET IX ANTARMUKA MIKROKONTROLER DENGAN MOTOR DC 1 TUJUAN Mengetahui,dan memahami bagaimana mengantarmukakan mikrokontroler dengan motor DC. Mengetahui, memahami dan mempraktekkan pemrograman mikrokontroler

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1. Sistem Minimum AVR USB Sistem minimum ATMega 8535 yang didesain sesederhana mungkin yang memudahkan dalam belajar mikrokontroller AVR tipe 8535, dilengkapi internal downloader

Lebih terperinci

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM BAB 3 PERANCANGAN SISTEM Pada bab ini akan dijelaskan secara umum perancangan sistem pengingat pada kartu antrian dengan memanfaatkan gelombang radio, yang terdiri dari beberapa bagian yaitu blok diagram

Lebih terperinci

REFS0-1 (Reference Selection Bits) REFS0-1 adalah bit-bit pengatur mode tegangan referensi ADC.

REFS0-1 (Reference Selection Bits) REFS0-1 adalah bit-bit pengatur mode tegangan referensi ADC. JOBSHEET VI MENGGUNAKAN ANALOG TO DIGITAL CONVERTER (ADC) DALAM MIKROKONTROLLER ATMEGA8535 1 TUJUAN Mengetahui dan memahami cara menggunakan ADC yang ada di dalam mikrokontroler. Mengetahui dan memahami

Lebih terperinci

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

ARSITEKTUR MIKROKONTROLER AT89C51/52/55 ARSITEKTUR MIKROKONTROLER AT89C51/52/55 A. Pendahuluan Mikrokontroler merupakan lompatan teknologi mikroprosesor dan mikrokomputer. Mikrokontroler diciptakan tidak semata-mata hanya memenuhi kebutuhan

Lebih terperinci

Bab II Dasar Teori (2.1)

Bab II Dasar Teori (2.1) Bab II Dasar Teori 2.1. Gelombang ulrasonik Untuk dapat mengamati perubahan yang terjadi pada udara, dapat dilakukan dengan mengamati kejadian fisis akibat suatu pengkondisian tertentu yang memberikan

Lebih terperinci

Kumpulan instruksi lengkap yang dimengerti

Kumpulan instruksi lengkap yang dimengerti Set Instruksi: 1 Set instruksi? Kumpulan instruksi lengkap yang dimengerti oleh CPU Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut

Lebih terperinci

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN ALAT BAB III PEANCANGAN DAN PEMBUATAN ALAT 3.1. Pendahuluan Dalam Bab ini akan dibahas pembuatan seluruh sistem perangkat yang ada pada Perancangan Dan Pembuatan Alat Aplikasi pengendalian motor DC menggunakan

Lebih terperinci

Pengendalian 8 buah Motor oleh DST-51

Pengendalian 8 buah Motor oleh DST-51 Ib2 Pengendalian 8 buah Motor oleh DST-51 Pada aplikasinya, seringkali suatu sistem mikrokontroler digunakan untuk mengendalikan beberapa buah motor secara bersamaan. Berikut ini adalah pengendalian delapan

Lebih terperinci

BAB III SISTEM PENGUKURAN ARUS & TEGANGAN AC PADA WATTMETER DIGITAL

BAB III SISTEM PENGUKURAN ARUS & TEGANGAN AC PADA WATTMETER DIGITAL 34 BAB III SISTEM PENGUKURAN ARUS & TEGANGAN AC PADA WATTMETER DIGITAL Pada bab ini akan dijelaskan mengenai rancangan desain dan cara-cara kerja dari perangkat keras atau dalam hal ini adalah wattmeter

Lebih terperinci

Laboratorium MIKROKONTROLER 1 AVR ATmega8535

Laboratorium MIKROKONTROLER 1 AVR ATmega8535 Laporan Praktikum Laboratorium MIKROKONTROLER 1 AVR ATmega8535 Proyek 05 Keypad Disusun oleh: Kelompok EK-2A / 06 06 09 - Bayu Triatmono - Hanfil Lutfia Anisa NIM NIM 3.32.13.0.06 3.32.13.0.09 Dosen: Dr.

Lebih terperinci

II. TINJAUAN PUSTAKA. Pergerakan meja kerja digerakan oleh sebuah motor sebagai penggerak dan poros

II. TINJAUAN PUSTAKA. Pergerakan meja kerja digerakan oleh sebuah motor sebagai penggerak dan poros 46 II. TINJAUAN PUSTAKA A. Penggerak Poros Ulir Pergerakan meja kerja digerakan oleh sebuah motor sebagai penggerak dan poros ulir sebagai pengubah gaya puntir motor menjadi gaya dorong pada meja kerja

Lebih terperinci

PERCOBAAN 11 PULSE WIDHT MODULATION

PERCOBAAN 11 PULSE WIDHT MODULATION PERCOBAAN 11 PULSE WIDHT MODULATION TUJUAN: 1. Memahami prinsip dasar PWM 2. Memahami rangkaian Driver Motor DC 3. Memahami pemrograman assembly untuk pengaturan PWM Konsep Dasar PWM Salah satu cara yang

Lebih terperinci

RANCANG BANGUN PENGENDALIAN MOTOR PENGGERAK MOBIL LISTRIK DESIGN AND BUILD CONTROLLER MOTOR DRIVER ELECTRIC CAR

RANCANG BANGUN PENGENDALIAN MOTOR PENGGERAK MOBIL LISTRIK DESIGN AND BUILD CONTROLLER MOTOR DRIVER ELECTRIC CAR RANCANG BANGUN PENGENDALIAN MOTOR PENGGERAK MOBIL LISTRIK DESIGN AND BUILD CONTROLLER MOTOR DRIVER ELECTRIC CAR Mohammad Lutfi Raynandy; Sofian Yahya, Drs., SST., MT ; Waluyo Musiono Bintoro, SST., M.Eng

Lebih terperinci

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin 4 BAB II TEORI DASAR 2.1 Pendahuluan Pada bab ini akan dijelaskan mengenai teori-teori mengenai perangkatperangkat pendukung baik perangkat keras dan perangkat lunak yang akan dipergunakan sebagai pengukuran

Lebih terperinci

PETA MEMORI MIKROPROSESOR 8088

PETA MEMORI MIKROPROSESOR 8088 1. Bagan Dasar µp 8088 PETA MEMORI MIKROPROSESOR 8088 Gambar 1. Bagan Dasar µp 8088 Elemen didalam mikroprosesor adalah : CU (Control Unit) adalah manajer dari semua unit. CU mengatur keselarasan kerja

Lebih terperinci