Anda di halaman 1dari 89

D05S-01

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

A.0 A.1 A.2 A.3 A.4 A.5 A.6 A.7

B.0 B.1 B.2 B.3 B.4 B.5 B.6 B.7

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

Kata Pengantar ................................................................................................................... i


Daftar isi ........................................................................................................................... iii
I. Pendahuluan.............................................................................................................. 1
II. Percobaan-percobaan
DE05001 Pengenalan 8031 Central Processing Unit ....................................................... 3
DE05002 Antar Muka Dengan DAC (Digital to Analog Converter) .................................. 12
DE05003 Antar Muka Dengan ADC (Analog to Digital Converter) .................................. 16
DE05004 Antar Muka Dengan PPI (Programmable Peripheral Interface) ........................ 20
DE05005 Antar Muka Dengan PSCI (Programmable Serial Communication Interface) ..... 27
DE05006 Seven Segment .......................................................................................... 37
DE05007 LED Matrix................................................................................................. 40
DE05008 Motor Stepper ............................................................................................ 48
DE05009 Lampu Lalu Lintas ...................................................................................... 54
III. Lampiran
A. Deskripsi Perangkat Keras
B. Gambar Peralatan
C. Cara Merakit Rak Panel
D. Petunjuk Penggunaan SciTE [PT981702 Microcontroller Trainer]
E. Instalasi SciTE [PT981702 Microcontroller Trainer]

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:

Utama: yang berarti peralatan tersebut adalah kelengkapan yang


menyertai pesawat latih.
Pendukung: yang berarti peralatan tersebut sebagai penunjang dalam
praktek namun tidak menyertai pesawat latih (tambahan yang
harus disiapkan sendiri).

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.

Pengenalan 8031 Central Processing Unit | 3


Gambar 1.1 Diagram Blok Sistem Mikrokontroler.
Untuk penjelasan lebih lengkap lihat lampiran mengenai deskripsi perangkat keras.
Dalam pembuatan program untuk mikrokontroler terdapat beberapa tahapan yang
harus dilakukan, yaitu:
1. Menulis program
Penulisan program dilakukan dengan menggunakan editor dari program aplikasi
SciTE [PT981702 Microcontroller Trainer] atau pengolahan kata yang dapat
menyimpan file dalam format teks (seperti notepad, wordpad, MS Dos editor).
Program ditulis dalam bahasa assembly dari Intel.
2. Compile program
Karena mikrokontroler hanya mengerti bahasa mesin, maka setiap program yang
dibuat perlu di compile menjadi bahasa mesin terlebih dahulu.
3. Simulasi dan implementasi
Setelah program yang dibuat di compile ke dalam bahasa mesin, program dapat
di implementasikan langsung terhadap mikrokontroler dengan memasukan
program tersebut ke dalam ROM sistem mikrokontroler, atau terlebih dahulu
disimulasikan pada program simulasi untuk mengetahui apakah program yang
dibuat telah bekerja secara benar.

III. Buku Bacaan


1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.
2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.

4| Pengenalan 8031 Central Processing Unit


IV. Peralatan
Utama: 8031 central proccessing unit
Seven segment
Catu daya
Kabel Serial/Kabel USB ke Serial
Pendukung: Komputer/ program aplikasi SciTE [PT981702 Microcontroller
Trainer] (for Windows)

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:

Pengenalan 8031 Central Processing Unit | 5


Gambar 1.4
5. Buat program berikut ini.
org 00h
mov r0,#7
mov r1,#00
mov dptr,#2000h
datakarakter:
call getchr
movx @dptr,a
inc dptr
inc r1
djnz r0,datakarakter
ulang:
mov dptr,#2000h
movx a,@dptr
mov p1,a
call delay
inc dptr
movx a,@dptr
mov p1,a
call delay
inc dptr
movx a,@dptr
mov p1,a
call delay
inc dptr
movx a,@dptr
mov p1,a
call delay
inc dptr
movx a,@dptr
mov p1,a
call delay
inc dptr
movx a,@dptr
mov p1,a
call delay
inc dptr

6| Pengenalan 8031 Central Processing Unit


movx a,@dptr
mov p1,a
call delay
inc dptr
jmp ulang
getchr:
mov a,r1
inc a
movc a,@a+PC
ret
db 10000000b
db 11000000b
db 10110000b
db 11111001b
db 11000110b
db 10001100b
db 11000001b
delay: mov r5,#10
delay1: mov r4,#200
delay2: mov r3,#200
djnz r3,$
djnz r4,delay2
djnz r5,delay1
ret
END

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:

