• Tidak ada hasil yang ditemukan

Perancangan Sistem Kontrol Lampu Dengan Memanfaatkan Modem Wavecome Sebagai Sms Gateway

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Sistem Kontrol Lampu Dengan Memanfaatkan Modem Wavecome Sebagai Sms Gateway"

Copied!
36
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

Dalam Bab ini penulis akan membahas tentang komponen- komponen yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang dari topic utama laporan ini, maka setiap komponen hanya di bahas

sesuai fungsi nya pada masing- masing unit nya.

2.1 Mikrokontroler ATMega32

Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Didalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM,

memori program, atau keduanya), dan perlengkapan input output. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.Secara harfiahnya bisa

disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya

banyak memerlukan komponen-komponen pendukung, mikrokontroler bisa

mereduksi komponen IC TTL dan CMOS yangseringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedarmenambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain,mikrokontroler adalah versi mini atau mikro dari

sebuah komputer karenamikrokontroler sudah mengandung beberapa periferal yang langsung bisadimanfaatkan, misalnya port paralel, port serial, komparator,

(2)

2.1.1 Arsitektur Mikrokontroler AVR ATmega32

Mikrokontroler AVR ATMega32 merupakan sebuah mikrokontroler low power CMOS 8 bit berdasarkan arsitektur AVR RISC. Mikrokontroler ini

memiliki karakteristik sebagai berikut. 1. Menggunakan arsitektur AVR RISC

*131 perintah dengan satu clock cycle *32 x 8 register umum

Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32

(3)

dan kecepatan prosesnya 10 kali lebih cepat dari pada mikrokontroler CISC biasa..arsitektur mikrokontroler AVR atmega32 yaitu seperti berikut :

Gambar 2.1 Arsitektur AVR ATMega32

2.1.2 Fitur ATMega32

Berikut ini adalah fitur-fitur yang dimiliki oleh ATMega32: 1. Frekuensi clock maksimum 16 MHz

2. Jalur I/O 32 buah yang terbagi dalam Port A,Port B,Port C,Port D. 3. Analog to Digital Converter 10 bit sebanyak 8 input,4 chanel PWM

(4)

5. CPU 8 bit yang terdiri dari 32 register 6. SRAM sebesar 2K Byte

7. Memori flash sebesar 32K Byte dengan kemampuan read while write

8. Port komunikasi SPI

9. EEPROM sebesar 512 byte yang dapat diprogram saat operasi

10. Analog Comparator

11. Komunikasi serial standar USART dengan kecepatan maksimal 2,5 Mbps.

2.1.3 Konfigurasi Pin ATMega32

Konfigurasi pin ATMega32 dengan kemasan 40 pin DIP (Dual In-line Package)

dapat dilihat pada Gambar 2.1. Dari gambar tersebut dapatdijelaskan fungsi darimasing – masing pin ATMega32 sebagai berikut :

1.VCC merupakan pin yang berfungsi sebagai masukan catu daya 2.GND merupakan pin Ground

3.Port A (PA0…PA7) merupakan pin input/output dua arah danpin masukan

ADC

4.Port B (PB0…PB7) merupakan pin input/output dua arah danpin fungsi khusus

yang akan dibahas selanjutnya

5.Port C (PC0…PC7) merupakan pin input/output dua arah danpin fungsi khusus yang akan dibahas selanjutnya

6.Port D (PD0…PD7) merupakan pin input/output dua arah danpin fungsi khusus yang akan dibahas selanjutnya

7.RESET merupakan pin yang digunakan untuk me-reset mikrokontroler

(5)

9.AVCC merupakan pin masukan tegangan untuk ADC 10.AREF merupakan pin masukan tegangan untuk ADC

Selain fitur tersebut diatas, masing – masing pin pada mikrokontroler memiliki

fungsi khusus diantaranya :

Tabel 2.1 : Fungsi Khusus Port B

Pin Fungsi Khusus

PD7 SCK (SPI Bus Serial Clock)

PD6 MISO (SPI Bus Master Input/Slave Output)

