Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/14/12 15:10
Read: times


 
#188326 - Graphics Displays
Responding to: ???'s previous message
Welcome to the world of graphics displays. When you want to modify one pixel out of a field of other pixels it is necessary to read the other field data, mask it to keep the other data and insert the new data that you want. Then finally you write the new data back.

In your case where the field is a byte of 8-pixels you pre-read the byte. Then either OR in your new pixel if you want to set the new pixel or you would AND the byte with the NOT of your pixel mask to clear the pixel. Then write the final value back to the display.

Some displays, particularly those that use a serial interface, cannot be read back to get the previously written pixel values. For this case you need to keep a local buffer that keeps a pixel image of the display available for you to reference. I have posted some sample ideas of how this is done with a buffer like this at the following link. You will find the buffer concept particularly valuable when you come to write font glyphs to the display. Do all the work in the buffer first and then use fast loops to copy the appropriate rasters of pixels from the buffer to the display.

Even if you have a display that supports read back of the pixel image you will generally find that operating the display in read/write mode for each pixel is painfully slow.

http://www.carousel-design.com/GraphLCD.html

Michael Karas


List of 28 messages in thread
TopicAuthorDate
Nokia 3310 display [PCD8544] dot problem            01/01/70 00:00      
   NOTE-            01/01/70 00:00      
      Graphics Displays            01/01/70 00:00      
         memory management            01/01/70 00:00      
            it would not            01/01/70 00:00      
               more help            01/01/70 00:00      
                  Search engines?            01/01/70 00:00      
                     confused            01/01/70 00:00      
                        No exact answer            01/01/70 00:00      
                        Type of Thinking            01/01/70 00:00      
                           I second that            01/01/70 00:00      
                              doubt - interfacing memory with 8051            01/01/70 00:00      
                                 Why would you want to            01/01/70 00:00      
                                    Don't overlook the "extras"            01/01/70 00:00      
                                    why to use my own design            01/01/70 00:00      
                                       which is corect, but            01/01/70 00:00      
                                       Wrong approach for India            01/01/70 00:00      
                                          my approach + new doubt [start execution]            01/01/70 00:00      
                                             Perhaps you've overlooked some options            01/01/70 00:00      
                                                my circuiting & a Really surprising, Good Board            01/01/70 00:00      
                                                   Not all 805x variants are the same             01/01/70 00:00      
                                                   Besides 8051 there are other....            01/01/70 00:00      
                                                   BEWARE            01/01/70 00:00      
                                                      Shortest path            01/01/70 00:00      
                                                   use direct wiring when using point-to-point            01/01/70 00:00      
                                 Are you determined to fail?            01/01/70 00:00      
                           SiLabs isn't the only possible solution            01/01/70 00:00      
                        Have you considered the datasheet(s) and 8052.com's search?            01/01/70 00:00      

Back to Subject List