Searching \ for '[PIC] LCD Interface HD44780' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/io/lcd/pic.htm?key=lcd
Search entire site for: 'LCD Interface HD44780'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] LCD Interface HD44780'
2006\06\28@044904 by Stewart Abel

picon face
I am trying to interface with a LCD which uses the HD44780 interface.  I am
using a PIC16f73.  I am trying to use the LCD in 4bit mode connected to
PORTC.  I am currently just getting a blank screen.  I have put my code
below.  Can anybody see where I have gone wrong or suggest anything I can
try please?

include "p16f73.inc"

CBLOCK        0x020
       R_DEL1
       R_DEL2
       R_WDATA_TMP1
       R_WDATA_TMP2
       R_SEND_W_TMP
       RAM_PORTC
       R_BIT
endc

org 0
       goto init

org 4

init
       movlw        0xFF
       call        delay

       bsf                STATUS, RP0
       movlw        0x000
       movwf        TRISC
       bcf                OPTION_REG,5
       bcf                STATUS, RP0
       clrf        PORTC
       ;bcf                PORTC, 4
       movlw        0x004
       call        clear_PORTC_bit
       
       
       movlw        0x003
       call        w_to_data
       call        pulse_e
       movlw        0x00A
       call        delay

       movlw        0x003
       call        w_to_data
       call        pulse_e
       movlw        0x004
       call        delay

       movlw        0x003
       call        w_to_data
       call        pulse_e
       movlw        0x004
       call        delay

       movlw        0x002
       call        w_to_data
       call        pulse_e
       movlw        0x004
       call        delay

       movlw        b'00101000';interface length
       call        send_w
       call        delay_1ms
       call        delay_1ms
       
       movlw        b'00000010'
       call        send_w
       call        delay_1ms
       call        delay_1ms
       movlw        b'00010000'
       call        send_w
       call        delay_1ms
       call        delay_1ms

       movlw        b'00000110' ;Cursor Direction
       call        send_w
       call        delay_1ms
       call        delay_1ms
       
       movlw        b'00001111'
       call        send_w
       call        delay_1ms
       call        delay_1ms
       
mainloop
       ;bcf                PORTC, 4
       movlw        0x004
       call        clear_PORTC_bit
       movlw        b'00000010'
       call        send_w
       ;bsf                PORTC, 4
       movlw        0x004
       call        set_PORTC_bit
       call        delay_1ms
       
       movlw 'H'
       call        send_w
       
       goto mainloop
       

pulse_e
       ;bsf                PORTC, 5
       movlw        0x005
       call        set_PORTC_bit
       nop
       nop
       nop
       nop
       ;bcf                PORTC, 5
       movlw        0x005
       call        clear_PORTC_bit
       call        delay_1ms
       call        delay_1ms
       return

; Calls the delay_1ms routine the number of times specified by
; the W register.
delay
       movwf        R_DEL2
delay_loop
       call        delay_1ms
       decfsz        R_DEL2, F
               goto        delay_loop
       return
       
; When called gives a delay of about 1000 cycles, or 1ms at 4Mhz
; before the next instruction is executed.
delay_1ms
       movlw        d'248'
       movwf        R_DEL1
delay_1ms_loop
       nop
       decfsz        R_DEL1, F
               goto        delay_1ms_loop
       return

send_w
       movwf        R_SEND_W_TMP
       swapf        R_SEND_W_TMP, F
       movlw        0x0F
       andwf        R_SEND_W_TMP, W
       call        w_to_data
       call        pulse_e
       
       swapf        R_SEND_W_TMP, F
       movlw        0x0F
       andwf        R_SEND_W_TMP, W
       call        w_to_data
       call        pulse_e
       return

