PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 BERBASIS MIKROKONTROLER MCS 51

45 

Teks penuh

(1)

LAPORAN KERJA PRAKTEK I

PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 BERBASIS MIKROKONTROLER MCS 51

Disusun Oleh

NURSYAMSU ABUBAKAR (033 21 0002) DEWAN SANTOSO (033 21 0065)

JURUSAN ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS MUSLIM INDONESIA

MAKASSAR

(2)

LEMBAR PENGESAHAN

Laporan Kerja Praktek I ini merupakan salah satu persyaratan dalam rangka penyelesaian studi pada Jurusan Elektro Fakultas Teknik Universitas Muslim Indonesia.

Nomor : 413 / B 3 / FTE-UMI / IX / 2003

Sub Bidang : Perancangan Aplikasi Mikrokontroler.

Lokasi Praktek : Laboratorium Teknik Telekomunikasi dan Digital Universitas Muslim Indonesia.

Disusun Oleh :

NURSYAMSU ABUBAKAR (033 21 0002)

DEWAN SANTOSO (033 21 0065)

Makassar, September 2003 Pembimbing Kerja Praktek

Ir. Muhammad Nawir, MT

Kepala Lab. TTD

Ir. Amir Ali, MT

JURUSAN ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS MUSLIM INDONESIA

MAKASSAR

(3)

SURAT KETERANGAN

NO : 620 / A.6 / FTE-UMI / I / 2005 Yang bertanda tangan di bawah ini menerangkan bahwa :

Nama : Ir. Amir Ali, MT.

Jabatan : Kepala Laboratorium Teknik Telekomunikasi dan Digital Menerangkan dengan sebenar-benarnya bahwa mahasiswa :

Nama/Stambuk :

NURSYAMSU ABUBAKAR (033 21 0002)

DEWAN SANTOSO (033 21 0065)

Telah melaksanakan Kerja Praktek I mulai 15 September 2003 sampai

dengan 29 September 2003 pada Laboratorium Teknik Telekomunikasi dan Digital Universitas Muslim Indonesia mengenai :

“PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 BERBASIS

MIKROKONTROLER MCS 51”

Demikian surat keterangan ini kami buat untuk diketahui dan digunakan semestinya.

Makassar, ... ... 2004 Kepala Lab. TTD

Ir. Amir Ali, MT.

LABORATORIUM TEKNIK TELEKOMUNIKASI DAN DIGITAL

JURUSAN ELEKTRO FAKULTAS TEKNIK

MAKASSAR

(4)

SURAT KETERANGAN NILAI

NO. ... / A.6 / FTE-UMI / II / 2005 Yang bertanda tangan di bawah ini menerangkan bahwa :

Nama : DEWAN SANTOSO Stambuk : 033 21 0065

Laporan Kerja Praktek ini telah diperiksa dan disetujui oleh Dosen Pembimbing pada sub program :

TEKNIK TELEKOMUNIKASI

Dan telah menyelesaikan Tugas Kerja pada :

LABORATORIUM TEKNIK TELEKOMUNIKASI DAN DIGITAL (TTD) DAN

LISTRIK DASAR DASAR DAN ELEKTRONIKA (LDE)

Sebagai syarat kelulusan dari Mata Kuliah Kerja Praktek I (Satu) dan nilai yang diperoleh :

A B C D E

Demikian keterangan ini diberikan kepadanya untuk digunakan seperlunya.

Makassar, ... Februari 2005

Diketahui Oleh, Ketua Jurusan Elektro

(Ir. Muhammad Nawir, MT.)

Dosen Pembimbing Kerja Praktek

(Ir. Amir Ali, MT.)

YAYASAN BADAN WAKAF UMI

UNIVERSITAS MUSLIM INDONESIA FAKULTAS TEKNIK JURUSAN ELEKTRO

(5)

KATA PENGANTAR

Assalamu Alaikum wr. Wb.

Puji syukur kita panjatkan kehadirat Allah SWT yang mana atas rahmat dan hidayah-Nyalah sehingga penyusun dapat menyelesaikan Kerja Praktek I (KP I) yang berjudul “PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 BERBASIS MIKROKONTROLER MCS 51” dan merupakan salah satu syarat untuk mendapatkan gelar kesarjanaan pada Jurusan Elektro Fakultas Teknik Universitas Muslim Indonesia.

Dalam penyusunan Laporan kerja Praktek I ini, penyusun telah berusaha semaksimal mungkin agar tulisan ini dapat mencapai taraf kesempurnaan, namun sebagai hamba Allah SWT yang tak luput dari kekurangan, kekhilafan dan kesalahan maka segala bentuk apapun yang terbaik selalu penyusun harapkan agar penyusunan Laporan kerja Praktek I pada kesempatan yang lain dapat lebih disempurnakan.

Penyusun menyadari bahwa dalam penyusunan Laporan Kerja Praktaek I ini masih banyak terdapat kekurangan-kekurangan, oleh sebab itu segala kritik dan saran yang sifatnya membangun demi kesempurnaan dalam penulisan Laporan Kerja Praktek I ini penyusun terima dengan senang hati. Semoga Allah SWT senantiasa meridhoi dan menyertai setiap langkah kita. Amin.

Wassalam.

(6)

DAFTAR ISI

Halaman

HALAMAN JUDUL ... i

LEMBAR PENGESAHAN ... ii

SURAT KETERANGAN ... iii

SURAT KETERANGAN NILAI ... iv

KATA PENGANTAR ... v

DAFTAR ISI ... vi

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... viii

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah... 2

1.3. Tujuan Kegiatan ... 3