Pengenalan 8031 Central Processing Unit | 7


Gambar 1.6
8. Setelah kompilasi, perhatikan jendela keluaran pada Gambar 1.7 di bawah ini
(ditandai kotak merah), jika tidak terjadi kesalahan syntax, maka akan muncul
informasi no errors.

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).

8| Pengenalan 8031 Central Processing Unit


Gambar 1.8
11. Seperti terlihat pada contoh diatas (gambar 1.8), terjadi kesalahan yaitu pada
baris 61 tidak ada pernyataan END. Perbaiki kesalahan tersebut dengan
menambahkan END. kemudian kompilasi kembali hingga tidak ada kesalahan lagi
12. Konversikan file CPU.HEX menjadi file dengan nama CPU.BIN dengan
menggunakan perintah Build pada menu Tools seperti berikut ini:

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.

Pengenalan 8031 Central Processing Unit | 9


Gambar 1.10
14. File program yang dibuat yang telah melalui proses compile dan build telah siap
untuk ditransfer/dimasukan ke modul 8031 CPU.
15. Terlebih dahulu pastikan hal-hal berikut ini:
• Komputer telah tersambung dengan modul 8031 CPU melalui kabel serial
atau kabel USB to serial.
• Pengaturan COM Port pada Komputer telah benar, untuk mengetahui cara
pengaturan COM Port dapat dilihat pada Lampiran D.
• Catu daya untuk modul 8031 CPU telah menyala.
• LED EMULATOR berkedip lambat dan LED RESET padam.
16. Setelah proses tersebut selesai, hubungkan COM pada 8031 CPU dengan COM
port pada komputer.
17. Nyalakan catu daya.
18. Jika diperlukan lakukan Reset 8031 CPU dengan menekan tombol REE kemudian
RESET.
19. Atur saklar 8031 CPU pada posisi CCLK.
20. Kirim/transfer data file CPU.BIN ke mikrokontroler dengan perintah Go pada
menu Tools seperti gambar 1.11 berikut ini:

10 | Pengenalan 8031 Central Processing Unit


Gambar 1.11
21. Pada saat proses kirim/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.
22. Semestinya pada seven segment akan tampil huruf 8031 CPU secara bergantian.
23. Jika tidak muncul ulangi kembali langkah 15 hingga 20.

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?

Pengenalan 8031 Central Processing Unit | 11


Antar-Muka dengan DAC DE05002
(Digital To Analog Converter)

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

Gambar 2.1 Menunjukkan diagram blok digital to analog converter.

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.

12 | Antar Muka dengan DAC (Digital To Analog Converter)


Dari gambar 2.2 terlihat bahwa pada dasarnya ada 3 jalur utama yang terkoneksi ke
mirokontroler, yaitu:
1. D0-D7, merupakan jalur data
2. CS, atau chip select merupakan jalur yang terhubung dengan address decoder
mikrokontroler. Jika jalur ini mendapat masukan “0” maka DAC terpilih atau
diakses oleh mikrokontroler.
3. WR, atau write merupakan jalur yang terhubung dengan jalur kontrol WR
mikrokontroler. Jika jalur ini memperoleh sinyal “0” dari mikrokontroler dan CS
juga “0” maka data dari jalur data masuk ke masukan latch DAC. Data benar-
benar terkunci (latched) saat WR kembali “1”.
Untuk lebih jelasnya gambar 2.3 memperlihatkan proses pengiriman data digital
dari mikrokontroler untuk diubah menjadi keluaran analog oleh DAC.

CS

WR

DATA valid

Gambar 2.3.

III. Buku Bacaan


1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.
2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.
4. Linear databook 2, National Semiconductor Corporation.

IV. Peralatan

Utama: 8031 central processing unit


D/A converter
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya.
Pendukung: Komputer/program aplikasi SciTE [PT981702
Microcontroller Trainer]
Multimeter
Switch

V. Langkah Kerja
1. Siapkan peralatan yang dibutuhkan.
2. Rangkai peralatan seperti Gambar 2.4.

Antar Muka dengan DAC (Digital To Analog Converter) | 13


Gambar 2.4.
3. Atur saklar 8031 CPU pada posisi CCLK.
4. Atur saklar nomor 1 pemilih alamat D/A Converter pada posisi ON.
5. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer], simpan dengan nama file DAC.ASM.

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