PD5 MOSI (SPI Bus Master Output/Slave Input)

PD4 SS (SPI Slave Select Input )

PD3

AIN1 (Analog Comparator Negative Input )

OC0 (Timer/Counter0 Output Compare Match Output )

PD2

AIN0 (Analog Comparator Positive Input ) INT2 (External Interrupt 2 Input)

PD1 T1 (Timer/Counter1 External Counter Input )

PD0

T0 T1 (Timer/Counter0 External Counter Input )

XCK (USART External Clock Input/Output)

Tabel 2.2 : Fungsi Khusus Port C

Pin Fungsi Khusus

PD7 TOSC2 (Timer Oscillator Pin2)

PD6 TOSC1 (Timer Oscillator Pin1)

(6)

PD4 TDO (JTAG Test Data out )

PD3 TMS (JTAG Test Mode Select )

PD2 TCK (JTAG Test Clock)

PD1 SDA (Two-wire Serial Bus Data Input/Output Line)

PD0 SCL (Two-wire Serial Bus Cock Line)

Tabel 2.3 : Fungsi Khusus Port D

Pin Fungsi Khusus

PD7 OC2 (Timer/Counter2 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)

(7)

Gambar 2.2 Konfigurasi Pin ATMega32 2.1.4 Deskripsi pin-pin pada mikrokontroler ATMega32: 1. Port A

Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin memilki internal pull-up resistor. Output buffer port A dapat mengalirkan arus

sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika internal pull-up resistor

diaktifkan. Pin-pin dari port A memiliki fungsi khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10 bit. Fungsi-fungsi khusus pin-pin port A dapat ditabelkan seperti yang tertera pada table.

Tabel 2.4 Fungsi khusus port A Port Alternate Function

PA7 ADC7 (ADC input channel 7)

PA6 ADC6 (ADC input channel 6)

(8)

PA4 ADC4 (ADC input channel 4) mengandung internal pull-up resistor.Output buffer port B dapat mengalirkan arus

sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan.

Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya :  SCK port B, bit 7

Input pin clock untuk up/downloading memory.  MISO port B, bit 6

Pin output data untuk uploading memory.  MOSI port B, bit 5

Pin input data untuk downloading memory.

Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti pada table

Tabel 2.5 Fungsi khusus port B Port Alternate Function

PB7 SCK (SPI Bus Serial Clock)

(9)

PB6 MOSI (SPI Bus Master Output/Slave Input)

PB5 SS (SPI Slave Select Input)

PB3

AIN1 (Analog Comparator Negative Input)

OCO (Timer/Counter0 Output Compare Match Output)

PB2

AIN0 (Analog Comparator Positive Input)

INT2 (External Interrupt 2 Input)

PB1 T1 (Timer/Counter1 External Counter Input)

PB0

T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)

3. Port C

Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin

memiliki internal pull-up resistor.Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor

diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel dibawah ini.

Tabel 2.6 Fungsi khusus port C Port Alternate Function

PC7 TOSC2 (Timer Oscillator Pin 2)

PC6 TOSC1 (Timer Oscillator Pin 1)

PC6 TD1 (JTAG Test Data In)

(10)

PC3 TMS (JTAG Test Mode Select)

PC2 TCK (JTAG Test Clock)

PC1 SDA (Two-wire Serial Bus Data Input/Output Line)

PC0 SCL (Two-wire Serial Bus Clock Line)

4. Port D

Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor.Output buffer port D dapat mengalirkan arus

sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang

tertera pada tabel dibawah ini.

Tabel 2.7 Fungsi khusus port D Port Alternate Function

PD7 OC2 (Timer / Counter2 Output Compare Match Output)

PD6 ICP1 (Timer/Counter1 Input Capture Pin)

PD6 OCIB (Timer/Counter1 Output Compare B Match Output)

PD5 TD0 (JTAG Test Data Out)

PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input)

PD1 TXD (USART Output Pin)

(11)

5. RESET

RST pada pin 9 merupakan pin reset yang akan bekerja bira diberi pulsa rendah (aktif Low) selama minimal 1,5us.

