uas mp lab

21
KISI - KISI UAS 1. pengertian sistem minimum. 2. perbedaan at-mega 8 dengan atmega 32. 3. implementasi rangkaian LCD dalam software ISIS 4. penampilan kata-kata melalui LCD(CVAVR) 5. programming perangkat modul melalui usb asp. 6. Uji Coba Program Jam digital . 7. Interfacing 7 segment. Pengertian sistem minimum. Minimum sistem mikrokontroler adalah sebuah rangkaian paling sederhana dari sebuah mikrokontroler agar IC mikrokontroler tersebut bisa beroprasi dan deprogram. Dalam aplikasinya minimum sistem sering dihubungkan dengan rangkaian lain untuk tujuan tertentu. Ada beberapa yang harus diperhatikan dalam membuat minimum sistem mikrokontroler, yaitu; 1. Power supply Semua komponen elektronika membutuhkan power supply atau sering juga disebut catu daya. Mikrokontroler beroprasi pada tegangan 5 volt. Biasanya pembuatan catu daya mikrokontroler menggunakan IC regulator 7805 agar tegangannya bisa stabil. 2. Osilator (pembangkit frekuensi) Pada dasarnya mikrokontroler memiliki sifat seperti manusia. Kalau manusia memiliki jantung untuk bisa hidup maka

Upload: dhita-pratiwi

Post on 31-Dec-2015

52 views

Category:

Documents


2 download

TRANSCRIPT

KISI - KISI UAS

1. pengertian sistem minimum.

2. perbedaan at-mega 8 dengan atmega 32.

3. implementasi rangkaian LCD dalam software ISIS

4. penampilan kata-kata melalui LCD(CVAVR)

5. programming perangkat modul melalui usb asp.

6. Uji Coba Program Jam digital .

7. Interfacing 7 segment.

Pengertian sistem minimum.

Minimum sistem mikrokontroler adalah sebuah rangkaian paling sederhana dari sebuah

mikrokontroler agar IC mikrokontroler tersebut bisa beroprasi dan deprogram. Dalam

aplikasinya minimum sistem sering dihubungkan dengan rangkaian lain untuk tujuan tertentu.

Ada beberapa yang harus diperhatikan dalam membuat minimum sistem mikrokontroler, yaitu;

1. Power supply

Semua komponen elektronika membutuhkan power supply atau sering juga disebut catu

daya.  Mikrokontroler beroprasi pada tegangan 5 volt. Biasanya pembuatan catu daya

mikrokontroler menggunakan IC regulator 7805 agar tegangannya bisa stabil.

2. Osilator (pembangkit frekuensi)

Pada dasarnya mikrokontroler memiliki sifat seperti manusia. Kalau manusia memiliki

jantung untuk bisa hidup maka mikrokontroler memiliki osilator untuk bisa beroprasi.

Mikrokontroler sendiri sudah memiliki osilator internal yaitu sebesar 8Mhz tetapi kadang

kala agar kinerja mikronkontroler lebih cepat osilator internal tidak bisa menangani kasus

tersebut. Oleh karena itu dibutuhkan osilator eksternal (kristal) yang nilainya lebih dari

8Mhz. Perlu diperhatikan mikrokontroler hanya bisa beroprasi sampai 16 Mhz. jadi kalau

memilih krsital untuk avr tidak boleh lebih dari 16Mhz.

3. ISP

  Minimum sistem mikrokontroler dibuat untuk di program. Prinsipnya mikrokontroler

bisa diprogram secara parallel atau secara seri. Pemograman mikrokontroler secara seri

atau lebih dikenal dengan ISP tidak perlu memerlukan banyak jalur data. Tapi ISP

memiliki kelemahan, jika salah setting fuse bit yang memiliki fungsi fital misal pin reset

di disable maka alamat DEH sudah tidak bisa digunakan lagi. Untuk mengembalikan

settingan fuse bit tadi, harus menggunakan pemograman tipe parallel (high voltage

programming).

 

