SlideShare a Scribd company logo
7
BAB II
DASAR TEORI
2.1 Penjelasan secara umum
Komunikasi data didefinisikan sebagai komunikasi antara suatu piranti
dengan piranti yang lain seperti terminal ke komputer atau komputer ke komputer
(Bartee, 1985). Tujuan dari komunikasi adalah pengiriman pesan dari suatu tempat
ke tempat yang lain dan untuk mamastikan bahwa pesan dapat diterima dengan
baik serta dimengerti (Schweber, 1988).
2.2 Macam Hubungan dalam Sistem Komunikasi
Ada tiga macam metode hubungan dalam sistem komunikasi, yaitu :
simplex, half duplex dan full duplex (Halsall, 1992). Hubungan simplex hanya
memungkinkan komunikasi satu arah. Satu terminal sebagai pemancar saja dan
terminal yang lain sebagai penerima. Pada half-duplex, komunikasi dapat terjadi
dalam dua arah tetapi setiap saat hanya ada satu terminal yang mentransmisikan
data. Sedang pada full duplex, pertukaran data dapat terjadi pada kedua arah secara
bersamaan. Gambar 2.1 menunjukkan macam hubungan dalam sistem komunikasi.
Data yang dikirimkan oleh suatu terminal adalah informasi yang telah
dikodekan dalam bentuk tertentu. Informasi ini terbentuk dari simbol-simbol yang
disebut karakter. Agar dapat ditransmisikan, karakter harus dikodekan dalam
sekelompok bit. Pengkodean ini sesuai dengan pengkodean yang dilakukan oleh
8
komputer. Pengkodean yang digunakan oleh komputer adalah menggunakan kode
ASCII (American Standard Code for Information Interchange).
pengirim
pengirim
penerima
pengirim
penerima
penerima
pengirim
pengirim
penerima
penerima
b
c
a
Gambar 2.1 Hubungan (a) Simplex (b) Half Duplex (c) Full Duplex
2.3 Metode Pentransmisian Data
2.3.1 Komunikasi Data Serial dan Paralel
Dalam pentransmisian data, bit-bit yang membentuk karakter
ditransmisikan secara paralel atau serial (Schweber, 1988). Pada sistem serial,
dibutuhkan hanya satu kanal saluran transmisi. Setiap bit data dikirim berurutan
satu demi satu. Sedang dalam sistem paralel, dibutuhkan jumlah kanal sama
banyaknya dengan jumlah bit pembentuk karakter. Jadi untuk pengkodean ASCII
yang mengkodekan delapan bit setiap karakter, dibutuhkan 8 kanal. Gambar 2.2
menunjukkan mode transmisi data serial dan paralel.
9
s
u
b
u
n
i
t
s
u
m
b
e
r
s
u
b
u
n
i
t
t
u
j
u
a
n
sub unit
sumber
sub unit
tujuan
1 0 1 00 1 1
Sinyal Referensi
Sinyal
Referensi
0
1
2
3
4
n-1
0
1
2
3
4
n-1
(a)
(b)
Gambar 2.2 Mode Transmisi : (a) Serial (b) Paralel
2.3.2 Komunikasi Data Sinkron dan Asinkron
Cara untuk mentransmisikan data ada dua macam yaitu sinkron dan
asinkron (Schweber, 1988). Dalam modus sinkron karakter yang ditransmisikan
tergabung dalam satu blok. Blok data ini diapit karakter kontrol yang
menunjukkan awal dan akhir dari data yang dikirim. Karakter kontrol ini berupa
karakter khusus berdasarkan protokol yang digunakan. Pada modus ini tidak ada
penambahan bit start/stop ke karakter. Gambar 2.3-b menunjukkan diagram
transmisi sinkron.
Untuk mengontrol jalannya transmisi sinkron rangkaian pengontrol yang
digunakan adalah USRT (Universal Synchronous Receiver Transmitter). Fungsi
USRT adalah untuk sinkronisasi clock DPLL (Digital Phase Lock-Loop, lup
pengunci fasa digital) bit kecepatan rendah, sinkronisasi karakter, pembangkit
10
karakter idle (tak terpakai) sinkron serta pembangkit dan pengecek paritas tiap
karakter (Halsall,1992). Skema USRT ditunjukkan dalam Gambar 2.4.
karakter 8-bit
Frame yang ditransmisikan
start bit Stop bit
Sync Star of
Frame
Isi frame End of
Frame
Sync
(a)
(b)
Gambar 2.3 Transmisi : (a) Asinkron (b) Sinkron
2.4 Antarmuka RS-232C
Antarmuka RS-232C adalah sebuah standar antarmuka untuk
menghubungkan peralatan terminal data (Data Terminal Equipment, DTE) dengan
peralatan komunikasi data (Data Communication Equipment, DCE) agar
memungkinkan beberapa industri penghasil peralatan yang berbeda dapat
menggunakan fasilitas pengiriman data yang tersedia. Contoh penggunaannya
antara lain untuk menghubungkan peralatan seperti penampil, printer dan
sebagainya dengan komputer.
11
RS-232C adalah suatu standar antarmuka yang dipublikasikan oleh EIA
(Elecronics Industries Association). Jarak terjauh yang diijinkan antara DTE dan
DCE sesuai standar RS-232C adalah 15 meter dan kecepatan pengiriman data
kurang dari 9600 bps (Halsall, 1994). Dalam Gambar 2.4 ditunjukkan penempatan
standar antarmuka antara dua peralatan terminal data.
Calling
DTE
Modem Modem
Called
DTE
RS-232C
Saluran
Transmisi
RS-232C
Gambar 2.4 Sistem Komunikasi RS-232C
Hal yang perlu diketahui dalam standar antarmuka RS-232C antara lain :
tegangan standar bagi data biner, sinyal yang digunakan serta cara interkoneksi
antar RS-232C.
2.4.1 Tegangan RS-232C
Untuk menampilkan data biner dibutuhkan dua besaran tegangan. Biner 1
atau disebut mark dinyatakan dengan tegangan antara -3V sampai dengan -25V,
sedang biner 0 atau disebut space dinyatakan dengan tegangan antara +3V sampai
+25V. tegangan antara -3V sampai dengan +3V adalah tegangan invalid.
2.4.2 Sinyal-sinyal RS-232C
Standar antarmuka RS-232C mendefinisikan sinyal-sinyal yang dipakai,
baik untuk mentransmisikan menerima data maupun untuk proses jabat-tangan
12
(handshaking). Dalam Gambar 2.5 diberikan sinyal kontrol yang digunakan RS-
232C.
1SHIELD GROUND
RI
DTR
TxClk
RxClk
TxClk
CD
SIG
DSR
CTS
RTS
RxD
TxD
SHG
RING INDICATOR (RI)
DATA TERMINAL READY (DTR)
TRANSMIT DATA TIMING (SUMBER DTE)
TRANSMIT DATA TIMING (SUMBER DTE)
RECEIVE DATA TIMING
CARRIER DETECT (CD)
SIGNAL GROUND (SIG)
DATA SET READY (DSR)
CLEAR TO SEND (CTS)
REQUEST TO SENT (RTS)
RECEIVE DATA (RxD)
TRANSMIT DATA (TxD)
Konektor 25
DTE
(Terminal/Komputer)
Nomor Pin DCE
(Modem)
2
3
4
5
6
7
8
17
15
16
20
22
Gambar 2.5 sinyal control yang digunakan oleh RS-232C
Dengan menetapkan sinyal seperti dalam Gambar 2.5 maka terminal dan
komputer mengirim dan menerima data dalam jalur yang sama jika modem
menyediakan fungsi sama untuk kedua peralatan.
2.4.3 Interkoneksi RS-232C
Agar komputer dapat berkomunikasi antara satu dengan yang lain, ada tiga
hal yang harus diperhatikan dalam standar antarmuka RS-232C, yaitu : konfigurasi
bit dan baud, konektor dan susunan pin serta proses jabat-tangan (Hall, 1986).
13
Konfigurasi bit meliputi bit setiap karakter, jumlah stop bit dan bit paritas.
Baud (bit per detik) adalah satuan kecepatan pentansmisian data. Bit paritas adalah
bit yang berfungsi sebagai pendeteksi kesalahan. Kedua komputer yang akan
berkomunikasi data harus mempunyai konfigurasi bit dan kecepatan
pentransmisian data yang sama.
2.5 Metode Deteksi Kesalahan
Terdapat tiga metode deteksi kesalahan yang paling luas penggunaannya,
yaitu : parity check (cek paritas), block sum check dan cyclic redundancy check
(Halsall, 1992).
2.5.1 Cek Paritas
Metode ini banyak digunakan untuk mendeteksi kesalahan bit pada
transmisi asinkron dan transmisi sinkron yang berorientasi karakter. Pada metode
ini, pengirim menambahkan satu bit yaitu bit paritas untuk tiap karakter. Bit
paritas inilah yang akan diperiksa oleh penerima untuk mengetahui apakah
karakter yang dikirim itu benar atau salah.
Kekurangan dari metode paritas ini adalah hanya dapat melacak kesalahan 1 bit.
Apabila ada dua bit yang terganggu, metode ini tidak dapat melacak kesalahan
kerena bit paritasnya akan benar.
Contoh : 1001001 1 (Paritas genap)
1001001 0 (Paritas ganjil)
14
2.5.2 Block Sum Check
Untuk memperbaiki kemampuan penggunaan paritas maka data yang
dikirim, dikirimkan secara blok. Dengan metode ini tiap karakter diperiksa
paritasnya (paritas baris) dan tiap blok juga diperiksa paritasnya (paritas kolom).
Dalam Gambar 2.6 ditunjukkan contoh metode deteksi kesalahan block sum check.
Pr B6 B5 B4 B3 B2 B1 B0
0 0 0 0 0 0 1 0
1 0 1 0 1 0 0 0
0 1 0 0 0 1 1 0
0 0 1 0 0 0 0 0
1 0 1 0 1 1 0 1
0 1 0 0 0 0 0 0
1 1 1 0 0 0 1 1
1 0 0 0 0 0 1 1
1 1 0 0 0 0 0 1
Arah
transmisi
Bit paritas kolom (genap)
Bit
paritas
Baris
= Contoh kombinasi kesalahan yang tidak terdeteksi
Gambar 2.6 Contoh Block Check Sum
2.5.3 Cyclic Redundancy Check (CRC)
Metode deteksi kesalahan CRC adalah suatu metode deteksi kesalahan bit
yang bekerjanya berdasarkan atas kode polinomial dengan perhitungan
menggunakan rumus matematika khusus. Dalam metode ini satu blok informasi
dilihat sebagai bit yang ditransmisikan. Bit yang akan disalurkan dimasukkan
terlebih dahulu ke dalam register geser siklis yang disebut generator CRC. Operasi
matematika dikerjakan pada deretan bit tersebut. Operasi CRC ini didasarkan
pada pembagian deret bit dengan sebuah polinomial. Hasil bagi pembagian
15
diabaikan. Sisa disalurkan sebagai Block Check Sequence (BCS). BCS adalah
akhir dari deretan bit isi register geser. Gambar 2.7 menunjukkan diagram blok
metode deteksi kesalahan CRC. Skema pembangkitan CRC ditunjukkan dalam
Gambar 2.8. Sedangkan skema pengecekan CRC ditunjukkan dalam Gambar 2.9.
RANGKAIAN
CRC
LINK
BUFFER
RANGKAIAN
CRC
BUFFER
PENERIMA
DATA CRC
CRC
Checksum
BIT-BIT
DATA
LINK
CRC Checkbits
Dibandingkan
CRC Checkbits
DATA
DATA
Gambar 2.7 Diagram Block Metode Deteksi Kesalahan Cyclic Redundancy
Check (CRC)
Dalam Gambar 2.7 diatas checksum pada pengirim dihitung dengan CRC
Checksum. Selanjutnya dikirimkan menuju penerima bersama bit-bit data.
Kemudian penerima menghitung kembali checksum lalu membandingkannya
dengan nilai yang diterima.
Teori matematika dari kode polinomial menggunakan modulo dua
aritmatika yang digunakan untuk metode ini adalah sebagai berikut : (Halsall,
1992).
M (x) x2n
G (x)
= Q(x) +
R (x)
G (x)
M (x) x2n
+ R (x)
G (x)
= Q(x) , modulo-2 aritmatika
(2-1)
(2-2)
(2-1)
M (x) x2n
+ R (x)
G (x)
= Q(x) , modulo-2 aritmatika (2-2)
, modulo-2 aritmatika (2-2)
16
Dengan n = Pangkat tertinggi dari polynomial (1,2,3…..)
M(x) = Pesan yang dikirim (sejumlah k-bit)
G(x) = Pembagi/Generator (n+1 bit)
Q(x) = Hasil bagi
R(x) = Sisa (n bit)
TxC
AND
lsb msb
XOR
AND
AND
AND
XOR
X0
X1
X2 X3
TxD
Byte Paralel yang diload oleh
perangkat kontrol (x N)
Transmit S-R
FCS S-R
Sinyal
Kontrol
Umpan
Balik
TxC
Gambar 2.8 Skema pembangkitan Cyclic Redundancy Check (CRC)
Generation
Pada modulo-2 penambahan pada dirinya sendiri akan sama dengan nol
atau dapat dikatakan sisa sama dengan nol. Untuk menjelaskan hal ini, frame yang
lengkap terdiri dari M ditambah dengan nol yang jumlahnya sama dengan jumlah
digit dari Frame Check Sequence (FCS) yang dihasilkan (hal ini sama dengan
mengalikan data dengan 2n
dimana n adalah jumlah digit FCS) dibagi modulo 2
oleh G. Operasi pembagian sama dengan bentuk operasi exclusive OR per bit
dalam frame yang diproses.
Sisa R ditransmisikan di akhir kata. Hal yang sama dilakukan penerima, bit
stream yang mengandung digit FCS dibagi lagi oleh polinomial yang sama (M x
17
2n
x R)/G. jika sisanya nol maka tidak terjadi kesalahan bit dan jika sisa tidak
sama dengan nol maka data yang diterima mengalami kesalahan.
lsb msb
XOR
X0
X1
X2 X3
Pembacaan Paralel (x N)
XOR
FCS S-R
Receive
S-R
RxC
RxD
Gambar 2.9 Skema Pengecekan Cyclic Redundancy Check (CRC)
Sebagai contoh, sebuah data 8 bit seri, 11100110 ditransmisikan melalui
sebuah data link menggunakan CRC untuk deteksi kesalahan. Polinomial yang
digunakan adalah 11001. contoh ini akan diilustrasikan melalui proses
menghasilkan FCS dan proses pengecekan FCS. Hasil FCS untuk data 11100110
ditunjukan dalam Gambar 2.10. Langkah awal dari proses pendeteksi kesalahan
menambah nol sejumlah 4 bit di akhir data.
Dari proses menghasilkan FCS dalam Gambar 2.10 diperoleh sisa 0110
sehingga frame yang ditransmisikan adalah 111001100110. Selanjutnya proses
pengecekan FCS dalam Gambar 2.11 adalah dengan cara membagi frame yang
ditransmisikan dengan polinomial pembagi yang digunakan.
18
1 0 1 1 0 1 1 0
1 1 1 0 0 1 1 0 0 0 0 0
1 1 0 0 1
 1 1 0 0 1
