How to move data from array into LCD? (Using LCDOUT)


Closed Thread
Results 1 to 19 of 19

Hybrid View

  1. #1
    Join Date
    Feb 2013
    Posts
    1,124


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    So say this code:

    Code:
    LCDOUT $FE, $40,$12
    LCDOUT $FE, $48,$15
    Will send $12 to 1st line of 1st char and $15 to 1st line of 2nd char, but if I call the LCDOUT $FE, $40, $12 again, it will be written into 2nd line of 1st char, right?

  2. #2
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    I'm sorry but your comments doesn't make any sense to me. I don't understand what it is you're actually asking or trying to do. Either I'm stupid or you don't make a very good job of explaining yourself - it's probably the former....

    First you said you DON'T want to put characters on the screen with LCDOUT and now you're talking about first character on line 1 and line 2. Writing to CGRAM won't put characters anywhere on the screen, it will however update any instances OF the character no matter WHERE on the screen they are.

    Then you say you want a delay, which you can just do with a PAUSE within the FOR-NEXT loop.

    Code:
    LCDOUT $FE, $40,$12  ' Write $12 to CGRAM 0
    LCDOUT $FE, $48,$15  ' Write $15 to CGRAM 8
    LCDOUT $FE, $40,$12  ' Write $12 to CGRAM 0 (again)
    LCDOUT $13,$14,$15  ' Write $13, $14, $15 to CGRAM 1, 2, 3 (because the previous command wrote to location 0)
    LCDOUT $FE, $49, $16, ' Write $16 to CGRAM location 9
    Code:
    LCDOUT $FE, $40+A  ' This will set the adress pointer to CGRAM location 0+A
    For i = 0 to 7
      LCDOUT Graph[i]   ' Send a byte to CGRAM location 0+A+i
      PAUSE 100
    NEXT

  3. #3
    Join Date
    Feb 2013
    Posts
    1,124


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    Yes, I know how CGRAM character works.

    I asked two questions:

    1. Can I any time access any CGRAM address?
    2. Can I use variable for accessing that address?

  4. #4
    Join Date
    May 2013
    Location
    australia
    Posts
    2,644


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    what have you tried ?
    what did it do ?
    what do actually want it to do differently ?



    or is it that you have you copied this code from somewhere
    Code:
    DIM GRAPH(8) 'define array with 8 lines
    GRAPH(1)=$FE 
    GRAPH(2)=$CO ' and so on, example of data in array
    For A=0 to 7 ' loop till 8
    LCDOUT $FE, $40+A, GRAPH(A) - write bytes to LCD memory
    NEXT A
    and need help to convert it to pbp
    Warning I'm not a teacher

  5. #5
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    I don't mean to sound harsh but like Richard says, have you tried to use any CGRAM adress at any time or use a variable when setting CGRAM adress?

    1. Can I any time access any CGRAM address?
    Yes, of course you can, just send the command for setting the adresspointer to whatever location you want.

    2. Can I use variable for accessing that address?
    Yes, of course tou can, just send the command for setting the adresspointer to whatever location you want. (That location being held in a variable or in the result of calculation, like in the example).

    Just try it for crying out loud :-) 10 minutes of writing some testcode would provide you with the answers you've been looking for for two days now :-)


    /Henrik.

  6. #6
    Join Date
    Feb 2013
    Posts
    1,124


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    I do not have access to hardware on weekends, so I prefer to solve theoretic ussies on weekend, to deal with them in hardware next week

  7. #7
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: How to move data from array into LCD? (Using LCDOUT)

    Assuming the array is bytes (characters) because that’s what you did in your first post, are you talking about rotating the bytes through the array?
    There are a lot of ways to do it, you can run a loop that copies the array element after the current byte, to the current byte, and write the new byte to the last one.
    That would see your data scroll across the screen for example, even though you use the same array in the same order in the LCDOUT command, it’s the data that changed.

    If it’s this circuit in the other thread where your LCD isn’t working, if you power it, but don’t initialise it do you see the first row of solid bars?
    If not, you can look at power and contrast first.

Similar Threads

  1. How to get ASCII data in array.
    By Ioannis in forum Serial
    Replies: 8
    Last Post: - 6th November 2008, 20:14
  2. LCD without LCDOUT command
    By Josuetas in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 28th August 2007, 14:22
  3. Array data being corrupted
    By caverman in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 17th March 2006, 04:22
  4. Larger array possible if I move to 18Fxxx?
    By incognico in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 22nd January 2006, 15:03
  5. lcdout define each data pin
    By EDWARD in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 12th October 2005, 19:59

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts