Interface LCD


LCD Display Module M1632 buatan Seiko Instrument Inc. terdiri dari dua bagian, yang pertama merupakan panel LCD sebagai media penampil informasi dalam bentuk huruf/angka dua baris, masing-masing baris bisa menampung 16 huruf/angka.
Bagian kedua merupakan sebuah sistem yang dibentuk dengan mikrokontroler yang ditempelkan dibalik pada panel LCD, berfungsi mengatur tampilan informasi serta berfungsi mengatur komunikasi M1632 dengan mikrokontroler yang memakai tampilan LCD itu. Dengan demikian pemakaian M1632 menjadi sederhana, sistem lain yang M1632 cukup mengirimkan kode-kode ASCII dari informasi yang ditampilkan seperti layaknya memakai sebuah printer.


Untuk berhubungan dengan mikrokontroler pemakai, M1632 dilengkapi dengan 8 jalur data (DB0..DB7) yang dipakai untuk menyalurkan kode ASCII maupun perintah pengatur kerjanya M1632. Selain itu dilengkapi pula dengan E, R/W dan RS seperti layaknya komponen yang kompatibel dengan mikroprosesor.
Kombinasi lainya E dan R/W merupakan sinyal standar pada komponen buatan Motorola. Sebaliknya sinyal-sinyal dari MCS51 merupakan sinyal khas Intel dengan kombinasi sinyal WR dan RD..
RS, singkatan dari Register Select, dipakai untuk membedakan jenis data yang dikirim ke M1632, kalau RS=0 data yang dikirim adalah perintah untuk mengatur kerja M1632, sebaliknya kalau RS=1 data yang dikirim adalah kode ASCII yang ditampilkan.
Demikian pula saat pengambilan data, saat RS=0 data yang diambil dari M1632 merupakan data status yang mewakili aktivitas M1632, dan saat RS=1 maka data yang diambil merupakan kode ASCII dari data yang ditampilkan.
Proses mengirim/mengambil data ke/dari M1632 digambarkan sebagai berikut :

  • RS harus dipersiapkan dulu, untuk menentukan jenis data seperti yang telah dibicarakan di atas.
  • R/W* di-nol-kan untuk menandakan akan diadakan pengiriman data ke M1632. Data yang akan dikirim disiapkan di DB0..DB7, sesaat kemudian sinyal E di-satu-kan dan di-nol-kan kembali. Sinyal E merupakan sinyal sinkronisasi, saat E berubah dari 1 menjadi 0 data di DB0 .. DB7 diterima oleh M1632.
  • Untuk mengambil data dari M1632 sinyal R/W* di-satu-kan, menyusul sinyal E di-satu-kan. Pada saatu E menjadi 1, M1632 akan meletakkan datanya di DB0 .. DB7, data ini harus diambil sebelum sinyal E di-nol-kan kembali
Sinyal-sinyal M1632 yang mengikuti standar teknik interface Motorola, tidak sesuai dengan sinyal dari MCS51, dengan demikian sinyal-sinyal itu disimulasikankan melalui port MCS51
Sebagai contoh dibawah memperlihatkan hubungan AT89C2051 dengan M1632, dalam gambar tersebut P3.7 dipakai untuk mensimulasikan sinyal RS, P3.5 sebagai R/W dan P3.4 sebagai E. Lewat program dibangkitkan sinyal-sinyal pada ketiga kaki Port 3 ini, sesuai dengan pesyaratan yang dikehendaki M1632

 