1.4. Batasan Masalah ... 3

1.5. Nama Kegiatan ... 4

1.6. Sistematika Penulisan ... 4

BAB II TINJAUAN PUSTAKA ... 6

2.2 Penghitung Waktu dengan Tampilan LCD M1632 ... 11

(7)

2.3.1. Program Memori LCD M 1632 ... 17

2.3.2 Pin Out ... 20

2.3.3 Register ... 21

2.3.3.1 Register Perintah ... 21

§ Penulisan Data ke Register Perintah ... 21

§ Pembacaan Data dari Register Perintah ... 23

2.3.3.2 Register Data ... 23

• Penulisan Data ke Register Data ... 24

• Pembacaan Data dari Register Data ... 24

BAB III PERMASALAHAN... 26

BAB IV PEMECAHAN MASALAH... 28

4.1 Diagram Blok rangkaian ... 28

4.2 Perancangan Program Penghitung Waktu (Stop Watch)... 29

4.3. Program ... 29

BAB V PENUTUP ... 35

5.1. Kesimpulan ... 35

5.2 Saran – saran ... 35

(8)

DAFTAR GAMBAR

Nomor Teks Halaman

1. Blok Diagram Inti 8051 ... 6

2. Blok Diagram Penghitung Waktu dengan DST-51 ... 11

3. Saklar Start/Stop dan Reset ... 12

4. Blok Diagram Sistem Penghitung Waktu yang diatur dengan Sensor ... 13

5. Antar Muka M1632 LCD ... 13

6. Diagram Alir Program Utama ... 14

7. Diagram alir interupsi timer 0 ... 15

8. Diagram Alir Layanan Interupsi Eksternal 1 ... 16

9. DDRAM M1632 (diambil dari data sheet HD44780) ... 17

10. Hubungan antara CGROM dan DDRAM (diambil dari data sheet HD44780) ... 19

11. Pin Out M1632 LCD Hitachi ... 20

12. Timing diagram Penulisan Data ke Register Perintah Mode 4 bitInterface ... 22

13. Timing Diagram Pembacaan Register Perintah Mode 4 bitInterface. ... 23

14. Timing Diagram Penulisan Data ke Register Data Mode 4 bitInterface. ... 24

15. Timing Diagram Pembacaan Data dari Register Data Mode 4 bit Interface Antar Muka LCD dengan Mikrokontroler ... 25

16. Antar Muka dengan Modul DST-51 ... 25

17. Antar Muka dengan Modul SC-51 atau AT8951. ... 25

(9)

DAFTAR TABEL

Nomor Teks Halaman

(10)

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Seiring dengan perkembangan ilmu pengetahuan dan teknologi

khususya dalam bidang elektronika telah membawa perubahan besar dalam tatanan kehidupan manusia.

Salah satu bidang yang berkembang pesat dalam bidang elektronika

adalah teknik pengontrolan. Proses pengontrolan ini dapat dilakukan dengan berbagai macam cara seperti menggunakan potensiometer, relay dan lain sebagainya. Namun pengontrolan seperti yang disebutkan diatas memiliki tingkat keefektifan yang terbatas serta kurang efisien. Teknik pengontrolan

memiliki tingkat kerumitan yang berbeda beda baik itu yang sifatnya sedarhana sampai pada tingkat yang kompleks.

Mencermati persoalan tersebut di atas, di sinilah peranan

mikrokontroler diperlukan dan dapat dijadikan sebagai komponen utama dalam suatu pengendali atau pengontrol. Dimana mikrokontroler ini diintegresikan ke sistem – sistem lain yang memiliki unjuk kerja yang lebih tinggi dan dapat dikembangkan sebagai sistem otomatis dan pertimbangan

lain adalah dengan meluasnya pemakaian sistem mikrokentroler.

(11)

CPU, ROM, RAM, dan I/O. Dengan adanya CPU tersebut maka

Mikrokontroler dapat melakukan proses ‘berfikir’ berdasarkan program yang telah diberikan kepadanya. Mikrokontroler banyak ditemukan diperalatan elektronik digunakan sebagai pusat pengontrol peralatan – peralatan

elektronik tersebut.

Karena itulah mikrokontroler sangat populer digunakan sebagai alat kontrol atau pengendali yang tentu aja membutuhkan alat – alat tambahan yang disesuaikan dengan batasan – batasan aplikasi yang akan dikontrol

atau dikendalikan, ada beberapa hal yang merupakan bagian kecil dari aplikasi Mikrokontroler yaitu pengontrol penghitung waktu dengan tampilan LCD M 1632.

Manfaat alat yang dihasilkan dari rancang bangun ini dapat dipergunakan untuk keperluan sehari-hari, misalnya untuk arloji atau jam digital danstop watch (penghitung waktu).

1.2. Perumusan Masalah

Kerja Praktek (KP) yang kami lakukan ini mengenai Pengontrolan Penghitung Waktu dengan Tampilan LCD M 1632 Berbasis Mikrokontroler

MCS 51. Namun untuk lebih lanjutnya pengontrolan khususnya pengontrolan peralatan dengan menggunakan mikrokontroler masih terus dilakukan.

(12)

1.3. Tujuan Kegiatan

Kerja Praktek (KP) yang kami laksanakan pada Laboratorium Teknik Digital dan Laboratorium Dasar Elektronika merupakan syarat untuk menyelesaikan Program Study Strata Satu (S1) pada Sub Jurusan

Telekomunikasi dan Elektronika Jurusan Elektro Fakultas Teknik Universitas Muslim Indonesia (UMI) Makassar.

Adapun tujuan dilaksanakannya Kerja Praktek (KP) ini adalah :