6. XTAL2

Merupakan out put dari penguat dari osilator pembalik

7. XTAL1

Merupakan input ke penguat osilator pembalik dan input ke internal clock.

8. AVcc

Avcc adalah pin masukan catu daya yang digunakan untuk masukan analog ADC yang terhubung ke Port A. Kaki ini harus secara eksternal terhubung ke Vcc

melalui lowpass filter. 9. AREF

AREF adalah pin masukan referensi analog untuk ADC. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

10. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

2.1.5 Peta Memory ATMega32

Mikrokontroller ATMega32 memiliki 3 jenis memori yaitu memori

(12)

Gambar 2.3 Organisasi memori ATMega32

1. Memori Program

ATMega32 memiliki kapasitas memori program sebesar 8 Kbyte yang

terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data sebesar 16 bit.Sehingga organisasi memori program seperti ini sering

dituliskan dengan 4K x 16 bit.Memori program ini juga terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi.

2. Memori Data

ATMega32 memiliki kapasitas memori data sebesar 608 byte yang

terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan SRAM.32 byte

(13)

timer /counter, interrupsi, ADC, USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C, dan Port D.Selanjutnya 512 byte diatasnya digunakan untuk memory data SRAM .

Jika register-register I/O diatas diakses seperti mengakses data pada memori ( Jika kita menggunakan instruksi LD atau ST ) maka register I/O diatas

menempati alamat 0020-005F. Tetapi jika registerregister I/O diakses seperti mengakses I/O pada umumnya (menggunakan instruksi IN/IOUT) maka register

I/O diatas menempati alamat memori0000h – 003Fh.

32 Register 64 I/O Register

Gambar 2.4 (a) Register I/O Sebagai Memori Data, (b) Register I/O sebagai I/O

3.Memori EEPROM

ATMega32 memiliki memori EEPROM sebesar 512 byte yang terpisah

(14)

EEPROM control ( EECR). Untuk megakses memory EEPROM ini diperlakukan sperti mengakses data eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika kita mengakses data dari SRAM.

2.1.6 Status Register ( SREG)

Register SREG digunakan untuk menyimpan informasi dari hasil operasi

aritmatika yang terakhir .Informasi-informasi dari register SREG dapat digunakan untuk mengubah alur program, yang sedang dijalankan dengan mengunakan

instruksi percabangan . Data SREG akan selalu berubah jika setiap instruksi atau operasi pada ALU dan datanya tidak otomatis tersimpan apabila terjadi instruksi percabangan baik karena instruksi maupun lompatan.

Gambar 2.5 Status Register

Status Register ATMega32 :

 Bit 7 – I : Global Interrupt Enable

Bit I digunakan untuk mengaktifkan interrupsi secara umum ( interrupsi global)

.Jika bit I benilai „1‟ maka interrupsi secara umum akan aktif , tetapi jika bernilai

„0‟ maka tidak ada satupun interrupsi yang aktif.Pengaturan jenis-jenis interrupsi

apa sja yang akan aktif dilakukan dengan mengatur register kontrol yang sesuai dengan jenis interrupsi tersebut, dengan terlebih dahulu mengaktifkan interupsi

(15)

 Bit 6 – T : Bit Copy Storage

Bit T digunakan untuk mementukan bit sumber atau bit tujuan pada instruksi bit copy.Pada instruksi BST ,data akan dicopy dari register ke bit T( Bit T sebagai masing 4 bit) dan masing-masing bagian dianggap sebagai 1 digit desimal. 4.Bit 4 – S: Sign bit

Bit S merupakan kombinasi antara bit V dan bit N, yaitu dengan meng-XOR-kan bit V dan bit N.

 Bit 3 –V : Two‟s Complement over flow flag

Bit V digunakan untuk mendukun operasi aritmatika komplemen 2.Jika terjadi luapan pada operasi aritmatika bilangan komplemen 2 maka akan menyebabkan

bit V bernilai „1‟.

 Bit 2 - N : Negative Flag

