BAB II
LANDASAN TEORI
2.1 Perangkat Keras
2.1.1 Mikrokontroler ATmega 8535
Mikrokontroler,
sebagai
suatu
terobosan
teknologi
mikrokontroler
dan
microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih serta dalam bidang pendidikan.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Microcontroller hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada
Universitas Sumatera Utara
6
mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk registerregister yang digunakan pada Microcontroller yang bersangkutan.
Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroller yang dapat dibeli dengan harga yang relatif murah. Hal ini dikarenakan produksi missal yang dilakukan oleh para produsen chip seperti Atmel, Maxim, dan Microchip. Mikrokontroler saat ini merupakan chip utama pada hamper setiap peralatan elektronika canggih.Alat-alat canggih pun sekarang ini pun sangat bergantung pada kemampuan mikrokontroller tersebut. Mikrokontroller AVR memiliki arsitektur RISC 8 bit,dimana semua instruksi dikemas dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock,berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroller tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing),sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum,AVR dapat dikelompokkan menjadi 4 kelas,yaitu keluarga ATtiny,keluarga AT90Sxx,keluarga ATmega, dan AT86RFxx. Pada dasar nya,yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Kapabilitas detail dari ATMega8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
Universitas Sumatera Utara
7
2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM ( Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. 4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
Konfigurasi pin ATMega8535 bisa dilihat pada gambar 4 dibawah ini. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut:
1. VCC Merupakan pin yang berfungsi sebagai pin masukan catu daya . 2. GND Merupakan pin ground. 3. Port A (PA0..PA7) Merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog, dan SPI. 5. Port C (PC0..PC7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator. 6. Port D (PD0..PD7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.
Universitas Sumatera Utara
8
7. RESET Merupakan pin yang digunakan untuk me-reset mikrokontroller. 8. XTAL1 dan XTAL2 Merupakan pin masukan clock eksternal. 9. AVCC Merupakan pin masukan tegangan untuk ADC. 10. AREF Merupakan pin masukan tegangan referensi ADC.
Gambar 2. 1 Pin ATMega8535
Universitas Sumatera Utara
9
AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal.
Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroller menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroller, seperti control register, timer/conter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel 1.1 Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada gambar dibawah ini .
Memori program yang terletak dalam Flash PEROM tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR ATMega8535 memiliki 4 KByteX16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. AVR tersebut memiliki 12-bit Program Counter (PC) sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF.
Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan, ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler. 1.
Bit 7-I: Global Interrupt Enable
Universitas Sumatera Utara
10
Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan 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 terjadinya interupsi, 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 BST, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BLD.
3.
Bit 5-H: Half Carry Flag
4.
Bit 4-S: Sign Bit Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag V (komplemen 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 diset.
7.
Bit 1-Z: Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol.
8.
Bit 0-C: Carry Flag Apabila suatu operasi menghasilkan carry, maka bit akan diset.
Universitas Sumatera Utara
11
Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O)untuk menghasilkan output low atau perintah sbi (set bit I/O)untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.
I/O merupakan bagian yang paling menarik dan penting untuk diamati karena I/O merupakan bagian yang bersangkutan dengan komunikasi mikrokontroller dengan dunia luar. Selain port I/O, bagian ini juga menyediakan informasi mengenai berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM, UART, dan Timer. Komponen yang tercakup dalam workspace I/O meliputi berbagai register berikut : 1.
AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL
2.
ANALOG_COMPARATOR; register: ACSR
3.
CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR, SPMCR
4.
EEPROM; register: EEARH, EEARL, EEDR, EECR
5.
External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR
6.
PORTA; register: PORTA, DDRA, dan PINA
7.
PORTB; register: PORTB, DDRB, dan PINB
8.
PORTC; register: PORTC, DDRC, dan PINC
9.
PORTD; register: PORTD,DDRD, dan PIND
10. SPI; register: SPDR, SPSR, SPCR
Universitas Sumatera Utara
12
11. TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK, TIFR, SFIOR 12. TIMER _COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B, TCNT1H,
TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H, 1CR1L
13. TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2, ASSR,
SFIOR
14. TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR 15. USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL 16. WATCDOG; register: WDTCR Adapun komponen-komponen yang dapat diamati melalui I/O pada workspace sebagai berikut : 1. Isi register - R0 sampai dengan R15 - R16 sampai dengan R13 2. Processor - Stack pointer - Program counter - Cycle pointer - X_register - Y_register - Z_register - Frequency - Stop Watch 3. I/O AVR Instruksi I/O
Universitas Sumatera Utara
13
4. in; membaca data I/O Port atau internal peripheral register{Timers, UART, dsb}ke dalam register. 5. Out; menulis data sebuah register ke I/O Port atau internal peripheral register. 6. Idi (load immediate); untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O port. 7. Sbi (set bit in I/O); untuk membuat logika high satu bit I/O register. 8. Cbi ( clear bit in I/O); untuk membuat logika low satu bit I/O register. 9. Sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear.Jika ya, skip satu perintah dibawahnya. 10. Sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set. Jika ya, skip satu perintah dibawahnya.
Data yang dipakai dalam mikrokontroller ATmega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan, dan perkalian)maupun operasi nalar (AND, OR, dan EOR /eksklusif OR). AVR ATmega8535 memiliki tiga buah timer, yaitu: 1. Timer/counter 0 (8 bit) 2. Timer/ counter 1 (16 bit) 3.
Timer/counter 2 (8 bit)
Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor utama. Beberapa karakteristik ADC internal ATmega8535 adalah :
Universitas Sumatera Utara
14
1. Mudah dalam pengoperasian. 2. Resolusi 10 bit. 3. Memiliki 8 masukan analog. 4.
Konversi pada saat CPU sleep.
5. Interrupt waktu konversi selesai. 2.1.2
Konsep Modulasi
Modulasi dapat diartikan sebagai proses penyisipan atau penitipan sinyal-sinyal informasi pada sinyal pembawa pada sisi akhir dari alat pengirim atau pemancar. Proses ini menggunakan kemudahan frekuensi yang lebih tinggi, dengan panjang gelombang lebih pendek untuk menyalurkan sinyal-sinyal dengan frekuensi rendah.
Gambar 2.2 Prinsip sederhana proses modulasi suatu sistem telekomunikasi.
Modulasi dari gelombang pembawa dapat diperoleh dengan cara mengubah-ubah beberapa karakteristik dari gelombang pembawa tersebut yang dilakukan oleh sinyalsinyal informasi. Ketika kita menggunakan pembawa gelombang-sinus untuk
Universitas Sumatera Utara
15
“membawa” data, ada 3 parameter yang dapat kita modulasikan: amplitudonya, frekuensinya, dan fasenya. Pembawa gelombang-sinus dapat digambarkan melalui persamaan : ac = Ac sin ( 2 Π fc t + θc ) dimana, ac adalah harga seketika voltase pembawa pada waktu t, Ac adalah amplitudo maksimum voltase carrier, fc adalah frekuensi pembawa, dan θc adalah fasenya. Harga-harga dari Ac , fc , dan θc dapat divariasi untuk membuat si gelombang membawa informasi. Untuk pebahasan lebih dalam disini adalah modulasi amplitudo, karena tipe modulasi inilah yang digunakan oleh alat yang diteliti dalam penulisan ini.Modulasi Amplitudo Modulasi amplitudo adalah suatu proses modulasi dengan cara mengubah amplitudo gelombang pembawa yang dilakukan oleh sinyal informasi. Gelombang pembawa yang belum dimodulasikan mempunyai harga amplitudo maksimum yang tetap dan frekuensi yang lebih tinggi daripada sinyal pemodulasi (sinyal informasi), tetapi bila sinyal pemodulasi telah disisipkan, maka harga amplitudo maksimum dari gelombang pembawa akan berubahubah sesuai dengan harga-harga sesaat dari sinyal pemodulasi tersebut. Dan bentuk gelombang luar atau sampul dari harga-harga amplitudo gelombang yang telah dimodulasi tersebut adalah sama dengan bentuk gelombang sinyal informasi yang asli atau dengan perkataan lain gelombang sinyal pemodulasi telah diselipkan pada gelombang pembawa. Dapat diperlihatkan dengan analisa matematik, bahwa bila suatu gelombang pembawasinusoidal dengan frekuensi fc Hz dimodulasi amplitudo oleh suatu sinyal pemodulasi dengan frekuensi fm Hz, maka gelombang pembawa yang telah dimodulasikan tersebut akan mempunyai tiga frekuensi sebagai berikut: Satu adalah frekuensi pembawa asli, fc Hz. Kedua adalah jumlah frekuensi gelombang pembawa dan sinyal pemodulasi, ( fc + fm ) Hz Ketiga adalah selisih antara frekuensifrekuensi gelombang pembawa dan sinyal pemodulasi, ( fc – fm ) Hz Perlu dicatat
Universitas Sumatera Utara
16
bahwa dua di antara frekuensi-frekuensi ini merupakan frekuensi baru, yang dihasilkan oleh proses modulasi dan dinamakan FREKUENSI-FREKUENSI SISI (side frequencies). Jumlah dari frekuensi-frekuensi gelombang pembawa dan sinyal pemodulasi disebut frekuensi sisi atas (upper side freqeuncy). Selisih dari frekuensifrekuensi gelombang pembawa dan sinyal pemodulasi disebut frekuensi sisi bawah (lower side freqeuncy). Lebar band minimal dari gelombang frekuensi yang telah dimodulasikan adalah ( fc + fm ) – ( fc – fm ) = 2 fm yaitu merupakan kelipatan dua dari frekuensi sinyal pemodulasi. Bila sinyal pemodulasi terdiri dari suatu band frekuensi, maka setiap frekuensi individuindividu akan menghasilkan frekuensifrekuensi sisi atas dan frekuensi-frekuensi sisi bawah masingmasing di sekitar frekuensi gelombang pembawa yang belum dimodulasi, dengan demikian juga akan diperoleh BAND SISI atas dan bawah (upper and lower sidebands). Karena hal-hal ini, bila lebar band sinyal pemodulasi bertambah maka lebar band dari gelombang yang telah dimodulasi juga akan bertambah dan sistem penyaluran telekomunikasi haruslah sanggup untuk menangani keseluruhan lebar band ini. Pendeteksian Ketika sebentuk gelombang yang termodulasi tiba di demodulator, suatu proses “pendeteksian” harus mengubahnya kembali menjadi sinyal aslinya. Pada modulasi amplitudo ada dua tipe utama pendeteksian : pendeteksian sinkron, koheren atau homodyne, dan pendeteksian selubung (envelop). Pendeteksian sinkron, koheren atau homodyne, yang selanjutnya akan disebut dengan istilah pendeteksian sinkron, meliputi penggunaan sumber pembawa yang diproduksi secara lokal yang memiliki frekuensi dan fase sama dengan sumber pembawa sinyal yang diterima. Transmisinya dikalikan dengan pembawa ini, dan ini memungkinkan sinyal untuk diekstrasi. Beberapa komponen tambahan muncul dengannya yang terdiri atas sideband-sideband yang dipusatkan di sekitar 2 fc, 4 fc, 6 fc, dan seterusnya. Ini difilteri dengan suatu
Universitas Sumatera Utara
17
low pass filter.Sekarang hasilnya mirip dengan aslinya tetapi belum berbentuk gelombang yang benar-benar sinkron atau berbentuk persegi; oleh karena itu gelombang tersebut harus ditrim terlebih dahulu. Bila sinyalnya berbentuk biner, penerima (receiver) menafsirkan tiap pulsa sebagai kehadiran bit 1 ataupun 0 dan menghasilkan pulsa baru yang benar-benar persegi, yang mirip dengan aslinya. Ini mungkin cukup dilakukan oleh slicer (pengiris), yang meluruskan tepian pulsa, atau dengan menggunakan suatu sarana untuk meregenerasi bentuk gelombang tersebut. Dalam hal yang terakhir, sumber pengaturan waktu (timing) lokal dapat digunakan sedemikian hingga dihasilkan gelombang yang sinkron waktunya, yang benar-benar baru. Pendeteksian selubung (envelop) meliputi peralatan dan penghalusan sinyal sedemikian rupa untuk mendapatkan selubungnya (envelopnya). Sekali lagi ini digabungkan dengan slicing dan peregenerasian pulsa baru. Setelah peralatan, dua tingkat awal, akan memberitahu slicer saat memulai bit 0 dan saat mengawali bit 1. Pada pendeteksian sinkron, untuk menghasilkan gelombang acuan yang berfrekuensi dan berfase sama dengan pembawa, biasanya perlu ditransmisikan beberapa informasi dengan sinyal untuk keperluan ini. Gelombang semacam ini dapat diekstrasikan dari pembawa dan dengan demikian pembawa tidak dapat dipadatkan sepenuhnya. Biasanya ini hanya separuh dipadatkan karena kandungan energinya relatif tinggi.Pendeteksian selubung (envelop) tidak memerlukan pemproduksian gelombang acuan dan tentu saja sangat lebih murah, karena memproduksi gelombang acuan adalah problem utama pendeteksiansinkron. Namun pendeteksian selubung (envelop) membutuhkan kedua buah sideband dan pembawa amplitudo-penuh. Modulasi amplitudo sideband padat akan mengarah ke suatu bentuk envelop (selubung) yang berbeda dengan sinyal aslinya. Pada pemilihan pendeteksian, dengan demikian kita memiliki suatu kompromi antara biaya dan kecepatan. Pendeteksian envelop
Universitas Sumatera Utara
18
(selubung) memerlukan dua kali bandwidth pendeteksian sinkron karena kedua buah side band harus ditransmisikan. Tetapi pendeteksian sinkron sangatlah lebih rumit dan mahal.
2.1.3
Gelombang Pembawa Sinyal
Gambar 2.3. Gelombang Yang Telah Dimodulasi
Gelombang pembawa yang belum dimodulasikan mempunyai harga amplitudo maksimum yang tetap dan frekuensi yang lebih tinggi daripada sinyal pemodulasi (sinyal informasi), tetapi bila sinyal pemodulasi telah disisipkan, maka harga amplitudo maksimum dari gelombang pembawa akan berubah-ubah sesuai dengan harga-harga sesaat dari sinyal pemodulasi tersebut.. Dapat diperlihatkan dengan analisa matematik, bahwa bila suatu gelombang pembawasinusoidal dengan frekuensi fc Hz dimodulasi amplitudo oleh suatu sinyal pemodulasi dengan frekuensi fm Hz, maka gelombang pembawa yang telah dimodulasikan tersebut akan mempunyai tiga frekuensi sebagai berikut: 1.
Satu adalah frekuensi pembawa asli, fc Hz.
Universitas Sumatera Utara
19
2.
Kedua adalah jumlah frekuensi gelombang pembawa dan sinyal pemodulasi, ( fc + fm ) Hz
3.
Ketiga adalah selisih antara frekuensi-frekuensi gelombang pembawa dan sinyal pemodulasi, ( fc – fm ) Hz
Perlu dicatat bahwa dua di antara frekuensi-frekuensi ini merupakan frekuensi baru, yang dihasilkan oleh proses modulasi dan dinamakan FREKUENSIFREKUENSI SISI (side frequencies). Jumlah dari frekuensi-frekuensi gelombang pembawa dan sinyal pemodulasi disebut frekuensi sisi atas (upper side freqeuncy). Selisih dari frekuensi-frekuensi gelombang pembawa dan sinyal pemodulasi disebut frekuensi sisi bawah (lower side freqeuncy). Lebar band minimal dari gelombang frekuensi yang telah dimodulasikan adalah ( fc + fm ) – ( fc – fm ) = 2 fm yaitu merupakan kelipatan dua dari frekuensi sinyal pemodulasi. Bila sinyalnya berbentuk biner, penerima (receiver) menafsirkan tiap pulsa sebagai kehadiran bit 1 ataupun 0 dan menghasilkan pulsa baru yang benar-benar persegi, yang mirip dengan aslinya. Ini mungkin cukup dilakukan oleh slicer (pengiris), yang meluruskan tepian pulsa, atau dengan menggunakan suatu sarana untuk meregenerasi bentuk gelombang tersebut. Dalam hal yang terakhir, sumber pengaturan waktu (timing) lokal dapat digunakan sedemikian hingga dihasilkan gelombang yang sinkron waktunya, yang benar-benar baru. Pendeteksian selubung (envelop) meliputi peralatan dan penghalusan sinyal sedemikian rupa untuk mendapatkan selubungnya (envelopnya). Sekali lagi ini digabungkan dengan slicing dan peregenerasian pulsa baru. Setelah peralatan, dua tingkat awal, akan memberitahu slicer saat memulai bit 0 dan saat mengawali bit 1. Pada pendeteksian sinkron, untuk menghasilkan gelombang acuan yang berfrekuensi dan berfase sama dengan pembawa, biasanya perlu ditransmisikan beberapa informasi
Universitas Sumatera Utara
20
dengan sinyal untuk keperluan ini. Gelombang semacam ini dapat diekstrasikan dari pembawa dan dengan demikian pembawa tidak dapat dipadatkan sepenuhnya. Biasanya ini hanya separuh dipadatkan karena kandungan energinya relatif tinggi.Pendeteksian selubung (envelop) tidak memerlukan pemproduksian gelombang acuan dan tentu saja sangat lebih murah, karena memproduksi gelombang acuan adalah problem utama pendeteksiansinkron. Namun pendeteksian selubung (envelop) membutuhkan kedua buah sideband dan pembawa amplitudo-penuh. Modulasi amplitudo sideband padat akan mengarah ke suatu bentuk envelop (selubung) yang berbeda dengan sinyal aslinya. Pada pemilihan pendeteksian, dengan demikian kita memiliki suatu kompromi antara biaya dan kecepatan. Pendeteksian envelop (selubung) memerlukan dua kali bandwidth pendeteksian sinkron karena kedua buah side band harus ditransmisikan. Tetapi pendeteksian sinkron sangatlah lebih rumit dan mahal.
2.1.4
Konstruksi TLP 434 dan RLP 434
Modul yang akan dipakai sebagai contoh adalah TLP/RLP 434 dan 916 buatan Laipac. Modul ini tidak dapat diuji dengan cara memberikan logika 1 atau 0 saja, tetapi harus diberikan pulsa. Sumber pulsa bermacam – macam antara lain Function generator, Timer, dll. Di dalam laporan ini akan dilakukan pengujian dengan 2 cara menggunakan IC HT12E dan HT12D atau Osiloskop dengan Function generator. Apabila belum memliki osiloskop dan function generator disarankan memakai IC HT12E, HT12D serta beberapa komponen tambahan. Kedua IC ini dibuat oleh Holtek dan sering dipasangkan pada modul RF tipe TLP/RLP 434 dan 916, sebagai contoh aplikasi pengiriman / penerimaan data.
Universitas Sumatera Utara
21
Gambar 2.4 gambar modul TLP dan RLP 434
Tabel 2.1 Konfigurasi Pin TLP dan RLP
2.1.5
LCD (Liquid Crystal Display)
Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan mikrokontroler. LCD dapat berfungsi untuk menampilkan suatu nilai hasil sensor, menampilkan teks, atau menampilkan menu pada aplikasi mikrokontroler. Pada bab ini akan dibahas antarmuka LCD dengan mikrokontroler ATMega8535. Adapun standarisasi yang cukup populer digunakan banyak vendor LCD, yaitu HD44780U, yang memiliki chip kontroler Hitachi 44780. LCD bertipe ini memungkinkan pemrogram untuk mengoperasikan komunikasi data secara 8 bit atau 4 bit. Jika menggunakan jalur data 4 bit akan ada 7 jalur data (3 untuk jalur kontrol & 4 untuk jalur data). Jika menggunakan jalur data 8 bit maka akan ada 11 jalur data (3 untuk jalur kontrol & 8 untuk jalur data). Tiga jalur kontrol ke LCD ini adalah EN (Enable), RS (Register Select) dan R/W (Read/Write). Berikut adalah susunan umum pin LCD bertipe 44780 :
Universitas Sumatera Utara
22
Tabel 2.2 Susunan pin LCD tipe 44780 Pin Deskripsi 1
Ground
2
Vcc
3
Pengatur kontras
4
“RS” Instruction/Register Select
5
“R/W” Read/Write LCD Registers
6
“EN” Enable clock
7-14 Data I/O Pins
Urutan pin (1), umumnya, dimulai dari sebelah kiri (terletak di pojok kiri atas) dan untuk LCD yang memiliki 16 pin, 2 pin terakhir (15 & 16) adalah anoda dan katoda untuk back-lighting. Berikut adalah contoh LCD (2×16) yang umum digunakan :
Gambar 2.5 LCD 2x16
Sebagaimana terlihat pada kolom deskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8 bit
Universitas Sumatera Utara
23
dikirim ke LCD secara 4 atau 8 bit pada satu waktu. Jika mode 4 bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8 bit (pertama dikirim 4 bit MSB lalu 4 bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high (1) dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high (1). Ketika jalur RS berada dalam kondisi low (0), data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau 1, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high (1), maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke 0. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), mereka dinamakan DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4 atau 8 bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting. Mode 8 bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7 bit (3 pin untuk kontrol, 4 untuk data). Bit ini digunakan untuk
Universitas Sumatera Utara
24
memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), bisa merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca Pada penulisan tugas akhir ini LCD yang digunakan adalah jenis LCD M1632. LCD M1632 merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul
tersebut
dilengkapi
dengan
mikrokontroler
yang
didesain
khusus
untukmengendalikan LCD.
Gambar 2.6. Modul dari Liquid Crystal Display
Tabel 2.3. Fungsi pin-pin pada Liquid Crystal Display
Universitas Sumatera Utara
25
2.2
Perangkat Lunak
2.2.1
Program2.2.1 Software 8051 Editor, Assembler, Simulator (IDE)
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.
Gambar 2.7 8051 Editor, Assembler, Simulator (IDE) Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan
dalam penulisan
perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.
Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.
Universitas Sumatera Utara
26
2.2.2
Software Downloader
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini.
Gambar 2.8 ISP- Flash Programmer 3.a
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.
Universitas Sumatera Utara