PIC Lesson: LCD HD44780

August 24th, 2009  Posted at   PIC Lesson
arrow   |   58 Commentsarrow

LCD (Liquid Crystal Display) adalah satu alat untuk display pelbagai character. Antaranya LCD yang mempunyai dot matrix controller HD44780. HD44780 boleh beroperasi pada 5X8 atau 5X10 dot matrix. LCD ini mempunyai beberapa saiz mengikut bilangan character. Antaranya 16X2 atau 20X4 character. 16X2 character bermakna LCD itu mempunyai 16 character pada line dengan 2 lines. LCD ini mempunyai 16 pins.

Di bawah adalah skematik untuk LCD HD44780.

Transistor di pasang pada sambungan backlight adalah supaya boleh ‘ON’ dan ‘OFF’ LCD backlight. Lihat document di bawah untuk instruction LCD.

Berikut adalah videonya.

Anda mungkin belum baca post ini

58 komen untuk PIC Lesson: LCD HD44780

  1. 1. Komen dari man pada 5:02 PM, 4th September 2009

    bro nak tnya..capacitor tu pki jnis apa ek?

  2. 2. Komen dari Shahrul pada 5:14 PM, 4th September 2009

    man, schematic tu mana ada capacitor.

  3. 3. Komen dari man pada 5:16 PM, 4th September 2009

    sory bro..transistor bkn capacitor…hehe

  4. 4. Komen dari Shahrul pada 5:18 PM, 4th September 2009

    sebarang transistor NPN, yg aku selalu guna 2N2222.

  5. 5. Komen dari syukran pada 2:01 PM, 17th September 2009

    tudia..terus jem kepala aku baca entry ni. baca tapi tak faham.hehe…

  6. 6. Komen dari Shahrul pada 2:08 PM, 17th September 2009

    Ini utk budak elektrik je. Tiru schematic, tiru program, tgk gambar sudah. haha

  7. 7. Komen dari hamka pada 5:57 PM, 13th October 2009

    salam.bro kalo nk msukkan input analog voltage mcm termocuple cmne bro?

  8. 8. Komen dari Ameer pada 10:57 AM, 12th December 2009

    Hamka:
    salam. untuk masukkan input analog voltage, hamka perlu gune port analog yg tersedia ade dlm PIC tu. utk PIC16F877a mcm yang shahrul guna, port analog terletak dekat port A. make sure voltage output yang dihasilkan boleh dibaca oleh PIC tersebut. semua ni boleh baca dalam datasheet.

  9. 9. Komen dari zaffan pada 10:06 AM, 24th February 2010

    salam. shahrul kalo aku nk msukkn 2 o/p dr adc ke 16×2 lcd display, kt bhgn programming ko tnjk kt ats yg ak kne msukkn 2 value adc tu?

  10. 10. Komen dari Shahrul pada 11:06 AM, 24th February 2010

    Zaffan, utk membaca ADC dan display value, boleh rujuk http://shahrulnizam.com/pic-lesson-adc-module

  11. 11. Komen dari cza pada 9:09 PM, 4th August 2010

    Shahrul,
    Bagaimana kalau saya nak tulis program guna BasicPro. apakah perbezaan source code yang ditulis menggunakan HI-TECH ANSI C dengan BasicPro?

  12. 12. Komen dari Shahrul pada 10:59 AM, 5th August 2010

    Sy x pernah guna BasicPro. Boleh guna program Hi-Tech sebagai rujukan, mungkin berbeza include file dan port declaration.

  13. 13. Komen dari ipah pada 7:55 PM, 8th August 2010

    nk tye.leh wt program utk pic x?bantu sye..hehe

  14. 14. Komen dari cza pada 1:43 PM, 12th August 2010

    Shahrul,
    Saya dah cuba on off LED guna PIC Basic Pro.OK.
    Soalan sy, kalau sy gunakan MPLab, programming guna C dan Compiler HI-TECH ANSI C ni, compile instruction guna Build kan? step ni akan convert C language tu kepada hex code kan?
    Boleh tak saya gunakan PICKit 2 Programmer untuk loadkan hex code ke PIC? bukan in circuit programmer tu?
    TQ

  15. 15. Komen dari Shahrul pada 1:57 PM, 12th August 2010

    cza, ok boleh. Hi-Tech compile file .c kpd .hex. Kemudian gunakan file .hex untuk download ke PIC.

  16. 16. Komen dari sunny pada 10:56 PM, 20th December 2010

    salam bro, nak tanya skit bro, camne nak bagi perkataan tu bergerak dari kiri ke kanan bro? Ble bagi tunjuk ajar?

  17. 17. Komen dari Shahrul pada 11:22 PM, 20th December 2010

    Cuba gunakan shift function, x tahulah mcm mana jadi. Klu x, tulis satu per satu.

  18. 18. Komen dari karen pada 10:40 AM, 20th January 2011

    nk tnye….klu….kte gne pic16f873a….n nk display bcaan dr 4 sensor kt LCD…time nk bt programing kte just ambik value dr sensor or kte kne declair rmus dlm program 2?

  19. 19. Komen dari Shahrul pada 10:54 AM, 20th January 2011

    karen, mesti kene masukkan rumus untuk tunjukkan nilai sebenar sensor dan untuk calibrate nilainya.

  20. 20. Komen dari car-tok pada 12:07 PM, 4th February 2011

    Shahrul,

    sy dh try buat program ni..testing dlm mplab ok.
    tp bile buat simulation x jadi.sy dh buat u untuk 8bit n ok..tp untuk 4 bit ni x jadi..ada solution x..?…

  21. 21. Komen dari Shahrul pada 11:03 AM, 8th February 2011

    car-tok, untuk simulation saya x tahu.

  22. 22. Komen dari lynx pada 10:34 PM, 1st March 2011

    bolehkah contrast n backlight dsambungkan dekat ground? akan ada effect thadap display x?

  23. 23. Komen dari Shahrul pada 10:45 PM, 1st March 2011

    lynx, backlight boleh sambung terus ke ground. Contrast sepatutnya tidak boleh sambung ke ground, tulisannya tidak dapat dipaparkan tetapi kadang2 ada LCD yg boleh di ground kan contrast nya.

  24. 24. Komen dari Ja pada 10:58 PM, 24th March 2011

    pin 15 dan pin 16 pada LCD mmemang kena buat connection mcm dalam gmbr rajah 2 ke? kalau pin 15 dan pin 16 xbuat apa2 connection blh x? ada effect apa2 x pd LCD 2? sbb ada datasheet hanya tunjuk connection/ penerangan untuk pin 1-14 shj

  25. 25. Komen dari Shahrul pada 12:16 AM, 25th March 2011

    Ja, pin 15 dan pin 16 adalah LED backlight saja. X pasang pun, cuma lampu nya tidak menyala, LCD masih berfungsi.

  26. 26. Komen dari Linspire pada 2:42 PM, 30th June 2011

    Sir,
    Where I can get htc.h header file ?

  27. 27. Komen dari Shahrul pada 3:12 PM, 30th June 2011

    Linspire, the htc.h is already exist with the Hi-Tech installer. No need to add or create this file.

  28. 28. Komen dari Linspire pada 3:20 PM, 30th June 2011

    Well, I’m confused with SK40c from cytron website,which provided video demo.

    I’m confused with pic.h and p18f4520.h
    Which type of compiler should I actually use ?
    I’m new to this microcontroller.

  29. 29. Komen dari Shahrul pada 3:26 PM, 30th June 2011

    That initialize using different compiler. That is C18 compiler.
    I have the PIC18 using Hi-Tech in Lesson PIC18F4550.

  30. 30. Komen dari Linspire pada 3:31 PM, 30th June 2011

    So, you saying I should set the compiler to Hi-Tech Universal Toolsuite instead Microchip C18 Toolsuite ?

    I’m involved these due to project.

  31. 31. Komen dari Shahrul pada 3:42 PM, 30th June 2011

    Yes, for this code you should set as Hi-Tech compiler, that is I put comment in the program.

  32. 32. Komen dari Linspire pada 3:59 PM, 30th June 2011

    I have build error :
    No valid installed HI-TECH compiler drivers

    I’m using MPLABIDE v8.66.
    Any idea how to solve it ?

  33. 33. Komen dari Shahrul pada 4:02 PM, 30th June 2011

    See this Lesson MPLab.

  34. 34. Komen dari Linspire pada 7:21 PM, 30th June 2011

    I’m still dealing same problem same error, Sir.
    I have follow your below link how to setup for MPLABIDE.

  35. 35. Komen dari Imraan pada 8:37 PM, 20th September 2011

    Salaams

    Please can you make available the delay.c and delay.h file that is used with the lcd project.

    Jazakallah,
    WSLM

  36. 36. Komen dari Shahrul pada 10:26 PM, 20th September 2011

    ws, no. Do your own.

  37. 37. Komen dari Hairul pada 10:39 AM, 24th October 2011

    Salam,

    Kalau gunakan LCD yg mengunakan driver KS0066 jadi tak?

  38. 38. Komen dari Shahrul pada 1:27 AM, 25th October 2011

    ws, Hairul. KS0066 compatible dgn HD44780.

  39. 39. Komen dari z pada 12:20 AM, 2nd November 2011

    salam sharulnizam, nak tanya sket. saya da try cari pic16f887 dalam library isis proteus 7.1 tapi tiada. saya menggantikannya dengan menggunakan pic16f877a. boleh tak coding dari pic16f887 berfungsi seperti biasa dalam pic berbeza ?

  40. 40. Komen dari Shahrul pada 12:19 PM, 2nd November 2011

    ws, simulate dalam Proteus saya x tahu jadi ke x. Dalam actual, x boleh guna, kena edit2 skit.

  41. 41. Komen dari taufiq pada 2:47 PM, 29th November 2011

    salam saudara shahrul….sy menggunakan lcd JHD162A(16×2) dr sk40c kit from cytron….sy ingin transfer data guna 4 bit mcm yg saudara buat…tp sy x dapat display dgn betul menggunakan code saudara…yg kluar dr lcd adalah char yg papetah….boleh tolong sy x??

  42. 42. Komen dari Shahrul pada 3:31 PM, 29th November 2011

    ws, taufiq. Program memang tak display dgn board Cytron kerana berbeza pin. Kena tukarkan pin sama ada tukarkan dalam program ataupun tukar schematic pada hardware.

  43. 43. Komen dari taufiq pada 3:37 PM, 29th November 2011

    tmkasih saudara,
    sy da tukar da pin kat hardware spt dlm code saudara…cuma pin yg ade kat lcd cy gune ni 14 saje…so jd led light tu sy x gune la(sy x connect ape2 ke kaki RD3)…tp tu x jd masalahkan…skrg ni sy masih lg x dapat nak display string…setahu sy 4 bit ni kite kene hantar 2 kali command data ke lcd kan…? ade idea x??

  44. 44. Komen dari Shahrul pada 5:46 PM, 29th November 2011

    Setting LCD semua dah ada dalam function lcd_init. Sending 4bit dah ada dalam function lcd_write. Kalau x jadi, x tahu lah. Ada masalah lain.

  45. 45. Komen dari taufiq pada 3:34 PM, 30th November 2011

    salam…untuk function delay spt __delay_ms(x),
    boleh x klau sy buat variable x itu adalah rumus matematik…cthnya period of pulse(in milisec)….krn sy cdg selepas kira pediod tu sy hendak delay sbyk 3/4 drpd period yg telah dikira….cthnya __delay_ms(3*x/4)…ape pendapat saudara @ ase idea lain yg boleh digunakan…

  46. 46. Komen dari Shahrul pada 6:11 PM, 30th November 2011

    ws, saya x pernah try. Boleh rasanya.

  47. 47. Komen dari Justinien pada 6:10 AM, 17th January 2012

    Hello,

    Can you published the LibraryHD44780.h file ?

    Thanks a lot for your work

  48. 48. Komen dari Shahrul pada 10:14 AM, 17th January 2012

    Justinien, the library file here.

  49. 49. Komen dari pd pada 3:52 PM, 18th January 2012

    askm. Tuan, bagaimana jika saya gunakan displaytech 162A sebagai output lcd, perlukah driver? mana nak cari driver? atau hanya letak #include
    #include “lcd.h” dalam programming?

  50. 50. Komen dari Shahrul pada 4:03 PM, 18th January 2012

    ws, pd. Sebarang character LCD 16X2 tak perlukan driver, terus program dan include kan file “LibraryHD44780.h”

  51. 51. Komen dari pd pada 12:26 PM, 19th January 2012

    hai…tq reply jwp. saya ada cuba coding saudara ni >>project character lcd & header LibraryHD44780.h tetapi
    bila compile guna hi-tech c ada error iaitu :
    1. undefined ANSEL & ANSELH dan juga
    2. undefine symbol __delay_ms

    kenapa ya? saya check semua follow contoh saja.tq

  52. 52. Komen dari Shahrul pada 12:44 PM, 19th January 2012

    pd, untuk masalah no. 1, setkan PIC kepada PIC16F887 bukannya PIC16F877A. Untuk masalah no. 2, mungkin tertinggal #include htc.h . Sepatutnya kalau copy program tu 100%, patut tiada masalah.

  53. 53. Komen dari pd pada 2:29 PM, 19th January 2012

    saudara betul, saya guna pic16f877, saudara ada sample coding pic ni untuk interface dgn lcd? htc tu wajib? saya tak letak…tak da error pun, ia untuk apa? tqvm sebab banyak bantu.

  54. 54. Komen dari Shahrul pada 4:02 PM, 19th January 2012

    Baca lg sekali, PIC16F887 bukan PIC16F877. Kat atas ni dah sample coding interface dgn LCD. htc tu penting, x de error x semestinya jadi. Compile file kosong pun x de error gak.

  55. 55. Komen dari pd pada 3:45 PM, 20th January 2012

    tq saudara. saya perlukan coding untuk pic16f877 (lama) ..pic16f887 yg saudara buat kat atas tu saya xda. jika saudara ada coding, mohon upload ya. tqvm. banyak info saya dpt dari web ni. tq

  56. 56. Komen dari Shahrul pada 3:54 PM, 20th January 2012

    Saya x de coding PIC lama, cari di website lain.

  57. 57. Komen dari vuxuan pada 10:16 AM, 1st March 2012

    I did as directed, and written in your code. But still no LCD display, I’ve inserted into the file header. Thanks to explain LCD header file.

  58. 58. Komen dari vuxuan pada 11:43 AM, 1st March 2012

    This is file :http://www.mediafire.com/?n4awhdq9pa413pk

Dah baca, tinggalkan komen anda disini

What is 8 + 11 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)