Bit N digunakan untuk menunjukkan apakah hasil sebuah operasi aritmatika

ataupun operasi logika bernilai negatif atau tidak.Jika hasilnya negatif maka bit N

bernilai „1‟ dan jika hasilnya bernilai positif maka bit N bernila‟0‟.

 Bit 1 - Z : Zero Flag

Bit Z digunakan untuk menunjukkan hasil operasi aritmatika ataupun operasi

logika apakah bernilai nol atau tidak.Jika hasilnya nol maka bit Z bernilai „1‟ dan

(16)

 Bit 0 – C : Carry flag

Bit C digunakan untuk menunjukkan hasil operasi aritmatika ataupun logika

apakah ada carry atau tidak.Jika ada carry maka bit C bernilai‟1‟ dan jikatidak

ada carry maka bit C akan bernilai „0‟.

2.1.7 Register Serba guna ( General Purpose Register)

ATMega32 memiliki 32 byte register serbaguna yang terletak pada awal

alamat RAM. Dari 32 byte register serba guna 6 byte terakhir juga digunakan sebagai register pointer yaitu register pointer X,register pointer Y dan Register pointer Z.

Gambar 2.6 Register Serba guna

2.1.8USART ( Universal Synchronous and Asynchoronous Serial Receiver And Transmitter)

Universal Synchronous Serial Receiver and Transmitter (USART) juga

(17)

ATMega32.USART merupakan komunikasi yang memiliki fleksibilitas yang tinggi, yang dapat kita gunakan untuk melakukan transfer data baik antara mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang

memiliki fitur UART.

USART memungkinkan transmisi data baik secara synchronous maupun

asynchronous sehingga dengan demikian USART pasti kompatibel dengan UART. Pada ATMega32,pengaturan secara umum pengaturan mode komunikasi

baik Synchronous maupun Asynchronous adalah sama , perbedaannya hanya terletak pada sumber clocknya saja. Pada mode Asynchronous masing – masing Peripheral memiliki sumber clock sendiri sedang kan pada mode Synchronous

hanya ada satu sumber clock yang digunakan secra bersama- sama. Dengan demikian secara hardware untuk mode Asynchronous hanya membutuhkan 2 pin

yaitu TXD dan RXD sedangkan untuk mode Synchronous harus 3 pin yaitu TXD,RXD dan XCK

2.2 Modem GSM

Modem adalah sebuah alat yang dapat membuat komputer terkoneksidengan internet melalui line telepon standar. Modem banyak digunakankomputer rumah dan jaringan sederhana untuk dapat berkomunikasi

denganjutaan komputer lain dalam lalu lintas internet. Kata Modem itu sendirimerupakan kependekan dariModulator Demodulator. Ini berarti

Modembekerja dengan cara mengubah informasi digital dari komputer pengirim kedalam bentuk sinyal analog yang ditransmisikan melaluli line telepon.

Selanjutnya Modem pada komputer penerima akan mengubah ulang sinyal

(18)

Plug andPlay dengan konektivitas GSM/GPRS untuk aplikasi-aplikasi machine tomachine. GSM Modul atau Modem GSM adalah jenis khusus dari modemyang menerima kartu SIM, dan mengoperasikan selama berlangganan keoperator

mobile, seperti ponsel. Modem GSM dihubungkan dengan suatuinterface yang memungkinkan aplikasi seperti SMS untuk mengirim danmenerima pesan melalui

Modem. Beberapa fungsi kegunaan modem ini dimasyarakat adalah antara lain: · SMS Broadcast application

· SMS Quiz application · SMS Polling

· SMS auto-reply

· M2M integration · Aplikasi Server Pulsa

· Telemetri

· Payment Point Data

Pada pembuatan proyek ini, digunakan Modem GSM Serial

WavecomFastrack M1306B.Untuk Modem seri ini memiliki dua type konektor yaitu

serial dan USB[12].

(19)

Spesifikasi modem WAVECOM FASTRACK M1306B: · Dual-band GSM 900/1800MHZ & GPRS Class 10 · GSM Dual Band antenna