1. Membuat suatu alat pengontrol penghitung waktu (stop watch) dengan

tampilan LCD M 1632 berbasis mikrokontroler.

2. Mengaplikasikan program pengontrolan yang ada dalam Mikrokontroler pada penampil LCD.

1.4. Batasan Masalah

Luasnya ruang lingkup mengenai Mikrokontroler baik dari segi

Hardware maupun dari segi Softwarenya, maka perlu kami batasi ruang lingkup masalah sesuai dengan keperluan, mengingat keterbatasan waktu dan instrumen pendukung serta kemampuan penyusun. Adapun masalah yang kami bahas adalah mengenai :

1. Penampil yang digunakan adalah LCD M 1632.

2. Pengontrolan penghitung waktu (stop watch) menggunkan kabel data dan menggunakan 2 buah saklar untuk tombol start/stop dan untuk tombol

(13)

1.5. Nama Kegiatan

Kegiatan yang dilaksanakan ini adalah Kerja Praktek 1. Peserta Kerja Praktek 1 ini adalah mahasiswa Sub Program Teknik Telekomunikasi dan Elektronika (TTE) Jurusan Elektor Fakultas Teknik Universitas Muslim

Indonesia.

1.6. Sistematika Penulisan

Untuk memberikan gambaran tenteng pokok–pokok bahasan pada

setiap bab, maka secara garis besar sistematika penulisan tugas akhir ini adalah sebagai berikut :

Bab I Pendahuluan.

Pada bab ini dikemukakan latar belakang masalah, Perumusan masalah, Tujuan penulisan, Batasan masalah, Nama kegiatan dan

Sistimatika penulisan. Bab II Teori Dasar

Pada bab ini berisi tentang teori – teori dasar tiap blok rangkaian alat pengontrolan penghitung waktu dengan tampilan LCD M1632

berbasis mikrokontroler MCS 51. Bab III Permasalahan

(14)

Bab IV Pemecahan Masalah

Pada bab ini menjelaskan tentang diagram blok rangkaian penghitung waktu dengan tampilan LCD M1632 berbasis mikrokontroler, program dan perancangan program untuk penghitung waktu (Stop Watch)

dengan tampilan LCD M1632. Bab V Penutup

(15)

BAB II

TINJAUAN PUSTAKA

2.1. Gambaran Umum MCS-51

Mikrokontroler 8051 adalah anggota dari keluarga MCS-51 yang memiliki fasilitas antara lain:

• CPU dengan kapasitas 8-bit

• Boolean processing (operasi Boolean) dalam bit (single bit logic)

• On-Chip 4 Kbyte Program Memori

• Program memori dapat diperbesar hingga 64 Kbyte

• On-Chip 128 byte Data Memori

• Data Memori dapat diperbesar hingga 64 Kbyte

• 4 buah port masing-masing 8 bit

• Dua buah Timer/ Counter 16 bit

• UART full duplex

• 5 interupsi vektor dengan 2 tingkatan prioritas

Arsitektural MCS-51 adalah sbb:

(16)

2.2 Mikroprosessor MCS 51

Mikroprosessor ideal mempunyai A saluran masikan dan B saluran keluaran. Mikroprosessor adalah suatu alat pemroses digital dan hanya mempunyai dua level tegangan yang dapat dipasang pada saluran masukan,

demikian pula pada saluan keluarannya. Kedua level tegangan tersebut adalah logikalow dan logikahigh.

Sinyal pada sluran masukan adalah data masukan mikroprosessor.

Data tersebut berasal dariswitch-switch, sensor-sensor, pengubah analog ke digital dan lain-lain.

Bus Data.

Jumlah saluran masuk (bus data) didefinisikan sebagai lebar

jejak data (word size) dari suatu mikroprosessor yang juga menentukan lebar jejak data. Saluran yang dipergunakan untuk menyalurkan data dari dan ke mikroprosessor secara kolektif disebut

bus data.

Bus Alamat.

Untuk mikroprosessor ideal, data keluaran merupakan fungsi

dari seluruh kegiatan dan masukan. Sifat dari fungsi ini ditentukan oleh program mikroprosessor.

Setiap lokasi memori mempunyai suatu alamat memori tertentu. Alamat ini biasanya ditentukan dengan notasi biner atau hexadesimal.

(17)

dahulu memilih alamat memori yang dikehendaki. Bus alamat adalah bus

untuk menentukan alamt RAM atauPort I/O yang dipergunakan.

Bus Pengendali

Di samping bus data dan bus alamat, mikroprosessor juga harus mempunyai sepernagkat bus pengendali masukan dan pengendali keluaran yang dapat dipergunakan untuk menyerempakka

operasi mikroprosessor dengan opersi rangkaian luar. Saluran-saluran pengendali ini secara kolektif merupakan bus pengendali mikroprosessor.

Bus-bus kendali yang dipergunakan pada mikroprosessor terdiri dari bus kendali eksternal seperti DMA (Direct Memori Access), RD

(Receive Data), WR, ALE, INTR dan lain-lain. Operasi pengendali ini ditentukan oleh mikroprogram dalam sebuah ROM.

Memory MCS 51

Memori dari sebuah komputer merupakan tempat untuk menyimpan program da data sebelum operasi peritungan dimulai. Selama komputer bekerja, bagian kendali dapat menyimpan sebagian

dari jawaban-jawaban di dalam memori. Karena itu memori mrupakan bagian yang paling aktif dalam sebuah komputer, peranannya tidak hanya terbatas pada penyimpanan progaram dan data saja melainkan

(18)

Semuasistem komputer memerlukan meori supaya dapat

