ANTAR MUKA
NIM
Kelas
Asisten Dosen
UNIVERSITAS SRIWIJAYA
2013
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
PRAKTIKUM I
PORT PARALEL
I.
PENDAHULUAN
Port Paralel adalah sarana port yang sederhana dan murah untuk membuat
projek-projek atau alat-alat yang dikendalikan menggunakan komputer. Sederhana
karena, sebagaimana akan dilihat nanti, hanya melibatkan 3 macam register saja,
murah karena hampir semua komputer, desktop maupun portable, selalu dilengkapi
dengan Port Paralel atau yang dikenal juga dengan Port Printer.
Kesederhanaan dan kemudahan pemrograman menggunakan Port Paralel
membuat Port ini semakin populer di kalangan para hobis. Port Paralel ini sering
digunakan untuk, misalnya, robot yang dikendalikan komputer, pemrogram
mikrokontroler Atmel atau PIC, otomasi rumah, akuisisi data praktis dan lain
sebagainya.
Standar IEEE 1284 yang dipublikasikan pada tahun 1994 mendefinisikan 5
(lima) macam mode transfer data Port Paralel:
1. Mode Kompatbel;
2. Mode Nibel;
3. Mode Byte;
4. EPP, dan
5. ECP
Port Paralel ini terhubungkan dengan dunia luar melalui konektor DB25, yang
terbagi atas tiga kelompok register, yaitu:
1. Register Data / Port Data(DP)
2. Register Control / Port Control (PC)
3. Register Status / Port Status (PS)
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Alamat Register
378h / 888
379h / 889
37Ah / 890
II.
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
PortDWordIn
PRAKTIKUM II
LED DRIVER
I.
DASAR TEORI
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.
Rangkaian berikut digunakan untuk interfacing LED dengan port paralel :
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
II.
1.
Properti
Subroutin
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Form
CheckBox
CommandButton
Name : Form1
Caption : Led Driver1
Name : Check1
Caption : ON/OFF
Name : Command1
Caption : Keluar
Listing Program :
Private Sub Form_Load()
If Not IsDriverInstalled Then
MsgBox "error", vbOKOnly
Unload Me
End If
End Sub
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Gambar 2.2 Tampilan Program menghidupkan dan mematikan LED per bit
Komponen Visual Basic :
Komponen
Form
Label
Label
Label
Label
Label
Label
Properti
Name : Form1
Caption : Led Driver1
Name : LED0
Caption : LED0
Name : LED1
Caption : LED1
Name : LED2
Caption : LED2
Name : LED3
Caption : LED3
Name : LED4
Caption : LED4
Name : LED5
Caption : LED5
Subroutin
Private Sub Form_Load()
-
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Label
Label
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
Name : LED6
Caption : LED6
Name : LED7
Caption : LED7
Name : L0ON
Caption : ON
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 :
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
10
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
11
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
3.
12
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Komponen
Form
CommandButton
CommandButton
CommandButton
CommandButton
CommandButton
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
13
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
PRAKTIKUM III
MEMBACA INPUT DARI PORT PARALEL
Ada dua buah port dari port paralel yang bisa dijadikan input yaitu port Status
dan Port Control.
A. 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
14
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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
PERCOBAAN
1.
Pembacaan Data dari Port Status
a.
Buat Rangkaian seperti gambar 3.1
15
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Properti
Name : Form1
Caption : Input Status
Name : Label1
Caption : Data Input
Name : Label2
Caption : Name : timer1
Interval : 100
Form
Label
Label
timer
Subroutin
Timer1_timer()
Listing Program :
Private Sub Timer1_Timer()
Dim k As Byte
k = PortIn(&H379)
Label1.Caption = k
End Sub
c.
SW3
SW4
SW5
SW6
1
1
1
1
1
1
1
0
Data
Desimal S7
16
S6
S1
S0
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
1
1
0
0
0
1
0
1
2.
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
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
17
Subroutin
Timer1_timer()
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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
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
Laboratorium Mikroprosessor dan Sistem Kendali
Label4.Caption = "ON"
Fakultas Ilmu Komputer
End If
Universitas Sriwijaya
End Sub
18
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
B.
PORT CONTROL
Port Control memiliki 8 Bit data register, akan tetapi yang menjadi input dari
port paralel hanya 4 bit data yaitu mulai bit ke-0 sampai dengan bit ke 3
Register
Pin
Inverse
Tabel 3.3
C7
C6
C5
C4
C3
Tidak terhubung ke Pin di port
17
paralel
ya
C2
16
tidak
C1
14
ya
C0
1
ya
PERCOBAAN
1.
Pembacaan data dari Port Control
a.
Buat Rangkaian seperti gambar 3.4
19
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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
c.
20
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
0
0
1
0
1
2.
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
Properti
Name : Form1
Caption : Pembacaan Bit
Label (4
Name : Label1, Label2, Label3,Label4
Buah)
Caption : Bit 3, Bit 4, Bit 5, Bit 6
Shape (4
Name : Shape1, Shape2, Shape3, Shape4,
buah)
Caption : Backstyle : Opaque
timer
Name : timer1
100
PrivateInterval
Sub :Timer1_Timer()
Dim a As
Listing program
Dim b :As
Dim c As
Dim d As
Subroutin
Timer1_timer()
Boolean
Boolean
Boolean
Boolean
a = GetPortBit(&H37A, 0)
If a = True Then
Shape1.BackColor = Laboratorium
vbYellow Mikroprosessor dan Sistem Kendali
Fakultas Ilmu Komputer
Label1.Caption = "ON"
Universitas Sriwijaya
Else
Shape1.BackColor = vbBlack
Label1.Caption = "OFF"
End If
21
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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
22
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Latihan :
Buatlah Rangkaian dan Program dengan ketentuan sebagai berikut :
1.
Rangkaian terdiri dari 4 buah switch dan 4 buah led
2.
3.
4.
5.
PRAKTIKUM IV
PEMROGRAMAN PORT SERIAL
A.
PENDAHULUAN
Dalam Komunikasi Serial dikenal dua cara komunikasi data secara serial, yaitu
a.
b.
serial
ini
dikerjakan
oleh
UART
(Universal
Asynchronous
23
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
1
Idle
Start
8 Data Bit
Bit
Stop
Bit
24
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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
3.
Paritas
Ganjil, genap dan tanpa paritas
4.
5.
Flow Control
Xon/Xoff , Hardware atau None
B.
konektor port serial DB-9 yang biasa dinamai COM I dan COM2. Gambar 4.2 adalah
gambar konektor port serial DB-9 pada PC.
25
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Tabel 4.1 Konfigurasi pin dan nama sinyal konektor serial DB-9
Nomor Pin 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
26
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
h. Reques To Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
i. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
C. PENGAKSESAN PORT SERIAL PADA VISUAL BASIC
Untuk pengaksesan port serial kita dapat mengaksesnya secara langsung
melalui register UART atau meggunakan kontrol MSComm yang telah disediakan
Visual Basic.
1.
maupun penerimaan data adalah saluran RxD dan saluran TxD serta saluran-saluran
untuk kontrol, yaitu saluran DCD, DSR, RTS, CTS, DTR, dan RI. Saluran-saluran ini
ada yang sebagai output dan ada yang sebagai input. Kecuali saluran RxD, saluransaluran ini dapat diakses secara langsung melalui register UART. Berikut adalah
tabel alamat dan lokasi bit saluran tersebut pada register UART.
Tabel 8.10 Alamat dan lokasi bit pada register UART
Namapin
COM1
COM2
Bit
Arah
TxD
3FBh
2FBh
Output
DTR
3FCh
2FCh
Output
RTS
3FCh
2FCh
Output
CTS
3FEh
2FEh
Input
DSR
3FEh
2FEh
Input
RI
3FEh
2FEh
Input
DCD
3FEh
2FEh
Input
27
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
bit tertentu kita dapat menggunakan prosedur Set_Bit atau prosedur ClearBit yang
telah dibahas pada modul Port Paralel.
Berikut adalah contoh untuk menset bit DTR, yaitu membuat saluran DTR
berlogika low yang dalam port serial IBM PC kompatibel bertegangan +12 V. Alamat
register pengontrol DTR adalah 3FCh untuk COMI pada bit 0. Perintahnya adalah
sebagai berikut.
Set_Bit (&H3FC, 0)
Untuk mengclearkannya, yaitu membuat saluran DTR berlogika high yang
dalam port serial IBM PC kompatibcl bertegangan -12 V, kita menggunakan
perintah:
Clear_Bit (&H3FC, 0)
2.
yang dibuat dengan port serial untuk mengirim atau menerima data melalui port
serial. Setup MSComm hanya menangani satu port serial sehingga jika ingin
menggunakan lebih dari satu port serial, maka harus menggunakan MSComm
sebanyak port serial yang kita pakai.
3.
Properti MSComm
Jumlah properti pada MSComm sangat banyak sehingga kita tidak akan
membahas seluruhnya. Kita hanya akan membahas bcberapa properti yang perlu
kita ketahui sebelum kita dapat menggunakan MSComm. Properti-properti yang
sering dipakai adalah sebagai berikut:
CommPort
Setting
: Digunakan untuk untuk menset nilai baud rate, pariti, jumlah bit
data, dan jumlah bit stop.
PortOpen
28
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
PRAKTIKUM V
PEMOGRAMAN MIKROKONTROLER AT89S52
A.
MIKROKONTROLER AT89S52
29
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
1.
Konfigurasi Pin
30
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah (bidirectional)
yang dapat digunakan untuk berbagai keperluan (general purpose).
b.
Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi.
c.
Pin 10 sampai 17 (Port 3) adalah port pararel 8 bit dua arah yang memiliki
fungsi pengganti sebagai berikut :
-
31
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
d.
e.
f.
g.
Pin 21 sampai 28 (Port 2) adalah port pararel 8 bit dua arah. Port ini mengirim
byte alamat bila pengaksesan dilakukan pada memori eksternal.
h.
Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan
untuk membaca, memindahkan program memori eksternal (ROM / EPROM)
ke mikrokontroler (aktif low).
i.
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).
j.
k.
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.
l.
32
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
PC
RS
232
Buffer
ISP
Programmer
P0
AT89S52
P1
P2
P3
Downloader
IC AT89S52
P0
P1
P2
P3
RS 232
Buffer
JP2
JP1
33
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
JP1
JP2
Memprogram IC AT89S52
34
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
-
35
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
DELAY:
MOV TMOD,#01H
36
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
MOV TH0,#3CH
MOV TL0,#0AFH
SETB TR0
JNB TF0,$
CLR TR0
CLR TFO
RET
-
1.2
37
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
ACALL DELAY
SJMP AWAL
END
DELAY:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0AFH
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
2. Membaca masukan dari port
2.1.
38
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
2.2.
39
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
NEXT:
JB P2.1, NEXT2
MOV P1,#0F0H
NEXT2:
SJMP AWAL
END
Latihan:
PRAKTIKUM VI
KOMUNIKASI MIKROKONTROLER AT89S52 DENGAN PC
MENGGUNAKAN PORT SERIAL
A.
PENDAHULUAN
Sebelum melakukan komunikasi serial, perlu di perhatikan beberapa hal, yaitu:
a.
b.
Pajang Data
Panjang data memiliki 3 pilihan, yaitu 6 bit, 7 bit dan 8 bit
40
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
c.
Paritas
Ganjil, genap dan tanpa paritas
d.
e.
Flow Control
Xon/Xoff , Hardware atau None
B.
(6)
(5)
(4)
GF1(3)
GFO(2)
PD(1)
LSB
IDL(0)
Keterangan :
Bit(7) SMOD = digunakan untuk membuat dobel (2 kali) baud rate pada
Timer1
Bit(4-6) = tidak digunakan, untuk pengembangan selanjutnya
Bit(3) GF1
= Bit Flag serbaguna
Bit(2) GFO
= Bit Flag serbaguna
Bit(1) PD
= Bit power down. Bila berlogika. 1 mode power down aktif
Bit(0) IDL
= Bit idle mode. Aktif jika berlogika 1.
2.
41
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
LSB
RI(0)
Keterangan :
Bit(0) RI
Bit(1) TI
Bit(2) RB8
Bit(3) TB8
Bit(4) REN
= Receive Enable. Bit ini harus diset untuk menerima data. Jika
tidak data akan diblok.
Bit(6) SM1
Bit(7) SMO
Tabel 6.1 menunjukkan hubungan bit SM0 dan SM1 dalam membentuk mode serial
port
Tabel 6.1 Mode Komunikasi Data Serial
SM0
0
SM1
0
Serial Mode
0
Keterangan
8 bit Shift register
42
Baudrate
Osilator/12
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
0
1
1
3.
1
0
1
1
2
3
8 bit UART
9 bit UART
9 bit UART
untuk menyimpan data sementara yang akan dikirimkan dan diterima, setelah serial
port di konfigurasi, maka penulisan ke SBUF akan memulai pengiriman secara serial.
4.
Counter
43
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
MSB
LSB
Timer/Counter 1
Timer/Counter 0
GATE(7) C/T(6) M0(5) M1(4) GATE(3) 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
Timer Mode
0
1
2
3
Keterangan
13 bit Timer
16 bit Timer
8 bit
split mode
LSB
TR1(6)
TF0(5)
TR0(4)
44
IE
IT
(3)
(2)
IE0(1)
IT0(0)
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
suatu
45
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Sebagai
contoh
kita
menggunakan
frekuensi
kristal
11,059
MHz dan
mengharapkan baud rate 9800 bps, maka nilai TH1 adalah sebagai berikut.
TH1 = 256 (11059000 / 384) / 9800)
= 256 28799,4791 / 9800)
= 256 (2,93)
=256-3
= 253 = OFDH
Contoh lain dimana kita menggunakan Kristal dengan frekuensi 11,059 MHz dan
mengharapakan baud rate 19200 bps, maka :
TH1 = 256 ((Frek.Kristal / 384) / Baud)
= 256 ((11059000 / 384) / 19200)
= 256 ((28799.4791) / 19200)
= 256 1,5
=254,5
Jadi jika ingin mengharapkan baud rate 19200 bps, TH1 harus diset ke 254,5.
Jika kita set TH1 ke 254 akan didapatkan baud rate 11400 bps, namun jika
diset ke 255 akan didapatkan baud rate 28800 bps. Oleh karena itu kita harus
menggunakan persamaan yang kedua dimana bit SMOD harus diset (logika 1).
TH1 = 256 ((Frek.Kristal / 192) / Baud
46
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Interupt
In te rr up t mer up a ka n fi tu r pe nt in g p ad a s u at u mikrokontroler.
47
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Interrupt
Gambar 6.1 Interrupt
Ada dua buah special function register yang digunakan untuk mengontrol
interrupt, yaitu IE (Interupt Enable) alamat A8H dan IP (Interupt Priority Control)
alamat B8H. IE digunakan untuk mengontrol interrupt mana saja yang akan
diaktifkan, sedangkan IP akan menentukan interrupt mana yang memiliki
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
Pada mikrokontroler MCS-51 ada 5 buah sumber interrupt. Masing masing sumber interrupt memiliki vector alamat masing-masing. Sebagai
contoh Interrupt luar 0 (IEO) memiliki vector interrupt 03H, hal ini maksudnya
adalah jika interrupt tersebut sudah diaktifkan (enable) kemudian interrupt
tersebut terjadi maka aliran program akan menuju alamat vector interrupt yaitu
03H. Berikut daftar interrupt pada mikrokontroler MCS-51 dan alamat vector
interruptnya.
48
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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)
Keterangan :
Bit (7) -
Bit (6) -
Bit (5) -
Bit (4) PS
49
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
ORG 00H
SJMP start
;lompat ke start
50
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
clr RI
mov R1,a
CLR TI
MOV SBUF,a
JNB TI,$
dikirim
lagi
reti
C.
berkomunikasi melalui data serial, maka akan dilakukan pengujian melalui Hyiper
terminal. Langkah-langkah komfigurasi hyiper terminal sebagai berikut:
1.
51
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
2.
3.
Jika tampil jendela Phone and Modem Option, langsung klik tombol OK
4.
52
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
5.
6.
Pada Jendela Connect To, pilih COM yang akan digunakan untuk
komunikasi serial pada kolom Connect Using.
53
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
8. Terakhir akan terbuka jendela Hyper Terminal yang akan digunakan untuk
pengujian pengiriman dan penerimaan data serial.
54
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
55
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
MODUL VII
PEMOGRAMAN DATA SERIAL DENGAN VISUAL BASIC 6
A.
PENDAHULUAN
Sebagai media komunikasi dengan dunia luar, VB 6 telah menyediakan MS
56
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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.
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
57
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Setting : menentukan baud rate, parity, data bits, stop bits dalam string
serial yang digunakan pada peralatan lain yang kita akses (misal : PLC, modem,
mikrokontroler) sesuai dengan pengaturan pada komputer yang kita pakai.
3.
InputLen : menentukan jumlah karakter yang dibaca CPU dari receive buffer
Jika bernilai 0 , maka seluruh isi receive buffer akan dibaca CPU
58
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
4.
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
59
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
B.
etc
kemudian karakter tersebut akan diterima oleh mikrokontroler dan menyalakan led
yang ada di mikrokontroler.
1. Hubungkan rangkaian Led ke P2.0 mikrokontroler
2. Buat program di pinacle untuk program mikrokantroler:
ORG 00H
SJMP start
org 0023h
sjmp seri_int
start:
mov tmod,#20h
mov th1,#0fdh
mov scon,#50h
setb tr1
setb es
setb ea
kalang:
CJNE A,#41h,next
clr p2.0
next:
CJNE A,#42h,kalang
setb p2.0
sjmp kalang
seri_int:
jb RI,get_data
clr TI
reti
60
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
get_data:
mov a,SBUF
clr RI
reti
end
3. Simpan, compile dan masukkan program tersebut ke mikrokontroller.
4. Buat program di VB dengan tampilan sebagai berikut:
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
61
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
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 :
62
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
63
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
Contoh :
Program pada mikrokontroler :
ORG 00H
SJMP start
;lompat ke start
;-------------------------------------------------------;VEKTOR INTERUPSI SERIAL
org 0023h
;lokasi vektor interupsi port serial
sjmp seri_int
;jika terjadi interupsi lompat ke seri_int
;-------------------------------------------------------start:
mov tmod,#20h
;timer mode 2 ( 8 bit isi ulang)
mov th1,#0fdh
;baudrate = 9600 it per second
mov scon,#50h
;mode serial 8 bit UART
;( 1 bit start, 8 bit data, no
; parity, 1 bit stop )
setb tr1
;timer 1 dijalankan
setb es
;Enable Interupsi Serial
setb ea
;Interupsi dijalankan
;---------------------Main_Program---------------------HERE:
jb P1.7, NEXT1
MOV A,#41H
acall SENDDATA
NEXT1:
jb P1.6, NEXT2
MOV A,#43H
acall SENDDATA
NEXT2:
jb P1.5, HERE
MOV A,#42H
acall SENDDATA
sjmp HERE
;-------------------------------------------------------SENDDATA:
CLR TI
MOV SBUF,A
JNB TI,$
64
Modul Praktikum
Fakultas Ilmu Komputer
Universitas Sriwijaya
RET
Program Visual Basic
65