Anda di halaman 1dari 41

1

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
2

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.


3

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.


4

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
5

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
6

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.


7

Konfigurasi pena-pena IC mikrokontroler AT89S51 dapat dilihat pada

gambar 2.1:

P1.0 1 40 VCC
P1.1 2 39 P0.0/A D0
P1.2 3 38 P0.1/A D1
P1.3 4 37 P0.2/A D2
P1.4 5 36 P0.3/A D3
P1.5 6 35 P0.4/A D4
P1.6 7 34 P0.5/A D5
P1.7 8 33 P0.6/A D6

A T89S51
RST 9 32 P0.7/A D7
R X D/P3.0 10 31 E A/V P P
T X D/P3.1 11 30 A L E/P R O G
I N T O/P3.2 12 29 PSEN
I N T1/P3.3 13 28 P2.7/A1 5
T0/P3.4 14 27 P2.6/A1 4
T1/P3.5 15 26 P2.5/A1 3
W R/P3.6 16 25 P2.4/A1 2
R D/P3.7 17 24 P2.3/A1 1
X T A2L 18 23 P2.2/1 0
X T A1 L 19 22 P2.1/A9
G N D 20 21 P2.0/A8

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

 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 Pengganti


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

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


9

 XTAL 2 sebagai keluaran dari rangkaian osilator.

2.1.2 Blok Diagram Mikrokontroler AT89S51

Blok diagram mikrokontrol AT89S51 diperlihatkan pada gambar 2.2 :

Gambar 2.2. Blok Diagram IC Mikrokontroler

2.1.3. Memori Program AT89S51

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
10

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.

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.


11

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

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

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

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

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

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

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

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
15

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

dengan isi THx, setelah reload isi THx tidak akan berubah. Operasi mode

ini juga sama dengan timer / counter 0.

d. Mode 3.
16

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

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

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.

Vin

V LED

K
18

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

baris demi baris dengan cepat sesuai dengan data karakter yang tersimpan dalam

flash PEROM mikrokontroler.


19

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

16 15 14 13 12 11 10 9
VDD EO O4 O5 O6 O7 OS’ OS

HEF 4094B

STR D CP O0 O1 O2 O3 VSS
1 2 3 4 5 6 7 8

Gambar 2.4. Konfigurasi pin-pin IC 4094B

Diagram logic bagian dalam IC HEF 4094 seperte ditunjukan pada

gambar 2.5

S T A G E 0S S T A G E 1S T O 6 S T A G E 7S
D O
D D o D o OS
C p FF C p FF
1 8

CP D o OS
CP Cp
la tc h

D o D o
Cp Cp
la tc h la t c h

STR

EO

O0 O 1 O2 O3 O 4 O 5 O 6 O7

Gambar 2.5. Diagram Logic IC HEF4094B

IC HEF 4094 adalah sebuah alat pintu gerbang CMOS yang memiliki

kecepatan tinggi dan mempunyai pin yang dapat di hubungkan dengan 4094 dari
20

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


21

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

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.


22

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.

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


23

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.

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

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.

BAB III

PERANCANGAN SISTEM

3.1. Perancangan Block Diagram Alat


25

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.

5V

8 Stage Shift and


Mikrokontroler Bus Register
AT89S51 (IC HEF 4094)-
Display

(7 x 16LED)

Program

Gambar 3.1 Diagram Block Huruf Berjalan Berbasis Mikrokontroler AT89S51

Fungsi masing-masing Block: 25

1. Mikrokontroler : berfungsi sebagai pengolah data yang dikirim pada

display sekaligus menyimpan data tersebut dalam

flash PEROM mikrokontroler AT89S51.


26

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:
27

5V

10 UF /

1 40
25v

2 39
3 38
8 x 10k

4 37
5

8 x 10k
36
6 35
7 34
8 33
RESET AT89S51
9 32
10 31
11 30
12 29
13 28
8 x 10k

14 27
10k

15 26
16 25 8 x 10k
17 24
11,0592 MHz
18 23
30 PF

19 22
30 PF

20 21
Ke pin 2 IC 4094

Ke pin 3 IC 4094

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


28

maksimum 4 karakter (huruf) sekali tampil pada display. Rangkaian dasar LED

matriks, seperti pada gambar 3.3:

5Volt

11

1 12

16
13

HEF 4094
4

Data 2 5

Clock 3
6

8
7
10 Ke pin 2 IC
HEF 4094

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
29

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:

mulai

panggil rutin
data huruf

tidak kirim data


huruf ke A

ya

A,=0

copy data
A ke sbuf
ya
tidak
TI=1

Gambar 3.4. Flow Chart Program Runing Text


30

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”.
D7
D6
D5
Kolom
D0
D1
D3
D2

1 2 3 4 5
Baris

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


31

Tabel 3.1. Data Display Huruf Berjalan (Runing Text) karakter “S”

Baris 1 2 3 4 5
Data 000 011 101 000 101 101 000 010
0001 0010
Biner 1 0 0 1 0 0 1 1
Data
Heksa 16 H A1 H A1 H A1 H 52 H
Desimal

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_S
acall Delay
sjmp loop
;----------------------------------------------
;Program kirim data
;----------------------------------------------
Kirim:
Mov Sbuf,A
Jnb ti,$
Clr ti
Ret

;---------------------------------------------
;Data huruf
;---------------------------------------------
huruf_S:
Mov a,#16h
Acall kirim
Mov a,#A1h
Acall kirim
Mov a,#A1h
Acall kirim
Mov a,#A1h
Acall kirim
Mov a,#52h
32

Acall kirim
Mov a,#00h
Acall kirim
ret
;---------------------------------------------
;Delay
;---------------------------------------------
Delay: Mov R7,#0ffh
Dly: Mov R6,#0ffh
Djnz R6,#$
Djnz R7,#Dly
Ret
33

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 :

Mikrokontroler
Downloader AT89S51
Display
(7 x 16)

PC

PROGRAM

Gambar 4.1 Blok Diagram Pengujian Alat

33
34

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


35

Gambar 4.3 Tampilan menu editor 8051 IDE

Gambar 4.4 Tampilan menu editor 8051 IDE Penyimpanan Program


36

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


37

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


38

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.


39

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


40

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
41

3. Sebaiknya digunakan LED super ( Bening ) pada display, agar hasilnya

lebih baik.

4. Demi kesempurnaan proyek ini penulis sangat mengharapkan masukan

dari para pembaca.