w_to_data
       movwf        R_WDATA_TMP1
       movf        PORTC, W
       movwf        R_WDATA_TMP2
       bcf                R_WDATA_TMP2, 0
       bcf                R_WDATA_TMP2, 1
       bcf                R_WDATA_TMP2, 2
       bcf                R_WDATA_TMP2, 3
       btfsc        R_WDATA_TMP1, 0
               bsf                R_WDATA_TMP2, 0
       btfsc        R_WDATA_TMP1, 1
               bsf                R_WDATA_TMP2, 1
       btfsc        R_WDATA_TMP1, 2
               bsf                R_WDATA_TMP2, 2
       btfsc        R_WDATA_TMP1, 3
               bsf                R_WDATA_TMP2, 3
       movf        R_WDATA_TMP2, W
       movwf        PORTC
       
       return

clear_PORTC_bit
       movwf        R_BIT
       movfw        PORTC
       movwf        RAM_PORTC
       bcf                RAM_PORTC, R_BIT
       movfw        RAM_PORTC
       movwf        PORTC
       
       return

set_PORTC_bit
       movwf        R_BIT
       movfw        PORTC
       movwf        RAM_PORTC
       bsf                RAM_PORTC, R_BIT
       movfw        RAM_PORTC
       movwf        PORTC

       return

end


Stewart Abel

2006\06\28@051923 by Jan-Erik Soderholm

face picon face
Stewart Abel wrote :

> I have put my code below.  Can anybody see where I have
> gone wrong or suggest anything I can try please?

First, there is not a single comment in the code so one
can verify what you *think* you are doing.

Then, please explain what this code does :

> clear_PORTC_bit
>        movwf        R_BIT
>        movfw        PORTC
>        movwf   RAM_PORTC
>        bcf           RAM_PORTC, R_BIT
>        movfw        RAM_PORTC
>        movwf        PORTC
>        
>        return

In particular how the BCF works...

Regards,
Jan-Erik.



2006\06\28@054233 by Stewart Abel

picon face
I appologise for the lack of comments.

I changed from a standard bcf on PORTC as I have read about the
read-modify-write problems.  When I call this sub, I put the number of the
bit I want to clear in the W register.  This then reads PORTC and places it
in RAM_PORTC, clears the bit in the variable and writes the entire byte back
to PORTC

Regards
Stewart
> {Original Message removed}

2006\06\28@061651 by Jan-Erik Soderholm

face picon face
Stewart Abel wrote :

> I changed from a standard bcf on PORTC as I have read
> about the read-modify-write problems.

Probably a little over-worked when working with a simple
LCD interface. No high capacitans loads. If you'd like, you
can put in a few NOP's between the bcf/bsf's.

> clears the bit in the variable...

The "bit" number in the bcf/bsf instruction can NOT be
a run-time variable. It's an constant. The bit number is
assembled into the instruction at assembly time.

I'd say that you can simplify your code quite a lot.

Regards,
Jan-Erik.



2006\06\28@064614 by Stewart Abel

picon face
I will try that.  I thought it seemed like a bit of a long way round!!!

Thanks
Stewart

{Quote hidden}

> -

2006\06\28@070954 by Jinx

face picon face
Hi Stewart, nothing as sad as a blank screen is there ?

I had some difficulty reading your style of code. You would
be better to use the bit definitions as in the .inc file. eg, without
looking it up, I have no idea what OPTION_REG,5 is

Included here is code I use often for 4-bit LCDs. Bear in mind
this is an example for the 18F, so there are no bank changes,
and latd is what would be portd on a 16F

Data is displayed by 'call write_d', a command by 'call write_c'

Interface via macros (makes display code a lot simpler)

clrscrn  macro                ;clear LCD
        movlw   0x01
        call    write_c
        endm

mov      macro   litval,file
        movlw   litval
        movwf   file
        endm

movfw    macro   litval
        movf    litval,w
        endm

lcd_pos  macro   litval       ;set print address
        movlw   litval-1
        call    address
        endm

disp     macro   litval       ;display character
        movlw   litval
        call    write_d
        endm

eg

        lcd_pos ln1+d14
        disp    "s"