4. Rangkaian reset

Rangkaian reset sama fungsinya dengan rangkaian reset pada komputer. Fungsi reset di

mikrokontroler yaitu untuk merestart program, sehingga kembali ke program awal.

Penggunaan reset pada mikrokontroler opsional, bisa di pake atau nggak tergantung si

pengguna.

2. Perbedaan at-mega 8 dengan atmega 32.

Pertanyaan ini sering ditanyakan oleh beberapa teman, yuk kita lihat apa sebenarnya perbedaan

dari AVR mikrokontroler buatan Atmel tersebut? mari kita lihat :

Spesifikasi :

ATmega32 ATmega8535 ATmega8

RAM 2 KB 512 B 1 KB

Flash 32 KB 8 KB 8 KB

EEPROM 1 KB 512 B 512 B

Jml. I/O 32 32 23

JTAG ada tidak tidak

Dari spesifikasi di atas dapat kita lihat, IC mikrokontroler mana yang cocok untuk project yg

akan kita buat, kalau coding kalian beribu-ribu line saya sarankan menggunakan ATmega32, tapi

kalau hanya sedikit, bisa menggunakan ATmega8535 ataupun ATmega8.

Kalau dibutuhkan I/O yg hanya sedikit, bisa digunakan ATmega8, lebih kecil dan lebih irit di

dompet.. hehehe

Sebenarnya masih banyak seri-seri mikrokontroler AVR buatan Atmel, tapi yang sering

digunakan dan gampang dicari di toko ya tiga IC itu.

Deskripsi Pin   ATmega8

December 11, 2008 Chandra MDE 2 comments

Deskripsi yang disampaikan di sini hanyalah tentang fungsi-fungsi dasar pin-pin ATmega8.

Fungsi-fungsi alternatif/khusus akan dibahas pada tulisan lain.

Konfigurasi Pin

VCC

Suplai tegangan digital. Besarnya tegangan berkisar antara 4,5 – 5,5V untuk ATmega8 dan 2,7 –

5,5V untuk ATmega8L.

GND

Ground. Referensi nol suplai tegangan digital.

PORTB (PB7..PB0)

PORTB adalah port I/O dua-arah (bidirectional) 8-bit dengan resistor pull-up internal yang dapat

dipilih. Buffer keluaran port ini memiliki karakteristik yang simetrik ketika digunakan sebagai

source ataupun sink. Ketika digunakan sebagai input, pin yang di pull-low secara eksternal akan

memancarkan arus jika resistor pull-up-nya diaktifkan. Pin-pin PORTB akan berada pada kondisi

tri-state ketika RESET aktif, meskipun clock tidak running.

PORTC (PC5..PC0)

PORTC adalah port I/O dua-arah (bidirectional) 7-bit dengan resistor pull-up internal yang dapat

dipilih. Buffer keluaran port ini memiliki karakteristik yang simetrik ketika digunakan sebagai

source ataupun sink. Ketika digunakan sebagai input, pin yang di pull-low secara eksternal akan

memancarkan arus jika resistor pull-up-nya diaktifkan. Pin-pin PORTC akan berada pada kondisi

tri-state ketika RESET aktif, meskipun clock tidak running.

PC6/RESET

Jika Fuse RSTDISBL diprogram, maka PC6 berfungsi sebagai pin I/O akan tetapi dengan

karakteristik yang berbeda dengan PC5..PC0. Jika Fuse RSTDISBL tidak diprogram, maka PC6

berfungsi sebagai masukan Reset. Sinyal LOW pada pin ini dengan lebar minimum 1,5

mikrodetik akan membawa mikrokontroler ke kondisi Reset, meskipun clock tidak running.

PORTD (PD7..PD0)

PORTD adalah port I/O dua-arah (bidirectional) 8-bit dengan resistor pull-up internal yang dapat

dipilih. Buffer keluaran port ini memiliki karakteristik yang simetrik ketika digunakan sebagai

