DISUSUN OLEH:
Taufiq Nuzwir Nizar, S. Kom
(demikian juga sebaliknya). Jika pin tersebut adalah keluaran, jika dikirimkan logika 1, maka
yang terkirim sesungguhnya adalah logika 0 (demikian juga sebaliknya). Selain itu sifatnya
normal.
Table 1.
Nomor Pin
(DB25)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 25
Nama Sinyal
Arah
Register
Inverse
Strobe
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Ack
Busy
Paper-Out/Paper-End
Select
Auto-Linefeed
Error/Fault
Initialize
Select-Printer/ Select-in
Ground
In/Out
Out
Out
Out
Out
Out
Out
Out
Out
In
In
In
In
In / Out
In
In / Out
In / Out
Gnd
Control Bit 0
Data bit 0
Data bit 1
Data bit 2
Data bit 3
Data bit 4
Data bit 5
Data bit 6
Data bit 7
Status bit 6
Status bit 7
Status bit 5
Status bit 4
Control bit 1
Status bit 3
Control bit 2
Control bit 3
Ya
Ya
Ya
Ya
Untuk dapat menggunakan port paralel, harus diketahui dahulu alamat registernya, Base
address LPT1 biasanya adalah 888 (378h) dan LPT2 biasanya 632 (278h). Alamat tersebut
adalah alamat yang umumnya digunakan, tergantung dari jenis komputer. Tepatnya kita bias
melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0408h
untuk base address LPT1 dan memori 0000.040A untuk base address LPT2.
Alamat DP adalah base address dari alamat port paralel tersebut, alamat PS adalah base
address + 1, dan alamat PC adalah base address + 2 tabel 2 adalah table alamat masingmasing port yang umumnya digunakan.
Tabel 2
Nama port
Alamat Register
LPT1 DP
378h / 888
LPT1 PS
379h / 889
LPT1 PC
37Ah / 890
B. Pemograman port paralel menggunakan visual basic
Dibutuhkan suatu cara agar VB bisa melakukan akses perangkat keras. Salah satunya
dengan lib io.dll, yang bisa didownload dari http://www.geekhideout.com/iodll.shtml secara
3
Modul Praktikum Interfacing
gratis, yang harus disimpan atau ditempatkan pada folder C:/windows/system32 pada
komputer.
Cara penggunaannya sangat mudah, pertama definisikan terlebih dahulu fungsi dan
prosedur untuk akses masukan maupun keluaran perangkat keras pada bagian modul khusus
VB sebagai berikut:
Public Declare Sub PortOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Data As Byte)
Public Declare Sub PortWordOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Data As Integer)
Public Declare Sub PortDWordOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Data As Long)
Public Declare Function PortIn Lib "io.dll" _
(ByVal Port As Integer) As Byte
Public Declare Function PortWordIn Lib "io.dll" _
(ByVal Port As Integer) As Integer
Public Declare Function PortDWordIn Lib "io.dll" _
(ByVal Port As Integer) As Long
Public Declare Sub SetPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub ClrPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Sub NotPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte)
Public Declare Function GetPortBit Lib "io.dll" _
(ByVal Port As Integer, ByVal Bit As Byte) As Boolean
Public Declare Function RightPortShift Lib "io.dll" _
(ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function LeftPortShift Lib "io.dll" _
(ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Public Declare Function IsDriverInstalled Lib "io.dll" () As Boolean
4
Modul Praktikum Interfacing
Kedua tinggal penggunaan fungsi dan prosedur tersebut secara biasa, fungsi PortIn
membutuhkan dua parameter yaitu alamat perangkat keras dan variabel hasil pembacaan data
dari perangkat keras dengan tipe data byte. Sedangkan prosedur PortOut membutuhkan dua
parameter juga yaitu alamat perangkat keras dan nilai atau variabel yang menyimpan nilai
yang akan dikirimkan ke perangkat keras yang bersangkutan.
PortOut
PortWordOut
PortDWordOut
PortIn
PortWordIn
PortDWordIn
GetPortBit
SetPortBit
ClrPortBit
NotPortBit
RightPortShift
LeftPortShift
IsDriverInstalled
MODUL II
LED DRIVER
5
Modul Praktikum Interfacing
Pemograman LED Driver adalah sebuah program yang digunakan untuk melakukan
pengontrolan nyala LED melalui port parallel. Program ini memerlukan rangkaian LED
driver yang dipasangkan pada port paralel dan program LED driver untuk menjalankannya.
A. Rangkaian LED Driver
Rangkaian berikut digunakan untuk interfacing LED dengan port Paralel :
6
Modul Praktikum Interfacing
Subroutin
Private Sub Form_Load()
Private Sub Check1_Click()
Private Sub Command1_Click()
Listing Program :
Private Sub Form_Load()
If Not IsDriverInstalled Then
MsgBox "error", vbOKOnly
Unload Me
End If
End Sub
Private Sub Check1_Click()
If Check1.Value = 1 Then
PortOut &H378, &HFF
Check1.Caption = "Lampu ON semua"
Else
PortOut &H378, &H0
Check1.Caption = "Lampu OFF semua"
End If
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
7
Modul Praktikum Interfacing
Gambar 2.2 Tampilan Program menghidupkan dan mematikan LED per bit
Subroutin
Private Sub Form_Load()
Private Sub L0ON_Click()
8
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
Name : L1ON
Caption : ON
Name : L2ON
Caption : ON
Name : L3ON
Caption : ON
Name : L4ON
Caption : ON
Name : L5ON
Caption : ON
Name : L6ON
Caption : ON
Name : L7ON
Caption : ON
Name : L0OFF
Caption : OFF
Name : L1OFF
Caption : OFF
Name : L2OFF
Caption : OFF
Name : L3OFF
Caption : OFF
Name : L4OFF
Caption : OFF
Name : L5OFF
Caption : OFF
Name : L6OFF
Caption : OFF
Name : L7OFF
Caption : OFF
Name : Keluar
Caption : Keluar
Listing Program :
Private Sub Form_Load()
If Not IsDriverInstalled Then
MsgBox "error", vbOKOnly
Unload Me
End If
PortOut &H378, &HFF
End Sub
Modul Praktikum Interfacing
10
11
12
Modul Praktikum Interfacing
Properti
Name : Form1
Caption : Led Driver1
Name : Command1
Caption : SHIFT LEFT ON
Name : Command2
Caption : SHIFT LEFT OFF
Name : Command3
Caption : SHIFT RIGHT ON
Name : Command4
Caption : SHIFT RIGHT OFF
Name : Keluar
Caption : Exit
Subroutin
Private Sub Form_Load()
Private Sub
Command1_Click()
Private Sub
Command2_Click()
Private Sub
Command3_Click()
Private Sub
Command4_Click()
Private Sub keluar_Click()
Listing Program :
Private Sub Form_Load()
If Not IsDriverInstalled Then
MsgBox "error", vbOKOnly
Unload Me
End If
PortOut &H378, &HFF
End Sub
MODUL III
MEMBACA INPUT DARI PORT PARALEL
Ada dua buah port dari port paralel yang bisa dijadikan input yaitu port Status dan Port
Control.
A. Pembacaan data dari Port Status
Port status memiliki 8 Bit data register, akan tetapi yang menjadi input dari port
paralel hanya 5 bit data yaitu mulai bit ke-3 sampai dengan bit ke 7
Register
Pin
Inverse
S7
11
ya
S6
10
tidak
Tabel 3.1
S5
S4
12
13
tidak
tidak
S3
15
tidak
S2
S1
S0
Tidak terhubung ke
Pin di port paralel
Praktikum:
1. Buat Rangkaian seperti gambar 3.1
14
Modul Praktikum Interfacing
Properti
Name : Form1
Caption : Input Status
Name : Label1
Caption : Data Input
Name : Label2
Caption : Name : timer1
Interval : 100
Subroutin
Timer1_timer()
15
Modul Praktikum Interfacing
Listing Program :
Private Sub Timer1_Timer()
Dim k As Byte
k = PortIn(&H379)
Label1.Caption = k
End Sub
3. Lengkapi Tabel 3.2
Tabel 3.2
SW3 SW4 SW5 SW6 Data Desimal
S7 S6
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
S0
1
0
1
1
1
0
0
1
1
0
16
Modul Praktikum Interfacing
Properti
Name : Form1
Caption : Pembacaan Bit
Name : Label1, Label2,
Label3,Label4
Caption : Bit 3, Bit 4, Bit 5, Bit 6
Name : Shape1, Shape2,
Shape3, Shape4,
Backstyle : Opaque
Name : timer1
Interval : 100
Subroutin
-
Timer1_timer()
Listing program :
Private Sub Timer1_Timer()
Dim a As Boolean
Dim b As Boolean
Dim c As Boolean
Dim d As Boolean
a = GetPortBit(&H379, 3)
If a = True Then
Shape1.BackColor = vbBlack
Label1.Caption = "OFF"
Else
Shape1.BackColor = vbYellow
Label1.Caption = "ON"
End If
17
Modul Praktikum Interfacing
b = GetPortBit(&H379, 4)
If b = True Then
Shape2.BackColor = vbBlack
Label2.Caption = "OFF"
Else
Shape2.BackColor = vbYellow
Label2.Caption = "ON"
End If
c = GetPortBit(&H379, 5)
If c = True Then
Shape3.BackColor = vbBlack
Label3.Caption = "OFF"
Else
Shape3.BackColor = vbYellow
Label3.Caption = "ON"
End If
d = GetPortBit(&H379, 6)
If d = True Then
Shape4.BackColor = vbBlack
Label4.Caption = "OFF"
Else
Shape4.BackColor = vbYellow
Label4.Caption = "ON"
End If
End Sub
18
Modul Praktikum Interfacing
Register
Pin
Inverse
Tabel 3.3
C7
C6
C5
C4
Tidak terhubung ke Pin di port
paralel
C3
17
ya
C2
16
tidak
C1
14
ya
C0
1
ya
Praktikum:
4. Buat Rangkaian seperti gambar 3.4
20
Modul Praktikum Interfacing
Komponen
Form
Label
Label
timer
Properti
Name : Form1
Caption : Input Control
Name : Label1
Caption : Data Input
Name : Label2
Caption : Name : timer1
Interval : 100
Subroutin
Timer1_timer()
Listing Program :
Private Sub Timer1_Timer()
Dim k As Byte
k = PortIn(&H37A)
Label1.Caption = k
End Sub
6. Lengkapi Tabel 3.4
Tabel 3.4
SW1 SW2 SW3 SW
4
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
Data Desimal
C7 C6
C0
21
Modul Praktikum Interfacing
timer
Properti
Name : Form1
Caption : Pembacaan Bit
Name : Label1, Label2,
Label3,Label4
Caption : Bit 3, Bit 4, Bit 5, Bit 6
Name : Shape1, Shape2,
Shape3, Shape4,
Caption : Backstyle : Opaque
Name : timer1
Interval : 100
Subroutin
-
Timer1_timer()
22
Modul Praktikum Interfacing
Listing program :
Private Sub Timer1_Timer()
Dim a As Boolean
Dim b As Boolean
Dim c As Boolean
Dim d As Boolean
a = GetPortBit(&H37A, 0)
If a = True Then
Shape1.BackColor = vbYellow
Label1.Caption = "ON"
Else
Shape1.BackColor = vbBlack
Label1.Caption = "OFF"
End If
23
Modul Praktikum Interfacing
b = GetPortBit(&H37A, 1)
If b = True Then
Shape1.BackColor = vbYellow
Label1.Caption = "ON"
Else
Shape1.BackColor = vbBlack
Label1.Caption = "OFF"
End If
c = GetPortBit(&H37A, 2)
If c = True Then
Shape3.BackColor = vbBlack
Label3.Caption = "OFF"
Else
Shape3.BackColor = vbYellow
Label3.Caption = "ON"
End If
d = GetPortBit(&H37A, 3)
If d = True Then
Shape1.BackColor = vbYellow
Label1.Caption = "ON"
Else
Shape1.BackColor = vbBlack
Label1.Caption = "OFF"
End If
End Sub
24
Modul Praktikum Interfacing
Latihan :
Buatlah Rangkaian dan Program dengan ketentuan sebagai berikut :
1. Rangkaian terdiri dari 4 buah switch dan 4 buah led
2. Switch 1 dan 2 terhubung ke port status bit 3 dan 4
3. Switch 3 dan 4 terhubung ke port control bit 0 dan 1
4. led 1 sampai 4 terhubung ke port data bit 0 sampai 4
5. buatlah program di VB untuk menjalankan rangkaian tersebut, jika switch 1 ditekan
led 1 menyala, jika switch 2 ditekan led 2 dan seterusnya.
MODUL IV
PEMOGRAMAN PORT SERIAL
A.
Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial
ini dikerjakan oleh UART (Universal Asynchronous Receiver/Transmitter). IC UART dibuat
khusus untuk mengubah data paralel menjadi data serial dan menerima data serial yang
kemudian diubah kembali menjadi data paralel.
Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi transmitter
dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara transmitter dan
receiver. Hal ini dilakukan oleh bit 'Start' dan bit 'Stop'. Ketika saluran transmisi dalam
keadaan idle, output UART adalah dalam keadaan logika '1'. Ketika transmitter ingin
mengirimkan data, output UART akan diset lebih dulu ke logika 0 untuk waktu satu bit.
Sinyal ini pada receiver akan dikenali sebagai sinyal 'Start' yang digunakan untuk
mensinkronkan fase clocknya sehingga sinkron dengan fase clock transmitter. selanjutnya,
data akan dikirim secara serial dari bit paling rendah (bit 0) sampai bit tertinggi. Selanjutnya,
akan dikirim sinyal 'Stop' sebagai akhir dari pengiriman data serial. Cara pemberian kode
data yang disalurkan tidak ditetapkan secara pasti.
Idle
Start
8 Data Bit
Bit
Gambar 4.1 Pengirirnan data serial tanpa bit paritas
Stop
Bit
Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate
yang umum dipakai adalah 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200,
230400, 460800, 921600 (bit/detik). Dalam komunikasi data serial, baud rate dari kedua alai
yang berhubungan harus diatur pada kecepatan yang sama. Selanjutnya, harus ditentukan
panjang data (6,7 atau 8 bit), paritas (genap ganjil atau tanpa paritas), dan jumlah bit 'Stop' (1,
1, atau 2 bit)
Dalam komunikasi serial ada beberap konfigurasi yang harus di tentukan, yaitu :
1. Kecepatan Transmisi (Baud rate)
Baud rate yang umum dipakai adalah adalah 110, 300, 1200, 2400, 4800, 9600,
19200, 38400, 57600, 115200, 230400, 460800, 921600 (bit/detik). Baudrate pada
kedua sistem harus sama
2. Pajang Data
Panjang data memiliki 3 pilihan, yaitu 6 bit, 7 bit dan 8 bit
26
Modul Praktikum Interfacing
3. Paritas
Ganjil, genap dan tanpa paritas
4. Jumlah Stop bit
Jumlah stop bit ada 3 pilihan yaitu 1, 1, dan 2 bit
5. Flow Control
Xon/Xoff , Hardware atau None
B. Konfigurasi Port Serial
Pada komputer IBM PC kornpatibel blasanya kita dapat menemukan dua konektor port
serial DB-9 yang biasa dinamai COM I dan COM2. Gambar 4.2 adalah gambar konektor
port serial DB-9 pada PC.
Nama
Sinyal
Direction
Keterangan
DCD
In
RxD
In
Receive Data
TxD
Out
Transmit Data
DTR
Out
DataTerminal Ready
GND
DSR
In
RST
Out
Request to Send
CTS
In
Clear to Send
RI
In
Ring Indicator
Ground
27
Modul Praktikum Interfacing
Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah sebagai berikut:
Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE
bahwa pada terminal masukan ada data masuk.
Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah
stasiun menghendaki hubungan dengannya.
Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh
mulai mengirim data.
Reques To Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
Nomor pin
COM1 COM2
pada
BD-9
3
3FBh 2FBh
4
3FCh
2FCh
Bit
arah
Output
Output
28
RTS
3FCh
2FCh
Output
CTS
3FEh
2FEh
Input
DSR
3FEh
2FEh
Input
RI
3FEh
2FEh
Input
DCD
3FEh
2FEh
Input
29
Modul Praktikum Interfacing
CommPort
Setting
PortOpen
Output
True
MSComml.Output
"ATV1Q0"
&
Chr$(13)
Do
DoEvents
Buffer$ = Buffer$ & MSComml.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
MSComml.PortOpen = False End Sub
Kode-kode program pada prosedur di alas akan melakukan aksi sebagai berikut:
Port serial yang digunakan adalah COM I
Setting MSComm adalah baud rate 9600, tanpa paritas, jumlah data 8 bit,
danjumlah bit stop adalah 1 bit.
Memerintahkan kontrol MSComm membaca seluruh isi buffer ketika
menggunakan perintah Input (MSComml.InputLen = 0)
Membuka port serial
Mengirim perintah "ATV I QO" diikuti ASCII 13 (enter) ke modem
Menunggu modem mengirimkan jawaban "OK" ke komputer
Menutup port serial
30
Modul Praktikum Interfacing
MODUL V
PEMOGRAMAN MIKROKONTROLER AT89S52
A. MIKROKONTROLER AT89S52
Mikrokontroler adalah mikroprosessor yang dirancang khusus untuk aplikasi kontrol, dan
dilengkapi dengan ROM, RAM dan fasilitas I/O pada satu chip. AT89S52 adalah salah
satu anggota dari keluarga MCS-51/52 yang dilengkapi dengan internal 8 Kbyte Flash
PEROM (Programmable and Erasable Read Only Memory), yang memungkinkan
memori program untuk dapat deprogram kembali. AT89S52 dirancang oleh Atmel sesuai
dengan instruksi standar dan susunan pin 80C5.
Mikrokontroler AT89S52 memiliki :
Sebuah CPU ( Central Processing Unit ) 8 Bit.
31
Modul Praktikum Interfacing
Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah (bidirectional)
yang dapat digunakan untuk berbagai keperluan (general purpose).
Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi.
Pin 10 sampai 17 (Port 3) adalah port pararel 8 bit dua arah yang memiliki
fungsi pengganti sebagai berikut :
-
P3.6 (16) : WR (Write, aktif low) Sinyal kontrol penulisan data dari port 0
ke memori data dan input-output eksternal.
P3.7 (17) : RD (Read, aktif low) Sinyal kontrol pembacaan memori data
input-output eksternal ke port 0.
Pin 21 sampai 28 (Port 2) adalah port pararel 8 bit dua arah. Port ini mengirim
byte alamat bila pengaksesan dilakukan pada memori eksternal.
Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan
untuk membaca, memindahkan program memori eksternal (ROM / EPROM)
ke mikrokontroler (aktif low).
Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah
selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG
(aktif low) yang diaktifkan saat memprogram internal flash memori pada
mikrokontroler (on chip).
Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi
sebagai alamat bawah yang dimultipleks dengan data untuk mengakses
program dan data memori eksternal.
B. MODUL AT89S25
Untuk praktikum interfacing ini modul sistem miimum yang dipakai telah di lengkapi
dengan modul ISP programmer untuk IC AT89S51 serta telah dilengkapi RS 232 buffer
untuk komunikasi serial dengan komputer. Gambar 5.2 merupakan diagram blok modul
AT89S52.
ISP
PC
RS
232
Buffer
Regulat
or
Programmer
P0
AT89S52
P1
P2
Download
er
IC
AT89S52
P3
P0
P1
P2
P3
RS 232
Buffer
Modul Praktikum Interfacing
JP1
34
JP2
JP1
JP2
Memprogram IC AT89S52
35
Modul Praktikum Interfacing
C. PEMOGRAMAN AT89S52
Pemograman Mikrokontroler ini bisa menggunakan berbagai bahasa, diantaranya adalah
bahasa pemograman C, Basic dan Assembler, dalam modul ini, kita akan memprogram
mikrokontroler dengan menggunakan bahasa pemograman Assembler menggunakan
compiler pinnacle.
1. Mengeluarkan data ke Port
1.1.
-
36
Modul Praktikum Interfacing
1.2
CLR TF0
RET
2. Membaca masukan dari port
2.1.
2.2.
JB P2.1, NEXT2
MOV P1,#0F0H
NEXT2:
SJMP AWAL
END
Latihan:
MODUL VI
KOMUNIKASI MIKROKONTROLER AT89S52 DENGAN PC
MENGGUNAKAN PORT SERIAL
A. PENDAHULUAN
Sebelum melakukan komunikasi serial, perlu di perhatikan beberapa hal, yaitu:
a. Kecepatan Transmisi (Baud rate)
Baud rate yang umum dipakai adalah adalah 110, 300, 1200, 2400, 4800,
9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 (bit/detik).
Baudrate pada kedua sistem harus sama
b. Pajang Data
Panjang data memiliki 3 pilihan, yaitu 6 bit, 7 bit dan 8 bit
c. Paritas
40
Modul Praktikum Interfacing
MSB
SMOD(7)
(6)
(5)
(4)
GF1(3)
GFO(2)
PD(1)
LSB
IDL(0)
Keterangan :
Bit(7) SMOD
Bit(4-6) Bit(3) GF1
Bit(2) GFO
Bit(1) PD
Bit(0) IDL
SM1(6)
SM2(5)
REN(4)
TB8(3)
RB8(2)
TI(1)
LSB
RI(0)
41
Keterangan :
Bit(0) RI = Receive Interupt Flag. Di-set oleh hardware untuk menunjukkan
suatu byte telah komplit diterima.
Bit(1) TI
Bit(2) RB8 = Receive bit 8. Bit ini digunakan sesuai mode pengoperasian. Pada
mode 2 dan 3 dimana 9 bit diterima, bit terakhir akan dicopy
ke RB8. Pada mode 1 dimana 8 bit data dikirimkan, dimana
bit SM2 dibuat rendah, maka stop bit akan dicopy ke RB8.
Bit(3) TB8 = Transmit bit 8. Adalah data ke 9 yang akan dikirimkan pada mode
2 dan 3. Diset atau dihapus dengan software sesuai kebutuhan.
Bit(4) REN = Receive Enable. Bit ini harus diset untuk menerima data. Jika
tidak data akan diblok.
Bit (5) SM2 = Serial Mode (bit 2) Digunakan pada mode 2 dan 3 untuk
mendukung komunikasi multiprosesor.
Bit(6) SM1= Serial Mode bit 1
Bit(7) SMO = Serial Mode bit 0
Tabel 6.1 menunjukkan hubungan bit SM0 dan SM1 dalam membentuk mode
serial port
Tabel 6.1 Mode Komunikasi Data Serial
SM0
0
0
1
1
SM1
0
1
0
1
Serial Mode
0
1
2
3
Keterangan
8 bit Shift register
8 bit UART
9 bit UART
9 bit UART
Baudrate
Osilator/12
Set oleh timer 1
Osilator/32
Set oleh timer 1
LSB
Timer/Counter 1
C/T(6)
M0(5)
M1(4)
GATE(3)
Timer/Counter 0
C/T(2) M1(1)
M0(0)
Keterangan :
Bit GATE
= jika bit ini diset timer akan berjalan hanya jika INT1
(P3.3) sedang tinggi.Jika bit ini diclear timer akan berjalan
tanpa mempertimbangkan kondisi INT1.
Bit C/T
Bit MO dan M1
MO
0
1
Timer Mode
0
1
Keterangan
13 bit Timer
16 bit Timer
43
0
1
2
3
8 bit
split mode
Selain Timer Mode, ada lagi register yang digunakan untuk mengontrol
timer yaitu register TCON. Pada register TCON ini bitbitnya ada yang
digunakan untuk mengatur timer dan adapula bit-bit untuk mengatur
interupsi. Bit-bit pada register ini adalah sebagai berikut.
MSB
TF1(7)
TR1(6)
TF0(5)
TR0(4)
I E (3)
I T (2)
IE0(1)
LSB
IT0(0)
Keterangan :
Bit (7) TF1
= Timer 1 Run, jika bit ini diset maka timer 1 on, Jika bit ini
diclear maka Timer 1 off (berhenti).
= Timer 0 Run, jika bit ini diset maka timer 0 on, jika diclear
maka timer 0 off.
sistem clock atau dengan menggunakan timer1, jika timer 1 dioperasikan pada
mode 2 (8 bit auto reload), maka baud rate diberikan melalui persamaan berikut:
prioritas tinggi dan interrupt mana pula yang memiliki prioritas rendah.
Bit-bit pada register IE adalah sebagai berikut.
MSB
EA(7)
(6)
(5)
ES(4)
E T 1 (3)
E X 1 (2)
ET0(1)
LSB
EX0(0)
Keterangan :
Bit (7) EA
Bit (4) ES
Flag
Interrupt Luar 0
lEO
Timer 0
TFO
Interrupt Luar 1
IE1
Timer 1
TH
Serial
TI atau RI
Alamat Vektor
Interrupt
3H
BH
13H
1BH
23H
Prioritas
1 (tertinggi)
2
3
4
5 (terendah)
(6)
(5)
PS(4)
P T 1 (3)
P X 1 (2)
PT0(1)
LSB
PX0(0)
47
Modul Praktikum Interfacing
Keterangan :
Bit (7)
Bit (6)
Bit (5)
Bit (4)
PS
Bit (3)
PT1
Bit (2)
PX1
Bit (1)
PT0
Bit (0)
PX0
;lompat ke start
get_data:
mov a,SBUF
clr RI
mov R1,a
CLR TI
MOV SBUF,a
JNB TI,$
reti
49
Modul Praktikum Interfacing
3. Jika tampil jendela Phone and Modem Option, langsung klik tombol OK
4. Akan Tampil Jendela Connection Description, Ketikkan Nama Koneksi dan pilih
icon untuk Koneksi, Misal Test1
50
Modul Praktikum Interfacing
5. Pada Jendela Connect To, pilih COM yang akan digunakan untuk komunikasi
serial pada kolom Connect Using.
6. Pada Jendela COM Properties, isikan kolom-kolom sesuai dengan setting pada
mikrokontroler.
51
Modul Praktikum Interfacing
7. Terakhir akan terbuka jendela Hyper Terminal yang akan digunakan untuk
pengujian pengiriman dan penerimaan data serial.
LATIHAN :
Buatlah Program untuk menyalakan LED pada port 1 di mikrokontroler dengan ketentuan :
1. Jika ditekan huruf Q semua LED akan menyala
2. Jika ditekan huruf W 4 led low byte akan menyala dan 4 led high byte akan mati
3. Jika ditekan huruf E 4 led low byte akan mati dan 4 led high nyte akan menyala.
4. Jika ditekan huruf R nyala led bergeser dari lowbyte menuju highbyte
5. Jika ditekan huruf T nyala led bergeser dari highbyte menuju lowbyte
6. Pada setiap langkah 1 s.d 5 diatas, jika data diterima mikrokontroler dan program di
mikrokontroler dijalankan, akan tampil tulisan OK pada jendela Hyper Terminal.
MODUL VII
PEMOGRAMAN DATA SERIAL DENGAN VISUAL BASIC 6
A. PENDAHULUAN
Sebagai media komunikasi dengan dunia luar, VB 6 telah menyediakan MS Comm
Control 6.0 (tambahkan melalui : Project > Components).
52
Modul Praktikum Interfacing
Memonitor dan merespon event dan error yang terjadi pada hubungan serial
Untuk mengadakan suatu komunikasi serial antara 2 peralatan, kita harus melakukan
langkah langkah berikut :
1. Membuka serial port
2. Mengatur serial device
3. Setting Receive and Transmit Buffer Properties
4. Managing Receive and Transmit Buffer
1. Membuka Serial Port
Pada komunikasi serial, bit bit data yang masuk dari dunia luar ke dalam komputer
melalui serial port akan ditampung dulu di receive buffer sebelum akan dieksekusi
oleh main controller. Demikian pula sebelum dikirim ke luar, data akan ditampung
dulu di transmit buffer. Skema lengkapnya dapat di lihat pada gambar di bawah
53
Modul Praktikum Interfacing
Setting : menentukan baud rate, parity, data bits, stop bits dalam string
InputLen : menentukan jumlah karakter yang dibaca CPU dari receive buffer
o
Jika bernilai 0 , maka seluruh isi receive buffer akan dibaca CPU
InBufferCount
OutBufferCount
MSComm hanya memiliki 1 event, yaitu OnComm. Event ini akan terjadi jika
properti dari CommEvent berubah, yaitu saat terjadi :
Event komunikasi
Error
etc
etc
Komponen VB :
Komponen
Form
MS Comm
CommandButton
Label
TextBox
Properti
Name : Form1
Caption : Led Driver1
Name : MS Comm1
Caption :
Name : Command2
Caption : SHIFT LEFT OFF
Name : Label1
Caption : Karakter Dikirim
Name : Text1.text
Caption : Karakter Dikirim
Subroutin
Private Sub Form_Load()
Private Sub
Command2_Click()
Listing Program :
Private Sub Form_Load()
MSComm1.Settings = "9600,N,8,1"
MSComm1.CommPort = 1
MSComm1.InputLen = 1
MSComm1.RThreshold = 1
End Sub
Private Sub Command1_Click()
MSComm1.PortOpen = True
MSComm1.Output = Text1.Text
MSComm1.PortOpen = False
End Sub
TUGAS :
Buatlah Program untuk menyalakan dan mematikan 8 buah Led dengan menggunakan
komunikasi serial Tampilan program seperti gamabar di bawah ini :
57
Modul Praktikum Interfacing
SJMP start
;lompat ke start
59
Modul Praktikum Interfacing
60
Modul Praktikum Interfacing