Berikut adalah Potongan Program 1 AT89C2051 dengan M1632
1. 1.01: E bit P3.4 ; sinyal E di P3.4
2. 2.02: RW bit P3.5 ; sinyal R/W* di P3.5
3. 3.03: RS bit P3.7 ; sinyal RS di P3.7
4. 4.04:
5. 5.05: KirimPerintah:
6. 6.06: CLR RS ; RS=0 : register perintah
7. 7.07: SJMP OutByte
8. 8.08: ;
9. 9.09: KirimASCII:
10. 10.10: SETB RS ; RS=1 : Display Data RAM
11. 11.11: OutByte:
12. 12.12: CLR RW ; RW = '0', kirim data
13. 13.13: MOV P1,A ; siapkan data di D0..D7
14. 14.14: SETB E ; buat pulsa positip
15. 15.15: CLR E ; sesaat
16. 16.16: ;
17. 17.17: TungguDulu:
18. 18.18: ACALL AmbilStatus
19. 19.19: JB A.7,TungguDulu
20. 20.20: RET
21. 21.21: ;
22. 22.22: AmbilStatus:
23. 23.23: CLR RS ; RS=0 : register status
24. 24.24: SJMP InByte
25. 25.25: ;
26. 26.26: AmbilASCII:
27. 27.27: SETB RS ; RS=1 : Display Data RAM
28. 28.28: InByte:
29. 29.29: SETB RW ; RW = '1', ambil data
30. 30.30: SETB E ; minta data pada M1632
31. 31.31: MOV A,P1 ; ambil data
32. 32.32: CLR E ; kembalikan e ke '0'
33. 33.33: RET

Mengatur tampilan M1632
M1632 mempunyai seperangkat perintah untuk mengatur tata kerjanya, perangkat perintah tersebut meliputi perintah untuk menghapus tampilan, meletakkan kembali cursor pada barishuruf pertama baris pertama, menghidup/matikan tampilan dan lan sebagainya, semua itu dibahas secara terperinci dalam Lembar Data M1632.
Setelah diberi sumber daya, ada beberapa langkah persiapan yang harus dikerjakan dulu agar M1632 bisa dipakai, langkah-langkah tersebut antara lain adalah:
9. Tunggu dulu selama 15 mili-detik atau lebih.
10. Kirimkan perintah 30h, artinya trasfer data antar M1632 dan mikrokontroler dilakukan dengan mode 8 bit
11. Tunggu selama 4.1 mili-detik
12. Kirimkan sekali lagi perintah 30h
13. Tunggu lagi selama 100 mikro-detik
Setelah langkah-langkah tersebut di atas M1632 barulah bisa menerima data dan menampilkannya dengan baik. Pada awalnya tampilan akan nampak kacau, dengan demikian perlu segera dikirim perindah menghapus tampilan dan lain sebagainya, sesuai dengan petunjuk yang ada di Lambar Data.
Di atas dipakai AT89C2051 sebagai contoh, meskipun demikian semua yang dibahas di atas sepenuhnya bisa dipakai pada mikrokontroler AT89C51. Dalam pemakaiannya karena berbagai macam alasan, bisa saja sinyal E; RW dan RS tidak disimulasikan di P3.4; P3.5 dan P3.7. Hal ini bisa diselesaikan dengan melakukan beberapa penyesuaian, yakni tentukan dulu perubahan rangkaian sesuai dengan keadaan yang ada, dan perubahan rangkaian itu harus di sesuaikan di baris 1 sampai 3 pada potongan program di atas.
M1632 mempunyai 8 jalur data dan memerlukan 3 jalur kontrol, dalam suatu rangkaian yang memakai banyak port dari MCS51, bisa terjadi kekurangan port untuk menghubungkan MCS51 ke M1632. Jika sampai terjadi hal semacam ini bisa ditempuh hal hal berikut :
14. M1632 dipakai dalam mode data 4 bit, yakni hanya memakai jalur data D0..D3
15. Dengan sedikit tambahan rangkaian sinyal WR dan RD dirubah menjadi sinyal E dan R/W gaya Motorola, sehingga tidak perlu menyediakan port untuk men-simulasikan sinyal-sinyal tersebut.
Berikut adalah gambar rangkaian LCD dengan komponen-komponen pendukung dengan pin-pin yang akan dihubungkan pada mikrokontroller AT89C51 :

   

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment