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 :

ABRONI
NIM : 040302002

AKADEMIK MANAJEMEN INFORMATIKA KOMPUTER POLIBISNIS MEDAN 2007

2

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

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

pengembangan lebih lanjut.

5

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

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

8

Konfigurasi pena-pena IC mikrokontroler AT89S51 dapat dilihat pada gambar 2.1:

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6

1 2 3 4 5 6 7

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC P0.0/A D 0 P0.1/A D 1 P0.2/A D 2 P0.3/A D 3 P0.4/A D 4 P0.5/A D 5 P0.6/A D 6 P0.7/A D 7 E A/V P P A LE RO G /P PSEN P2.7/A1 5 P2.6/A1 4 P2.5/A1 3 P2.4/A1 2 P2.3/A1 1 P2.2/1 0 P2.1/A9 P2.0/A8

RXD /P3.0 TXD /P3.1 IN T O /P3.2 IN T 1/P3.3 T 0/P3.4 T 1/P3.5 WR /P3.6 RD /P3.7 X T A2L XTAL 1

10 11 12 13 14 15 16 17 18 19

G N D 20

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.

A T89S51

8 P1.7 RST 9

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 Port 3.0 Port 3.1 Port 3.2 Port 3.3 Port 3.4 Port 3.5 Port 3.6 Port 3.7 Fungsi Pengganti RXD ( port input serial ) TVD ( port output serial ) INT 0 ( interrupt eksternal 0 ) INT 1 ( interrupt eksternal 1 ) T 0 ( input eksternal timer 0 ) T 1 ( input eksternal timer 1 ) WR ( perintah write pada memori eksternal ) 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 :

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

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 • • Bit Carry Flag (CY) Bit Carry (bit ke 8), carry akan menunjukan apakah operasi RS 2 AV P

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. 2. 3. 4. 5. T0. 6. 7. 8. Port 3.5 : Input interupsi eksternal, 1, T1. Port 3.6 : Sinyal tulis memori eksternal, WR. 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. Port 3.0 : Port input serial, RXD. Port 3.1 : Port output serial,TXD. Port 3.2 : Input interupsi eksternal, INT 0. Port 3.3 : Input interupsi internal, INT 1. Port 3.4 : Input eksternal untuk timer/counter, 0,

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

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

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 VDD 15 EO 14 O4 13 O5 12 O6 11 O7 10 OS’ 9 OS

HEF 4094B STR 1 D 2 CP 3 O0 4 O1 5 O2 6 O3 VSS 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 E0 S
D

S T A G E 1 TO6 S
D O

S TAGE7 S

D o C p FF
1

D o C p FF
8

OS D o Cp
la tc h

CP

CP

OS

D o Cp
la tc h
STR EO

D o Cp
la t c h

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

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 (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 1 0 1 1 1 0 Out enable 0 0 1 1 1 1 Strobe X X 0 1 1 1 Data X X X 0 1 1 Parallel Out OC QN OC OC NC NC 0 QN-1 1 QN-1 NC NC Serial Output QS QS Q7 NC Q7 NC Q7 NC Q7 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). Instruksi akan mereset data akumulator menjadi 00h.

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. 14. JC (Jump If Carry Is Set).

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

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

Mikrokontroler AT89S51

8 Stage Shift and Bus Register (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.

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

28

5V

10 UF / 25v

1 2 3 4 5 6 7 8 9 10 11 12 13

40 39 38 37 36 35 34 33 8 x 10k Ke pin 2 IC 4094 Ke pin 3 IC 4094 8 x 10k

AT89S51

RESET

8 x 10k

32 31 30 29 28 27 26 25 24 23 22 21

8 x 10k

10k

14 15 16 17

11,0592 MHz
30 PF 30 PF

18 19 20

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

HEF 4094
8 10

4

Data Clock

2 3

5

6

7 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

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 A ke sbuf ya tidak TI=1

Gambar 3.4. Flow Chart Program Runing Text

31

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 Kolom D2 1 D3 D1 D0 D5 D6

2

3 Baris

4

5

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 Data 000 011 0 Biner 1 Data 16 H Heksa Desimal 2
101 0 000 1 101 0

3
0001 101 0

4
000 1 010 1

5
0010 52 H

A1 H

A1 H

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

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

Mikrokontroler AT89S51 Display (7 x 16)

PC

PROGRAM

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

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

Gambar 4.3 Tampilan menu editor 8051 IDE

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 :

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

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

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

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

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

41

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

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.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times