berfungsi.untuk mikrokontroler, memori yang diperlukan berada dalam serpihan mikrokontroler itu sendiri dan dapat ditambahkan memori eksternal.

Memori mikrokontroler terbagi kedalam bagian besar yaitu : 1. Memori Volatile (mudah menguap) artinya data/ informasi akan

hilang jika catu daya terputus walaupun sesaat. Contoh memori

volatile yaitu RAM (Random Acces Memory).

2. Memori non Volatile (tidah mudah menguap) artinya data/informasi akan tetap tesimpan secara permanen walaupun catu dayanya hilang. Contoh memori non Volatile adalah ROM (Read Only

Memory) atau memori yang hanya dapat dibaca saja. Ada beberapa jenis memorinon Volatile yaitu :

PROM (Programmable ROM) adalah memori yang dapat diprogram oleh user (pemakai) tetapi hanya sekali saja. User

dapat memasukkan program dan data melalui proses pembakaran (sambungan-sambungan) pada bit-bit tertentu sampai putus dengan menggunakandengan arus besar dan

program ini akan bersifat permanen.

UV EPROM (Ultraviolet Erasable PROM) adalah memori yang dapat diprogram dan dihapus oleh user. EROM ini

(19)

disimpan dengan menggunakan EPROM Programmer.

Selanjutnya dapat dihapus dengan sinar Ultra Violet. Sinar ini dilewatkan melalui jendela serpih. Dengan kata lain terjadi pembebasan muatan pada MOSFET dan dapat diprogram

kembali secara listrik.

EEPROM (Electrically Erasable PROM) adalah memori yang dapat dihapus tapi cara penghapusannya secara listrik dan dapat diprogram kembali secara listrik pula.

Flash PEROM (Flash Programmable Erasable ROM) adalah memori yang memiliki densitas (kerapatan) yang tinggi dan kelebihannya adalah mampu menghapus hanya pada byte-byte

tertentu atau penghapusan sekaligus. Hal ini tidak dapat dilakukan oleh EEPROM dan EPROM standar.

Osilator Kristal

Beberapa kristal memiliki efek piezoelektrik, jika tegangan AC terpasang pada kristal akan bervibrasi pada frekuensi AC yang dipasang. Bahan utama yang menimbulkan efek vibrasi ini adalah

quartz,garam Rochele, dantourmaline.

Ciri-ciri yang terkenal dari kristal dibandikan dengan rangkaian

tanki IC yang diskrit adalah nilai faktor kualitasnya (Q) yang sangat

(20)

terhadap waktu, drift ini timbul oleh temperatur, usia dan sebab

lain-lain. Dalam sebuah osilator kristal dirft frekuensi dengan waktu kacil sekali, secara tipikal kurang dari seperjuta bagian (0,0001 persen) per hari.

2.3. Penghitung Waktu dengan Tampilan LCD M1632

Penghitung waktu yang dimulai dengan menekan tombolstart danstop

atau lebih dikenal dengan stop watch sudah banyak terdapat pada arloji-arloji

digital memang sudah banyak terdapat di pasaran. Namun dalam aplikasinya, sebuah sistem elektronik seringkali membutuhkan bagian penghitung waktu yang terintegrasi dengan sistem tersebut. Untuk itu dalam laporan ini akan

dibahas bagaimana kita merancang sebuah penghitung waktu dengan menggunakan Mikrokontroler MCS 51 sehingga penghitung waktu ini dapat diintegrasikan dengan perangkat elektronik lain.

MODUL DST-51

Gambar 2.2 Blok Diagram Penghitung Waktu dengan DST-51

Bila pada stop watch, proses penghitungan waktu dilakukan dengan menekan saklar start/stop dan reset pada arloji, maka pada aplikasi berikut proses penghitungan waktu juga dilakukan dengan menekan saklarstart/stop

(21)

saklar start/stop terhubung dengan P3.2/INT0 dan reset terhubung dengan

P3.3/INT1. Saat saklar S1 tidak ditekan, maka kondisi logika P3.2 adalah 1. Hal ini disebabkan karena adanya aliran arus dari resistor pull up internal yang ada pada I/O AT8951. Kondisi logika 1 akan dideteksi oleh

Mikrokontroler MCS 51 sebagai indikasi bahwa proses perhitungan waktu belum dimulai. Kondisi logika 0 sebagai indikasi bahwa proses perhitungan waktu dimulai terjadi saat S1 ditekan sehingga P3.2/INT0 terhubung dengan ground.

Demikian pula pada saklar S2 yang terhubung pada P3.3, kondisi logika 0 sebagai indikasi reset perhitungan waktu terjadi saat saklar tersebut ditekan dan P3.3 terhubung ke ground.

P3.2/INT0

Gambar 2.3 Saklar Start/Stop dan Reset

Dengan adanya proses pengendalian waktu melalui pemberian logika 0 dan 1 pada Mikrokontroler MCS 51 ini, maka proses pengendalian tersebut

tidak hanya dapat dilakukan dengan menggunakan saklar start/stop maupun

(22)

sensor di mana kedua sensor tersebut diatur agar dapat menghasilkan

keluaran berupa kondisi logika 0 dan 1 seperti halnya pada saklar.

Modul DST-51

Gambar 2.4 Blok Diagram Sistem Penghitung Waktu yang diatur dengan Sensor

VCC

Gambar 2.5 Antar Muka M1632 LCD

Gambar 2.4 menunjukkan bagian antar muka Modul LCD M1632