==========

#define  rs      porte,0      ;LCD RS
#define  rw      porte,1      ;LCD R/W
#define  en      porte,2      ;LCD Enable

;PortD 0-3 - LCD data

#define  busy    portd,3      ;LCD Busy flag

usec     macro                ;1us delay
        movff   temp,temp
        movff   temp,temp
        movff   temp,temp
        movff   temp,temp
        movff   temp,temp
        endm

;================================================
;        Initialise LCD screen
;================================================

lcd_init bcf    rw
        usec
        bcf    rs
        usec

        call   write30
        call   msdelay      ;delay > 4.1ms
        call   msdelay
        call   msdelay
        call   msdelay
        call   msdelay

        call   write30
        call   msdelay       ;delay > 100us

        call   write30
        call   msdelay       ;delay > 100us

;LCD settings

        movlw  b'00100000' ;
        call   write_c
        movlw  b'00001000'
        call   write_c
        movlw  b'00001100'
        call   write_c
        movlw  b'00000110'
        call   write_c
        return

write30  movfw  portd
        andlw  b'00001111'
        addlw  b'00110000'
        movwf  latd
        usec
        bsf    en
        usec
        bcf    en
        usec
        return

;===============================================
;        LCD commands
;================================================

line1    movlw  0x00          ;line 1, column 0
        call   address
        return

line2    movlw  0x40          ;line 2, column 0
        call   address
        return

address  addlw  0x80          ;set high bit of address command
        call   write_c
        return

write_c  bcf    rs            ;write command
        bra    d_out

write_d  bsf    rs            ;write data

;send 2 x 4-bits

d_out    movwf  temp          ;save data in W, and split
        swapf  temp
        movfw  portd         ;read port
        andlw  b'11110000'   ;clear LSN
        movwf  shadowd
        movfw  temp          ;add MSN to bshad
        andlw  b'00001111'
        addwf  shadowd,w
        movwf  latd          ;write to port
        usec
        bcf    rw
        usec
        bsf    en
        usec
        bcf    en

        movfw  portd         ;read port
        andlw  b'11110000'   ;clear LSN
        movwf  shadowd
        swapf  temp,w        ;add temp LSN to bshad
        andlw  b'00001111'
        addwf  shadowd,w
        movwf  latd          ;write to port
        usec
        bcf    rw
        usec
        bsf    en
        usec
        bcf    en

        usec
        bsf    rw            ;set LCD RW for Read
        usec
        bcf    rs

        mov    b'00001000',trisd ;Busy as i/p
        bsf    en
rdbusy   btfsc  busy          ;loop until Busy Flag clear
        bra    rdbusy
        bcf    en
        usec
        bcf    rw
        mov    b'00000000',trisd

        return


2006\06\28@071621 by Wouter van Ooijen

face picon face
> I changed from a standard bcf on PORTC as I have read about the
> read-modify-write problems.  When I call this sub, I put the
> number of the
> bit I want to clear in the W register.  This then reads PORTC
> and places it
> in RAM_PORTC, clears the bit in the variable and writes the
> entire byte back
> to PORTC

that won't do no good. think again about the 'reads PORTC' part in
relation to the read-modify-write issue.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\06\28@073313 by Wouter van Ooijen

face picon face
> Included here is code I use often for 4-bit LCDs. Bear in mind
> this is an example for the 18F, so there are no bank changes,
> and latd is what would be portd on a 16F

except that LATx does not suffer from the read-modify-write problem!

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\06\28@074144 by Stewart Abel

picon face
Thanks for this Jinx, I will try it out.  Is there anything I need to change
as far as timings are concerned, I am using a 4mhz oscillator.

Cheers
Stewart
> {Original Message removed}

2006\06\28@083741 by David VanHorn

picon face
On 6/28/06, Stewart Abel <.....stewKILLspamspam.....stewartabel.co.uk> wrote:
>
> Thanks for this Jinx, I will try it out.  Is there anything I need to
> change
> as far as timings are concerned, I am using a 4mhz oscillator.


