zuisti
Advanced Member level 1
If I define a custom character that uses the lowest (8th) pixel row also, this row is never displayed, although the HD44780 datasheet says this:
The 8th line is the cursor position and its display is formed by a logical OR with the cursor. Maintain the 8th line data, corresponding to the cursor display position, at 0 as the cursor display.If the 8th line data is 1, 1 bits will light up the 8th line regardless of the cursor presence.
This is not the case in Proteus, so we cannot display a 8 pixels high custom character. Try it.
Another problem:
My BarGraph library is intensively using the last predefined LCD character (numbered as 255). It's a fully filled (solid) char, ie all pixels lit. But how much is its height? 7 or 8 pixels? In Proteus this height is always 7 pixels (corresponding the above), and I took that into account.
The library was developed (and tested so far) in Proteus. It works perfectly in the simulator:
http://www.libstock.com/projects/view/936/lcd-bargraph-library
However, now I built a simple PIC16F628A circuit on a breadboard to show the bargraph. It controls a 30 years ago -)) used LM054 type Hitachi LCD, I have. It has surprisingly been found that this really old LCD displays the chr 255 in height of 8 pixels, ie the bargraph works flawlessly, but the 'whole' characters (for this I use the chr 255) are all 5x8 pixels while the on the fly defined partial character is (max) 7 pixels high. Not so nice ...
Of course, I looked on the net also, but there are character-tables show 5x7, others 5x8 pixels for the chr 255. I'm confused ...
What's about the newer LCDs? Please try it and tell me.
If today's LCDs are like this old one, have to rewrite the bargraph library, using an additional custom 5x7 pixels 'whole' char. Solution would be if the custom 'partial' character is (max) 8 pixels high, and the resolution of the pixel-bargraph have to change from 5x7 to 5x8 (40, not 35), but this does not work in Proteus, due to the bug of the LCD model it cannot display the bottom (8th) pixel-line.
Please tell me what are your experience in Proteus and also in the reality. I'm using the Proteus v7.10, but what's happening in the version 8.x?
Thanks in advance
zuisti
The 8th line is the cursor position and its display is formed by a logical OR with the cursor. Maintain the 8th line data, corresponding to the cursor display position, at 0 as the cursor display.If the 8th line data is 1, 1 bits will light up the 8th line regardless of the cursor presence.
This is not the case in Proteus, so we cannot display a 8 pixels high custom character. Try it.
Another problem:
My BarGraph library is intensively using the last predefined LCD character (numbered as 255). It's a fully filled (solid) char, ie all pixels lit. But how much is its height? 7 or 8 pixels? In Proteus this height is always 7 pixels (corresponding the above), and I took that into account.
The library was developed (and tested so far) in Proteus. It works perfectly in the simulator:
http://www.libstock.com/projects/view/936/lcd-bargraph-library
However, now I built a simple PIC16F628A circuit on a breadboard to show the bargraph. It controls a 30 years ago -)) used LM054 type Hitachi LCD, I have. It has surprisingly been found that this really old LCD displays the chr 255 in height of 8 pixels, ie the bargraph works flawlessly, but the 'whole' characters (for this I use the chr 255) are all 5x8 pixels while the on the fly defined partial character is (max) 7 pixels high. Not so nice ...
Of course, I looked on the net also, but there are character-tables show 5x7, others 5x8 pixels for the chr 255. I'm confused ...
What's about the newer LCDs? Please try it and tell me.
If today's LCDs are like this old one, have to rewrite the bargraph library, using an additional custom 5x7 pixels 'whole' char. Solution would be if the custom 'partial' character is (max) 8 pixels high, and the resolution of the pixel-bargraph have to change from 5x7 to 5x8 (40, not 35), but this does not work in Proteus, due to the bug of the LCD model it cannot display the bottom (8th) pixel-line.
Please tell me what are your experience in Proteus and also in the reality. I'm using the Proteus v7.10, but what's happening in the version 8.x?
Thanks in advance
zuisti