Anda di halaman 1dari 42

1

RANCANG BANGUN HURUF BERJALAN BERBASIS MICROCONTROLER IC AT89S51

TUGAS AKHIR

Disusun Untuk Memenuhi Salah Satu Syarat Untuk Memenuhi Pendidikan Diploma-III Program Studi Teknik Komputer

Oleh :

A B R O N I

NIM : 040302002

Studi Teknik Komputer Oleh : A B R O N I NIM : 040302002 AKADEMIK MANAJEMEN

AKADEMIK MANAJEMEN INFORMATIKA KOMPUTER P O L I B I S N I S M E D A N 2 0 0 7

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

2
2

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

3

2. Membuat

display

Runing

Text

untuk

menampilkan

tulisan

berjalan

bebasis mikrokontroler AT89S51.

 

3. Mempelajari,

mengembangkan,

dan

menerapkan

mikrokontroler

AT89S51

sebagai

kebutuhan

masyarakat

reklame yang bersifat informasi.

1.3 Batasam Masalah

dalam

dunia

advertising/

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.

4

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

pengembangan lebih lanjut.

memungkinkan

untuk

BAB II

5
5

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

6

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

7

dipakai,

pena-pena

serbaguna.

ini

dapat

digunakan

sebagai

port

parallel

8

bit

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 V SS 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.

8

Konfigurasi pena-pena IC mikrokontroler AT89S51 dapat dilihat pada

gambar 2.1:

IC mikrokontroler AT89S51 dapat dilihat pada gambar 2.1:         1 40   2
   
     
     
 
 

1

40

 

2

39

 

3

38

 

4

37

 

5

36

 

6

35

 

7

34

 

8

33

   

AT89S51

 

9

32

 

10

31

 
 

11

30

 
 

12

29

 
 

13

28

 

14

27

 

15

26

 
 

16

25

 
 

17

24

 
 

18

23

 
 

19

22

 

D

20

21

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

RST

RXD/P3.0

TXD/P3.1

INTO/P3.2

INT1/P3.3

T0/P3.4

T1/P3.5

W R/P3.6

RD/P3.7

XTAL

2

XTA1L

GN

VCC

P0.0/AD0

P0.1/AD1

P0.2/AD2

P0.3/AD3

P0.4/AD4

P0.5/AD5

P0.6/AD6

P0.7/AD7

EA/VPP

ALE/PROG

PSEN

P2.7/A15

P2.6/A14

P2.5/A13

P2.4/A12

P2.3/A11

P2.2/10

P2.1/A9

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

9

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.

10

XTAL 2 sebagai keluaran dari rangkaian osilator.

2.1.2 Blok Diagram Mikrokontroler AT89S51

Blok diagram mikrokontrol AT89S51 diperlihatkan pada gambar 2.2 :

diagram mikrokontrol AT89S51 diperlihatkan pada gambar 2.2 : Gambar 2.2. Blok Diagram IC Mikrokontroler 2.1.3. Memori

Gambar 2.2. Blok Diagram IC Mikrokontroler

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

11

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.

12

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.

13

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-

14

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.

15

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

16

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.

17

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.

18

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 A V LED K
Vin
A
V LED
K

19

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

nantinya

akan

memerlukan

112

buah

LED.

Ke

LED, jadi dalam displaynya

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.

20

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

 
 

V DD

 

EO

O 4

O 5

O 6

O

7

O S’

O S

HEF 4094B  

HEF 4094B

 
 

STR

D

CP

O 0

O 1

O

2

O 3

V

SS

 

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

STAGE0S STAGE1STO6 STAGE7S D O D D o D o O S Cp Cp FF
STAGE0S
STAGE1STO6
STAGE7S
D
O
D
D
o
D
o
O
S
Cp
Cp
FF
FF
1
8
D
o
O
CP
S
CP
Cp
latch
D
o
D
o
Cp
Cp
latch
latch
STR
EO
O 0
O 1 O 2
O 3
O 4 O 5
O 6
O 7

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

21

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 (QP 0 ke

QP 7 ). 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 (Q S1 dan Q S2 ) dapa dipakai pada perbandingan sebuah

shift dari alat 4094. Data dapat dipakai pada Q S1 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 Q S2 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

22

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

23

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.

24

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.

25

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

memutar setiap bit pada akumulator satu posisi ke kanan. BAB III PERANCANGAN SISTEM 3.1. Perancangan Block

26

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.

5 V
5 V
block diagram running text ini sperti pada gambar 3.1. 5 V Mikrokontroler AT89S51 Program 8 Stage
block diagram running text ini sperti pada gambar 3.1. 5 V Mikrokontroler AT89S51 Program 8 Stage

Mikrokontroler

AT89S51

ini sperti pada gambar 3.1. 5 V Mikrokontroler AT89S51 Program 8 Stage Shift and Bus Register

Program