· Power Supply with 4 pin connector (untuk serial) · Standard USB 2.0 interface (untuk USB)

· Input Voltage : 5V-32V

· Maximum transmitting speed 253KBps

· Support AT-Command · Dimensi : 74×54×25mm

2.2.1 AT-Command

AT-Command adalah singkatan dari Attention Command.ATCommand adalah

perintah yang digunakan dalam komunikasi dengan serialport. Pada awalnya standar perintah ini untuk modem-modem telepon PSTN,akan tetapi perintah ini sekarang dikembangkan juga untuk modem-modemGSM. Perintah AT-Command

dapat diberikan kepada handphone atauGSM/CDMA modem untuk melakukan sesuatu hal, termasuk untukmengirim dan menerima SMS.Dengan memberikan perintah ini di dalamkomputer/mikrokontroller maka perangkat kita dapat

melakukan pengirimanatau penerimaan SMS secara otomatis untuk mencapai tujuan tertentu.Untuk memulai suatu perintah AT-Command, diperlukan prefiks

(20)

Tabel 2.8 Tabel Set AT-Command

2.2.2Short Message Service (SMS)

Short Message Service (SMS) merupakan salah satu tipe InstantMessaging (IM) yang memungkinkan user untuk bertukar pesan singkat. SMSdihantarkan

pada channel signal Global System for Mobile Communication(GSM). Dewasa ini perkembangan teknologi yang sangat pesat membuatteknologi SMS ini banyak

digemari masyarakat karena teknologi ini bersifatpraktis, murah dan mudah untuk digunakan.Sebuah pesan SMS maksimal terdiri dari 140 bytes, yang berarti

dapatmemuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untukbahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi(Aksara Kanji/Hanja). User pun dapat mengirim pesan SMS yang lebih

dari140 bytes dengan catatan membayar lebih dari sekali biaya kirim SMS.[5]21SMS menjamin pengiriman pesan oleh jaringan, jika terjadi

(21)

kali.Batas waktu yang telah ditentukan untuk menyimpannya biasanya sekitar 1hari atau 2 hari, lalu pesan dihapus.

2.2.3 Database

Database merupakan sekumpulan data yang terintegrasi yang diorganisasi untuk memenuhi kebutuhan pemakai untuk keperluan organisasiyang dimana

dapat dipakai hanya sekali atau berulang yang dimana dalambentuk digital.Salah satu komponen penting dalam penggunaan databaseadalah DataBase Management

System (DBMS).DBMS ini bertugas untukmenangani semua akses ke database dan bertanggug jawab untuk menerapkanpemeriksaan otorisasi dan prosedur validasi.

2.2.4 Microsoft Office Access

Salah satu software atau aplikasi yang banyak digunakan untukmembuat

suatu database sederhana adalah Microsoft Access. Micosoft Access merupakan software yang dikeluarkan oleh microsoft untuk membuat aplikasidatabase. Sofware ini cocok untuk kalangan industri kecil atau rumah tangga,

karena kapasitas datanya yang mencapai 4 GB. Program ini banyak dipakaikarena kemudahannya dalam mengolah database.

2.3ICMAX232

MAX232 merupakan salah satu jenis IC rangkaian antar muka dual RS-232 transmitter / receiver yang memenuhi semua spesifikasi standar EIA-RS-232-E.

IC MAX232 hanya membutuhkan power supply 5V ( single power supply ) sebagai catu. IC MAX232 di sini berfungsi untuk merubah level tegangan pada COM1 menjadi level tegangan TTL / CMOS. IC MAX232 terdiri atas tiga bagian

(22)

Pengubahan tingkat tegangan listrik dari tingkat serial CMOS/TTL ke tingkat

teganganRS-232 seringkali gampang-gampang susah untuk dilakukan. Gampang karena sekarang sudah banyak tersedia IC yang sudah siap pakai tetapi susah

karena kadang orang lupa dan salah melakukan konfigurasi jalur komunikasi.

Gambar 2.8 fisik IC MAX232