6. Kompilasikan file DAC.ASM menjadi DAC.HEX dengan menggunakan Compile


pada option CPU, kemudian konversikan DAC.HEX ke DAC.BIN dengan meng-klik
Build pada menu Tools.
7. Nyalakan catu daya.
8. Reset 8031 CPU.
9. Download file DAC.BIN ke mikrokontroler. Klik menu Tools, pilih Go.
10. Reset 8031 CPU.
11. Amati dan catat keluaran D/A Converter dengan menggunakan multimeter untuk
kombinasi masukan P1 seperti pada tabel 2.1.

14 | Antar Muka dengan DAC (Digital To Analog Converter)


Tabel 2.1.
Masukan P1 Keluaran DAC
No
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 (Volt)
1 1 0 0 0 0 1 0 1
2 1 0 0 0 0 1 0 0
3 1 0 0 0 0 0 1 1
4 1 0 0 0 0 0 1 0
5 1 0 0 0 0 0 0 1
6 1 0 0 0 0 0 0 0
7 0 1 1 1 1 1 1 1
8 0 1 1 1 1 1 1 0
9 0 1 1 1 1 1 0 1
10 0 1 1 1 1 1 0 0
11 0 1 1 1 1 0 1 1
12. Matikan catu daya.

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?

Antar Muka dengan DAC (Digital To Analog Converter) | 15


Antar-Muka dengan ADC DE05003
(Analog To Digital Converter)

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.

16 | Antar Muka dengan ADC ( Analog To Digital Converter)


Dari Gambar 3.2 koneksi antara mikrokontroler dengan ADC dijelaskan sebagai berikut:
1. D0-D7, jalur data yang terhubung dengan jalur data mikrokontroler, digunakan
untuk mengambil data hasil konversi ADC.
2. CS, atau chip select terhubung dengan jalur address decoder mikrokontroler.
Untuk dapat mengakses ADC maka jalur ini harus mendapat masukan logika “0”.
3. WR, Jalur ini terhubung dengan jalur kontrol WR mikrokontroler. Jika WR
mendapat masukan logika “0” dari mikrokontroler dan CS=”0” maka konversi
sinyal analog menjadi data digital dimulai.
4. INTR, merupakan jalur yang menunjukan status konversi ADC. Jika konversi ADC
telah selesai, maka jalur ini akan berubah menjadi “ 0” (transisi dari “1” ke “0”).
Jalur ini secara otomatis akan menjadi “1” jika data hasil konversi telah dibaca.
Jalur ini terhubung dengan interupsi eksternal 1 mikrokontroler.
5. RD, jalur ini terhubung dengan jalur kontrol RD mikrokontroler. Untuk dapat
mengakses hasil konversi ADC, jalur RD dan CS harus berlogika “0”.
Gambar 3.3 memperlihatkan diagram waktu untuk melakukan konversi masukan
analog menjadi data digital dan membaca data hasil konversi.

CS CS

WR RD

mulai konversi DATA

INT INT
konversi selesai

konversi analog ke digital baca data digital


Gambar 3.3.

III. Buku Bacaan


1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.
2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.
4. Linear databook 2, National Semiconductor Corporation.

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

Antar Muka dengan ADC ( Analog To Digital Converter) | 17


V. Langkah Kerja
1. Siapkan peralatan yang dibutuhkan.
2. Rangkai peralatan seperti pada Gambar 3.4.

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

18 | Antar Muka dengan ADC ( Analog To Digital Converter)


6. Lakukan proses kompilasi ADC.ASM menjadi ADC.HEX dengan menggunakan
perintah Compile pada menu Tools dan pilih compile, kemudian konversikan
menjadi ADC.BIN dengan perintah Build pada menu Tools.
7. Nyalakan catu daya.
8. Reset 8031 CPU.
9. Download file ADC.BIN ke mikrokontroler dengan perintah Go pada menu
Tools.
10. Reset 8031 CPU.
11. Dengan menggunakan probe logic, amati dan catat pada tabel 3.1 keluaran P1
untuk setiap tegangan masukan ADC seperti pada tabel 3.1.
Tabel 3.1

Masukan ADC Keluaran Logika P1


No
(Volt) P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
1 5
2 4
3 3
4 2
5 1
6 0
7 -1
8 -2
9 -3
10 -4
11 -5
12. Matikan catu daya.

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?

Antar Muka dengan ADC ( Analog To Digital Converter) | 19


