Tugas Akhir Abro
-
Upload
masabroni-wae -
Category
Documents
-
view
504 -
download
0
description
Transcript of Tugas Akhir Abro
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Seiring dengan perkembangan teknologi yang sangat cepat, dimana
pada perkembangan zaman sekarang di kembangkan untuk menciptakan alat
dengan tujuan untuk mempermudah kegiatan menusia dalam kehidupan sehari-
hari.
Perkembangan teknologi mikrokontroler misalnya telah membawa era
baru dalam dunia elektronika. Salah satu bentuk penerapannya adalah pengendali
huruf berjalan (Runing Text), dimana alat ini berfungsi untuk menampilkan
informasi berupa tulisan berjalan dari kanan ke kiri menggunakan lampu LED
sebagai displaynya. Dalam perancangan alat ini, menggunkan mikrokontroler
AT89S51 sebagai pengolah data sekaligus menyimpan data-data biner yang
diperlukan untuk mengendalikan dot matriks LED sebagai output data.
Rancangan ini sangat bermanfaat dalam dunia advertising / reklame,
karena dapat menampilan tulisan berupa huruf berjalan pada display yang terdiri
dari susunan LED secara dot matriks.
1.2 Tujuan Penulisan Tugas Akhir
1. Menerapkan mikrokontroler AT89S51 sebagai pengendali huruf berjalan
(Runing Text).
1
1
2. Membuat display Runing Text untuk menampilkan tulisan berjalan
bebasis mikrokontroler AT89S51.
3. Mempelajari, mengembangkan, dan menerapkan mikrokontroler
AT89S51 sebagai kebutuhan masyarakat dalam dunia advertising/
reklame yang bersifat informasi.
1.3 Batasam Masalah
Untuk memudahkan pemahaman tentang perancangan huruf berjalan
(Runing Text) ini, penulis memberi batasan masalah sebagai berikut :
1. Display hanya dapat menampilan 4 karakter.
2. Tampilan display hanya berupa huruf.
3. Bahasa pemrograman yang digunakan sebagai software pengendali adalah
bahasa pemrogrman Assembly mikrokontroler keluarga MCS-51.
4. Jalur PCB dan komponen tidak dibahas oleh penulis.
5. Karakter yang ditampilkan hanya huruf kapital.
1.4 Sistematikan Penulisan
Adapun sistematika dalam penulisan tugas akhir ini, terdiri dari 5
BAB, dan masing-masing meliputi beberapa sub BAB, yaitu sebagai berikut :
BAB I : PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, batasan
masalah, tujuan penulisan tugas akhir dan sistematika penulisan.
2
BAB II : LANDASAN TEORI
Bab ini menjelaskan dasar-dasar teori mikrokontroler AT89S51,
pemrograman assembly, IC HEF4094 dan Dot matriks LED.
BAB III : PERNCANGAN SISTEM
Bab ini membahas rancangan diagram blok alat, rancangan sistem
minimum mikrokontroler, rancangan display dan rancangan
perangkat lunak (software).
BAB IV : ANALISIS DAN HASIL
Bab ini membahas tentang pengujian dan analisis sistem.
BAB V : KESIMPULAN DAN SARAN
Bab ini merupakan kesimpulan dari seluruh pembahasan tugas
akhir ini, serta saran-saran yang memungkinkan untuk
pengembangan lebih lanjut.
3
BAB II
LANDASAN TEORI
2.1. Penjelasan Umum Mikrokontroler AT89S51
Mikrokontroler adalah sebuah chip yang memiliki memori internal yang
dapat di tulis (diprogram) dan di hapus yang disebut namanya Flash.
Mikrokontroler dapat juga memakai memori eksternal bila kapasitas memori
internal tidak dapat menampung data yang akan disimpan. Mikrokontroler
AT89S51 merupakan versi terbaru dibandingkan dengan mikrokontroler
AT89C51 yang telah banyak di gunakan saat ini. Mikrokontroler AT89S51
merupakan mikrokontroler CMOS 8 bit dengan 4Kbyte Flash Programmable and
Erasable Read Only Memory (PEROM). Mikrokontroler ini berteknologi non
Volatile kerapatan tinggi dari Atmel yang compatible dengan keluarga
mikrokontroler MCS – 51 baik set instruksinya maupun pena-penanya.
Berikut ini adalah spesifikasi penting mikrokontroler AT89S51 :
1. Kompatible dengan keluarga mikrokontroler MCS - 51.
2. 4 Kbyte In-System Programming (ISP) flash memory dengan kemampuan
1000 kali tulis dan hapus.
3. Tegangan kerja 4-5 V.
4. Bekerja dengan rentang frekuensi 0 – 33 MHz.
5. 128 x 8 bit RAM internal.
6. 32 jalur I/0 yang dapat diprogram.
7. Tiga buah 16 bit timer / counter.
4
4
8. Saluran Full-duplex serial UART.
9. Dual data pointer.
10. Mode pemrograman ISP yang fleksibel (byte dan page moda).
11. Tersedia dengan kemasan :
- 40 – Pin DIP
- 44 – Pin PICC
- 44 – Pin PQFP.
12. Hemat catu daya dan power down modes.
13. Watch dog timer.
14. 6 buah sumber Interpsi.
2.1.1. Pena-Pena Mikrokontroler AT89S51
Susunan pena-pena mikrokontroler AT89S51 seperti gambar 2.1 dapat
dijelaskan sebagai berikut :
1. Pena 1 sampai 8 adalah port 1, merupakan port parallel 8 bit dua arah
(bidirectional) yang dapat digunakan untuk berbagai keperluan.
2. Pena 9 (reset) adalah masukan reset (aktif tinggi). Pena ini di hubungkan
dengan rangkaian power on reset yang terdiri dari sebuah resistor dan
sebuah kapasitor.
3. Pena 10 sampai 17 (port 3) adalah port parallel 8 bit dua arah yang
memiliki fungsi pengganti. Fungsi pengganti meliputi TXD (Terminate
data), RXD (Receive data), Int 0 (Interupt 0), Int 1 (Interupt 1), T0 (timer
0), T1 (timer 1), WR (Write) dan RD (Read). Bila fungsi pengganti tidak
5
dipakai, pena-pena ini dapat digunakan sebagai port parallel 8 bit
serbaguna.
4. Pena 18 (X-TAL 1) adalah pena masukan kerangkaian osilator internal,
sebuah osilator kristal atau sumber osilator dapat digunakan.
5. Pena 19 (X-TAL 2) adalah pena keluar kerangkaian osilator internal. Pena
ini dipakai bila menggunakan osilator kristal.
6. Pena 20 (Ground) di hubungkan ke VSS atau ground.
7. Pena 21 sampai 28 (port 2) adalah paralel 8 bit dua arah (bidirectional).
Port 2 ini mengirim byte alamat bila dilakukan pengaksesan memory
external.
8. Pena 29 adalah pena PSEN (Program Store Enable) yang merupakan
sinyal pengontrolan yang membolehkan program memori external masuk
ke dalam bus selama proses pemberian / pengambilan instruksi.
9. Pena 30 adalah ALE (Address Latch Enable) yang digunakan untuk
menahan alamat memori external selama pelaksanaan instruksi.
10. Pena 31 (EA). Bila pena ini diberi logika tinggi (High) mikrokontroler
melaksanakan instruksi dari ROM / PEROM ketika isi program counter
kurang dari 4096. Bila diberi logika rendah (Low), mikrokontroler akan
melaksanakan seluruh instruksi dari memori program luar.
11. Pena 32 sampai 39 (port 0) adalah port paralel 8 bit (open drain) dua arah.
Bila digunakan untuk mengakses program luar port ini akan memultipleks
alamat memori dengan data.
12. Pena 40 merupakan VCC, dihubungkan ketegangan 4-5 V.
6
Konfigurasi pena-pena IC mikrokontroler AT89S51 dapat dilihat pada
gambar 2.1:
Gambar 2.1 Susunan pena-pena IC Mikrokontroler AT89S51
Susunan pin pada mikrokontroller AT89S51 dapat dilihat pada gambar
2.1 diatas. Penjelasan untuk masing-masing pin dari mikrokontroller adalah
sebagai berikut :
Vcc digunakan sebagai catu daya
GND digunakan sebagai ground
Port 0 merupakan port paralel 8 bit dua arah. Posisi Low Significant Bit
(LSB) terletak pada pin 39 dan Most Significant Bit (MSB) terletak pada
pin 32.
7
Port 1 merupakan port paralel 8 bit dua arah. Posisi LSB terletak pada pin
1 dan
MSB terletak pada pin 8
Port 2 merupakan port paralel 8 bit dua arah. Port ini mengirim byte
alamatalamat bila dilakukan pengaksesan memori eksternal. LSB terletak
pada pin 21 dan MSB terletak pada pin 28
Port 3 merupakan port paralel 8 bit dua arah. LSB terletak pada pin 10 dan
MSB terletak pada pin 17. Port ini mempunyai beberapa fungsi khusus
seperti ditunjukkan tabel di bawah ini :
Tabel 2.1. Pin-pin khusus pada port 3 mikrokontroler AT89S51
Pin-pin pada port 3 Fungsi PenggantiPort 3.0 RXD ( port input serial )
Port 3.1 TVD ( port output serial )
Port 3.2 INT 0 ( interrupt eksternal 0 )
Port 3.3 INT 1 ( interrupt eksternal 1 )
Port 3.4 T 0 ( input eksternal timer 0 )
Port 3.5 T 1 ( input eksternal timer 1 )
Port 3.6 WR ( perintah write pada memori eksternal )
Port 3.7 RD ( perintah read pada memori eksternal )
RST ( reset) pada kondisi higt akan aktif selama dua siklus.
ALE / PROG digunakan untuk menahan alamat memori eksternal selama
pelaksanaan instruksi.
8
PSEN ( Program Store Enable ) merupakan stobe pembacaan ke memori
eksternal.
Jika EA / Vpp pada kondisi low maka mikrokontroller menjalankan
instruksi-instruksi yang ada pada memori internal.
XTAL 1 sebagai masukan dari rangkaian osilator.
XTAL 2 sebagai keluaran dari rangkaian osilator.
2.1.2 Blok Diagram Mikrokontroler AT89S51
Blok diagram mikrokontrol AT89S51 diperlihatkan pada gambar 2.2 :
9
Gambar 2.2. Blok Diagram IC Mikrokontroler
AT89S51
2.1.3. Memori Program
Memori program atau ROM (Read Only Memori) adalah tempat
penyimpanan data yang permanen. Memori program bersifat non - volatile artinya
data – data yang telah disimpan dalam suatu alamat memori tidak akan hilang
walaupun catu daya terputus. Memori program hanya dapat dibaca saja. Setelah
direset maka eksekusi dimulai dari alamat 0000h. Setiap instruksi memiliki lokasi
tetap dalam program. Interupsi menyebabkan CPU melompat kelokasi tersebut di
mana pada lokasi tersebut terdapat sub rutin yang harus dikerjakan.
2.1.4. Memori Data
Memori data atau RAM (Random Acces Memori) adalah tempat
penyimpanan data yang bersifat sementara. Memori ini bersifat Volatile yaitu data
akan hilang apabila catu daya terputus. Pada memori data dapat dilakukan
pembacaan maupun penulisan.
2.1.5. Ragister AT89S51
Register merupakan penampungan data sementara yang terletak didalam
CPU. Mikrokontroler AT89S51 mempunyai register-register sebagai berikut :
1. Accumulator (Register A)
Akumalator merupakan sebuah register 8 Bit yang menjadi pusat dari
semua operasi akumulator termasuk operasi aritmatika dan operasi logika.
2. Register B
Register ini memiliki fungsi yang sama dengan register A.
10
3. Program Counter (PC)
Pencacah program (Program Counter) merupakan sebuah rergister 16 Bit
yang selalu menunjukan lokasi memori dari instruksi yang akan di baca.
Pada saat reset atau power – Up, PC selalu bernilai 0000h dan nilai
tersebut akan bertambah setiap sebuah instruksi dip roses.
4. Data Pointer (DPTR)
Data pointer atau DPTR merupakan register 16 Bit yang terletak alamat
82h untuk DPL dan 83h untuk DPH. Biasanya digunakan untuk
mengakses data atau source code yang terletak di dalam memori eksternal.
5. Stack Pointer (SP)
Stack pointer merupakan sebuah register 8 Bit yang mempunyai fungsi
khusus sebagai penunjuk alamat atau data yang berbeda paling atas pada
operasi penumpukan (Stack) RAM.
6. Program Status Word (PSW)
Register ini berisi beberapa bit status yang mencerminkan keadaan
mikrokontroler. Defenisi dari bit-bit dalam PSW dijelaskan seperti berikut:
Table 2.2. Program Status Word
CY AC FO RS 1 RS 2 AV - P
Bit Carry Flag (CY)
Bit Carry (bit ke 8), carry akan menunjukan apakah operasi
penjumlahan mengandung borrow. Apabila operasi ini mengandung
carry, maka bit ini akan di set satu, sedangkan jika mengandung
11
borrow, maka bit ini akan diset nol. Carry dimanfaatkan sebagai bit
kedelapan untuk operasi penggeseran (shift) atau perputaran (rotate).
Bit Auxiliary Carry (AC)
Bit ini menunjukan adanya carry (sisa) dari bit ketiga menuju bit
keempat pada operasi aritmatika atau dari 4 bit terendah ke 4 bit
tertinggi.
Bit Flag (FO)
Bit ini menunjukan apakah pada hasil operasi nol atau tidak. Apabila
hasil operasinya adalah 0 maka bit diset 1 dan sebaliknya apabila hasil
operasinya 1, maka bit ini akan diset 0.
Bit Register Select (RS)
RHS dan RSL digunaka untuk memilih bank register. Delapan buah
regitster ini merupakan register serbaguna.
7. Power Control Register
Power Contol Register (PCON) terdiri atas beberapa macam bit control
dengan konfigurasi sebagai berikut :
Table 2.3 Power Control Register
SMOP - - - GFI GFO PD IDL
SMOP bernilai 1 untuk melipat gandakan baudrate saat serial port
didalankan.
General Porpose Flaq digunakan untuk aplikasi user.
Power Down bernilai 1 untuk mengaktifkan mode power down.
IDL bernilai 1 untuk mengaktifkan model ide.
12
2.1.6. Struktur Pengoprasian port
2.1.6.1 Port Input / Output.
One Chip Mikrokontroler ini memiliki 32 jalur port yang dibagi menjadi
4 buah port 8 bit. Masing – masing port ini bersifat bidirectional sehingga dapat
digunakan sebagi input atau output port : port 0, port 1, port 2, port 3, masing-
masing jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port
2 dapat digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data,
sedangkan port 2 sebagai saluran alamat sekaligus multipleks. Untuk mengakses
memory eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal
yang dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port
mengeluarkan bagian atas eksternal sehingga total alamat semuanya 16 byte.
1. Port 3.0 : Port input serial, RXD.
2. Port 3.1 : Port output serial,TXD.
3. Port 3.2 : Input interupsi eksternal, INT 0.
4. Port 3.3 : Input interupsi internal, INT 1.
5. Port 3.4 : Input eksternal untuk timer/counter, 0,
T0.
6. Port 3.5 : Input interupsi eksternal, 1, T1.
7. Port 3.6 : Sinyal tulis memori eksternal, WR.
8. Port 3.7 : Sinyal baca memori eksternal, RD.
Latch yang digunakan dapat dipresentasikan dengan Dflip-flop. Data
dari bus internal di latch saat CPU memberi sinyal tulis ke latch output diberikan
ke bus internal sebagai respon dari sinyal baca pin dari CPU. Beberapa instruksi
13
yang berfungsi membaca port mengaktifkan sinyal baca latch dan yang lain,
mengaktifkan sinyal baca pin. Port 1, Port 2, Port 3, mempunyai pull-up internal,
sedangkan port 0 sebagai input atau output open drain. Masing-masing jalur I/O
dapat digunakan sebagai input output. Bila digunakan input, port latch harus 1.
Untuk port 1, 2, dan 3, pin-pin akan di pull-up tinggi oleh pull-up internet, dan
bisa juga di pull-up rendah dengan sumber eksternal.
Port 0 tidak mempunyai pull-up internal. Pull-up hanya di gunakan saat
akses eksternal memori. Jika isi latch diatur pada keadaan 1 maka port ini akan
berimpedensi tinggi dan jika sebagai output akan bersifat open drain. Demikian
halnya dengan port 2 yang digunakan untuk multipleks data dan alamat 16 bit
sebesar 16 kbyte mempunyai konfigurasi yang sama dengan yang dimiliki port 0.
Sedangkan pada port 3 yang bisa dimanfaatkan untuk kaki control
mempunyai pengaturan fungsi keluar saja. Pada port ini dilengkapi dengan
rangkaian pull-up internal. Penggunaan port 3 dapat diamati lengsung sebagai
control langsung pada suatu tugas yang dimiliki oleh port ini.
2.1.6.2 Timer / Counter.
One chip mikrokontroler memiliki 2 timer yang dapat dikonfigurasikan
beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi reister
timer ditambahlan 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi
register akan bertambah setiap ada transisi sinyal pada pin input eksternal. Pada
pemanfaatan sebagai counter, sinyal masukan yang dimasukan dapat berupa low
level atau falling adge treger. Counter akan mencegah setiap masukan yang ada
14
sesuai inisialisasi harga awal ini berupa nilai present negatif counter mencegah
counter yang diatur sebelum counter dijalankan.
Demikian halnya dengan pemanfaatan timer yang memerlukan
inisialisasi awal berupa konstanta waktu yang menentukan sampai lama akan
terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan
frekuensi clock dari system waktu sampling dari counter untuk mencegah suatu
pulsa masukan dari luar dengan memanfaatkan control interupsi yang ada serta
pengaturan program. Sebagai tambahan pada pemilihan counter / timer, timer 0,
dan timer 1, mempunyai 4 buah modul yang dapat dipilih dengan menentukan
pasangan bit M0 dan MI pada register TMOD. Untuk pemilihan timer / counter
dikontrol dengan bit C/T di TMOD.
a. Mode 0.
Pada mode 0 ini timer register dikonfigurasikan sebagai register 13 bit. Ke
– 13 bit register tersebut terdiri 8 bit THx dan 5 bit TLx. Selama
perhitungan roll over dari semua (1 ke 0), TFx (Timer interrupt Flag) diset.
Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.
b. Mode 1.
Mode 1 adalah timer register 16 bit dan dapat generator boud rate. Operasi
mode 1 sama dengan operasi mode 0.
c. Mode 2.
Mode 2 adalah timer register dengan konfigurasi 8 bit counter (TLx) outo
relod. Overflow dari TLx tidak hanya mester TFx dapat juga mereload Tlx
15
dengan isi THx, setelah reload isi THx tidak akan berubah. Operasi mode
ini juga sama dengan timer / counter 0.
d. Mode 3.
Pada mode ini timer 1 tidak bekerja. Sedangkan timer 0 menjadi counter
yang terpisah. TL0 digunakan sebagai but kontrol untuk timer 0, C/T,
GATE, TR0, INT0 dan TF0 seolah-olah mengontrol timer 1.
2.1.7. Sistem Interupsi.
Mikrokontroler AT89S51 mempunyai 6 sumber interupsi. Dua sumber
merupakan sumber eksternal INT0 dan INT1. kedua interupsi eksternal dapat
akatif level atau aktif transisi tergantung isi INT0 dan INT1 pada register TCON.
Interupsi timer0 dan timer1 aktif pada saat timer yang sesuai mengalami roll-over.
Interupsi serial dibangkitkan dengan melakukan operasi OR dan RL dan TI. Tiap-
tiap sumber interupsi dapat enable atau disable secara software.
Tingkat prioritas semua sumber interupsi dapat diprogram sendiri-sendiri
dengan set atau clean bit. Interupsi tingkat rendah dapat diinterupsi oleh interupsi
yang mempunyai tingkat yang lebih tinggi, tetapi tidak untuk sebaliknya.
Walaupun demikian interupsi yang mempunyai tingkat lebih tinggi tidak bisa
menginterupsi yang lain.
2.1.8. Serial Interface.
Selain komunikasi data, intreupsi melalui port-port yang dimiliki
mikrokotroler juga terdapat sama untuk komunikasi secara seri yaitu sebagai shift
16
register atau sebagai Universal Asynchronous Receiver Trasmitter (UART)
tergantung pada pengaturan mode yang terdapat pada register SCON. Kedua
register penerima dan pengirim dari port serial diakses ke register SBUF.
2.2. Light Emiting Diode (LED)
LED merupakan suatu dioda dimana jika diberi arus maju akan
menghasilkan sinar (cahaya). Cahaya yang dipancarkan oleh sebuah dioda terjadi
apabila sebuah electron yang berada dipita konduksi dari sebuah semi konduktor
jatuh kedalam sebuah lubang yang berada dipuncak pita . Sehingga Eg dilepaskan.
LED biasanya digunakan untuk menunjukan status informasi kepada
pemakai. Penyaji LED terdapat dalam beberapa bentuk, tiga diantaranya adalah :
1. Penyaji LED Tunggal.
2. Penyaji LED 7 segment dan
3. Penyaji LED Matriks.
LED tunggal adalah dioda yang saturasi pada tegangannya sebesar 1,5
volt s/d 2,4 volt. Ini adalah alat yang dapat memancarkan cahaya terlihat. LED
yang paling sering di gunakan adalah LED merah. Bila arus LED bertambah
besar, maka teganganpun turut bertambah. Secara khas, arus LED sebesar 10-20
mA sudah cukup menghasilkan cahaya yang memadai untuk kebanyakan aplikasi.
Arus LED maksimum biasanya berkisar sekitar 50 mA.
17
Gambar 2.3. Rangkaian dasar LED
Pada gambar 2.3 di atas menunjukkan rangkaian umum yang sering
digunakan. Sinar yang dihasilkan pada LED tergantung dari jenis doping yang
diberikan. Jenis doping yang sering digunakan adalah Galium Arsenat ( GA Asp )
yang menghasilkan sinar infra merah. Galium Popita ( GA Asp ) menghasilkan
sinar warna merah atau kuning.
2.3 LED Matriks
LED Matriks merupakan kumpulan sumber/titik sumber cahaya ( LED )
yang tersusun menjadi sejumlah kolom dan baris . Contohnya adalah proyek TA
ini yang menggunakan matriks 7 baris x 16 kolom LED, jadi dalam displaynya
nantinya akan memerlukan 112 buah LED. Ke 112 buah LED ini dapat
menghasilkan maksimum 4 karakter tampilan sekaligus memerlukan 112 buah
LED. Ke 112 buah LED ini dapat menghasilkan maksimum 4 karakter tampilan
sekaligus.
Untuk memperagakan karakter dalam tampilan matriks LED yang
diperlukan tidak dinyalakan secara serentak. Biasanya LED-LED ini diaktifkan
18
V LED
K
A
Vin
baris demi baris dengan cepat sesuai dengan data karakter yang tersimpan dalam
flash PEROM mikrokontroler.
Tampilan karakter dalam display LED matriks yang kita rancang
nantinya adalah berbentuk perjalanan dari kanan ke kiri. Dimana tampilan ini
dimaksud agar dapat menapilkan text yang banyak dalam media yang sempit.
2.4. IC HEF 4094
Adapun konfigurasi pin-pin IC HEF 4094B seperti pada gambar 2.4
Gambar 2.4. Konfigurasi pin-pin IC 4094B
Diagram logic bagian dalam IC HEF 4094 seperte ditunjukan pada
gambar 2.5
Gambar 2.5. Diagram Logic IC HEF4094B
19
IC HEF 4094 adalah sebuah alat pintu gerbang CMOS yang memiliki
kecepatan tinggi dan mempunyai pin yang dapat di hubungkan dengan 4094 dari
seri 4000B. IC HEF 4094 adalah shift register serial to parallel 8 tahap yang
memiliki tempat penyimpanan yang digabungkan dengan masing-masing tahap
pada strobing data dari serial input (D) ke buffer parallel output 3 tahap (QP0 ke
QP7). Output parallel harus dihubungkan dengan mengarahkan ke garis alamat
bersama. Data dirubah peralihan waktu berjalan maksimal (CP).
Data tiap-tiap shift register dipindahkan keregister tempat penyimpanan
ketika input strobe (STR) tinggi. Data register tempat penyimpanan muncul pada
output apabila output memungkinkan sinyal input (OE) tinggi.
Dua serial output (QS1 dan QS2) dapa dipakai pada perbandingan sebuah
shift dari alat 4094. Data dapat dipakai pada QS1 pada tepi waktu yang berjalan
maksimal untuk memungkinkan operasi kecepatan tinggi dalam sistem
perbandingan secara bertahap yang mana waktu otomatisnya cepat. Informasi
serial yang sama dapat dipakai pada QS2 dalam tahap tepi waktu berjalan minimal
lanjutan dan untuk perbandingan alat 4094 ketika waktu otomatisnya lambat.
Table 2.4. Tabel Fungsi IC 4094
Clock Out enable Strobe Data Parallel Out Serial Output
1 0 X X OC QN QS QS
0 0 X X OC OC Q7 NC
1 1 0 X NC NC Q7 NC
1 1 1 0 0 QN-1 Q7 NC
1 1 1 1 1 QN-1 Q7 NC
20
0 1 1 1 NC NC NC Q7
2.5. Perangkat Lunak Mikrokontroler AT89S51
Secara fisik, mikrokontroler berkerja dengan membaca instruksi yang
tersimpan didalam memory. Mikrokontroler menentukan alamat dari memori
program yang akan dibaca dan melakukan proses baca data di memori. Data yang
di baca di interpretasikan sebagai instruksi. Alamat instruksi disimpan oleh
mikrokontroler di register yang dikenal dengan Program Counter (PC). Instruksi
ini misalnya program aritmatika yang melibatkan dua register. Mikrokontroler
AT89S51 memiliki sekumpulan instruksi yang sangat lengkap, yang mana
instruksi tersebut adalah bahasa assembly keluarga mikrokontroler MCS-51.
berikut ini adalah instruksi-instruksi penting mikrokontroler AT89S51/52 :
1. ACALL (Absolute Call).
Instruksi ACALL digunakan untuk memanggil subrutin program.
2. ADD (Add Imadiate Data).
Intstruksi ini akan menambah 8 bit data langsung kedalam isi akumulator
dan menyimpan hasilnya pada akumulator.
3. ADDC (Add Carry Plus Immadiate Data to Accumulator).
Instruksi ini akan menambah isi carry flag (0 atau 1) kedalam isi
akumulator. Data langsung 8 bit di tambah ke akumulator.
4. ANL (Logical and Memori ke Akumulator).
Instruksi ini meng-and-kan isi alamat data dengan isi akumulator.
5. CJNE (Compare Indirect Address to Immediate Data).
21
Instruksi ini akan membandingkan data langsung dengan lokasi memori
yang di alamati oleh register R atau akumulator A. Apabila tidak sama,
maka instruksi akan menuju ke alamat kode.
6. CLR (Clear Accumulator).
Instruksi akan mereset data akumulator menjadi 00h.
7. CPL (Complement Accumulator).
Instruksi ini akan mengkomplemen isi akumulator.
8. DA ( Decimal Adjust Accumulator).
Instruksi ini akan mengatur isi akumulator ke padanan BCD, setelah
penambahan dua angka BCD.
9. DEC (Decrement Inderect Address).
Instruksi ini akan mengurangi isi lokasi memori yang di tujukan oleh
register R dengan nilai 1, dan hasilnya disimpan pada lokasi tersebut.
10. DIV (Devided Accumulator By B).
Instruksi ini membagi isi akumulator dengan isi register B. Akumulator
barisi hasil bagi, register B berisi sisa pembagian.
11. DJNZ (Decrement Register And Jump ID Not Zero).
Instruksi ini akan mengurangi nilai register dengan 1 dan jika hasilnya
sudah 0 maka instruksi selanjutnya akan dieksekusi. Jika belum 0 akan
menuju kealamat kode.
12. INC (Increment Indirect Address).
Instruksi ini akan menambah isi memori dengan 1 dan menyimpannya
pada alamat tersebut.
22
13. JB ( Jump If Bit Is Set).
Instruksi ini akan membaca data per satu bit. Jika data tersebut adalah 1
maka akan menuju kealamat kode dan jika 0 tidak akan menuju ke alamat
kode.
14. JC (Jump If Carry Is Set).
Instruksi ini akan menguji isi caryy flag. Jika berisi 1, eksekusi menuju ke
alamat kode. Jika berisi 0, instruksi selanjutnya yang akan dieksekusi.
15. JNB ( Jum If Carry Is Not Set).
Instruksi JNB akan membaca data per satu bit. Jika data tersebut adalah 0
maka akan menuju ke alamat kode, dan jika 1 tidak akan menuju ke alamat
kode.
16. JMP (Jump To Sum Of Accumulator And Data Pointer).
Instruksi JMP memerintahkan loncat ke suatu alamat kode tertentu.
17. MOV.
Instruksi ini untuk memerintahkan pemindahan isi akumulator / register
atau data dari nilali luar atau alamat lain.
18. ORL (Logical OR Immediate Data To Accumulator).
Instruksi ini digunakan sebagai instruksi gerbang logika OR yang akan
menjumlahkan accumulator terhadap nilai yang ditentukan.
19. RET (Return From Subroutine).
Instruksi ini di gunakan untuk kembali dari suatu subrutin program ke
alamat subrutin tersebut dipanggil.
23
20. SETB (Set Bit).
Instruksi ini digunakan untuk memberikan logika 1 pada sebuah bit data.
21. CLRB (Clear Bit).
Instruksi ini digunakan untuk memberikan logika 0 pada sebuah bit data.
22. MOVX (Move Accumulator To External Memory Address By Data
Pointer).
Instruksi pop akan memindahakn isi akumulator ke memori data external
yang alamatnya ditujukan oleh isi data pointer.
23. POP (Pop Stack To Memori).
Instruksi ini akan menempatkan byte yang ditujukan oleh stack pointer ke
suatu alamat data.
24. PUSH (Push Memori On To Stack).
Insturksi ini akan menaikan stack pointer kemudian menyimpan isinya
kesuatu alamat data pada lokasi yang dituju oleh stack pointer.
25. DB (Define Byte).
Digunakan untuk memberi nilai tertentu pada memori di lokasi tersebut.
26. RL (Rotate Accumulator Left).
Instruksi ini digunakan untuk memutar setiap bit pada akumulator satu
posisi ke kiri.
27. RR (Rotate Accumulator Right).
Instruksi ini digunakan untuk memutar setiap bit pada akumulator satu
posisi ke kanan.
24
BAB III
PERANCANGAN SISTEM
3.1. Perancangan Block Diagram Alat
Sistem Huruf Berjalan (Runing Text) ini dirancang untuk menampilkan
informasi berupa tulisan berjalan dari kanan ke kiri. Hal ini berkaitan dengan
dunia elektronika karena displaynya dapat digunakan pada dunia
advertising/reklame. Rancangan ini terbagi dua bagian, yakni : sistem minimum
mikrokontroler AT89S51, dan display yang terdiri dari LED matriks 5x7. kedua
bagian ini terpisah satu sama lain yang hanya dihubungkan dengan menggunakan
kabel. Adapun block diagram running text ini sperti pada gambar 3.1.
Gambar 3.1 Diagram Block Huruf Berjalan Berbasis Mikrokontroler AT89S51
25
25
5 V
MikrokontrolerAT89S51
8 Stage Shift and Bus Register
(IC HEF 4094)-Display
(7 x 16LED)
Program
Fungsi masing-masing Block:
1. Mikrokontroler : berfungsi sebagai pengolah data yang dikirim pada
display sekaligus menyimpan data tersebut dalam
flash PEROM mikrokontroler AT89S51.
2. IC HEF 4094 : adalah register serial to paralel yang berfungsi untuk
mengubah data seri dari mikrokontroler AT89S51
menjadi data paralel dan menggeser data tersebut
pada baris berikutnya, untuk menghidupkan dan
mematikan lampu LED pada baris dan kolom sesuai
dengan data yang dikirim oleh mokrokontroler.
3. LED matriks : berfungsi untuk menampilkan karakter (huruf) yang
dapat dibaca.
3.2. Perancangan Sistem Minimum Mikrokontroler AT89S51
Mikrokontroler AT89S51 mempunyai port serial untuk komunikasi data
serial secara full-duflex, sehingga memungkinkan kita untuk memanfaatkan port
ini berhubungan dengan interfice yang dalam hal ini adalah IC HEF 4094. adapun
rangkaian sistem minimum mikrokontroler untuk runing text dapat dilihat pada
gambar 3.2:
26
Gamabr 3.2 Sistem Minimum Mikrokontroler AT89S51
3.3. Perancangan Display
LED matriks merupakan kumpulan sumber/titik cahaya LED yang
tersusun sejumlah kolom dan baris. LED matriks yang digunakan dalam tugas
akhir ini tersusun menjadi 7 baris x 16 kolom LED, jadi dalam displaynya
memerlukan 112 buah LED. Ke 112 LED tersebut dapat menghasilkan
27
maksimum 4 karakter (huruf) sekali tampil pada display. Rangkaian dasar LED
matriks, seperti pada gambar 3.3:
Gambar 3.3 Display Huruf Berjalan
Pada gambar diatas dapat kita lihat bahwa untuk membentuk satu kolom
display, memerlukan satu buah IC HEF 4094, sehingga untuk menghasilkan 4
karakter pada display dibutuhkan 16 buah IC.
Untuk memperagakan karakter dalam LED matriks yang diperlukan
tidak dinyalakan secara serentak, akan tetapi LED ini diaktifkan baris demi baris
dengan cepat sesuai dengan instruksi yang tersimpan dalam Flash PEROM
mikrokontroler AT89S51.
3.4. Perancangan Perangkat Lunak (software)
Perancangan dan pembuatan perangkatan lunak dilakukan untuk
mengendalikan perangkat keras yang telah kita buat. Perancangan dan pembuatan
28
perangkat lunak harus disesuaikan dengan perangkat keras, hal ini dimaksudkan
agar perangkat lunak dan perangkat keras bisa compatibel.
Sebelum membuat perangkat lunak terlebih dahulu kita membuat
diagram alir (Flow Chart). Diagram alir ini menggambarkan urutan pembuatan
program, dengan demikian urutan program yang kita buat lebih terarah.
3.4.1 Diagram Alir (Flow Chart)
Diagram alir program pada runing text berbasis mikrokontroler AT89S51
seperti ditujukan pada gambar 3.5 berikut ini:
Gambar 3.4. Flow Chart Program Runing Text
29
tidak
ya
tidak
ya
mulai
panggil rutin data huruf
kirim data huruf ke A
A,=0
copy dataA ke sbuf
TI=1
3.4.2. Pembentukan Karakter Huruf Berjalan (Runing Text)
Setiap karakter yang akan ditampilkan pada display adalah tulisan
berjalan dari kanan ke kiri. Untuk menampilkan sebuah huruf pada display, maka
kolom-kolom tempat tampilnya huruf tersebut harus disidupkan secara bergantian
dalam waktu yang cepat, sehingga tampak bahwa sepertinya kolom-kolom terse
but hidup secara bersamaan. Gambar 3.6 menunjukan cara pembentukan karakter
“S”.
Gambar 3.5. Display Karakter “S”
Pada gambar diatas, menunjukan pembetukan karakter “S” yang telah
ada diubah menjadi data-data biner dengan cara memberi nilai 1 pada led yang
hidup dan memberi nilai 0 pada led yang mati. Urutan pemberian nilai logika,
mulai dari D0, D1, D2, D3, D4, D5, D6 hingga D7. Data karakter “S” tersebut
seperti terlihat pada tabel 3.1
30
Tabel 3.1. Data Display Huruf Berjalan (Runing Text) karakter “S”
Baris 1 2 3 4 5Data Biner
0001 0110 1010 0001 1010 0001 1010 0001 0101 0010
Data Heksa
Desimal16 H A1 H A1 H A1 H 52 H
Jadi untuk membentuk sebuah karakter “S” , maka data yang harus
diberikan adalah 16H, A1H, A1H, A1H dan 52H. Data yang sudah ada ini
kemudian diisikan kedalam register serial buffer (SBUF) mikrokontroler
AT89S51. berikut ini adalah contoh program untuk menampilkan karakter “S” :
;Program data huruf;-----------------------------------------------Loop:
acall huruf_Sacall Delaysjmp loop
;----------------------------------------------;Program kirim data;----------------------------------------------Kirim:
Mov Sbuf,AJnb ti,$Clr tiRet
;---------------------------------------------;Data huruf;---------------------------------------------huruf_S:
Mov a,#16hAcall kirimMov a,#A1hAcall kirimMov a,#A1hAcall kirimMov a,#A1hAcall kirimMov a,#52h
31
Acall kirimMov a,#00hAcall kirimret
;---------------------------------------------;Delay;---------------------------------------------Delay: Mov R7,#0ffhDly: Mov R6,#0ffh
Djnz R6,#$Djnz R7,#DlyRet
32
BAB IV
ANALISIS DAN HASIL
4.1 Blok Diagram Pengujian Alat
Susunan alat untuk menguji display huruf berjalan secara software
adalah seperti ditunjukkan pada gamabar 4.1 dibawah ini :
Gambar 4.1 Blok Diagram Pengujian Alat
33
Downloader
PC
PROGRAM
Mikrokontroler AT89S51
Display(7 x 16)
33
4.2. Langkah – langkah Pengujian Program Huruf Berjalan (Runing Text).
Setelah tersusun alat-alat seperti gambar 4.1 maka langkah selanjutnya
adalah sebagai berikut :
1. Hidupkan catu daya sebagai pembagi arus sebesar 5 volt yang sesuai
dengan kebutuhan LED pada rangkaian huruf berjalan (Runing Text).
2. Buka menu editor 8051 IDE dan buatlah program yang dapat menjalankan
huruf berjalan (Runing Text).
Gambar 4.2 Tampilan Langkah membuka menu editor 8051 IDE
3. Setelah program selesai di ketik pada layar menu editor 8051 IDE, maka
simpanlah program yang telah selesai diketik dan buat nama file sesuai
dengan keinginan seperti pada gambar 4.3
34
Gambar 4.3 Tampilan menu editor 8051 IDE
Gambar 4.4 Tampilan menu editor 8051 IDE Penyimpanan Program
35
4. Setelah file disimpan, pilih menu Assemble yang ada pada editor 8051
IDE. Perhatikan apakah data ada yang error atau tidak, jika ada data yang
error, maka perbaikilah kesalah program hingga hasilnya tidak error,
seperti yang ditunjukan pada gambar 4.5 di bawah ini :
Gambar 4.5 Tampilan program yang telah di Assemble
5. Jika program yang dirancang tidak error, maka langkah selanjutnya adalah
mendownload program kedalam chip mikrokontroler AT89S51, dengan
cara mengklik menu ISP programmer, seperti pada gambar 4.6
36
Gambar 4.6 Menu ISP Programmer
6. Selanjutnya open file dan klik Reload File untuk mendownload program
kedalam chip mikrokontroler , seperti pada gambar 4.7.
Gambar 4.7. Menu ISP Reload File
37
7. Setelah mereload file program, langkah selanjutnya klik menu write dan
klik yes untuk menyalin program kedalam IC mikrokontroler AT89S51,
seperti terlihat pada gambar 4.8
Gambar 4.8 Menu ISP Penulisan Program ke dalam AT89S51
8. Jika program telah tersimpan kedalam chip mikrokontroler, maka akan
tampil hasilnya seperti pada gambar 4.9.
38
Gambar 4.9 Micronics ISP Hasil dari penyimpanan Program ke AT89S51
9. Matikan catu daya downloader dan chip mikrokontroler dapat dipindahkan
pada sistem minimum.
10. Lakukan pengujian mikrokontroler pada rangkaian display Huruf Berjalan
( Runing Text).
11. Maka hasil dari pengujian ini dapat menampilkan tulisan Huruf Berjalan
( Runing Text ) seperti : ” SELAMAT DATANG MAHASISWA BARU
DI JURUSAN TKM AMIK POLIBISNIS ”.
39
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah penulis menyelesaikan tulisan tugas akhir ini, perancangan,
pembuatan, hardware serta mengimplementasikan proyek ini, maka dapat di tarik
kesimpulan antara lain :
1. Software yang dirancang hanya dapat menentukan pola tampilan hardware
display
2. Alat ini dapat menampilkan sebanyak 4 karakter (huruf) sekali tampil pada
display Huruf Berjalan ( Runing Text ).
3. Satu karakter dibutuhkan LED sebanyak 35 buah.
5.2. Saran
Untuk merencanakan perangkat ini secara maksimal dan tingkat
ketelitian yang tinggi, maka perancangan selanjutnya mungkin dapat
mempertimbangkan saran berikut ini :
1. Agar tampilan proyek ini tidak hanya menampilkan text ( huruf ), maka
diperlukan penyempurnaan software sehingga nantinya display dapat
menampilakan berupa huruf, angka, dan animasi.
2. Untuk memperbanyak karakter yang ditampilkan, maka rangkaian display
dapat dimodifikasi atau ditambah besar dan panjangnya.
40
40
3. Sebaiknya digunakan LED super ( Bening ) pada display, agar hasilnya
lebih baik.
4. Demi kesempurnaan proyek ini penulis sangat mengharapkan masukan
dari para pembaca.
41