2.4 Komunikasi Serial

Pada PC / laptop standar, biasanya terdapat sebuah port untuk komunikasi

serial.Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel

seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh penerapan komunikasi serial ialah mouse, scanner dan sistem akuisisi data yang terhubung ke port serial COM1/COM2. Sistem antar

muka komunikasi serial RS232 sering digunakan sebagai antar muka antara komputer dengan mikrokontroler. Agar level tegangan data serial dari

(23)

RS232. MAX232 menggunakan sistim komunikasi simplex sehingga difungsikan untuk mengubah dari arus dan tegangan logika TTL menjadi arus tegangan logika komputer (RS232).

2.4.1 Karakteristik Sinyal Port Serial

Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232 yang dikembangkan oleh Electronic Industri Association (EIA/TIA) yang

pertama kali dipublikasikan pada tahun 1962.Ini terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut komunikasi antara (Data Terminal

Equipment – DTE) dengan alat – alat pelengkap komputer (Data Circuit Terminating Equipment – DCE). Standar sinyal RS232 memiliki ketentuan level

tegangan sebagai berikut :

• Logika 1 disebut „Mark‟ terletak antara -3 Volt sampai -25 Volt

• Logika „0‟ disebut „space‟ terletak antara +3 Volt samapai +25 Volt.

• Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level, yaitu daerah

tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga level tegangan dibawah -25 Volt dan diatas +25 Volt juga harus

dihindari karena bisa merusak line driver pada saluran RS232

Gambar dibawah adalah contoh level tegangan RS232 pada pengiriman huruf “A”

(24)

Gambar 2.9 Level Tegangan RS232 pada Pengiriman Huruf “A” Tanpa Bit Paritas

2.4.2 Port Komunikasi Serial

Komunikasi serial membutuhkan port sebagai saluran data. Berikut tampil port serial DB9 yang umum digunakan sebagai port serial

Gambar 2.10Port DB9 Jantan

(25)

Untuk menghubungkan antara 2 buah PC, biasanya digunakan format null mode, dimana pin TxD dihubungkan dengan RxD pasangan, pin Sinyal ground (5) dihubungkan dengan SG di pasangan, dan masing masing pin DTR, DSR dan CD

dihubung singkat, dan pin RTS dan CTS dihubung singkat di setiap devais.

Gambar.2.12 Susunan Pin Konektor DB9

(26)

Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari port serial tersebut.Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2.Base Address COM1 biasanya 1016 (3F8h) dan COM2 biasanya 760

(2F8h).Alamat tersebut adalah alamat yang biasa digunakan, tergantung komputer yang digunakan.Tepatnya kita bisa melihat pada peta memori tempat menyimpan

alamat tersebut, yaitu memori 0000.0400h untuk COM1 dan 0000.0402h untuk COM2. Berikut adalah nama – nama register yang digunakan beserta alamatnya

Tabel 2.10 Nama – Nama Register.

Keterangan Register

• RX Buffer , digunakan untuk menampung dan menyimpan data dari DCE.

• TX Buffer , digunakan untuk menampung dan menyimpan data yang akan

dikirim ke port serial.

• Baud Rate Divisor Latch LSB , digunakan untuk menampung byte bobot rendah

untuk pembagi clock pada IC UART agar didapat baud rate yang tepat.

• Baud Rate Divisor Latch MSB , digunakan untuk menampung byte bobot tinggi

untuk pembagi clock pada IC UART sehingga total angka pembagi adalah 4 byte yang dapat dipilih dari 0001h sampai FFFFh.

(27)

Tabel 2.11Angka Pembagi

2.4.3Koneksi Ke RS232 Port

Koneksi TXD dan RXD MCU MCS-51 dengan port serial komputer selain level tegangannya harus disesuaikan, cara koneksikan juga perlu diperhatikan. Ada

semacam protokol komunikasi, bila DTE hendak menghubungi DCE atau

sebaliknya, untuk ‟DCE‟ yang berupa MCU MCS-51 ini, protokol perlu diakali,