Antar-Muka dengan PPI
DE05004
(Programmable Peripheral Interface)

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.

20 | Antar Muka dengan PPI (Programmable Peripheral Interface)


Dari Gambar 4.2 koneksi antara mikrokontroler dengan PPI dapat dijelaskan sebagai berikut:
1. D0-D7, untuk menerima data dan mengirim data dari mikrokontroler ke PPI atau
sebaliknya, begitu pula dengan data kontrol (control words) dan informasi status
di kirim dan diterima melalui jalur ini.
2. CS, jalur ini terhubung dengan address decoder mikrokontroler. Logika “0” pada
jalur ini memungkinkan mikrokontroler berkomunikasi dengan PPI.
3. RD, data logika “0” pada jalur ini mengijinkan mikrokontroler membaca data atau
informasi status dari PPI.
4. WR, data logika “0” pada jalur ini mengijinkan mikrokontroler menulis data atau
data kontrol ke PPI.
5. A0-A1, merupakan jalur masukan yang terhubung dengan alamat A0 dan A1
mikrokontroler. Jalur ini berfungsi untuk memilih satu dari tiga jalur masukan-
keluaran atau untuk memilih register kontrol.
Operasi dasar 8255 diperlihatkan pada Tabel 4.1.
Tabel 4.1

A1 A0 RD WR CS Operasi Membaca

0 0 0 1 0 Port A ke Data Bus

0 1 0 1 0 Port B ke Data Bus

1 0 0 1 0 Port C ke Data Bus

A1 A0 RD WR CS Operasi Menulis

0 0 1 0 0 Data Bus ke Port A

0 1 1 0 0 Data Bus ke Port B

1 0 1 0 0 Data Bus ke Port C

1 1 1 0 0 Data Bus ke Register Kontrol

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.

Antar Muka dengan PPI (Programmable Peripheral Interface) | 21


D7 D 6 D5 D 4 D 3 D 2 D 1 D 0

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

MODE SET FLAG


1=ACTIVE

Gambar 4.3.

III. Buku Bacaan


1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.
2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.
4. Micprocessor and peripheral Handbook, Volume II Peripheral, Intel Corporation.

IV. Peralatan

Utama: 8031 central processing unit


Parallel Input/Output
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer/ program aplikasi SciTE [PT981702 Microcontroller Trainer]
Probe logic
Switch

22 | Antar Muka dengan PPI (Programmable Peripheral Interface)


V. Langkah Kerja
1. Siapkan peralatan yang diperlukan.
2. Rangkai peralatan seperti Gambar 4.4.

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.

Antar Muka dengan PPI (Programmable Peripheral Interface) | 23


7. Nyalakan catu daya.
8. Reset 8031 CPU.
9. Download PPI1.BIN ke mikrokontroler dengan perintah Go pada menu Tools.
10. Reset 8031 CPU.
11. Amati dan catat pada Tabel 4.2 keluaran port A untuk setiap kombinasi masukan
port B seperti pada Tabel 4.2.
Tabel 4.2
Masukan Port B Keluaran Port A
No
B7 B6 B5 B4 B3 B2 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0
1 0 0 0 0 0 0 0 1
2 0 0 0 0 0 0 1 1
3 0 0 0 0 0 1 1 1
4 0 0 0 0 1 1 1 1
5 0 0 0 1 1 1 1 1
6 0 0 1 1 1 1 1 1
7 0 1 1 1 1 1 1 1
8 1 1 1 1 1 1 1 1
12. Matikan catu daya.
13. Rangkai peralatan seperti pada Gambar 4.5.

Gambar 4.5.
14. Buat program berikut ini pada editor program aplikasi SciTE [PT981702
Microcontroller Trainer] dan simpan dengan nama file PPI2.ASM.

24 | Antar Muka dengan PPI (Programmable Peripheral Interface)


org 00h
jmp mulai

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.

Antar Muka dengan PPI (Programmable Peripheral Interface) | 25


VI. Evaluasi
1. Buat diagram alir untuk masing-masing program di atas?
2. Dari file PPI1.ASM jelaskan mengenai data kontrol 10000010?
3. Dari file PPI2.ASM jelaskan mengenai data kontrol 10000001?
4. Jelaskan fungsi perintah Swap pada file PPI2.ASM?
5. Dapatkah Port A diubah menjadi keluaran dan port B menjadi masukan?
Jelaskan langkah yang harus dilakukan.
6. Buatkan program untuk membaca data dari port A dan kirim data tersebut ke
port B dan port C.