dengan Modul MCS 51 di mana proses antar muka dilakukan dengan mode antar muka 4 bit. Potensio 10K yang terhubung pada kaki nomor 3 LCD yang berfungsi sebagai pengatur kontras dari layar LCD.

Pada bagian perangkat lunak, secara garis besar terdiri dari 3 bagian yaitu program utama dan program layanan interupsi timer 0 dan program layanan interupsi eksternal 1. Program utama (gambar 2.6) berfungsi untuk

(23)

berada pada logika 0 (StartStop=0) maka timer 0 maupun interupsi eksternal

1 diaktifkan. Proses perhitungan waktu bekerja hingga kondisi P3.2/INT0 diubah menjadi logika 1. Pada kondisi tersebut, proses perhitungan waktu dihentikan sehingga LCD akan menampilkan hasil akhir dari perhitungan

waktu tersebut dan program akan menunggu adanya kondisi logika 0 berikutnya di mana proses perhitungan waktu akan dilanjutkan kembali.

Gambar 2.6 Diagram Alir Program Utama

Bagian layanan interupsi timer 0 adalah bagian yang melakukan penambahan dari nilaitimer. Interupsitimer 0 diatur agar terjadi setiap 10 mS dan setiap kali interupsi timer 0 terjadi, maka nilai dari variabel-variabel yang

START

Inisial LCD Reset Nilai Timer

StartStop = 0? Tidak

Start Timer 0 Aktifkan Interupsi Eksternal 1

Delay

StartStop = 1? Tidak

Stop Timer 0

(24)

menyimpan data timer akan selalu bertambah dan program akan keluar dari

layanan interupsi ini dan kembali ke program utama. Pada saat timer mencapai perhitungan 24 jam, maka program akan mereset nilai timer

sehingga proses perhitungan dimulai dari 0 kembali.

Gambar 2.7 Diagram alir interupsi timer 0

Bagian berikutnya adalah layanan interupsi eksternal 1, di mana

bagian ini berfungsi untuk mereset nilai dari variabel-variabel timer serta menampilkan nilai 0 pada perhitungan waktu di layar LCD. Proses yang dilakukan pada bagian ini (gambar 2.8) diawali dengan mengatur posisi LCD

pada posisi awal dan dilanjutkan dengan memberikan nilai 0 pada variabel-variabeltimer.

Setelah nilai pada variabel-variabel timer berubah menjadi nol, maka

isi dari variabel tersebut ditampilkan pada layar LCD oleh bagian Tampilkan Nilai Timer. Selanjutnya program akan menunggu kondisi logika INT1

Tambah waktu

24 jam?

Reset nilai timer

Keluar dari interupsi

Tidak

START

(25)

menjadi logika 1. Hal ini dilakukan agar program tetap berada pada layanan

interupsi eksternal 1 selama saklar reset yang terhubung pada INT1 masih ditekan. Saat saklar reset dilepas dan kondisi INT1 menjadi logika 1, maka program akan keluar dari layanan interupsi ini dan kembali ke program

utama.

Gambar 2.8 Diagram Alir Layanan Interupsi Eksternal 1

2.4. LCD M 1632

M1632 adalah merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya yang rendah. Modul ini dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.

Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD ini mempunyai CGROM (Character Generator Read Only Memory),

START

LCD ke posisi awal

Reset nilai timer

Tampilkan nilai timer

Tunggu INT1 = 1

Kembali dari interupsi eksternal 1

(26)

CGRAM (Character Generator Random Access Memory) dan DDRAM

(Display Data Random Access Memory).

2.4.1. PROGRAM MEMORI LCD M 6132

DDRAM

DDRAM adalah merupakan memori tempat karakter yang ditampilkan berada. Contoh, untuk karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka karakter tersebut akan tampil pada baris pertama dan

kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.

Gambar 2.9 DDRAM M1632 (diambil dari data sheet HD44780)

CGRAM

CGRAM adalah merupakan memori untuk menggambarkan pola

(27)

keinginan. Namun memori ini akan hilang saat power supply tidak aktif,

sehingga pola karakter akan hilang.

CGROM

CGROM adalah merupakan memori untuk menggambarkan pola

sebuah karakter di mana pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubah lagi. Namun karena ROM bersifat permanen, maka pola karakter tersebut tidak

akan hilang walaupun power supply tidak aktif. Pada gambar 2.10, tampak terlihat pola-pola karakter yang tersimpan dalam lokasi-lokasi tertentu dalam CGROM. Pada saat HD44780 akan menampilkan data 41H yang

(28)
(29)

2.4.2. PIN OUT

Untuk lebih jelasnya pin-pin pada LCD dapat dilihat pada tabel 2.1 berikut :

Tabel 2.1 Pin pada M1632No N ama Pin Deskripsi

No Nama Pin Deskripsi

1 VCC Tegangan + 5 Volt

2 GND Tegangan 0 Volt

3 VEE Tegangan Kontras LCD

4 RS Rgister Select, 0 = Register Perintah,1 = Register Data

5 R/W 1 = Read, 0 = Write

6 E Enable Clock LCD, logika 1 setiap kali

pengiriman atau pembacaan data

7 D0 Data Bus 0

15 Anoda (Kabel coklat untuk LCD Hitaci) Tegangan Positif backlight 16 Katoda (Kabel merah untuk LCD Hitaci) Tegangan Negatif backlight

(30)

2.4.3. REGISTER

HD44780, mempunyai dua buah Register yang aksesnya diatur dengan menggunakan kaki RS. Pada saat RS berlogika 0, maka register yang diakses adalah Register Perintah dan pada saat RS berlogika 1, maka

register yang diakses adalah Register Data.

2.4.3.1 Register Perintah