Have you verified that your delays are correct?  Not following the timing
specs would give you what your're seeing.


--
> Feel the power of the dark side!  Atmel AVR

2006\06\28@084812 by Jan-Erik Soderholm

face picon face
David VanHorn wrote :

> Have you verified that your delays are correct?  Not
> following the timing
> specs would give you what your're seeing.

Maybe.

But the *major* problem is trying to set the bit
number in the BCF/BSF instructions using a
run-time variable.

I'd focus on that first...

Jan-Erik.
>



2006\06\28@091120 by Jinx

face picon face
> Thanks for this Jinx, I will try it out.  Is there anything I need to
> change as far as timings are concerned, I am using a 4mhz oscillator

Not really, as long as you make 1ms = 1ms etc. Initialisation timing
for the LCD is important, and it's often the cause of a blank screen.

And of course make the changes that you need for a 16F

The macro I use for 1 usec (seeing as it's generally a 452 and space
isn't tight so a few of these won't be a problem)

usec     macro                ;1us delay
        movff   temp,temp
        movff   temp,temp
        movff   temp,temp
        movff   temp,temp
        movff   temp,temp
        endm

is based on a 200ns instruction cycle. Yours is 1us per IC, so you
can use a single NOP. It's generally OK with an LCD to have as
little as 1us between BCF/BSF etc on a port driving RS/RW/EN,
but more won't hurt and, although I've never had a problem, would
be safer.

The 44780 is fast-ish, for example

Enable cycle time, 1000ns min
Enable pulse width, 450ns min

A reference http://www.doc.ic.ac.uk/~ih/doc/lcd/

2006\06\28@091232 by Maarten Hofman

face picon face
2006/6/28, Stewart Abel <EraseMEstewspam_OUTspamTakeThisOuTstewartabel.co.uk>:

> I am trying to interface with a LCD which uses the HD44780 interface.  I
> am
> using a PIC16f73.  I am trying to use the LCD in 4bit mode connected to
> PORTC.  I am currently just getting a blank screen.  I have put my code
> below.  Can anybody see where I have gone wrong or suggest anything I can
> try please?


1) Obviously the code needs work. I recommend running it through a simulator
step by step, and see the things that are going wrong (you can use
breakpoints to jump over your delays). Others in the list have already
commented on things. I wouldn't be concerned about read/modify/write at this
time. Try to add comments to the code.
2) Is your contrast circuit working? Can you make the display go from blank
to black by adjusting your contrast? If not, then this is also something
that would need attention.
3) A known good implementation of 4-bit LCD can be found at
http://www.myke.com/lcd.htm . The code uses a two-bit interface, and isn't
that good either, but at least it is an implementation that works, from
which you can create your own. I wouldn't be surprised if there weren't
several implementations on piclist.com either.
4) I used the sequence 3332280801060C to initialise, which has worked with
every LCD I encountered (of course, the "28" might need to change to 20, 38
or 30 depending on the size of the display).
5) Timing wise you seem to be on the careful side (which is no problem, the
LCD is patient). The longest delay you need is 15ms after power up. From
then on most data can be sent at 160us delays (there are some commands that
take 5ms but those are rare). Also note that at 4 MHz there is no delay
needed between the nybbles that form a byte sent to the LCD. Just put nybble
on your port, blink enable, put the next nybble on the port, and blink
enable, then wait 160us. Of course, 160us is the maximum, you can check the
busy flag to see if you can send stuff sooner.

Greetings,
Maarten Hofman.

2006\06\28@092225 by Jinx

face picon face
> Is there anything I need to change

BTW, I just noticed that 'shadowd' is in the code, but 'bshad'
is in the comments. 'bshad' is obviously a left-over from a
version that used PortB. The data splitting is to send two 4-bit
nybbles out of LATD <0:3>, whilst preserving the state of <4:7>.
If you're using the upper half of the port, "invert" that