26 | Antar Muka dengan PPI (Programmable Peripheral Interface)


Antar-Muka dengan PSCI
(Programmable Serial Communication DE05005
Interface)

I. Tujuan

Setelah melaksanakan percobaan ini siswa diharapkan dapat:


1. Mengetahui koneksi mikrokontroler dengan programmable serial communication
interface.
2. Mengetahui langkah-langkah dalam memprogram PSCI.
3. Membuat program untuk PSCI.

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.

Antar Muka dengan PSCI (Programmable Serial Communication Interface) | 27


Dari Gambar 5.2 koneksi antara mikrokontroler dengan 8251 dapat dijelaskan seperti
berikut ini:
1. D0 – D7, merupakan jalur data dua arah untuk mengirim data dari mikrokontroler
ke 8251 maupun membaca data dari 8251 ke mikrokontroler.
2. CS, atau Chip Select ,jalur ini terhubung dengan address decoder mikrokontroler.
Masukan logika “0” pada CS memungkinkan mikrokontroler berkomunikasi
dengan 8251.
3. RD, data logika “0” pada jalur ini mengijinkan mikrokontroler membaca data atau
informasi status dari 8251.
4. WR, data logika “0” pada jalur ini mengijinkan mikrokontroler menulis data atau
data kontrol ke 8251.
5. C/D, merupakan jalur masukan 8251 yang terhubung dengan alamat A0
mikrokontroler. Jalur ini digunakan untuk membedakan tipe data pada saat
mengakses 8251. Saat C/D = “1” maka menunjukkan data kontrol atau data
informasi status , sedangkan pada saat C/D = “0” maka menunjukkan data
karakter.
6. RTS, Request To Send merupakan keluaran dari 8251 untuk menandakan bahwa
8251 akan mengirim data.
7. CTS, Clear To Send merupakan masukan untuk 8251. Pengiriman data serial
diijinkan bila jalur ini memperoleh masukan logika “0” dan TxEN= “1”.
Klok pemancar-penerima 8251 (TxCLK dan RxCLK) terhubung dengan sumber klok
yang dapat diprogram. Untuk percobaan ini klok diatur pada frekuensi 9.6kHz (untuk
mengubahnya lihat lampiran deskripsi perangkat keras).
Untuk dapat memprogram 8251 pengetahuan beberapa register berikut ini sangat
diperlukan:
1. Mode Byte Register
Sesaat setelah reset , 8251 berada pada keadaan mode standby siap untuk menerima
data mode byte. Gambar 5.3 memperlihatkan format mode byte untuk mode
asynchronous, dan untuk mode synchronous diperlihatkan pada Gambar 5.4.

28 | Antar Muka dengan PSCI (Programmable Serial Communication Interface)


7 6 5 4 3 2 1 0

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

ST1 ST0 Transmit Stop Bits

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

EXSYNC Sync Detect

0 Internally (output)

1 Externally (input)

SSC Sync Characters

0 2 (SSC)

1 1

Gambar 5.4.

Antar Muka dengan PSCI (Programmable Serial Communication Interface) | 29


2. Command Register
Setelah mode komunikasi dimasukkan maka 8251 berada pada keadaan siap
untuk menerima command byte. Gambar 5.5 memperlihatkan format command
byte, baik untuk mode asychronous maupun synchronous.
7 6 5 4 3 2 1 0

EH SRES RTS ECL SBRK RxEN DTR TxEN

TxEN Transmit Enable

0 Disable

1 Enable

DTR DTR pin Control

0 DTR=1

1 DTR=0

RxEN Receive Enable

0 Disable

1 Enable

SBRK Send Break

0 TxDATA pin normal Operation

1 TxDATA = 0

ECL Error Clear

0 No Operation

1 Error Flag Clear

RTS RTS pin control

0 RTS= 1

1 RTS=0

SRES Software Reset

0 No Operation

1 Reset Operation

EH Enter Hunt Phase

0 No Operation

1 Enter hunt phase

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.

30 | Antar Muka dengan PSCI (Programmable Serial Communication Interface)


7 6 5 4 3 2 1 0

DSR SYNC FE OVE PE TxEMP RxRDY TxRDY

Same as the output pin


Function with the same name

TxRDY Transmit data buffer state

0 Full

1 Empty

PE Parity Error

0 No Error

1 Error

OVR Overrun Error

0 TxDATA pin normal Operation

1 TxDATA = 0

FE Framing Error

