UAS MP LAB
-
Upload
dhita-pratiwi -
Category
Documents
-
view
52 -
download
2
Transcript of UAS MP LAB
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)