2006\06\28@093348 by Alan B. Pearce

face picon face
> Thanks for this Jinx, I will try it out.  Is there anything I need to
> change as far as timings are concerned, I am using a 4mhz oscillator

One of the queries this problem often brings up is the question "are you
really using a 44780, or one of the clones"? Many of the clones require
longer delays, especially when initialising the chip, and the general
consensus seemed to be to start with delays that are significantly longer,
and then once you have the display working, shorten them.


2006\06\29@115819 by Stewart Abel

picon face
Ok, I've totally rewritten my code.  I have tried different length delays
but still to no avail.  I have also tried different rated Pots on the
contrast circuit, but still nothing.  Here is my new code, commented better
this time!!!

       include        p16f73.inc
       list p=16f73
       ;include        XLCD.inc

       CBLOCK 0x020
               Delay_i
               DelayCount
               data_to_send
               LCD_temp
       endc

       RS        equ                4                        ;RS bit
       E        equ                5                        ;E bit
       D4        equ                0                        ;Data bits
       D5        equ                1
       D6        equ                2
       D7        equ                3
       LCD_PORT        equ        PORTB        ;Port LCD connected to
       LCD_TRIS        equ        TRISB        ;Tris LCD connected to

org 0
       
       goto init

org 4

init        bsf        STATUS, RP0
               movlw        0x00
               movwf        LCD_TRIS                        ;Set LCD_TRIS to
Outputs
               bcf                STATUS, RP0
               clrf        LCD_PORT        ;clear LCD_PORT        

init_lcd
               movlw        0x014                ;Delay to wait for LCD to initalise
               call        Dlay
               movlw        0x03
               call        send_w                ;Send Reset
               movlw        0x05
               call        Dlay                ;Delay 5ms
               movlw        0x05
               call        send_w                ;cycle Reset
               call        Dlay_500us
               movlw        0x05
               call        send_w                ;cycle reset again
               movlw        0x002
               call        send_w                ;Set to 4 bit mode
               movlw        b'00101000'
               call        send_w_data        ;Set Interface Length
               movlw        b'00010000'
               call        send_w_data        ;Disable shifting of display
               movlw        b'00000001'        ;clear display
               call        send_w_data
               movlw        b'00000110'        ;enable cursor increment
               call        send_w_data
               movlw        b'00001110'        ;turn display & cursor on
               call        send_w_data

mainline
               bsf                LCD_PORT, RS        ;Put LCD into data mode
               nop
               nop
               nop
               nop
               movlw        'H'
               call        send_w_data
               movlw        'E'
               call        send_w_data
               movlw        'L'
               call        send_w_data
               movlw        'L'
               call        send_w_data
               movlw        'O'
               call        send_w_data
               goto $

Dlay        movwf        DelayCount                ;Calls Dlay_1ms number of times
stored in w_reg
Dlay_loop
               call        Dlay_1ms
               decfsz        DelayCount, f
                       goto Dlay_loop
               return

Dlay_1ms
       movlw        0xff                        ;1ms Delay on 4Mhz Oscillator
       movwf        Delay_i
               goto        L1
Dlay_500us
       movlw        d'156'                        ;aprox 500us Delay on 4Mhz
Oscillator
       movwf        Delay_i
L1            nop
       decfsz        Delay_i, f
               goto        L1
       return

send_w_data
               movwf        data_to_send
               swapf        data_to_send, f
               movlw        0x00F
               andwf        data_to_send, w
               call        send_w
               swapf        data_to_send, f
               movlw        0x00F
               andwf        data_to_send, w
               call        send_w
               return

send_w        bsf                LCD_PORT, E
               nop
               nop
               nop
               nop
               nop
               nop
               movwf        LCD_PORT                ;Sends data to LCD_PORT
               nop
               nop
               nop
               nop
               nop
               nop
               bcf                LCD_PORT, E
               nop
               nop
               nop
               nop
               nop
               return
               