0 No Operation

1 Error Flag Clear

DSR DSR input pin state

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:

Antar Muka dengan PSCI (Programmable Serial Communication Interface) | 31


mulai

inisialisasi
serial CPU,
serial i/o

serial i/o siap TIDAK


kirim ?

YA

kirim data 55h

CPU terima TIDAK


data

YA

TIDAK
data = 55h?

YA

kirim data aah


melalui serial CPU

serial i/o TIDAK


terima data ?

YA

TIDAK
data= aah ?

YA

pesan BLINK

Gambar 5.7.

32 | Antar Muka dengan PSCI (Programmable Serial Communication Interface)


III. Buku Bacaan

1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.


2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.

IV. Peralatan

Utama: 8031 central processing unit


Serial Input/Output
LED matrix
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer/program aplikasi SciTE [PT981702 Microcontroller
Trainer]
Kabel serial DB 9

V. Langkah Kerja

1. Siapkan peralatan yang diperlukan.


2. Rangkai peralatan seperti Gambar 5.8.

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.

Antar Muka dengan PSCI (Programmable Serial Communication Interface) | 33


org 00h
jmp mulai

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======================

34 | Antar Muka dengan PSCI (Programmable Serial Communication Interface)


ulang: mov a,#0d5h
mov p1,a
call delay1
call delay1
call delay1
call delay1
mov a,#0aah
mov p1,a
call delay1
call delay1
call delay1
call delay1
jmp ulang

delay: mov r4,#5


loop1: mov r3,#10
djnz r3,$
djnz r4,loop1
ret
delay1: mov r0,#100
loop3: mov r1,#100
djnz r1,$
djnz r0,loop3
ret
Init:
mov tmod,#20h ;timer1 sebagai baud rate
mov th1,#0fdh ;baud rate diset 9600 bps
setb tr1 ;nyalakan timer 1
mov scon,#50h ;serial mode 1, 8karakter,1 stop bit
setb ren
setb es
setb ea
ret
RoutineSerial:
clr ea
clr ren
setb 20h.0
clr ri
setb ea
setb ren
ret

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.

Kabel Serial Keadaan LED Matrix


Terpasang
Terlepas
14. Matikan catu daya.

Antar Muka dengan PSCI (Programmable Serial Communication Interface) | 35


VI. Evaluasi

1. Jelaskan format mode byte Serial Input/Output program di atas?


2. Jelaskan format commond byte Serial Input/Output program di atas?
3. Dari program diatas jelaskan langkah-langkah memprogram serial input/output
hingga siap untuk mengirim atau menerima data?

36 | Antar Muka dengan PSCI (Programmable Serial Communication Interface)


Seven Segment DE05006

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

1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.


2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.
4. Havland, Robert, Built-It Book Of Digital Electronic Timepieces, Tab Books, USA.

IV. Peralatan

Utama: 8031 central processing unit


Seven segment
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer/program aplikasi SciTE [PT981702 Microcontroller Trainer]

V. Langkah Kerja

1. Siapkan peralatan yang diperlukan.


2. Rangkai peralatan seperti Gambar 6.2

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.

No Data Karakter Karakter Seven Segment


1 11000000
2 10110000
3 10100100
4 10010010
5 11111001
6 10011001
7 11111000
8 10010000
9 10000010
10 10000000
11. Matikan catu daya.

VI. Evaluasi

1. Bandingkan data hasil pengamatan dengan data standar numerik jelaskan


mengapa terjadi perbedaan? (bit paling kiri data karakter dari tabel 6.2 tidak
perlu di bandingkan).
2. Termasuk tipe apakah seven segment yang digunakan?

Seven Segment | 39
LED Matrix DE05007

I. Tujuan

Setelah melakukan percobaan ini, siswa diharapkan dapat:


1. Mengetahui multiplek peraga LED matrik.
2. Membuat program untuk multiplek peraga LED matrik.
3. membuat program peraga pesan.

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.

III. Buku Bacaan

1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.


2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.
4. Havland, Robert, Built-It Book of Digital Electronic Timepieces, Tab Books, USA.

IV. Peralatan

Utama: 8031 central processing unit


Parallel input/output
LED matrix
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer/program aplikasi SciTE [PT981702 Microcontroller Trainer]

V. Langkah Kerja

1. Siapkan peralatan yang dibutuhkan.


2. Rangkai peralatan seperti pada Gambar 7.4!

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

delay: mov r4,#20


