MENGGUNAKANMIKROKONTROLER89S51
DisusunOleh:
BAGUSARIYADI
M3304055
TUGASAKHIR
Ditulisdandiajukanuntukmemenuhisebagianpersyaratan
memperolehgelarAhliMadyaIlmuKomputer
PROGRAMDIPLOMAIIIILMUKOMPUTER
FAKULTASMATEMATIKADANILMUPENGETAHUANALAM
UNIVERSITASSEBELASMARET
SURAKARTA
2007
TUGASAKHIR
ALATPEMANGGILANTRIAN
MENGGUNAKANMIKROKONTROLER89S51
Yangdisusunoleh
BAGUSARIYADI
M3304055
dibimbingoleh
PembimbingI
PembimbingII
FatchulArifinMT
Drs.BambangHarjito,M.App.Sc
NIP.132206815
NIP.131947765
telahdipertahankandidepan DewanPenguji
padahariSelasa,tanggal10Juli2007
dandinyatakantelahmemenuhisyarat
AnggotaTimPenguji
TandaTangan
1.FatchulArifin,MT
1.
2.Drs.BambangHarjito,M.App.Sc
2.
3.Tunggul Ardhi,S.Si
3.
Surakarta,10Juli2007
Disahkanoleh:
FakultasMIPA
Dekan,
Prof.Drs.Sutarno.M.Sc.PhD
NIP.131649948
KetuaProgramStudiDIII
IlmuKomputer,
IrwanSusanto,DEA
NIP.132134694
ii
MOTTO
Kehidupan adalah surga bagi mereka yang yang mencintai
banyak hal dengan keinginan yang besar
(Leo Buscaglia)
Katakanlah
menjadikan
pada
sahabat
hati
dan
nuranimu
bahwa
teman
dekatmu
kamu
lebih
aklan
dari
tenaga,
pikiran,
bahkana
materi
yang
kamu
iii
PERSEMBAHAN
Dengan Segenap Cinta dan Kasih
Kupersembahkan Karya Kecil ini Kepada
2. Kakak-kakakku tercinta
Yang selalu menemani dalam suka maupun duka menumbuhkan kebahagiaan dan
ketenangan dalam hati dan jiwa.
4. Sahabat-sahabatku tercinta
Yang selalu ada, selalu meluangkan waktunya dikala aku butuhkan dan tak
henti-hantinya mencurahkan semua waktu, tenaga, dan pikirannya yang tiada
putusnya.
iv
KATAPENGANTAR
Segala puji syukur saya panjatkan kepada Allh SWT, atas segala
limpahan rahmat dan karunianya, akhirnya laporan tugas akhir ini dapat
terselesaikan dengan baik, guna memenuhi salah satu persyaratan untuk
memperoleh gelar Diploma jurusan Teknik Komputer Universitas Sebelas
MaretSurakarta.
Dengan menyadari keterbatasan waktu dan kemampuan sehingga
banyak terdapat kekurangan di dalam laporan ini dan mungkin belum
memenuhi harapan. Untuk itu segala kritik dan saran yang bersifat
membangunbegitusayaharapkandemikesempurnaanlaporanini.
Akhirnya, dengan diiring rasa rendah hati ingin saya ucapkan terima
kasihyangsetulustulusnyakepada:
1. BapakIrwanSusanto,DEA selakuKetuaProgramD3IlmuKomputerFMIPA
UniversitasSebelasMaretSurakarta.
2. Bapak Fatchul Arifin, MT, selaku dosen pembimbing I dalam pembuatan
tugasakhir ini, yang manaarahan, bimbingan sertadorongannya menjadikan
laporaninidapatdiselesaikan.
3. Bapak Drs. Bambang Harjito, M. App., Sc, selaku dosen pembimbing II
dalam pembuatan tugas akhir ini, yang mana arahan, bimbingan serta
dorongannyamenjadikanlaporaninidapatdiselesaikan.
4. Seluruh pendidikku dari SD sampai saya menjadi ahli madya yang telah
memberikanilmudanpengetahuannyadengantulusdaniklas.
5. KeluargabesarkudiJangglenganRT1/RW5,Nguter,Sukoharjoyangtelah
memberikandukunganbaikmorilmaupunmateriil.
6. RekanrekanseperjuanganTeknikKomputer2004yangsudahselesaimaupun
masihtertinggal,teruskanperjuanganmuakubesertamudalamdoa.
7. Segala pihak yang tidak dapat saya sebutkan satu persatu yang secara
langsung maupun tidak langsung memberikan bantuan dan dorongan selama
ini.
Semoga Allah SWT memberikan balasan yang berlipat atas segala peran
serta amal dan perbuatannya yang telah diberikan selama ini. Dan mudah
mudahankaryakecilinimengandungmanfaatbagiparapembacapadaumumnya
danbagipenulispadakhususnya.
Akhirnya, dengan diiring rasa kerendahan hatipula saya haturkan karya
keciliniapaadanyasemogakehadirannyadapatbermanfaat.
Surakarta,24Juni2007
BagusAriyadi
vi
ABSTRAKSI
Katakunci:alatpemanggilantrian
vii
DAFTARISI
Halaman
HALAMANJUDUL ............................................................................... i
HALAMANPENGESAHAN................................................................... ii
MOTTO..................................................................................................... iii
HALAMANPERSEMBAHAN................................................................ iv
KATAPENGANTAR............................................................................... v
ABSTRAKSI.............................................................................................. vii
DAFTARISI.............................................................................................. viii
DAFTARTABEL...................................................................................... xi
DAFTARGAMBAR................................................................................. xii
BABI
PENDAHULUAN.................................................................... 1
1.1 LatarBelakang 1
1.2 PerumusanMasalah 2
1.3 BatasanMasalahdanRuangLingkup. 2
1.4 TujuanTugasAkhir 2
1.5 ManfaatTugasAkhir. 2
BABII
LANDASANTEORI.. 3
2.1 TeoriAntrian.
2.1.1 Pengertian.. 3
2.2 Optocoupler....................................................................... 4
2.3 Penampil(Display)7Segment..........................................
2.4 Mikrokontroler89S51..
2.4.1 FungsiPin89S51.
2.4.2 OrganisasiMemori..
2.4.2.1 MemoriProgram.
10
2.4.2.2 MemoriData
10
2.4.2.3 Timer/Counter.
11
viii
BABIII METODEPENELITIAN.. 12
3.1 MetodePengumpulanData 12
3.2 IdentifikasiKebutuhan..
12
3.3 AnalisisKebutuhan 13
3.4 PerancanganSistem 14
3.4.1 PerancanganHardware.. 14
3.4.1.1 SaklarPengambilanKartu(Optocoupler). 14
3.4.1.2 SaklarPanggil 15
3.4.1.3 Mikrokontroler89S51 16
3.4.1.4 Display 7Segment.
16
3.4.1.5 Buzzer. 17
3.4.2 PerancanganSoftware 18
3.4.2.1 Protel&Eagle. 20
3.4.2.2 ProgramAssembler. 20
3.4.3 AlatPendukung.. 20
BABIV PENGUJIANPROGRAMDANALAT. 21
4.1PengujianProgram............................................................. 23
4.1.1PemogramandenganISP........................................... 23
4.1.2Prosespemrogramankedalammikrokontroler
AT89S51 24
4.2PengujianAlat..................................................................... 26
4.2.1 PengujianRangkaian SaklarPengambilanKartu
(Optocoupler).................................................. 26
4.2.2 PengujianRangkaianSaklarPanggil. 27
4.2.3 PengujianPenampil 7Segment................................ 28
4.2.4 PengujianRangkaian Triger7Segment... 30
4.2.5 PengujianRangkaian Buzzer... 31
ix
BABV
PENUTUP 32
5.1 Kesimpulan. 32
5.2 Saran 32
DAFTARPUSTAKA. 33
LAMPIRAN 34
DAFTARTABEL
Halaman
Tabel4.1Hasilpengujianrangkaianmasukandata 27
Tabel4.2Hasilpengujianrangkaianmasukandata 28
Tabel4.3Pengujianpenampil 7segment. 29
Tabel4.4Pengujian Triger7segment. 30
Tabel4.5Pengujianrangkaian buzzer.. 31
xi
DAFTARGAMBAR
Halaman
Gambar2.1Optocoupler 4
Gambar2.2Tampilan 7Segment 5
Gambar2.3Konfigurasipin89S51. 6
Gambar2.4Strukturmemorimikrokontroler89S519
Gambar3.1Diagramblokalatantrian. 14
Gambar3.2Rangkaiansaklarpengambilankartu(optocoupler) 15
Gambar3.3Rangkaiansaklarpanggil. 15
Gambar3.4Mikrokontroler89S51. 16
Gambar3.5Rangkaiandisplay 7segment. 17
Gambar3.6Rangkaian buzzer 18
Gambar3.7DiagramAlirProgramUtama. 18
Gambar3.8SubRutinCekPengambilanKartu. 19
Gambar3.9SubRutinLayananTeller.. 19
Gambar3.10Solder... 20
Gambar3.11Multimeter...
20
Gambar3.12Penyedottimah....
21
Gambar4.1RangkaianDownloaderversiSederhana 23
Gambar4.2ASM_51.exe.. 24
Gambar4.3SetupAEC_ISP.. 24
Gambar4.4MemanggilFile.HEX.. 25
Gambar4.5ResetProgram.. 25
Gambar4.6PerintahProgramkeICMikrokontroler.. 26
Gambar4.7ProsesProgram.... 26
Gambar4.8Rangkaiansaklarpengambilankartu(optocoupler) 27
Gambar4.9Rangkaiansaklarpanggil. 28
Gambar4.10Rangkaianpengujiidentitastiapkaki7segment.. 29
Gambar4.11Rangkaianpenguji trigger7segment.... 30
Gambar4.12Rangkaian buzzer... 31
xii
BABI
PENDAHULUAN
1.1LatarBelakang
Dengansemakinpesatnyaperkembanganteknologidewasaini,khususnya
di bidang elektronika, mengakibatkan terjadinya perubahan gaya hidup manusia.
Peralatanyangserbaotomatisterasakiandiperlukandalamkehidupanseharihari
untukmengimbangigayahidupmanusiayangkiancepatdandinamis.
Dalam setiap aktivitas manusia modern, waktu semakin mahal harganya,
sehingga mereka membutuhkan sarana dan prasarana seefisien dan seefektif
mungkin.Salah satufenomenanyaadalahkegiatanantri yang membosankandan
menghabiskanwaktu,denganberbarissatupersatumenunggugiliranyangmasih
sering dijumpai di berbagai tempat pelayanan, seperti bank, rumah sakit atau
klinik,loketpembeliankarcis,dansebagainya.
Berdasarkan hal tersebut di atas, maka penulis bermaksud melakukan
perancanganyangbertujuanuntukmenggantisistemantrianyangsebagianbesar
masih menggunakan tenaga manusia menjadi teknologi otomatis terprogram.
Adapun hasil solusi itu berupa inovasi sebuah alat penampil antrian bersuara.
Dengandemikianefisiensidanefektifitasantriandapattercapai.Makajudultugas
akhir ini adalah ALAT PEMANGGIL ANTRIAN MENGGUNAKAN
MIKROKONTROLER89S51.
Dalampenerapannyaalatinimenggunakanteknologimikrokontroleryang
difungsikan sebagaialatpengaturotomatisperalatan yang bekerjasesuaidengan
spesifikasimasukan.MikrokontroleryangdigunakanadalahjenisAT89S51.Alat
ini akan bekerja menampilkan nomor antrian dan memanggil nasabah secara
otomatis, sehingga dapat memperlancar antrian, agar tidak terjadi saling dorong
dansalingmendahului.
1
1
1.2PerumusanMasalah
Masalahyangakandikajiadalah:
a. bagaimanakah merancang dan membuat alat pemanggil antrian
menggunakanmikrokontroler89S51?
b. bagaimanakah cara kerja dari alat pemanggil antrian menggunakan
mikrokontroler89S51?
1.3BatasanMasalahdanRuangLingkup
Agardalampenyusunantugasakhirinilebihterarahpadapokokbahasan,
makadiberikanbatasandanruanglingkupsebagaiberikut:
a. menggunakanmikrokontroler89S51.
b. menggunakan optocouplersebagaisensormasukan
c. menggunakanpenampil7segmen(sevensegment)
d. menggunakan buzzersebagaikeluaransuara
e. masukanmaksimumuntuksimulasiadalah99datamenggunakanoperator
manusia
f. loketlayanan(teller)3buah
1.4TujuanTugasAkhir
Tujuantugasakhiriniadalahsebagaiberikut:
a. dapat merancang dan membuat alat pemanggil antrian menggunakan
mikrokontroler89S51
b. dapat menjelaskan cara kerja dari alat pemanggil antrian menggunakan
mikrokontroler89S51
1.5ManfaatTugasAkhir
Manfaat dari pembuatan alat ini adalah menambah wawasan dan
keterampilan di dalam memanajemen pembiayaan pembuatan alat dan mengenai
halhalyangberkaitandenganpelajaranyangditerimadibangkuperkuliahan.
BABII
LANDASANTEORI
Perancangan dan pembuatan perangkatkeras (hardware) maupun
perangkatlunak (software) untuk alat pemanggil antrian dengan mikrokontroler
AT89S51 membutuhkan beberapa teori penunjang. Teori tersebut akan
mempermudah dan mempercepat proses perancangan alat. Teori penunjang
tersebut antara lain mengenai teori antrian, optocoupler, penampil/display 7
segment,danmikrokontrolerAT89S51.
2.1TeoriAntrian
2.1.1Pengertian
Masalahantrian(queues) ataubaristunggu iniakanterjadi jika beberapa
karyawan,konsumen,komponenataumesinmesinsedangmenunggupelayanan,
karena pada saat itu bagian atau fasilitas pelayanan sedang melayani yang lain,
sehingga tidak mampu melayani mereka pada saat tersebut. Jika antrian itu
disebabkan oleh kurangnya loket yang tersedia, maka penambahan loket
pelayananakandapatmenanggulangiantrianyangada.
MenurutDrs.SuadHusnan,MBA, faktorkebijakan masalahpenanganan
pelayanan terhadap proses antrian adalah disiplin antrian, artinya aturan yang
harusdipenuhiuntuk melakukanpelayananadalah firstcomefirstserved yang
datanglebihdahuluadalahyangdilayanilebihdulu.
Pada tempat yang sering terjadi antrian proses terjadinya transaksi tidak
tertentu,dengankatalainproseskedatangannasabahadalahacak.Olehkarenaitu,
padasuatusaatdapatterjaditidakadasatupunnasabahyangdatang,tetapidisaat
lainterjadikedatangannasabah yang banyak. Waktupelayanandibutuhkan yang
nasabahberbedabedaataudenganpolayangtidaktetap(dengankatalainbersifat
acak). Dalam keadaan acak akan dijumpai nasabah pertama yang mungkin
memerlukan 5 menit, sedangkan nasabah kedua memerlukan 2 menit, nasabah
ketiga, keempat, dan seterusnya memerlukan waktu yang tidak sama dalam
pelayanan.Demikianpulabanyaknyatransaksisetiaphariberbeda.
3
3
Dengandemikianpendesaianalatantriantersebutakanberfikirbagaimana
memberikan kenyamanan pada nasabah dan teller yang memberikan pelayanan.
(ArifDarmawan,2004)
2.2Optocoupler
Optocoupler merupakan piranti elektronika yang berfungsi sebagai
pemisah antara rangkaian power dengan rangkaian control. Optocoupler
merupakan alat yang terdiri dari led infra merah dan phototransistor. Pada saat
cahayadariledinframerahyangmenujukephototransistorterhalangolehcahaya
dariledinframerahyangmenujukephototransistorditerimamakaphototransistor
kan melewatkan arus yang melaluinya. Pada keadaan phototransistor menerima
cahaya maka optocoupler akan menghasilkan beda potensial sebesar beberapa
mV.
Optocoupler merupakan salah satu jenis komponen yang memanfaatkan
sinar sebagai pemicu on/offnya. Opto berarti optic dan coupler berarti pemicu.
Sehingga bisa diartikan bahwa optocoupler merupakan suatu komponen yang
bekerja berdasarkan picu cahaya optic optocoupler termasuk dalam sensor,
dimana terdiri dari dua bagian yaitu transmitter dan receiver. (elektronika
elektronika.blogspot.com)
Gambar2.1Optocoupler
Bagian pemancar atau transmitter dibangun dari sebuah led infra merah
untuk mendapatkan ketahanan yang lebih baik daripada menggunakan led biasa.
Sensor ini bisa digunakan sebagai isolator dari rangkaian tegangan rendah
kerangkaian tegangan tinggi. Selain itu juga bisa dipakai sebagai pendeteksi
2.3Penampil(Display)7Segment
Display merupakan alat peraga yang dapat meampilkan sandi yang telah
dikodekan atau diterjemahkan. Pada prinsipnya ada 3 macam cara untuk
memperagakan angka atau huruf, yaitu diskrit, display, dot matriks, dan 7
segment. Pada penampil 7 segment digunakan 7 ruas atau segmen yang berasal
dari LED yang tersusun sedemikian rupa, sehingga menyalakan garisgaris
tertentudanmembentukangkadesimalyangdikehendaki.
Gambar2.2Tampilan7segment
Padapenampil7segmenseluruhanodadijadikansatu,sedangkankeluaran
adalah ujungujung katoda setiap LED. Peraga 7 segment yang anodaanodanya
disatukandisebutperaga7segment(anodabersama). (ArifDarmawan,2004)
2.4Mikrokontroler89S51
Penggunaan 89S51 memiliki beberapa keuntungan dan keunggulan,
antaralaintingkatkendalayangtinggi,komponenhardwareeksternalyanglebih
sedikit, kemudahan dalam pemrograman. Dan hemat dari segi biaya. 89S51
memiliki program internal yang mudah untuk dihapus dan diprogram kembali
secaraberulangulang.Padapesawatini 89S51berfungsisebagaisentralcontrol
dari segala aktivitas pesawat. Mulai dari timer untuk mengontrol lamanya
elektroda bekerja. Pada pesawat ini 89S51 ini juga dimanfaatkan sebagai
pengubahsuhusensorsuhuuntukdikonversikandalamsatuankadarmineralyang
ditampilkan
dalam
display
berupa
seven
segment.
(elektronika
elektronika.blogspot.com)
Gambar2.3KonfigurasiPin89S51
2.4.1 FungsiPin89S51
BeberapafungsidarikakipinpadaICmikrokontrolerAT89S51.
A. Port0
Port 0 adalah 8 bit open drain bidirectional port I/O. pada saat sebagai
portoutput,tiappindapatdilewatkanke8 inputTTL.Ketika logikasatu
dituliskan pada port 0, maka pinpin ini dapat digunakan sebagai input
yang berimpendansi tinggi. Port 0 dapat dikonfirmasikan untuk
demultiplex sebagai jalur data/addres bus selama membaca ke program
eksternaldanmemoridata.PadamodeiniP0mempunyaiinternalPullup.
Port 0 juga enerima kode bytre selama pemograman Flash. Dan
mengeluarkankodebyteselamaverifikasiprogram.
B. Port1
Port 1 adalah 8 bit bidirectional port I/O dengan internal Pullup. Port 1
mempunyai output yang dapat dihubungkan dengan 4 TTl input. Ketika
logika1dituliskankeport1,pininidipullhightdenganmenggunakan
internalpullupdandapatdigunakansebagai input.Port1 juga menerima
addresbawahselamapemrogramanFlashdabverifikasi.
C. Port2
Port 2 adalah 8 bit bi directional port I/O dengan Pullup. Port 2 output
buffer dapat melewatkan empat TTL input. Ketika logika satu dituliskan
ke port 2, maka mereka dipull hight dengan internal Pullup dan dapat
digunakansebagaiinput.
D. Port3
Port 2 adalah 8 bit bi directional port I/O dengan Pullup. Output buffer
dariPort3dapatdilewatiempatinputTTL.Ketika logikasatudituliskan
keport3,makamerekaakandipullhightdenganinternalpullupdandapat
digunakan sebagai input. Port 3 juga mempunyai berbagai macam
fungsi/fasilitas. Port 3 juga menerima beberapa sinyal kontrol untuk
pemrogramanFlashdabverifikasi.
E. RST
Inputreset.Logikahightpadapininiakanmeresetsiklusmesin(IC).
F. ALE/PROG.
PulsaoutputAddresLatchEnabledigunakanuntuklantchingbytebawah
dari addres selama mengakses ke eksternal memory. Pin ini juga
merupakan input pulsa program selama pemrograman Flash. Jika
dikehendaki,operasi ALEdapatdidisabledengan memberikansetting bit
0 dari SFR pada lokasi 8EH. Dengan Bit Set, ALE disable, tidak akan
mempengaruhijikamikrokontrolerpadamodeeksekusieksternal.
G. PSEN
ProgramStoreEnable merupakansinyal yangdigunakanuntuk membaca
programmemoryeksternal.Ketika8951mengeksekusikodedariprogram
memoryeksternal,PSENdiaktifkanduakalisetiapsiklusmesin.
H. EA/VPP
Eksternal Acces Enable, EZ harus diposisikan ke GND untuk
mengaktifkan divais untuk mengumpankan kode dari program memory
yangdimulai pada lokasi 0000hsampai FFFFh. EA harusdiposisikanke
VCC untuk eksekusi program internal. Pin ini juga menerima tegangan
pemrograman12volt(Vpp)selamapemrogramanFlash.
I. XTAL1
Input untuk oscillator inverting amplifier dan input untuk internal clock
untukpengoperaianrangkaian.
J. XTAL2
Outputdariinvertingoscillatoramplifier.
2.4.2OrganisasiMemori
MenurutArifDarmawan,2004,memoripadakomputeryangdikenalada
2macam,yaituRAM(RandomAccessMemory)danROM(ReadOnlyMemory).
RAM adalah jenis memori yang mampu menyimpan data selama daya dalam
keadaanhidup.Jikadayadimatikan,datayangtersimpanpadaRAMakanhilang.
RAMmerupakantempatpenyimpanansementarasertadapatdibacadanditulisi.
AT89S51mempunyaimemoriyangdisebutsebagaiMemoridatainternal.
Memoridata internalterdiridari RAM internalsebesar128 bytedengan alamat
00H7FH dapat diakses menggunakan RAM address register. RAM Internal ini
terdiridariRegisterBanksdengan8buahregister(R0R7).Memorilainyaitu 21
buah Special Function Register dimulai dari alamat 80HFFH. RAM ini beda
lokasi dengan Flash PEROM dengan alamat 000H 7FFH. Jika diperlukan,
memori data eksternal untuk menyimpan variabel yang ditentukan oleh user
dapatditambahberupaICRAMatauROMmaksimalsebesar64KB.
ROM merupakan memori yang hanya dapat dibaca saja. Memori pada
ROM akan tetap tersimpan walaupun daya dimatikan. ROM terbagi menjadi 3
macam, yaitu PROM, EPROM, dan EEPROM. PROM (Programmable Read
Only Memory) adalah jenis ROM yang hanya dapat diisi sekali saja, sehingga
tidak menguntungkan apabila terjadi kesalahan pada PROM. Untuk mengatasi
permasalahan tersebut digunakan EPROM. EPROM (Erasable Programmable
Read Only Memory) adalah jenis ROM yang dapat diisi atau dihapus datanya.
Dengan menggunakanEPROM, jikadata yangdimasukkanternyatasalah, maka
dapatdihapusdandiisikembalidengandata yangbenar.Untuk menghapusdata
pada EPROM digunakan sinar ultra violet. Sedangkan EEPROM (Electrically
ErasableProgrammableReadOnlyMemory)tidakberbedajauhdenganEPROM,
hanya saja cara menghapusnya berbeda, yaitu menggunakan tegangan. Gambar
2.4memperlihatkanstrukturmemorimikrokontroler89S51.
MEMORIPROGRAM
(HANYADIBACA)
MEMORIDATA
(BACA/TULIS)
FFFFH
FFFFH
EKSTERNAL
INTERNAL
FFH
EKSTERNAL
EA=C
EKSTERNAL
EKSTERNAL
0000H
0000H
00H
WR
RD
PSEN
Gambar2.4Strukturmemorimikrokontroler89S51
Memori program hanya dapat dibaca dan tidak dapat ditulisi karena
disimpan di dalam EPROM. Memori program sebesar 64 kB dapat dimasukkan
dalam EPROM eksternal. Semua mikrokontroler keluarga MCS51 memiliki
pembagian ruang alamat untuk program dan data. Pemisahan memori program
dan memori data membolehkan memori data untuk diakses oleh alamat 8 bit.
Sinyalyangmembolehkanpembacaanmemoriprogrameksternaladalahdaripin
PSEN(ProgramStoreEnable).Memoridataterletakpadaruangalamatterpisah
darimemoriprogram.
2.4.2.1MemoriProgram
MenurutDidinWahyudin,2007,setelahreset,CPUmemulaieksekusidari
lokasi 0000H. Setiap interupsi mempunyai lokasi tetap dalam memori pogram.
Interupsi menyebabkan CPU melompat ke lokasi tempat sub rutin yang harus
dilaksanakan.
Port 0 dan port 2 digunakan untuk menghubungi EPROM, sebagai bus
datadanbusalamat.Port0memultipleksalamatdandata.Portinimengirimkan
byte bawah program counter sebagai suatu alamat dan kemudian port ini akan
berada pada keadaan mengambang menunggu datangnya kode byte memori
program. Selama waktu byte bawah pencacah valid pada port 0, sinyal ALE
dikirimkansehinggabytebawah programcounterakandilatch.
Sementara itu, port 2 mengirimkan byte atas program counter. Baru
kemudian PSEN mengirimkan sinyal ke EPROM untuk dapat dibaca kode byte
nya oleh mikrokontroler. Lebar alamat memori selalu 16 bit walaupun jumlah
memoriprogramyangdigunakankurangdari64kB.
2.4.2.2MemoriData
Untuk melakukan pembacaan atau penulisan, mikrokontroler akan
mengirimkansinyalRDatauWR.RAMyangdigunakanmempunyaikapasitas8
kB.
10
2.4.2.3Timer/Counter
Mikrokontroler 89S51 memiliki 2 buah timer/counter 16 bit yang akan
diatur melalui perangkat lunak, yaitu timer/counter 0 , dantimer/counter 1. Jika
diaktifkanpadafrekuensikerjamikrokontroler12Mhz,makatimer/counterakan
melakukanperhitunganwaktusekalisetiap1mikrodetiksecaraindependentanpa
tergantung pada pelaksanaan suatu instruksi. Pengontrol kerja timer/counter
adalah register timer control (TCON), sedangkan pengontrol pemilihan mode
operasinya adalah register timer mode (TMOD). Pada kontrol internal, timer
dihidupmatikan dengan menset bit TR0 (kontrol perangkatlunak). Untuk
kontrol eksternal, timer dihidupmatikan dengan memberikan logika 0 pada pin
INT0(kontrolperangkatkeras).
11
BABIII
METODEPENELITIAN
3.1
MetodePengumpulanData
Dalammenyusunlaporanini,datadidapatkandengancarasebagaiberikut:
a. Observasi
Hal ini dilakukan dengan cara melakukan pengamatan
secaralangsungtentangalatalatyangmenyusunalatpemanggilantrian
menggunakanmikrokontroler89S51.
b. Melaluibuku
Dengan cara ini diperoleh datadata informasi dengan
membaca dan mempelajari buku yang dibutuhkan dalam penyusun
laporanini.
c. Wawancara
Cara ini dilakukan dengan bertanya langsung kepada
seseorang yang berhubungan langsung dengan objek, sehingga penulis
dapatmemperoleh informasi yang lebih jelas.Yaitudenganorang yang
bekerja pada suatu instansi yang menggunakan alat pemanggil antrian
dimanaorangtersebutbekerjapadabidangini.
d. Pengembangan
Hal ini dilakukan dengan melakukan perancangan dan
pembuatan alat peraga alat pemanggil antrian menggunakan
mikrokontroler 89S51 melalui bimbingan dari dosen pembimbing dan
orangorangyangtahutentangalatperagatersebut.
3.2 IdentifikasiKebutuhan
Untukmemenuhisebuahperancanganyangbaik,makakitaakanmengawali
perancangan ini dengan membuat beberapa identifikasi kebutuhan, agar
mengetahui arahan umum alat yang dibuat. Beberapa identifikasi kebutuhan
tersebutmeliputi:
12
12
a. sistemminimumAT89S51
b. rangkaiansaklarpengambilankartu(optocoupler)
c. rangkaiansaklarpanggil
d. penampil 7segment
e. buzzersebagaikeluaransuara
f. software mikrokontrol yang mengatur kerja sistem mikrokontroler
sehinggadapatdigunakansebagaikendaliutamasistem
3.3 AnalisisKebutuhan
Berdasarkanidentifikasikebutuhandiatas,makaakandiuraikanhaltersebut
menjadiuraianmengenaianalisiskebutuhanyanglebihdetail.
a. Adanya mikrokontroler sebagai pemroses dan pengolah program yang
merupakansuatukesatuandariprosesor,memori,unitdetak,danbagian
input/outputyangterbentukdalamsatuchiptunggal.
b. Adanya rangkaian saklar pengambilan kartu (octocoupler) sebagai
pendeteksiadanyanasabahyangmengantri.
c. Adanya rangkaian saklar panggil untuk memanggil pengantri sesuai
nomorantrian.
d. Adanya rangkaian display dengan menggunakan 7 segment common
anodauntukmenampilkandata(nomorantrian,loket,jumlahpengantri).
e. Adanya rangkaian buzzer sebagai penanda adanya nasabah yang
dipanggil.
1. Adanyasoftwareyangmampumendukungkerjakeseluruhanrangkaian.
13
3.4 PerancanganSistem
SistemkerjaalatdapatdilihatpadaGambar3.1yangmerupakandiagram
blokmulaimasukandata,prosespengolahan,dankeluaranalatyangdibuat.
input
output
proses
BanyakPengantri
Sensor
Pengambilan
Kartu
Port2
Port3
Minimum
89S51
NomerUrut|Loket
S1
S2
S3
Port3
Port2
Port3
Buzzer
Gambar3.1Diagramblokalatantrian
3.4.1 PerancanganHardware
Secaragarisbesarrangkaianpemanggilantrianterdiridari:
a. saklarpengambilankartu(optocoupler)
b. saklarpanggil
c. mikrokontroler89S51
d. display 7segment
e. buzzer
3.4.1.1 SaklarPengambilanKartu(Optocoupler)
Ketika nasabah datang maka dia harus mengambil kartu
antrian dan saat mengambil kartu tersebut akan menghalangi
14
300
10k
Port3.2
Optocoupler
Gambar3.2RangkaianSaklarPengambilanKartu(Optocoupler)
3.4.1.2 SaklarPanggil.
Saklar push button S 1 Sr 3 dihubungkan denganport 3
(port 3.3 port 3.5) yang akan difungsikan untuk data masukan
masingmasingloket.Saklariniberfungsiuntukmemanggilnomor
antrian beserta nomor loket yang akan melayani sekaligus
mengurangijumlahantrian.
Loket3
Port3.3
Loket2
Port3.4
Loket1
Port3.5
Gambar3.3RangkaianSaklarPanggil
15
3.4.1.3 Mikrokontroler89S51.
Rangkaian ini bisa disebut sebagai CPU Board yang
berfungsi sebagai pengendali utama dari keseluruhan sistem atau
dapatdisebutsebagaiotak.Rangkaian inidilengkapidenganport
portdimanaCPUBoarddapatberhubungandenganmodulmodul
pendukung yang lain. Sistem minimum AT89S51 menggunakan
V cc
39
38
37
36
35
34
33
32
30
29
28
27
26
25
24
23
22
21
G nd
EA / V pp
XTA L
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
ALE/Prog
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
20
AT89S51
P3.0
P3.1
P3.2/int0
P3.3/int1
P3.4/T0
P3.5/T1
P3.6
P3.7
XTA L
10
11
12
13
14
15
16
17
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
18
1
2
3
4
5
6
7
8
19
R st
chipAT89S51.
12MHz
30pF
30pF
Gambar3.4Mikrokontroler89S51
3.4.1.4 Display7segment.
Untuk menampilkan angka pada alat ini, digunakan
penampil7segment.Penampilinimenggunakan7segmentdengan
16
seakanakan
menyala
bersamaan.
Gambar
3.4
8x10k
8x4k7
39
38
37
Port036
35
34
33
32
30
29
28
27
26
25
Port224
23
22
21
8x9012
Display_Sevent_Seqment
No.Antrian
Loket
JumlahAntrian
Gambar3.5RangkaianDisplay7Segment
3.4.1.5 Buzzer
Rangkaian ini berfungsi sebagai penanda adanya nomor
antrianyangdipanggil.
17
Vcc
9012
Buzzer
4k7
+5V
Port3.6
Gambar3.6RangkaianBuzzer
3.4.2 PerancanganSoftware
Dalam melakukan perancangan software, akan di awali dengan
membuat flowchart umum, kemudian flowchart per bagian. Bahasa yang
digunakan pada Mikrokontroler dengan menggunakan bahasa Assembler
yang akan diubah menjadi file berekstensi .hex agar bisa dimengerti oleh
Mikrokontroleruntukmenjalankanperintahsesuaidenganalurprogramnya
sehingga Mikrokontroler dapat mengatur jalannya alat pemanggil antrian
sesuaidenganprogramnya.
Start
Cek
Pengambilan
Kartu
LayananTeller
End
Gambar3.7DiagramAlirProgramUtama
18
Gambar3.8SubRutin CekPengambilanKartu
Gambar3.9SubRutin LayananTeller
19
3.4.2.1 Protel&Eagle
Protel dan eagle sebagai program yang digunakan untuk
menggambarrangkaianelektronik.
3.4.2.2ProgramAssembler
Program Assembler merupakan suatu program yang dapat
menterjemahkan program bahasa assemble ke program bahasa
mesin.
3.4.3Alatpendukung
a. Solder
Alat
pendukung
yang
digunakan
untuk
memanaskan,
menyambunngkomponenkomponen elektronik.
Gambar3.10Solder
b. Multimeter
Alatyangdigunakanuntukmengukurarus,tegangandanhambatan
listrik.
Gambar3.11Multimeter
20
c. Obeng
Terdiridariobengmindanplus,yangdigunakanuntukmerapatkan
mursebagaipengunciantarkomponen.
d. Tang
Alatyangdigunakansebagaipenjepit.
e. Gergaji
Alatyangdigunakansebagaipemotong.
f. Bor
Alat yang digunakan untuk membuat lubang baik pada PCD
maupunpadarangka/casis.
g. PenyedotTimah
Alatuntukmengangkattimahyangtidakdiperlukan.
Gambar3.12PenyedotTimah
Ketikanasabahhadirakanmengambilkartuantriyangadadidepanpintu
masuk. Fungsi kartu antri adalah sebagai tanda bukti bahwa dia (pengantri)
mempunyai nomor antri tersebut, dan kartu yang diambil akan menghalangi
sensoroptocoupleryangberfungsisebagaisaklaruntukmendaftarkandiri,bahwa
diamempunyainomortersebut.
Dengan demikian antara kartu yang dia miliki harus sesuai dengan
tampilan 7 segment yang ada di depannya. Proses selanjutnya adalah masukan
datadarisaklarpanggil1 sampai3(difungsikansebagai loket1sampai loket3)
yangakandihubungkandenganrangkaianminisystem89S51.Kemudiandataitu
akan diproses oleh mikrokontroler 89S51. Selanjutnya data itu akan dikeluarkan
kembali mikrokontroler 89S51 ke buzzer (sebagai tampilan suara) dan display 7
segment (sebagai nomor pengantri dan nomor loket). Penampil 7 segment akan
berubahketikaterjadimasukandariloketdenganmenekansaklarpanggil.Saklar
S 1 S 3 tersebut berfungsi sebagai pencacah dan identitas nomor loket serta
21
22
BABIV
PENGUJIANPROGRAMDANALAT
4.1PengujianProgram
ProgramlengkapMikrokontrolerAT89S51dibuatpadaprogrameditor
biasa (notepad) dan ditulis dengan menggunakan bahasa assembly (disimpan
dalam *.asm). Kemudian program yang telah disimpan dengan ekstensi *.asm
tersebut dicompile menjadi file HEX (diterjemahkan menjadi bahasa mesin
dalam bentuk kode biner) dengan menggunakan software ASM_51. Selanjutnya
denganmenggunakanAEC_ISPprogramyangtelahmenjadifileHEXtersebutdi
isikankeFlashPEROMyangadadidalamchipmikrokontrolerAT89S51.
4.1.1PemrogramandenganISP
ISP (In System Programing) Programmer merupakan program untuk
memprogram mikrokontroler MCS51 versi S seperti pada AT89S51. Proses
pemasukanprogramkedalamICMikrokontrolerdilakukandenganmenggunakan
softwareAEC_ISP
13
25
12
24
11
23
10
22
1
2
9
21
20
7
P1.5(MOSI)
P1.6(MISO)
P1.7(SCLK)
RST
GND
19
6
18
5
17
4
16
3
15
2
14
1
Gambar4.1RangkaianDownloaderversiSederhana
Fungsi dari kabel ini adalah sebagai penghubung antara rangkaian
minimum sistem dengan komputer, sehingga program yang telah kita buat pada
komputerdapatdimasukkankedalamICmikrokontrolerAT89S51.
23
23
4.1.2ProsespemrogramankedalammikrokontrolerAT89S51
ProgramuntukTimerMultioutputyangtelahdibuatpadanotepadpada
notepadlalusimpandengannamaberekstensi .asm.Kemudiankitamengubahfile
inimenjadifiledenganekstensi.hexsepertigambardibawahini:
Gambar4.2ASM_51.exe
Setelah mengetikkan nama file yangtelahkitabuat,tekanenter laludi
lokasifolderyangsamakitakanmendapatkanfiledenganekstensi.hexdan.list.
Untuk memasukkan program ke dalam IC Mikrokontroler, pastikan
bahwa alat telah terhubung dengan komputer. Untuk memasukan program ke
dalam Mikrokontroler digunakan software AEC_ISP.exe. File yang akan kita
isikankedalamICMikrokontroleradalah filedenganekstensi.HEX.Kemudian
kita menset software sesuai dengan mikrokontroler yang digunakan seperti
gambardibawahini:
Gambar4.3SetupAEC_ISP
24
Lalu akan muncul pilihan device, kita pilih yang AT89S51, lalu pilih
save setup, tekan enter. Lalu untuk mengambil file yang berekstensi .hex tadi,
padatampilaninputfilenameketikkannamafilediikuti.hexsepertipadagambar
berikut:
Gambar4.4MemanggilFile .HEX
Setelah kita menekan tombol enter dan akan kita dapatkan hasil file
yangtelahdiload.Kemudiantekanenterlagi.Setelahitukitamerubahresetdulu
menjadilow,sepertigambardibawahini:
Gambar4.5ResetProgram
25
Gambar4.6PerintahProgramkeICMikrokontroler
Gambar4.7ProsesProgram
4.2PengujianAlat
4.2.1PengujianRangkaianSaklarPengambilanKartu(Optocoupler)
A. Tujuannyauntukmengetahuiapakahsaklarsensoroptocouplerberfungsi.
B. Peralatan yang dibutuhkan LED, saklar optocoupler, resistor 10K dan 300
ohm, dan catu daya 5 volt. Gambar 4.1 memperlihatkan rangkaian penguji
masukandata
26
Gambar4.8Rangkaian SaklarPengambilanKartu(Optocoupler)
C. LangkahPengujian
1. Melihatkondisi LEDpadasaatsensorterhalang.
2. Melihatkondisi LEDpadasaatsensortidakterhalang.
D. HasilPengujian
SetelahdilakukanpengamatandiperolehhasilsepertiditunjukkanpadaTabel
4.1.
Tabel4.1HasilPengujianrangkaianmasukandata
SensorOptocoupler
LED
Terhalang
Menyala
Tidakterhalang
Mati
E. Analisis
Saklar pengambilan kartu (optocoupler) sudah dapat bekerja untuk memberi
kondisibahwaadanasabahyangmasuk/mengantri.
4.2.2 PengujianRangkaianSaklarPanggil
A. Tujuannya untuk mengetahui apakah masingmasing saklar push button
berfungsi.
B. Peralatan yang dibutuhkan LED, saklar push button dan catu daya 5 volt.
Gambar4.2memperlihatkanrangkaiansaklarpanggil.
27
Gambar4.9RangkaianSaklarPanggil
C. LangkahPengujian
1. Melihatkondisi LEDpadasaatsaklarterputus(off).
2. Melihatkondisi LEDpadasaatsaklarterhubung(on).
D. HasilPengujian
SetelahdilakukanpengamatandiperolehhasilsepertiditunjukkanpadaTabel
4.2.
Tabel4.2HasilPengujianrangkaianmasukandata
Saklar1
Saklar2
Saklar3
LED
Off(terputus)
Off(terputus)
Off(terputus)
Mati
On(terhubung)
On(terhubung)
On(terhubung)
Nyala
E. Analisis
Saklarpanggil sudahdapatbekerjauntukmemberikondisibahwaadanasabah
yangdipanggil.
28
Gambar4.10Rangkaianpengujiidentitastiapkaki7segment
C. LangkahPengujian
1. Menghubungkan kaki ke 3/8 pada Vcc (+5 V) dan salah satu kaki pada
tegangannegatif.
2. MelihatperubahandaerahnyalaLEDsetiapperubahankakinegatif.
D. HasilPengujian
SetelahdilakukanpengamatandiperolehhasilsepertiditunjukkanpadaTabel
4.3.
Tabel4.3Pengujianpenampil 7segment
CatudayaGNDpadakaki
1
2
3
4
5
6
7
8
9
10
Ledyangmenyala
E
D
Anoda
C
Dot
B
A
Anoda
F
G
E. Analisis
Dengan mencatusinyalrendahpadakaki7 segment maka,akan menyalakan
masingmasing LED. Dengan demikian pembentukan angka 0 9 dapat
dilakukandenganmembericatupadaLED masingmasingkaki 7segment.
29
Gambar4.11RangkaianpengujiTriger7segment
C. HasilPengujian
SetelahdilakukanpengamatandiperolehhasilsepertiditunjukkanpadaTabel
4.4.
Tabel4.4Pengujian Triger7segment
Inputsaklar
Emitor
Kolektor
7segment
Keterangan: H=saklarON,1=ON
L=saklarOFF,0=OFF
D. Analisis
Ketika input saklar ditekan, maka 7 segment akan hidup karena arus emitor
masuk ke kolektor, sebaliknya 7 segment tidak akan hidup karena tidak ada
arus yang masuk ke 7 segment. Hal ini disebabkan karena karakteristik dari
TR9012yangberfungsisebagaisaklar.
30
4.2.5 PengujianRangkaianBuzzer
A. Tujuannya untuk mengetahui apakah rangkaian keluaran suara (buzzer)
berfungsi.
B. Peralatan yang dibutuhkansaklar push button , resistor(4K7 dan 300 ohm),
LED, TR 9012, sumber tegangan, dan buzzer. Gambar 4.5 memperlihatkan
rangkaian buzzer.
Gambar4.12RangkaianBuzzer
C. LangkahPengujian
1. Tekansaklarpushbutton.
2. Mengamatidanmendengarkansuarayangkeluardari speaker.
D. HasilPengujian
SetelahdilakukanpengamatandiperolehhasilsepertiditunjukkanpadaTabel
4.5.
Tabel4.5 PengujianRangkaian Buzzer
SaklarPushButton Buzzer
Terhubung
Bunyi
Terputus
Mati
E. Analisis
Rangkaian buzzer sudah dapat bekerja untuk memberi tanda berupa suara
bahwaadanasabahyangdipanggil.
31
BABV
PENUTUP
5.1Kesimpulan
Dengan hasil perancangan dan pembuatan alat pemanggil antrian
menggunakan mikrokontroler 89S51 diperoleh beberapa kesimpulan sebagai
berikut:
1. pemanfaatan teknologi mikrokontroler 89S51 dan penampil 7 segment
cukup ekonomis untuk membuat alat pemanggil antrian, karena
mikrokontroler 89S51 lebih murah dan telah memadahi dibandingkan
mikrokontroler jenis sesudahnya (89S52/89S53), namun dalam
penerapannya penggunaan 7 segment perlu digunakan yang berukuran
besar bila perlu dot matrik dapat digunakan agar penampil dari alat ini
dapatterlihatdenganjelas
2. dari hasil pengujian rangkaian diperoleh alat pemanggil antrian
menggunakanmikrokontroler89S51dapatberfungsidenganbaik
5.2Saran
Dalam pembuatan dan pengembangan alat antrian ini, untuk
kesempurnaanlebihlanjut,disarankanhalhalsebagaiberikut:
1. agar lebih menarik, tampilan dapat dikembangkan dengan dot matrik
untuk tulisan identitas fungsi masingmasing tampilan atau penggunaan
LCDuntukmengganti 7segment
2. penggunaan IC perekam suara (keluarga ISD) untuk memperjelas nomor
antrianyangdipanggilbesertanomorloketyangakanmelayani
32
32
DAFTARPUSTAKA
Darmawan, Arif, 2004, Perancangan dan Pembuatan Alat Penampil Antrian
Bank Bersuara Menggunakan Mikrokontroler 8031, Universitas
MuhammadiyahSurakarta,Surakarta.
http:\\www.elektronikelektronik.blogspot.com
33
BABV
PENUTUP
5.1Kesimpulan
Dengan hasil perancangan dan pembuatan alat pemanggil antrian
menggunakan mikrokontroler 89S51 diperoleh beberapa kesimpulan sebagai
berikut:
3. pemanfaatan teknologi mikrokontroler 89S51 dan penampil 7 segment
cukup ekonomis untuk membuat alat pemanggil antrian, karena
mikrokontroler 89S51 lebih murah dan telah memadahi dibandingkan
mikrokontroler jenis sesudahnya (89S52/89S53), namun dalam
penerapannya penggunaan 7 segment perlu digunakan yang berukuran
besar bila perlu dot matrik dapat digunakan agar penampil dari alat ini
dapatterlihatdenganjelas
4. dari hasil pengujian rangkaian diperoleh alat pemanggil antrian
menggunakanmikrokontroler89S51dapatberfungsidenganbaik
5.2Saran
Dalam pembuatan dan pengembangan alat antrian ini, untuk
kesempurnaanlebihlanjut,disarankanhalhalsebagaiberikut:
3. agar lebih menarik, tampilan dapat dikembangkan dengan dot matrik
untuk tulisan identitas fungsi masingmasing tampilan atau penggunaan
LCDuntukmengganti 7segment
4. penggunaan IC perekam suara (keluarga ISD) untuk memperjelas nomor
antrianyangdipanggilbesertanomorloketyangakanmelayani
34
DAFTARPUSTAKA
Darmawan, Arif, 2004, Perancangan dan Pembuatan Alat Penampil Antrian
Bank Bersuara Menggunakan Mikrokontroler 8031, Universitas
MuhammadiyahSurakarta,Surakarta.
http:\\www.elektronikelektronik.blogspot.com
35
LAMPIRAN
36
37
SPESIFIKASI
Rangkaianalatpemanggilantrianinitersusunatasbeberapakomponen,
adapunkomponenkomponentersebutadalahsebagaiberikut:
1.
Rangkaiansaklarpengambilankartu.
a. Resistor3001buah.
b. Resistor10K1buah.
c. Optocoupler1buah.
2.
Rangkaiansaklarpanggil.
a. Saklarpushbutton3buah.
3.
Rangkaianmikrokontroler89S51.
a. ICAT89S511buah.
b. SocketIC40kaki1buah.
c. Kapasitor30pF2buah.
d. Kapasitor10pF/16V1buah.
e. Cristalpembangkitdetak12MHz1buah.
f. Resistor3001buah.
g. Resistor10K1buah.
h. Socketmolek8pin3buah.
i. LED1buah.
4.
Rangkaiandisplay7segment.
a. SocketIC40kaki2buah.
b. Socketmolek4pin4buah.
c. Resistor10K8buah.
d. Resistor4K78buah.
e. Resistor4708buah.
f. Tr90128buah.
g. 7segment5buah.
38
5.
Rangkaian buzzer.
a. Buzzer1buah.
b. Resistor4K71buah.
c. Tr90121buah.
d. LED1buah.
e. Resistor4K71buah.
39
Loket1
Loket2
Loket3
Optocoupler
300
+5V
4k7
10k
300
30pF
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
10k
12MHz
30pF
AT89S51
39
38
37
36
35
34
33
32
30
29
28
27
26
25
24
23
22
21
8x10k
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
ALE/Prog
PSEN
P3.0
P2.7
P3.1
P2.6
P3.2/int0
P2.5
P3.3/int1
P2.4
P3.4/T0
P2.3
P3.5/T1
P2.2
P3.6
P2.1
P3.7
P2.0
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
9
R s t
XTA L
18
10uF/16V
3 1
E A / Vp p
XTA L
19
9012
4 0
Vc c
G n d
20
Buzzer
40
8x470
8x4k7
Display_Sevent_Seqment
8x9012
+5V
LISTINGPROGRAM
====================
=ProgramAntrian=
====================
$MOD51
keluar EQUP2
digit
EQUP0
DSEG
ORG30h
antrian
:DS1
loket
:DS1
jumlah
:DS1
antrian_p
:DS1
antrian_s
:DS1
loket_s
:DS1
jumlah_p
:DS1
jumlah_s
:DS1
detak
:DS1
CSEG
ORG00h
JMPawal
ORG0Bh
JMPtimer0
awal: MOVantrian,#00h
MOVloket,#00h
MOVjumlah,#00h
41
MOVDPTR,#angka
MOVTMOD,#01h
MOVTH0,#HIGH(50000)
MOVTL0,#LOW(50000)
MOVdetak,#21d
MOVIE,#82h
MOVR4,#05d
SETBP3.6
masuk: JNBP3.2,loket1
DJNZR4,terus
INCjumlah
MOVR4,#20d
JMPterus
loket1: JBP3.5,loket2
DJNZR4,terus
INCantrian
DECjumlah
MOVloket, #01d
CLRP3.6
SETBTR0
MOVR4,#20d
JMPterus
loket2: JBP3.4,loket3
DJNZR4,terus
INCantrian
DECjumlah
MOVloket,#02d
CLRP3.6
SETBTR0
MOVR4,#20d
42
JMPterus
loket3: JBP3.3,loket4
DJNZR4,terus
INCantrian
DECjumlah
MOVloket,#03d
CLRP3.6
SETBTR0
MOVR4,#20d
JMPterus
loket4: NOP
terus:
MOVA,antrian
konversiantrian
MOVB,#10d
DIVAB
MOVantrian_p,A
MOVantrian_s,B
MOVA,loket
konversiloket
MOVB,#10d
DIVAB
MOVloket_s,B
MOVA,jumlah
konversijumlah
MOVB,#10d
DIVAB
MOVjumlah_p,A
MOVjumlah_s,B
MOVA,jumlah_s
keluarkanjumlahsatuan
MOVCA,@A+DPTR
43
MOVkeluar,A
MOVdigit,#01111111b
CALLtunda
MOVA,jumlah_p
keluarkanjumlahpuluhan
MOVCA,@A+DPTR
MOVkeluar,A
MOVdigit,#10111111b
CALLtunda
MOVkeluar,#0FFh
MOVdigit,#11111111b
CALLtunda
MOVkeluar,#0FFh
MOVdigit,#11111111b
CALLtunda
MOVA,loket_s
keluarkanloketpuluhan
MOVCA,@A+DPTR
MOVkeluar,A
MOVdigit,#11110111b
CALLtunda
MOVkeluar,#0FFh
MOVdigit,#11111111b
CALLtunda
MOVA,antrian_s
keluarkanantriansatuan
MOVCA,@A+DPTR
MOVkeluar,A
44
MOVdigit,#11111101b
CALLtunda
MOVA,antrian_p
keluarkanantrianpuluhan
MOVCA,@A+DPTR
MOVkeluar,A
MOVdigit,#11111110b
CALLtunda
JMPmasuk
tunda:
MOVR6,#10d
tunda3mS
tunda1:MOVR7,#150d
DJNZR7,$
150*2uS=300uS
DJNZR6,tunda1
300*10=3mS
RET
angka: DB84h,0DEh,0A2h,0C2h,0D8h,0C1h,81h,0D6h,80h,0C0h
timer0: MOVTH0,#HIGH(50000)
MOVTL0,#LOW(50000)
DJNZdetak,lanjut
MOVdetak,#21d
SETBP3.6
CLRTR0
MOVR4,#05d
lanjut: RETI
END
45