0 0 1 0 1 1
 0 0 0 0 0
0 1 0 1 1 1
 1 1 0 0 1
1 1 1 0 0
 1 1 0 0 1
0 0 1 0 1 0
 0 0 0 0 0
0 1 0 1 0 0
 1 1 0 0 1
0 1 1 0 1 0
 1 1 0 0 1
0 0 0 1 1 0
 0 0 0 0 0
0 1 1 0 Sisa
Gambar 2.10 Proses Pembangkitan Generator Cyclic Redundancy Check
(CRC)
Dalam contoh tersebut diperoleh bahwa sisa pembagian sama dengan nol.
Ini berarti bahwa tidak terdapat kesalahan selama berlangsungnya pentransmisian
bit-bit data. Apabila perhitungan dalam Gambar 2.11 diperoleh sisa pembagian
tidak sama dengan nol, maka telah terjadi kesalahan bit selama berlangsungnya
penerimaan data.
19
0 1 1
1
1
1
1 0
0
0
0
0 0
1 1
1 1 1 1 1
1
1
1
1
0 0
0
0 0
0





1
1 1
1
1
1
1
1
1
0
0
0 0
0
0
0
0
0
1
1
1
1
1
1 1
1
1
0
0
0 0
0
0
0
0
0
0
0
1
1
1
1
1 1
1
1
1
1
1
1 1
0
0
0
0 0
0
0
0
0
0
0
0 0
0
0
0
0
0 0