loop1: mov r3,#10
djnz r3,$
djnz r4,loop1
ret
END

16. Kompilasikan file MATRIX2.ASM menjadi MATRIX2.HEX. Gunakan perintah Compile


pada menu Tools, kemudian konversikan file MATRIX2.HEX tersebut ke file
berbentuk biner, MATRIX2.BIN dengan memilih Build pada menu yang sama.
17. Nyalakan catu daya dan reset 8031 CPU.
18. Download file MATRIX2.BIN ke mikrokontroler. Pilih perintah Go pada menu
Tools.
19. Reset 8031 CPU.
20. Amati matrik LED.
21. Ulangi langkah 10 sampai 15 tetapi ubah nilai R7 menjadi 60.
22. Matikan catu daya.

VI. Evaluasi

1. Jelaskan mengenai multiplek matrik LED?


2. Dari file MATRIX2.ASM, jelaskan cara menggeser karakter saat ditampilkan pada
matrik LED? (bila perlu gunakan diagram alir).
3. Jelaskan fungsi R7 pada program MATRIX2.ASM?

Seven Segment | 47
Motor Stepper DE05008

I. Tujuan

Setelah melakukan percobaan ini, siswa diharapkan dapat:


1. Mengetahui prinsip kerja motor stepper.
2. Mengontrol motor stepper.

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.

III. Buku Bacaan

1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.


2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.

IV. Peralatan

Utama: 8031 central processing unit


Stepping motor
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer/program aplikasi SciTE [ PT981702 Microcontroller
Trainer ]

V. Langkah Kerja

1. Siapkan peralatan yang diperlukan.

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

5. Kompilasikan file FULLSTEP. ASM menjadi FULLSTEP.HEX dengan perintah


Compile pada menu Tools, kemudian lakukan konversi dari FULLSTEP.HEX
menjadi FULLSTEP.BIN dengan perintah Build pada menu yang sama.
6. Nyalakan catu daya, dan reset 8031 CPU.
7. Download file FULLSTEP.BIN ke mikrokontroler. Klik menu Tools, pilih perintah Go.
8. Reset 8031 CPU.
9. Amati dan catat pada Tabel 8.2 keadaan LED stepping motor dan arah putar
motor dimulai saat LED W1 menyala.

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

delay: mov r0,#50 ;waktu tunda

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

delay: ;waktu tunda


mov r1,#50
delay2:
mov r2,#100
delay1:
mov r3,#100
djnz r3,$
djnz r2,delay1
djnz r1,delay2
ret
encode: ;enkode kombinasi
mov a,r0
movc a,@a+pc
ret

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

1. MCS-51, Programmer’s Guide and Instruction Set, Intel Corporation.


2. Douglass V, Hall, Microprocessors and Interfacing, programming and Hardware,
McGraw Hill International Edition, 1992.
3. Embedded Controller Handbook, Volume I & II, Intel Corporation.
IV. Peralatan

Utama: 8031 central processing unit


Parallel input/output
Traffic light
Kabel Serial/Kabel USB ke Serial
Kabel penghubung secukupnya
Pendukung: Komputer//program aplikasi SciTE [PT981702 Microcontroller Trainer]

V. Langkah Kerja

1. Siapkan peralatan yang diperlukan.


2. Rangkai peralatan seperti pada Gambar 9.2.

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

6. Kompilasikan file TRAFFIC.ASM menjadi TRAFFIC.HEX dengan perintah Compile


pada menu Tools. Kemudian konversikan file TRAFFIC.HEX ke bentuk biner
menjadi TRAFFIC.BIN dengan perintah Build pada menu yang sama.
7. Nyalakan catu daya.
8. Reset 8031 CPU.
9. Download file TRAFFIC.BIN ke mikrokontroler. Klik option CPU, pilih perintah Go.
10. Reset 8031 CPU.
11. Amati dan catat pada tabel 9.2 keadaan lampu lalu lintas dimulai saat LED hijau 1
menyala.

Lampu Lalu-Lintas | 57
Tabel 9.2.

Lampu 1 Lampu 2 Lampu 3 Lampu 4 Lampu 5


No
M K H M H M K H M H M H
1
2
3
4
5
6
7
8
12. Matikan catu daya.

VI. Evaluasi

1. Apa fungsi parallel input/output pada percobaan ini?


2. Apa fungsi delay?
3. Buatkan diagram alir program di atas?

58 | Lampu Lalu-Lintas
III. LAMPIRAN

A. Deskripsi Perangkat Keras


