BAB II DASAR TEORI 2.1
MIKROKONTROLER AT 89S51 [1] Mikrokontroler adalah suatu unit yang dapat diprogram cara kerjanya,
sehingga dapat dipergunakan untuk keperluan yang berbeda. Pada masa sekarang mikrokontroller banyak digunakan sebagai pengontrol pada peralatan – peralatan mulai dari mainan/hobie peralatan rumah tangga, sampai kontrol pada peralatan industri. Beberapa mikrikontroler yang beredar di pasaran merupakan keluarga beberapa pabrik yang sudah terkenal, misal: a. Intel.contoh
: 8031,89C51 dll
b. Zilog,contoh : Z8,Z8F1680 dll c. Microchip, contoh : PIC6F84, PIC6F877 dll d. Motorola, contoh :68HC11,MC68HC705V12CFN dll e. Philips Semiconductors,contoh:LPC2000,LPC900,LPC700 dll f. Atmel contoh: AT 89S52 series ( ARM THUMB architecture) AT90, Tiny&Mega series, AVR (Atmel Norway design), Atmel AT89 series( Intel 8051/MCS architecture). Dalam pembahasan modul ini akan di jelaskan penggunaan mikrokontroler dari Atmel AT89S series, dengan alasan lebih mudah dalam pemogramannya, pengembangannya dan harganya yang murah serta telah banyak beredar di pasaran.
5
2.1.1 Konfigurasi Pin Mikrokontroler AT 89S51
Gambar 2.1 Konfigurasi Pin AT 89S51 •
Pin 1 sampai 8 (Port 1.0 s/d Port 1.7) Ini adalah port 1 yang merupakan saluran/bus I/O 8 bit dua arah. Dengan
internal pull-up yang dapat digunakan untuk berbagai keperluan.Pada port ini juga digunakan sebagai saluran alamat pada saat pemograman dan verifikasi. •
Pin 9 Merupakan masukan reset (aktif tinggi), pulsa transisi dari rendah ke
tinggi akan me-reset mikrokontroler ini.
Gambar 2.2 konfigurasi reset
6
•
Pin 10 sampai 17 (Port 3.0 s/d Port 3.7) Ini adalah port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal
pull-ups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai, maka ini dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu sebagian dari port 3 dapat berfungsi sebagai sinyal.8 kontrol pada saat proses pemograman dan verifikasi. Bit Fungsi Alternatif P3.0 sebagai RXD alamat B0H; Untuk menerima data port serial P3.1 sebagai TXD alamat B1H; Untuk mengirim data port serial P3.2 sebagai INT0 alamat B2H; Interupsi eksternal 0 P3.3 sebagai INT1 alamat B3H; Interupsi eksternal 1 P3.4 sebagai T0 alamat B4H; Input Eksternal waktu/pencacah 0 P3.5 sebagai T1 alamat B5H; Input Eksternal waktu/pencacah 1 P3.6 sebagai WR alamat B6H; Jalur menulis memori data eksternal P3.7 sebagai RD alamat B7H; Jalur membaca memori data eksternal •
Pin 18 dan 19 Ini merupakan masukan ke penguat osilator berpenguat tinggi. Pada
mikrokontroler ini memiliki seluruh rangkaian osilator yang diperlukan pada serpih yang sama (on chip) kecuali rangkaian kristal yang mengendalikan frekuensi osilator. Karenanya 18 dan 19 sangat diperlukan untuk dihubungkan dengan kristal. Selain itu XTAL 1 dapat juga sebagai input untuk inverting oscilator amplifier dan input ke rangkaian internal clock sedangkan XTAL 2 merupakan output dari inverting oscilator amplifier.
7
Gambar 2.3 konfigurasi Kristal untuk osilator •
Pin 20 Merupakan ground sumber tegangan yang diberi simbol GND.
•
Pin 21 sampai 28 (Port 2.0 s/d Port 2.7) Ini adalah port 2 yang merupakan saluran/bus I/O 8 bit dua arah dengan
internal pull-ups. Saat pengambilan data dari program memori eksternal atau selama mengakses data memori eksternal yang menggunakan alamat 16 bit (MOVX @ DPTR), port 2 berfungsi sebagai saluran/bus alamat tinggi (A8 – A15). Sedangkan pada saat mengakses ke data.9 memori eksternal yang menggunakan alamat 8 bit (MOVX @ R1), port 2 mengeluarkan isi dari P2 pada Special Function Register. •
Pin 29 Program Store Enable (PSEN) merupakan sinyal pengontrol untuk
mengakses program memori eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching). •
Pin 30 Address Latch Enable (ALE)/PROG merupakan penahan alamat memori
eksternal (pada port 1) selama mengakses ke memori eksternal. Pena ini juga sebagai pulsa/sinyal input pemograman (PROG) selama proses pemograman.
8
•
Pin 31 External Access Enable (EA) merupakan sinyal kontrol untuk pembacaan
memori program. Apabila diset rendah (L) maka mikrokontroller akan melaksanakan seluruh instruksi dari memori program eksternal sedangkan apabila diset tinggi (H) maka mikrokontroler akan melaksanakan instruksi dari memori program internal ketika isi program.11 counter kurang dari 4096. ini juga berfungsi sebagai tegangan pemograman (VPP = +12V) selama proses pemograman. •
Pin 32 sampai 39 (Port 0.0 s/d Port 0.7) Ini adalah port 0 yang merupakan saluran/bus I/O 8 bit open colector,
dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada saat proses pemograman dan verifikasi port 0 digunakan sebagai saluran/bus data. External pull-ups diperlukan selama proses verifikasi. •
Pin 40 Merupakan positif sumber tegangan yang diberi simbol Vcc.
2.1.2
Struktur Mikrokontroler AT 89S51 Blok diagram umum mikrokontroler adalah sebagai berikut :
Gambar 2.4. Blok diagram mikrokontroler AT 89S51 9
Masing – masing bagian tersebut saling dihubungkan melalui internal BUS, umumnya terdiri dari 3 jenis bus, yaitu :addres bus, data bus, dan control bus. Diagram Arsitektur AT 89S51
Gambar 2.5. Arsitektur mikrokontroler AT 89S51 Fungsi setiap bagian: a
Register adalah suatu tempat penyimpanan (Variabel) bilangan bulat 8 bit atau 16 bit. Pada umumnya register berjumlah banyak, dan masing-masing ada yang memiliki fungsi khusus dan ada yang memiliki fungsi umum.
b
Accumulor (register A), merupakan salah satu register khusus yang berfungsi sebagai operand umum proses aritmatika dan logika.
c
Program counter, merupakan salah satu register khusus yang berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler
d
ALU (Arithmetical and Logical Unit), ALU memiliki kemampuan khusus dalam mengerjakan proses-proses arithmetika (penjumlahan, pengurangan, perkalian dan pembagian) dan operasi logika (AND, OR, XOR dan NOT)
e
Clock circuits, mikrokontroller merupakan rangkaian digital sekuensial, dimana kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian rangkaian
10
f
Internal ROM (On Chip Flash), merupakan memori yang isinya tidak dapat diubah atau dihapus (pada saat mikrokontroler berjalan) isinya hanya dapat dibaca saja. ROM biasanya berisi program (urutan-urutan instruksi) untuk menjalankan mikrokontroler. Data pada ROM dibaca secara berurutan.
g
Internal RAM, merupakan memori yang isinya 256 Kybite dapat diubah atau dihapus. RAM pada mikrokontroler biasanya berisi data-data variable dan register. Data yang tersimpan pada RAM bersifat hilang jika catu daya yang diberikan hilang (mati).
h
Stack pointer, merupakan bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data yang khusus. Dimana data yang paling terakhir dimasukkan merupakan data yang pertama kali dibaca kembali (LIFO).
i
I/O port (serial dan parallel), merupakan sarana yang digunakan mikrokontroller untuk mengakses peralatan di luar dirinya, memasukan dan mengeluarkan data.
j
Interrupt circuits, merupakan rangkaian yang mengendalikan sinyal-sinyal interupsi bail internal maupun eksternal, dengan adanya sinyal interupsi akan mengakibatkan program utama yang sedang dikerjakan berhenti sejenak, dan bercabang/.loncat ke program rutin layanan interupsi (RLI) yang diminta, setelah RLI selesai dikerjakan, mikrokontroller kembali melanjutkan program utama yang tertunda tadi.
Setiap mikrokontroler memiliki blok diagram dan arsitektur yang berbeda satu dengan yang lainnya, tergantung pada banyak device yang terintegrasi di
11
dalamnya, beberapa jenis mikrokontroler telah dilengkapi oleh ADC/DAC, PWM, WDT dan lain-lain. 2.1.3
Cara kerja Mikrokontroler AT 89S51 Prinsip kerja mikrokontroler adalah sebagai berikut :
a) Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. b) Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data. c)
Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan.
2.2
MOTOR DC (STEPPER) Motor stepper adalah motor DC yang khusus berputar dalam suatu derajat
yang tetap yang disebut step (langkah). Satu step antara 0,9 sampai 90° [2]. Motor stepper terdiri dari rotor dan stator. Rotor adalah permanen maget sedangkan stator adalah elektromagnet. Rotor akan bergerak jika stator diberi aliran listrik. Aliran listrik ini membangkitkan medan magnet dan membuat
rotor
menyesuaikan dengan kutub magnet yang dimilikinya. Motor stepper digunakan khusus menentukan posisi batang motor tanpa harus mempergunakan sensor
12
posisi. Hal ini dapat dilakukan dengan cara menghitung jumlah step yang harus diberikan dari posisi acuan. Ukuran dari step ditentukan oleh jumlah rotor dan kutub stator. Tidak ada kesalahan kumulatif yaitu kesalahan sudut tidak terus bertambahan dengan meningkatnya step.
Gambar 2.6. motor stepper
Motor stepper bekerja secara lup terbuka, yaitu pengatur mengirimkan sejumlah step ke motor untuk menggerakkan rotor ke posisi yang diinginkan. Sebagai contoh motor stepper pada floppy disk drive. Motor stepper memiliki kecepatan yang rendah dan sering digunakan tanpa reduksi gigi gerigi (gear reduction). Suatu jenis motor stepper dengan 500 pulsa/detik akan berputar150 rpm [2]. Tetapi motor stepper dapat dibuat berputar 1 rpm atau kurang dengan akurasi yang tinggi. Terdapat tiga jenis motor stepper yaitu magnet permanen, variable reluctance dan hibrid.
13
2.2.1 Permanent Magnet Motor Stepper Permanent Magnet (PM) Stepper Motor menggunakan magnet permanen sebagai rotornya. Pada gambar 2.6 adalah jenis PM Motor Stepper dengan 4 medan (stator). Jika kumparan medan 1 diberi energi listrik maka kutub selatan rotor akan tertarik menuju kumparan ini. Jika kumparan 1 tidak diberi energi dan kumparan 2 diberi energi maka rotor akan berputar dan menuju kumparan 2. Jadi rotor memiliki step 90° untuk setiap kali pemberian energi ini. Salah satu sifat motor stepper yang diinginkan adalah rotor akan mengarah kepada kutub yang terdekat meski tidak dialiri listrik. Anda akan merasakan hentakan magnet ini jika memutar motor stepper dengan tangan. Gejala ini disebut detent torque atau residual torque (torsi sisa). Torsi residu ini sangat diperlukan karena membuat motor berhenti pada step terakhir yang diperintahkan. 2.2.2
Efek Pembebanan Pada Motor Stepper Dalam pengerjaan lup terbuka seharusnya motor stepper harus bergerak
satu step setiap kali diperintah tetapi jika bebanya terlalu berlebihan motor stepper memiliki torsi untuk membuat satu step. Mungkin rotor akan berputar sedikit kemudian kembali ke posisi semula tanpa mencapai satu step. Ini yang disebut dengan stalled. Jika pengatur tidak memiliki umpan balik maka pengatur tidak akan pernah tahu kalau tidak tercapai sebuah step. Pada saat rotor tepat pada kutub stator torsinya adalah nol, torsi hanya terjadi pada saat rotor tepat pada kutub stator. Kejadian ini digambarkan pada gambar 2.7 Saat stator dialiri listrik terjadi gaya pada kutub utara rotor untuk bergerak menuju kutub selatan stator. Terjadi torsi yang memutar rotor dan gaya tarik semakin bertambah. Pada saat
14
rotor tepat di depan stator (gambar terakhir di Gambar 2.7) terjadi gaya tarik yang paling besar tetapi torsinya tidak ada. Pada prakteknya rotor akan berhenti sebelum tepat di depan stator saat torsi step yang melemah ini sama dengan torsi beban.
Gambar 2.7 Perubahan gaya dan torsi saat Rotor menuju stator Misal rotor diinginkan berputar berlawanan arah jarum jam. Jika rotor tertinggal satu step (langkah) dari stator yaitu pada saat rotor baru mau bergerak kumparan kedua sudah dialiri (Gambar 2.8). Hal ini menyebabkan rotor bisa berputar berlawanan arah jarum jam tetapi bisa juga searah jarum jam dalam mengejar kutub utara stator. Karena itu dibatasi agar rotor tidak tertingal lebih dari setengah step. Pada saat ini torsi yang dimiliki motor akan cukup untuk memutar rotor sampai ke arah yang diinginkan tanpa harus stall. Pada saat motor berputar dengan cepat, step dari motor akan tetap dengan adanya kelembaban dari rotor.
15
Gambar 2.8. Rotor tertunda satu step Motor stepper melaksanakan perputaran dari satu posisi ke posisi lainnya berdasarkan step, dimana perubahan setiap ini merupakan pengubahan kutubkutub magnet dari motor stepper. Setiap perubahan satu step akan membuat motor stepper berputar dengan derajat tertentu yang biasanya antara 0,90 sampai 300 setiap step. Prinsip kerja motor stepper ada dua macam, yaitu full step dan half step. Untuk model full step data yang diberikan pada setiap lilitan hanya 4 step seperti pada tabel 1.1. Sedangkan untuk model half step data yang diberikan ada sebanyak 8 step seperti pada tabel 1.2 Tabel 1.1 Pemberian Tegangan untuk Model Full Step Tegangan yang Diberikan pada Lilitan Step
Arah Putaran Searah Jarum Jam
Arah Putaran Berlawanan Arah dengan Jarum Jam
L3
L2
L1
L0
L3
L2
L1
L0
1
1
0
0
0
0
0
0
1
2
0
1
0
0
0
0
1
0
3
0
0
1
0
0
1
0
0
4
0
0
0
1
1
0
0
0
16
Tabel 1.2 Pemberian Tegangan untuk Model Half Step Tegangan yang Diberikan pada Lilitan Step
Arah Putaran Searah Jarum Jam
Arah Putaran Berlawanan Arah dengan Jarum Jam
L3
L2
L1
L0
L3
L2
L1
L0
1
0
0
0
1
0
0
1
1
2
1
0
0
1
0
0
1
0
3
1
0
0
0
0
1
1
0
4
1
1
0
0
0
1
0
0
5
0
1
0
0
1
1
0
0
6
0
1
1
0
1
0
0
0
7
0
0
1
0
1
0
0
1
8
0
0
1
1
0
0
0
1
Motor stepper adalah salah satu tipe motor yang sangat banyak dipergunakan sebagai penggerak/pemutar pada peralatan sistem kontrol di industri, instrumentasi dan juga pada peralatan-peralatan elektronik seperti printer tetapi walaupun demikian pada dasarnya hanya terdapat 3 tipe motor motor stepper : 2.2.3
Motor Stepper Type Variable Reluctance (VR) Motor stepper jenis ini telah lama ada dan merupakan jenis motor yang
secara struktural paling mudah untuk dipahami. Motor ini terdiri atas sebuah rotor besi lunak dengan beberapa gerigi dan sebuah lilitan stator. Ketika lilitan stator
17
diberi energi dengan arus DC, kutub-kutubnya menjadi termagnetasi. Perputaran terjadi ketika gigi-gigi rotor tertarik oleh kutub-kutub stator. Berikut ini adalah penampang melintang dari motor stepper tipe variable reluctance (VR) :
Gambar 2.9 Penampang Melintang dari Motor Stepper Tipe Variable Reluctance (VR) 2.2.4
Motor Stepper Type Permanent Magnet (PM)
Motor stepper jenis ini memiliki rotor yang berbentuk seperti kaleng bundar (tin can) yang terdiri atas lapisan magnet permanen yang diselang-seling dengan kutub yang berlawanan (perhatikan gambar 2.9). Dengan adanya magnet permanen, maka intensitas fluks magnet dalam motor ini akan meningkat sehingga dapat menghasilkan torsi yang lebih besar. Motor jenis ini biasanya memiliki resolusi langkah (step) yang rendah yaitu antara 750 hingga 150 per langkah atau 48 hingga 24 langkah setiap putarannya. 2.2.5
Motor Stepper Tipe Hybrid (HB) Motor stepper tipe hybrid memiliki struktur yang merupakan kombinasi
dari kedua tipe motor stepper sebelumnya. Motor stepper tipe hybrid memiliki gigi-gigi seperti pada motor tipe VR dan juga memiliki magnet permanen yang
18
tersusun secara aksial pada batang porosnya seperti motor tipe PM. Motor tipe ini paling banyak digunakan dalam berbagai aplikasi karena kinerja lebih baik. Motor tipe hybrid dapat menghasilkan resolusi langkah yang tinggi yaitu antara 3,60 hingga 0,90 per langkah atau 100 - 400 langkah setiap putarannya. 2.3
SENSOR LOAD CELL [ 3 ] Load cell adalah komponen utama pada sistem timbangan digital.tingkat
keakurasian timbangan bergantung dari jenis load cell yang dipakai.sensor load cell apabila diberi beban pada inti besi maka nilai resistansi di strain gaugenya akan berubah yang dikeluarkan melalui empat buah kabel. Dua kabel sebagai eksitasi dan dua kabel lainnya sebagai sinyal keluaran ke kontrolnya gambar 2.10 dibawah adalah bentuk fisik dari sensor load cell
Gambar 2.10 Bentuk fisik sensor Load cell Sebuah load cell terdiri dari konduktor strain gauge, dan wheatstone bridge.berikut ini beberapa penjelasan mengenai defenisi load cell.tegangan keluaran dari sensor load cell sangat kecil, sehingga untuk mengetahui perubahan tegangan keluaran secara linier dibutuhkan rangkaian penguat instrumen. Dalam hal ini digunakan IC amplifier instrumen INA 125 yang memang dibuat khusus
19
untuk menguatkan tegangan keluaran yang sangat kecil hingga kurang dari mili volt, salah satunya sensor Load Cell, hingga ukuran tegangan dalam satuan mili volt.gambar rangkaian dapat dilihat pada gambar 2.10. agar tegangan dapat terukur secara linier digunakan penguatan sebesar 1000 kali. 2.4
RANGKAIAN INVERTING ( PENGUAT PEMBALIK OPERASIONAL AMPLIFIER)
Konsep Dasar Teori Defenisi Operasional Amplifier OP – AMP ( Operasional Amplifiers ) pada hakekatnyan merupakan sejenis IC. Didalamnya terdapat suatu rangkaian elektronik yang terdiri atas beberapa transistor, resistor dan atau dioda jikalau suatu rangkaian, masukan dan suatu jenis rangkaian umpan balik, maka IC ini dapat dipakai untuk mengerjakan berbagai operasi matematika, seperti menjumlah, mengurangi, membagi, mengali, mengintegrasi, dan sebagainya oleh karena itu IC jenis ini dinamakan penguat operasi atau operasional amplifier, disingkat OP – AMP. Namun demikian OP – AMP dapat pula dimanfaatkan untuk berbagai keperluan, misalnya : sebagai penguat audio, pengaturan nada, osilator atau pembangkit gelombang, sensor circuit, dsb. OP – AMP banyak disukai karena faktor penguatannya besar (100.000kali). Sejarah perkembangan OP – AMP Pengembangan rangkaian terpadu IC luar telah ada sejak tahun 1960, pertama telah dikembangkan pada “chip ” silikon tunggal . rangkaian terpadu merupakan susunan antara transistor, diode sebagai penguat beda dan pasangannya darlington.kemudian
tahun
1963
industri
semikonduktor
Fairchild
20
memperkenalkan IC OP – AMP pertama kali µA 702, yang mana merupakan pengembangan IC OP –AMP yang lain sebelumnya, dimana tegangan sumber (catu daya ) dibuat tidak sama yaitu +UCC = +12 V dan –UEE = -6 V, dan resistor inputnya rendah sekali yaitu( KW) dan gain (3600 V/V). KARAKTERISTIK IDEAL OP –AMP 1. Penguatan tegangan tak terhingga
(Av = ~) “ penguatan tegangan
bergantung pada tegangan sumber Vcc”. 2. Impedansi input tak berhingga (Zin = ~) 3. Bandwithnya mendekati tak hingga dengan demikian delay timenya hamper tak ada Bw = ~ ∆t = 0 4. Impedansi Out put kecil sekali (Zout = 0) 5. Vout = 0 jika Vin = 0 2.4.1
Operasi penguat Diferensial Prinsip kerja penguat diferensial :
1. Pada saat tegangan masukan
0 (titik
=
dan
massa ), dan besarnya tegangan selisih pada kedua basis
0 pada
, dan pada keluaran terjadi perubahan
kedua kolektor sama besar tegangan pada
terhubung ke
0
→∆
2. Pada saat tegangan masukan
0 ( titik
besarnya tegangan selisih pada kedua basis
terhubung ke massa ), dan =
Ada dua kemungkinan kejadian : 1. Bila
berpolaritas positif, maka pada kondisi ini arus kolektor
menyebabkan tegangan keluaran daripada 0 → ∆
ke arah negatif ( lebih kecil
= negatif
21
Penting
untuk
diketahui,
bahwasanya
perubahan
tegangan
keluaran
berlawanan arah dengan perubahan tegangan masukan
Gambar 2.11 IC LM 324
Gambar 2.12 pin diagram LM 324N
22
Untuk lebih jelasnya keterangan pada : Tabel 1.3 Fungsi setiap pin Pin No
Function
Name
1
Output of 1st comparator
Output 1
2
Inverting input of 1st comparator
Input 1-
3
Non-inverting input of 1st comparator
Input 1+
4
Supply voltage; 5V (up to 32V)
5
Non-inverting input of 2nd comparator
Input 2+
6
Inverting input of 2nd comparator
Input 2-
7
Output of 2nd comparator
Output 2
8
Output of 3rd comparator
Output 3
9
Inverting input of 3rd comparator
Input 3-
10
Non-inverting input of 3rd comparator
Input 3+
11
Ground (0V)
Ground
12
Non-inverting input of 4th comparator
Input 4+
13
Inverting input of 4th comparator
Input 4-
14
Output of 4th comparator
Output 4
2.5
Vcc
MIKROKONTROLLER 8535 Mikrokontroler adalah IC yang dapat deprogram berulang kali, baik ditulis
atau dihapus.biasanya digunakan untuk pengontrolan otomatis dan manual pada perangkat elektronika.
23
Beberapa tahaun terakhir, mikrokontroler sangat banyak digunakan trutama dalam pengontrolan robot.seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemograman yang ikut juga berubah.salah satunya adalah mikrokontroler AVR (Alfand Vegard’s Risc processor) Atmega 8535 yang menggunakan teknologi RISC ( Reduce Instruction Set Computing ) dimana program berjalan lebih cepat karena hanya memmembutuhkan satu siklus clock untuk mengeksekusi satu instruksi program.secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90xx, keluarga ATmega, dan AT86RFxx.Pada dasarnya yang membedakan masing – masing kelas adalah memori, peripheral, dan fungsinya.Dari segi arsitektur dan arsitektur dan instruksi yang digunakan, mereka bias dikatakan hamper sama. Mikrokontroler AVR ATmega 8535 memiliki fitur yang cukup lengkap, Mikrokontroler AVR ATmega 8535 telah dilengkapi dengan ADC internal EEPROM internal, timer / counter, PWM, analog comparator, dll). Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler AVR dengan lebih mudah dan efesien, serta dapat mengembangkan kreativitas pengguna mikrokontroler ATmega 8535. Fitur – fitur yang dimiliki oleh mikrokontroler ATmega 8535 adalah sebagai berikut: [ 4 ] 1. Saluran I/O sebanyak 32 buah, yaitu port A,port B, port C, dan D 2. ADC internal sebanyak 8 saluran 3. Tiga buah timer/counter dengan kemampuan perbandingan CPU yang terdiri atas 32 buah register. 4. SRAM sebesar 512 byte
24
5. Memori Flash sebesar 8Kb dengan kemampuan Read While Write 6. Port antarmuka SPI 7. EEPROM sebesar 512 byte yang dapat deprogram saat operasi. 8. Antarmuka komparator analog. 9. Port USART untuk komunikasi serial. 10. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. 11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 Mhz 12. Dan lain – lainnya. 2.5.1 Konstruksi ATmega 8535 Mikrokontroler ATmega 8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM.ketiganya memiliki ruang sendiri terpisah. a) Memori program ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi. b) Memori data ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM
25
(menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM. c) Memori EEPROM ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan registerregister I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM. ATmega 8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATmega 8535 dapat dikonfigurasi, baik secara single ended input maupun differential input. Selain itu, ADC ATmega 8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel, ATmega 8535 memiliki 3 modul timer yang terdiri dari 2 buah sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri. timer/counter 8 bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu, semua timer/counter juga dapat difungsikan sebagai
26
sumber interupsi. Masing-masing timer/counter ini memiliki register tertentu yang digunakan untuk mengatur mode dan cara kerjanya. Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga merupakan salah satu mode komunikasi serial
yang
dimiliki
oleh
ATmega8535.
USART
merupakan
komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART. 2.5.2
Pin – pin pada Mikrokontroler ATmega 8535
Gambar 2.13 Konfigurasi pin ATmega 8535 (data sheet AVR )
27
Konfigurasi pin ATmega 8535 dengan kemasan 40 pin DIP ( Dual inline package) dapat dilihat pada gambar .dari gambar diatas dapat dijelaskan fungsi dari masing – masing pin ATmega 8535 sebagai berikut : 1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin ground 3. Port A ( Port A0…Port A7) merupakan pin input/output dua arah dan pin masukan ADC 4. Port B ( Port B0…PortB7 ) merupakan pin input/output dua arah dan pin fungsi khusus, seperti dapat dilihat pada table dibawah ini. Tabel 1.4 Fungsi khusus Port B Pin
Fungsi Khusus
PB7
SCK (SPI Bus Serial Clock)
PB6
MISO (SPI Bus Master Input/ Slave Output)
PB5
MOSI (SPI Bus Master Output/ Slave Input)
PB4
SS (SPI Slave Select Input) AIN1 (Analog Comparator Negative Input) OC0 (Timer/Counter0 Output Compare Match Output) AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input)
PB3 PB2 PB1 PB0
T1 (Timer/ Counter1 External Counter Input) T0 T1 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)
Port C ( Port C0…Port C7) merupakan pin in/out dua arah dan pin fungsi khusus, seperti dapat dilihat pada table dibawah ini. Tabel 1.5 Fungsi Khusus Port C Pin
Fungsi khusus
PC7
TOSC2 ( Timer Oscillator Pin2)
PC6
TOSC1 ( Timer Oscillator Pin1)
PC5
Input/Output
PC4
Input/Output
PC3
Input/Output
PC2
Input/Output
28
PC1
SDA ( Two-wire Serial Buas Data Input/Output Line)
PC0
SCL ( Two-wire Serial Buas Clock Line)
Port D ( Port D0 …..Port D7) merupakan pin input/out dua arah dan pin fungsi khusu, seperti yang terlihat pada table dibawah ini. Tabel 1.6 Fungsi khusus Port D Pin
Fungsi khusus
PD7
OC2 (Timer/Counter Output Compare Match Output)
PD6
ICP (Timer/Counter1 Input Capture Pin)
PD5
OC1A (Timer/Counter1 Output Compare A Match Output)
PD4
OC1B (Timer/Counter1 Output Compare B Match Output)
PD3
INT1 (External Interrupt 1 Input)
PD2
INT0 (External Interrupt 0 Input)
PD1
TXD (USART Output Pin)
PD0
RXD (USART Input Pin)
29
30
31
32