source ataupun sink. Ketika digunakan sebagai input, pin yang di pull-low secara eksternal akan

memancarkan arus jika resistor pull-up-nya diaktifkan. Pin-pin PORTD akan berada pada

kondisi tri-state ketika RESET aktif, meskipun clock tidak running.

RESET

Pin masukan Reset. Sinyal LOW pada pin ini dengan lebar minimum 1,5 mikrodetik akan

membawa mikrokontroler ke kondisi Reset, meskipun clock tidak running. Sinyal dengan lebar

kurang dari 1,5 mikrodetik tidak menjamin terjadinya kondisi Reset.

AVCC

AVCC adalah pin suplai tegangan untuk ADC, PC3..PC0, dan ADC7..ADC6. Pin ini harus

dihubungkan dengan VCC, meskipun ADC tidak digunakan. Jika ADC digunakan, VCC harus

dihubungkan ke AVCC melalui low-pass filter untuk mengurangi noise.

AREF

Pin Analog Reference untuk ADC.

ADC7..ADC6

Analog input ADC. Hanya ada pada ATmega8 dengan package TQFP dan QFP/MLF.

Sedikit saya ulas tentang pembahasan saya pada tulisan sebelumnya, bahwa mikrokontroler

ATMega8 merupakan mikrokontroler keluarga AVR 8bit. Beberapa tipe mikrokontroler yang

“berkeluarga” sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32,

ATmega328, dll. Yang membedakan antara mikrokontroler yang saya sebutkan tadi antara lain

adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer,

counter, dll). Dari segi ukuran fisik, ATMega8 memiliki ukuran fisik lebih kecil dibandingkan

dengan beberapa mikrokontroler yang saya sebutkan diatas. Namun untuk segi memori dan

periperial lainnya ATMega8 tidak kalah dengan yang lainnya karena ukuran memori dan

periperialnya relatif sama dengan ATMega8535, ATMega32, dll, hanya saja jumlah GPIO lebih

sedikit dibandingkan mikrokontroler yang saya sebutkan diatas. Untuk pemahaman lebih lanjut

akan saya bahas di bawah ini.

Fungsi dan Kebutuhan Pin

Pinout IC mikrokontroler ATMega8 yang berpackage DIP dapat dilihat di bawah ini.

Seperti yang kita lihat ATMega8 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan

PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan sebagai

input/output digital atau difungsikan sebagai periperial lainnya.

1. Mikrokontroler ATMega8

Nah ini dia komponen yang paling utama pada minimum system kita, namanya juga belajar

mikrokontroler masa gak ada mikrokontrolernya. ATMega8 merupakan mikrokontroler keluarga

AVR 8 bit yang banyak digunakan oleh pemula seperti saya. Seperti yang terbaca pada

datasheet, mikrokontroler yang kita gunakan ini memiliki ukuran flash memori sebesar 8KB,

SRAM sebesar 1KB, dan memori EEPROM sebesar 512 Bytes. Bingung apa bedanya dari ketiga

memori tersebut. Baik, saya akan jelaskan sedikit tentang perbedaannya.

Jenis dan ukuran memori pada ATMega8

Flash memori merupakan lokasi penyimpanan program yang kita buat. File hex hasil kompilasi

program nantinya akan dimasukkan ke mikrokontroler melalui alat yang disebut

downloader/programmer. Nah, file hex tersebut nantinya akan disimpan pada sebuah memori

yang disebut flash memori. Pada saat melakukan proses pemograman (coding) biasanya kita

memerlukan apa yang disebut dengan variabel atau tempat menampung data. Pada saat program

dijalankan oleh mikrokontroler, kemudian terdapat proses yang melibatkan variabel tersebut

( misalnya operasi aritmatika ) maka data dari variabel tersebut akan disimpan pada memori yang

bernama SRAM. Kemudian jika ingin menyimpan sebuah data seperti halnya pada flashdisk

( data tidak hilang ketika tidak ada aliran listrik ) dimanakah kita harus menyimpan data