1. 8031 Central Processing Unit
8031 CPU terdiri dari beberapa bagian komponen seperti rangkaian klok,
EPROM emulator, RAM dan address decoder. Berikut ini akan dijelaskan
mengenai bagian-bagian tersebut.
a. Rangkaian klok
Rangkaian klok dibangun dari sebuah kristal dengan frekuensi
11.0592Mhz. Sistem klok untuk 8031 CPU dibagi menjadi dua mode yaitu
mode continue clock dan mode step. Pada mode continue clock, pulsa
dibangkitkan secara terus menerus pada masukan klok 8031, sedangkan
pada mode step pulsa dibangkitkan sebanyak 12 pulsa pada masukan
klok 8031 untuk setiap penekanan tombol.
b. EPROM EMULATOR
EPROM emulator digunakan untuk menggantikan ROM sebagai tempat
menyimpan program. Kapasitas maksimum EPROM emulator adalah 8K byte.
c. RAM
Sistem memori eksternal yang digunakan adalah tipe 6264 dengan kapasitas
maksimum 8K byte. RAM ditempatkan pada lokasi mulai dari 2000H – 3FFFH.
d. Address Decoder
Address decoder dibangun dari sebuah multiplekser 74LS138. Jalur
pemilih multiplekser tersebut terhubung dengan jalur alamat
mikrokontroler 8031. Alamat yang dihasilkan dekode ini dapat digunakan
secara universal. Tabel di bawah ini menunjukkan alamat hasil dekode
multiplekser.

Jalur alamat Alamat hasil


Penggunaan Keterangan
A15 A14 A13 dekode

0 0 0 0000 H Tidak digunakan


0 0 1 2000 H RAM
0 1 0 4000 H Universal CS1
0 1 1 6000 H Universal CS2
1 0 0 8000 H Universal CS3
1 0 1 A000 H Universal CS4
1 1 0 C000 H Universal CS5
1 1 1 E000 H Universal CS6

Untuk dapat berinteraksi dengan komponen lain disediakan sebuah soket


IDC 26 pin. Jalur yang terkoneksi antara 8031 CPU dengan soket
diperlihatkan seperti pada gambar berikut ini:

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.

Nomor saklar dip


Alamat
ON
1 4000H
2 6000H
3 8000H
4 A000H
5 C000H
6 E000H

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.

JP3 JP4 JP5

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.

Frekuensi (kHz) Posisi penghubung

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.

Nomor saklar dip


Alamat
ON
1 4000H
2 6000H
3 8000H
4 A000H
5 C000H
6 E000H

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:

1. Melalui Menu File

Klik pada menu File kemudian pilih New.

2. Melalui Ikon Menu New

Klik pada ikon New.

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.

Catatan: Nama file tidak boleh menggunakan spasi

Compile File Program

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.

Pilih menu Tools dan klik 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.

Konversi Hex ke Bin file program

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.

Pilih menu Tools dan klik 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.

Memasukan/Transfer file program

File program yang dibuat yang telah melalui proses compile dan build telah siap untuk di
transfer/di masukan ke modul 8031 CPU.

Terlebih dahulu pastikan hal-hal berikut ini:


1. Komputer telah tersambung dengan modul 8031 CPU melalui kabel serial atau kabel USB to serial.
2. Pengaturan COM Port pada Komputer telah benar. untuk mengetahui cara pengaturan lihat
di Pengaturan COM Port.
3. Sumber daya untuk modul 8031 CPU telah menyala.
4. LED EMULATOR berkedip lambat dan LED RESET padam.

Pilih menu Tools dan klik Go.

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.

Jika diperlukan Tekan tombol RESET pada modul 8031 CPU.

E. Instalasi SciTE [PT981702 Microcontroller Trainer]

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

• Masukan CD perangkat lunak PT981702 Microcontroller trainer ke dalam CD-ROM drive,


biasanya secara otomatis proses instalasi dimulai, jika ini tidak terjadi, gunakan Windows
explorer pilih CD-ROM drive dan klik dua kali pada file setup.exe
• Selanjutnya ikuti petunjuk di layar monitor.

Pengaturan COM Port

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.

Untuk melakukannya ikuti petunjuk di bawah ini:

• 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.

• Kemudian klik ikon Save untuk menyimpan pengaturan.

Melihat nomor COM Port

Untuk melihat nomor COM Port, ikuti petunjuk di bawah ini.

• 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

Anda mungkin juga menyukai