18
LANDASAN TEORI
Dalam bab ini penulis akan membahas tentang komponen- komponen yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topic utama laporan ini,maka setiap komponen hanya di bahas sesuai fungsi nya pada masing- masing unit nya
2.1 Mikrokontroler ATMega 8535
Mikrokontroler merupakan sebuah single chip yang didalamnya telah dilengkapi dengan CPU Central Processing Unit, RAM Random Access
Memori, ROM Read Only Memori, Input dan Output, TimerCounter, Serial com port secara spesifik digunakan untuk aplikasi – aplikasi kontrol dan aplikasi
serbaguna. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak motor.Read Only Memori ROM yang isinya tidak
berubah meskipun IC kehilangan catu daya. Memori penyimpanan program dinamakan sebagai memori program.Random Access Memori RAM isinya akan
langsung hilang ketika IC kehilangan catudaya yang dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini
disebut sebagai memori data. Mikrokontroler biasanya dilengkapi dengan UART Universal
Asychronous Receiver Transmitter yaitu port serial komunikasi serial asinkron, USART Universal Syncrhronous and Asyncrhronous Serial Receiver and
Transmitter yaitu port yang digunakan untuk komunikasi serial sinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari UART, SPI Serial Port
Interface, SCI Serial Communication Interface, Bus RC Intergrated
19 circuitBus merupakan 2 jalur yang terdapat 8 bit, CAN Control Area Network
merupakan standart pengkabelan SAE Society of Automatic Engineers. Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada
dunia industri.Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang
relative murah. Mikrokontroler saat ini merupakan chip utama pada hamper setiap peralatan elektronika canggih. Mikrokontroler AVR memiliki arsitektur RISC 8
bit, dimana semua instruksi dikemas dalam kode 16 bit 16 bit word dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi CS51
yang membutuhkan siklus 12 clock. AVR berteknologi RISC Reduce Instruction Set Computing, sedangkan seri MCS51berteknologi CISC Complex Instruction
Set Computing.Secara umum, AVR dikelompokkan menjadi beberapa kelas, yaitu keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.Pada dasarnya yang
membedakan masing – masing kelas adalah memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bias dikatakan hamper
sama.
2.1.1. Fitur ATMega8535
Fitur-fitur yang dimiliki oleh mikrokontroler ATmega32 adalah sebagai berikut:
1. Saluran IO sebanyak 32 buah, yaitu port A, port B, port C, dan port D.
2. ADC internal sebanyak 8 saluran.
3. Tiga buah TimerCounter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
20 5.
SRAM sebesar 512 byte. 6.
Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 7.
Port antarmuka SPI 8.
EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 9.
Antarmuka komparator analog. 10.
Port USART untuk komunikasi serial. 11.
Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
2.1.2. Konfigurasi Pin ATMega32
Konfigurasi pinATmega32 dengan kemasan 40 pin DIP Dual Inline Package dapat dilihat pada gambar xxxxxx. Dari gambar di atas dapat
dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut: 1.
VCC merupakan pinyang berfungsi sebagai masukan catu daya. 2.
GND merukan pin Ground. 3.
PortA PortA0…PortA7 merupakan pin inputoutputdua arah dan pinmasukan ADC.
4. PortB PortB0…PortB7 merupakan pin inputoutputdua arah dan dan
pinfungsi khusus, 5.
Port C PortC0…PortC7 merupakan pin inputoutputdua arah dan pinfungsi khusus,
6. Port D PortD0…PortD7 merupakan pin inputoutput dua arah dan pin
fungsi khusus, 7.
RESET merupakan pinyang digunakan untuk me-resetmikrokontroler.
21 8.
XTAL1 dan XTAL2 merupakan pin masukan clockeksternal. 9.
AVCC merupakan pinmasukan tegangan untuk ADC. 10.
AREFF merupakan pinmasukan tegangan referensi ADC.
Gambar 2.1Konfigurasi Pin ATmega32 PDIP Berikut ini penjelasan mengenai konfigurasi pin ATMega32 sebagai
berikut :
1. Port A
Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit directional port IO. Setiap pin-nya dapat menyediakan internal pull-up
resistor dapat diatur per bit. Output buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port A DDRA harus di-setting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.
22 2.
Port B Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit
directional port IO. Setiap pin-nya dapat menyediakan internal pull-up resistor dapat diatur per bit. Output buffer port B dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction Register port B DDRB harus di-setting terlebih dahulu sebelum port B
digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin
port B juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel 2.1 Penjelasan pin pada port B
Pin Keterangan
PB.7 SCK SPI Bus Serial Clock
PB.6 VISO SPI Bus Master InputSlave Output
PB.5 VOSI SPI Bus Master OutputSlave Input
PB.4 SS SPI Slave Select Input
PB.3 AIN1 Analog Comparator Negative InputOCC
TimerCounter0 Output Compare Match Output PB.2
AIN0 Analog Comparator Positive InputINT2 External Interrupt2 Input
PB.1 T1 TimerCounter1 External Counter Input
PB.0 T0 TimerCounter0 External Counter InputXCK JSART
23 External Clock InputOutput
3. Port C
Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri merupakan port input atau output. Setiap pin-nya dapat menyediakan internal
pull-up resistor dapat diatur per bit.Output buffer port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port C DDRC harus di-setting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.
4. Port D
Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit directional port IO. Setiap pin-nya dapat menyediakan internal pull-up
resistor dapat diatur per bit. Output buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port D DDRD harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat
dalam tabel:
Tabel 2.2 Penjelasan pin pada port D
24 Pin
Keterangan PD.0
RDX UART input line PD.1
TDX UART output line PD.2
INT0 external interrupt 0 input PD.3
INT1 external interrupt 1 input PD.4
OC1B TimerCounter1 output compareB match output PD.5
OC1A TimerCounter1 output compareA match output PD.6
ICP TimerCounter1 input capture pin PD.7
OC2 TimerCounter2 output compare match output
2.1.3. Peta Memori ATMega 32
ATMega8535 memiliki dua jenis memori yaitu Data Memori dan Program Memori ditambah satu fitur tambahan yaitu EEPROM Memori untuk penyimpan
data.
1. Program Memori
ATMEGA32 memiliki On-Chip In-SistemReprogrammable Flash Memory untuk menyimpan program.Untuk alasan keamanan, program memori dibagi
menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section.Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program
yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan.
25 Application Flash Section digunakan untuk menyimpan program aplikasi
yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat
diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada
Application Flash Sectionjuga sudah aman.
Gambar 2.2 Peta Memori Progra Gambar 2.2 Peta Memori Program
2. Data Memori
Gambar berikut menunjukkan peta memori SRAM pada ATMEGA32.
Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan IO Memori sementara 512 lokasi address lainnya digunakan
untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, IO register terdiri dari 64 register.
26 Gambar 2.3 Peta Memori Data
3. EEPROM Data Memori
ATMEGA32 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan sistem address register, data register dan control
register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari 000 sampai 1FF.
Gambar 2.4 EEPROM Data Memori
27
2.1.4. Status Register SREG ATMega32
Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan
bagian dari inti CPU mikrokontroler.
Gambar 2.5 Status Register ATMega32
1. Bit 7-I : Global Interrupt Enable
Bit harus diset untuk meng-enable interupsi. Setelah itu anda dapat mengaktifkan interupsi mana yang akan digunakan dengan cara meng-
enable bit kontrol register yang bersangkutan secara individu. Bit akan di- clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit
tidak akan mengizinkan terjadinyainterupsi, serta akan diset kembali oleh instruksi RETI.
2. Bit 6-T : Bit Copy Storage
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit
T menggunakan instruksi BTS, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BDL.
3. Bit 5-H : half Carry Flag
28 4.
Bit 4-S : Sigh Bit Bit-S merupakan hasil operasi EOR antara Flag-N negatif dan flag
Vkomplemen dua overflow. 5.
Bit 3-V : Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika.
6. Bit 2-N : Negative Flag
Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan di-set.
7. Bit 1-Z : Zero Flag
Bit akan di-set bila hasil operasi yang diperoleh adalah nol. 8.
Bit 0-C : Carry Flag Apabila suatu operasi menghasilkan carry, maka bit akan di-set.
Port IO pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port IO
sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Logika port IO dapat berubah-ubah dalam program secara byte atau hanya bit tertentu.
Mengubah sebuah keluaran bit IO dapat dilakukan menggunakan perintah cbi clear bit IO untuk menghasilkan output low atau perintah sbi set bit IO untuk
menghasilkan output high. Perubahan secara byte dilakukan denganperintah in atau out yang menggunakan register bantu.
2.2 Modem GSM