tersebut ? Jawabannya adalah pada sebuah memori yang bernama EEPROM. EEPROM sama

halnya seperti hardisk, flashdisk yang ada pada komputer yaitu sebagai tempat penyimpanan data

yang tidak terpengaruh terhadap aliran listrik.

Sekarang kita masuk ke bagian kebutuhan supply. Pada datasheet ditulisakan seperti pada

gambar dibawah ini

Kebutuhan supply ATMega8

Sudah tau belum maksudnya apa ? Disitu tertulis operating voltages 2.7 – 5.5 volt (ATMega8L)

dan 4.5 – 5.5 volt (ATMega8). Lalu tegangan yang bakal kita gunakan berapa ? Di situ terdapat

dua jenis operating voltages, yang pertama untuk ATMega8L yang kedua untuk ATMega8. Apa

sih  bedanya ? terus kita menggunakan yang mana ? Sebenarnya ATMega8 dan ATMega8L

boleh dibilang sama, namun terdapat beberapa perbedaan antara keduanya. ATMega8L lebih

ditujukan pada aplikasi yang membutuhkan suplly tegangan rendah (low voltages). Oleh karena

itu pada ATMega8L tertulis operating voltagenya antara 2.7-5.5 volt.

Selain itu frekuensi maksimal yang boleh digunakan pada ATMega8L hanya 8MHz, berbeda

dengan ATMega8 yang memiliki frekuensi maksimal 16MHz. Karena minimum system yang

akan kita buat nanti menggunakan mikrokontroler ATMega8 maka kita akan menggunakan

tegangan suplly dari 4.5 – 5.5 volt.

Fitur selengkapnya dari AVR ATmega8 :

1.

H i g h - P e r f o r m a n c e ,   L o w - P o w e r   A V R   8 - b i t   R I S C  

M i c r o c o n t r o l l e r   Advanced RISC Architecture

130 Powerful Instructions – Most Single-clock Execution

32 x 8 General Purpose Working Registers

Fully Static Operation

Up to 16 MIPS Throughput at 16MHz

On-chip 2-cycle Multiplier 2 .High-Endurance Non-Vola t i l e Memory segments

8K Bytes In-System Self-programmable Flash Program Memory

512 Bytes EEPROM

1K Bytes of Internal SRAM

Write/Erase Cycles: 10,000 Flash / 100,000 EEPROM

Data Retention: 20 years at 85`C / 100 years at 25`C

Opitonal Boot Code Section with Independent Lock Bits

In-System Programming by On-chip Boot Program

True Read-While-Write Operation

Programming Lock for Software Security3 . P e r i p h e r a l f e a t u r e s

Two 8-bit Timers/Counters with Separate Prescaler, one Compare Mode

One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and CaptureMode

Real Time Counter with Separate Oscillator 

Three PWM Channels

6-channel ADC with 10-bit Accuracy

Byte-oriented Two-wire Serial Interface

Programmable Serial USART

Master/Slave SPI Serial Interface

Programmable Watchdog Timer with Separate On-Chip Oscillator 

On-Chip Analog Comparator 4 .Spec ia l  Mic rocon t ro l l e r   f ea tu res

Power-On Reset and Programmable Brown-out Detection

Internal Calibrated RC Oscillator 

External and Internal Interrupt Sources

Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down,

andStandby5 . I / O a n d   P a c k a g e s

23 Programmable I/O Lines

28-lead PDIP, 32-lead TQFP, and 32-pad QFN/MLF6 . O p e r a t i n g V o l t a g e s

2.7 – 5.5V (ATmega8L)

4.5 – 5.5V (ATmega8)7 . S p e e d G r a d e s

0 – 8MHz (ATmega8L)

