Page 1
P E R P U T ~~ K A A N
I ~
Tgl. 'Terima
Terima Dari
No. Agenda Prp. 1 {). 7 3.f"
ELEKTRONIK PENGATURAN DAN OTOMATI , I PENCAMPURAN KOMPOSISI MINUMAN DEN N
I
MENGGUNAKAN MIKROKONTROLLER 8751H Y NG I
DAPAT DIHUBUNGKAN KE KOMPUTER IBM C
~ ?-,e;. j ~' .. •
MILIK PERPUSTAKAAN
INSTITUT TEKNOLOGI
SEPULUH - NOPEMBER
Oleh :
Varwison -···-···················--
N R P : 2902201624
JURUSAN TEKNIK ELEICTRO FAKULTAS TEKNOLOGIINDUSTRI
INSTITUT TEKNOLOGI SEPULUH N SURABAYA
1994
Page 2
ELEKTRONIK PENGATURAN DAN OTOMATIS I PENCAMPURAN KOMPOSISI MINUMAN DE GAN MENGGUNAKAN MIKROKONTROLLER 8751H G
i
DAPAT DIHUBUNGKAN KE KOMPUTER IBM. C
TUGAS AKHIR
Diajukan Guna Memenuhi Sebagian Persyaratan I
Untuk Memperoleh Gelar
Sarjana TeJcnik Elektro
Pad a
Jurusaa T .eknik Elektro
Fakuhas TeknologJ lndustri
Institut Teknologi Seruluh Nopember
Sura baya
Mengetahui I Menyetujul :
Dosen Pembi . DOHn Pemilimi!Jtna ;-///
/ /
__ /(lr. So@_Jikno)
SURABAYA AGUSTUS, 1
Page 3
ABSTRAK
Menurunnya kualitas dan kuantitas suatu produk faktor keterbatasan manusia yang diperkerjakan. Begitu mencampur komposisi minuman yang dilakukan langsung keterbatasan disini dapat dalam hal; membuat komposisi · mencampur dan kecepatan menghasilkan suatu komposisi
Berdasarkan masalah tersebut diatas maka yang terdiri dari mikrokontroller, komputer IBM PC, dan
Pada tugas akhir ini akan dibuat suatu elektronik otomatisasi pencampuran komposisi minuman mikrokontroller 8751 H yang dapat dihubungkan ke komputer
iii
disebabkan oleh dalam hal
lainnya. pengaturan dan
menggunakan MPC.
Page 4
KATAPENGANTAR
Atas berkat rahmat Tuhan Yang Maha Esa,
menyelesaikan perencanaan dan pembuatan alat serta
Akhir yang berjudul :
ELEKTRONIK PENGATURAN DAN OTOMATISASI
KOMPOSISI MINUMAN DENGAN MENGGUN .... ~,~
MIKROKONTROLLER 8751H YANG DAPAT
KOMPOTER ffiM PC
Tugas akhir ini adalah merupakan salah satu syarat harus ditempuh
oleh setiap mahasiswa untuk meraih gelar kesarjanaan di Teknik Elektro,
Fakultas Teknologi Industri, Institut Teknologi Sepeluh Nnn<>n-tn. ..... Surabaya.
Dalam mengerjakan Tugas Akhir ini penulis banyak ...... "~ ...... , ..... , .....
dan bimbingan dari berbagai pihak. Oleh karena itu pada ini penulis
menyampaikan ucapan terima kasih yang sebesar-besarnya ........ ...,." ....
Ir .Soetikno, selaku dosen pembimbing dan Koord Studi
Elektronika, Jurusan Teknik Elektro, Fakultas i Industri ITS.
Ir.Harmani Suhardjo, selaku dosen pembimbing.
Ir.Murdi Asmoroadji, selaku dosen wali.
Dr.Ir.Moch. Salehudin, M.Eng.Sc., selaku KetuaJ Teknik Elektro,
Ffl ITS.
Seluruh staf pengajar dan administrasi Jurusan Teknik ............... v, FTI ITS,
iv
Page 5
yang telah membantu kelancaran pelaksanaan Tugas
Seluruh rekan-rekan mahasiswa Jurusan Teknik El
Elektronika dan semua pihak yang telah memberikan
langsung maupun tak langsung.
Akhir kata, penulis berharap semoga segala sesuatu
dalam pelaksanaan Tugas Akhir ini dapat bermanfaat
pengetahuan dan kesejahteraan umat manusia.
Surab
v
Bidang Studi
, baik secara
telah dihasilkan
kemajuan ilmu
Agustus 1994
Penulis
Page 6
DAFfAR lSI
HALAMAN JUDUL ................................... I
HALAMAN PENGESAHAN . . . . . . . . . . . . . . . . . . . . . . ........ 11
ABSTRAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
KATA PENGANT AR . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ iv I
DAFf AR lSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ VI
I DAFfAR GAMBAR.......................... . ......... x
DAFfAR TABEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... xii
BAB I
PENDAHULUAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
I. 1. Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I -1
1.2. Permasalahan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
I. 3. Pembatasan Masalah • ,e • • • • • • • • e • • • • • • I• • • • • • • 1-2
1.4. Tujuan ........................... ,· . . . . . . 1-2
1.5. Metodologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.6. Sistematika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
BAB II
TEORI PENUNJANG ............................... Il-l
11.1. PENDAHULUAN ................... !' ...... Il-l
11.2. ISTILAH DALAM MINUMAN ........... • Il-l
vi
Page 7
I
11.2.1. Long Drink ......................... 11-1 '
11.2.2. Intilah Based . . . . . . . . . . . . . . . . . 1
••••• Il-l
11.2.3. Liquer .............. · · · · · · · 1 • • • • •
I .
11.2.4. Cocktail ................... .
Il-l
II-2
11.2.5. Pendekatan Teknologi Komputer dan
Dalam Mencampur Minuman ................ 11-4
11.3. URAIAN UMUM MIKROKONTROLLER CHIP
TUNGGAL ...................... ' .... . II-5
11.3.1. ARSITEKTUR INTERNAL 8751H . . . . .... II-6 I
11.3.2. FUNGSI TIAP PIN INTEL 8751H II-6
11.3.3. HUBUNGAN KERJA ANTAR SUBSIS II-10
11.3.4. CENTRAL PROCESSING UNIT (CPU) 11-11
11.3.5. MEMORI .................. . 11-15
11.3.5.1. Read Only Memory (ROM) .. 11-16
11.3.5.2. Random Access Memory (RAM) ..... . 11-17
11.3.6. PEWAKTU/PENCACAH ........ . 11-18
11.3.7. SISTEM INTERRUPT .......... . 11-20
11.3.8. PORT SERIAL .............. . 11-22
11.4. KOMUNIKASI OAT A SERIAL .......... . 11-24
11.4.1. KONEKTOR DB-25 ........... . 11-25
11.4.2. FORMAT DATA ............. . 11-26
I
11.4.3. INTERKONEKSI KABEL . . . . . . . . . . . . . . 11-27
11.5. MOTOR STEPPER .................. 1
• • • • • 11-29
vii
Page 8
11.5.1. Variable Reluctance Motor 11-30
11.5.2. Permanent Magnet Motor ....... . 11-31
11.5.3. Permanent Magnet Hybrid Motor 11-34
BAB III
PERENCANAAN PERANGKAT KERAS ........... 1 • • • • • • 111-1
111.1. PENDAHULUAN .................. . ..... III-I
111.2. DIAGRAM BLOK . . . . . . . . . . . . . . . . . ...... 111-1
111.3. RANGKAIAN MIKROKONTROLLER 875IH ! •••••• Ill-3
111.4. RANGKAIAN DEKODER MIKROKONTR 875IH 111-4
Ill.5. RANGKAIAN MASUKAN/KELUARAN . . . ...... 111-5
111.6. RANGKAIAN PENGKONDISI SINYAL .... . ..... 111-5
111.7. RANGKAIAN SERIAL INTERFACE RS-232C. . . . . . . III-9
111.8. RANGKAIAN MOTOR STEPPER . . . . . . . . ..... III-11
BABIV
PERENCANAAN PERANGKAT LUNAK ............ 1 •••••• IV-I
IV.l. PENDAHULUAN . . . . . . . . . . . . . . . . . . . . . . . . IV-I
I IV.2. Software untuk system 875Ih . . . . . . . . . . . . . . . . . . IV-I
IV .2.1. Proses Pemindahan Data . . . . . . . . . . . . . . . IV -I
IV.2.2. Pemetaan Memory Program . . . . . . . . . . . . . IV-2
IV.2.3. Instruksi Pemindahan Data ........ :• ..... . IV-2
viii
Page 9
IV.2.4. Instruksi Pada Pengoperasian IV-4
IV.2.5. Instruksi untuk Percabangan IV-5
IV.3. PERANGKAT LUNAK MIKROK IV-7
IV.4. PERANGKAT LUNAK PADA IBM- AT . . . . ..... IV-9
BABV
PENGUJIAN DAN CARA PENGOPERASIAN ALAT . . . . ..... V-1
V.I. PENDAHULUAN . . . . . . . . . . . . . . . . . . . . . . . . V-1 i
V .2. PENGUJIAN KOMUNIKASI SERIAL . . . . . . . ....... V -1
V.3. PENGUJIAN OUTPUT ALAT.......... . . ....... V-2
V .4. PILI HAN FUNGSI PADA MENU UTAMA V-3
V.5. CONTOH CARA MEMBUAT SUATU K
MINUMAN BARU................. . ....... V-4
V.6. CONTOH CARA MENGOPERASIKAN ALAT ......... V.6
BAB VI
PENUTUP .............................. VI-1
VI.1. KESIMPULAN .................. . VI-1
VI.2. SARAN-SARAN ........................... VI-2
DAFf AR PUSTAKA
LAMPIRAN
ix
INSTITUT TEKN · GJ
SEPULUH -NOPE BER
Page 10
DAITAR GAMBAR
GAMBAR HALAMAN
2.1 Hot Today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
2.2. Long Island Tea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
2.3. Blok diagram proses dalam mencampur cocktail secara 11-4
2.4. Blok diagram proses dalam mencampur cocktail dengan
menggunakan alat otomatis ......................... 11-5
2.5. Konfigurasi pin 8751H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8 '
2.6. Arsitektur Diagram Blok Keluarga MCS-51 . . . . . . . . . . . . . . . . . 11-12
2.7. Peta alokasi ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-17
2.8. Peta Alokasi RAM . . . . . . . . . . . . . . . . . . . . . . . . . ....... 11-19
2.9. Transmisi Asinkron . . . . . . . . . . . . . . . . . . . . . . . . ....... 11-25
2.10. Karakteristik Konektor DB-25 ................ , . . . . . . . . 11-26
2.11. Hubungan Antara PC dengan PC .............. 1 • • • • • • • • 11-28
I
2.12. Prinsip dasar putaran motor stepper . . . . . . . . . . . . . . . . . . . . 11-30
. i
2.13. Variable reluctance motor . . . . . . . . . . . . . . . . . . . i . . . . . . . . 11-32 ·
2.14. Permanant magnet motor ................... 1
• • • • • • • • 11-33
2.15. Permanent magnet hybrid motor . . . . . . . . . . . . . . . . ....... 11-34
3.1. Diagram blok dari a1at yang direncanakan . . . . . . . . . . . . . . . . . 111-2
X
Page 11
3.2. Rangkaian Mikrokontroller 8751H . . . . . . . . . . . . . . . . . . . . 111-3
3.3. Rangkaian decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111-5
3.4. Rangkaian masukan/keluaran ................... · . . . . 111-6
3.5. Rangkaian pengubah sinyal taraf 12V ke TIL ....... 1. . . . . . 111-7
3.6. Karakteristik Current trasfer ratio 4N25 .......... '. . . . . . 111-8
3.7. Rangkaian pengubah sinyal taraf TIL ke 12V ....... 1
• • • • • • 111-9 I
3.8. Perbandingan spesifikasi level RS-232C
dengan TIL . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... 111-10
3.9. Rangkaian pengubah sinyal . . . . . . . . . . . . . . . . . . . . . . . 111-10
3.10. Hubungan Port Serial RS-232C . . . . . . . . . . . . . . . . . . . . 111-11
3. 11. Rangkaian driver motor stepper . . . . . . . . . . . . . . . . . . . . III -13
4.1. Flow chart program pada mikrokontroller
8751H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI-8
4.2. Flow chart program komputer . . . . . . . . . . . . . . . . . . . . . VI-10
5.1. Tampilan Menu Utama di komputer IBM PC. . . . . . . . ...... V-5
xi
Page 12
DAFrAR TABEL
TABEL HALAMAN
2.1. Komposisi Long Island Tea . . . . . . II-3
I
2.2. Register TMOD ........................... 1
•••••• 11-20 I
2.3. Alamat awal dari interrupt service program . . . . . . . . . . . . . . 11-20
2.4. Register SCON .................................... 11-23
3.1. Pemetaan memori dari I/0 . . . . . . . . . . . . . . . . . . . . . . ..... .111-4 I
3.2. Eksitasi motor stepper . . . . . . . . . . . . . . . . . . . . . . . .... Ill-12
4.1. Pemetaaan memori data dalam . . . . . . . . . . . . . . . . . . . . . . IV -7
5 .1. Pengukuran volume dibandingkan dengan
data volume dari IBM PC ............................ V-2
xii
Page 13
BAB I
PENDAHULUAN
1.1. Latar Belakang
I I. i
Sejalan dengan semakin meningkatnya kehidupan masyarakat
metropolitan seperti di Jakarta, Surabaya dan kota-kota lainnya di
dunia. Maka problema yang dihadapi juga semakin meningkat.
Sebagai akibatnya man usia memerlukan kompensasi dari -jamsibuk
yang menguras kebugaran pikirannya. Beberapa dari mereka
secangkir minuman disamping sebagai pelepas dahaga juga """'"''"''
menambah semangat kerjanya. Atau kalau diluar jam kerja
mencari suasana santai dengan ditemani segelas
melepaskan emosi jiwa yang dialaminya selama bekerja;
Melihat gejala ini maka harus diusahakan penyesuaian
pengunjung yang beiVariasi dan terkadang sangat kritis.
waiter atau bartender sangatlah memainkan peranan
mewujudkan kreasinya dan menyesuaikan dengan selera
yang benar-benar profesional dalam bidangnya. Disamping bay"'m""'·'""
juga masih sedikit orang-orang yang mempunyai profesi itu.
Untuk itulah dalam membantu kerja dari seorang waiter
dibuatkanlah suatu alat yang dapat meringankan kerja mereka.
Page 14
I-2
1.2. Pennasalahan
Menurunnya kualitas dan kuantitas suatu produk dapat
faktor keterbatasan manusia yang dipekerjakan. Begitu j
mencampur komposisi minuman yang dilakukan langsung manusia.
Aktifitas ini kebanyakan mengandalkan fisik dan berulang-ul
mengambil botol, meletakkan botol, menuangnya dan
juga adanya faktor keterbatasan manusia dalam hal:
komposisi minuman. Dimana faktor ketepatan berkaitan dengan rasa dari
suatu minuman. Sedangkan faktor kecepatan berkaitan kualitas
pelayanan dari pub, hotel dan lain sebagainya.
1.3. Pembatasan Masalah
untuk
memompakan minuman ke pipa, empat valve dari empat .• .u.-• ..., ... J ....
yang akan dicampurkan untuk membatasi volume minu akan
dikeluarkan, serta empat tabung minuman yang kesemuanya ini oleh
IC single chip mikrokontroller 8751. Juga dapat dihubungkan
IBM PC secara serial untuk dapat membuat komposisi min
1.4. Tujuan
Tujuan dari Tugas Akhir ini adalah untuk
Page 15
I-3
pengukuran volume minuman dari kecepatan aliran minuman pipa.
Dengan dibantu oleh IC single chip mikrokontroller 8751
membantu dalam hal proses pengukuran volume minuman Dan
untuk pemakaian yang lebih baik dapat menggunakan komputer PC.
1.5. Metodologl
Untuk merealisasi apa yang sudah direncanakan maka
pengaturan secara software pada Mikrokontroller 8751H yang nan
memberikan timer ke buka-tutupnya
diinginkan.
valve untuk volume
Dimana volume minuman diset lewat komputer
komposisi minuman baru yang diinginkan.
1.6. Sistematika
Sistematika pembahasan dan penyusunan tugas akhir ini
sebagai berikut :
akan
yang
sebagai
- BAB I : Pendahuluan , pada bab ini membahas tentang latar ., ..... u ... <J•llF,,
permasalahan, pembatasan masalah, tujuan,
sistematika dan relevansi.
- BAB II : Teori penunjang, pada bab ini membahas tentang JJ"~"F-'"'u"•au
minuman cocktail, teori umum mikrokontroller 8751
- BAB III : Perencanaan, pada bab ini membahas tentang pe1r~n.ca11aaln
perangkat keras yang terdiri dari rangkaian
Page 16
-BABIV
-BABV
I-4
8751H dan hubungan serial ke komputer IBM PC. 1
: Perencanaan perangkat lunak yang terdiri
pengoperasian minimum sistem dan program oemt<)O~~rasian
dengan dihubungkan ke komputer IBM PC. Yang A~~·..,u ....
menggunakan bahasa Assembly MCS-51 dan uau~Ql
: Merupakan penutup yang berisi basil pengamatan al t ini serta
kemungkinan penyempumaan dan pengembangan d
yang telah direncanakan.
Page 17
BABll
TEORI PENUNJANG
ll.l PENDAHULUAN
Teori yang menunjang dalam perencanaan
perangkat lunak dalam tugas akhir ini meliputi macam-, ...... "'"'
mikrokontroller 8751H, hubungan serial ke IBM PC-AT.
ll.2 ISTILAH DALAM MINUMAN
ll.2.1 Long Drink
Suatu minuman pikatakan 'long drink' apabila tujuan
dibuat bukan sebagai pelepas rasa dahaga, melainkan untuk di
memberikan suasana yang diharapkan. Dibawah ini terdapat ru~r\flor~ln-:a
erat hubungannya dengan pokok pembahasan ini.
ll.2.2 lntilah Based
maupun
minuman,
· sekaligus
Istilah 'based' yang dimaksud disini adalah faktor yang dominan
dalam suatu formula. Yang tentunya disebabkan oleh do minas·' dari segi jumlah
volume. Tetapi tidak semua minuman dapat dijadikan base.
tertentu yang memiliki sifat base· misalnya Bacardi-based, V
dan lain sebagainya.
ll.2.3 Liquer
Liquer yang terkadang pula disebut spirit,
minuman yang uniform. Biasanya minuman yang
I minuman
, Gin-based
suatu bentuk
sifat base dapat
Page 18
II-2
dijadikan liquer.
ll.2.4 <;ocldail
Dalam membuat cocktail dibutuhkan keahlian dalam mp·nr-a segala
jenis minuman yang dirasakan dapat membentuk cita rasa yang lebih
spesifik.
Pencampuran cocktail disesuaikan dengan situasi yang di n pada saat
itu. Misalnya, Eye Openers, disaat permulaan dari siklus kehid I
untuk membangkitkan spirit dan appetite; Nighhtcaps, !
pada proses '
relaksasi ; Party's Delight, memercikkan api gelora kegembiraaan
Gambar 2.1. Hot Toddy, contoh sebuah cocktail yang tergolong nig
Page 19
II-3
Gambar 2.2. Long Island Tea (vodka-based)
Sebuah contoh cocktail yang tergolong Afternoon
Tabel 2.1. Komposisi Long Island Tea
INGREDIENTS
Vodka
Teguila
Bacardi
Cointreau
Lemon Juice
Sugar Syrup
Cola
Page 20
ll.2.5 Pendekatan Teknologi Komputasi dan Automatisasi
Dalam Mencampur Minuman
Pada Gambar 2.3. terlihat proses mencampur cocktail secara
CAMPUR TANGAN MANUSIA
- kreativitas, inisiatif, intuisi, ide, penye - seleksi - mencampur - komposisi volume
1l CAMPUR DAN PRODUKSI
PROSES
Gambar 2.3. Blok diagram proses dalam mencampur cocktail
Minuman-minuman adalah seakan-akan input berupa
suatu proses. Dengan diberikan pengaruh luar dari manusia
an mood
. maka proses akan menghasilkan produk (dalam hal ini berupa ~v''"'n...au
sifat dan rasa yang diinginkan.
Gambar 2.4. terlihat proses dalam seni mencampur cocktail u"~''F."'' . menggunakan alat otomatis.
II-4
dengan
Page 21
CAMPUR TANGAN MANUSIA ALAT OTOMATISI
- kreatifitas, inisiatif seleksi - intuisi, ide - penyesuaian mood
- komposisi - mencampur
--~~ CAMPUR DAN PRODUKSI
PROSES
Gambar 2.4.
II-5
Blok diagram proses dalam mencampur cocktail dengan ... ~., ....... -. alat otomatis
Dari gambar tersebut terlihat campur tangan diminimumkan
menjadi hanya tugas yang sifatnya lebih manusiawi yakni:
o Kreativitas
o Inisiatif
o Ide
o Intuisi
0 Penyesuaian jenis cocktail yang dipilih dengan s i yang
sedang dirasakan saat itu (mood adjustment).
Sedangkan untuk tugas selanjutnya diserahkan pada alat
kualitas pengerjaan yang melebihi kemampuan seorang
ll.3 URAIAN UMUM MIKROKONTROLLER CHIP
Page 22
II-6
chip tunggal 8-bit dari keluarga Intel MCS-51 type 8751H.
Dasar pertimbangan pemilihan penggunaan
adalah sebagai berikut :
1. Memiliki CPU 8-bit dan tersedia fasilitas ·
diperlukan untuk pengaturan.
2. Memiliki EPROM internal sebesar 4096 byte (4 ).
3. Memiliki RAM internal sebesar 128 byte.
4. Memiliki 4 buah 1/0 Port, ~2 jalur 110.
5. Memiliki 2 buah internal timer/counter 16 bit.
6. Memiliki 5 buah sumber Interrupt.
Komponen mikrokontroller Intel 8751H mempunyai
tinggi dengan komponen peripheral yang dikeluarkan oleh I atau dengan
komponen TTL.
ll.3.1 ARSITEKTUR INTERNAL 8751H
HMOS (High Speed Metal Oxide Silicon) dalam bentuk Circuit (IC)
yang dikemas dalam bentuk DIP (Dual Inline Package) ----~-..-
Konfigurasi pin pada Intel 8751H diperlihatkan pada gambar 2
ll.3.2 FUNGSI TIAP PIN INTEL 8751H
Konfigurasi pin Intel 8751H dikelompokkan sebagai Port, pin-pin
. . masmg-masmg kontrol, pin Interrupt, pin Xtal dan pin Power Supply. Fungsi
pin adalah sebagai berikut :
Page 23
II-7
-vss
Merupakan pin ground.
-vee
Dihubungkan dengan tegangan catu +5 Volt.
-Port 0
110 Port 8-bit dengan open drain. Pada saat dan perubahan
(verifikasi) digunakan sebagai jalur input/output data. J menggunakan
external memori, maka port ini berfungsi sebagai data
bawah (low address). Port 0 dapat menerima beban dua IC
- Port 1
Merupakan 8-bit quasi bidirectional port, juga d'
bawah (low address) pada saat dilakukan pemrograman dan
-Port 2
Port 2 juga 8 bit quasi bidirectional port, juga d · uuaJ\.a., untuk alamat
atas (high address) pada saat menggunakan memory . Pada saat
pemrograman pin ini digunakan sebagai alamat atas address) serta
sinyal pengontrol. Port ini dapat menerima beban satu I I
-Port 3
110 port quasi bidirectional yang juga mengandung pin Jnt"''""'""t
untuk serial port serta RD dan WR yang dapat digunakan
pilihan. Jika hasil output latch yang diinginkan adalah
output latch harus diprogram pada kondisi 1 (high) sehingga
dapat aktif. Port 3 dapat menerima beban satu TIL. Fungsi
timer, pin
i tersebut
dari port
Page 24
Port l Bit 0
Port l Bit 1
Port 1 Bit 2
Port 1 Bit 3
Port l Bit~
f'ott 1 Bit 5
Port 1 Bit 6
Port 1 Bit 7
Reset lnpu I
Port 3 Bit 0 (Receive Oata I
1 Port 3 Bit txt.\ IT Oo1ta )
2 Port 3 Bit (Interrupt 0 )
3 Port 3 Bit (Interrupt 1 )
Port 3 Bit (Timer 0 lnpu
Port3 Bit (Timer 1 lnpu
Port 3 Bit (Write Stiob
~
II
5 u 6 tl t7 Port 3 Bl
(Rud Sltob c)
Cry,bllnpu l2
tl
Crou nd
l Pl.O \_J
Vee '0
2 P\.1 tAOOlPO.O 39
3 P1.2 (A011PO.l 38
' '1.3 CAD21P0.2 37 .
5 Pl.~ (A031PO.l 36
6 P1.5 (AO,lPO., 35
7 Pl.' (.f..OSIPO.S 3'
8· Pl.7 (A06lP0.6 33 . . 9 RST (A07)P0:7 32
10 Pl.OIRXOI (Vpp)/(A ll
11 Pl.lCTXOI (PROCIAlE 30
12. P3.2(lNTOI PSEN 29
13 P3.3CI'NfiJ (Al5lP2.7 28
1~ P3.~CTOl (Al(JP2.6 27
·•' -~· 15 P3.5CT1i (Al3lP2.5 26
u Pl.6cWRJ (A121P2.4 Z5
17 P3.7(RoJ CA111P2.3 24
ll XTALl CAlOIP2.2 23
19 XTAll CA91P2.1 22
20 Vu (A8)P2.0 21
Gambar 2.5. 11
Konfigurasi Pin 8751 H
3 adalah sebagai berikut :
+ 5V
I&
p (.f. , IJ
p (>
p (A , (.& p (A
p
[ (
(
(Addten
Port 2 Bit (Addren
Port 2 Bit (Addttu Port 2 Bit (Addrus U
- RD (P3. 7) : Strobe pembacaan Memori Data Luar.
II-8
11 •••• ,Enbedded controler Handbook Vol I, In 1 Co,l988,
hal 10-17 I
Page 25
II-9
- WR (P3.6) : Strobe penulisan Memori Data Luar.
- Tl (P3.5) : Masukan dari Pewaktu/Pencacah 1.
-TO (P3.4) : Masukan dari Pewaktu/Pencacah 0.
- INTI (P3.3): Masukan Interrupt 1.
- INTO (P3.2): Masukan Interrupt 0.
- TXD (P3.1) : Keluaran pengiriman data untuk
Port (asynchronous) atau "'"""'"'"'1<4' keluaran clock
- RXD (P3.0)
- RSTNPD
(synchronous).
Masukan penerima data Serial
sebagai masukan/keluaran data
a tau
Perubahan taraf tegangan dari rendah ke tinggi akan 8751H. Bila
tegangan pada pin ini tetap pada taraf tinggi maka saat ...... b'"' .. b't" vee turun ke
taraf rendah, VPD akan memberikan tegangan catu untuk
- ALE/ PROG (Address Latch Enable)
Address Latch Enable merupakan sinyal yang digunakan
Port 0 sebagai bus data atau sebagai bus alamat. Apabila
berarti Port 0 berfungsi sebagai bus alamat dan akan
membedakan
berlogika '1 ',
jika ALE berlogika '0'. Selain itu pin ini juga menerima pul input pada saat
pemrograman EPROM.
- PSEN ( Program Store Enable)
Page 26
Akan berlogika '0' apabila CPU sedang mengakses memori
- XTAL 1
Masukan ke penguat osilator berpenguatan tinggi. Kaki ini
kristal atau sumber osilator dari luar.
- XTAL 2
Keluaran dari penguatan osilator. Kaki ini dihubungkan
menggunakan sumber osilator dari dalam.
- EA /VDD
II-10
eksternal.
kan dengan
kristal bila
External Access pada pin ini jika diberi level tegangan high sesuai untuk jenis
TIL, maka 8751 H akan mengeksekusi instruksi dari R
selama Program Counter belum melebihi 4096. Jika diberi
maka 8751 akan mengambil instruksi dari Memori
(External).Pada saat melakukan EPROM Programming
tegangan sebesar +21 volt.
ll.3.3 HUBUNGAN KERJA ANTAR SUBSISTEM
Arsitektur Intel 8751H dan hubungan kerja dari s
I tegangan low,
tambahan
ini diberi level
chip microcomputer Intel 8751H dapat dilihat pada Ars ...... , .....
(gambar 2.6.}, yang menunjukkan bagian-bagian fungsional
dalam single
diagram blok
o Resident ROM atau ROM Internal.
o Resident RAM atau RAM Internal.
o ALU (Arithmetic Logic Unit).
Page 27
II-11
0 Bagian kontrol taming.
0 Bag ian Special Function Register.
0 Bagian Register Umum.
0 Bagian Akumulator atau Accumulator Latch.
0 Bagian Latch atau Penyangga Port.
0 Bag ian Program Counter.
0 Bagian Program Status Word.
0 Bag ian RAM Address Register.
0 Bag ian timer I counter.
0 Bagian Port.
0 Bag ian Oscilator.
0 Bagian Power Supply.
Semua subsistem I bagian fungsional dari Intel lH ini terangkai
menjadi satu hubungan kerja efektif melalui bus internal 8
II.3.4.CENTRAL PROCESSING UNIT (CPU)
Proses yang dilakukan oleh Microcomputer system d · · ................ , .. I
Pada minimum sistem dari mocrocomputer CPU ini berupa
mampu membuat keputusan sesuai dengan program dari
o Program Counter (PC)
PC merupakan register 16 bit yang digunakan 1 mengontrol urutan
instruksi yang akan dijalankan.
o Dekoder Instruksi
Page 28
£i AlE
PSEH X TAll XTAU RESET
Vee GHD
2)
Bagian menerjemahkan setiap instruksi dan
akan mengontrol fungsi dari setiap bagian di dalam CPU.
o RAM Data Oalam
RAM Data Dalam sebesar 128 byte ini terdiri dari :
System Timina.
System lnlcnupla
Timers
O.tl.t Buffers Mcrno,y Control'
Spccl.tl· F'uncll«<ft Aeaistrra
RAM
B·Bit D.tta .tnd Addrus Bus
ROM '
16·811 Adreu Bua
B)'lt!Bit Addrusu .
Special· F'uncli«<ft Reaisters
Reaister IE a,nkl IP
PCON Realster ~&or a,nk2 SCOH
TCON Reaister a,n~ 1
TMOO TlO THO
Recister B.tnkO TL1
THl lnltrn•l RAM Structure - '
---------------------Gambar 2.6.2>
Arsitektur Diagram Blok Keluarga MCS-5 1
II I I I II
II-12
sinyal yang
110 A~A7 D0·07
110
110 A8·A15
110 Interrupt Counter Se;ial D1lJ RD·WR
Page 29
- 4 Bank Register
Setiap Bank terdiri dari 8 register RO sampai R7.
- 128 bit yang dapat dialamati secara langsung.
Bagian ini terletak pada alamat 29H sampai 2FH
Dalam.
o Stack
Kedalaman stack dibatasi oleh RAM Data Dalam.
o Register Fungsi Khusus (SFR)
Register-register dalam SFR adalah :
o Akumulator (ACC) atau Register A
o Register B
Digunakan bersama register A untuk instruksi
o Program Status Word (PSW)
Register ini meliputi bit-bit : CY (Carry), AC (
(sebagai flag}, RSO dan RS1 (untuk pemilihan register
dan P(Parity flag).
o Penunjuk Stack (Stack Pointer/SP)
II-13
RAM Data
dan pembagian.
Carry}, FO
, OV (overflow),
SP adalah register 8 bit yang menunjuk alamat dari byte terakhir yang
dimasukkan ke stack, juga sebagai alamat dari byte se Jutnya yang akan
dikeluarkan.
o Penunjuk Data Tinggi (Data Pointer High/DPH)
Penunjuk Data Rendah (Data Pointer Low/DPL)
DPTR 16 bit adalah gabungan dari DPH dan DPL yang ing-masing 8 bit.
Page 30
DPTR digunakan pengalamatan register tak langsung untuk
Memori Program, pemindahan data· dengan Memori Data
bercabang sampai 64 Kbyte.
o Port 0, Portl, Port 2, Port 3
Semua Port dapat dialamati secara byte maupun bit.
0 Register Prioritas Interrupt ( Interrupt Priority
Register/IP) Berisi bit-bit kontrol untuk mengaktifkan
yang diinginkan.
o Interrupt Enable Register (IE)
II-14
.11 .......... 11 konstanta
untuk
t pada taraf
IE berisi bit-bit untuk mematikan/mengidupkan setiap sumber interrupt
atau keseluruhan.
o Timer/Counter Mode Register (TMOD)
Bit-bit pada register TMOD digunakan untuk memil
pencacah yang bekerja.
0 Timer/Counter Control Register (TCON)
Bit-bit pada TCON digunakan untuk memulai/
pencacah, flag-flag overflow dan permintaan interrupt.
o THO, TLO, THl dan TLl
pewaktu atau
pewaktu
THO dan TH 1 digunakan untuk byte tinggi dari 1
, pencacah 0 dan
1. TLO dan TLl untuk byte rendahnya. Register-register · dapat dibaca dan
ditulis.
o Serial Control Register (SCON)
Bit-bit pada SCON digunakan untuk pemilihan operasi dari
Page 31
II-15
serial port.
o Serial Data Buffer (SBUF)
dari serial , I
SBUF digunakan untuk menampung data masuan atau I
port tergantung apakah serial port menerima atau mengirim
o Bagian Aritmetika
fungsi manipulasi I .
data yang dilaksanakan olehh Aritmetic/Logic A, B dan PSW.
o Rangkaian Osilator
paralel anti-resonant dengan batas frekuensi mulai dari 1,2 M samapai 12MHz.
o Prosesor Boolean
Prosesor Boolean adalah prosesor bit yang berdiri iri, yang memiliki
sendiri pasangan instruksi. akumulator dan bit addressable dan III. Prosesor
jump-if-set, jump-if-not-set, jump-if-set-then-clear dan
carry.
ll.3.S MEMORI
Pada microcontroler MCS-51, program data memori iliki alamat yang
register DPTR. Program Memory hanya dapat dibaca, alamat tersedia samapai
Page 32
64 Kbyte. 4 Kbyte awal tersedia didalam chip (on-chip). Data
alamat yang berbeda dengan Program Memory. Ram Eksternal !
Kbyte. RAM Internal terdiri dari 256 byte yang terbagi 2
II-16
menempati
terendah bagi Internal RAM yang dapat dialamati baik scara maupun Indirect
Addressing. 128 byte berikutnya digunakan sebagai SFR \>Ju•~;;'-la• Function Register)
yang hanya dialamati secara langsung ( Direct Addressing ).
ll.3.5.1. Read Only Memory (ROM)
ROM merupakan memori yang hanya dapat dibaca.
dibaca dari ROM dapat berupa instruksi atau data.
Memori Program residen terdiri atas 4 Kbyte dengan
terdiri dari 8 bit, yang dialamati oleh program counter.
digunakan adalah EPROM (Erasable Programmable ROM).
Pemetaan alokasi ROM dapat dilihat pada gambar 2. 7.
Memori program internal Intel 8751H dapat diisi dengan mengallC
berhubungan dengan pemrogrmanan EPROM. Pin yang perlu
1. Xtal, pin ini berfungsi sebagai clock output, T'""'''"""''n'"
digunakan 4 - 6 MHz.
2. RESET : pin reset digunakan untuk proses inisil
3. EA/Vpp: sebagai pin untuk mengaktifkan proses
4. Port 0 : 8 bit bus yang digunakan sebagai bus data
5. Port 1 : menyatakan address dari lokasi EPROM
0- 7). I
· yang dapat
Intel 8751H yang
EPROM.
akan diisi (address
Page 33
II-17
6. Port 2 : Port 2 bit 0-3 digunakan sebagai address 8-1 ,
Port 2 bit 4-5 tidak digunakan,
Port 2 bit 6 diberi logic 'low',
Port 2 bit 7 diberi logic 'high'.
7. VPP : sebagai pin power supply pemrograman.
8. PROG : sebagai pulsa input program.
ll.3.5.2. Random Access Memory (RAM)
pada address OOH - 7FH serta address SOH - FFH digunakan oleh 21
buah register khusus yang disebut SFR (Special · Register). Ke-128
bit awal RAM ditunjukkan pada gambar 2.8.
FFFF FFFF
60 K BYTES 64 K
EXTERNAL BYTES OR ~ EXTERNAL
I
1000 OFFF
4K BYTES INTERNAL
0000 0000
Gambar 2.7. Peta Alokasi ROM
Page 34
II-18
Dimana 32 byte terendah dikelompokkan menjadi 4 buah bank yang terdiri
atas 8 buah register dengan alamat OOH - 1FH. lnstruksi pada mengenal
register-register ini sebagai RO - R7. Dua bit pada Program Status i
I
memilih register Bank mana yang akan digunakan yaitu PSW 3 PSW 4. Dengan
cara ini penggunaan kapasitas memori akan lebihh efisien, instruksi register
lebih pendek dibandingkan dengan instruksi yang pengalamatan
langsung. 16 byte berikutnya (20H - 2FH) yang terletak register Bank
membentuk suatu lokasi memori yang· mampu dialamati secara it (bit addressable
) dan dapat digunakan sebagai general purpose register.
ll.3.6. PEW AKTU/PENCACAH
register-register yang digunakan sebagai
(pewaktu/pencacah 1}, dan THO, TLO (pewaktu/pencacah 0).
Terdapat 4 mode operasi dari Pewaktu/Pencacah, yaitu:
Mode 0 (Pewaktu/Pencacah 8 bit dengan 32 prescalar) atau TH 1 adalah
bit 7-5 tidak dipakai.
Mode 1 (Pewaktu/Pencacah 16 bit) TH1 dan TL1 atau THO 1
TLO dikaskade.
Mode 2 (Pewaktu/Pencacah 8 bit autoreload) TH 1 atau berisi bilangan
yang akan diisikan ke TL1 atau TLO setiap kali
Mode 3
Pewaktu 0 dibagi menjadi dua buah pewaktu/pencacah bit yang terpisah ..
Pewaktu 1 tidak berjalan.
Page 35
Fungsi bit-bit pada register TMOO (rimer/Counter
diperlihatkan pada tabel 2.2. adalah sebagai berikut :
Gate:
err:
M1, MO:
Bila Gate = 1, Pewaktu/Pencacah 'x' enable
tinggi dan TRx = 1. Saat Gate = 0, Pewaktu/
bit TRx = 1.
Jika bit err = 0, maka Pewaktu/Pencacah 'x' akan
pewaktu. Jika err = 1, maka
sebagai pencacah.
(0,0) untuk Mode 0, (0, 1) untuk mode 1, (1 ,0) u
( 1, 1) untuk mode 3.
,_ " ( "". .. ( .... •• (_ .. (.
,.
""
"' "' ""
Jc
• I ._., ICCIS!tlll _, .
., .. H- ~YAI.t«OI ., __ 'IU
J702St-7
Gambar 2.8. Peta Alokasi RAM
II-19
yang
saat pin INTx
enable jika
i sebagai
'x' beroperas i
mode 2 dan
Page 36
SE:PULUH - N0f'f:M8H1
3Yfabel 2.2.Register TMOD
(MSB)
ll.3.7. SISTEM INTERRUPT
MCS-51 mempunyai 5 buah sumber interrupt yang
interrupt request, yaitu :
- INTO : Permintaan interrupt luar dari kaki P3.2.
- INTI : Permintaan interrupt luar dari kaki P3.3.
- Pewaktu/Pencacah 0 (bila terjadi overflow).
- Pewaktu/Pencacah 1 (bila terjadi overflow).
I
I(LSB) I
II-20
membangkitkan
- Port Serial (bila pengiriman/penerimaan satu frame· lengkap).
Tiap sumber interrupt mempunyai alamat tertentu, yang d i pada 0003H dan
seterusnya dengan selang 8 byte. Alamat awal dari tiap-tiap 1
interrupt request ini I
subroutine pada alamat tersebut. Setelah interrupt service
CPU akan mengerjakan program semula.
Sumber Interrupt
Interrupt Luar 0 (INTO)
3 >Ibid, hlm.6-7
4 >Ibid,hhlm 6-22
selesai dikerjakan,
Page 37
II-21
Pewaktu/Pencacah 0 (TO) ~ 1 (OOOB H)
Interrupt Luar 1 (INTI) 9. (0013 H)
Pewaktu/Pencacah 1 (T 1) 7 (OOlB H)
Port Serial (0023 H)
Sumber interrupt dapat dibuat enable/disable dengan bit-bit pada
register IE (Interrupt Enable). Bit-bit pada register IE ............ , sebagai berikut :
- EA (IE.7) : Bila EA = 0, maka semua interrupt 1 dimatikan dan tidak
terpengaruh status dari IE.4 - IE.O.
- ES (IE.4) : untuk interrupt port serial.
- ETl (IE.3) : untuk interrupt pewaktu/pencacah 1.
- EXl (IE.2) : untuk interrupt luar 1.
- ETO (IE.l) : untuk interrupt pewaktu/pencacah 0.
- EXO (IE.O) : untuk interrupt luar 0.
Pengaturan prioritas dari interrupt request terdapat
Priority). Bit-bit pada register IP adalah sebagai berikut :
- PS (IP.4) : untuk prioritas serial port.
- PTl (IP.3) : untuk prioritas pewaktu/pencacah 1.
- PXl (IP.2) : untuk prioritas interrupt luar 1.
- PTl (IP.l) : untuk prioritas pewaktu/pencacah 0.
- PXl (IP.O) : untuk prioritas interrupt luar 0.
Fungsi dari bit-bit pada register TCON (Timer/Counter
sebagai berikut :
- TFl (TCON.7) dan TFO (TCON.5) :
register IP (Interrupt
Register) adalah
Page 38
II-22
TFx = 1 saat pewaktu/pencacah 'x' overflow, dan TFx 0 ketika interrupt
dilaksanakan.
TR1 (TCON.6) dan TRO (TCON.4) :
Jika TRx diisi '1' atau '0' maka pewaktu/pencacah 'x'
- IE1 (TCON.3) dan lEO (TCON.1) :
Bit lEx = 1 bila sisi jatuhh dari interruptluar 'x'
olehh perangkat keras bila interrupt dilayani.
- IT1 (TCON.2) dan ITO (TCON.O) :
Bila ITx = '1' atau '0' maka interrupt luar 'x' akan
taraf rendah.
IT.3.8 PORT SERIAL
Port Serial dalam serpih MCS-51 ini dapat dioperasikan
- Mode 0 (synchronous)
atau berhenti.
· saat sisi jatuh atau I
4 mode, yaitu:
I
Data serial 8 bit dikirim dan diterima melalui RXD, dengan terendah (LSB)
yang pertama dan TXD mengeluarkan clock penggeser. rate untuk mode
0 adalah 1/12 dari frekuensi osilator.
- Mode 1 (asynchronous)
TXD mengirim atau RXD menerima 10 bit dengan baud rate diubah-ubah.
- Mode 2 (asynchronous)
TXD mengirim atau RXD menerima 11 bit dengan baud adalah 1132 atau
1164 dari frekuensi osilator.
- Mode 3 (asynchronous)
Page 39
II-23
Mode 3 ini sama dengan mode 2 kecuali pada mode 3 rate dapat diubah-
ubah.
Register SCON digunakan untuk mendefinisikan mode ,..n,.r.,"i dari kontrol
fungsi-fungsi dari port serial. Register SCON digambarkan
Fungsi bit-bit pada register SCON tersebut adalah :
5Yfabel 2.4. Register SCON
SMO SM1 SM2 RE TB8 RB8 T1 R1
N
(MSB) (LSB)
- SMO, SM1 : pemilihan Mode (0,0) untuk Mode 0, (0, 1) untuk Mode 1, (1,0)
untuk Mode 2 dan (1, 1) untuk Mode 3.
-SM2 Pada Mode 2 dan 3, hila SM2 = RI tidak akan
diaktifkan hila bit data ke 9 (RB8) yang adalah '0' . Pada
Mode 1, jika SM2 = 1, maka RI tidak diaktifkan hila stop
bit yang diterima tidak sempurna.
- REN : Bit enable penerima data.
- TB8 Bit data ke 9 yang akan dikirim pada M
- RB8 Pada Mode 2 dan 3, RB8 sebagai bit ke 9 yang diterima.
Pada Mode 1, ,hila SM2 = 0, RB8 adalah bit yang diterima .
. 5>Ibid, hlm.39
Page 40
II-24
Pada Mode 0, RB8 tidak digunakan.
- TI Transmit interrupt flag diisi ' 1' oleh
dari pengiriman.
- RI Receive interrupt flag diisi '1' oleh
dari penerimaan. Semua data dikirim maupun
diterima ditempatkan pada Serial Data . Register (SBUF). !
ll.4 KOMUNIKASI DATA SERIAL
Komunikasi data serial adalah dengan mengirimkan satu b data setiap selang
untuk kemudian dikirimkan dalam bentuk data biner serial.
Metode pengiriman sinyal yang dipakai RS-232
Komputer walaupun menggunakan transmisi asinkron untuk
yang diterima akan diubah menjadi sinkron. Transmisi as·
yang ditransmisikan antara satu start bit dan dua stop bit
pada gambar 2.9. dibawah ini.
Kecepatan transmisi dalam saluran biasanya diekspres
sebenarnya istilah baud
i I
metode asinkron.
serial, data
I menyusun karakter
I • yang ditunjukkan
dalam baud rate,
Page 41
II-25
istilah baud untuk menunjukkan kecepatan transmisi, sedangkan kecepatan
informasi dipakai bit per detik (bps).
ll.4.1
I
Konektor yang dipakai untuk menggunakan RS-232C dengan media transmisi
KONEKTOR DB-25
adalah konektor DB dengan 25 pin, biasanya dikenal dengan I utan DB-25.
Berdasarkan dari bentuknya DB-25 mempunyai dua jenis yaitu jenis male dan
I female. Pada IBM Asyncronous Communication Adapter yang ses . dengan standart !
berdasarkan ukuran standard ISO. Gambar 2.10. menjelaskan mekanis dan
posisi pin-pinya.
~ . .i .... I .... ..
~·:t -:-; ".:: ·1 .. 4) .... ·~~ . .. j'l c .;. :! -... . .. s .. .. ~
81 ~ 1 "' .. oct '
.. " r"-v l 1'-v L
¥ 1---y-1-, I
Gambar 2.9. Transmisi Asinkron
Page 42
II-26 II.4.2 FORMAT DATA
Seperti halnya transmisi asinkron pada umumnya, format
dengan start bit, kemudian data bit dan diakhiri dengan parity
Start Bit
Pada sistem komputer atau suatu peralatan penerima
dapat dibaca baik logika '0' atau logika '1' pada jalur data akan i
memberikan kondisi awallogika '0' selama bit time yang sudah diL.-1 uLul\.cuJ, bila data
word akan dikirimkan. Oengan adanya perubahan kondisi '1' ke ' , komputer akan
menafsirkan bahwa suatu word data akan dikirim.
-·-·--~-----1--_.!_J_ __________ . ________ L __ !,__
:--~I ----------·--r-r: & .... L cy;.;:=~=::y:o I I . - - -1-1 ..... _ ----+-': I I I I I I I I I I ,_.,_ - I I I ' I • I I , • ....__. - I
. I . I
·~ . I :-r 6 (ct o. o. Q.C\ o. o. q c;~. o, oT~1 cb .1,. l9·Q.~~-~SJ/- _L
[" ... _: 1- -·. .. . . . ..1 : ~ r---......... - 1 ----'"''--·-----
•>aambar 2.10. Karakteristik konektor DB-25
'1Hall, Microprocessor and Interfacing, hhal. so
Page 43
Bit Data
Proses transmisi harus mengikuti beberapa aturan.
diperlihatkan adalah kode karakter yang dipakai dalam bit data.
kode yang cukup populer antara lain : kode 5 bit untuk .ucu .. uv
II-27
satu yang harus
ini ada beberapa
untuk IBM coorespondence; kode 8 bit untuk EBCDIC; dan . paling populer
adalah kode 7 bit untuk kode ASCII. Standard RS-232 tidak llJ!;;J.uuoLLCli)l. jumlah bit
per karakter, akan tetapi komputer membatasinya. Pengiriman bit selalu dimulai
dengan bit terkecil sampai bit terbesar.
Parity dan Stop Bit
Setelah data bit akan diikuti dengan parity bit, yang .... 6 ... " .. ~" untuk mendeteksi
kesalahan. Suatu kesalahan akan terjadi bilamana ada pada pulsa yang
dikirim, oleh karenan itu satu bit perlu ditambahkan untuk kesalahan
dalam pembacaan data dan biasanya disebut parity cek.
Bit terakhir yang ditransmisikan adalah stop bit. Bit ini
bit yang sebenarnya, tetapi stop times yang mengizinkan
mengumpulkan bit-bit serial yang sudah diterima dan
selanjutnya.
ll.4.3 INTERKONEKSI KABEL
dikatakan bukan
untuk karakter
Komunikasi langsung antara terminal data dengan komp yang melalui RS-
232C yang paling mudah ditunjukkan pada Gambar 2.11. Pin 2 ) dari tereminal
Page 44
data 1 dihubungkan dengan pin 3 (TxD) dari PC dan sebal·
pin-pin lainnya kecuali pin 7 (Groubd), yang merupakan
rangkaian penerima atau pengirim.
PCl PC2
Tx " Tx
Rev J .. Rev
Gnd Gnd
a. Simple null modem connection
Tx
Rev
RTS
CTS
DSR
Gnd
CD
DTR
b. General-purpose null modem connection '>Gambar 2.11.
Hubungan Antara PC dan PC
7>Kruglinski, David, Ouide to IBM PC
Orsbone/ McGraw-Hill, 1986, hal.179
Tx 1
II-28
Tidak satupun dari
mon return untuk
Page 45
II-29
II.S MOTOR STEPPER
berputar searah ataupun berlawanan jarum jam.
kutub magnet yang berlawanan tarik-menarik dan kutub mag yang sama akan
tolak-
2.12. Jika kumparan stator diberi aliran listrik sedemikian seh
kutub utara dan stator B menjadi kutub selatan, dan rotor
posisi seperti pada gambar 2.12.a., maka torsi yang '.E."''""''''' akan memutor 180 I
drejat dari posisi semula. Tetapi kenyataannya hal tersaebut I
akan menjadi dan I
rotor tidak akan bergerak karena gaya yang terjadi dalam keadaan seimbang
(balance).
Jika ditambahkan dua kutub stator yaitu kutub stator C dan D , · pada gambar
2.12.b. dan kemudian diberi energi maka dapat ditentukan
Pada Gambar 2.12.b. arah putaran berlawanan dengan arah jam dan rotor
akan berhenti bergerak setelah kutub selatan permanen magnet
kutub utara stator dan begitu pula sebaliknya seperti pada :t<<l.lllU<I.l
Motor stepper dapat dibagi menjadi 3 jenis bila ditinjau dari konstruksi dan
kemampuannya :
Page 46
II-30
11.5.1 Variable Reluctance ltfotor
Motor Variable Reluctance (VR) mempunyai sebuah stator dengan sejumlah
kutub yang terbuat dari kumparan. Rotor berbentuk silinder u..,IIIUlll beberapa unit
gigi yang mempunyai kaitan dengan kutub pada stator. J I gigi pada stator
I berkaitan dengan sudut gerak setiap langkah, seperti terlihat gambar 2.13.
I
Ketika arus mengalir melalui kumparan, torsi akan dibang ' , sejalan dengan I
itu rotor akan berputar ke posisi reluktansi magnetik berharga m ' ·mum. Posisi ini
I merupakan posisi yang stabil dan masih banyak posisi stabil dapat dicapai
sesuai dengan pola mengenergian pada stator. Ketika kumparan energi, medan
stator
0
§ /El' ElD~·
-1- .... . . , ...... .-... -
G)" .•
••• •••
•>oambar 2.12. Prinsip dasar Putaran Motor Stepper
'1Charles A.Schuller, William L.Mc.Name, Industrial
Electronics and Robotics, McGraw Hill Inc, 1 86, hlm 53
Page 47
berubah menyebabkan rotor bergerak pada posisi stabil yang
menggambarkan model dasar pengeksitasian yang akan
tepat karena akan mengasilkan torsi yang cukup besar.
Motor stepper jenis variable reluctance mempunyai sisa
kecil sehingga tidak akan ada gaya yang bekerja pada rotor,
energi. Sudut langkah dari motor jenis ini relatif kecil dan
kelembaman yang kecil dibandingkan dengan yang lainnya.
II.5.2. Permanent Magnet Motor
II-31
. Gambar 2.13.c.
" ... 1., •• ~--·n yang sangat
stator tidak diberi
memiliki kapasitas
Ciri utama dari motor jenis ini, selalu terdapat permanent pada
konstruksi rotornya. Untuk menghasilkan gerakan atau yang lebih baik,
perlu ditambahkan beberapa kutub pada stator· dan gigi-
demikian juga pada rotornya. Jumlah gigi-gigi pada stator rotor menentukan
sudut langkah yang akan dicapai pada saat salah satu kutub · kumparan berubah. I
Motor jenis ini beroperasi berdasarkan interaksi fluks pada rotor dan
gaya magnet pada stator. Jika kumparan dieksitasi pola yang telah
ditentukan, rotor akan bergerak pada titik keseimbangan baru dan berputar
sesuai dengan perubahan pola seperti pada gambar 2.14. Jika rotor tidak
dieksitasi maka tidak akan ada torsi penahan pada rotor.
Page 48
c
a.- ".. I
U·:
I • ' I
.. _~e ·~/
1~1
9>Gambar 2.13. Variable Reluctance Motor
a). Bentuk kumparan VR motor
b). Hubungan kode warna dan phase setiap
kumparan
c). Bentuk dual-excitation tiga phase
d). Bentuk gelombang
,, Ibid, hlm 54
II-32
Page 49
II-33
I I 5 --·•a ·-- ••-· -•-•••..,.•-
~ 4 ., l
4 l ..... I
• le ,._f6- dt...,.IIOft. UtiWC d ... t ttr•lu ... 1••110111
I hi
•-· ··REV
'"
10>Gambar 2.14. Permanent Magnet Motor
a). Diagram skema
b). Deretan pulsa
c). Bentuk Gelombang
u> Ibid, hal. 53
Page 50
IT.S.2 Pennanent Magnet Hybrid Motor
Konstruksi Permanent Magnet Hybrid Motor
merupakan kombinasi antara motor jenis Variable
Magnet. Konstruksi dari motor ini seperti pada gambar 2.15. 1
l.."Umparan stator dan rotornya memakai gigi-gigi. Oengan
motor mempunyai kapasitas torsi yang cukup besar dengan
II-34
· rotor yang
seperti ini
langkah I
sekitar 3 persen dan sudut langkah 0,5 - 15 derjat. Motor ini mempunyai
kecepatan 1000 langkah per menit bahkan lebih besar.
u> Ibid, hlm. 54
">Gambar 2.15.
Too1t.H .... ,., .,ole
Permanent Magnet Hybrid Motor
Page 51
BABIII
ill.l. PENDAHULUAN
Alat yang direncanakan mempunyai jumlah masukan 24 • keluaran 24
titik, dan rangkaian serial. Rangkaian pengkondisi sinyal yang ibuat terdiri dari
I
8 buah rangkaian untuk keluaran dan masukan 12 volt. Dan buah rangkaian
untuk keluaran dan masukan 5 volt.
ll.2. DIAGRAM BLOK
Diagrall_l blok dari Alat yang direncanakan ditunjukkan Gambar 3.1.
IBM PC - AT digunakan untuk mengirimkan data vol
mikrokontroller, dimana pengiriman data ini dilakukan secara
mikrokontrooler sendiri ada fasilitas untuk hubungan serial. ini nantinya
disimpan di RAM internal dari mikrokontroller.
Unit masukan/keluaran merupakan bag ian dari sis tern berhubungan
langsung dengan masukan/keluaran.
Page 52
MIKRO XONTROLLER
INPUT
VOLUME MINUMAN
Gambar 3.1.
III-2
, I
I
OUTPUT
DIAGRAM BLOK DARI ALAT YANG DIRENCAN N
Page 53
III-3
ill.3. RANGKAIAN MIKROKONTROLLER 8751H
i
Rangkaian mikrokontroller 8751 diperlihhatkan pada 3. ' . Kaki EA arus ! .
dihubungkan ke V cc karena mikrokontroller ini memakai ....... ,.....,. yang ada dalam
serpihnya. Rangkaian Latch diperlukan untuk memisahkan rendah dan data
dari port 0. Pada perencanaan ini digunakan 8
Gambar 3.2.
Rangkaian Mikrokontroller 8751H
bit Latch 74LS373. Enable (Kaki 1) dihubungkan dengan kaki . dari 8751.
Bila sinyal ALE aktif, alamat rendah akan terkunci pada bus
Pin DIR dari 74LS245 sebagai buffer data akan high, berarti buffer
mempunyai arah dari A ke B, hila RD tidak aktif. Bila sinya1 1 RD aktif, yaitu
8751H membaca data input dari IC 8255, maka pin DIR akan ogika rendah
Page 54
dan arah dari B ke A. Dan saat WR aktif (RD high), arah
8751H dapat menulis ke port output IC 8255.
ID.4. RANGKAIAN DEKODER MIKROKONTROLLER
Rangkaian dekoder diperlukan untuk memberikan alamat
masukan dan port keluaran. Pemetaan 1/0 ditunjukkan pada
Dari tabel kebenaran tersebut terlihat dapat dibuat
menggunakan 74LS139 seperti terlihat pada Gambar 3.3.
Tabel 3.1.
PEMETAAN MEMORI DARI 1/0
A7 A6 AS A4 A3
PortAl 0 0 0 0 0
PortBl 0 0 0 0 0
PortCl 0 0 0 0 0
CWl 0 0 0 0 0
PortA2 0 0 0 0 0
PortB2 0 0 0 0 0
PortC2 0 0 0 0 0
CW2 0 0 0 0 0
A2
0
0
0
0
1
1
1
1
I
I
III-4
memungkinkan
padaport
dekoder
Al AO
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
Page 55
III-5
U9:A 74LS139
A ~·~~~~ A
A7
Gambar 3.3.
RANGKAIAN DEKODER
m.s. RANGKAIAN MASUKAN/KELUARAN
PPI 8255 digunakan sebagai port masukan/keluaran. hal ini 8255
2 sebagai 24 bit port keluaran.
Pemilihan 8255 yang diaktifkan tergantung pada CS yang
dihubungkan dengan keluaran rangkaian dekoder. Sinyal
WR dan RESET dari PPI, seperti ditunjukkan oleh Gambar 3.4.
ID.6. RANG KAlAN PENGKONDISI SINY AL
Rangkaian Pengkondisi Sinyal yang digunakan baik masukan
maupun keluaran. Sinyal masukan dan keluaran dengan taraf
I
12 volt de. Dan untuk sinyal + 12 volt menjadi taraf TTL. Rangkaian ini
menggunakan optocoupler sebagai pengisolasi elektris antara I
Page 56
III-6
UB
U7 i.
I'BI I'll 1'82 1'83 1'84 1'81 PBS PSI 1'86 P82 ,..,
PBJ P84 PCI PIS PCI 1'86 I'C2 P87 I'CJ
PC4 PCI I'CS I'CI I'C6 I'C2 PC? PCJ PC4 I'CS PC6 PC?
Gambar 3.4.
RANGKAIAN MASUKAN/KELUARAN
Rangkaian pengubah sinyal taraf + 12 volt menjadi taraf TIL lihatkan pada
Gambar 3.5. Current Transfer Ratio dari suatu optocoupler auCJLIQ.41
dari arus keluaran terhadap arus bias maju LED, yang dapat d' dengan
Gambar 3.6. menunjukkan karakterisitik Current Transfer
dimana IL adalah arus kolektor dari phototransistor. Bila harga
I
dengan LED dari 4N25 diambill k ohm, sedangkan tegangan bias· ·u LED dari
4N25 = 1,1 volt, maka arus lp dapat dihitung :
Page 57
R26 2k
Gambar 3.5.
III-7
RANGKAIAN PENGUBAH SINY AL TARAF 12V TTL
lp = (12- 1,1)/lk
= 10,9 rnA
Dari karakteristik Current Transfer 4N25, bila lp = 10,9 rnA suhu kamar
maka arus keluaran Ic = 4 rnA. Agar phototransistor· bekerja daerah non-
aktif maka:
Rc > (5 - 0,2) I 4mA
> 1,2 k ohm
Pada Rangkaian tersebut diambil harga Rc = (560 + 330 + 2k) , 2,89 k ohm. I
Keluaran Phototransistor tersebut dihubungkan ke port masukan
Schmitt Triggered 74LS14, agar diperoleh masukan yang tidak --.-c,---c,c akibat
debounce.
Rangkaian pengubah taraf TTL menjadi keluaran 12 diperlihatkan
Page 58
pengisolasi elektris antara sumber dengan beban.
Selain itu ada rangkaian yang menggunakan optacoupler
merubah taraf tegangan karena hanya digunakan sebagai sensor
ada tidaknya benda yang menghalangi cahaya foto diodanya ke
Dimana ini digunakan untuk meng-sensor posisi motor .. t,.·nn"'"'
berguna untuk penempatan posisi sensor ultrasonik yang tepat
posisinya dengan bantuan motor stepper.
" ! _ .. '/ .. \ .. ~
~ .. ...,
t4
20
10
so
:.o 1.0
tl.,
07
0,1
0 ()', 0.~
JNSTITUT TEKNOLOGI
SEPULUH - NOPEMiER
U 10 ~ ~ lf.4 . ':r.l I ~ , ......... ..,... CWIItl\1,1, l•olo\1
Oambar 3.6. I
KARAKTERISTIK CURRENT TRANSFER RATIO
III-8
dipindahkan
Page 59
III-9
OUTPUT PORT I
Gambar 3.7.
RANGKAIAN PENGUBAH SINY AL TARAF TIL 12V
ID.7. RANGKAIAN SERIAL INTERFACE RS-232C
Rangkaian serial interface diperlukan untuk mengubah ·
RS-232C atau sebaliknya. Perbandingan spesifikasi level sinyal -232C dengan
TIL dapat dilihat pada gambar 3.8. Kedua standar level sinyal in· berbeda dalam
hhal pendefinisian level logikanya. Pada level TIL logika '0' I
level 0 - 0,4 volt, logika '1' didefenisikan pada level ( -3V) - ( -1
yang direncanakan data serial ditransmisikan melalui kabel
standar RS-232C, sedangkan level yang berhubungan dengan m1 ..... ·nnt-· .. , a tau !
diterima oleh CPU atau peripheralnya, data tersebut harus diubah
ke level RS-232C. Untuk mengubah level RS-232C ke level TIL sebaliknya
digunakan IC ICL232. IC ICL232 ini mempunyai dua buah
ke level RS-232C dan sebaliknya. Rangkaiannya dapat dilihat
Page 60
i III-10
Port komputer yang digunakan untuk komunikasi peralatan yang
direncanakan adalah port serial RS-232C. Port serial ini
25 pin. Hubungan port serial RS-232C komputer dapat dilihat
+15V +SV LOGIKA LOGIKA
0 1 +3V +2.4V
ov
-3V 0.4V LOGIKA LOGIKA
1 0 -15V ov
a} . Level RS-232C b) . Level
Gambar 3.8.
Perbandingan spesifikasi level RS-232C dengan
t•C.·I , Flg11tt 3: Ctneral Tul Cltc111t ...._ __
Gambar 3.9.
Rangkaian pengubah level
Page 61
IBM PC
GND
TxD
RxD
RTS
CTS
CD
DTR
RS-232C
CRT RX
CRT TX
I .
I
I
Gambar 3.10.
Hubunga Port serial RS-232C
ID.S. RANGKAIAN MOTOR STEPPER
Urutan logika yang diberikan pada motor stepper '11n~r.nleh dari port 1
I mikrokontroller dengan terlebih dahulu melalui rangkaian
Rangkaian driver untuk motor stepper dapat dilihat pada
Adapun tabel kebenaran urutan eksitasi untuk
secara full step yang diperlihatkan pada tabel 3.2.
Page 62
III-12
Tabel 3.2.
T ABEL EKSIT ASI MOTOR STEPPER
Phase Output Port 1 IKumparan I
M or Stepper
Pl. 3 P1.2 P1.1 Pl.O A B c D
St 1 1 0 0 1 0 1. 1 0
St 2 0 1 0 1 1 0 1 0
St 3 0 1 1 0 1 I 0 0 1
St 4 1 0 1 0 0 1 0 1
Step 5 1 0 0 1 0 1 1 0
Page 63
Gambar 3.11.
... lN4812
RANGKAIAN DRIVER MOTOR STEPPER
III-13
Page 64
BABIV
PERENCANAANPERANGKATL
IV.l.PENDAHULUAN
Pembahasan mengenai perencanaan perangkat lunak akan diawali
dengan software untuk system 8751h, algoritma dari
mikrokontroller 8751H. Setelah itu dilanjutkan dengan diagram dari perangkat
lunak pada IBM - PC.
IV .2. Software untuk system 8751h
Mikrokontroller ini dapat menangani operasi aritmetik, dalam bentuk
binari, BCD maupun dengan pengoperasian bit tunggal yang iperlukan dalam
proses kontrol. I
IV.2.1. Proses Pemindahan Data
Proses pemindahan data pada mikrokontroller 8751h sangat fleksibel.
Sebagai pusat perpindahan data adalah Special Function Reg· (SFR), yang
didalamnya terdapat Akumulator dan register multiguna B
proses perpindahan data berupa byte. Selain itu terdapat pula C yang terletak
di Program Status Word bit 7 yang berfungsi sebagai .................... 11
pemrosesan data berupa bit. Data dapat ditransfer antara ke-8
Page 65
IV-2
Konstanta yang tersimpan pada memori program dapat indahkan secara
langsung ke akumulator maupun ke register.
IV .2.2. Pemetaan Memory Program
Lokasi 0 dari memori program digunakan untuk instruksi Gump) yang
I
akan menuju ke program utama. Proses ini dilakukan saat ' kali power
suplai diberikan atau pada tiap kali ada input RESET (switch
Lokasi 023H pada memori program digunakan sebagai alamat untuk
interrupt serial. Jadi setiap kali ada interrupt maka alamat ini dituju. Lokasi
ini berisi AJMP Gump) menuju ke subroutine yang ada. A lain subroutine
menerima atau mengirim data volume ke Komputer IBM PC.
Program utama dimulai dari alamat 1 OOh yang mana
program-program subroutine.
IV .2.3. Instruksi Pemindahan Data
Instruksi pemindahan data digunakan data dari
Register, Program Status Word atau alamat byte langsung dari memori program
ke akumulator dan sebaliknya. Disamping itu dapat pula d untuk menukar
data dari lokasi memori atau register ke Akumulator atau
pemindahan data ini dapat juga digunakan untuk memindahkan
akumulator, ke memori data, ke alamat byte atau ke
sebaliknya. Selain itu instruksi perpindahhan data ini
input/output Port, yaitu dengan menindahkan isi Po-P3 di SFR
immediate ke
demikian pula
untuk proses
akumulator atau
Page 66
IV-3
memindakan data ke PO-P3.
Instruksi-instruksi yang digunakan pada perencanaan 1
software dapat ! •
dijelaskan sebagai berikut :
MOV .AijRuk memindahkan data dari register ke
akumulator (dengan r = 0-7).
MOV A,@Ri : untuk memindahkan data dari memori data ke '
akumulator. Alamat lokasi memori oleh isi
register (dengan i = 0-1).
wOV A,#d : untuk memindahhkan data immediate ke ACC. 1
MOV A,Direct : untuk memindahkan data di address byte ke
akumulator. (direct menyatakan lokasi data
internal, dapat berupa data RAM atau
MOV Rr,A : memindahkan data dari akumulator ke
register r.
MOV @Ri,A : memindahkan data dari akumulator ke
memori data dengan alamat ditunj pada register i
(dengan i = 0 atau 1).
MOV Rr,#d : memindahkan data immediate ke register r.
MOV @Ri,#d : untuk memindahkan data immediate ke """""" ...... r.
data dengan alamat yang ditunjukkan isi register i.
MOV DPTR,#d : data pointer diisi dengan immediate data.
MOVC A,@A + DPTR : untuk memindahkan code byte
ditunjukkan oleh alamat relatif pada ke akumulator. I
I
Page 67
IV-4
IV .2.4. lnstruksi Pada Pengoperasian Akumulator
Instruksi yang digunakan pada akumulator adalah ·
berhubungan dengan proses logika serta perhitungan matematis penambahan I
dengan carry maupun tanpa carry, operasi logika AND, i logika OR, dan
operasi logika XOR. Disamping itu instruksi ini juga dapat u menaikkan atau
menurunkan (increment atau decrement) data pada
data, menukar nibble, memutar kiri/kanan data, baik dengan
adalah ·
sebagai berikut :
ADD A,#d : untuk menjumlahkan data langsung d, dengan ISI
akumulator.
ADD A,Direct : untuk menambahkan data di address ke akumulator.
(direct menyatakan alamat internal
ADD A,Rr untuk menambahkan isi register r ke lator ( dengan r
= 0-7).
ADD A,@Ri untuk menambahkan isi lokasi memori yang ditunjukkan
olehh Ri ke Akumulator ( dengan i = 0
ANL A,Rr Data di register r di-AND-kan dengan . • , I •• . • • I . ! . I • . . I .
• • . • • . . ! . • • . • •• ANL A,Direct :
address byte.
ORL A,#d : data di akumulator di-OR-kan dengan data u', luu, .. u I
I
data di Akumulator di-OR-kan dengan data yang ada di ORL A,Direct :
Page 68
INC A:
DEC A:
DAA:
address byte.
menaikk:an 1 data pada akumulator.
menurunkan 1 data di akumulator.
untuk mengubah harga bilangan biner pada
BCD (Binary Coded Desimal).
IV-5
lator menjadi
SWAP A : untuk menukar nibbles pada akumulator ( bit 0-3 iubah menjadi
bit 4-7 dan sebaliknya).
CLR A : isi akumulator di-nolkan.
CPL A: isi akumulator dikomplemen.
XCH A,Rr : untuk mengubah isi akumulator dengan isi reg
DIV A,B : isi akumulator akan dibagi dengan isi register B, ......., .. l"> .... hasilbagi
disimpan di akumulator dan sisa pembagi d
IV .2.5. lnstruksi untuk Percabangan
lnstruksi percabangan dilakukan untuk memanggil yang ada,
melakukan pengetesan kondisi percabangan dan melakukan pet·cat:>an,gan sendiri.
lnstruksi yang digunakan adalah :
AJMP Label : lsi program Counter (PC) bit 0-10 diisi
ditunjukkan oleh label sehingga 1.1'-'"~·:llla.:l•
berpindah ke lokasi yang ditunjuk oleh
boleh lebi dari 2 Kbyte dari instruksi
DJNZ Rr,Rel : isi register r akan diturunkan 1
percabangan ke lokasi alamat relatif yang.
lokasi yang
, tetapi tidak
melakukan
ukk:an oleh
Page 69
IV-6
DJNZ dir,rel :
1, j ika tidak sama dengan no I maka
ke alamat rei.
JB b,rel : instruksi ini akan melakukan tes terhadap bit b,
akan menuju ke alamat relatif rei.
JC rei : proses percabangan terjadi jika carry = 1
JNC rei : proses percabangan terjadi jika carry = 0.
CJNE Rr,#d,rel :
isi kedua alamat tersebut tidak sama PC akan berisi
alamat rei dan proses berpindah. Jika Rr < #d maka carry \
bit (C) akan diset, sedangkan jika Rr > #d maka carry =
0. (Dalam hal ini Rr termasuk A dan B
CJNE A,dir,rel :
A < dir maka carry bit (C) akan diset, sedangkan jika A
> dir maka carry = 0.
ACALL addll:
RET I RETI:
terjadi karena adanya interrupt.
Page 70
IV .3. PERANGKA T LUNAK MIKROKONTROLLER 87
Flow Chart dari perangkat lunak untuk mum:>kiJ,ntr~oJ
diperlihatkan pada Gambar 4.1. lnisialisasi meliputi mode nnPr!lcn
I
Pemrosesan masukan/keluaran terdiri dari penyalinan status
RAM dan dari RAM ke unit output yang sesuai.
IV-7
8751H
Status dari semua masukan/keluaran, pewaktu dan volume dari
komputer IBM - PC disimpan pada Memori Data Dalam mikrokontroller
8751H, yang dapat dialamati bit secara langsung. Pemetaan dari penggunaan
Memori Data Dalam ini diperlihatkan pada Tabel 4.1.
Tabel4.1. PEMETAAN MEMORI DATA DALAM
ALAMATBYTE
INPUT 20- 22H
OUTPUT 23- 25H
TIMER 26- 29H
DATA VOLUME 2A- 2DH
Page 71
INISIALISASI
XON»ISI ALIAL
1/0 8255
Ml OWlt IUXROXCtUiOLLElt
SlnPAN »ATA DARI SERIAL IBn PC
I<E RAn DALAn
STEPPER KE
POSJSJ-4
BliMA SOLENOID-4 SESUAJ UOLUnE DARJ Bn PC
STEPPER PoUst-3
G~tr 4.1. Flow Chtrt ProtraH nlk~okontrolltr 8?51M
IV-8
~'-'rl
' , I l
Page 72
IV-9
IV.4. PERANGKAT LUNAK PADA ffiM- AT
Perangkat lunak pada IBM PC-AT ini ll)r.J; uua ..... , ... bahasa pascal.
Program tersebut meliputi pembuatan, edit, koreksi, delete Kotnn<>sis minuman.
Selain itu juga dalam hal mengurutkan komposisi minuman
pengirimkan data volume minuman secara serial ke
Untuk lebih jelasnya dapat dilihat pada Gambar 4.2. Chart Program
Komputer.
Page 73
TAtiPILXAN tiENU
··----0 r---'--"---, PILIHAN tiENU: - FILE - ~ELETE - GET - RUN - INFO - HELP
IV-10
Page 74
XETERANGAN CARA
nENGGUNAXAN ALAT
COPY FILE
RENAnE FILE
DELETE FILE
PRINT FILE
Gvtbu 4. 2. <LanJutan) Flow Chart Protrvt Xo"puttr
IV-11
Page 75
HASUXXAN DATA UOLUHE
BARU
LIHAT DATA SESUAI RECORD
KOREXSI DATA
PJLIH DATA .I UOLUHE rtiNUrtAN
KJRin DATA )(£
8751
TERinA DATA DARI I 8751
UHPUMAN UYAR rtONJT
G~bar 4.2. <LanJutan> Flow Chart Progr~ KoMputtr
IV:- 12
Page 76
BABV
PENGUJIAN DAN
CARA PENGOPERASIAN ALAT
V .1. PENDAHULUAN
Pengujian peralatan terdiri dari pengujian hubungan komunikasi serial I
antara mikrokonroller 8751H dengan komputer ~an , data volume yang
diinginkan yang dipilih lewat komputer dengan yang d
Sedangkan cara pengoperasian alat dijelaskan dengan pem
tiap menu perangkat lunak terlebih dahulu. Pada bagian diambil contoh
\
perencaan pembuatan komposisi minuman baru sampai ke
mikrokontroller 8751H untuk diproses menjadi minuman yang
dikehendaki.
V .2. PENGUJIAN KOMUNIKASI SERIAL
lagi USART untuk merubah data paralel menjadi data
hanyalah penaik level tegangan yang disesuaikan dengan
dengan menggunakan IC ICL232 (16 pin). Dimana ICL232
dibandingkan dengan IC MC1488 dan MC1489 adalah mempunyai dua
buah receiver (RX), dua buah Transmitter (TX) dan lebih penting lagi
ICL232 ini cukup diberi tegangan supply +SV.
Page 77
V-2
Sementara itu untuk mengatur baud rate tidak eksternal clock . I
karena secara software hal ini dapat dilakukan dengan mudah I
i
Dari basil uji coba pengiriman data dari m 8751H ke
arti tidak terdapat data yang rusak/hilang selama proses pengiriman data. I
Sedangkan panjang kabel dilakukan ujicoba sepanjang 2 dan mendapatkan
basil yang baik.
V.3. PENGUKURAN OUTPUT ALAT
il volume yang
didapat pada gelas, kemudian dibandingkan dengan data u•uu1a yang dikehendaki I
dari komputer IBM PC. Salah satu basil pengukuran yang idapat dari suatu
operasi alat dapat dilihat pada tabel dibawah ini :
Tabel 5.1.
Pengukuran volume dibandingkan dengan data volume IBM PC
Data volume dari Output volume alat
(ml) so 47
so 48
so 53
so 53
!
Setelah dilakukan beberapa kali pengujian maka basil ;pengukuran yang I
didapatkan berkisar pada toleransi ~ ml.
Page 78
V-3
V.4. PILlliAN FUNGSI PADA :MENU UTAMA
Menu utama dari program yang dibuat diperlihatkan
Fungsi dari masing-masing menu tersebut dijelaskan sebagai
- Help : berisi keterangan dari fungsi-fungsi yang ada sampai mengoperasian
-FILE : berisi menu pilihan untuk meng-copy data , inuman yang ada
I
dengan nama data minuman baru, mengganti ;nama file dengan
I nama file baru, mencetak suatu file data ke ..... ;,ht ....
Dan terakhir keluar dari menu utama untuk ike DOS.
- DELETE : menghapus data file komp.osisi minuman
- GET : Menambah, melihat, mengkoreksi data komp.osisi m man yang ada di
suatu file.
-RUN dengan
terlebih dahulu memilih data komposisi mi mana yang akan
dikirimkan.
-INFO : Melihat data komposisi minuman yang ada di file. Atau melihat
komposisi volume, nama minuman dari data komposisi
mmuman.
V .5. CONTOH CARA MEMBUAT SUATU KOMPOSISI
minuman atau cocktail adalah sebagai berikut :
Page 79
Masuk ke program drinking machine, seperti terlihat
gambar 5.1.
Pilih 'Get'.
V-4
ilannya pada
Seperti telah dijelaskan pada Bab V .4 yaitu dari masing-
masing submenu. Dalam hal ini karenan ingin suatu komposisi
minuman baru maka dipilih submenu 'Get'.
Pada Submenu 'Get' ini terdiri dari 4 pilihan :
pilihan 1: yaitu untuk menambah data kompos minuman yang
telah ada di file.
pilihan 2: yaitu untuk menampilkan data ada pada file ke
layar monitor.
pilihan 3: yaitu untuk mengoreksi atau data komposisi
minuman yang ada di file.
pilihan 4: yaitu untuk kembali ke menu utama.
Dalam hal membuat komposisi minuman baru, pilih
isi nomor record dari data yang akan dibuat, dengan
sebagai berikut:
Pertama-tama memberi nomor record baru.
Beri nama cocktailnya.
Menentukan minuman mana saja yang akan d
volume yang diinginkan.
Ulangi sampai nama minuman keempat.
Jawab pertanyaan:
1. Kemudian
pengisiannya
, beserta jumlah
Page 80
V-5
Jika memilih 'Y' maka akan membuat kornoOIStSI
lagi dan sebal iknya.
Selanjutnya diakhiri dengan memilih pilihan 4 yaitu i ke menu
utama.
PROGRAM DRINKING MACHINE
File Delete Get · Run Inf Help I
•
DRINKING MACHINE Copyrisht (c) 1994. Darwieon
Gambar S.l.
Tampilan Menu Utama di komputer IBM PC
Page 81
V-6
V .6. CONTOH CARA PENGOPERATIAN
Dengan berpedoman pada penjelasan pada Bab V .4 Bab V.S maka
atau cocktail adalah sebagai berikut :·
Masuk ke program drinking machine.
Pilih 'Info' untuk melihat komposisi minuman yang dikehendaki.
Disini tinggal memilih nomor record untuk · komposisi
minuman suatu cocktail.
• Run • untuk memdapatkan suatu komposisi minuman dihendaki atau
suatu cocktail, dengan terlebih dahulu memilih
Serial' lalu pilih nomor record yang sesuai dari kompos ,
telah dilihat pada submenu 'Info'. I
Selesai, tunggu lagi diproses.
Kembal i ke menu utama.
Page 82
BABVI
PENUTUP
VI.l. KESIMPULAN
Dari perencanaan dan pembuatan alat serta pengujian
dapat diambil kesimpulan sebagai berikut:
telah dilakukan
1.
2.
3.
4.
U ntuk memperbaiki faktor keterbatasan
komposisi minuman yang dilakukan langsung oleh
dibuatkan suatu alat pencampur otomatis.
hal mencampur
maka dapat
Untuk mendapatkan volume air tertentu yang mengalir ua•qu• suatu pipa dapat
dilakukan dengan bantuan IC mikrokontroller 8751H kontrol terpusat.
dengan mikontroller umum seperti Z80 atau 8088,
dibandingkan
mikrokontroller
MCS-48 mempunyai keuntungan-keuntungan antara lain : rangkaian lebih
sederhana karena memiliki beberapa di dalamnya
(pewaktu/pencacah, RAM, EPROM, port paralel maupun
serial dan kontroller prioritas interrupt), kecepatan ~~~"""'"•
dan memiliki instruksi-instruksi untuk melaksanakan nn .... ..,. logika bit secara
langsung.
Penggunaan komunikasi data pada
menguntungkan karena tidak dibutuhkan USART dan nl'>n,o'!liTl
875 1 H sangat
baud rate
terdapat dalam cukup secara software dengan memanfaatkan timer
Page 83
VI-2
mikrokontroller dan proses pengiriman data pada relatif
sederhana.
VI.2. SARAN-SARAN
Alat yang dibuat ini masih terbuka untuk pengembangan . . . I
lagi dalam hal menentukan volume suatu cairan tanpa harus 'E'.E'. .. "l"E;U jalannya
cairan itu sendiri.
Page 84
DAFrAR PUSTAKA
Ayala, Kenneth J~, The 8051 Microcontroller, West Publising Company,
St. Paul, 1991
Carlin, B., Ultrosonics, McGraw-Hill, 1962
Coughlin, Robert F. and Driscoll, Frederick F., Operasional Amplifiers and
Linear Integrated Circuits, Pretice Hall of India, India 1.
Dicky Sarwadi, Bartending, Liberty Yogyakarta, 1987 I
Eggebrect, Lewis C., Interfacing to the IBM Personal , Howard W.
Sams & Co., Inc, Indiana Polis, 1983
Yogyakarta, 1989
Warnock, Ian G., Programmable Logic Controller : Operation
Application, Prentice-Hall International, London, 1988
.... , Linear Data Book, National Semiconductor Corporation, Clara,
USA, 1980
.... , MCS-51 Family of Single Chip Microcomputer : User's manual, Intel
Corporation, Santa Clara, 1981
.... , TTL Data Book, Fairchhild Camera & Instrument
California, 1977
Page 85
LEAR COK 8051 CROSS ASSEKBLER VER 3.8 PAGE 1
0000 PAl EQU OOH ; INPUT 0001 PB1 EQU 01H ; INPUT I
I 0002 PC1 EQU 02H ;INPUT I· 0003 CW1 EQU 03H I
0004 PA2 EQU 04H ; OUTPUT = solenoid + poapa 0005 PB2 EQU 05H ; OUTPUT = opto coupler + sensor ultrasonik 0006 PC2 EOU 06H ;INPUT 0007 CW2 EGU 07H
0000 org OOOOh 0000 020110 ljap in it
; ••••• TIMER1 SERVICE ROUTINE •••••••••• 0018 org 001Bh 0018 CODO push psw OOlD 020100 ljap vektor
0100 org 0100h 0100 vektor: 0100 DODO pop psw 0102 32 reti
; •••••• PS SERVICE ROUTINE ••••••••••••• 0023 org 0023h
0023 CODO PUSH PSW 0025 C083 PUSH DPH 0027 C082 PUSH DPL 0029 C299 CLR TI 0028 C298 CLR RI 002D D082 POP DPL 002F D083 POP DPH 0031 DODO POP PSW 0033 32 RETI
0110 org 110h 0110 in it: 0110 758150 MDV SP,ISOH ;inisialisasi stack pointer 0113 75A898 MDV IE,I100110008 0116 758818 MOV IP 11000110008
MDV DPTR,I0080H ;alaaat awal RAM LUAR 0119 E4 CLR A
MOV 3CH,A MDV 3DH,A PUSH DPH PUSH DPL
011A SERIAL: 011A 759850 MDV SCON,I010100008 ; MODE 1 RECEIVER 011D 758920 MDV TMOD,IOOlOOOOOB 0120 438840 ORL TCON,I40H 0123 758DFA MOV TH1,1250 ;SETTING BAUDRATES =4800 bit/s 0126 858088 IOV tll 'th1 0129 00 NOP 012A 00 NOP
Page 86
LEAR COl'! 8051 CROSS ASSEMBLER VER 3.8 PAGE 2
0128 3098FD JN8 RI,S 012E E599 I'IOV A,SBUF 0130 C298 clr RI 0132 F52A IIOY 2Ah,A ; ••• datal
0134 3098FD JNB RI,S 0137 E599 I'IOV A,S8UF 0139 C298 clr RI 0138 F528 IIOY 28h,A ; .... data2
013D 3098FD JN8 RI,S 0140 E599 KOV A,SBUF 0142 C298 clr Rl 0144 F52C IIOY 2Ch,A ; .... data3
0146 3098FD JN8 Rl,S 0149 E599 I'IOV A,SBUF 0148 C298 clr RI 014D F52D IIOY 2Dh,A ; ..... data4
014F ; •••••••••••••• inisialisasi 8255 & tondisi aNalnya ,,,,,,,,,,,,,,, AWAL:
OHF 1203C8 CALL DELAY 0152 7803 lOY RO,ICW1 0154 7498 IOV A1198H ;A,B,C INPUT 0156 F2 IOVX @RO,A 0157 7807 IOV RO,ICW2 0159 7480 lOY A,I80H ;A,8 OUTPUT DAN C INPUT 0158 F2 IOVX @RO,A 015C 7805 IOV RO,IP82 015E 74F1 IOV A,IOF1H ;CLR=l , NAND=O ,OPTDCDUPLER=l (on) 0160 F2 IOVX @RO,A 0161 7804 IOV RO,IPA2 0163 74FF IOV A,IOFFH ;solenoid(74ls06), po1pa(74ls07) =off 0165 F2 IIOVX @R0 1A
0166 1203C8 CALL DELAY 0169 7804 IOV RO,IPA2 0168 743F IIOV A,I3FH ;hidupkan po1pa 016D F2 IOVX @R0 1A 016E 7590FF IOV pl, IOffh ; 1atikan stepper
; •••••••• GERAKKAN STEPPER I'IUNDUR,,,,,,,, 0171 12032C call opto4
0174 1203CB CALL DELAY 0177 1202D5 call opto3
017A 1203CS call DELAY 017D 12027E call opto2
0180 1203C8 call DELAY 0183 120227 call optol
0186 120388 call tunda
Page 87
LEAR COK 8051 CROSS ASSEMBLER VER 3.8 PAGE 3
0189 7804 OlBB 74FF OlBD F2
OlBE 1203C8 0191 1201E2
0194 120388
0197 E52A 0199 F599 0198 3099FD 019E C299 01AO 120301
01A3 E528 01A5 F599 01A7 3099FD 01AA C299 01AC 120301
OlAF E52C 0181 F599 0183 3099FD 0186 C299 0188 120301
0188 E52D 0180 F599 01BF 3099FO 01C2 C299 01C4 120301
01C7 120388 OlCA 120388 01CD 120388 0100 120388 0103 120388 0106 120388 0109 120388 01DC 120388
01DF 02014F
01E2 01E2 7A4F 01E4 01E4 1203C8 01E7 7590AA OlEA 1203C8 01ED 759099 01FO 1203C8 01F3 759055
MOV RO,IPA2 IOV A,IOFFH IOVX @RO,A
call delay call 1undur
CALL tunda
lOY A12Ah 110V S8UF,A JN8 TI ,s clr TI call seri
lOY A,2Bh KOV S8UF,A JN8 TI ,$ clr Tl call seri
IOV A,2Ch 110V S8UF,A JN8 Tl ,$ clr TI call seri
lOY A,20h 110V S8UF,A JN8 Tl ,s clr TI call seri
call tunda call tunda CALL tunda call tunda call tunda call tunda call tunda call tunda
ij1p ANAL
1undur:
1un: lOY r2 114fh
call delay lOY p1 110aah call delay lOY p1 1199h call delay lOY p1 1155h
; •••• sol4 =off •••• , polpa(74ls07) =off ;solenoid sensor = off
; ... datal
; ••• data2
; ... data3
; ... data4
Page 88
LEAR CO" 8051 CROSS ASSEMBLER VER 3.8 PAGE 4
01F6 1203C8 01F9 759066
OlFC 7801 01FE E2 01FF 30E702
0202 DAEO 0204 0204 7904 0206 0206 1203C8 0209 7590AA 020C 1203C8 020F 759099 0212 1203CB 0215 759055 0218 1203C8 0218 759066 021E D9E6
0220 7590FF
0223 1203C8 0226 22
0227 0227 7A4F 0229 0229 1203CB 022C 759066 022F 1203CB 0232 759055 0235 1203CB 0238 759099 0238 1203C8 023E 7590AA
0241 7801 0243 E2 0244 30E402
call delay IOV p1 1166h
"OV RO,IPBl ;BACA DATA POSISI STEPPER "ovx A,IRO jnb acc.7,taabah
djnz r2 1aun ta1bah:
IOV r1 ,104h ta1:
call delay IOV p1 110aah call delay IOV p1 1199h call delay IOV p1 1155h call delay IOV p1 1166h djnz rl,taa
IIOV p1 110ffh ; aatikan stepper
call delay ret
opto1: IOV r2 114fh
ulang1: call delay IOV p1 1166h call delay IDV p1 1155h call delay IOV p1 1199h call delay IDV p1 110aah
"OV RO,IPBl ;BACA DATA POSISI STEPPER "ovx A,IRO jnb acc.4,henti4
0247 DAEO djnz r2,ulang1 0249 henti4: 0249 7590FF 1ov p1,10ffh ; 1atikan stepper
024C 1203CB
024F 7804 0251 742F 0253 F2
0254 7805 0256 74FO 0258 F2
call delay
IOV RO,IPA2 1ov A,I2FH ;solenoid(74ls061 =off, polpa(74ls07) =on 1ovx IRO,A ; ..... solenoid sensor = on .....
IOV RO,IPB2 aov A,IOFOH ; ••• reset 7474 & 393 ••• , NAND=O , IOVX IRO,A
(on)
Page 89
LEAR COH 8051 CROSS ASSEMBLER VER 3.8 PAGE 5
0259 7805 025B 74F1 0250 F2 025E 120388 0261 7805 0263 74F3 0265 F2
0266 7805 0268 74F1 026A F2
0268 7804 026D 743F 026F F2
0270 7804 0272 7438 0274 F2
0275 120383
0278 7804 027A 743F 027C F2
0270 22
027E 027E 7A4F 0280 0280 1203CB 0283 759066 0286 1203CS 0289 759055 028C 1203C8 028F 759099 0292 1203CS 0295 7590AA
0298 7801 029A E2 0298 30E502
029E DAEO 02AO 02AO 7590FF
02A3 1203C8
02A6 7804 02A8 742F 02AA F2
IOV RO,IPB2 IOV A,IOF!H ;CLR=l , NAND=O ,DPTOCOUPLER=l (on) IOVX IRO,A call tunda IOV RO,IP82 IOV A,IOF3H ;CLR=1 , ••• counter aktif ••• ,DPTOCOUPLER=l IOVX @RO,A
IOV RO,IP82 IOV A,IOFlH ;CLR=l , ••• counter berhenti ••• ,OPT IOVX @RO,A
IOV RO,IPA2 IOV A,I3FH ;solenoid(74ls06) =off, po1pa(74ls07) =on IOVX @R0 1A ; .•••• solenoid sensor= off •••••
.... LAMA AKTIF SOLENOIO .... OGN LOOPING R2 ... HOV RO,IPA2 IOV A,I3BH IOVX @RO,A
call airl
MDV RO,IPA2 IOV A,I3FH IOVX IRO,A
ret
opto2: IOV r2,14fh
; •••• soll =ON •••• , po•pa(74ls07) =on ;solenoid sensor = off
; •••• soll =off •••• , po•pa(74ls07) =off ;solenoid sensor = off
ulang2: call delay IOV p1 1166h call delay IOV p1 1155h call delay IOV p1 1199h call delay IOV p1,10aah
HOV RO,IPBl ;BACA DATA POSISI STEPPER HOVX A,IRO jnb acc.5,henti5
djnz r2,ulang2 henti 5:
1ov pl,IOffh ; •atikan stepper
call delay
IOV RO,IPA2 •ov A112FH ;solenoid(74ls0bl =off, po•pa(74ls07l = 1ovx IRO,A ; ••••• solenoid sensor= on •••••
on)
(on)
Page 90
LEAR COI'I 8051 CROSS ASSEMBLER VER 3.8 PAGE b
02AB 7805 02AD 74FO 02AF F2 0280 7805 0282 74F1 0284 F2 0285 120388 0288 7805 02BA 74F3 02BC F2
02BD 7805 02BF 74F1 02C1 F2
02C2 7804 02C4 743F 02C6 F2
02C7 7804 02C9 7437 02CB F2
02CC 120391
02CF 7804 02D1 743F 02D3 F2
02D4 22
02DS 02D5 7A4F 02D7 02D7 1203C8 02DA 759066 02DD 1203C8 02EO 759055 02E3 1203C8 02E6 759099 02E9 1203C8 02EC 7590AA
02EF 7801 02F1 E2 02F2 30E602
02F5 DAEO 02F7 02F7 7590FF
02FA 1203CB
IOV RO,IP82 IOV A,IOFOH ; ... reset 7474 t 393 ••• , NAND=O , IOVX @RO,A IOV RO,IPB2 IOV A,IOF1H ;CLR=1 , NAND=O ,OPTOCOUPLER=l (on) IOVX @RO,A call tunda IOV RO,IPB2 IOV A,IOF3H ;CLR=l , ••• counter aktif ••• ,OPTOCOUPLER=l IOVX @RO,A
IOV RO,IPB2 IOV A,IOF1H ;CLR=l , ••• counter berhenti ••• IOVX @RO,A
IOV RO,IPA2 IOV A,I3FH ;solenoid(74ls0bl =off, poapa(74ls07) =on IOVX @RO,A ; ••••• solenoid sensor= off •••••
•••• LAI'IA AKTlF SOLENOID •••• DGN LOOPING R2 •••
opto3:
ulang3:
110V RO,IPA2 IOV A1137H IOVX @RO,A
call air2
I'IOV RO,IPA2 IOV A,I3FH IOVX @RO,A
ret
IOV r2 114fh
call delay IOV p1 1166h call delay lOY p1,155h call delay IOV pl 1199h call delay IOV pl 110aah
; •••• sol2 =ON •••• , po1pa(74ls07) =on ;solenoid sensor = off
; •••• sol2 =off •••• , polpa(74ls07) =off ;solenoid sensor = off
I'IOV RO,IPB1 ;BACA DATA POSISI STEPPER I'IOVX A,@RO jnb acc.6 1henti6
djnz r2,ulang3 henti6:
lOY p1,10ffh ; 1atikan stepper
call delay
1 (on)
(on)
Page 91
LEAR COM 8051 CROSS ASSEMBLER VER 3.8 PAGE 7
02FD 7804 02FF 742F 0301 F2
0302 7805 0304 74FO 0306 F2 0307 7805 0309 74F1 0308 F2 030C 120388 030F 7805 0311 74F3 0313 F2
0314 7805 0316 74F1 0318 F2
0319 7804 0318 743F 0310 F2
031E 7804 0320 743D 0322 F2
0323 12039F
0326 7804 0328 743F 032A F2
0328 22
032C 032C 7A4F 032E 032E 1203C8 0331 759066 0334 1203C8 0337 759055 033A 1203CB 033D 759099 0340 1203C8 0343 7590AA
0346 7801 0348 E2 0349 30£702
034C DAEO 034E
IOV RO,IPI\2 IIOV A,I2FH ;solenoid(74ls06) =off, poapa(74ls07) = IOVX @RO,A ; ••••• solenoid sensor= on •••••
IIOV R0 11PB2 IIOV A,IOFOH ; ... reset 7474 & 393 •.• , NAND=O ,OPT IIOVX @R0 1A IDOV RO,IPB2 IDOV A,IOF1H ;CLR=1 , NAND=O ,OPTOCOUPLER=1 (on) IOVX @RO,A call tunda lOY RO,IP82 IOV A,IOF3H ;CLR=1 , ••• counter aktif ••• ,OPTOCOUPL aovx @RO,A
IOV RO,IPB2 IOV A,IOFlH ;CLR=l , ••• counter berhenti ••• ,OPTOCOUPL IDOVX @RO,A
IOV RO,IPA2 IOV A,I3FH ;solenoid(74ls06) =off, poapa(74ls07) =on IOVX @RO,A ; ••••• solenoid sensor= off •••••
•••• LAMA AKTIF SOLENOJD •••• DGN LOOPING R2 •••
opto4:
ulang4:
110V RO,IPA2 IOV A113dh IDOYX @RO,A
call air3
110V RO,IPA2 IOV A,I3FH IOVX @RO,A
ret
IOV r2 114fh
call delay IOV p1,166h call delay lOY pl 1155h call delay IOV pl 1199h call delay IDOY p1,10aah
; •••• sol3 =ON •••• , poapa(74ls07) =on ;solenoid sensor = off
; •••• sol3 =off •••• , poapa(74ls07) =off ;solenoid sensor = off
MDV RO,IP81 ;BACA DATA POSISI STEPPER HOVX A,@RO jnb acc.7,henti7
djnz r2,ulang4 henti7:
(on)
(on)
Page 92
LEAR COH 8051 CROSS ASSEMBLER VER 3.8 PAGE 8
034E 7590FF DOY pl,IOffh ; aatikan stepper
0351 1203C8 call delay
0354 7804 lOY RO,IPA2 0356 742F IOV A,I2FH ;solenoid(74ls06) =off, po1pa(74ls07) =on 0358 F2 DOYX @RO,A ; ••••• solenoid sensor= on •••••
0359 7805 lOY RO,IPB2 0358 74FO lOY A,IOFOH ; ... reset 7474 l 393 ••• , NAND=O , 035D F2 IOYX @RO,A 035E 7805 IOV RO,IPB2 0360 74F1 IIOY A,IOF1H ;CLR=l , NAND=O ,OPTOCOUPLER=l (on) 0362 F2 IOYX @RO,A 0363 1203BB call tunda 0366 7805 lOY RO,IPB2 0368 74F3 lOY A,IOF3H ;CLR=1 , ... counter aktif ... ,DPTDCOUPLER=l 036A F2 IOYX @RO,A
0368 7805 IOV RO,IPB2 036D 74F1 lOY A,IOFlH ;CLR=l , ••• counter berhenti ••• 036F F2 IOYX @RO,A
0370 7804 lOY RO,IPA2 0372 743F lOY A,I3FH ;solenoid(74ls06) =off, polpa(74ls07) =on 0374 F2 IOYX @RO,A ; ••••• solenoid sensor= off •••••
0375 7804 0377 743E 0379 F2
•••• LAHA AKTIF SOLENOID •••• DSN LOOPING R2 •••
037A 1203AD
037D 7804 037F 743F 0381 F2
0382 22
0383 0383 E52A 0385 FB 0386 0386 7COE
0388 0388 7FFO 03BA DFFE 038C DCFA 038E DBF6 0390 22
air!:
a.,, ...
a3:
0391 air2:
HOV RO,IPA2 IOV A113eH IOYX @RO,A
call air4
HOV RO,IPA2 lOY A113FH IOYX @RO,A
ret
; •••• sol4 =ON •••• , polpa(74ls07) =on ;solenoid sensor = off
; •••• sol4 = o~f •••• , polpa(74ls07) =off ;solenoid sensor = off
1ov a,2ah ; ••••• datal JOY r3,A
IOV r4 110eh
IOV r7 110f0h djnz r7,S djnz r4,a3 djnz r3,a2 ret
1 (on)
on)
(on)
Page 93
LEAR COM 8051 CROSS ASSEMBLER VER 3.8 PAGE 9
0391 E52B IOV a,2bh .... data2 0393 FB IIOV r3,A 0394 a22: 0394 7COE IOV r4,10eh
0396 a32: 0396 7FFO IOV r7,10f0h 0398 DFFE djnz r7,S 039A DCFA djnz r4,a32 039C DBF6 djnz r3,a22 039E 22 ret
039F . ~
a1r"'q 039F E52C IOV a,2ch ; ••• data3 03A1 FS IIOV r3,A 03A2 a23: 03A2 7COE IIOV r4,10eh
03A4 a33: 03A4 7FFO llOV r7,10f0h 03A6 DFFE djnz r?,s 03A8 DCFA djnz r4,a33 03AA DBF6 djnz r3,a23 03AC 22 ret
03AD air4: 03AD E52D IIOV a,2dh ; ••• data4 03AF FB IOV r3,A 0390 a24: 03BO 7COE IOV r4,10eh
0382 a34: 0382 7FFO IIOV r7,10f0h 03B4 DFFE djnz r7 1S 0386 DCFA djnz r4,a34 03B8 DBF6 djnz r3,a24 03BA 22 ret
03BB tunda: 03BB 7810 IOV r3,110h 03BD tundal: 03BD 7CFF IOV r4 ,IOffh
03BF tunda2: 03BF 7FFF IOV r7 110ffh 03C1 DFFE dJnz r7 1S 03C3 DCFA djnz r4,tunda2 03C5 DBF6 djnz r3,tunda1 03C7 22 ret
03C8 delay: 03C8 7COS IOV r4,105h 03CA loop!: 03CA 7FFF IOV r7,10ffh 03CC DFFE djnz r7 1S
Page 94
LEAR COM 8051 CROSS ASSEMBLER VER 3.8 PAGE 10
03CE DCFA djnz r4,loop1 0300 22 ret
0301 seri: 0301 7CFF IIOV r4,10ffh 0303 seril: 0303 7FFF IOV r7,10ffh 0305 DFFE djnz r7,S 0307 DCFA djnz r4,seri1 03D9 22 ret
0110 END !NIT
Page 95
LEAR COM 8051 CROSS ASSEMBLER VEF: 3. 8 PAGE 11
llllllllll S Y ~ B 0 L R E F E R E N C E T A 8 L E llllllllll
0386 = A2 0394 = A22 0380 = A24 0388 = A3 03A4 = A33 0382 = A34 0383 = AIR! 0391 = AIR2 03AD = AIR4 014F = AWAL 0007 = CW2 03C8 = DELAY 0082 = DPL 0249 = HENTI4 02F7 = HENTib 034E = HENTI7 0110 = !NIT OOBB = IP 01E4 = l1UN 01E2 = ~UNDUR 027E = OPT02 0205 = OPT03 0090 = Pl 0000 = PAl 0001 = P81 0005 = P82 0006 = PC2 0000 = PSW 0099 = S8UF 0098 = SCON 0303 = SERil 011A = SERIAL 0206 = TAM 0204 = TA~BAH 0080 = THl 0099 = Tl 0089 = HIOD 03BB = TUNDA 03BF = TUNDA2 0229 = ULAN61 0207 = ULANG3 032E = ULAN64
TOTAL SYMBOLS DEFINED = 63
NO ERROR(S) FOUND END OF ASSEI18LV
07-25-1994 21:40:31
03A2 = A23 0396 = A32 OOEO = ACC 039F = AIR3 0003 = CW1 0083 = DPH 02AO = HENTI5 OOAB = IE 03CA = LOOP1 0227 = OPTOl 032C = OPT04 0004 = PA2 0002 = PC1 0098 = RI 0301 = SERI 0081 = SP 0088 = TCON 008B = TL1 0380 = TUNDAl 0280 = ULANG2 0100 = VEKTOR
Page 96
Uses Crt,Dos,Sraph,Printer,ShortCt,TVisi;
label looping;
var •nu : string; Chrs : char; k,scan: integer; Reg : Registers; Baris, Kolo1 Integer;
{$I Type7.inc} ($1 Lihrec.inc} ($1 Untype2.inc} {SI Untype3.inc} ($1 Untype4.inc} {$1 teks6.inc} {$! IOUSe9,inc} {$1 tx14.inc} (SI rx14.inc}
Procedure DeclareParent; begin
{touse9;}
tnu:='UFile UIDelete Ul6et UIRun &&I Info &&IHelp&'; visitenudesign('Progra• Drinking Machine · ,tnu,(16l4)+15);
box(1,23,80,25,(16l7)+1,True); window(2,24,79,25l;textattr:=16l7+1; Write(IO,' DRINKING MACHINE Copyright (c) 1994 textcolor(16); write(IOIO,' ANI '); window(1,1,80,25); end;
Procedure StanKey; begin
Repeat; repeat; chrs:=readkey; until chrs in[AltF,AltD,AltG,AltR,Alti,Alt",AltH];
if Chrs=AltF Then begin tnu:='&Copy&&Renate&&Print&&Exit&'; subtenus(tenuplace[l],tnu,scan); if scan=! Then begin 1sgbox ( · Copy · , 1, scan l; if scan=O then begin
untype4;
end else window(l 11180,25);
begin dec lareparent; scan key; end; end;
by : 'l;
Page 97
if scan=2 then begin asgbox ( · Renate if scan=O then begin
·, 1 ,scan I;
untype3;
end else window(1,1,80,251;
begin declareparent; scantey; end; end;
if scan=3 Then begin asgbox ( · Print if scan=O then begin
teksb;
end else window(1,1,80,251;
begin declareparent; scankey; end; end;
it scan=4 then begin
· ,l,scanl;
asgbox('Do you want to end this prograa ?' ,l,scanl; if scan=O then begin textattr:=7; t1rscr; writeln('Say Thanks to Awi!' I; halt; end; end; end;
if Chrs=AltD Then begin anu:='&Delete file data?&'; subaenus(aenuplace[2],anu,scanl; if scan=! then begin anu·:=' Delete file data • ;asgbox(anu,l,scanl; if scan=O then begin
untype2;
end else window(1,1 180 1251;
begin declareparent; scankey; end; end;
Page 98
end;
if Chrs=Alt6 Then begin anu:='&Buat kreasi 1inu1an baru&'; subtenus(aenuplace[3],anu,scan); if scan=! then begin asgbox( · Ne11 Cocktail · ,O,scan);
type?;
MindoM(1,1,80,25); end;
begin dec lareparent; scankey; end; end;
if Chrs=AltR then begin •nu:='&Kiriadata ke Port Serial&&Baca data dari Port Serial&'; subaenus(aenuplace[4],anu,scan); if scan=! then begin tsgbox(' Ready · ,l,scan); if scan=O then begin
tx14;
end else MindoM(l 11180 125); begin declareparent; scankey; end; end;
if scan=2 then begin 1sgbox ( · Ready if scan=O then begin
rx14;
end else MindoM(1 11180,25); begin declareparent; scan key; end; end;
end;
if Chrs=Alti then begin anu:='&Naaa Cocktail yang ada&'; subaenus(aenuplace[S],anu,scan); if scan=! then begin
·, 1 ,scan);
anu:=' Nata cocktail ';•sgbox(anu,O,scan);
lihrec;
end
Page 99
else MindoM(1,1,80,25); begin declareparent; scankey; end; end;
if Chrs=AltH Then begin anu:='&Tentang Prograa &&Tentang Prograaaer&'; subaenus(aenuplare[b],anu,sran); if scan=! then begin anu:='Drinking "arhine, adalah prograa untuk aenjalankan alat leMat •ft•n•~••r asgbox(anu,O,sran); end else begin if scan =2then begin anu:='Drinking "achine ini riptakan oleh AMi'; asgbox(anu,O,scan); end; end; end; Until Chrs=AltP; end; begin declareparent; scan key; end.
Page 100
Procedure type7; {Progra• Integrasi_dengan_lenu_pilihan; Uses Crt;}
Procedure Kena1bahData; {SI type27.inc}
Procedure CariBerdasarkanrecord; {Sl Type417.inc}
Procedure KoreksiBerdasarkanRecord; {SI Type517.inc}
(l PR06RKA UTAKA KENAKPILKAN KENU PILIHAN l)
Yar Pilih :Byte;
Begin While True do begin clrscr; 6otoXY( 15, 5); Write(' « (( KENU » »'); 6otoXY(15, 7); Write('1, Kena1bah data'); GotoXY(15, 8); Write('2. Kena1pilkan data tertentu berdasarkan record' l; 6otoXY(15, 9); Write('3. Koreksi data tertentu berdasarkan record'); GotoXY(15,10); Write('4, Selesai ••• ');
Pilih := 0; While (Pilih < 1) or (Pilih > 7) do begin
End;
6otoXY(15,20l;Write('Pilih no1or (1-4) ? · l;Readln(Pilihl; If (Pilih <1) or (Pilih > 4) then
Write("6);
Case Pilih of
end; end;
1: KenubahData; 2: CariBerdasarkanRecord; 3: KoreksiBerdasarkanRecord; 4: Exit;
end; {1enu}
·•
Page 101
{Procedure tx14;} Uses
Dos,Crt,Printer; Const
Head: Array[1 •• 6] of string= (' Kiri1 Data ke Port Serial
!
Keabali ke 1enu Uta1a '); Type
pixel = Record
end;
Karakter : char; Atribut : byte;
Bufferlayar = Array[1 •• 25 11 •• 80] of pixel; BufferSeri = Array[1 •• 12] of byte; BufferSeril = Array[1 •• 512] of real;
Var ch,K : Char; index : word; Baris,by,Kolol : Byte; Reg : Registers; Screen : Bufferlayar Absolute $9800:$0000; ScreenSave : Array[1 •• 25,1 •• 80] of pixel; bufferS : BufferSeri; XReal : BufferSeril;
Procedure Pilih_Tulisan(Pilih: integer); begin
end;
Case Pilih of
end;
B : Begin SotoXY(22,B) ; Write(Head[l]l; end; 9 : Begin SotoXY(22,9) ; Write(Head[2]); end;
10 : Begin SotoXY(22,10l; Write(Head[3]); end; 11 : Begin SotoXY(22,11l; Write(Head[4]); end; 12 : Begin SotoXY(22,12l; Write(Head[5]); end; 13 : Begin SotoXY(22,13l; Write(Head[b]); end;
Procedure Ta1pa~; begin
end;
Reg.AH := SOl; Reg.CH := $06; Reg.Cl := $07; Intr ( $10, Reg);
Procedure Pesan;
t
begin gotoXY(23,22l;Write(' delay(1500);
File tidak diteaukan 'l;
end;
Function Translittan(by:integer):real; begin Trans1ittan:= by * 1;
Page 102
end;
Function rs_kon:boolean; begin
end;
reg.ah:=3; reg.dx:=O; intr($14,reg); rs_kon:=((reg.ah and 1)=1);
{ •••••••• Procedure kirit data ke port serial ••••••••••• } Procedure Kiritdata;
{Procedure datatx12;} {Prograt Kenatpilkan_data_tertentu_di_file;{berdasarkan urutan record} {Uses Crt;} Type
Kinutan = Record Noaor :byte;
Kin1 :String[30]; Volu1 :byte; Kin2 :String[30]; Volu2 :byte; Kin3 :String[30]; . Volu3 :byte; Kin4 :String[30]; Volu4 :byte;
NaaaO :String[30]; End;
Var FileKinutan :File Of Hinutan; RecordKinu1an :Kinutan; JutlahRecord :integer; UrutanRecord :integer; lagi :Char; I :integer; datal, data2, data3, data4 :byte;
Begin Assign(FileKinutan,'COCKTAIL.DAT'); Reset(FileHinutan);
JutlahRecord := FileSize(FileKinutan);
lagi :='Y'; Nhile Upcase(Lagi)='Y' do Begin
clrscr; gotoxy(5,b);
Nrite('Notor record yang dicari Readln(UrutanRecord);
(1 -· ,JutlahRecord:3,') ? I);
11riteln; if (Urutanrecord <1) or (UrutanRecord > JumlahRecord) then
Nriteln('Tidak ada notor record ini ! ! !') else
begin
I
Page 103
Seek(FileMinuaan,UrutanRecord-1); Read(FileKinuaan, RecordKinuaan); gotoxy(5,Bl; Writeln('Noaor Record · ,RecordMinuaan.Noaor:5l; gotoxy(5,10l; I
Writeln('NAMA COCKTAIL : ',RecordKinuaan. l;
end;
gotoxy ( 5, 1'3); Writeln('Bahan-bahannya :');
6otoXY(5, 14l;Write('Naaa Kinuaan 1 6otoXY(45,14l;Nriteln('Voluae {all : 6otoXY(5, 15l;Nrite('Naaa Kinuaan 2 6otoXV(45,15l;Writeln('Voluae {all : 6otoXY(5, 1bl;Nrite('Naaa Kinuaan 3 6otoXY(45,1bl;Writeln('Voluae (all : 6otoXV(5, 17l;Write('Naaa Kinuaan 4 6otoXY(45,17l;Writeln('Voluae {a!)
gotoxy(5,20l;
: · ,RecordKinuaan.Kin1 ; · ,RecordKinuaan.Volul : • ,RecordKinuaan.Ki
· ,RecordKinuaan.Volu2: : • ,RecordKinuaan.Kin ;
· ,RecordKinuaan. Volu'3: , ; : • ,RecordKinuaan. ;
• ,RecordKinuaan.Volu4 l; : I
Nrite('Ada lagi yang akan dicari ~Y/T)? '); Readln{lagi); end;
datal := RecordMinuaan.Volu1 ; data2 := RerordKinuaan.Volu2 ; data3 := RecordKinuaan.Volu'3 ; data4 := RerordKinuaan.Volu4 ;
Close{FileKinuaan);
begin taapak; window(3b,3,73,32); textbarkground(blue); tlrscr; reg.ah:=O; reg.dx:=O; reg.al:=$c'3; {baud rate= 4800 bit/s} intr(SH,reg); index:=O; repeat
if rs _k on Then begin reg.ah:=l; reg.dx:=O; {aengiria data satu karakter} reg.al :=datal; intr(S14,reg);
as a @salah:
and ah,lOOOOOOOb or ah,ah j nz @salah
end;
else
delay(1500l; by:=reg.al; if by=13 then writeln {=13 enter}
bufferS(index]:= reg.al; inc{ index);
end· writeln(index:2, · ',by); by:=O; '
Page 104
as a @salah:
if rs).on Then begin reg.ah:=1; reg.dx:=O; reg.al:=data2; intr($14,reg);
and ah,10000000b or ah,ah jnz @salah
end;
else
delay(1500); by:=reg.al; if by=13 then writeln
bufferS[index):= reg.al; inc(index);
{aengiria data satu karakter}
{=13 enter}
writeln(index:2,' ',by); by:=O; end;
as a @salah:
if rs_kon Then begin reg.ah:=l; reg.dx:=O; reg.al:=data3; intr($14,reg);
and ah,10000000b or ah,ah jnz @salah
end;
else
delay(1500); by:=reg.al; if by=13 then writeln
bufferS[index]:= reg.al; inc( index);
{aengiria data satu karakter}
{=13 enter}
writeln(index:2,' ',by); by:=O; end;
as a halah:
if rs_kon Then begin reg.ah:=1; reg.dx:=O; reg.al:=data4; intr($14,reg);
and ah,lOOOOOOOb or ah,ah jnz @salah
end;
else
delay(1500); by:=reg.al; if by=13 then writeln
bufferS[index]:= reg.al; inc( index);
(aengiria data satu karakter}
{=13 enter}
writeln(index:2,' ',by); by:=O;
Page 105
end; end;
end;
until keypressed; readln; ~indo~(1,1,S0,25);
{ta1bah readln bila enter dilanjutkan}
Procedure Tanya_Exit; Var
f:char; begin
end;
SotoXY(30,21l;Write(' tekan esc '); delay(2000);
begin
end;
Textbackground(black); Textcolor(llhite); Taapak; Clrscr; exit;
Procedure Lakukan_filihan(Pilih: integer); Var
Xl,X2 : integer; begin
end;
Xl:= llhereX; X2:= llhereY; ~ove(Screen,ScreenSave,4000);
Case Pilih of 8: Kiri1data; 9:
10: 11: 12: 13: Tanya_exit;
end; "ove(ScreenSave,Screen,4000); SotoXY( X1, X2);
Procedure KursorPilih; Var
Pilih : integer; begin
Pi lih :=8; Repeat K:= Readkey; if ((Ord(K) = fOD) And (Pilih ln[8 19110,11,12,13])) Then begin
end else
Lakukan_Pilihan(Pilih);
if K = 172 then {panah atas} begin
Baris := llhereY; Pilih :=Baris-!;
Page 106
end;
end else
if Pilih (} 7 then begin
Textbackground(blackl; Pilih_Tulisan(Pilih); Textbackground(Bluel; Pilih_Tulisan(Barisl; 6otoXY(22,Pilih)
end;
if K = 180 then begin
end;
Baris := WhereY; Pilih := Baris+!; If Pilih <> 14 then begin
end;
Textbackground(black); Pilih_Tulisan(Pilih); Textbactground(Blue); Pilih_Tulisan(Barisl; 6otoXY(22,Pilihl;
Until K = 127;
{ ...•......... ~'lain Prograa ..........•. } Begin
end.
6otoXY(22,8); Write(' Kiria Data ke Port Serial ');
6otoXY(22,13); Write(' Keabali ke menu Utaaa ');
KursorP il i h; Textbackground(Blackl; Textcolor(White); Clrscr;