lebih sederhana prosesnya, sehingga tidak memrlukan software yang rumit, tetapi

masih tetap handal. Selain sinyal data, terdapat sinyal – sinyal protokol komunikasi serial pada komputer dan dihubungkan keluar melalui konektor male

DB9 (komputer baru) dan DB25 (Komputer lama), nama sinyal – sinyal tersebut adalah:

• RD, Receive Data (RXD).

• TD, Transmit Data

• SG, Signal Ground

• DTR, Data Terminal Ready

• DSR, Data Set Ready

• CD, Carrier Detect

(28)

• CTS, Clear To Send.

Tabel 2.12 Koneksi Null Mode

Komunikasi asinkron yang sederhana yang disebut sebagai null modem, adalah

dengan menghubungkan pin- pin DTR, DSR dan CD serta RTS dengan CTS. Sedangkan sinyal data input masuk RD dan sinyal transmit output adalah TD. Konvertor level untuk saat ini tersedia dalam bentuk ic, contoh adalah ICL232

dari Harris semikonduktor, MAX232 dari Maxim.

Gambar 2.13IC MAX232

Protokol standar yang mengatur komunikasi melalui serial port disebut

(29)

Industries Association).Interfacing RS-232 menggunakan komunikasi asyncronous di mana sinyal clock tidak dikirimkan bersamaan dengan data. Setiap word data disingkronisasikan menggunakan sebuah start bit dan sebuah stop bit.

Jadi, sebuah frame data terdiri dari sebuah start bit, diikuti bit-bit data dan diakhiri dengan stop bit. Jumlah bit data yang digunakan dalam komunikasi serial adalah 8

bit. Encoding yang digunakan dalam komunikasi serial adalah NRZ (Non-Return-to-Zero), di mana bit 1 dikirimkan sebagai high value dan bit 0 sebagai low value.

Komunikasi serial merupakan hal yang penting dalam system embedded, karena dengan komunikasi serial kita dapat dengan mudah menghubungkan mikrokontroler dengan devais lainnya. Port serial pada mikrokontroler terdiri atas

dua pin yaitu RXD dan TXD. RXD berfungsi untuk mengirim data dari komputer atau perangkat lainnya, standard komunikasi serial untuk computer adalah

RS-232, RS-232 mempunyai standard tegangan yang berbeda dengan serial port mikrokontroler, sehingga agar sesuai dengan RS-232 maka dibutuhkan suatu rangkaian level converter, IC yang digunakan bermacam-macam, tapi yang paling

mudah dan sering digunakan ialah IC MAX232/HIN232. Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer

yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh komunikasi serial ialah mouse, scanner, dan system akuisisi data yang terhubung

ke port COM1/COM2.

Jika ingin menggunakan mikrokontroler untuk berkomunikasi dengan komputer atau device lainnya maka Rx dan Tx tidak bisa langsung dihubungkan begitu saja

(30)

Contohnya komunikasi serial untuk komputer menggunakan sinyal RS232 yaitu sinyal yang gelombang level sinyalnya antara +25V sampai -25V. Oleh karena itu, jika ingin diharapkan terjadi komunikasi antara mikrokontroler dengan

komputer dibutuhkan sebuah buffer yang dapat mengubah sinyal level TTL dari mikrokontroler menjadi sinyal level RS232. Salah satu Buffer yang sering

digunakan adalah IC MAX232CPE dan menggunakan transistor NPN maupun PNP.

Gambar 2.14merupakan penggunaan ic max 232 dalam rangkaian sebagai komunikasi serial.

2.5 Bahasa Pemograman C

Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar

ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.

(31)

rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++ (diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah

pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows.

Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C

dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini

bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame.

Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :\  Kelebihan Bahasa C:

· Bahasa C tersedia hampir di semua jenis computer.

· Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.

· Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.

· Proses executable program bahasa C lebih cepat · Dukungan pustaka yang banyak.

· C adalah bahasa yang terstruktur

(32)

penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yangberorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan

berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat.secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki

kemudahan dalammenyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusiprogram secepat bahasa tingkat rendah.

 Kekurangan Bahasa C:

· Banyaknya operator serta fleksibilitas penulisan program

kadang-kadangmembingungkan pemakai.

· Bagi pemula pada umumnya akan kesulitan menggunakan pointer. ·

2.5.1 Struktur Bahasa C

a. Program bahasa C tersusun atas sejumlah blok fungsi.

b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.

c. Tidak ada perbedaan antara prosedur dan fungsi.

d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).

(33)

2.5.2 Pengenal

Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable,

fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura

berikut :

 Karakter pertama tidak boleh menggunakan angka

 Karakter kedua dapat berupa huruf, angka, atau garis bawah.  Tidak boleh menggunakan spasi.

 Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap

berbeda.

 Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun

operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.

2.5.3 Tipe Data

Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman.Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun

karakter.Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal

(34)

Macam-Macam Tipe Data Pada Bahasa C : 1. Tipe Data Karakter

Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada

sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127.

Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel

yang bertipe data karakter ini. 2. Tipe Data Bilangan Bulat

Tipe data bilangan bulat atau dapat disebut juga bilangan desimal

merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan

bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan

hasilnya akan disimpan pada variabel c.

Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe

data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya

digunakan variabel dengan tipe data int. 3. Tipe Data Bilangan Berkoma

Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk

(35)

Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar.

Tabel 2.13Tipe Data

Tipe Data Ukuran Jangkauan Nilai

Bit 1 byte 0 atau 1

Long Int 4 byte -2.147.483.648 s/d 2.147.483.647

Unsigned Long Int 4 byte 0 s/d 4.294.967.295

Signed Long Int 4 byte -2.147.483.648 s/d 2.147.483.647

Float 4 byte 1.2*10-38 s/d 3.4*10+38

Double 4 byte 1.2*10-38 s/d 3.4*10+38

2.5.4 Konstanta Dan Variabel

Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori.Konstanta berisi data yang nilainya tetap dan tidak

(36)

2.5.5IDENTIFIER

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,

nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut :

1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja).

2. Case sensitive: membedakan huruf besar dan huruf kecilnya.

3. Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh angka.

4. Tidak boleh mengandung spasi atau blank.

Gambar

Gambar 2.1 Arsitektur AVR ATMega32
Tabel 2.2 : Fungsi Khusus Port C
Tabel 2.3 : Fungsi Khusus Port D
Gambar 2.2 Konfigurasi Pin ATMega32
+7

Referensi

Dokumen terkait

Dalam sistem presensi yang akan dibangun, aplikasi mobile berbasis Android digunakan untuk meng-update data presensi ke sistem pada komputer server yang dimiliki

Komunikasi antara pihak TPA Masjid Ash Shiddiq dan orantua / wali santri menjadi amatlah penting untuk mewujudkan visi bersama ini, namun terbatasnya waktu tatap

Dari hasil penelitian yang telah dilakukan sistem informasi pada Scudetto Jesey Store ini dirancang menggunakan basis data MySQL, bahasa pemrograman. PHP serta

Dalam merancang atau membuat sebuah sistem yang baru tahap pemilihan bahasa pemrograman merupakan hal penting. Sebab dengan pemilihan bahasa pemrograman yang tepat,

Baik atau tidaknya sebuah oven tergantung dari bahan yang digunakan untuk menampung suhu panas, dimana material yang digunakan antara lain tanah, keramik, plat

ini yaitu membangun sistem pelayanan informasi untuk pencari kerja, maka sistem ini dibangun bahasa pemrograman Visual Basic dan MySQL untuk database sebagai

yaitu Pembuatan Aplikasi. Aplikasi web dibuat berdasarkan perancangan sistem. Bahasa pemrograman yang digunakan adalah PHP framework CodeIgniter. Tahap keempat yaitu

Komunikasi antara pihak TPA Masjid Ash Shiddiq dan orantua / wali santri menjadi amatlah penting untuk mewujudkan visi bersama ini, namun terbatasnya waktu tatap muka dengan