0 – 16MHz (ATmega8)8 .Power  Consumpt ion a t  4MHz,  3V,  25`C

Active: 3.6 mA

Idle Mode: 1.0 mA

ATMega 32

Mikrokontroller ATMEGA32 adalah mikrokontroler yang diproduksi oleh Atmel.

mikrokontroler ini memiliki clock dan kerjanya tinggi sampai 16 MHz, ukuran flash memorinya

cukup besar, kapasistas SRAM sebesar 2 KiloByte, 32 buah port I/O yang sangat memadai untuk

berinteraksi dengan LCD dan keypad.

a. Arsitektur CPU ATMEGA32

Fungsi utama CPU adalah memastikan pengeksekusian instruksi dilakukan dengan benar. Oleh

karena itu CPU harus dapat mengakses memori, melakukan kalkulasi, mengontrol peripheral,

dan menangani interupsi.

Ada 32 buah General Purpose Register yang membantu ALU bekerja. Untuk operasi aritmatika

dan logika, operand berasal dari dua buah general register dan hasil operasi ditulis kembali ke

register. Status and Control berfungsi untuk menyimpan instruksi aritmatika yang baru saja

dieksekusi. Informasi ini berguna untuk mengubah alur program saat mengeksekusi operasi

kondisional. Instruksi di jemput dari flash memory. Setiap byte flash memory memiliki alamat

masing-masing. Alamat instruksi yang akan dieksekusi senantiasa disimpan Program Counter.

Ketika terjadi interupsi atau pemanggilan rutin biasa, alamat di Program Counter disimpan

terlebih dahulu di stack. Alamat interupsi atau rutin kemudian ditulis ke Program Counter,

instruksi kemudian dijemput dan dieksekusi. Ketika CPU telah selesai mengeksekusi rutin

interupsi atau rutin biasa, alamat yang ada di stack dibaca dan ditulis kembali ke Program

Counter.

 

b.Program Memori

ATMEGA 32 memiliki 32 KiloByte flash memori untuk menyimpan program.Karena lebar

intruksi 16 bit atau 32 bit maka flash memori dibuat berukuran 16K x 16. Artinya ada 16K

alamat di flash memori yang bisa dipakai dimulai dari alamat 0 heksa sampai alamat 3FFF heksa

dan setiap alamatnya menyimpan 16 bit instruksi.

 

c. SRAM Data Memori

ATMEGA32 memiliki 2 KiloByte SRAM. Memori ini dipakai untuk menyimpan variabel.

Tempat khusus di SRAM yang senantiasa ditunjuk register SP disebut stack. Stack berfungsi

untuk menyimpan nilai yang dipush.

 

d. EEPROM Data Memori

ATMEGA32 memiliki 1024 byte data EEPROM. Data di EEPROM tidak akan hilang walaupun

catuan daya ke sistem mati. Parameter sistem yang penting disimpan di EEPROM. Saat sistem

pertama kali menyala paramater tersebut dibaca dan system diinisialisasi sesuai dengan nilai

parameter tersebut.

e. Interupsi

Sumber interupsi ATMEGA32 ada 21 buah. Tabel 2 hanya menunjukkan 10 buah interupsi

pertama. Saat interupsi diaktifkan dan interupsi terjadi maka CPU menunda instruksi sekarang

dan melompat ke alamat rutin interupsi yang terjadi. Setelah selesai mengeksekusi intruksi-

instruksi yang ada di alamat rutin interupsi CPU kembali melanjutkan instruksi yang sempat

tertunda.

f. I/O Port

ATMEGA32 memiliki 32 buah pin I/O. Melalui pin I/O inilah ATMEGA32 berinteraksi dengan

sistem lain. Masing-masing pin I/O dapat dikonfigurasi tanpa mempengaruhi fungsi pin I/O yang

lain. Setiap pin I/O memiliki tiga register yakni: DDxn, PORTxn, dan PINxn. Kombinasi nilai

DDxn dan PORTxn menentukan arah pin I/O.

g. Clear Timer on Compare Match (CTC)

CTC adalah salah satu mode Timer/Counter1, selain itu ada Normal mode, FastPWM mode,

Phase Correct PWM mode. Pada CTC mode maka nilai TCNT1 menjadi nol jika nilai TCNT1

telah sama dengan OCR1A atau ICR1. Jika nilai top ditentukan OCR1A dan interupsi diaktifkan

untuk Compare Match A maka saat nilai TCNT1 sama dengan nilai OCR1A interupsi terjadi.

CPU melayani interupsi ini dan nilai TCNT1 menjadi nol.

h. USART

Selain untuk general I/O, pin PD1 dan PD0 ATMEGA32 berfungsi untuk mengirim dan

menerima bit secara serial.

Pengubahan fungsi ini dibuat dengan mengubah nilai beberapa register serial. Untuk

menekankan fungsi ini, pin PD1 disebut TxD dan pin PD0 disebut RxD. Gambar diatas

menunjukkan bentuk frame yang dimiliki ATMEGA32. Nilai UBRR dan clock sistem

menentukan laju bit pengirim dan penerima serial.

Fitur-fitur ATMega 32 :

• High-performance, Low-power Atmel®AVR® 8-bit Microcontroller • Advanced RISC

Architecture – 131 Powerful Instructions – Most Single-clock Cycle Execution – 32 × 8 General

Purpose Working Registers – Fully Static Operation – Up to 16 MIPS Throughput at 16MHz –

On-chip 2-cycle Multiplier • High Endurance Non-volatile Memory segments – 32Kbytes of In-

System Self-programmable Flash program memory – 1024Bytes EEPROM – 2Kbytes Internal

SRAM – Write/Erase Cycles: 10,000 Flash/100,000 EEPROM – Data retention: 20 years at

85°C/100 years at 25°C(1) – Optional Boot Code Section with Independent Lock BitsIn-System

Programming by On-chip Boot ProgramTrue Read-While-Write Operation – Programming Lock

for Software Security• JTAG (IEEE std. 1149.1 Compliant) Interface – Boundary-scan

Capabilities According to the JTAG Standard – Extensive On-chip Debug Support –

Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface• Peripheral

Features – Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes – One 16-bit

Timer/Counter with Separate Prescaler, Compare Mode, and CaptureMode – Real Time Counter

with Separate Oscillator  – Four PWM Channels – 8-channel, 10-bit ADC8 Single-ended

Channels7 Differential Channels in TQFP Package Only2 Differential Channels with

Programmable Gain at 1x, 10x, or 200x – Byte-oriented Two-wire Serial Interface –

Programmable Serial USART – Master/Slave SPI Serial Interface – Programmable Watchdog

Timer with Separate On-chip Oscillator  – On-chip Analog Comparator • Special

Microcontroller Features – Power-on Reset and Programmable Brown-out Detection – Internal

Calibrated RC Oscillator  – External and Internal Interrupt Sources – Six Sleep Modes: Idle,

ADC Noise Reduction, Power-save, Power-down, Standbyand Extended Standby• I/O and

Packages – 32 Programmable I/O Lines – 40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF•

Operating Voltages – 2.7V - 5.5V for ATmega32L

 – 4.5V - 5.5V for ATmega32• Speed Grades – 0 - 8MHz for ATmega32L – 0 - 16MHz for

ATmega32• Power Consumption at 1MHz, 3V, 25°C – Active: 1.1mA – Idle Mode: 0.35mA –

Power-down Mode: < 1μA

Kesimpulan :

Keempatnya adalah dari keluarga ATMEGA, arsitektur AVR,

buatan ATMEL,  j ad i   sebenarnya   l eb ih  banyak  pe rsamaan .  Pe rbedaan  pada  

f i tu rnya ,   t e ru tama   f l a shmemory dan RAM, Harga Juga berbeda-beda, tapi hanya selisih

harga sedikit. Selain itut e g a n g a n   y a n g   d i   h a s i l k a n   p u n   b e r b e d a -

b e d a . A T M e g a   8 5 3 5   p a l i n g   s t a b i l   u n t u k   mempertahankan tegangan yang tiba-tiba

turun (Drop)