BAB 2
LANDASAN TEORI
2.1 Dioda Germanium
Dioda adalah komponen aktif semikonduktir yang terdiri dari persambungan
(junction) P-N. Sifat dioda yaitu dapat menghantarkan arus pada tegangan maju dan menghambat arus pada tegangan balik. Dioda berasal dari pendekatan kata
dua elektroda yaitu anoda dan katoda. Dioda semikonduktor hanya melewatkan
arus searah saja (forward), sehingga banyak digunakan sebagai komponen penyearah arus. Secara sederhana sebuah dioda bisa kita asumsikan sebuah katup,
dimana katup tersebut akan terbuka manakala air yang mengalir dari belakang
katup menuju kedepan, sedangkan katup akan menutup oleh dorongan aliran air
dari depan katup.
Gambar 2.1 Spesifikasi Dioda Germanium
Simbol Umum Dioda
Dioda disimbolkan dengan gambar anak panah yang pada ujungnya terdapat garis
yang melintang. Simbol tersebut sebenarnya adalah sebagai perwakilan dari cara
kerja dioda itu sendiri. Pada pangkal anak panah disebut juga sebagai anoda (kaki
positif = P) dan pada ujung anak panah disebut sebagai katoda (kaki negatif = N).
Fungsi Dioda antara lain sebagai berikut:
1. Sebagai penyearah, untuk dioda bridge.
2. Sebagai penstabil tegangan (voltage regulator), untuk dioda zener. 3. Pengaman/sekering.
4. Sebagai rangkaian clipper, yaitu untuk memangkas/membuang level sinya yang ada di atas atau dibawah level tegangan tertentu.
5. Sebagai rangkaian clamper, yaitu untuk menambahkan komponen DC kepada suatu sinya AC.
6. Sebagai pengganda tegangan.
7. Sebagai indikator, untuk LED (light emiting diode).
8. Sebagai sensor panas, contoh aplikasi pada rangkaian power amplifier. 9. Sebagai sensor cahaya, untuk dioda photo.
10.Sebagai rangkaian VCD (voltage controlled oscilator), untuk dioda varactor
2.2 Mikrokontroler
Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar
elemennya dikemas dalam satu chip IC, sehingga sering juga disebut dengan
keluarga masing-masing mikrokontroler mempunyai spesifikasi tersendiri namun
masih kompatibel dengan pemrogramannya.
Pada saat ini penggunaan mikrokontroler dapat kita temui pada berbagai
peralatan, misalnya peralatan yang terdapat dirumah, seperti telepen digital,
microwave oven, televisi, mesin cuci, sistem keamanan rumah, PDA, dll. Mikrokontroler dapat kita gunakan untuk berbagai aplikasi misalnya untuk
pengendalian, otomasi industri, akusisi data, telekomunikasi dan lain-lain.
Keuntungan menggunakan mikrokontroler yaitu harganya murah, dapat
diprogram berulang kali, dan dapat kita program sesuai dengan keinginan kita.
Saat ini keluarga mikrokontroler yang ada dipasaran yaitu Intel 8084 dan 8051
(MCS51), Motorola 68HC11, Micochip PIC, Hitachi H8, dan Atmel AVR.
2.2.1 Sejarah Mikrokontroler
Mikrokontroler dikembangkan dari mikroprosesor. Berikut ini sejarah
perkembangan teknologi mikroprosesor dan mikrokontroler.
Tahun 1617, John Napier menemukan sistem untuk melakukan perkalian dan
pembagian berdasarkan logaritma.
Tahun 1694, Gottfriend Wilhelm Leibniz membuat mesin mekanik yang
dapat melakukan operasi +, -, *, /, dan akar kuadrat.
Tahun 1835, Charles Babbage mengusulkan computer digital pertama didunia
menggunakan punched card untuk data dan instruksi, serta program control
dengan unit aritmatika dan unit penyimpanan.
Tahun 1850, George Boole, mengembangkan symbolic logic termasuk
Tahun 1946, Von Neuman menyarankan bahwa instruksi menjadi kode
numerik yang disimpan pada memori. Komputer dan semua desain
mikrokontroler didasarkan pada komputer Von Neuman.
Tahun 1948, Transistor ditemukan. Dengan dikembangkannya konsep
software, pada tahun 1948 mulai adanya perkembangan hardware penting untuk transistor.
Tahun 1959, IC (Integrated Circuit) pertama dibuat.
Tahun 1971, Intel 4004 dibuat, yang merupakan Mikroprosesor pertama.
Terdiri dari 2250 transistor. Kemudian intel membuat Intel 8008,
mikroprosesor 8 bit. Semakin besar ukuran bit berarti mikroprosesor dapat
memproses lebih banyak data.
Tahun 1972, TMS 1000, buatan Texa Instrumen, Mikrokontroler pertama
yang dibuat.
Tahun 1974, beberapa pabrikan IC menawarkan mikroprosesor dan
pengendalian menggunakan mikroprosesor yang ditawarkan pada saat itu
yaitu 8080, 8085, Motorola 6800, signetic 6502, Zilog z80, dan Texas
Instrumens 9900 (16 bit).
Tahun 1978, mikroprosesor 16 bit menjadi lebih umum digunakan yaitu Intel
8086, Motorola 68000 dan Zilog Z8000. Sejak saat itu pabrik mikroprosesor
terus mengembangkan mikroprosesor dengan berbagai keistimewaan dan
asristektur. Mikroprosesor yang dikembangkan termasuk mikroprosesor 32
bit seperti Intel Pentium, Motorola Dragon Ball, dan beberapa mikrokontroler
2.2.2 Mikrokontroler ATMEG 8
Atmega 8 adalah low power mikrokontroler 8 bit dengan arsitektur RISC. Mikrokontroler ini dapat mengeksekusi perintah dalam satu periode clock untuk
setiap instruksi. Berikut ini adalah contoh gambar Atmega 8 yang terdapat pada
gambar 2.3 dibawah ini.
Gambar 2.3 AT MEGA 8
Mikrokontroler ini diproduksi oleh atmel dari seri AVR. Untuk seri AVR
ini banyak jenisnya, yaitu Atmega 8, Atmega 8535, Mega 8515, Mega 16, dan
lain-lain. Mikrokontroler Atmega 8 ini sangat murah dan mempunyai fasilitas
yang sangat memadai untuk mengembangkan berbagai aplikasi.
Keuntungan lainnya dalam menggunakan ATMEGA 8 ini, jika ada
perubahan cara kerja sistem maka kita tidak perlu merubah rangkaiannya, tetapi
hanya dengan merubah program-program yang lama dengan memasukkan
program-program atau instruksi yang baru.
2.2.3 Fitur ATMEGA 8
Beberapa fitur dari Atmega 8 adalah sebagai berikut:
1. Mikrokontroler AVR 8 bit yang memiliki kemampuan tinggi, dengan daya
rendah.
3. Memiliki kapasitas Flash Program 8 Kbyte, EEPROM 512 Byte dan SRAM 1
Kbyte.
4. Saluran I/O sebanyak 22 buah yaitu Port B, Port C, dan Port D. 5. CPU yang terdiri dari 22 register.
6. Unit interupsi internal dan eksternal.
7. Port USART untuk komunikasi serial. 8. Fitur Peripheral
Tiga buah Timer/Counter dengan kemampuan perbandingan
- 2 (dua) buah Timer/Counter 8 bit dengan Presculer terpisah dan Mode Compare.
- 1 (satu) buah Timer/Counter 16 bit dengan Presculer terpisah dan
Mode Compare, dan Mode Capture.
Real Time Counter dengan Oscilator tersendiri.
4 chanel PWM.
8 chanel, 10 bit ADC.
Byte-oriented Two-wire Serial Interface
Programmable Serial USART.
Antarmuka SPI.
Whatchdog Timer dengan oscilator internal.
2.2.4 Pin AVR ATMEGA 8
Kaki (pin) Atmega 8 dapat dilihat pada gambar 2.4 dibawah ini :
Gambar 2.4 Kaki (pin) ATMEGA 8
ATmega 8 memiliki 28 pin, yang masing-masing pinnya memiliki fungsi
yang berbeda-beda baik sebagai port maupun sebagai fungsi lainnya. Berikut akan dijelaskan fungsi dari masing kaki ATmega 8.
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin Ground.
3. Port B (PB7...PB0)
Didalam Port B terdapat XTAL 1, XTAL 2, TOSC1, TOSC2. Jumlah Port B
adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat
digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit
bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang terdapat pada port B yang secara eksternal diturunkan, maka akan
rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai
output Kristal (output oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dapat dipilih oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter 2 PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer. Fungsi-fungsi Port B dapat dilihat lebih mudah seperti pada table di bawah ini :
Table 2.1 Fungsi Khusus Port B
Pin Fungsi Khusus
PB7 Merupakan pin masukan clock eksternal TOSC1 (Timer Oscillator Pin 1) PB6 Merupakan pin masukan clock eksternal TOSC2 (Timer Oscillator Pin 2) PB5 SCK (SPI Bus Serial Clock)
PB4 MISO (SPI Bus Master Input / Slave Output)
PB3 MOSI (SPI Bus Master Output /Slave Output)
OC2 (Timer/ Counter 2 Output Compare Match Output)
PB2 ŜŜ (SPI Slave Select Input)
OCI B (Timer/Counter 1 Output Compare B Match Output) PB1 OCI A (Timer/Counter 1 Output Compare A Match Output) PB0 ICP (Timer/Counter 1 Input Coapture Pin)
4. Port C (PC6….PC0)
Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam
masing-masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari
dengan pin-pin yang terdapat port C lainnya. Namun jika RSTDISBL Fuse
tidak diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika
level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan menghasilkan suatu kondisi reset meskipun
clock-nya tidak berkerja. 5. Port D (PD7…PD0)
Port D merupakan 8-bit bi- directional I/O dengan Internal pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini
tidak terdapat kegunaan-kegunaan yang lain. Pada portini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.
Fungsi-fungsi Port D dapat dilihat lebih mudah seperti pada table di bawah ini : Table 2.2 Fungsi Khusus Port B
Pin Fungsi Khusus
PD7 AIN1 (Analog Comparator Negative Input) PD6 AIN0 (Analog Comparator Positive Input) PD5 T1 (Timer/Counter 1 External Counter Input) PD4 XCK (USART External Clock Input/Output)
disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC
digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.
7. AREF
Merupakan pin masukan tegangan referensi ADC.
2.2.5 Blok Diagram ATMEGA 8
2.2.6 Arsitektur Mikrokontroler AVR RISC
Gambar 2.6 Arsitektur Mikrokontroler AVR RISC
Dari gambar diatas AVR, menggunakan arsitektur Harvard dengan memisahkan antara memori dan bus untuk program dan data untuk menghasilkan kemampuan dan kecepatan. Instruksi dalam memori program dieksekusi dengan
pipelining single level. Dimana ketika satu instruksi dieksekusi, intruksi berikutnya diambil dari dari memori program. Konsep ini mengakibatkan
instruksi dieksekusi setiap clock cycle. CPU terdiri dari 32 x 8 bit purpose register
yang dapat diakses dengan cepat dalam satu clock cycle, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan dalam satu cycle. Pada operasi ALU, dua operand berasal dari regester, kemudian operasi dieksekusi dan hasilnya disimpan kembali pada regester dalam satu clock cycle. Operasi aritmatika dan logic pada ALU akan mengubah bit-bit yang terdapat pada Status Register (SREG). Proses pengambilan instruksi dan pengeksekusian instruksi berjalan secara parallel, dapat dilihat pada gambar dibawah ini :
Gambar 2.8 Proses pengambilan instruksi dan pengeksekusian instruksi secara pararel
Instruksi 1 : Fetching 1 Executing 1
Instruksi 2 : Fetching 2 Executing 2
2.2.7 General Purpose Register AVR
Gambar 2.10 General Purpose Register AVR
Gambar diatas menunjukkan struktur 32 general purpose register yang terdapat di dalam CPU, masing-masing register ditentukan juga dalam alamat memori data, dipetakan kedalam 32 lokasi pertama data user. Walaupun tidak secara fisik diimplementasikan sebagai lokasi SRAM, namun pengaturan ini
memberikan flexsibilitas dalam mengakses register, seperti register pointer X, Y, dan Z dapat diset menuju index dari register file manapun.
2.2.8 Stack Pointer
Stack digunakan untuk menyimpan data sementara, untuk menyimpan
variable local dan untuk menyimpan return address setelah interrupt dan pemanggilan subrutin. Stack pointer selalu menunjukkan ke puncak stack. Stack
diimplementasi mulai dari lokasi memori tertinggi ke lokasi memori terendah,
2.2.9 Peta Memori AVR ATmega 8
Gambar 2.12 Peta Memori AVR ATmega 8
Memori atmega terbagi menjadi tiga yaitu :
1. Memori Flash
Memori flash Adalah memori ROM tempat kode-kode program berada.
Kata flash menunjukkan jenis ROM yang dapat ditulis dan dihapus secara
elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi
dan bagian boot. Bagian aplikasi adalah bagian kode-kode program aplikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa
melalui programmer/downloader, misalnya melalui USART. 2. Memori data
Memori data adalah memori RAM yang digunakan untuk keperluan
assembler setiap instruksi harus melibatkan GPR. Dalam bahasa C
biasanya digunakan untuk variabel global atau nilai baik fungsi dan
nilai-nilai yang dapat memperingan kerja ALU. Dalam istilah processor
komputer sehari-hari GPR dikenal sebagai “chace memory”, I/O register
dan Aditional I/O register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin port, timer/counter,
usart dan lain-lain. Register ini dalam keluarga mikrokontroler MCS51 dikenal sebagai SFR (Special Function Register)
3. EEPROM
EEPROM adalah memori data yang dapat mengendap ketika chip mati
(off), digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan satu daya.
2.2.10 Status Register (SREG)
Pada AVR status register mengandung beberapa informasi mengenai hasil
dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk
altering arus program sebagai kegunaan untuk meningkatkan performa
pengoperasian. Register ini di-update setelah operasi ALU (Arithmetic Logic Unit) hal tersebut seperti yang tertulis dalam datasheet khususnya pada bagian
Instruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan instrukasi perbandingan yang telah didedikasikan serta
dapat menghasilkan peningkatan dalam hal kecepatan dank ode yang lebih
setelah kembali dari interupsi. Namun hal tersebut harus dilakukan melalui
software. Berikut adalah gambar status register.
Gambar 2.13 Status Register Atmega 8
Bit 7 (I)
Merupakan bit Global Interrupt Enable. Bitini harus di-set agar semua perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan
di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang individual maupun yang secara umum akan di abaikan.
Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di-set dan di-reset melalui aplikasi SEI dan CLL.
Bit 6(T)
Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit
yang telah dioperasikan. Sebuah bit dari sebuah register dalam RegisterFile
dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan
sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada
Register File dengan menggunakan perintah BLD.
Bit 5 (H)
Bit 4 (S)
Merupakan Signbit. Bit ini selalu merupakan sebuah ekslusif di antara
Negative Flag (N) dantwo’s Complements Overflow Flag (V)
Bit 3 (V)
Merupakan bitTwo’s Complement Overflow Flag. Bit ini menyediakan fungsi
aritmatika dua komplemen.
Bit 2 (N)
Merupakan bitNegative Flag. Bit ini mengindikasikan sebuah hasil negative di dalam sebuah fungsi logika atai aritmatika.
Bit 1(Z)
Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah hasil nol “0” dalam
sebuah fungsi aritmatika atau logika.
Bit 0 (C)
Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam sebuah aritmatika atau logika.
2.2.11 Timer/Counter 0
Timer/counter 0 adalah sebuah Timer/counter yang dapat mencacah sumber pulsa/clock dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk:
1. Timer/counter biasa
2. Clear timer on compare match (selain atmega 8) 3. Generator frekuensi (selain atmega 8)
2.2.12 Komunikasi Serial pada Atmega 8
Komunikasi serial merupakan komunikasi yang relative lambat
dibandingkan dengan komunikasi parallel. Oleh karena itu, komunikasi serial
sering melibatkan interupsi untuk mengetahui apakah pengiriman mampu
menerima data yang telah selesai atau yang belum selesai dikirim.
Metode yang paling aman untuk proses pengiriman dan penerimaan saat
serial adalah dengan menyediakan buffer untuk kedua proses tersebut. Data yang
akan dikirim tidak secara langsung diberikan kepada SBUF, melainkan diberikan
kepada buffer. Demikian juga dengan pengambilan data yang tidak langsung dari
SBUF, melainkan diambil dari buffer, perpindahan keduanya diserahkan kepada
prosedur dalam intrupsi serial.
Pada mikrokontroler AVR Atmega 8 memiliki Port USART yang terdapat
pada pin 2 dan pin 3 untuk melakukan komunikasi data antara mikrokontroler
dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat
difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock
yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmiter dan receiver mempunyai sumber clock
sendiri-sendiri.USART terdiri dalam tiga blok yaitu clock generator, transmiter, dan
Gambar 2.14 Blok USART
Clock generator
Clock generator berhubungan dengan kecepatan transfer data (baud rate) register yang bertugas menentukan baud rate adalah register pasangan.
USART transmiter
Usart transmiter berhubungan dengan data pada Pin TX. Perangkat yang
sering digunakan seperti register UDR sebagai tempat penampungan data
yang akan ditransmisikan. Flag TXC sebagai akibat dari data yang ditransmisikan telah sukses (complete), dan flag UDRE sebagai indikator jika UDR kosong dan siap untuk diisi data yang akan ditransmisikan lagi.
USART receiver
Usart receiver berhubungan dengan penerimaan data dari Pin RX. Perangkat yang sering digunakan seperti register UDR sebagai tempat penampung data
yang telah diterima, dan flag RXC sebagai indikator bahwa data telah sukses
2.3 Analog to Digital Converter (ADC)
ADC adalah suatu alat yang mampu untuk mengubah sinyal atau tegangan
analog menjadi informasi digital. Resolusi ADC selalu dinyatakan sebagai jumlah
bit-bit dalam kode keluaran digitalnya. Misalnya, ADC dengan resolusi n-bit
memiliki 2n kode digital yang mungkin dan berarti juga memiliki 2n step level. Jika resolusi ADC semakin tinggi, maka semakin banyak kemungkinan nilai-nilai
analog yang bisa disajikan.Misalnya ADC dengan resolusi 8 bit menghasilkan
bilangan 0 samapi 225 (256 bilangan 255 step), dengan demikian tidak mungkin menyajikan semua kemungkinan nilai-nilai analog. Jika sekarang resolusinya menjadi
10 bit maka akan menghasilkan bilangan 0 dengan 1023 (1024 bilangan dan 1023
step).
VADC = � �� � �� x VREF
Nilai Digital = � x 256
Fitur-fitur pada arsitektur ADC mikrokontroler AVR adalah sebagai berikut :
Resolusi maksimum 10 bit (dapat dipilih resolusi 8 bit)
0.5 LSB Integral Non Linearity
Akurasi mutlak ± 2 LSB
Waktu konversi 13 – 260 µs
Pengambilan sampel sampai 15 kilo sampel per detik pada resolusi
maksimum
7 kanal masukan differensial dan 2 kanal masukan differential dengan opsi
penguatan 10 x dan 200x
Jangkauan tegangan masukan ADC 0-VCC
Tegangan refrensi 2,56 V internal yang dipilih
Mode konversi tunggal
Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog
menjadi sinyal digital yang nilainya proposional. Jenis ADC yang biasa
digunakan dalam perancangan adalah jenis successive approximation convertion
atau pendekatan bertingkat yang memiliki waktu konveksi jauh lebih singkat dan
tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah.
Diagram blok pengubah sinyak analog ke dalam digital ditunjukkan pada gambar
2.21 berikut ini :
Gambar 2.15 Diagram blok ADC
Prinsip kerja rangkaian pada gambar 2.21 tersebut adalah jika sinyal
masukan mulai konversi dari unit kendali diberi logika “0”, maka register SAR
DAC (Digital to Analog) menjadi nol. Pada waktu sinyal “mulai konversi”
kembali menjadi tinggi operasi konversi segera dimulai.
Proses konversi diawali dengan pengesetan bit paling berarti (MSB)
register SAR oleh kendali. Selanjutnya data digital dalam register SAR di
konversi ke analog oleh DAC. Hasil konversi Vout oleh unit dibandingkan dengan
sinyal masukan Vin oleh unit pembanding. Bila Vout lebih besar dari pada Vin
maka unti pembanding akan mengirimkan sinyal negative ke unit kendali. Dengan
adanya sinyal negative ini, unit kendali akan mereset bit paling berarti (MSB)
register SAR. Sebaliknya, jika Vout lebih kecil dari Vin, unit pembanding akan
mengirimkan sinyal positif ke unit kendali. Dengan sinyal positif ini, unit kendali
tetap mengeset bit paling berarti (MSB).
Pada pulsa clock berikutnya uit terkendali akan mengeset bit yang lebig rendah yaitu bit ke 7 register SAR. Kemudian data dikonversikan oleh unit DAC
dan hasil konversi Vout dibandingkan dengan sinyal masukan Vin. Sinyal hasil
perbandingan akan menentukan unit kendali untuk mengeset dan mereset register
SAR. Demikian proses ini berlangsung sampai diperoleh nilai Vin sama dengan
nilai Vout .Apabila konversi telah selesai, unit kendali mengirimkan sinyal ‘selesai
konversi’ yang berlogika rendah.
2.4 Pemrograman Mikrokontroler Menggunakan Code Vision Avr (Bahasa C)
Penggunaan mikrokontroler yang diterapkan berbagai rumah tangga,
pendidikan. Banyak varian dan type dari mikrokontroler yang dipelajari dan
digunakan di dunia pendidikan.
Akar dari bahas C adalah dari bahasa BCPL yang dikembangkan oleh
Martin Richhards pada tahun 1967. Bahasa ini memberikan ide kepada Ken
Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada
tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh
Dennis Ricthie sekitar 1970-an di Bell Telephone Laboratories Inc (sekarang
adala AT & T Bell Laboratories). Bahasa C pertama kali digunakan di computer
Digital Equipment Corporation PDP-11 yang menggunakan system operasi
UNIX.
C adalah bahasa yang standar, artinya satuan program yang tertulis dengan
versi bahas C tertentu akan dapat dikoompilasi dengan versi bahasa C yang lain
dengan sedikit modifikasi. Standar bahasa C yang asli adalah standar dari UNIX.
Patokan standar UNIX ini diambil dari buku yang ditulis oleh Brian Kerninghan
dan Dennis Ritehiie yang berjudul “The C Programming Language”, diterbitkan
oleh Prentice Hall tahun 1978.
Beberapa alasan mengapa bahasa C banyak digunakan, diantaranya adalah
sebagai berikut:
1. Bahasa C hampir tersedia di semua jenis komputer
Bahasa C ini merupakan bahasa komputer yang tersedia baik di komputer
2. Kode bahasa C sifatnya portable.
Aplikasi yangditulis dengan bahasa C untuk suatu computer tersebut dapat
digunakan di computer lain hanya dengan modifikasi yang sedikit saja.
3. Bahasa C hanya menyediakan sedikit kata-kata kunci.
Semakin sedikit kata-kata kunci yang digunakan disuatu bahasa, semakin
mudah bagi pemakai untuk mempelajari dan menggunakan bahasa
tersebut.
4. Proses executable program bahasa Ctebih cepat.
Karena philosopi dari bahasa C yang menyediakan sedikit kata-kata kunci,
maka konsekuensinya program hasil dari kompilasi bahasa C relativeakan
lebih cepat prosesnya dibandingkan dengan hasil dari bahasa lain.
5. Dukungan pustaka yang banyak.
Telah disebut bahwa keandalan bahasa C dicapai dengan fungsi-fungsi
pustakanya. Fungsi-fungsi pustaka ini disediakan oleh versi-versi bahasa C
masing-masing atau dapat dibeli dari sumber yang lain.
6. C adalah bahasa yang terstruktur.
Bahasa. C mempunyai struktur yang baik sehingga mudah untuk
dipahami. C disebut bahasa yang terstruktur karena menggunakan
fungsi-fungsi sebagai program-program bagiannya.
7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat
menengah.
Pada awalnya, bahasa C sudah digunakan untuk membuat
perangkat lunak sistem diantaranya adalah sistem operasi,
interpreter,compiler, bahasa perakit, bahasa pemrograman dan DBMS
(Database Management System).
Untuk mempunyai kemapuan seperti ini, bahasa C menggunakan
kemapuan bahasa tingkat tinggi dan bahasa tinggkat rendah yang
menghasilkan bahasa tingkat menengah. Sebagai bahasa tingkat
menengah,C menyediakan kemampuan seperti yang disediakan oleh
bahasa perakitan untuk operasi-operasi bit,byte, alamat-alamat memori,
register, BIOS (Basic Input Ouput System), DOS (DiskOperating System)
dan lain sebagainya.
8. Bahasa C adalah compiler.
Karena bahasa C sifatnya adalah compiler, maka akan menghasilkan
executable program yang banyak dibutuhkan oleh program-program
komersial.
Ada beberapa program yang dapat digunakan sebagai editor dan compiler
untuk mikrokontroler AVR, salah satunya yaitu CodeVision. CodeVision AVR
adalah salah satu alat bantu pemrograman yang bekerja dalam lingkungan
pengembangan perangkat lunak yang terintegrasi. Code vision AVR ini
merupakan cross-compiler C, Integrated Development Errvirontment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. Cross-compiler C mampu menerjemahkan hampir semua perintah dari
beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan
kebutuhan dari sistem embedded.
CodeVisionAVR juga mempunyai Automatic Program Generator bernama
CodeWizardAVR, yang mengizinkan anda untukmenulis, dalam hitungan menit,
semua instruksi yang diperlukan untuk membuat beberapa fungsi-fungsi tertentu.
Dengan fasilitas ini mempermudah para Programmer pemula untuk belajar
pemograman mikrokontroler menggunakan CVAVR. Seperti aplikasi IDE
lainnya, CodeVision AVR dilengkapi dengan sourcecode editor, compiler, linker,
dan dapat memanggil Atmel AVR Studio untuk debugger nya.
Untukmemulai menjalankan CodeVision, buka program CodeVision
melalui menu Start/All Program/CodeVision/GodeVision AVR C Compiler
atau melalui desktop klik lambang codevision.
2.5 SOFTWARE DESAIN PCB (Printed Circuit Board) Proteus Profesional 7.7 SP2 Pro
Proteus professional merupakan kelompok software yang digunakan untuk
membantu para desainer dalam merancang dan mensimulasikan suatu rangkaian
elektronika. Software ini memiliki dua fungsi sekaligus dalam satu paket, paket
yang pertama sebagai software untuk menggambar skematik dan dapat
disimulasikan yang diberi nama ISIS. Paket kedua digunakan sebagai merancang
gambar Printed CircuitsBoard (PCB) yangdiberi nama ARES. Secara langsung, pengubahan dari skematik ke PCB dapat dilakukan dalam software Proteus Prof
7.7 ini.
Proteus Prof ISIS memiliki versi yang selalu diperbarui, mulai dari versi
7.0 sampai dengan 7.10. setiap kenaikan versi memiliki penambahan akan library
komponen yang dapat diambil dan digunakan dalam penggambaran atau
perancangan. Sebagai perancangan rangkaian elektronik terlebih dahulu
menggunakan ISIS sebagai media yang memudahkan dalam perancangan dan
simulasi. Banyaknya library dari Proteus Prof 7:7. ISIS membuat software ini
dikatakan software simulasi lengkap, yaitu dari komponen-komgonen pasif,
Analog, Trasistor, SCR, FET, jenis button atau tombol, jenis saklar atau relay, IC
digital IC penguat, IC programmable (mikrokontroler) dan IC memory. Selain
didukung dengan kelengkapan komponen, juga didukung dengan kelengkapan
alat ukur seperti volumeter, Ampere meter, Oscilloscope, signal Analyzers, serta
pembangkit frekuensi. Kelengkapan fitur yang disediakan ini menjadi Proteus
2.5.1 Fungsi Tiap Fitur Proteus Prof 7.7
Tampilan window proteus professional ISIS 7 seperti di bawah ini, dan
Center at Cursor
Zoom in Zoom out
Zoom to view sheet Zoom to area
Membuat area tengah tampilan gambar dengan bertumpu pada cursor
Memperbesar gambar Memperkecil gambar
Menampilkan keseluruhan gambar Memperbesar gambar dengan memilih area yang dikehendaki
Mini View Menampilkan gambar dalam bentuk
tampilan kecil seluruh area gambar Component List Daftar komponen yang telah diuambil
dari Library
Pick From Library Mengambil komponen pada library yang akan diletakkan pada component list Mengambil dan menggunakan terminal yang dibutuhkan dalam rangkaian (VCC, Gnd, Input, Output).
Memilih pembangkit pulsa yang akan digunakan.
Terminal dengan tampilan nilai dari jalur koneksi komponen dengan menampilkan besaran tegangan
Terminal dengan tampilan nilai dari jalur koneksi komponen dengan menampilkan besaran arus.
Mengambil alat ukur yang akan digunakan (CRO, Volmeter, Ampere meter, AFG, Signal Analyyzer). Membuat gambar kotak atau persegi 2D pada area gambar.
Membuat gambar lingkaran 2D area gambar.
Membuat gambar Arc atau garis lengkung 2D pada area gambar.
Menambahkan tulisan text 2D pada area gambar.
Rotate and Mirror Rotate Clockwise Rotate anticlockwise
Merotasi obyek searah jarum jam
X Mirror Y Mirror
Mencerminkan obyek kearah X Mencerminkan obyek kearah Y Play and Simulation Operaion
Play
Step Pause Stop
Menjalankan simulasi rangkaian yang telah dibuat
Menjalankan simulasi secara tahap pertahap