Ver.1-0316
PETUNJUK PERCOBAAN
MICROCONTROLLER TRAINER
PT981702
+15V +15V +15V +15V +15V +15V +15V +15V +15V +15V
+5V 8031 CENTRAL PROCESSING UNIT +5V +5V PARALLEL INPUT / OUTPUT +5V +5V SERIAL INPUT / OUTPUT +5V +5V A/D CONVERTER +5V +5V D/A CONVERTER +5V
PTE-026-01 PTE-026-02 PTE-026-03 PTE-026-04 PTE-026-05
DATA BUS DATA BUS DATA BUS DATA BUS DATA BUS
ADDRESS BUS ADDRESS BUS ADDRESS BUS ADDRESS BUS ADDRESS BUS
CONTROL BUS CONTROL BUS CONTROL BUS CONTROL BUS CONTROL BUS
P1.0 P1.4
RD CS A0 CS
P1 ROM P1.1 P1.5 IN OUT
8255 A0 RD 8251 0804 CS 0832 CS
P1.2 P1.6
WR A1 WR CLK WR RD INTR WR
8031
P1.3 P1.7
RS-232
PORT A PORT B PORT C
RAM CLOCK GENERATOR
RS-232 REE RESET STEP C.0 C.1 C.2 C.3 C.4 C.5 C.6 C.7
CCLK
GND GND GND GND GND GND GND GND GND GND
-15V -15V -15V -15V -15V -15V -15V -15V -15V -15V
+15V +15V +15V +15V +15V +15V +15V +15V +15V +15V +15V +15V
+5V LED MATRIX +5V +5V 7 SEGMENT +5V +5V LOUDSPEAKER +5V +5V POWER SUPPLY +5V +5V TRAFFIC LIGHT +5V +5V STEPPING MOTOR +5V
PTE-026-06 PTE-026-07 PTE-026-08 PTE-026-09 PTE-MP1-01 PTE-MP1-02
R 5V/24V 6
INT. EXT.
Y 7
CLOCK W1 W1
R1 A 5
G w 8
CW
1 W2 W1 W2
CCW W4
R2 B EXT.
R G
ROW
FULL STEP
TTL
W2
2 W3 W3 W3
R3 C HALF STEP
TTL W4 W4
R4 D IN
8
R5 COLUMN E 2 0
R 342 18
4 324 36
R6 F
Y
306 54
R7 C1 C2 C3 C4 C5 G
VOLUME G 288 72
3
3 1
270 90
R G 7
6
ON 4
252 108
MIN MAX
234 126
R G
OFF 5 216 144
198 162
180
GND GND GND GND GND GND GND GND GND GND GND GND
-15V -15V -15V -15V -15V -15V -15V -15V -15V -15V -15V -15V
Jl. PUDAK No. 4 Bandung 40113, Jawa Barat-INDONESIA - Phone. +62-22-727 2755 (Hunting)
Fax. +62-22-720 7252 - E-mail: contact@pudak.com - Website: www.pudak.com
Kata Pengantar
Pesawat latih “Microcontroller Trainer” ini, dipersiapkan untuk praktek perangkat keras,
perangkat lunak, pemrograman dan antar muka dengan mikrokontroler. Pesawat latih ini
dirancang dalam bentuk modul-modul, sehingga lebih memudahkan pemakai untuk
mempergunakannya dan mengambil suatu pengertian dari hasil proses belajar-mengajar.
Untuk menunjang agar proses belajar-mengajar praktek perangkat keras, perangkat lunak,
pemograman dan antar muka dengan mikrokontroler dapat terlaksana dengan baik dan
sesuai tujuan, diperlukan adanya petunjuk tertulis sebagai penuntun pelaksanaan praktek.
Oleh karena itu, Buku petunjuk percobaan yang menyertai pesawat latih ini dibuat agar para
pemakai dapat melaksanakan praktek dengan tahapan-tahapan yang benar.
Namun demikian para pemakai pesawat latih “Microcontroller Trainer” diharapkan telah
mempunyai latar belakang pengetahuan dasar tentang mikrokontroler baik perangkat lunak
maupun perangkat keras, teknik antar muka, elektronika digital, pengetahuan tentang
pemakaian alat-alat ukur elektronika seperti: multimeter, probe logic dan lain sebagainya,
sehingga akan lebih memudahkan pemakai dalam memahami setiap praktek yang dilakukan.
Pudak Scientific
i
ii
Daftar Isi
iii
iv
I. PENDAHULUAN
Pada buku petunjuk percobaan ini disajikan langkah-langkah penggunaan perangkat
latih Microcontroller Trainer secara sistematis dan jelas dalam melaksanakan praktek
yang meliputi:
DE05001 Pengenalan 8031 Central Processing Unit
DE05002 Antar muka dengan DAC (Digital To Analog Converter)
DE05003 Antar muka dengan ADC (Analog To Digital Converter)
DE05004 Antar muka dengan PPI (Programmable Peripheral Interface)
DE05005 Antar muka dengan PSCI (Programmable Serial Communication Interface)
DE05006 Seven segment
DE05007 LED matrix
DE05008 Motor stepper
DE05009 Lampu lalu lintas
Setiap nomor percobaan terdiri atas beberapa komponen yang telah disusun sedemikian
rupa sehingga mempermudah pemakai untuk melakukan persiapan, proses, dan
mengambil suatu pengertian.
Komponen-komponen yang dimaksud terdiri dari:
Nomor Percobaan
Menunjukkan urutan percobaan yang ada pada buku ini.
Judul Percobaan
Memberikan gambaran arah dan penekanan percobaan yang akan dilakukan.
1. Tujuan Percobaan
Memberikan petunjuk tentang sasaran yang akan dicapai atau perubahan tingkah
laku yang diharapkan setelah melaksanakan kegiatan percobaan
2. Pendahuluan
Memberikan suatu gambaran pengetahuan awal sebagai bekal untuk melakukan
suatu percobaan agar tidak terjadi kesalahan dalam menerjemahkan hasil
percobaan.
3. Buku Bacaan
Adalah daftar buku yang perlu dibaca agar penguasaan materi pada suatu
percobaan cepat tercapai.
4. Peralatan
Terdiri atas dua jenis yaitu:
Kedua jenis peralatan tersebut merupakan kelengkapan yang harus disiapkan untuk
melaksanakan suatu kegiatan percobaan.
Pendahuluan |1
5. Langkah Kerja
Merupakan petunjuk yang harus diikuti dalam proses melaksanakan suatu kegiatan
praktek karena erat kaitannya dengan hasil yang akan dicapai.
6. Evaluasi
Memberikan suatu gambaran tentang hasil praktek yang telah dilakukan sekaligus
merupakan kontrol apakah percobaan yang dilakukan sudah dimengerti atau tidak.
2| Pendahuluan
Pengenalan 8031 Central DE05001
Processing Unit
I. Tujuan
Setelah melaksanakan percobaan ini, diharapkan siswa dapat:
1. Mengetahui sistem minimum mikrokontroler sebagai unit pemroses.
2. Melakukan pembuatan program dan menjalankannya pada unit pemroses.
II. Pendahuluan
Pada suatu sistem mikrokontroler, minimal harus terdapat mikrokontroler, ROM dan
RAM. Masing-masing bagian memiliki keterkaitan satu sama lain dengan fungsi yang
berbeda-beda. Mikrokontroler berfungsi untuk menjalankan program yang tersimpan
pada ROM sedangkan RAM digunakan untuk menyimpan data sementara hasil
pengolahan mikrokontroler. ROM yang terdapat pada 8031 CPU, keberadaannya di
ganti dengan sebuah perangkat (ROM Emulator) di mana didalamnya terdapat RAM
sebagai tempat untuk menyimpan program yang akan dijalankan oleh mikrokontroler.
Program tersebut di down load melalui komputer.
Pada sistem mikrokontroler hubungan antara mikrokontroler, ROM, RAM maupun
masukan/keluaran lainnya dikelompokkan dalam 3 bagian, yaitu:
1. Data bus
Data bus berfungsi sebagai jalur untuk transfer data program yang harus
dijalankan dari ROM ke mikrokontroler atau transfer data dari mikrokontroler ke
RAM dan perangkat keluaran atau transfer data dari RAM dan masukan menuju
mikrokontroler atau antar masukan dengan keluaran dengan dikendalikan oleh
mikrokontroler.
2. Address bus
Address bus berfungsi sebagai jalur pengalamatan masing-masing komponen
yang terhubung ke mikrokontroler. Masing-masing komponen harus memiliki
alamat yang berbeda satu sama lainnya. Untuk sistem pengalamatan
(addressing) digunakan address decoder.
3. Control bus
Control bus merupakan jalur yang terdapat pada mikrokontroler yang terhubung
untuk mengontrol atau mengakses bagian-bagian lain.
Gambar 1.1 berikut ini menunjukkan blok diagram sistem mikrokontroler.
V. Langkah Kerja
1. Siapkan peralatan yang diperlukan.
2. Rangkai peralatan seperti pada Gambar 1.2.
Gambar 1.2
3. Jalankan program aplikasi SciTE [PT981702 Microcontroller Trainer] dari Start
Menu, seperti pada gambar berikut:
Gambar 1.3
4. Klik File, pilih New untuk membuat file baru seperti gambar berikut:
6. Kemudian simpan file tersebut dengan nama file CPU.ASM, dengan meng-klik
ikon save seperti gambar berikut:
Gambar 1.5
7. Kompilasikan file CPU.ASM menjadi file dengan nama CPU.HEX dengan meng-klik
menu Tools kemudian pilih Compile seperti pada gambar berikut ini:
Gambar 1.7
9. Dari hasil kompilasi, jika tidak terjadi kesalahan penulisan syntax maka akan
didapat dua tipe file yaitu CPU.HEX dan CPU.LST.
10. Jika terjadi kesalahan, compiler akan memberi tahu letak kesalahan dengan
memberi petunjuk pada baris keberapa kesalahan itu terjadi, seperti contoh
dibawah ini (Gambar 1.8).
Gambar 1.9
13. Jika tidak terjadi kesalahan maka pada jendela keluaran akan menampilkan
informasi first address dan last address, seperti gambar 1.10 dibawah ini.
VI. Evaluasi
1. Sebutkan dan jelaskan bagian-bagian pada sistem minimum mikrokontroler?
2. Buatkan kesimpulan mengenai langkah-langkah yang harus dilakukan dalam
membuat program untuk mikrokontroler?
I. Tujuan
Setelah melakukan percobaan ini, siswa diharapkan dapat:
1. Mengetahui koneksi mikrokontroler dengan DAC.
2. Membuat program untuk mengakses DAC
II. Pendahuluan
Digital to analog converter adalah suatu rangkaian elektronik yang dapat menghasilkan
arus atau tegangan secara terus menerus pada keluaran. Arus atau tegangan
keluarannya sebanding dengan tegangan referensi dikalikan dengan kombinasi biner N
bit, seperti terlihat pada persamaan berikut ini:
( DIGITALCOD E −128 )
VOUT = VREF
128
RD
WR register masukan
Penguat
R-2R Resistor
Keluaran Keluaran
CS ladder
D0 ....D7
Masukan
Gambar 2.1.
Koneksi antara mikrokontroler dengan DAC diperlihatkan seperti pada Gambar 2.2.
D0 ....D7 D0 ....D7
sistem
mikrokontroler
DAC
RD RD Keluaran
WR WR
address
CS
decoder
Gambar 2.2.
CS
WR
DATA valid
Gambar 2.3.
IV. Peralatan
V. Langkah Kerja
1. Siapkan peralatan yang dibutuhkan.
2. Rangkai peralatan seperti Gambar 2.4.
org 00h
ulang: mov a,p1 ;ambil data dari P1,simpan di Accumulator
mov dptr,#4000h ;persiapan alamat dac
movx @dptr,a ;kirim data pada Accumulator ke DAC
jmp ulang ;ulangi lagi langkah awal
END
VI. Evaluasi
1. Buatkan diagram alir untuk program di atas?
2. Dari tabel di atas berapakah nilai per bit dari DAC?
3. Sebutkan aplikasi DAC?
I. Tujuan
Setelah melakukan percobaan ini, siswa diharapkan dapat:
1. Mengetahui koneksi mikrokontroler dengan ADC.
2. Membuat program untuk mengakses ADC.
3. Membuat program interupsi.
II. Pendahuluan
Analog to digital converter berfungsi untuk mengubah sinyal analog menjadi data
digital. ADC yang digunakan pada percobaan ini adalah tipe successive-approximation.
Tipe ini memiliki waktu konversi yang tetap. Gambar 3.1 memperlihatkan diagram blok
ADC successive-approximation.
RD INT
WR kontrol register geser
Logika dan Register keluaran
CS
D0 ....D7
DAC
masukan Komparator
analog
S/H
Gambar 3.1.
Koneksi mikrokontroler dengan ADC diperlihatkan seperti pada Gambar 3.2
D0 ....D7 D0 ....D7
sistem
ADC
mikrokontroler
RD RD
masukan
WR WR analog
address
CS
decoder
INT1 INT
Gambar 3.2.
CS CS
WR RD
INT INT
konversi selesai
IV. Peralatan
Utama: 8031 central processing unit
A/D converter
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer/program aplikasi SciTE [PT981702 Microcontroller Trainer]
Catu daya variabel
Multimeter
Probe logic
Gambar 3.4.
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Atur saklar nomor 2 pemilih alamat A/D Converter pada posisi ON.
5. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer] dan simpan dengan nama file ADC.ASM.
org 00h
jmp mulai ;loncat ke label mulai
org 13h
call layananinterupsi ;jalankan layanan interupsi
reti
mulai:
setb ea ;aktifkan interupsi
setb ex1 ;aktifkan interupsi eksternal 1
setb it1 ;
ulang:
mov dptr,#6000h ;siapkan alamat ADC
movx @dptr,a ;mulai konversi
jnb 21h.0,$ ;tunggu konversi selesai
clr 21h.0 ;tanda konversi di "0"
movx a,@dptr ;ambil data dari ADC
mov p1,a ;kirim ke P1
jmp ulang ;loncat ke label ulang
layananinterupsi:
clr ea ;nonaktifkan interupsi
setb 21h.0 ;buat tanda konversi telah selesai("1")
setb ea ;aktifkan kembali interupsi
ret
END
VI. Evaluasi
1. Buat diagram alir untuk mengakses ADC?
2. Buat diagram alir untuk program interupsi di atas?
3. Sebutkan parameter-parameter untuk inisialisasi interupsi eksternal 1?
4. Apa fungsi bit it1?
5. Sebutkan aplikasi ADC?
I. Tujuan
Setelah melakukan percobaan ini, siswa diharapkan dapat:
1. Mengetahui koneksi mikrokontroler dengan PPI.
2. Membuat program untuk PPI.
II. Pendahuluan
PPI atau programmable perpheral interface berfungsi untuk menambah saluran
masukan dan keluaran pada sistem mikrokontroler. Fungsi sebagai masukan atau
keluaran ditentukan melalui perangkat lunak. PPI yang digunakan pada percobaan ini
adalah 8255 dari Intel Corporation. 8255 memiliki 3 jalur masukan keluaran yang dapat
diprogram secara individu. Diagram blok 8255 ditunjukkan seperti pada Gambar 4.1.
Data
D0..D7 Port A
bus buffer
Control
group
& Port B
Group
Port
RD
Read,write
WR
control Port C
CS logic
A0
A1
Gambar 4.1.
Koneksi mikrokontroler dengan PPI diperlihatkan seperti pada Gambar 4.2.
D0 ....D7 D0 ....D7
sistem
PPI
mikrokontroler
RD RD
WR WR
A0 A0
A1 A1
address CS
decoder
RESET RESET
Gambar 4.2.
A1 A0 RD WR CS Operasi Membaca
A1 A0 RD WR CS Operasi Menulis
PPI 8255 memiliki kemampuan untuk diprogram dalam tiga mode yang berbeda
yaitu:
1. Mode 0, Basic Input/Output
2. Mode 1, Strobe Input/Output
3. Mode 2, BidDirectional Bus
Pemilihan mode dilakukan dengan memprogram register kontrol pada PPI.
Gambar 4.3 menunjukan definisi format mode dari register kontrol.
GROUP B
PORT C (LOWER)
1=INPUT
0=OUTPUT
PORT B
1=INPUT
0=OUTPUT
MODE SELECTION
1=MODE 0
0=MODE 1
GROUP A
PORT C (UPPER)
1=INPUT
0=OUTPUT
PORT A
1=INPUT
0=OUTPUT
MODE SELECTION
00=MODE 0
01=MODE 1
1X=MODE 2
Gambar 4.3.
IV. Peralatan
Gambar 4.4.
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Atur saklar nomor 3 pemilih alamat Parallel Input/Output pada posisi ON.
5. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer] dan simpan dengan nama file PPI1.ASM.
org 00h
jmp mulai
org 13h
reti
mulai:
lcall delay
lcall delay
lcall delay
lcall delay
lcall delay
mov dptr,#8003h ;persiapan akses register kontrol
mov a,#10000010b ;pilih mode
movx @dptr,a ;kirim mode ke PPI
ulang: mov dptr,#8001h ;persiapan baca port B
movx a,@dptr ;baca data port B simpan di Accumulator
mov dptr,#8000h ;persiapan tulis port A
movx @dptr,a ;tulis port A dengan data dari
Accumulator
jmp ulang ;loncat ke label ulang
delay: mov r4,#20
loop1: mov r3,#10
djnz r3,$
djnz r4,loop1
ret
END
6. Kompilasikan file PPI1.ASM menjadi PPI1.HEX dengan perintah Compile kemudian
konversikan ke PPI1.BIN dengan perintah Build pada menu Tools.
Gambar 4.5.
14. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer] dan simpan dengan nama file PPI2.ASM.
org 13h
reti
mulai:
lcall delay ; tunggu hingga ppi siap
lcall delay
lcall delay
lcall delay
lcall delay
mov dptr,#8003h ;persiapan akses register kontrol
mov a,#10000001b ;pilih mode
movx @dptr,a ;kirim mode ke PPI
ulang: mov dptr,#8002h ;persiapan baca port C
movx a,@dptr ;baca data port C0-C3 simpan di
Accumulator
swap a ;tukar posisi upper Acc dengan lower Acc
movx @dptr,a ;tulis port C4-C7 dengan data dari
Accumulator
jmp ulang ;loncat ke label ulang
delay: mov r4,#20
loop1: mov r3,#10
djnz r3,$
djnz r4,loop1
ret
END
15. Kompilasikan file PPI2.ASM menjadi PPI2.HEX dengan perintah Compile, kemudian
konversikan PPI2.HEX ke PPI2.BIN dengan perintah Build pada menu Tools.
16. Nyalakan catu daya, dan reset 8031 CPU.
17. Klik menu Tools, pilih perintah Go untuk menjalankan proses pengiriman data
file PPI2.BIN ke mikrokontroler.
18. Reset 8031 CPU.
19. Amati dan catat pada Tabel 4.3 keluaran C4 sampai C7 untuk setiap perubahan
masukan C0 sampai C3 seperti pada Tabel 4.3.
Tabel 4.3.
Masukan Keluaran
No
C3 C2 C1 C0 C7 C6 C5 C4
1 0 0 0 0
2 0 0 0 1
3 0 0 1 0
4 0 1 0 0
5 1 0 0 0
6 0 0 1 1
7 0 1 1 1
8 1 1 1 1
20. Matikan catu daya.
I. Tujuan
II. Pendahuluan
PSCI adalah perangkat yang digunakan untuk mengubah data paralel menjadi data serial
untuk ditransmisikan dan menerima data serial untuk diubah kembali ke dalam format data
paralel. Salah satu tipe yang digunakan adalah 8251 produksi Intel Corporation. 8251
sangat fleksibel dalam penggunaannya, karena dalam menentukan konfigrasinya cukup
dengan menggunakan perangkat lunak. Gambar 5.1 memperlihatkan diagram blok 8251.
Status register
Rx data buffer internal Tx Data
D0..D7 Tx data buffer bus
Control register
Sync chararacter
register
Transmitter Rx Data
with Tx buffer
Receiver
with Rx buffer
RD Modem Control
WR Control RTS
logic
C/D CTS
RESET
CLK
CS
Gambar 5.1.
Koneksi antara mikrokontroler dengan 8251 diperlihatkan Gambar 5.2 berikut ini:
D0 ....D7 D0 ....D7
Sistem
SERIAL I/O
mikrokontroler
RD RD
WR WR
A0 C/D
address CS RTS
decoder
RESET RESET CTS
Gambar 5.2.
ST1 ST0 P1 P0 L1 L0 B1 B0
B1 B0 Baud Rate
0 1 x1 Clock
1 0 x16 Clock
1 1 x64 Clock
L1 L0 Character Length
0 0 5-bit
0 1 6-bit
1 0 7-bit
1 1 8-bit
P1 P0 Parity Generate/Check
x 0 No Parity
0 1 Odd Parity
1 1 Even Parity
0 0 Use Illegal
1 1-bit
0 1-1/2 bit
1 2-bit
Gambar 5.3.
7 6 5 4 3 2 1 0
SSC EXSYNC P1 P0 L1 L0 0 0
L1 L0 Character Length
0 0 5-bit
0 1 6-bit
1 0 7-bit
1 1 8-bit
P1 P0 Parity Generate/Check
x 0 No Parity
0 1 Odd Parity
1 1 Even Parity
0 Internally (output)
1 Externally (input)
0 2 (SSC)
1 1
Gambar 5.4.
0 Disable
1 Enable
0 DTR=1
1 DTR=0
0 Disable
1 Enable
1 TxDATA = 0
0 No Operation
0 RTS= 1
1 RTS=0
0 No Operation
1 Reset Operation
0 No Operation
Gambar 5.5.
3. Status Register
Register ini berfungsi untuk menyimpan informasi status 8251. Untuk
mengetahui status dari 8251, mikrokontroler harus membaca register ini. Gambar
5.6 memperlihatkan format status register.
0 Full
1 Empty
PE Parity Error
0 No Error
1 Error
1 TxDATA = 0
FE Framing Error
0 No Operation
0 DSR= 1
1 DSR=0
Gambar 5.6.
Operasi dasar 8251 diperlihatkan Tabel 5.1 berikut ini:
Tabel 5.1
C/D RD WR CS Operasi
0 0 1 0 Data 8251 ke data bus
0 1 0 0 Data bus ke data 8251
1 0 1 0 Status 8251 ke data bus
Data bus ke register
1 1 0 0
control
x 1 1 0 Data bus ke 3 state
x x x 1 Data bus ke 3 state
Pada percobaan kali ini akan dilakukan komunikasi data serial melalui serial
input/output dengan serial 8031 CPU. Diagram alir percobaan komunikasi serial
diperlihatkan seperti Gambar 5.7 berikut ini:
inisialisasi
serial CPU,
serial i/o
YA
YA
TIDAK
data = 55h?
YA
YA
TIDAK
data= aah ?
YA
pesan BLINK
Gambar 5.7.
IV. Peralatan
V. Langkah Kerja
Gambar 5.8
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Atur saklar nomor 4 pemilih alamat Serial Input/Output pada posisi ON.
5. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer] dan simpan dengan nama file SERIAL.ASM.
org 03h
reti
org 0bh
reti
org 13h
reti
org 1bh
reti
org 023h
lcall RoutineSerial
reti
mulai:
call Init
call delay1
mov dptr,#0A001h
mov a,#00000000b
movx @dptr,a
call delay1
movx @dptr,a
call delay1
movx @dptr,a
call delay1
mov a,#40h
movx @dptr,a
call delay1
mov a,#01001101b ;mode asyncronous,baudrate=1xClock,
movx @dptr,a ;8karakter,no parity,1 bit stop
call delay1
mov a,#00110101b ;rts,errorflagclear,rxen,txen-->aktif
mov dptr,#0A001h
movx @dptr,a
testlagi:
mov dptr,#0A001h ;persiapan baca status serial i/o
movx a,@dptr ;baca data serial i/o
jnb acc.0,testlagi ;serial i/o siap kirim data?
;jika tidak baca status hingga siap
;jika siap kirim data
mov a,#01010101b ;kirim data 55h melalui serial i/o
mov dptr,#0A000h
movx @dptr,a
mov a,#00h ;pastikan accumulator berisi 00h
mov r7,#0ffh
testlagi1:
djnz r7,dotest
jmp testlagi
dotest:jnb 20h.0,testlagi1 ;apakah 8031 cpu sudah menerima data ?
clr 20h.0 ;bila tidak tunggu hingga diterima.
mov a,sbuf ;bila ya banding data yang diterima
cjne a,#55h,testlagi
clr es
mov a,#10101010b ;kirim ack=aah data sudah diterima
mov sbuf,a
jnb ti,$ ;tunggu hingga data terkirim
clr ti
setb es
getrxrdyhigh:
mov dptr,#0A001h ;persiapan baca status serial i/o
movx a,@dptr ;baca status serial i/o
jnb acc.1,getrxrdyhigh ;serial i/o sudah menerima data ?
;tunggu hingga menerima data.
mov dptr,#0A000h ;jika sudah diterima,persiapan ambil data
movx a,@dptr ;ambil data pada serial i/o
cjne a,#0aah,testlagi ;jika data=aah tampilkan pesan blink
;jika tidak sama kembali ke label testlagi
;======Pesan blink======================
END
6. Kompilasikan file SERIAL.ASM menjadi SERIAL.HEX dengan perintah Compile
pada menu Tools, kemudian file SERIAL.HEX tersebut dikonversikan menjadi file
berupa biner (SERIAL.BIN) dengan perintah Build pada menu yang sama.
7. Nyalakan catu daya dan reset 8031 CPU.
8. Kirim data file SERIAL.BIN ke mikrokontroler dengan perintah Go pada menu
Tools.
9. Reset 8031 CPU.
10. Amati dan catat pada tabel 5.2 keadaan LED matrix.
11. Sekarang lepaskan kabel serial.
12. Reset 8031 CPU.
13. Amati dan catat pada Tabel 5.2 keadaan LED matrix.
Tabel 5.2.
I. Tujuan
Setelah melaksanakan percobaan ini siswa diharapkan dapat:
1. Mengetahui tipe seven segment.
2. Membuat program untuk seven segment.
II. Pendahuluan
Secara umum perangkat peraga (display) digunakan untuk menampilkan data untuk
dapat dilihat mata. Di bidang elektronik terdapat banyak tipe peraga, salah satunya adalah
seven segment. Bentuk dasar seven segment diperlihatkan seperti pada Gambar 6.1.
Gambar 6.1.
Dalam konstruksinya seven segment dibagi menjadi 2 tipe yaitu common anode dan
common cathode. Pada tipe common anode kutub anoda LED tersambung satu sama
lainnya, sedangkan pada tipe common cathode kutub katoda LED tersambung satu sama
lainnya.
Standar karakter numerik pada seven segment ditunjukkan seperti pada tabel 6.1.
Tabel 6.1
Data Biner
Karakter Numerik
A B C D E F G
1 0 1 1 0 0 0 0
2 1 1 0 1 1 0 1
3 1 1 1 1 0 0 1
4 0 1 1 0 0 1 1
5 1 0 1 1 0 1 1
6 0 0 1 1 1 1 1
7 1 1 1 0 0 0 0
8 1 1 1 1 1 1 1
9 1 1 1 0 0 1 1
0 1 1 1 1 1 1 0
Seven Segment | 37
III. Buku Bacaan
IV. Peralatan
V. Langkah Kerja
Gambar 6.2
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer]. Simpan file tersebut dengan nama file SEGMENT.ASM.
38 | Seven Segment
org 00h
jmp mulai
org 13h
reti
mulai:
mov a,#10010000b ;masukan data karakter ke accumulator
mov p1,a ;tampilkan di seven segment
jmp mulai ;loncat ke label mulai
END
5. Kompilasikan file SEGMENT.ASM menjadi file berupa heksa SEGMENT.HEX.
Konversikan file SEGMENT.HEX ke bentuk file biner menjadi SEGMENT.BIN.
6. Nyalakan catu daya dan reset 8031 CPU.
7. Download file SEGMENT.BIN ke mikrokontroler dengan perintah Go pada menu
Tools.
8. Reset 8031 CPU.
9. Amati dan catat pada tabel 6.2 karakter yang terbentuk pada seven segment.
10. Ulangi langkah 4 sampai 9 untuk setiap data karakter seperti pada tabel 6.2.
Tabel 6.2.
VI. Evaluasi
Seven Segment | 39
LED Matrix DE05007
I. Tujuan
II. Pendahuluan
Matrik LED (LED matrix) adalah sekumpulan LED yang disusun membentuk suatu matrik
baris dan kolom. Untuk lebih jelasnya, Gambar 7.1 menunjukkan suatu matrik LED.
baris 1 (R1)
baris 2 (R2)
baris 3 (R3)
baris 4 (R4)
baris 5 (R5)
baris 6 (R6)
baris 7 (R7)
kolom 1(C1)
kolom 2(C2)
kolom 3(C3)
kolom 4(C4)
kolom 5(C5)
Gambar 7.1.
Karakter dibentuk dengan menyalakan LED pada masing-masing baris dan kolom.
Sebagai contoh, Gambar 7.2 memperlihatkan pembentukan karakter “P”.
Gambar 7.2.
40 | Seven Segment
Pada sistem matrik, LED dinyalakan secara multiplek, artinya untuk setiap data yang masuk
diperuntukkan hanya untuk satu kolom LED demikian untuk data berikutnya diperuntukkan
untuk kolom berikutnya pula. Gambar 7.3 memperlihatkan diagram waktu untuk
membentuk karakter “P” seperti pada Gambar 7.2.
R1 1 1 1 1 0
R2 1 0 0 0 1
R3 1 0 0 0 1
R4 1 1 1 1 0
R5 1 0 0 0 0
R6 1 0 0 0 0
R7 1 0 0 0 0
C1 1 0 0 0 0
C2 0 1 0 0 0
C3 0 0 1 0 0
C4 0 0 0 1 0
C5 0 0 0 0 1
CLK 1 2 3 4 5
Gambar 7.3.
IV. Peralatan
V. Langkah Kerja
Seven Segment | 41
Gambar 7.4.
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Atur saklar nomor 2 pemilih alamat Parallel Input/Output pada posisi ON.
5. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer] dan simpan dengan nama file MATRIX1.ASM
;==========================================
; definisi variabel
;==========================================
; r0 batas maksimum karakter yang akan diambil
; r1 variabel untuk mengambil data karakter
; r5 buffer alamat ram (high)
; r6 buffer alamat ram (low)
org 00h
lcall delay ; tunggu hingga ppi siap
lcall delay
lcall delay
lcall delay
lcall delay
mov r0,#5
mov r1,#00
mov dptr,#6003h ;persiapan akses register kontrol PPI
mov a,#10000000b ;atur semua Port sebagai keluaran
movx @dptr,a ;
mov dptr,#2000h ;persiapan mengakses ram
datakarakter:
call getchr ;dapatkan karakter
movx @dptr,a ;simpan di ram
inc dptr ;persiapan alamat ram berikutnya
inc r1
djnz r0,datakarakter ;dapatkan 5 byte karakter P komplit
;=======program multiplek matrik led======
ulang: mov r5,#20h ;persiapan mengakses ram
mov r6,#00h ;
ulang2: mov dpl,r6 ;
mov dph,r5 ;
movx a,@dptr ;ambil data dari ram,simpan di Accumulator
push dpl ;selamatkan data dptr
push dph ;
mov dptr,#6000h ;persiapan kirim data ke port A
movx @dptr,a ;kirim data di Acccumulator ke port A
inc dptr ;persiapan kirim data ke port B
mov a,#01h ;persiapan menyalakan kolom 1
movx @dptr,a ;nyalakan kolom 1 saja
call delay ;tunda
pop dph ;ambil kembali data dptr
pop dpl ;
inc dptr ;persiapan akses ram berikutnya
movx a,@dptr ;ambil data dari ram,simpan di Accumulator
push dpl ;selamatkan data dptr
push dph ;
mov dptr,#6000h ;persiapan kirim data ke port A
movx @dptr,a ;kirim data di accumulator ke port A
42 | Seven Segment
inc dptr ;persiapan kirim data ke port B
mov a,#02h ;persiapan menyalakan kolom 2
movx @dptr,a ;nyalakan kolom 2 saja
call delay ;tunda
pop dph ;
pop dpl ;
inc dptr ;ambil data berikutnya dari ram
movx a,@dptr
push dpl
push dph
mov dptr,#6000h ;persiapan kirim data ke port A
movx @dptr,a ;kirim data di Accumulator ke port A
inc dptr ;persiapan kirim data ke port B
mov a,#04h ;data kolom 3
movx @dptr,a ;nyalakan kolom 3 saja
call delay
pop dph
pop dpl
inc dptr
movx a,@dptr ;ambil data ram berikutnya
push dpl
push dph
mov dptr,#6000h
movx @dptr,a ;kirim ke port A
inc dptr
mov a,#08h
movx @dptr,a ;nyalakan kolom 4 saja
call delay
pop dph
pop dpl
inc dptr
movx a,@dptr ;ambil data ram berikutnya
push dpl
push dph
mov dptr,#6000h
movx @dptr,a ;kirim ke port A
inc dptr
mov a,#10h
movx @dptr,a ;nyalakan kolom 5 saja
call delay
pop dph
pop dpl
jmp ulang ;loncat ke label ulang
getchr:
mov a,r1
inc a
movc a,@a+PC
ret
db 01111111b
db 00010001b ;p
db 00010001b
db 00010001b
db 00001110b
delay: mov r4,#20
loop1: mov r3,#10
djnz r3,$
djnz r4,loop1
ret
END
6. Kompilasikan file MATRIX1.ASM menjadi MATRIX1.HEX dengan memilih perintah
Compile pada menu Tools. Konversikan file MATRIX1.HEX ke bentuk file biner
menjadi MATRIX1.BIN dengan perintah Build.
7. Nyalakan catu daya.
8. Reset 8031 CPU.
9. Klik Go pada menu Tools untuk mengirim data file MATRIX1.BIN ke mikrokontroler.
10. Reset 8031 CPU.
11. Amati karakter yang terbentuk pada matrik LED.
12. Sekarang buat karakter S pada Tabel 7.1.
Seven Segment | 43
Tabel 7.1.
Data Karakter
Karakter
D7 D6 D5 D4 D3 D2 D1 D0
0
0
S 0
0
0
13. Ulangi langkah 5 sampai dengan 11, tetapi ubah data karakternya menjadi
karakter S seperti pada Tabel 7.1.
14. Matikan catu daya.
15. Buat program berikut ini pada komputer dan simpan dengan nama file
MATRIX2.ASM.
org 00h
lcall delay ; tunggu hingga ppi siap
lcall delay
lcall delay
lcall delay
lcall delay
mov r0,#200
mov r1,#00
mov dptr,#6003h
mov a,#10000000b
movx @dptr,a
mov dptr,#6002h
mov a,#00h
movx @dptr,a
mov dptr,#2000h
loop: call getchr
movx @dptr,a
inc dptr
inc r1
djnz r0,loop
mov r2,#00
ulang: mov r5,#20h
mov r6,#00h
ulang1: mov r7,#30
ulang2: mov dpl,r6
mov dph,r5
movx a,@dptr
push dpl
push dph
mov dptr,#6000h
movx @dptr,a
inc dptr
mov a,#01h
movx @dptr,a
call delay
pop dph
pop dpl
inc dptr
movx a,@dptr
push dpl
push dph
mov dptr,#6000h
movx @dptr,a
inc dptr
mov a,#02h
movx @dptr,a
44 | Seven Segment
call delay
pop dph
pop dpl
inc dptr
movx a,@dptr
push dpl
push dph
mov dptr,#6000h
movx @dptr,a
inc dptr
mov a,#04h
movx @dptr,a
call delay
pop dph
pop dpl
inc dptr
movx a,@dptr
push dpl
push dph
mov dptr,#6000h
movx @dptr,a
inc dptr
mov a,#08h
movx @dptr,a
call delay
pop dph
pop dpl
inc dptr
movx a,@dptr
push dpl
push dph
mov dptr,#6000h
movx @dptr,a
inc dptr
mov a,#10h
movx @dptr,a
call delay
pop dph
pop dpl
djnz r7,ulang2
inc r6
mov a,r6
cjne a,#92,ulang1
jmp ulang
getchr:
mov a,r1
inc a
movc a,@a+PC
ret
db 01111111b
db 00010001b ;p
db 00010001b
db 00010001b
db 00001110b
db 00000000b
db 00111111b
db 01000000b ;u
db 01000000b
db 01000000b
db 00111111b
db 00000000b
db 01111111b
db 01000001b ;d
db 01000001b
db 01000001b
db 00111110b
db 00000000b
db 01111100b
Seven Segment | 45
db 00010010b
db 00010001b
db 00010010b
db 01111100b ;a
db 00000000b
db 01111111b
db 00001000b ;k
db 00010100b
db 00100010b
db 01000001b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00100110b
db 01001001b ;s
db 01001001b
db 01001001b
db 00110010b
db 00000000b
db 00111110b
db 01000001b ;c
db 01000001b
db 01000001b
db 00100010b
db 00000000b
db 00000000b
db 01000001b
db 01111111b ;i
db 01000001b
db 00000000b
db 00000000b
db 01111111b
db 01001001b ;e
db 01001001b
db 01001001b
db 01000001b
db 00000000b
db 01111111b
db 00000100b
db 00001000b ;n
db 00010000b
db 01111111b
db 00000000b
db 00000001b
db 00000001b
db 01111111b ;t
db 00000001b
db 00000001b
db 00000000b
db 00000000b
db 00000000b
db 01111111b
db 00000000b ;i
db 00000000b
db 00000000b
db 01111111b
db 00001001b ;f
db 00001001b
46 | Seven Segment
db 00001001b
db 00000001b
db 00000000b
db 00000000b
db 00000000b
db 01111111b ;i
db 00000000b
db 00000000b
db 00000000b
db 00111110b
db 01000001b
db 01000001b ;c
db 01000001b
db 00100010b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
db 00000000b
VI. Evaluasi
Seven Segment | 47
Motor Stepper DE05008
I. Tujuan
II. Pendahuluan
Motor stepper adalah motor yang mengubah pulsa-pulsa menjadi gerak putar. Gambar
8.1 memperlihatkan rangkaian untuk mengemudikan motor stepper unipolar.
N
S
W4 W3 W2 W1
Gambar 8.1.
Agar motor dapat bergerak, maka pada masukan W1 sampai W4 harus diberi pulsa
dengan kombinasi dan urutan yang benar. Dengan memasukkan kombinasi dan urutan
yang benar motor stepper dapat bergerak satu langkah penuh (full step) maupun
setengah langkah (half step). Tabel 8.1 memperlihatkan kombinasi dan urutan
masukan motor stepper untuk berputar searah jarum jam (CW) atau berputar
berlawanan arah jarum jam (CCW).
48 | Motor Stepper
Tabel 8.1
Full step
Arah putar urutan W1 W2 W3 W4
1 1 0 0 0
2 0 1 0 0
CCW
CW
3 0 0 1 0
4 0 0 0 1
Half step
Arah putar urutan W1 W2 W3 W4
1 1 0 0 0
2 1 1 0 0
3 0 1 0 0
4 0 1 1 0
CCW
CW
5 0 0 1 0
6 0 0 1 1
7 0 0 0 1
8 1 0 0 1
Seperti terlihat pada tabel di atas arah putar ditentukan dari urutan pemberian
pulsa masukan terhadap motor.
IV. Peralatan
V. Langkah Kerja
Motor Stepper | 49
2. Rangkai peralatan seperti pada Gambar 8.2.
Gambar 8.2.
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Buat program berikut ini pada editor program aplikasi SciTE [ PT981702
Microcontroller Trainer ] dan simpan dengan nama file FULLSTEP.ASM.
org 00h
clr c ;buat carry ="0"
ulang1:
mov a,#00010001b ;nyalakan W1
mov P1,a
mov r3,#4
ulang:
call delay ;tunda
rr a ;nyalakan W berikutnya
mov p1,a
djnz r3,ulang ;
jmp ulang1 ;kembali ke label ulang1
delay: mov r0,#50 ;waktu tunda
loop: mov r1,#50
loop1: mov r2,#50
djnz r2,$
djnz r1,loop1
djnz r0,loop
ret
END
50 | Motor Stepper
Tabel 8.2.
No W1 W2 W3 W4 Arah Putar
1
2
3
4
5
6
7
8
10. Ulangi langkah 4 sampai dengan 8 tetapi ubah perintah rr a pada baris sembilan
menjadi rl a.
11. Reset 8031CPU.
12. Amati dan catat pada Tabel 8.3 keadaan LED stepping motor dan arah putar
motor dimulai saat LED W1 menyala.
Tabel 8.3.
No W1 W2 W3 W4 Arah Putar
1
2
3
4
5
6
7
8
13. Buat program berikut ini pada komputer dan simpan dengan nama
HALFSTEP.ASM.
org 00h
clr c ;buat carry ="0"
ulang1:
mov a,#00010001b ;nyalakan W1
mov P1,a
mov r3,#4
ulang:
call delay ;tunda
rr a ;nyalakan W berikutnya
mov p1,a
djnz r3,ulang ;
jmp ulang1 ;kembali ke label ulang1
Motor Stepper | 51
loop: mov r1,#50
loop1: mov r2,#50
djnz r2,$
djnz r1,loop1
djnz r0,loop
ret
END
14. Compile file HALFSTEP.ASM menjadi HALFSTEP.HEX. Klik Compile pada menu
Tools kemudian konversikan file HALFSTEP.HEX menjadi HALFSTEP.BIN dengan
memilih perintah Build pada menu yang sama.
15. Pilih Go pada menu Tools untuk mengirimkan data file HALFSTEP.BIN ke
mikrokontroler.
16. Reset 8031 CPU.
17. Amati dan catat pada Tabel 8.4 keadaan LED pada stepping motor dan arah
putar motor.
Tabel 8.4.
No W1 W2 W3 W4 Arah Putar
1
2
3
4
5
6
7
8
18. Buat program berikut ini pada komputer dan simpan dengan nama file HALF2.ASM
org 00h
ulang:
mov r0,#08h ;persiapan urutan 1
nextstep:
call encode ;panggil kombinasi sesuai urutan pada R0
mov p1,a ;masukan ke motor stepper
call delay ;tunda
dec r0 ;urutan berikutnya
mov a,r0
cjne a,#0h,nextstep ;sudah urutan ke 8,belum ? kembali ke nextstep
jmp ulang ;sudah ? kembali ke urutan pertama
52 | Motor Stepper
db 00010001b
db 00110011b
db 00100010b
db 01100110b
db 01000100b
db 11001100b
db 10001000b
db 10011001b
END
19. Kompilasikan file HALF2.ASM menjadi HALF2.HEX dengan perintah Compile pada
menu Tools dan ubah file HALF2.HEX ke bentuk biner menjadi HALF2.BIN dengan
perintah Build pada menu yang sama.
20. Kirim data file HALF2.BIN ke mikrokontroler dengan memilih perintah Go pada
menu yang sama.
21. Reset 8031 CPU.
22. Amati dan catat pada Tabel 8.5 keadaan LED stepping motor dan arah putar motor.
Tabel 8.5
No W1 W2 W3 W4 Arah Putar
1
2
3
4
5
6
7
8
23. Matikan catu daya.
VI. Evaluasi
1. Buatkan diagram alir untuk program fullstep baik untuk arah putar motor CW
maupun CCW?
2. Buatkan diagram alir untuk program halfstep?
3. Buatkan diagram alir untuk program half2?
4. Apa perbedaan half step dengan full step?
Motor Stepper | 53
Lampu Lalu Lintas DE05009
I. Tujuan
Setelah melakukan percobaan ini, siswa diharapkan dapat membuat program
pengontrolan lampu lalu lintas dengan menggunakan mikrokontroler.
II. Pendahuluan
Pada percobaan ini akan dibuat suatu program yang mengontrol lampu lalu lintas pada
jalan simpang tiga. Gambar 9.1 memperlihatkan jalan simpang tiga berikut letak lampu-
lalu lintasnya.
3 1
Gambar 9.1.
Urutan penyalaan lampu lalu lintas Gambar 9.1 ditunjukkan seperti pada Tabel 9.1 berikut ini.
Tabel 9.1.
Lampu 1 Lampu 2 Lampu 3 Lampu 4 Lampu 5
No
M K H M H M K H M H M H
1 0 0 1 1 0 1 0 0 0 1 1 0
2 0 1 0 1 0 1 0 0 0 1 1 0
3 1 0 0 1 0 1 0 0 1 0 1 0
4 1 0 0 0 1 0 0 1 1 0 1 0
5 1 0 0 0 1 0 1 0 1 0 1 0
6 1 0 0 0 1 1 0 0 1 0 1 0
7 1 0 0 0 1 1 0 0 0 1 0 1
8 1 0 0 1 0 1 0 0 1 0 1 0
54 | Lampu Lalu-Lintas
III. Buku Bacaan
V. Langkah Kerja
Gambar 9.2
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Atur saklar nomor 1 pemilih alamat Parallel Input/Output pada posisi ON.
5. Buat program berikut ini pada editor program aplikasi SciTE [ PT981702
Microcontroller Trainer]. Simpan file tersebut dengan nama TRAFFIC.ASM.
org 00h
lcall delayppi ; tunggu hingga ppi siap
lcall delayppi
lcall delayppi
lcall delayppi
lcall delayppi
mov dptr,#4003h
mov a,#80h
movx @dptr,a
ulang:
mov dptr,#4000h
mov a,#00101100b ;urutan 1
movx @dptr,a
inc dptr
Lampu Lalu-Lintas | 55
mov a,#11110110b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#00101010b ;urutan 2
movx @dptr,a
inc dptr
mov a,#11110110b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#00101001b ;urutan 3
movx @dptr,a
inc dptr
mov a,#11110101b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#10010001b ;urutan 4
movx @dptr,a
inc dptr
mov a,#11110101b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#01010001b ;urutan 5
movx @dptr,a
inc dptr
mov a,#11110101b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#00110001b ;urutan 6
movx @dptr,a
inc dptr
mov a,#11110101b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#00110001b ;urutan 7
movx @dptr,a
inc dptr
mov a,#11111010b
movx @dptr,a
mov r0,#1
call delay
mov dptr,#4000h
mov a,#00101001b ;urutan 8
movx @dptr,a
inc dptr
mov a,#11110101b
movx @dptr,a
56 | Lampu Lalu-Lintas
mov r0,#1
call delay
ljmp ulang
delay:
mov r1,#100
delay2:
mov r2,#100
delay1:
mov r3,#100
djnz r3,$
djnz r2,delay1
djnz r1,delay2
djnz r0,delay
ret
delayppi:
mov r4,#20
delppi:
mov r5,#10
djnz r5,$
djnz r4,delppi
ret
END
Lampu Lalu-Lintas | 57
Tabel 9.2.
VI. Evaluasi
58 | Lampu Lalu-Lintas
III. LAMPIRAN
Lampiran | 59
D1
1 2
D3
3 4
D5
5 6
D7
7 8
A1
9 10
11 12
WR
13 14
INT1
15 16
T1
17 18
RESET
19 20
CS2
21 22
CS4
23 24
CS6
25 26
Keterangan:
1. D0 – D7, jalur data
2. A0 – A1, jalur alamat
3. RD, jalur read control
4. WR, jalur write control
5. INT0 – INT1, jalur interupsi eksternal 0 dan eksternal 1
6. T0 –T1, jalur timer 0 – timer 1
7. RESET, jalur reset
8. CS1 – CS6, jalur address decoder
Port serial pada 8031 CPU dihubungkan dengan MAX232 untuk mengubah
level digital ke level RS-232. Gambar di bawah ini menunjukkan koneksi serial
RS-232 pada 8031 CPU.
9 5
GND
RxD ke MAX232
TxD
6 1
2. A/D Converter
ADC yang digunakan adalah tipe 0804 yang merupakan jenis successive-
aproximation dengan waktu konversi 100µS. ADC bekerja dengan tegangan 5V.
Hubungan ADC dengan 8031 CPU dilakukan melalui soket IDC 26 pin. Untuk
memilih koneksi CS (chip select) dengan address decoder disediakan saklar 6 DIP.
Koneksi dapat terjadi jika salah satu saklar dip berada pada posisi ON. Jangan
pernah memposisikan lebih dari satu saklar dip pada posisi ON, karena hal ini akan
menyebabkan terjadi kesalahan pengalamatan. Tabel berikut ini menunjukkan
nomor saklar dip pada posisi ON dengan alamat yang terkoneksi.
60 | Lampiran
Nomor saklar dip
Alamat
ON
1 4000H
2 6000H
3 8000H
4 A000H
5 C000H
6 E000H
3. D/A Converter
DAC yang digunakan adalah tipe 0832. DAC dirangkai pada konfigurasi tegangan
keluaran bipolar. Hubungan DAC dengan 8031 CPU dilakukan melalui soket IDC 26
pin. Untuk memilih koneksi CS (chip select) DAC dengan address decoder
disediakan saklar 6 DIP. Koneksi dapat terjadi jika salah satu saklar dip berada pada
posisi ON. Jangan pernah memposisikan lebih dari satu saklar dip pada posisi ON,
karena hal ini akan menyebabkan terjadi kesalahan pengalamatan. Tabel berikut ini
menunjukkan nomor saklar dip pada posisi ON dengan alamat yang terkoneksi.
4. Paralel Input/Output
Paralel input/output yang digunakan adalah tipe PPI 8255 dengan jalur
keluaran/masukan sebanyak 24 jalur yang terbagi dalam 3 port. Hubungan PPI
8255 dengan 8031 CPU dilakukan melalui soket IDC 26 pin. Untuk memilih koneksi
CS (chip select) DAC dengan address decoder disediakan saklar 6 DIP. Koneksi
dapat terjadi jika salah satu saklar dip berada pada posisi ON. Jangan pernah
memposisikan lebih dari satu saklar dip pada posisi ON, karena hal ini akan
menyebabkan terjadi kesalahan pengalamatan. Tabel berikut ini menunjukkan
nomor saklar dip pada posisi ON dengan alamat yang terkoneksi.
Lampiran | 61
Nomor saklar dip
Alamat
ON
1 4000H
2 6000H
3 8000H
4 A000H
5 C000H
6 E000H
5. Serial Input/Output
Serial input/output yang digunakan adalah tipe 8251 dari Intel. Perangkat ini
digunakan untuk komunikasi serial pada sistem mikrokontroler. Dalam operasinya
8251 memerlukan sumber klok yang digunakan sebagai pewaktu internal, klok
penerima (RxCLK) dan klok pengirim (TxCLK). Sumber klok dibangun dari sebuah
krista 2.4576MHz dan IC counter 4060. Untuk keperluan pewaktu internal,
frekuensi diatur pada nilai 153.6kHz, sedangkan untuk klok penerima dan klok
pengirim diatur pada nilai 9.6kHz. Gambar dibawah ini menunjukkan posisi
penghubung pada JP3, JP4, JP5 dengan pengaturan seperti di atas.
Khusus untuk klok penerima dan klok pengirim nilai frekuensi dapat diubah-
ubah dengan memindahkan penghubung pada JP3. Gambar berikut ini
menunjukkan posisi penghubung pada JP3 dan frekuensi yang dihasilkan.
2.4
4.8
9.6
38.4
76.8
62 | Lampiran
Hubungan 8251 dengan 8031 CPU dilakukan melalui soket IDC 26 pin. Untuk
memilih koneksi CS (chip select) 8251 dengan address decoder disediakan saklar 6
DIP. Koneksi dapat terjadi jika salah satu saklar dip berada pada posisi ON. Jangan
pernah memposisikan lebih dari satu saklar dip pada posisi ON, karena hal ini akan
menyebabkan terjadi kesalahan pengalamatan. Tabel berikut ini menunjukkan
nomor saklar dip pada posisi ON dengan alamat yang terkoneksi.
Port serial pada 8251 telah dihubungkan dengan IC MAX232 untuk mengubah
level digital ke level RS-232. Gambar di bawah ini menunjukkan koneksi serial
RS-232 pada 8251.
9 5
GND
TxD ke MAX232
RxD
6 1
Lampiran | 63
B. Gambar Peralatan
64 | Lampiran
Lampiran | 65
66 | Lampiran
Lampiran | 67
68 | Lampiran
C. Cara Merakit Rak Panel
1. Keluarkan semua perangkat ASSEMBLY RACK, yang terdiri atas:
2 buah kaki panjang (a); 6 buah baut kepala kunci "L" (e);
2 buah penopang pendek (b); 4 buah baut kepala obeng "+" (f).
3 batang alumunium (c); 6 buah penutup plastik (g).
6 buah baut kuningan (d);
2. Pasangkan kaki panjang dan kaki pendek, kemudian ikatkan dengan
menggunakan baut berkepala obeng "+", masing-masing 2 buah (lihat gambar
inset 2). Kencangkan ikatan masing-masing baut.
3. Masukkan baut kuningan pada lubang berulir pada batang alumunium masing-
masing dua buah (kiri dan kanan). Perhatikan gambar inset 1, posisi celah
yang lebih dalam (X) pada batang alumunium dipasang menghadap ke bawah.
4. Setelah baut kuningan terpasang semua, satukan batang-batang alumunium
ini dengan kaki besi dengan memasukkan ujung baut kuningan ke lubang
yang sudah tersedia pada kaki besi, ikatlah penyangga ini dengan baut kepala
kunci "L", jangan langsung dikencangkan. Pasanglah semua batang
alumunium pada sebelah kaki terlebih dahulu.
5. Pasangkan kaki besi yang lain pada sisi yang lain batang-batang alumunium,
kemudian pasangkan juga baut pengikatnya.
6. Setelah semua batang alumunium terpasang dan terikat dengan baik, barulah
kencangkan ikatan baut pengikat ini dengan menggunakan kunci "L".
7. Tutuplah lubang baut dengan penutup plastik (g).
a c
g
X
d
Lampiran | 69
D. Cara Penggunaan SciTE [PT981702 Microcontroller Trainer]
Gambaran Umum
SciTE merupakan aplikasi teks editor yang memiliki fitur syntax highlighting untuk bermacam-
macam bahasa pemrograman, seperti C ,C++, phyton, java, asembler dan lainnya.
SciTE [PT981702 Microcontroller Trainer] adalah aplikasi SciTE yang telah
disesuaikan/diadaptasikan untuk keperluan penulisan, compile, konversi file program dan
memasukan/transfer file program ke modul 8031 CPU pada pesawat latih PT981702
Microcontroller trainer.
Secara umum SciTE [PT981702 Microcontroller Trainer] memiliki tampilan seperti gambar di
bawah ini.
1. Area Editor
Pada area ini program ditulis atau dibuat
2. Area Output
Jendela ini menampilkan informasi-informasi pada saat Compile, Build dan Go pada menu Tools.
3. Area Menu
Merupakan menu-menu yang ada pada SciTE [PT981702 Microcontroller Trainer].
4. Ikon Menu
Merupakan Ikon jalan pintas suatu menu.
70 | Lampiran
Membuat File Program
Untuk membuat file program baru dapat dilakukan dengan 2 cara yaitu:
Lampiran | 71
Menyimpan File Program
Untuk menyimpan file program yang baru saja dibuat, dapat dilakukan dengan dua cara yaitu
melalui menu File dan pilihSave, atau melalui ikonSave.
Tentukan folder dimana file program akan disimpan, tuliskan nama file dan beri ekstensi . asm,
kemudian klik Save.
File program yang telah dibuat terlebih dahulu harus di-compile untuk mengetahui apakah
program yang dibuat secara syntax sudah benar atau belum.
Jika program secara syntax sudah benar maka compiler akan membuat file dengan extensi .hex
dengan nama yang sama dengan nama file yang di-compile.
72 | Lampiran
Setelah Compile, perhatikan area output pada gambar di bawah ini (ditandai kotak merah),
jika tidak terjadi kesalahan syntax, maka akan muncul informasino errors.
Lampiran | 73
Jika terjadi kesalahan, compiler akan memberi tahu letak kesalahan dengan memberi petunjuk
pada baris keberapa kesalahan itu terjadi, seperti contoh di bawah ini.
74 | Lampiran
Seperti terlihat pada contoh diatas, terjadi kesalahan yaitu pada baris 16 tidak ada pernyataan END.
Perbaiki kesalahan tersebut dengan menambahkan END. kemudian compile kembali hingga
tidak ada kesalahan lagi.
Untuk mengetahui lebih lengkap mengenai syntax dan compiler yang digunakan, silahkan buka
file ASEM51 Help.
Sebelum dimasukan/ditransfer ke modul 8031 CPU file program hasil compile yang berupa file
dengan ekstensi .hex harus diubah terlebih dahulu menjadi file dengan ekstensi .bin dengan
perintah Build.
Lampiran | 75
Jika tidak terjadi kesalahan maka pada area output akan menampilkan first address dan last
address, seperti gambar di bawah ini.
76 | Lampiran
Hasil build ini sudah siap untuk dimasukan ke dalam memori 8031 CPU, dengan perintah Go
pada menu Tools.
File program yang dibuat yang telah melalui proses compile dan build telah siap untuk di
transfer/di masukan ke modul 8031 CPU.
Lampiran | 77
Pada saat proses transfer LED RESET akan menyala dan LED EMULATOR akan menyala
berkedip cepat, setelah selesai transfer berhasil atau tidak LED RESET akan padam dan LED
EMULATOR kembali berkedip lambat.
Jika transfer/memasukan program file berhasil maka pada area output akan tampil informasi
Transferring firmware successfully, seperti gambar di bawah ini.
78 | Lampiran
Program yang dibuat telah masuk ke dalam memori modul 8031 CPU.
Kebutuhan Sistem
Berikut ini adalah sistem minimum komputer yang dibutuhkan agar perangkat lunak berjalan
dengan baik:
- Memori : 256MB
- Hard disk : 100MB
- Processor : Pentium 233MHz atau lebih tinggi
- Sistem operasi : Windows XP atau lebih tinggi
- COM Port : 1 buah
Untuk komputer yang tidak dilengkapi dengan COM port dapat menggunakan perangkat
tambahan yaitu USB to Serial Port.
Lampiran | 79
Instalasi
Pengaturan COM Port sangat diperlukan agar Perangkat lunak dapat berkomunikasi dengan
8031 CPU. Pengaturan standar COM port pada saat pertama kali instalasi adalah COM1. Jika
komunikasi antara komputer dengan 8031 CPU menggunakan COM port selain COM1, maka
perlu dilakukan pengaturan COM port pada perangkat lunak SciTE.
• Buka aplikasi SciTE [PT981702 Microcontroller Trainer] melalui All Programs - CV.Pudak
Scientific-PT981702 Microcontroller Trainer - SciTE [PT981702 Microcontroller
Trainer].
• Kemudian Pilih Options dan klik pada Open User Options File , seperti gambar di bawah ini.
• Kemudiian ketik COM Port yang digunakan untuk komunikasi antara Komputer dengan
modul 8031 CPU seperti gambar di bawah ini. (pada contoh ini COM Port yang digunakan
80 | Lampiran
adalah COM11). Untuk mengetahui nomor COM Port pada suatu Komputer dapat dibaca di
Melihat Nomor COM Port.
• Buka device manager melalui start-my computer klik kanan dan klik properties,
hingga keluar jendela menu seperti gambar di bawah ini.
Lampiran | 81
• Kemudian klik Device Manager, selanjutnya klik dua kali pada pilihan Ports (COM & LPT).
82 | Lampiran
• Seperti terlihat pada gambar diatas nomor COM Port adalah COM 2, perhatikan kota
berwarna merah (Pada contoh ini menggunakan USB to Serial ).
Lampiran | 83