Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] I O Port driving capacity

2005-04-14 by Peter Jakacki

A logical (EE's need this quality) analysis of your problem arrives at 
these facts:

1) D0-D7 are working (enough) as an instruction has been processed
2) lcd enable must be working as an instruction has been processed (so 
you say)
3) RS is certainly low to interpret an instruction

Conclusion-
1) RS could be stuck low or you are not allowing enough setup time 
before enable
    Data setup time =>195ns
    RS setup time => 60ns  (you can't just combine this with the enable 
signal)

2) You are not following the proper initialisation steps which are (for 
8-bit)
    1. wait 15ms after VCC rises to 4.5V
    2. Write instruction 30h      ;8-bit interface
    3. wait more than 4.1ms
    4. Write instruction 30h      ;mmmm, better make sure it's set to 8-bit
    5. wait more than 100us
    6. Write instruction 30h      ;do it again! (should be right now)
       + wait 40us                ; R/W tied low - assume max timeout
    7. Write instruction 38h      ;8-bit interface, 2 lines
       + wait 40us
    8. Write instruction 0Fh      ;display on, cursor and blinking (for 
test)
       + wait 40us
    9. Write instruction 01h      ;clear display
       + wait up to 5ms           ;!!! this is as fast as it will go
    10. Write instruction 06h     ;standard entry mode
       + wait 40us
    11. Write data + wait 40us etc


*Peter*

rohan patil wrote:

>  i m final year student of electronics engg
>
> i  m trying to interface 16x2 lcd display with lpc
>2106 
>
>io ports are connected as follows
>
>D0-P0.21.........D7-P0.28
>lcd enable-p0.29    RS-p0.30
>R/W is grounded
>
>i have sucessfully implimented clear disply command
>but i m not able to write data
>
>is it the problem of driving capcity or voltage levels
>
>please give solution.......
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.