Register ini adalah register di mana perintah-perintah dari

mikrokontroler ke HD44780 pada saat proses penulisan data atau tempat status dari HD44780 dapat dibaca pada saat pembacaan data.

§ Penulisan Data ke Register Perintah

Penulisan data ke Register Perintah dilakukan dengan tujuan mengatur tampilan LCD, inisialisasi dan mengatur Address Counter

maupun Address Data. Gambar 3.5 menunjukkan proses penulisan data ke register perintah dengan menggunakan mode 4 bit interface.

Kondisi RS berlogika 0 menunjukkan akses data ke Register Perintah. RW berlogika 0 yang menunjukkan proses penulisan data akan dilakukan. Nibble tinggi (bit 7 sampai bit 4) terlebih dahulu dikirimkan

(31)

dilakukan secara 8 bit (bit 7 … bit 0) dan diawali sebuah pulsa logika 1

pada EClock.

Gambar 2.12 Timing diagram Penulisan Data ke Register Perintah Mode 4 bit Interface

M 1632 mempunyai beberapa perintah untuk tampilannya. Perintah-perintah tersebut dapat dilihat pada tabel 2.2 berikut :

Tabel 2.2 Perintah-perintah M1632

X = diabaikan

I/D 1 = Increment, 0 = Decrement

S0 = Display tidak geser

S/C 1 = DisplayShift, 0 = GeserCursor

R/L 1 = Geser Kiri, 0 = Geser Kanan DL 1 = 8 bit, 0 = 4bit

N 1 = 2 baris, 0 = 1 baris F 1 = 5x10, 0 = 5x8

D0 = Display OFF, 1 = Display ON

C0 = Cursor OFF, 1 = Cursor ON

B0 = Blinking OFF, 1 = Blinking ON

ay

ubah

yang

(32)

§ Pembacaan Data dari Register Perintah

Proses pembacaan data pada register perintah biasa digunakan untuk melihat status busy dari LCD atau membaca Address Counter. RS diatur pada logika 0 untuk akses ke Register Perintah, R/W diatur

pada logika 1 yang menunjukkan proses pembacaan data. 4 bit nibble

tinggi dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit nibble rendah dibaca dengan diawali pulsa logika 1 pada E Clock. Untuk Mode 8 bit interface, pembacaan 8 bit (nibble tinggi dan rendah)

dilakukan sekaligus dengan diawali sebuah pulsa logika 1 pada E Clock.

Gambar 2.13Timing Diagram Pembacaan Register Perintah Mode 4 bitInterface.

2.4.3.2 Register Data

(33)

akan menempatkan data tersebut ke DDRAM sesuai dengan alamat yang

telah diatur sebelumnya.

Penulisan Data ke Register Data

Penulisan data pada Register Data dilakukan untuk mengirimkan

data yang akan ditampilkan pada LCD. Proses diawali dengan adanya logika 1 pada RS yang menunjukkan akses ke Register Data, kondisi R/W diatur pada logika 0 yang menunjukkan proses penulisan data.

Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim dengan diawali pulsa logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali pulsa logika 1 pada sinyal E Clock.

Gambar 2.14Timing Diagram Penulisan Data ke Register Data Mode 4 bitInterface.

Pembacaan Data dari Register Data

Pembacaan data dari Register Data dilakukan untuk membaca

(34)

mengatur RS pada logika 1 yang menunjukkan adanya akses ke

Register Data. Kondisi R/W diatur pada logika tinggi yang menunjukkan adanya proses pembacaan data. Data 4 bitnibble tinggi (bit 7 hingga bit 4) dibaca dengan diawali adanya pulsa logika 1 pada E Clock dan

dilanjutkan dengan data 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E Clock.

Gambar 2.15Timing Diagram Pembacaan Data dari Register Data Mode 4 bit

Interface Antar Muka LCD dengan Mikrokontroler.

Gambar 2.16 Antar Muka dengan Modul DST-51.

Gambar 2.17 Antar Muka dengan Modul SC-51 atau AT8951. Modul M 1632

LCD

(35)

BAB III

P E R M A S A L A H A N

Perkembangan teknologi elektronika telah mengarah kepada teknologi mikrokontroler, yaitu sebuah komponen elektronik yang dapat bekerja sesuai

dengan program yang diisikan ke dalam memorinya seperti layaknya sebuah komputer yang sangat sederhana. Dalam sistem mikrokontroler seringkali terjadi komunikasi antara sistem yang satu dengan sistem yang lain,

contohnya antara mikrokontroler dengan PC atau sistem mikrokontroler dengan sistem mikrokontroler yang lain, bahkan untuk aplikasi yang lebih luas yaitu antara sistem mikrokontroler dengan LAN (Local Area Network).

Sistem mikrokontroler dalam aplikasinya dapat juga terdiri dari single

chip namun untuk aplikasi tertentu seringkali tidak berdiri sendiri, melainkan dapat terhubung dengan antar muka - antar muka lain seperti ADC, DAC, LCD,Keypad dan lain- lain.

Namun yang terpenting dalam membuat suatu aplikasi yang berbasis mikrokontroler teknik merancang program, yang sering seorang pembuat program menganggap sebuah program sudah selesai jika program tersebut telah berjalan dengan baik. Namun seringkali program yang dirancang, perlu

(36)

Berdasarkan permasalahan di atas Lab. Teknik Digital & Lab. Dasar

Elektronika Fakultas Teknik Jurusan Elektro Universitas Muslim Indonesia mencoba untuk mengadakan pelatihan dan kerja praktek kepada para mahasiswa yang berkeinginan mengembangkan dirinya dalam upaya untuk