end

stew

> {Original Message removed}

2006\06\29@121547 by Jan-Erik Soderholm

face picon face
Stewart Abel wrote :

I'm not 100% sure but doesn't :

>                movlw        0x00F
>                andwf        data_to_send, w
>                movwf        LCD_PORT                ;Sends data to LCD_PORT

clear the RS bit again ?

Jan-Erik.



2006\06\29@130235 by Scott Dattalo

face
flavicon
face
Stewart Abel wrote:
> Ok, I've totally rewritten my code.  I have tried different length delays
> but still to no avail.  I have also tried different rated Pots on the
> contrast circuit, but still nothing.  Here is my new code, commented better
> this time!!!

Stewart,

I don't know if your code is correct or not, but gpsim (the GNUPIC
simulator) contains full working example of a HD44780 driver that you
can use as a reference:

http://svn.sourceforge.net/viewcvs.cgi/gpsim/trunk/extras/lcd/examples/

(BTW, I've been getting server errors while using the SF SVN Web
interface, so you may have to try a few times before the link works).

Scott

2006\06\29@131711 by Stewart Abel

picon face
Of course it will!!!  I hadn't noticed that, thanks

stew
-----Original Message-----
From: piclist-bouncesspamspam_OUTmit.edu [@spam@piclist-bouncesKILLspamspammit.edu] On Behalf Of
Jan-Erik Soderholm
Sent: 29 June 2006 17:16
To: KILLspampiclistKILLspamspammit.edu
Subject: RE: [PIC] LCD Interface HD44780

Stewart Abel wrote :

I'm not 100% sure but doesn't :

>                movlw        0x00F
>                andwf        data_to_send, w
>                movwf        LCD_PORT                ;Sends data to LCD_PORT

clear the RS bit again ?

Jan-Erik.



2006\06\29@133300 by John Chung

picon face
Out of curiousity is your LCD 4 bit for data?

John

--- Stewart Abel <RemoveMEstewTakeThisOuTspamstewartabel.co.uk> wrote:

{Quote hidden}

> > {Original Message removed}

2006\06\29@134834 by John Chung

picon face
>From my document you have send 3 the first time and
than 5 twice for the reset. From my document of the
LCD it should be 3 occuring thrice. Are you refering
the the LCD document while writing the program?

http://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Use the one above

John

--- Stewart Abel <spamBeGonestewspamBeGonespamstewartabel.co.uk> wrote:

{Quote hidden}

> > {Original Message removed}

2006\06\29@144739 by Maarten Hofman

face picon face
2006/6/29, Stewart Abel <TakeThisOuTstewEraseMEspamspam_OUTstewartabel.co.uk>:
>
> Ok, I've totally rewritten my code.  I have tried different length delays
> but still to no avail.  I have also tried different rated Pots on the
> contrast circuit, but still nothing.  Here is my new code, commented
> better


Nothing in that you can't make the display turn black using the contrast
circuit? If you can't do that, there is no need to bother with the code,
because then there is a different hardware issue.

this time!!!
{Quote hidden}

You seem to be sending: 35552281001060E and I'm pretty sure it should be
more like 333228... Note that the first sequence is vital, as you want the
LCD to recognize a reset despite you using only four lines of the interface.

mainline
>                bsf             LCD_PORT, RS    ;Put LCD into data mode


I recommend having the control lines on a different port than your data
lines while you are testing the program. Once you have it working, you can
move them to the same port. Currently you are overriding the control lines
each time you are changing the data lines.


> send_w  bsf             LCD_PORT, E


The sequence seems to be wrong here... You should first put the data on the
port, and then turn enable on, and off. Turning enable on first will send
the current data to the LCD, and I'm not sure what changing the data during
enable on will do.

              nop
{Quote hidden}

