BAB II LANDASAN TEORI 2.1 Umum Secara fisis air bersih diindikasikan dengan keadaannya yang bening, tidak berwarna dan tidak berbau. Kondisi seperti ini terjadi jika air tidak dikotori oleh bahan organik atau anorganik. Sedangkan secara optis,air yang tercampuri oleh bahan pengotor keadaannya akan berubah, mungkin menjadi berwarna atau menjadi keruh. Air yang keruh akan menyebabkan intensitas cahaya yang masuk kedalamnya menjadi berkurang. Cahaya yang melewati air yang keruh akan mengalami pengurangan intensitas cahaya secara mencolok Hal tersebut disebabkan cahaya yang melewati air keruh mengalami penyerapan atau pemantulan, sehingga hanya sedikit yang diteruskan. Berkurangnya intensitas cahaya tersebut dapat dideteksi oleh alat yang peka terhadap perubahan intensitas cahaya,yaitu fototransistor. Fototransistor dapat dimanfaatkan sebagai rangkaian pengukur intensitas cahaya. Dengan demikian secara praktis rangkaian pengukur intensitas cahaya yang bekerja karena perubahan intensitas cahaya ini dapat digunakan juga untuk mendeteksi tingkat kekeruhan air. Sebenarnya di pasaran telah tersedia alat untuk menentukan tingkat kekeruhan air, misalnya alat yang dinamakan Turbidymeter. Sayangnya alat tersebut berharga sangat mahal, sehingga hanya pihak-pihak (biasanya perusahaan) tertentu saja yang memilikinya. Oleh karena itu kegiatan pengembangan rancang bangun alat pengukur tingkat kekeruhan air ini memiliki prospek kedepan yang bagus. Universitas Sumatera Utara 2.2 Mikrokontroler Atmega8535 Mikrokontroler sesuai namanya adalah suatu alat atau komponen pengontrol atau pengendali yang berukuran mikro atau kecil. Sebelum ada mikrokontroler, telah ada terlebih dahulu muncul mikroprosesor. Bila dibandingkan dengan mikroprosesor,mikrokontroler jauh lebih unggul karena terdapat berbagai alasan, diantaranya : a. Tersedianya I/O I/O dalam mikrokontroler sudah tersedia sementara pada mikroprosesor dibutuhkan IC tambahan untuk menangani I/O tersebut. IC I/O yang dimaksud adalah PPI 8255. (Syahrul.2012) b. Memori Internal Memori merupakan media untuk menyimpan program dan data sehingga mutlak harus ada. Mikroprosesor belum memiliki memori internal sehingga memerlukan IC memori eksternal. Dengan kelebihan-kelebihan di atas, ditambah dengan harganya yang relatif murah sehingga banyak penggemar elektronika yang kemudian beralih ke mikrokontroler. Namun demikian, meski memiliki berbagai kelemahan, mikroprosesor tetap digunakan sebagai dasar dalam mempelajari mikrokontroler. Inti kerja dari keduanya adalah sama, yakni sebagai pengendali suatu sistem. Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard’s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- Universitas Sumatera Utara bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer).(Dedi.2010) Gambar 2.1 Blok Diagram ATMega8535 Dari gambar tersebut dapat dilihat bahwa Atmega8535 memiliki bagian sebagai berikut : 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. Universitas Sumatera Utara 9. Port antarmuka SPI. 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu Atmega8535. Selain mudah didapatkan dan lebih murah Atmega8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3 jenis yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dan I/O yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebagainya. Salah satu contohnya adalah ATMega 8535. Memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS51.Adapun blok diagramnya sebagai berikut : Gambar 2.2 Deskripsi Pin AT Mega 8535 Universitas Sumatera Utara Mikrokontroler Atmega8535 mempunyai jumlah pin sebanyak 40 buah, dimana 32 pin digunakan untuk keperluan port I/O yang dapat menjadi pin input/output sesuai konfigurasi. Pada 32 pin tersebut terbagi atas 4 bagian (port), yang masing-masingnya terdiri atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan, reset, serta tegangan referensi untuk ADC. Untuk lebih jelasnya, (Agus. 2005). Berikut ini adalah susunan pin-pin dari Atmega8535; • VCC merupakan pin yang berfungsi sebagai pin masukkan catu daya • GND merupakan pin ground • Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC • Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, Komparator Analog, dan SPI • Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, Komparator Analog, dan Timer Oscilator • Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Komparator Analog, Interupsi Iksternal dan komunikasi serial USART • Reset merupakan pin yang digunakan untuk mereset mikrokontroler • XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal (osilator menggunakan kristal, biasanya dengan frekuensi 11,0592 MHz). Universitas Sumatera Utara 2.3 Port-Port Pada Atmega8535 Dan Fungsinya Port A Merupakan 8-bit directional port I/O. Setiap pinnya 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 disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter. Port B Merupakan 8-bit directional port I/O. Setiap pinnya 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 disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut Universitas Sumatera Utara Tabel 2.1 Fungsi Pin-pin Port B Port C Merupakan 8-bit directional port I/O. Setiap pinnya 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 disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2. Port D Merupakan 8-bit directional port I/O. Setiap pinnya 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 Universitas Sumatera Utara Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Tabel 2.2 Fungsi Pin-pin Port D RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset. XTAL1 XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit XTAL2 XTAL2 adalah output dari inverting oscillator amplifier. Universitas Sumatera Utara AVcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus diberikan ke kaki ini AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah 2.4 Peta Memori ATMega8535 ATMega8535 memiliki dua jenis memori yaitu Program Memory dan Data Memory ditambah satu fitur tambahan yaitu EEPROM Memory untuk penyimpan data.(Wardhana.2006) 2.4.1 Program Memory ATMega8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory 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. Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum Universitas Sumatera Utara 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 Section juga sudah aman.(Agus.2005) Gambar 2.3 Peta Memori Program 2.4.2 Data Memory . Gambar 2.4 Peta Memori Data Gambar berikut menunjukkan peta memori SRAM pada ATMEGA 8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory sementara 512 likasi address lainnya digunakan Universitas Sumatera Utara untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register 2.4.3 EEPROM Data Memory ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan system address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF. 2.4.4 Status Register (SREG) 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. 6 Status Register ATMega 8535 • Bit 7 – I : Global Interrupt Enable Jika bit Global Interrupt Enable diset, maka fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interrupt yang dipicu dari hardware, setelah program interrupt dieksekusi, maka bit ini harus di set kembali dengan instruksi SEI. • Bit 6 – T : Bit Copy Storage Universitas Sumatera Utara Instruksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. • Bit 5 – H: Half Carry Flag • Bit 4 – S : Sign Bit Bit S merupakan hasil exlusive or dari Negative Flag N dan Two’s Complement Overflow Flag V. • Bit 3 – V : Two’s Complement Overflow Flag Digunakan dalam operasi aritmatika • Bit 2 – N : Negative Flag Jika operasi aritmatika menghasilkan bilangan negatif, maka bit ini akan set. • Bit 1 – Z : Zero Flag Jika operasi aritmatika menghaslkan bilangan nol, maka bit ini akan set. • Bit 0 – C : Carry F • lag Jika suatu operasi menghasilkan Carry, maka bit ini akan set. 2.5 Komunikasi Serial Komunikasi data serial ialah komunikasi dilakukan per bit dengan mengirimkan dan menerima data 8 bit secara satu per satu, sedangkan komunikasi data parallel dilakukan dengan mengirimkan dan menerima data 8 bit secara bersamaan atau sekaligus. Paralel adalah sistem pengiriman data digital,dimana beberapa bit data dikirim pada suatu saat dengan jalur terpisah. Dikenal 2 cara komunikasi data secara serial, yaitu komunikasi data serial sinkron dan Universitas Sumatera Utara komunikasi data serial asinkron. Pada komunikasi data serial asinkron, clock dikirimkan bersama-sama dengan data serial tetapi clock tersebut dibangkitkan sendiri-sendiri baik pada sisi pengirim maupun sisi penerima. Sedangkan komunikasi data serial asinkron tidak diperlukan clock karena data dikirimkan dengan kecepatan tertentu. Baik pada pengirim maupun penerima. 2.5.1 Komunikasi Serial pada ATmega8535 Peralatan komunikasi Serial pada ATmega8535 sudah terintegrasi pada system Chip. Dan masing-masing registernya baik data maupun kontrol dihubungkan dengan register Input-Output atau Port, sebagaimana peralatan lainnya. Sehingga User (kita) cukup hanya mengakses register-register yang berhubungan dengan Serial inilah untuk mempengaruhi atau memanipulasi peralatan tersebut. Data dikirim melalui beberapa jalur data. Biasanya masingmasing dengan kabel tersendiri.Pada prisipnya register-register peralatan ini hanya 5 buah. UDR, UCSRA, UCSRB, UCSRC, dan UBRR. (Wardhana .2006) 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 UDR (USART Data Register) UDR merupakan tempat tampungan data yang digunakan saat proses pengiriman dan penerimaan data. Kita harus menuliskan data byte-demi-byte pada UDR ini untuk mengirimkan data menggunakan USART ini. Termasuk juga saat proses penerimaan data. Data yang Universitas Sumatera Utara diterima dari USART akan ditampung ke dalam UDR. USART kemudian memberitahukan kepada user (kita) melalui beberapa bendera, maupun interupsi, saat 1 byte data yang diterima sudah lengkap, dan hendak bersiap untuk menerima 1-byte data berikutnya. User (kita) diminta untuk segera mengambil data pada UDR sebelum UDR ditimpa oleh data byte yang baru. Demikian tansfer data pada Serial ini, dilakukan byte demi byte dengan menggunakan UDR. 2.5.3 UCSRA, UCSRB, UCSRC (Usart Control and Status Register) Tiga register ini adalah register-register untuk mengontrol panampilan dari USART. Bagaimana data ditangani, jumlah bit setiap datanya, apakah menggunakan paritas, jumlah stop bitnya, dan lain sebagainya yang berhubungan dengan pengaturan. Termasuk juga berisi bendera-bendera yang digunakan untuk mengatahui sampai di mana proses yang sedang terjadi. Setiap bit dalam 3 register tersebut mengandung sebuah arti yang khusus, dan berpengaruh yang khusus pula. 2.5.4 UBRR (Usart Baud Rate Register) Register ini pencacah (counter) yang digunakan untuk membentuk baud rate. Beberapa mikro-kontroller membutuhkan sebuah timer untuk membuat baud rate, namun dalam AVR keperluan tersebut didapat dari sebuah peralatan khusus sehingga tidak perlu menggangu peralatan lain. UBRR ini mirip dengan sebuah counter Auto reload yang setiap overflownya akan menghasilkan clock untuk baud rate. Dengan lebar total 12-bit, maka akan memberikan kita banyak kemungkinan tinggi baud rate yang bisa kita gunakan. Universitas Sumatera Utara Universitas Sumatera Utara 2.6 Bahasa Pemrograman Mikrokontroler Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan ATMEL menggunakan software AVR STUDIO dan CodeVisionAVR. AVR STUDIO merupakan software yang digunakan untuk bahasa assembly yang mempunyai fungsi yang sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan software C-cross Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated development Environment) yang lengkap, dimana penulisan program, compile,link, pembuatan kode mesin (assembler) dan download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroler yang sudah di program. Proses download program ke IC mikrokontroler AVR dapat menggunakan System programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. 2.6.1 CodevisionAVR CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Crosscompiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur Universitas Sumatera Utara untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded. File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics ATCPU/Mega2000 programmers/development boards. Untuk keperluan debugging sistem embedded, yang menggunakan komunikasi serial, IDE mempunyai fasilitas internal berupa sebuah Terminal. Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk: • Modul LCD alphanumeric • Bus I2C dari Philips • Sensor Suhu LM75 dari National Semiconductor • Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan DS1307 dari Maxim/Dallas Semiconductor • Protokol 1-Wire dari Maxim/Dallas Semiconductor • Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas Semiconductor • Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor • EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor Universitas Sumatera Utara • SPI • Power Management • Delay • Konversi ke Kode Gray CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut: • Set-up akses memori eksternal • Inisialisasi port input/output • Inisialisasi interupsi eksternal • Inisialisasi Timer/Counter • Inisialisasi Watchdog-Timer • Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi • Inisialisasi Pembanding Analog • Inisialisasi ADC • Inisialisasi Antarmuka SPI • Inisialisasi Antarmuka Two-Wire • Inisialisasi Antarmuka CAN\ • Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307 • Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20 • Inisialisasi modul LCD. Universitas Sumatera Utara 2.7 MAX/ HIN/ RS 232 Modul ini dapat difungsikan sebagai jalur komunikasi antara komputer atau mikrokontroler berantarmuka UART RS232 / TTL dengan modul atau jaringan berantarmuka UART RS485 half-duplex. RS232-RS485 Converter merupakan suatu pengubah level tegangan dua arah antara RS232/TTL dan RS485. Modul ini dapat difungsikan sebagai jalur komunikasi antara computer atau mikrokontroler berantarmuka UART RS232 dengan modul atau jaringan berantarmuka UART RS485. Spesifikasi 1. Mengubah level tegangan RS232 atau TTL menjadi RS485 dan sebaliknya. 2. Mengakomodasi baud rate 300 bps hingga 115200 bps. 3. Dapat dikonfigurasi sebagai DCE (Data Communication Equipment) atau DTE (Data Terminal Equipment). 4. Arah data pada jalur RS485 dapat dikendalikan secara manual (sisi RS232/TTL menggunakan 2 jalur data dan 1 jalur kontrol) ataupun otomatis (sisi RS232/TTL hanya menggunakan 2 jalur data). 5. Tersedia pengaturan bias+, terminator dan bias- untuk jalur RS485. 6. Membutuhkan tegangan + 9VDC sebagai catu daya. Universitas Sumatera Utara 2.8 Modul ADC Modul ADC( Analog to digital converter) terdiri atas 5 masukkan di Bandar A (PORT A <0:3,5>) dan 3 masukkan di Bandar E. Masukkan analog memuati (charges) kapasitor “ sample and hold” yang memeberikan keluaran nya kepada modul ADC dan modul ini memeberikan hasil konversi secara successive kepada register hasil ADRESL dalam ukuran 10 bit. Modul ini dapat beroperasi walaupun dalam keadaan sleep dengan syarat penabuh ADC diambil dari osilator RC internal. Modul ini memepunyai 4 register khusus: ADRESH memegang data hasil konversi byte tinggi ADRESL memegang data hasil konversi byte rendah ADCON0 memegang operasi ADC. ADCON1 memegang fungsi pen pen Bandar ADC DAC sederhana dapat di buat dengan menggunakan rangkaian resistor yang di susun sebagai tangga R-2R DAC ini di susun menggunakan beberapa resistor dengan resistansi sebesar R dan beberapa resistor dengan menggunakan beberapa resistor lain dengan rsistansi sebesar 2R. JUmlah bit DAC tanggan R-2R dapat di buat sekehendak hati. Tentu saja tergantung jumlah tingkat tegangan yang diinginkan. 2.9 Menggunakan port untuk menyalakan LED Jika tegangan pada anoda LED lebih positif terhadap katoda nya sekitar 1,7 volt maka LED akan menyala. Jika anoda dihubungkan dengan catu positif melalui resistor, sementara katoda di hubungkan dengan jalur pada melalui resistor,sementara katoda dihubungkan dengan jalur pada port,maka LED akan Universitas Sumatera Utara menyala jika jalur port tersebut bernilai 0 (yang artinya 0 volt,yang dengan demikian anoda lebih positif dibandingkan katoda dan akan padam jika jalur port bernilai 1 (yang artinya 5 volt,sehingga anoda memilki tegangan yang sama dengan katoda. 2.9 Register Port Masukkan/keluaran Paralel Register port masukkan/keluaran paralele merupakan register yang digunakan sebagai buffer pada port masukkan/ keluaran P0,P1,P2,P3.Register port masukkan/keluaran berada di sfr dengan alamat seperti pada table di bawah ini. Tabel 2.3 Alamat Port di SFR Port Alamat di sfr P0 80h P1 90H P2 A0h P3 B0h Register port masukkan/keluaran parallel dapat dialamati perbit. Alamat port P0,P1,P2 dan P3 didefenisikan di dalam file header unutk mikrokontroler 8535 yang disertakan dalam pemograman bahasa c Universitas Sumatera Utara