(37)

BAB IV

PEMECAHAN MASALAH

4.1. Diagram Blok Rangkaian

Secara umum diagram blok sistem pengontrolan penghitung waktu

dengan tampilan LCD M 1632 berbasis mikrokontroler MCS 51 dapat dilihat pada gambar di bawah ini :

Gambar 4.1. Digram Blok rangkaian Penghitung Waktu dengan Tampilan LCD M1632 Berbasis mikrokontroler MCS 51.

Bila pada stop watch, proses penghitungan waktu dilakukan dengan

menekan saklar start/stop dan reset pada arloji, maka pada aplikasi berikut proses penghitungan waktu juga dilakukan dengan menekan saklar

start/stop maupun reset yang terhubung pada DST-51. Pada gambar tampak saklarstart/stop terhubung dengan P3.2/INT0 dan reset terhubung dengan P3.3/INT1. Saat saklar S1 tidak ditekan, maka kondisi logika P3.2 adalah 1. Hal ini disebabkan karena adanya aliran arus dari resistor pull up

(38)

Modul DST-51 sebagai indikasi bahwa proses perhitungan waktu belum

dimulai. Kondisi logika 0 sebagai indikasi bahwa proses perhitungan waktu dimulai terjadi saat S1 ditekan sehingga P3.2/INT0 terhubung dengan ground.

4.2. Perancangan Program Penghitung Waktu (Stop Watch).

Pada bagian perangkat lunak, secara garis besar terdiri dari 3 bagian yaitu program utama dan program layanan interupsi timer 0 dan program

layanan interupsi eksternal 1. Program utama berfungsi untuk mengaktifkan dan non aktifkan timer di mana hal ini dilakukan dengan mendeteksi kondisi logika dari P3.2/INT0. Saat kondisi logika P3.2/INT0 berada pada logika 0 (Start/Stop=0) maka timer 0 maupun interupsi eksternal 1 diaktifkan. Proses

perhitungan waktu bekerja hingga kondisi P3.2/INT0 diubah menjadi logika 1. Pada kondisi tersebut, proses perhitungan waktu dihentikan sehingga LCD akan menampilkan hasil akhir dari perhitungan waktu tersebut dan program

akan menunggu adanya kondisi logika 0 berikutnya di mana proses perhitungan waktu akan dilanjutkan kembali.

4.3. Program

Rutin-rutin Program untuk Modul MCS-51 yang diassembly dengan

(39)

Program Utama:

;*********

; PROGRAM UTAMA STOP WATCH ;*********

.Data

Org 50H ;Tentukan alamat awal variabel

.Code

PosisiAwal_LCD EQU 0216H

Init_LCD EQU 0237H

Kirim_Karakter EQU 0295H

StartStop Bit P3.2 ;Switch Start Stop berada di P3.2/INT0

Ajmp Timer0_Interrupt

Org ROM+13H ;External Interrupt 1 Vector

Acall ResetNilaiTimer ;Isi nilai timer

Loop:

Jb StartStop,$ ;Tunggu switch start/stop ditekan

Acall StartTimer0 ;Aktifkan timer

Setb EX1 ;

Acall Delay ;Delay anti bouncing

Jnb StartStop,$ ;Tunggu switch start/stop dilepas

(40)

;******************

; BAGIAN UNTUK MERESET NILAI TIMER DAN MENAMPILKAN 00:00:00 DI LCD ;******************

Intr1:

Clr EX1 ;Interupsi 1 dinonaktifkan

Acall ResetNilaiTimer ;Nilai timer direset

Lcall PosisiAwal_LCD ;Tampilkan 00:00:00 di LCD

Acall DisplayTimer ;

Program Untuk Pewaktu (Timer Up)

;***********************

; RUTIN UNTUK MENGAKTIFKAN TIMER ;****************

StartTimer0:

Mov StackTimer,SP ;Simpan nilai Stack Pointer

(41)

;****************

; RUTIN ISI NILAI AWAL TIMER DENGAN KEYPAD DAN TAMPILKAN DI M1632 LCD

;****************

ResetNilaiTimer:

Mov NilaiTimer+3,#00

Mov NilaiTimer+2,#00

Mov NilaiTimer+1,#00

Mov NilaiTimer,#00

Ret ;

;********************** ; HARGA AWAL TIMER 0

; - Rutin memberi harga awal nilai timer 0 yang berfungsi sebagai pre scaler ; dari timer

; - Jumlah siklus x 12/Frekwensi crystal = 10 mS ; Jumlah siklus = 10 mS x Frekwensi crystal / 12

; RUTIN INTERUPSI TIMER 0 ; - Terjadi setiap 10 ms

; - Nilai Timer berkurang setiap 10 ms ;**********************

Timer0_Interrupt:

Acall ResetTimer0

Acall TambahWaktu

Setb ET0

Reti

;*******************

; RUTIN PENAMBAHAN WAKTU DENGAN FORMASI 24 HOURS ;*******************

TambahWaktu:

Mov R0,#NilaiTimer ;Mili detik + 1 Inc @R0 ;

Mov A,@R0 ;

Cjne A,#100,TidakReset ;

(42)

Inc R0 ;Detik + 1

; TAMPILKAN NILAI TIMER KE M1632 LCD ; - Nilai timer tersimpan dalam tabel desimal ; - Formasi tabel desimal adalah:

; mili detik, detik, menit, jam ;************************************* DisplayTimer:

Push ACC

Lcall PosisiAwal_LCD

Push 0H

Push 7H

Mov R0,#NilaiTimer+3

Mov R7,#3

LoopdisplayTimer:

