4 Replies Latest reply on Jun 27, 2015 5:53 AM by userc_40798

    Scrolling LCD



      i want to scroll the message in LCD display(16*2 lCd Hitachi ).


      Now i able to write message now i want to scroll that how to do it .

        • 1. Re: Scrolling LCD

          Have a look into the Hitachi controller datasheet




          probably would be better to manually (programatically) shift the output-string. Will be a good practice to get acquainted to C-strings, pointers and all that stuff.





          • 2. Re: Scrolling LCD

            One way, given you have a string in a buffer that is  len(strg) + 1,


            is to ( assume lcd is 16 char in a row ), so array is myString[ 17 ],


            addresses 0 - 16, 16 chars + one NULL (terminates string)




            1) Write string buffer to LCD


            2) Delay for the length of time between display writes, like 1 sec as example


            3) Move the characters in the string right 1 element, start by


            extracting 1 char, 14'th char (LCD column address 0 - 15) and write it back to buffer


            at address 15. Do this for 15 more, then fill myString[ 0 ] = ' ';


            4) Test for 16 shifts, if so exit loop


            5) goto 1




            This is a destructive write, eg the string buffer ultimately becomes all blanks.




            If you want the save the string copy it inot a temp buffer for the scroll operation use.




            Something like that.




            Regards, Dana.

            • 3. Re: Scrolling LCD



              what is purpose of of this command LCD_scrl_left$ right (datasheet) but when i implement this it doesn't works

              • 4. Re: Scrolling LCD

                The actual LCD controller has a command set that will execute


                certain functions, you can do this vs C code as I suggested.




                Use LCD_Char_WriteControl() function in Creator LCD component




                Regards, Dana.