You are on page 1of 10

BAB IV

HASIL UJI COBA SIMULASI DAN ANALISA


4.1. Progam Wajib Menampilkan Pesan Via LCD
4.1.1 Kodingan Assembly

Pada source code MCU di atas, yang menjadi fokus utama adalah inisialisasi
Karakter LCD. Display karakter pada LCD diatur oleh pin EN, RS dan RW. Adapun
inisialisasi tampilan pada program untuk masing-masing pin ada pada baris 16-19 dari
program di atas, seperti RS berada pada bit 0 port 3, RW pada bit 1 port 3 dan E pada
bit 2 port 3 dan nilai D0-D7 semuanya pada port 1.
Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD
bahwa sedang terjadi proses pengiriman sebuah data. Untuk mengirimkan data ke
LCD, maka melalui program EN harus dibuat logika Low 0 yang pada program di
atas ditandai oleh CLR E lalu dimasukkan program yang ingin dijalankan, dan set
pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set
EN dengan logika High 1 dan tunggu untuk sejumlah waktu tertentu ( sesuai dengan
datasheet dari LCD tersebut ) dan berikutnya set EN ke logika Low 0 lagi.
Jalur RS adalah jalur Register Select. Ketika RS berlogika Low 0, data akan
dianggap sebagai sebuah perintah atau instruksi khusus. Ketika RS berlogika high
1, data yang dikirim adalah data text yang akan ditampilkan pada display LCD.
Sebagai contoh, untuk menampilkan huruf T pada layar LCD maka RS harus diset
logika high 1.Jalur RW adalah jalur kontrol Read/ Write.

Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan
pada layar LCD. Pada program, saat ada tulisan CLR RW maka PESAN Selamat
Wisuda Angkatan 2012!\0 (angka 0 terakhir mengindikasikan tulisan diakhiri dengan
angka 0) dikirim ke ROM yang dimulai pada 0H (diindikasikan oleh kode ORG 0).
Ketika RW berlogika high 1, maka program akan melakukan pembacaan memori
dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low 0.
Pada akhirnya, untuk mengeksekusi tulisan yang diinginkan, digunakan
perintah MOV A, @A + DPTR. Register 16-bit DPTR dan register A digunakan
untuk membentuk alamat elemen data yang terdapat pada chip ROM, dan karena data
terdapat pada ruang ROM dari 8051, instruksi MOVC yang digunakan (bukan MOV)
dimana C berarti kode. Penulisan PESAN diakhiri ketika A telah mencapai angka 0,
yang ditandai oleh fungsi CJNE A, #0, TULIS, dan program akan kembali
mengulang ke awal sesuai dengan fungsi SJMP MAIN.
4.1.2 Tampilan Hardware
Berikut adalah tampilan saat Program dijalankan
1. Tampilan awal saat belum muncul tulisan

2. Tulisan yang keluar pada display LCD dimulai dari huruf per huruf.

3. Saat tulisan telah sepenuhnya muncul, layar LCD akan terhapus dan kembali ke
tampilan semula untuk menulis pesan dari awal. Begitu sseterusnya.

4.2 Program Pilihan Dengan LED


4.2.1

Kodingan Assembly

4.2.2

Simulasi Hardware

Simple keypad:
Input dari user
(memilih huruf)

LED panel: Output program


berupa nyala LED yang
menunjukkan kode morse

Program akan membaca input yang diberikan user dengan menghubungkan


salah satu switch pada simple keypad. Input yang dapat diberikan disesuaikan dengan
huruf pada simple keypad yaitu a,b,c,d,e,f,g dan h. Output program berupa LCD
Display 2x40 yang akan menampilkan huruf yang dimasukkan pada input dan output
LED panel yang terdiri dari 8 LED, dimana kedelapan LED tersebut mewakili kode
morse dari huruf yang diinputkan.

4.2.3

Cara Kerja

Pada program disamping, P1 diberikan


input FFH sehingga P1 menjadi input
aktif. Sedangkan Register A diberikan
input FEH sehingga masuk ke dalam
mode standby. Digunakan JNB agar
saat nilai P1.X bernilai 0 akan masuk ke
subrutin

tertentu.

Digunakan

label

LJUMP karena jarak antar alamat


perpindahan cukup jauh(diatas 8 bit) sebagai
perantara pindah ke subrutin Morse.
Cuplikan program disamping adalah untuk subrutin Morse A dan Morse B.
Pada morse A, nilai P3 diberi input 20 agar
muncul tampilan a pada LED panel. Nilai
20 dalam biner yaitu 0010 000 dimana D5
akan bernilai high sehingga LED akan
mati dan sisanya akan menyala(jika nilai
High maka LED mati). Untuk P2, diberi
nilai 1FH dalam biner yaitu 0001 1111 dan
saat nilai 9FH yaitu 1001 1111 yang
menunjukkan kode morse ._
Subrutin

ini

digunakan

sebagai

perantara

antar

label(perantara Jump yang lebih dari 8 bit). Sehingga dari MAIN akan lompat ke LJMP lalu
akan berpindah ke MORSE. Lalu dari MORSE
main jika kondisi terpenuhi.
Subrutin dibawah merupakan Delay yang
digunakan agar terdapat jeda waktu

ke LJUMP dan kembali lagi ke

Misalnya saat menampilkan huruf A, LED Panel akan menghasilkan gambar

Untuk simbol titik . maka sebuah LED akan berkedap-kedip. Sedangkan untuk
simbol garis bawah _ maka dua LED akan menyala terus menurus. Dari gambar
diatas terlihat bahwa LED pertama kedap-kedip sehingga merupakan sinyal titik .
dan pada sinyal selanjutnya 2 LED menyala terus sehingga merupakan sinyal garis
_. Hal itu sesuai dengan kode morse dari huruf a yaitu ._.

Selanjutnya instruksi dari keypad ditampilkan di LCD sedangkan kode morsenya dikirimkan
dan dilihat di LED panel sesuai instruksi yag diberikan. Output pada LCD Display diperlukan
agar pengirim dapat mengetahui secara pasti apa yang dikirmkan jika pengirim tidak
mengerti sandi morse.

You might also like