Mov A,@R0

Acall Konversi1bdesimal

Mov A,TabelDesimal+1

Add A,#30H

Lcall Kirim_Karakter

Mov A,TabelDesimal

Add A,#30H

Lcall Kirim_Karakter

Dec R0

Djnz R7,TampilkanTerus

Pop 07H

Pop 0H

(43)

TampilkanTerus:

Mov A,#':'

Lcall Kirim_Karakter

Ajmp LoopDisplayTimer

Program Untuk Mengkonversi Data Hexa ke Desimal

.data

TabelDesimal: Ds 3 .Code

Org $

;Subroutine Konversi Hexa 1 byte ke Desimal ;Bilangan yang dikonversi di Akumulator ;Jumlah digit yang dihasilkan disimpan di R6 ;Hasil tersimpan di Tabel Desimal

Konversi1BDesimal:

Push 00H

Push Acc

Push B

Mov R0,#TabelDesimal

Mov @R0,#00H

Ajmp LoopKonversi

(44)

BAB V P E N U T U P

5.1. Kesimpulan

Setelah kita membicarakan dan mengenal yang berhubungan

dengan mikrokontroler, diharapkan mahasiswa akan lebih membuka wahana dan pengetahuan kita dalam merencanakan perancangan aplikasi yang berbasis mikrokontroler. Untuk itu dapat kami simpulkan

bahwa :

1. Dalam perancangan sistem pada mikrokontroler penghitung waktu dengan tampilan LCD berbasis mikrokontroler dilakukan dengan menggabungkan beberapa program kecil.

2. Program yang dibuat sebaiknya dibagi dalam beberapa bagian agar mudah dalam penulisan.

3. Penulisan program haruslah terstruktur agar mudah dalam

penulusaran dan pengaplikasiannya terhadap alat yang dibuat.

5.2. Saran – saran

1. Sebaiknya mahasiswa yang memprogramkan mata kuliah kerja praktek terlebih dahulu mengetahui teori dasar yang berhubungan

(45)

DAFTAR PUSTAKA

1. http://www.alds.stts.edu/digital 2. http://www.ATMEL.COM

3. http://www.chaocun.kmilt.ac.th/~kswicit. 4. http//www.delta-electronic.com

Figur

Gambar 2.1  Blok Diagram Inti 8051
Gambar 2 1 Blok Diagram Inti 8051. View in document p.15
Gambar 2.3 Saklar Start/Stop dan Reset
Gambar 2 3 Saklar Start Stop dan Reset. View in document p.21
Gambar 2.4 Blok Diagram Sistem Penghitung Waktu yang diatur dengan Sensor
Gambar 2 4 Blok Diagram Sistem Penghitung Waktu yang diatur dengan Sensor. View in document p.22
Gambar 2.4 menunjukkan bagian antar muka Modul LCD M1632
Gambar 2 4 menunjukkan bagian antar muka Modul LCD M1632. View in document p.22
Gambar 2.6 Diagram Alir Program Utama
Gambar 2 6 Diagram Alir Program Utama. View in document p.23
Gambar 2.7 Diagram alir interupsi timer 0
Gambar 2 7 Diagram alir interupsi timer 0. View in document p.24
Gambar 2.8 Diagram Alir Layanan Interupsi Eksternal 1
Gambar 2 8 Diagram Alir Layanan Interupsi Eksternal 1. View in document p.25
Gambar 2.9 DDRAM M1632 (diambil dari data sheet HD44780)
Gambar 2 9 DDRAM M1632 diambil dari data sheet HD44780 . View in document p.26
Gambar 2.10 Hubungan antara CGROM dan DDRAM(diambil dari data sheet HD44780)
Gambar 2 10 Hubungan antara CGROM dan DDRAM diambil dari data sheet HD44780 . View in document p.28
Tabel 2.1  Pin pada M1632No N
Tabel 2 1 Pin pada M1632No N. View in document p.29
Gambar 2.11 Pin Out M1632 LCD Hitachi
Gambar 2 11 Pin Out M1632 LCD Hitachi. View in document p.29
Gambar 2.12 Timing diagram Penulisan Data ke Register Perintah Mode 4 bitInterface
Gambar 2 12 Timing diagram Penulisan Data ke Register Perintah Mode 4 bitInterface. View in document p.31
Tabel 2.2 Perintah-perintah M1632
Tabel 2 2 Perintah perintah M1632. View in document p.31
Gambar 2.13 Timing Diagram Pembacaan Register PerintahMode 4 bit Interface.
Gambar 2 13 Timing Diagram Pembacaan Register PerintahMode 4 bit Interface . View in document p.32
Gambar 2.14 Timing Diagram Penulisan Data ke Register DataMode 4 bit Interface.
Gambar 2 14 Timing Diagram Penulisan Data ke Register DataMode 4 bit Interface . View in document p.33
Gambar 2.15 Timing Diagram Pembacaan Data dari Register Data Mode 4 bitInterface Antar Muka LCD dengan Mikrokontroler.
Gambar 2 15 Timing Diagram Pembacaan Data dari Register Data Mode 4 bitInterface Antar Muka LCD dengan Mikrokontroler . View in document p.34
Gambar 2.17 Antar Muka dengan Modul SC-51 atau AT8951.
Gambar 2 17 Antar Muka dengan Modul SC 51 atau AT8951 . View in document p.34
Gambar 4.1. Digram Blok rangkaian Penghitung Waktu dengan Tampilan LCD
Gambar 4 1 Digram Blok rangkaian Penghitung Waktu dengan Tampilan LCD. View in document p.37

Referensi

Memperbarui...