Note that you still need a 160us delay between each byte as well: you can
get away with leaving it out between nybbles, but after each byte you need
to wait, or poll the ready status.

Greetings,
Maarten Hofman.

2006\06\29@164525 by Phillip

picon face
Hi Stew

I wanted to let you know (or anyone else that is interested) I have a simple
circuit (two caps a resistor and two diodes) that generates contrast control
voltage about +3 to -1.5 or -2 using the PWM function.
I also use an FET and the PWM control the brightness of my back light
diodes.

My routines to control it are in C but they would be a piece of cake to port
to ASM.



Phillip
Things should be as simple as possible but no simpler



Phillip Coiner
CTO, GPS Source, Inc.


Your source for quality GNSS Networking Solutions and Design Services, Now!

{Original Message removed}

2006\06\29@174658 by Hector Martin [PIClist] n/a

flavicon
face
Plus the second parameter to BCF is a literal bit, not the address of a
variable with a bit number in it. Won't work (you need a lookup table
for that). I'd use a macro.

Wouter van Ooijen wrote:
{Quote hidden}

--
Hector Martin (RemoveMEhectorspamTakeThisOuTmarcansoft.com)
Public Key: http://www.marcansoft.com/hector.asc

2006\06\30@090418 by Stewart Abel

picon face
Thanks for the help everyone, turns out I had a faulty LCD!!!

stew

{Quote hidden}

> -

2006\06\30@091847 by David VanHorn

picon face
On 6/30/06, Stewart Abel <RemoveMEstewspam_OUTspamKILLspamstewartabel.co.uk> wrote:
>
> Thanks for the help everyone, turns out I had a faulty LCD!!!


Don't you love it!   Development is such fun.. :)

2006\06\30@093226 by Alan B. Pearce

face picon face
>> Thanks for the help everyone, turns out I had a faulty LCD!!!
>
>Don't you love it!   Development is such fun.. :)

Yeah, if all else fails, replace the faulty part - bit of a bummer if the
part is expensive though ... ;))

2006\06\30@093609 by Stewart Abel

picon face
Isn't it!! :-)

> -----Original Message-----
> From: RemoveMEpiclist-bouncesTakeThisOuTspamspammit.edu [EraseMEpiclist-bouncesspamspamspamBeGonemit.edu] On Behalf
> Of David VanHorn
> Sent: 30 June 2006 14:19
> To: Microcontroller discussion list - Public.
> Subject: Re: [PIC] LCD Interface HD44780
>
> On 6/30/06, Stewart Abel <RemoveMEstewKILLspamspamstewartabel.co.uk> wrote:
> >
> > Thanks for the help everyone, turns out I had a faulty LCD!!!
>
>
> Don't you love it!   Development is such fun.. :)
> -

2006\06\30@094743 by Stewart Abel

picon face
I can't complain realy,  I bought the LCDs on ebay from a guy in China for
$15 shipped each!

> -----Original Message-----
> From: piclist-bouncesSTOPspamspamspam_OUTmit.edu [spamBeGonepiclist-bouncesSTOPspamspamEraseMEmit.edu] On Behalf
> Of Alan B. Pearce
> Sent: 30 June 2006 14:32
> To: Microcontroller discussion list - Public.
> Subject: Re: [PIC] LCD Interface HD44780
>
> >> Thanks for the help everyone, turns out I had a faulty LCD!!!
> >
> >Don't you love it!   Development is such fun.. :)
>
> Yeah, if all else fails, replace the faulty part - bit of a bummer if the
> part is expensive though ... ;))
>
> -


'[PIC] LCD Interface HD44780'
2006\07\01@025713 by John Chung
picon face
try http://www.bgmicro.com or http://www.bgmicro.com/

john

--- Stewart Abel <KILLspamstewspamBeGonespamstewartabel.co.uk> wrote:

> I can't complain realy,  I bought the LCDs on ebay
> from a guy in China for
> $15 shipped each!
>
> > {Original Message removed}

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...