0
0
0
0
0
0
0
0
0
0
0 Sisa = 0
Tidak terjadi kesalahan
Gambar 2.11 Proses Pengecekan Cyclic Redundancy Check (CRC)
2.6 Mikrokontroler AT89C51
Mikroprosesor adalah sebuah Central Processing Unit (CPU) yang terdiri
atas Arithmatical Logical Unit (ALU), program counter, stack pointer, register-
register, sebuah rangkaian pewaktu dan rangkaian penyela. Sistem kerja dari
sebuah sistem mikroprosesor sekarang ini telah diaplikasikan dalam sebuah IC
(Integrated Circuit) yang dikenal dengan sebutan Mikrokontroler.
Sebuah mikrokontroler memiliki beberapa bagian CPU seperti ALU, progam
counter, stack pointer, register-register dan beberapa komponen yang bisa
20
ditambahkan pada CPU untuk membentuk sistem komputer seperti RAM, ROM,
paralel I/O, serial I/O, counter dan rangkaian detak (clock circuit).
Dari uraian diatas, maka dapat disimpulkan bahwa komponen-komponen
utama dari mikrokontroler terdiri atas :
1. CPU (Central Processing Unit)
Unit Pengolah Pusat (CPU) terdiri atas dua bagian yaitu Control Unit serta
Unit Aritmatika dan Logika (ALU).
Fungsi utama unit pengendali adalah mengambil, mengkode, dan
melaksanakan urutan instruksi sebuah program yang tersimpan dalam
memori. Unit pengendali mengatur urutan operasi sebuah sistem. Unit ini
juga mengendalikan dan mengatur sinyal pengendali yang diperlukan untuk
menyerempakkan operasi, juga aliran dan instruksi program.
Unit pengontrol mengendalikan aliran informasi pada bus data dan bus
alamat, dilanjutkan dengan menafsirkan dan mengatur sinyal yang terdapat
pada bus pengendali.
2. Memori
Suatu sistem mikrokontroler memerlukan memori untuk tempat menyimpan
program atau data. Pada mikrokontroler, tempat menyimpan program adalah
ROM/EPROM.
Ada beberapa tingkatan memori, diantaranya adalah register internal,
memori utama, dan memori massal (mass memory). Register internal adalah
memori di dalam ALU. Waktu akses register sangat cepat, umumnya kurang
dari 100 ns. Memori utama adalah memori suatu sistem. Ukurannya berkisar
21
antara 4 Kb sampai 64 Kb. Waktu akses memori eksternal lebih lambat
dibandingkan memori internal, yaitu antara 200 ns sampai 1000 ns. Memori
massal dipakai untuk penyimpan berkapasitas tinggi, biasanya berbentuk
disket, pita magnetik atau kaset.
3. Masukan/keluaran (I/O)
Sesuai dengan namanya, I/O dapat menerima data dari mikrokomputer atau
mikrokontroler dan dapat pula memberi data dari mikrokomputer atau
mikrokontroler.
Ada dua macam peralatan I/O yang dipakai, yaitu piranti untuk hubungan
serial (UART) dan piranti untuk hubungan paralel (PIO). Universal
Asynchronous Receiver Transmitter (UART) adalah peralatan serial
universal. UART merupakan pengirim-penerima tak serempak universal.
Kerja UART adalah mengubah masukan serial menjadi keluaran paralel dan
mengubah masukan paralel menjadi keluaran serial.
Paralel Input Output (PIO) merupakan perantara untuk hubungan data dalam
format paralel. PIO adalah alat yang dapat diprogram dan menyediakan
perantara masukan dan keluaran dasar data paralel 8-bit.
2.6.1 Keluarga MCS-51
Mikrokontroler AT89C51 adalah mikrokontroler 8-bit dari keluarga MCS-
51. Dua jenis mikrokontroler sebelum AT89C51 dari keluarga MCS-51
diantaranya tipe 8031 dan 8751. Mikrokontroler AT89C51 tidak lagi
menggunakan EPROM tapi sudah menggunakan disain PEROM (Programble and
22
Eraseble Read Only Memory). Pada PEROM program dapat diisi dan bila ada
kesalahan program maka dapat dihapus untuk kemudian diisi kembali, sehingga
lebih efisien karena tidak membutuhkan ROM eksternal. Pengisian dan
penghapusan PEROM dapat dilakukan dengan menggunakan alat yang bernama
EPROM Programmer
2.6.2 Arsitektur Mikrokontroler AT89C51
Mikrokontroler ini memiliki sejumlah keistimewaan :
1. CPU 8 bit dengan register-register A dan B.
2. 16-bit program counter (PC) dan data pointer (DPTR).
3. 8-bit pogram status word (PSW).
4. 8-bit stack pointer (SP).
5. EEPROM internal sebesar 4 Kbyte.
6. 128 byte RAM internal, terdiri atas :
a. 4 register bank, masing-masing terdiri atas 8 register.
b. 16 byte yang dapat dipetakan dalam bit level.
c. 80 byte general purpose data memori.
7. 32 pena in/out yang terbagi dalam 4 port 8-bit (P0..P3).
8. 2 buah timer/counter 16-bit (T0 dan T1).
9. Full Duplex serial data receiver/transmitter (SBUF).
10. Register-register kendali (TCON, TMOD, SCON, PCON, IP (Interrupt
Priority Register) dan IE (Interrupt Enable Register)).
11. 2 eksternal dan internal sumber interupsi.
23
12. Oscilator dan rangkaian detak.
Gambar 2.12 dibawah ini menunjukkan diagram blok Mikrokontroler
AT89C51.
Gambar 2.12. Diagram Blok Mikrokontroler AT89C51
24
9
18
19 29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
Dengan keistimewaan tersebut, maka pembuatan alat menggunakan
mikrokontroler AT89C51 menjadi lebih sederhana dan tidak memerlukan IC
pendukung yang banyak.
Kemudian gambar 2.13 memperlihatkan diagram pin Mikrokontroler
AT89C51.
Gambar 2.13. Diagram Pin AT89C51
Adapun penjelasan dari diagram pin tersebut adalah sebagai berikut :
1. Port 0 (pin 32-pin 39) merupakan port keluaran/masukan bertipe open drain
bidirectional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus
(sink) delapan masukan TTL (sekitar 3,8 mA). Pada saat 1 dituliskan ke kaki-
kaki Port 0 ini, maka kaki-kaki Port 0 dapat digunakan sebagai masukan-
masukan berimpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai bus
alamat/data bagian rendah (low byte) selama proses pengaksesan memori data
dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pullup
internal.
2. Port 1 (pin 1-pin 8) merupakan Port I/O dua arah yang dilengkapi dengan
pullup internal. Penyangga keluaran Port 1 mampu memberikan/menyerap
25
arus empat masukan TTL (sekitar 1,6 mA). Jika 1 dituliskan ke kaki-kaki Port
1, maka masing-masing kaki akan di pullup internal sehingga dapat digunakan
sebagai masukan. Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke
ground (di pulled low), maka masing-masing kaki akan memberikan arus
secara internal. Port 1 juga menerima alamat bagian rendah selama
pemrograman dan verifikasi flash.
3. Port 2 (pin 21-pin 28) merupakan Port I/O dua arah dengan dilengkapi pullup
internal. Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat
masukan TTL (sekitar 1,6 mA). Jika 1 dituliskan ke kaki-kaki Port 2, maka
masing-masing kaki akan dengan pullup internal sehingga dapat digunakan
sebagai masukan. Sebagai masukan, jika kaki-kaki Port 2 dihubungkan ke
ground, maka masing-masing kaki akan memberikan arus secara internal.
4. Port 3 (pin 10-pin 17) merupakan Port I/O dua arah dengan dilengkapi pullup
internal. Penyangga keluaran Port 3 mampu memberikan/menyerap arus
empat masukan TTL (sekitar 1,6 mA). Jika 1 dituliskan ke kaki-kaki Port 3,
maka masing-masing kaki akan di pullup internal sehingga dapat digunakan
sebagai masukan. Sebagai masukan, jika kaki-kaki Port 3 dihubungkan ke
ground, maka masing-masing kaki akan memberikan arus secara internal. Port
3 juga memiliki fungsi-fungsi alternatif, antara lain TxD (Transmite Data),
RxD (Receive Data), Int 0 (Interrupt 0), Int 1 (Interrupt 1), T0 (Timer 0), T1
(Timer 1), WR (Write), RD (Read).
26
5. Program Store Enable (PSEN) (pin 29), merupakan sinyal pengontrol yang
membolehkan program memori eksternal masuk ke dalam bus selama proses
pemberian/pengambilan instruksi.
6. Address Latch Enable (ALE) (pin 30). Keluaran ALE menghasilkan pulsa-
pulsa untuk mengancing byte rendah (low byte) alamat selama mengakses
memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program
selama pemrograman flash. Pada operasi normal, ALE akan berpulsa dengan
laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing)
atau pendetakan (clocking) rangkaian eksternal.
7. External Access Enable (EA) pin 31. EA harus selalu dihubungkan ke ground,
jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi
0000h hingga FFFFh. Selain dari itu, EA harus dihubungkan ke Vcc agar
mikrokontroler mengakses program secara internal.
8. Reset (RST) (pin 9) adalah masukan reset (aktif tinggi). Pulsa transisi dari
rendah ke tinggi akan mereset Mikrokontroler 89C51. Pin ini dihubungkan
dengan rangkaian Power On Reset bila diperlukan.
9. XTAL 1 (pin 19) adalah pin masukan ke rangkaian osilator internal. Sebuah
osilator kristal atau sumber osilator eksternal dapat digunakan.
10. XTAL 2 (pin 18) adalah pin keluaran ke rangkaian osilator internal. Pin ini
dipakai bila menggunakan osilator kristal.
11. Vcc (pin 40) digunakan untuk mensuplai tegangan.
12. Ground (GND) (pin 20) berfungsi sebagai ground atau pentanahan.
27
2.6.3. Organisasi Memori
Semua produk mikrokontroler Flash AT89C51/52 dari Atmel memiliki ruang
alamat memori data dan program yang terpisah. Pemisahan memori program dan
data tersebut membolehkan memori data diakses dengan alamat 8- bit, sehingga
dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8-bit. Namun
demikian, alamat memori data 16 bit bisa juga dihasilkan melalui register DPTR.
2.6.4. Memori Program
Memori program hanya bisa dibaca saja. Terdapat memori program yang
bisa diakses langsung hingga 64 Kbyte. Sedangkan strobe (tanda) untuk akses
progam memori eksternal melalui sinyal PSEN.
Pada gambar 2.14 ditunjukkan pemetaan bagian bawah dari memori
program. Setelah reset, CPU segera mengerjakan program mulai dari lokasi
0000h.
Gambar 2.14. Pemetaan bagian bawah dari Memori Program
28
2.6.5. Memori Data
Memori eksternal dapat diakses secara langsung hingga 64 Kbyte dalam
ruang memori data eksternal. CPU akan memberikan sinyal baca dan tulis (RD
dan WR), selama pengaksesan memori data eksternal.
Memori data eksternal dan memori program eksternal dapat dikombinasikan
dengan cara menggabungkan sinyal RD dan PSEN melalui gerbang AND dan
keluarannya sebagai tanda baca ke memori data/program eksternal.
Memori data internal ditunjukkan pada gambar 2.15. Ruang memori dibagi
menjadi 3 blok, yang dikenal sebagai 128 bawah (lower 128), 128 atas (upper 128)
dan SFR (Special Function Register).
Gambar 2.15. Memori Data Internal
Alamat memori data internal selalu 8 byte atau 1 byte, yang konsekuensinya
hanya mampu mengalamati hingga 256 byte saja. Namun demikian, mode-mode
pengalamatan RAM internal bisa mengakomodasi hingga 384 byte. Pengaksesan
langsung (direct addressing) dengan alamat di atas 7Fh mengakses suatu memori,
sedangkan pengaksesan tak langsung (indirect addressing) dengan alamat di atas
7Fh mengakses ruang memori lain yang berbeda. Sehingga 128 atas dan SFR
menempati blok yang sama, 80h hingga FFh, walaupun secara fisik terpisah.
29
Pada gambar 2.16 ditunjukkan bagaimana bagian RAM 128 byte bawah
dipetakan 32 byte bawah dikelompokkan menjadi 4 bank dan 8 register (R0 hingga
R7). Dua bit pada PSW (Program Status Word) digunakan untuk memilih
kelompok register mana yang digunakan.
Gambar 2.16. 128 byte rendah dari RAM Internal
16 byte yang berikutnya, di atas bank-bank register (gambar 3.5),
membentuk suatu blok ruang memori yang bisa teralamat per-bit (bit addressable).
Kumpulan instruksi mikrokontroler ini mampu secara langsung mengalamati 128
bit dalam area ini. Alamat-alamat bit ini adalah 00h hingga 7Fh.
2.6.6. Fasilitas AT89C51
Mikrokontroler AT89C51 memiliki fasilitas-fasilitas yang dapat memberikan
kemudahan didalam perancangan dengan interface lainnya. Dengan fasilitas-
fasilitas tersebut, mikrokontroler AT89C51 dapat dihubungkan dengan perangkat
lain sehingga mampu bekerja sesuai dengan keperluan yang diinginkan.
30
2.6.7. Pewaktu CPU
Mikrokontroler AT89C51 memiliki Osilator Internal (On Chip Osilator)
yang dapat digunakan sebagai sumber clock bagi CPU. Untuk menggunakan
osilator internal diperlukan kristal atau kapasitor keramik pada pena XTAL1 dan
pena XTAL2 dan sebuah kapasitor ke ground.
Kristal yang digunakan dapat mempunyai frekuensi 1,2 MHz sampai 12 MHz.
Sedangkan kapasitor dapat bernilai antara 27 pF sampai 33 pF. Kaki XTAL1
merupakan keluaran suatu penguat gain besar, sedangkan kaki XTAL2 adalah
masukan sebuah kristal yang dihubungkan pada kaki XTAL1 dan XTAL2
memberikan umpan balik dan pergeseran fase yang diperlukan untuk osilasi. Jika
kaki XTAL1 digunakan oleh sumber frekuensi luar maka kaki XTAL2 tidak
dihubungkan.
2.6.8. Port Serial
Port serial pada AT89C51/52 bersifat full-duplex, artinya port serial bisa
menerima dan mengirim secara bersamaan. Penerimaan dan pengiriman data port
serial melalui register SBUF (Serial Buffer).
Port serial pada AT89C51/52 bisa digunakan dalam 4 mode kerja yang
berbeda. Dari 4 mode tersebut, 1 mode diantaranya bekerja secara sinkron dan 3
lainnya bekerja secara asinkron. Keempat mode kerja tersebut adalah Mode 0,
Mode 1, Mode 2 dan Mode 3. Pada mode asinkron (Mode 1, Mode 2 dan Mode 3),
port serial AT89C51 bekerja secara full-duplex.
31
2.6.9. Timer/Counter
Keluarga Mikrokontroler AT89C51, misalnya AT89C51 dilengkapi dengan
dua perangkat Timer/Counter, masing-masing dinamakan sebagai Timer 0 dan
Timer 1. Sedangkan untuk jenis lainnya, yaitu AT89C52/55, mempunyai
tambahan satu perangkat Timer/Counter lagi yang dinamakan sebagai Timer 2.
Perangkat Timer/Counter tersebut merupakan perangkat keras yang terpadu
dalam mikrokontroler AT89C51. Untuk mengaksesnya digunakan register khusus
yang tersimpan dalam SFR (Special Function Register). Pencacah biner Timer 0
diakses melalui register TL0 (Timer 0 Low Byte) dan register TH0 (Timer 0 High
Byte). Pencacah biner Timer 1 diakses melalui register TL1 (Timer 1 Low Byte)
dan register TH1 (Timer 1 High Byte).
Untuk mengatur kerja Timer/Counter tersebut digunakan dua register
tambahan yang dipakai bersama oleh Timer 0 dan Timer 1. Register tambahan
tersebut adalah register TCON (Timer Control Register) dan register TMOD
(Timer Mode Register).
2.6.10. Sistem Interupsi
AT89C51 menyediakan 5 sumber interupsi : dua interupsi eksternal, dua
interupsi Timer dan sebuah interupsi Port serial. Sedangkan pada AT89C52
menyediakan 6 sumber interupsi : 5 sumber interupsi sama dengan AT89C51
ditambah sebuah interupsi Timer lagi.
Interupsi eksternal INT0 dan INT1 dapat dipilih dengan dua macam pilihan :
aktivasi tingkat (level activated) atau aktivasi transisi (transition activated)
32
tergantung pada bit IT0 dan IT1 dalam register TCON. Tanda atau flag yang
sesungguhnya menghasilkan interupsi ini adalah bit-bit IE0 (TCON.1) dan IE1
(TCON.3) dalam register TCON.
Interupsi Timer 0 dan Timer 1 dihasilkan oleh TF0 dan TF1, terjadi pada saat
muncul limpahan pada masing-masing Timer (kecuali Timer 0 pada Mode 3). Saat
terjadi interupsi Timer, mikrokontroler akan menolkan tanda-tanda tersebut.
Semua bit yang menyebabkan terjadinya interupsi bisa diset atau dinolkan
melalui perangkat lunak dan hasilnya sama jika dilakukan melalui perangkat keras.
Dengan demikian interupsi bisa dihasilkan maupun dibatalkan melalui program.
2.7. Komunikasi Data Serial
Port serial mikrokontroler AT89C51 mempunyai On Chip Serial Port yang
dapat digunakan untuk komunikasi data serial secara Full Duplex sehingga Port
Serial ini masih dapat menerima data pada saat proses pengiriman data terjadi.
Untuk menampung data yang diterima atau data yang dikrimkan. AT89C51
mempunyai sebuah register, yaitu SBUF yang terletak pada alamat 99H. Register
ini berfungsi sebagai buffer sehingga pada saat mikrokontroler ini membaca data
yang pertama dan data kedua belum diterima secara penuh, data ini tidak akan
hilang.
Pada kenyataannya, register SBUF terdiri atas dua buah register yang
memang menempati alamat yang sama, yaitu 99H. Register tersebut adalah
Transmit Register yang bersifat write only (hanya dapat ditulis) dan Receive
Register yang bersifat read only (hanya dapat dibaca). Pada proses penerimaan
33
data dari Port Serial, data yang masuk ke dalam Port Serial akan ditampung pada
Receive register terlebih dahulu dan diteruskan kejalur bus internal pada saat
pembacaan register SBUF sedangkan pada proses pengiriman data ke Port Serial,
data yang dituliskan dari bus internal akan ditampung pada Transmit Register
terlebih dahulu sebelum dikirm ke Port Serial.
SBUF
Trasnsmit Buffer Register
(Read only)
SBUF
Trasnsmit Buffer Register
(Wtite Only)
SHIFT REGISTER
Bus Internal AT89C51
Baud Rate Clock
(receive)
RXD
(P3.0)
RXD
(P3.1)
Baud Rate Clock
(transmit)
D
Clk
Gambar 2.17 Blok Diagram Port Serial
Port Serial mikrokontroler AT89C51 dapat digunakan untuk komunikasi data
secara sinkron maupun asinkron. Komunikasi data serial secara sinkron
merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk
sinkronisasi. Pengiriman data pada komunikasi serial AT89C51 dilakukan mulai
dari bit yang paling rendah (LSB) hingga ke yang paling tinggi (MSB).
Komunikasi Asinkron
Komunikasi sinkron
1 0 0
1
1
1
0 0
0
0
0
Start Bit Stop Bit
Data
Clock
0
0
0
1
1
Data
Gambar 2.18 Komunikasi Sinkron dan Komunikasi Asinkron