sperti pada gambar 3.1. 5 V Mikrokontroler AT89S51 Program 8 Stage Shift and Bus Register (IC

8 Stage Shift and Bus Register (IC HEF 4094)-

Program 8 Stage Shift and Bus Register (IC HEF 4094)- Display (7 x 16LED) Gambar 3.1

Display

(7 x 16LED)

Shift and Bus Register (IC HEF 4094)- Display (7 x 16LED) Gambar 3.1 Diagram Block Huruf

Gambar 3.1 Diagram Block Huruf Berjalan Berbasis Mikrokontroler AT89S51

1.

Fungsi masing-masing Block:

25

Mikrokontroler : berfungsi sebagai pengolah data yang dikirim pada

display

sekaligus

menyimpan

data

tersebut

dalam

flash PEROM mikrokontroler AT89S51.

27

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)

dapat dibaca.

yang

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:

28

5V 1 40 2 39 3 38 4 37 5 36 6 35 7 34
5V
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
RESET
9
32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
11 ,0592 MHz
18
23
19
22
20
21
Ke pin 2 IC 4094
10k
10 UF /
8 x 10k
8 x 10k
25v
30 PF
30 PF
AT89S51
8 x 10k
8 x 10k

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

29

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

matriks, seperti pada gambar 3.3:

5Volt 11 12 1 16 13 4 5 Data 2 Clock 3 6 8 7
5Volt
11
12
1
16
13
4
5
Data
2
Clock
3
6
8
7
10
Ke pin 2 IC
HEF 4094
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

30

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

31

Kolom

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.6 menunjukan cara pembentukan karakter “S”. D7 D6 D5 D0 D1 D3 D2 1 2

D7

D7
D7
D7
D7
D7

D6

D6
D6
D6
D6
D6

D5

D5
D5
D5
D5
D5

D0

D0
D0
D0
D0
D0

D1

D1
D1
D1
D1
D1

D3

D3
D3
D3
D3
D3

D2

D2
D2
D2
D2
D2

1

2

3

4

5

D7 D6 D5 D0 D1 D3 D2 1 2 3 4 5 Baris Gambar 3.5. Display

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

32

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

Baris

 

1

2

3

4

 

5

Data

 

011

000 101

 

000

101

 

101

000

010

 

Biner

0

1 0

1

0

0001

0

1

1

0010

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

33

Acall kirim

Mov a,#00h

Acall kirim

ret

;---------------------------------------------

;Delay

;---------------------------------------------

Delay:

Mov R7,#0ffh

Dly:

Mov R6,#0ffh

Djnz R6,#$

Djnz R7,#Dly

Ret

34
34

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 :

Downloader

ditunjukkan pada gamabar 4.1 dibawah ini : Downloader PC PROGRAM Mikrokontroler AT89S51 Display (7 x 16)

PC

ditunjukkan pada gamabar 4.1 dibawah ini : Downloader PC PROGRAM Mikrokontroler AT89S51 Display (7 x 16)

PROGRAM

pada gamabar 4.1 dibawah ini : Downloader PC PROGRAM Mikrokontroler AT89S51 Display (7 x 16) Gambar

Mikrokontroler

AT89S51

Display (7 x 16)

dibawah ini : Downloader PC PROGRAM Mikrokontroler AT89S51 Display (7 x 16) Gambar 4.1 Blok Diagram

Gambar 4.1 Blok Diagram Pengujian Alat

33

35

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

program yang dapat menjalankan huruf berjalan (Runing Text). Gambar 4.2 Tampilan Langkah membuka menu editor 8051

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

36

36 Gambar 4.3 Tampilan menu editor 8051 IDE Gambar 4.4 Tampilan menu editor 8051 IDE Penyimpanan

Gambar 4.3 Tampilan menu editor 8051 IDE

36 Gambar 4.3 Tampilan menu editor 8051 IDE Gambar 4.4 Tampilan menu editor 8051 IDE Penyimpanan

Gambar 4.4 Tampilan menu editor 8051 IDE Penyimpanan Program

37

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 :

seperti yang ditunjukan pada gambar 4.5 di bawah ini : Gambar 4.5 Tampilan program yang telah

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

38

38 Gambar 4.6 Menu ISP Programmer 6. Selanjutnya open file dan klik Reload File untuk mendownload

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.

File untuk mendownload program kedalam chip mikrokontroler , seperti pada gambar 4.7. Gambar 4.7. Menu ISP

Gambar 4.7. Menu ISP Reload File

39

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

IC mikrokontroler AT89S51, seperti terlihat pada gambar 4.8 Gambar 4.8 Menu ISP Penulisan Program ke dalam

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.

40

40 Gambar 4.9 Micronics ISP Hasil dari penyimpanan Program ke AT89S51 9. Matikan catu daya downloader

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

BAB V

41
41

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

42

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

lebih baik.

4. Demi kesempurnaan proyek ini penulis sangat mengharapkan masukan

dari para pembaca.