More Related Content

PPT
Transmisi Data.ppt
PPTX
ASYNCHRONOUS_DAN_SYNCHRONOUS.pptx
PPT
405496728-Bab-4-Teknik-Komunikasi-Data-Digital.ppt
PPT
Tri Wahyuni - Pengantar Komunikasi Data dan Jaringan Komputer
PPT
BAB 4 - TEKNIK KOMUNIKASI DATA DIGITAL.ppt
PPTX
Data link laye rx
PPTX
Muhardi Aziz - Pengantar Komunikasi Data dan Jaringan Komputer
PPT
Metode transmisi 5
Transmisi Data.ppt
ASYNCHRONOUS_DAN_SYNCHRONOUS.pptx
405496728-Bab-4-Teknik-Komunikasi-Data-Digital.ppt
Tri Wahyuni - Pengantar Komunikasi Data dan Jaringan Komputer
BAB 4 - TEKNIK KOMUNIKASI DATA DIGITAL.ppt
Data link laye rx
Muhardi Aziz - Pengantar Komunikasi Data dan Jaringan Komputer
Metode transmisi 5

Similar to BAB II.doc (20)

PPTX
Pertemuan 15. port serial
PDF
Teknik Komunikasi Data Digital
PPT
20110620 komdat jaringan
PPT
PPTX
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
PPTX
Konsep dasar komunikasi data
PPTX
Interface Komunikasi Data Jenis Interface Komunikasi: Interface Fisik (Physic...
PPTX
Transmisi asynchronous dan synchronous
PPT
Bab 2 Pengantar Komunikasi Data
PPTX
Interface-Komunikasi-Data Interface-Komunikasi-Data .pptx
DOC
PPT
Pertemuan 5
PDF
Pertemuan 3 aspek aspek teknologi komunikasi data dan suara
PPT
Pengantar Komunikasi Data
PPT
3627675.ppt
DOCX
Makalah protokol komputer terapan jaringan
PPTX
Sistem komunikasi data
PDF
komunikasidata-140402053411-phpapp02 (1).pdf
PPTX
Komunikasi data
PDF
Pertemuan 15. port serial
Teknik Komunikasi Data Digital
20110620 komdat jaringan
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Konsep dasar komunikasi data
Interface Komunikasi Data Jenis Interface Komunikasi: Interface Fisik (Physic...
Transmisi asynchronous dan synchronous
Bab 2 Pengantar Komunikasi Data
Interface-Komunikasi-Data Interface-Komunikasi-Data .pptx
Pertemuan 5
Pertemuan 3 aspek aspek teknologi komunikasi data dan suara
Pengantar Komunikasi Data
3627675.ppt
Makalah protokol komputer terapan jaringan
Sistem komunikasi data
komunikasidata-140402053411-phpapp02 (1).pdf
Komunikasi data
Ad

Recently uploaded (20)

PPTX
Model Lintas minat dan pendalaman materi
PDF
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
PPTX
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PDF
Tren dan Isu Kebutuhan Soft Skill dan Hard Skill Tenaga Kesehatan di RS - dr....
PPTX
Materi Besaran, Satuan, Pengukuran.pptx
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PDF
System Requirement Enterprise Resource Planning Peternakan Ayam dan Daftar Ju...
PPT
Kamera foto dan editing foto pengenalan fotografi
PPTX
BAB 1 Rangkuman Materi Informatika Kelas 7.pptx
PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PPTX
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
PPTX
Patuh_Terhadap_Norma_PPKn_Kelas_7 oke.pptx
PDF
PPT Yudisium Ceremony Agusus 2025 - new. pdf
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
PDF
ANALISIS SOALAN BAHASA MELAYU SPM 2021-2024 (1).pdf
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PPTX
materi presentasi sustainable development
Model Lintas minat dan pendalaman materi
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Tren dan Isu Kebutuhan Soft Skill dan Hard Skill Tenaga Kesehatan di RS - dr....
Materi Besaran, Satuan, Pengukuran.pptx
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
System Requirement Enterprise Resource Planning Peternakan Ayam dan Daftar Ju...
Kamera foto dan editing foto pengenalan fotografi
BAB 1 Rangkuman Materi Informatika Kelas 7.pptx
Presentasi Al-Quran Hadits Kelompok XI.1
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
Patuh_Terhadap_Norma_PPKn_Kelas_7 oke.pptx
PPT Yudisium Ceremony Agusus 2025 - new. pdf
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
ANALISIS SOALAN BAHASA MELAYU SPM 2021-2024 (1).pdf
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
materi presentasi sustainable development
Ad

BAB II.doc

  • 1. 7 BAB II DASAR TEORI 2.1 Penjelasan secara umum Komunikasi data didefinisikan sebagai komunikasi antara suatu piranti dengan piranti yang lain seperti terminal ke komputer atau komputer ke komputer (Bartee, 1985). Tujuan dari komunikasi adalah pengiriman pesan dari suatu tempat ke tempat yang lain dan untuk mamastikan bahwa pesan dapat diterima dengan baik serta dimengerti (Schweber, 1988). 2.2 Macam Hubungan dalam Sistem Komunikasi Ada tiga macam metode hubungan dalam sistem komunikasi, yaitu : simplex, half duplex dan full duplex (Halsall, 1992). Hubungan simplex hanya memungkinkan komunikasi satu arah. Satu terminal sebagai pemancar saja dan terminal yang lain sebagai penerima. Pada half-duplex, komunikasi dapat terjadi dalam dua arah tetapi setiap saat hanya ada satu terminal yang mentransmisikan data. Sedang pada full duplex, pertukaran data dapat terjadi pada kedua arah secara bersamaan. Gambar 2.1 menunjukkan macam hubungan dalam sistem komunikasi. Data yang dikirimkan oleh suatu terminal adalah informasi yang telah dikodekan dalam bentuk tertentu. Informasi ini terbentuk dari simbol-simbol yang disebut karakter. Agar dapat ditransmisikan, karakter harus dikodekan dalam sekelompok bit. Pengkodean ini sesuai dengan pengkodean yang dilakukan oleh
  • 2. 8 komputer. Pengkodean yang digunakan oleh komputer adalah menggunakan kode ASCII (American Standard Code for Information Interchange). pengirim pengirim penerima pengirim penerima penerima pengirim pengirim penerima penerima b c a Gambar 2.1 Hubungan (a) Simplex (b) Half Duplex (c) Full Duplex 2.3 Metode Pentransmisian Data 2.3.1 Komunikasi Data Serial dan Paralel Dalam pentransmisian data, bit-bit yang membentuk karakter ditransmisikan secara paralel atau serial (Schweber, 1988). Pada sistem serial, dibutuhkan hanya satu kanal saluran transmisi. Setiap bit data dikirim berurutan satu demi satu. Sedang dalam sistem paralel, dibutuhkan jumlah kanal sama banyaknya dengan jumlah bit pembentuk karakter. Jadi untuk pengkodean ASCII yang mengkodekan delapan bit setiap karakter, dibutuhkan 8 kanal. Gambar 2.2 menunjukkan mode transmisi data serial dan paralel.
  • 3. 9 s u b u n i t s u m b e r s u b u n i t t u j u a n sub unit sumber sub unit tujuan 1 0 1 00 1 1 Sinyal Referensi Sinyal Referensi 0 1 2 3 4 n-1 0 1 2 3 4 n-1 (a) (b) Gambar 2.2 Mode Transmisi : (a) Serial (b) Paralel 2.3.2 Komunikasi Data Sinkron dan Asinkron Cara untuk mentransmisikan data ada dua macam yaitu sinkron dan asinkron (Schweber, 1988). Dalam modus sinkron karakter yang ditransmisikan tergabung dalam satu blok. Blok data ini diapit karakter kontrol yang menunjukkan awal dan akhir dari data yang dikirim. Karakter kontrol ini berupa karakter khusus berdasarkan protokol yang digunakan. Pada modus ini tidak ada penambahan bit start/stop ke karakter. Gambar 2.3-b menunjukkan diagram transmisi sinkron. Untuk mengontrol jalannya transmisi sinkron rangkaian pengontrol yang digunakan adalah USRT (Universal Synchronous Receiver Transmitter). Fungsi USRT adalah untuk sinkronisasi clock DPLL (Digital Phase Lock-Loop, lup pengunci fasa digital) bit kecepatan rendah, sinkronisasi karakter, pembangkit
  • 4. 10 karakter idle (tak terpakai) sinkron serta pembangkit dan pengecek paritas tiap karakter (Halsall,1992). Skema USRT ditunjukkan dalam Gambar 2.4. karakter 8-bit Frame yang ditransmisikan start bit Stop bit Sync Star of Frame Isi frame End of Frame Sync (a) (b) Gambar 2.3 Transmisi : (a) Asinkron (b) Sinkron 2.4 Antarmuka RS-232C Antarmuka RS-232C adalah sebuah standar antarmuka untuk menghubungkan peralatan terminal data (Data Terminal Equipment, DTE) dengan peralatan komunikasi data (Data Communication Equipment, DCE) agar memungkinkan beberapa industri penghasil peralatan yang berbeda dapat menggunakan fasilitas pengiriman data yang tersedia. Contoh penggunaannya antara lain untuk menghubungkan peralatan seperti penampil, printer dan sebagainya dengan komputer.
  • 5. 11 RS-232C adalah suatu standar antarmuka yang dipublikasikan oleh EIA (Elecronics Industries Association). Jarak terjauh yang diijinkan antara DTE dan DCE sesuai standar RS-232C adalah 15 meter dan kecepatan pengiriman data kurang dari 9600 bps (Halsall, 1994). Dalam Gambar 2.4 ditunjukkan penempatan standar antarmuka antara dua peralatan terminal data. Calling DTE Modem Modem Called DTE RS-232C Saluran Transmisi RS-232C Gambar 2.4 Sistem Komunikasi RS-232C Hal yang perlu diketahui dalam standar antarmuka RS-232C antara lain : tegangan standar bagi data biner, sinyal yang digunakan serta cara interkoneksi antar RS-232C. 2.4.1 Tegangan RS-232C Untuk menampilkan data biner dibutuhkan dua besaran tegangan. Biner 1 atau disebut mark dinyatakan dengan tegangan antara -3V sampai dengan -25V, sedang biner 0 atau disebut space dinyatakan dengan tegangan antara +3V sampai +25V. tegangan antara -3V sampai dengan +3V adalah tegangan invalid. 2.4.2 Sinyal-sinyal RS-232C Standar antarmuka RS-232C mendefinisikan sinyal-sinyal yang dipakai, baik untuk mentransmisikan menerima data maupun untuk proses jabat-tangan
  • 6. 12 (handshaking). Dalam Gambar 2.5 diberikan sinyal kontrol yang digunakan RS- 232C. 1SHIELD GROUND RI DTR TxClk RxClk TxClk CD SIG DSR CTS RTS RxD TxD SHG RING INDICATOR (RI) DATA TERMINAL READY (DTR) TRANSMIT DATA TIMING (SUMBER DTE) TRANSMIT DATA TIMING (SUMBER DTE) RECEIVE DATA TIMING CARRIER DETECT (CD) SIGNAL GROUND (SIG) DATA SET READY (DSR) CLEAR TO SEND (CTS) REQUEST TO SENT (RTS) RECEIVE DATA (RxD) TRANSMIT DATA (TxD) Konektor 25 DTE (Terminal/Komputer) Nomor Pin DCE (Modem) 2 3 4 5 6 7 8 17 15 16 20 22 Gambar 2.5 sinyal control yang digunakan oleh RS-232C Dengan menetapkan sinyal seperti dalam Gambar 2.5 maka terminal dan komputer mengirim dan menerima data dalam jalur yang sama jika modem menyediakan fungsi sama untuk kedua peralatan. 2.4.3 Interkoneksi RS-232C Agar komputer dapat berkomunikasi antara satu dengan yang lain, ada tiga hal yang harus diperhatikan dalam standar antarmuka RS-232C, yaitu : konfigurasi bit dan baud, konektor dan susunan pin serta proses jabat-tangan (Hall, 1986).
  • 7. 13 Konfigurasi bit meliputi bit setiap karakter, jumlah stop bit dan bit paritas. Baud (bit per detik) adalah satuan kecepatan pentansmisian data. Bit paritas adalah bit yang berfungsi sebagai pendeteksi kesalahan. Kedua komputer yang akan berkomunikasi data harus mempunyai konfigurasi bit dan kecepatan pentransmisian data yang sama. 2.5 Metode Deteksi Kesalahan Terdapat tiga metode deteksi kesalahan yang paling luas penggunaannya, yaitu : parity check (cek paritas), block sum check dan cyclic redundancy check (Halsall, 1992). 2.5.1 Cek Paritas Metode ini banyak digunakan untuk mendeteksi kesalahan bit pada transmisi asinkron dan transmisi sinkron yang berorientasi karakter. Pada metode ini, pengirim menambahkan satu bit yaitu bit paritas untuk tiap karakter. Bit paritas inilah yang akan diperiksa oleh penerima untuk mengetahui apakah karakter yang dikirim itu benar atau salah. Kekurangan dari metode paritas ini adalah hanya dapat melacak kesalahan 1 bit. Apabila ada dua bit yang terganggu, metode ini tidak dapat melacak kesalahan kerena bit paritasnya akan benar. Contoh : 1001001 1 (Paritas genap) 1001001 0 (Paritas ganjil)
  • 8. 14 2.5.2 Block Sum Check Untuk memperbaiki kemampuan penggunaan paritas maka data yang dikirim, dikirimkan secara blok. Dengan metode ini tiap karakter diperiksa paritasnya (paritas baris) dan tiap blok juga diperiksa paritasnya (paritas kolom). Dalam Gambar 2.6 ditunjukkan contoh metode deteksi kesalahan block sum check. Pr B6 B5 B4 B3 B2 B1 B0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 Arah transmisi Bit paritas kolom (genap) Bit paritas Baris = Contoh kombinasi kesalahan yang tidak terdeteksi Gambar 2.6 Contoh Block Check Sum 2.5.3 Cyclic Redundancy Check (CRC) Metode deteksi kesalahan CRC adalah suatu metode deteksi kesalahan bit yang bekerjanya berdasarkan atas kode polinomial dengan perhitungan menggunakan rumus matematika khusus. Dalam metode ini satu blok informasi dilihat sebagai bit yang ditransmisikan. Bit yang akan disalurkan dimasukkan terlebih dahulu ke dalam register geser siklis yang disebut generator CRC. Operasi matematika dikerjakan pada deretan bit tersebut. Operasi CRC ini didasarkan pada pembagian deret bit dengan sebuah polinomial. Hasil bagi pembagian
  • 9. 15 diabaikan. Sisa disalurkan sebagai Block Check Sequence (BCS). BCS adalah akhir dari deretan bit isi register geser. Gambar 2.7 menunjukkan diagram blok metode deteksi kesalahan CRC. Skema pembangkitan CRC ditunjukkan dalam Gambar 2.8. Sedangkan skema pengecekan CRC ditunjukkan dalam Gambar 2.9. RANGKAIAN CRC LINK BUFFER RANGKAIAN CRC BUFFER PENERIMA DATA CRC CRC Checksum BIT-BIT DATA LINK CRC Checkbits Dibandingkan CRC Checkbits DATA DATA Gambar 2.7 Diagram Block Metode Deteksi Kesalahan Cyclic Redundancy Check (CRC) Dalam Gambar 2.7 diatas checksum pada pengirim dihitung dengan CRC Checksum. Selanjutnya dikirimkan menuju penerima bersama bit-bit data. Kemudian penerima menghitung kembali checksum lalu membandingkannya dengan nilai yang diterima. Teori matematika dari kode polinomial menggunakan modulo dua aritmatika yang digunakan untuk metode ini adalah sebagai berikut : (Halsall, 1992). M (x) x2n G (x) = Q(x) + R (x) G (x) M (x) x2n + R (x) G (x) = Q(x) , modulo-2 aritmatika (2-1) (2-2) (2-1) M (x) x2n + R (x) G (x) = Q(x) , modulo-2 aritmatika (2-2) , modulo-2 aritmatika (2-2)
  • 10. 16 Dengan n = Pangkat tertinggi dari polynomial (1,2,3…..) M(x) = Pesan yang dikirim (sejumlah k-bit) G(x) = Pembagi/Generator (n+1 bit) Q(x) = Hasil bagi R(x) = Sisa (n bit) TxC AND lsb msb XOR AND AND AND XOR X0 X1 X2 X3 TxD Byte Paralel yang diload oleh perangkat kontrol (x N) Transmit S-R FCS S-R Sinyal Kontrol Umpan Balik TxC Gambar 2.8 Skema pembangkitan Cyclic Redundancy Check (CRC) Generation Pada modulo-2 penambahan pada dirinya sendiri akan sama dengan nol atau dapat dikatakan sisa sama dengan nol. Untuk menjelaskan hal ini, frame yang lengkap terdiri dari M ditambah dengan nol yang jumlahnya sama dengan jumlah digit dari Frame Check Sequence (FCS) yang dihasilkan (hal ini sama dengan mengalikan data dengan 2n dimana n adalah jumlah digit FCS) dibagi modulo 2 oleh G. Operasi pembagian sama dengan bentuk operasi exclusive OR per bit dalam frame yang diproses. Sisa R ditransmisikan di akhir kata. Hal yang sama dilakukan penerima, bit stream yang mengandung digit FCS dibagi lagi oleh polinomial yang sama (M x
  • 11. 17 2n x R)/G. jika sisanya nol maka tidak terjadi kesalahan bit dan jika sisa tidak sama dengan nol maka data yang diterima mengalami kesalahan. lsb msb XOR X0 X1 X2 X3 Pembacaan Paralel (x N) XOR FCS S-R Receive S-R RxC RxD Gambar 2.9 Skema Pengecekan Cyclic Redundancy Check (CRC) Sebagai contoh, sebuah data 8 bit seri, 11100110 ditransmisikan melalui sebuah data link menggunakan CRC untuk deteksi kesalahan. Polinomial yang digunakan adalah 11001. contoh ini akan diilustrasikan melalui proses menghasilkan FCS dan proses pengecekan FCS. Hasil FCS untuk data 11100110 ditunjukan dalam Gambar 2.10. Langkah awal dari proses pendeteksi kesalahan menambah nol sejumlah 4 bit di akhir data. Dari proses menghasilkan FCS dalam Gambar 2.10 diperoleh sisa 0110 sehingga frame yang ditransmisikan adalah 111001100110. Selanjutnya proses pengecekan FCS dalam Gambar 2.11 adalah dengan cara membagi frame yang ditransmisikan dengan polinomial pembagi yang digunakan.
  • 12. 18 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1  1 1 0 0 1 0 0 1 0 1 1  0 0 0 0 0 0 1 0 1 1 1  1 1 0 0 1 1 1 1 0 0  1 1 0 0 1 0 0 1 0 1 0  0 0 0 0 0 0 1 0 1 0 0  1 1 0 0 1 0 1 1 0 1 0  1 1 0 0 1 0 0 0 1 1 0  0 0 0 0 0 0 1 1 0 Sisa Gambar 2.10 Proses Pembangkitan Generator Cyclic Redundancy Check (CRC) Dalam contoh tersebut diperoleh bahwa sisa pembagian sama dengan nol. Ini berarti bahwa tidak terdapat kesalahan selama berlangsungnya pentransmisian bit-bit data. Apabila perhitungan dalam Gambar 2.11 diperoleh sisa pembagian tidak sama dengan nol, maka telah terjadi kesalahan bit selama berlangsungnya penerimaan data.
  • 13. 19 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0      1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0 Sisa = 0 Tidak terjadi kesalahan Gambar 2.11 Proses Pengecekan Cyclic Redundancy Check (CRC) 2.6 Mikrokontroler AT89C51 Mikroprosesor adalah sebuah Central Processing Unit (CPU) yang terdiri atas Arithmatical Logical Unit (ALU), program counter, stack pointer, register- register, sebuah rangkaian pewaktu dan rangkaian penyela. Sistem kerja dari sebuah sistem mikroprosesor sekarang ini telah diaplikasikan dalam sebuah IC (Integrated Circuit) yang dikenal dengan sebutan Mikrokontroler. Sebuah mikrokontroler memiliki beberapa bagian CPU seperti ALU, progam counter, stack pointer, register-register dan beberapa komponen yang bisa
  • 14. 20 ditambahkan pada CPU untuk membentuk sistem komputer seperti RAM, ROM, paralel I/O, serial I/O, counter dan rangkaian detak (clock circuit). Dari uraian diatas, maka dapat disimpulkan bahwa komponen-komponen utama dari mikrokontroler terdiri atas : 1. CPU (Central Processing Unit) Unit Pengolah Pusat (CPU) terdiri atas dua bagian yaitu Control Unit serta Unit Aritmatika dan Logika (ALU). Fungsi utama unit pengendali adalah mengambil, mengkode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali mengatur urutan operasi sebuah sistem. Unit ini juga mengendalikan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi, juga aliran dan instruksi program. Unit pengontrol mengendalikan aliran informasi pada bus data dan bus alamat, dilanjutkan dengan menafsirkan dan mengatur sinyal yang terdapat pada bus pengendali. 2. Memori Suatu sistem mikrokontroler memerlukan memori untuk tempat menyimpan program atau data. Pada mikrokontroler, tempat menyimpan program adalah ROM/EPROM. Ada beberapa tingkatan memori, diantaranya adalah register internal, memori utama, dan memori massal (mass memory). Register internal adalah memori di dalam ALU. Waktu akses register sangat cepat, umumnya kurang dari 100 ns. Memori utama adalah memori suatu sistem. Ukurannya berkisar
  • 15. 21 antara 4 Kb sampai 64 Kb. Waktu akses memori eksternal lebih lambat dibandingkan memori internal, yaitu antara 200 ns sampai 1000 ns. Memori massal dipakai untuk penyimpan berkapasitas tinggi, biasanya berbentuk disket, pita magnetik atau kaset. 3. Masukan/keluaran (I/O) Sesuai dengan namanya, I/O dapat menerima data dari mikrokomputer atau mikrokontroler dan dapat pula memberi data dari mikrokomputer atau mikrokontroler. Ada dua macam peralatan I/O yang dipakai, yaitu piranti untuk hubungan serial (UART) dan piranti untuk hubungan paralel (PIO). Universal Asynchronous Receiver Transmitter (UART) adalah peralatan serial universal. UART merupakan pengirim-penerima tak serempak universal. Kerja UART adalah mengubah masukan serial menjadi keluaran paralel dan mengubah masukan paralel menjadi keluaran serial. Paralel Input Output (PIO) merupakan perantara untuk hubungan data dalam format paralel. PIO adalah alat yang dapat diprogram dan menyediakan perantara masukan dan keluaran dasar data paralel 8-bit. 2.6.1 Keluarga MCS-51 Mikrokontroler AT89C51 adalah mikrokontroler 8-bit dari keluarga MCS- 51. Dua jenis mikrokontroler sebelum AT89C51 dari keluarga MCS-51 diantaranya tipe 8031 dan 8751. Mikrokontroler AT89C51 tidak lagi menggunakan EPROM tapi sudah menggunakan disain PEROM (Programble and
  • 16. 22 Eraseble Read Only Memory). Pada PEROM program dapat diisi dan bila ada kesalahan program maka dapat dihapus untuk kemudian diisi kembali, sehingga lebih efisien karena tidak membutuhkan ROM eksternal. Pengisian dan penghapusan PEROM dapat dilakukan dengan menggunakan alat yang bernama EPROM Programmer 2.6.2 Arsitektur Mikrokontroler AT89C51 Mikrokontroler ini memiliki sejumlah keistimewaan : 1. CPU 8 bit dengan register-register A dan B. 2. 16-bit program counter (PC) dan data pointer (DPTR). 3. 8-bit pogram status word (PSW). 4. 8-bit stack pointer (SP). 5. EEPROM internal sebesar 4 Kbyte. 6. 128 byte RAM internal, terdiri atas : a. 4 register bank, masing-masing terdiri atas 8 register. b. 16 byte yang dapat dipetakan dalam bit level. c. 80 byte general purpose data memori. 7. 32 pena in/out yang terbagi dalam 4 port 8-bit (P0..P3). 8. 2 buah timer/counter 16-bit (T0 dan T1). 9. Full Duplex serial data receiver/transmitter (SBUF). 10. Register-register kendali (TCON, TMOD, SCON, PCON, IP (Interrupt Priority Register) dan IE (Interrupt Enable Register)). 11. 2 eksternal dan internal sumber interupsi.
  • 17. 23 12. Oscilator dan rangkaian detak. Gambar 2.12 dibawah ini menunjukkan diagram blok Mikrokontroler AT89C51. Gambar 2.12. Diagram Blok Mikrokontroler AT89C51
  • 18. 24 9 18 19 29 30 31 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 PSEN ALE/PROG EA/VPP P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 Dengan keistimewaan tersebut, maka pembuatan alat menggunakan mikrokontroler AT89C51 menjadi lebih sederhana dan tidak memerlukan IC pendukung yang banyak. Kemudian gambar 2.13 memperlihatkan diagram pin Mikrokontroler AT89C51. Gambar 2.13. Diagram Pin AT89C51 Adapun penjelasan dari diagram pin tersebut adalah sebagai berikut : 1. Port 0 (pin 32-pin 39) merupakan port keluaran/masukan bertipe open drain bidirectional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink) delapan masukan TTL (sekitar 3,8 mA). Pada saat 1 dituliskan ke kaki- kaki Port 0 ini, maka kaki-kaki Port 0 dapat digunakan sebagai masukan- masukan berimpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pullup internal. 2. Port 1 (pin 1-pin 8) merupakan Port I/O dua arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 1 mampu memberikan/menyerap
  • 19. 25 arus empat masukan TTL (sekitar 1,6 mA). Jika 1 dituliskan ke kaki-kaki Port 1, maka masing-masing kaki akan di pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke ground (di pulled low), maka masing-masing kaki akan memberikan arus secara internal. Port 1 juga menerima alamat bagian rendah selama pemrograman dan verifikasi flash. 3. Port 2 (pin 21-pin 28) merupakan Port I/O dua arah dengan dilengkapi pullup internal. Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika 1 dituliskan ke kaki-kaki Port 2, maka masing-masing kaki akan dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 2 dihubungkan ke ground, maka masing-masing kaki akan memberikan arus secara internal. 4. Port 3 (pin 10-pin 17) merupakan Port I/O dua arah dengan dilengkapi pullup internal. Penyangga keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika 1 dituliskan ke kaki-kaki Port 3, maka masing-masing kaki akan di pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 3 dihubungkan ke ground, maka masing-masing kaki akan memberikan arus secara internal. Port 3 juga memiliki fungsi-fungsi alternatif, antara lain TxD (Transmite Data), RxD (Receive Data), Int 0 (Interrupt 0), Int 1 (Interrupt 1), T0 (Timer 0), T1 (Timer 1), WR (Write), RD (Read).
  • 20. 26 5. Program Store Enable (PSEN) (pin 29), merupakan sinyal pengontrol yang membolehkan program memori eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi. 6. Address Latch Enable (ALE) (pin 30). Keluaran ALE menghasilkan pulsa- pulsa untuk mengancing byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program selama pemrograman flash. Pada operasi normal, ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan (clocking) rangkaian eksternal. 7. External Access Enable (EA) pin 31. EA harus selalu dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h hingga FFFFh. Selain dari itu, EA harus dihubungkan ke Vcc agar mikrokontroler mengakses program secara internal. 8. Reset (RST) (pin 9) adalah masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan mereset Mikrokontroler 89C51. Pin ini dihubungkan dengan rangkaian Power On Reset bila diperlukan. 9. XTAL 1 (pin 19) adalah pin masukan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator eksternal dapat digunakan. 10. XTAL 2 (pin 18) adalah pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila menggunakan osilator kristal. 11. Vcc (pin 40) digunakan untuk mensuplai tegangan. 12. Ground (GND) (pin 20) berfungsi sebagai ground atau pentanahan.
  • 21. 27 2.6.3. Organisasi Memori Semua produk mikrokontroler Flash AT89C51/52 dari Atmel memiliki ruang alamat memori data dan program yang terpisah. Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8- bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8-bit. Namun demikian, alamat memori data 16 bit bisa juga dihasilkan melalui register DPTR. 2.6.4. Memori Program Memori program hanya bisa dibaca saja. Terdapat memori program yang bisa diakses langsung hingga 64 Kbyte. Sedangkan strobe (tanda) untuk akses progam memori eksternal melalui sinyal PSEN. Pada gambar 2.14 ditunjukkan pemetaan bagian bawah dari memori program. Setelah reset, CPU segera mengerjakan program mulai dari lokasi 0000h. Gambar 2.14. Pemetaan bagian bawah dari Memori Program
  • 22. 28 2.6.5. Memori Data Memori eksternal dapat diakses secara langsung hingga 64 Kbyte dalam ruang memori data eksternal. CPU akan memberikan sinyal baca dan tulis (RD dan WR), selama pengaksesan memori data eksternal. Memori data eksternal dan memori program eksternal dapat dikombinasikan dengan cara menggabungkan sinyal RD dan PSEN melalui gerbang AND dan keluarannya sebagai tanda baca ke memori data/program eksternal. Memori data internal ditunjukkan pada gambar 2.15. Ruang memori dibagi menjadi 3 blok, yang dikenal sebagai 128 bawah (lower 128), 128 atas (upper 128) dan SFR (Special Function Register). Gambar 2.15. Memori Data Internal Alamat memori data internal selalu 8 byte atau 1 byte, yang konsekuensinya hanya mampu mengalamati hingga 256 byte saja. Namun demikian, mode-mode pengalamatan RAM internal bisa mengakomodasi hingga 384 byte. Pengaksesan langsung (direct addressing) dengan alamat di atas 7Fh mengakses suatu memori, sedangkan pengaksesan tak langsung (indirect addressing) dengan alamat di atas 7Fh mengakses ruang memori lain yang berbeda. Sehingga 128 atas dan SFR menempati blok yang sama, 80h hingga FFh, walaupun secara fisik terpisah.
  • 23. 29 Pada gambar 2.16 ditunjukkan bagaimana bagian RAM 128 byte bawah dipetakan 32 byte bawah dikelompokkan menjadi 4 bank dan 8 register (R0 hingga R7). Dua bit pada PSW (Program Status Word) digunakan untuk memilih kelompok register mana yang digunakan. Gambar 2.16. 128 byte rendah dari RAM Internal 16 byte yang berikutnya, di atas bank-bank register (gambar 3.5), membentuk suatu blok ruang memori yang bisa teralamat per-bit (bit addressable). Kumpulan instruksi mikrokontroler ini mampu secara langsung mengalamati 128 bit dalam area ini. Alamat-alamat bit ini adalah 00h hingga 7Fh. 2.6.6. Fasilitas AT89C51 Mikrokontroler AT89C51 memiliki fasilitas-fasilitas yang dapat memberikan kemudahan didalam perancangan dengan interface lainnya. Dengan fasilitas- fasilitas tersebut, mikrokontroler AT89C51 dapat dihubungkan dengan perangkat lain sehingga mampu bekerja sesuai dengan keperluan yang diinginkan.
  • 24. 30 2.6.7. Pewaktu CPU Mikrokontroler AT89C51 memiliki Osilator Internal (On Chip Osilator) yang dapat digunakan sebagai sumber clock bagi CPU. Untuk menggunakan osilator internal diperlukan kristal atau kapasitor keramik pada pena XTAL1 dan pena XTAL2 dan sebuah kapasitor ke ground. Kristal yang digunakan dapat mempunyai frekuensi 1,2 MHz sampai 12 MHz. Sedangkan kapasitor dapat bernilai antara 27 pF sampai 33 pF. Kaki XTAL1 merupakan keluaran suatu penguat gain besar, sedangkan kaki XTAL2 adalah masukan sebuah kristal yang dihubungkan pada kaki XTAL1 dan XTAL2 memberikan umpan balik dan pergeseran fase yang diperlukan untuk osilasi. Jika kaki XTAL1 digunakan oleh sumber frekuensi luar maka kaki XTAL2 tidak dihubungkan. 2.6.8. Port Serial Port serial pada AT89C51/52 bersifat full-duplex, artinya port serial bisa menerima dan mengirim secara bersamaan. Penerimaan dan pengiriman data port serial melalui register SBUF (Serial Buffer). Port serial pada AT89C51/52 bisa digunakan dalam 4 mode kerja yang berbeda. Dari 4 mode tersebut, 1 mode diantaranya bekerja secara sinkron dan 3 lainnya bekerja secara asinkron. Keempat mode kerja tersebut adalah Mode 0, Mode 1, Mode 2 dan Mode 3. Pada mode asinkron (Mode 1, Mode 2 dan Mode 3), port serial AT89C51 bekerja secara full-duplex.
  • 25. 31 2.6.9. Timer/Counter Keluarga Mikrokontroler AT89C51, misalnya AT89C51 dilengkapi dengan dua perangkat Timer/Counter, masing-masing dinamakan sebagai Timer 0 dan Timer 1. Sedangkan untuk jenis lainnya, yaitu AT89C52/55, mempunyai tambahan satu perangkat Timer/Counter lagi yang dinamakan sebagai Timer 2. Perangkat Timer/Counter tersebut merupakan perangkat keras yang terpadu dalam mikrokontroler AT89C51. Untuk mengaksesnya digunakan register khusus yang tersimpan dalam SFR (Special Function Register). Pencacah biner Timer 0 diakses melalui register TL0 (Timer 0 Low Byte) dan register TH0 (Timer 0 High Byte). Pencacah biner Timer 1 diakses melalui register TL1 (Timer 1 Low Byte) dan register TH1 (Timer 1 High Byte). Untuk mengatur kerja Timer/Counter tersebut digunakan dua register tambahan yang dipakai bersama oleh Timer 0 dan Timer 1. Register tambahan tersebut adalah register TCON (Timer Control Register) dan register TMOD (Timer Mode Register). 2.6.10. Sistem Interupsi AT89C51 menyediakan 5 sumber interupsi : dua interupsi eksternal, dua interupsi Timer dan sebuah interupsi Port serial. Sedangkan pada AT89C52 menyediakan 6 sumber interupsi : 5 sumber interupsi sama dengan AT89C51 ditambah sebuah interupsi Timer lagi. Interupsi eksternal INT0 dan INT1 dapat dipilih dengan dua macam pilihan : aktivasi tingkat (level activated) atau aktivasi transisi (transition activated)
  • 26. 32 tergantung pada bit IT0 dan IT1 dalam register TCON. Tanda atau flag yang sesungguhnya menghasilkan interupsi ini adalah bit-bit IE0 (TCON.1) dan IE1 (TCON.3) dalam register TCON. Interupsi Timer 0 dan Timer 1 dihasilkan oleh TF0 dan TF1, terjadi pada saat muncul limpahan pada masing-masing Timer (kecuali Timer 0 pada Mode 3). Saat terjadi interupsi Timer, mikrokontroler akan menolkan tanda-tanda tersebut. Semua bit yang menyebabkan terjadinya interupsi bisa diset atau dinolkan melalui perangkat lunak dan hasilnya sama jika dilakukan melalui perangkat keras. Dengan demikian interupsi bisa dihasilkan maupun dibatalkan melalui program. 2.7. Komunikasi Data Serial Port serial mikrokontroler AT89C51 mempunyai On Chip Serial Port yang dapat digunakan untuk komunikasi data serial secara Full Duplex sehingga Port Serial ini masih dapat menerima data pada saat proses pengiriman data terjadi. Untuk menampung data yang diterima atau data yang dikrimkan. AT89C51 mempunyai sebuah register, yaitu SBUF yang terletak pada alamat 99H. Register ini berfungsi sebagai buffer sehingga pada saat mikrokontroler ini membaca data yang pertama dan data kedua belum diterima secara penuh, data ini tidak akan hilang. Pada kenyataannya, register SBUF terdiri atas dua buah register yang memang menempati alamat yang sama, yaitu 99H. Register tersebut adalah Transmit Register yang bersifat write only (hanya dapat ditulis) dan Receive Register yang bersifat read only (hanya dapat dibaca). Pada proses penerimaan
  • 27. 33 data dari Port Serial, data yang masuk ke dalam Port Serial akan ditampung pada Receive register terlebih dahulu dan diteruskan kejalur bus internal pada saat pembacaan register SBUF sedangkan pada proses pengiriman data ke Port Serial, data yang dituliskan dari bus internal akan ditampung pada Transmit Register terlebih dahulu sebelum dikirm ke Port Serial. SBUF Trasnsmit Buffer Register (Read only) SBUF Trasnsmit Buffer Register (Wtite Only) SHIFT REGISTER Bus Internal AT89C51 Baud Rate Clock (receive) RXD (P3.0) RXD (P3.1) Baud Rate Clock (transmit) D Clk Gambar 2.17 Blok Diagram Port Serial Port Serial mikrokontroler AT89C51 dapat digunakan untuk komunikasi data secara sinkron maupun asinkron. Komunikasi data serial secara sinkron merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk sinkronisasi. Pengiriman data pada komunikasi serial AT89C51 dilakukan mulai dari bit yang paling rendah (LSB) hingga ke yang paling tinggi (MSB). Komunikasi Asinkron Komunikasi sinkron 1 0 0 1 1 1 0 0 0 0 0 Start Bit Stop Bit Data Clock 0 0 0 1 1 Data Gambar 2.18 Komunikasi Sinkron dan Komunikasi Asinkron