ChipCenter Questlink
SEARCH CHIPCENTER
Search Type:
Search for:




Knowledge Centers
Product Reviews
Data Sheets
Guides & Experts
News
International
Ask Us
Circuit Cellar Online
App Notes
NetSeminars
Careers
Resources
FAQ
EE Times Network
Electronics Group Sites

Looking Good


Circuit Cellar Online
THE MAGAZINE FOR COMPUTER APPLICATIONS
Circuit Cellar Online offers articles illustrating creative solutions
and unique applications through complete projects, practical
tutorials, and useful design techniques.

LOOKING GOOD

Silicon Online Using a Graphics-Based LCD
Module with C

by Bob Perrin and Tak Auyeung

Start ý Software Overview ý The Bottom Layer ý Initializing the LCD Display ý Shadow Display ý Drawing Dots and Lines ý Printing Text ý Extensions ý Sources and PDF

INITIALIZING THE LCD DISPLAY

The lcdInit() function initializes the LCD display for normal operation. The function first configures the bit-addressable I/O port properly and performs hardware reset. Then the driver software sends a software-reset command to the LCD module. Next, the software driver sets up the power supply for the LCD module. The Hantronix HDG12864F-1 module uses a Epson SED1565 LCD controller. This LCD controller has three on-chip features to provide the negative voltage for contrast control.

For a 5-V single-supply system, the Hantronix HDG12864F-1 recommends setting the 5-V regulator internal resistor ratio to 4 (out of 7); enabling the booster, voltage regulator, and voltage follower circuits; and setting the electronic volume (contrast) control to 0 x 24 (36) out of 0xff (255).

As with any LCD controllers, it is important to set up the display hardware before enabling the display. The last step in lcdInit() enables the display.

PIXEL ARRANGEMENT

The arrangement of pixels on the Hantronix HDG12864F-1 is awkward and deserves discussion. For consistency purposes, up or top refers to the side of the LCD module where the interconnect cable is located. Furthermore, we use the x,y coordinate convention, which denotes the pixel on column x and row y. Column 0 is the first and leftmost column. Row 0 is the first and top row. In other words, (0,0) is the pixel at the top-left corner.

Deadline May 1, 2000
have you submitted your entry yet?

Connect Your PIC to the Internet

Now, Getting Connected to the
Internet Can Earn You Cash.

Win your share of $26,500 CASH
plus great Development Tool Prizes!

More information

 

The LCD comprises eight pages. Each page is a 128-pixel wide by 8-pixel high rectangle. Page 0 refers to the rectangle with (0,0) as the top-left corner, and page N+1 is eight pixels below page N. A register on the Epson SED1565 stores the address of the current (or active) page. The command to set the page address is abstracted as the lcdPageAddressSet macro.

Each page is comprised of 128 columns. Each column is eight pixels high and one pixel wide. Each column in a page is represented by a byte in which bit 0 is the top pixel of the column. The most awkward aspect is that the first column of a page is the right-most column. This is backward compared to most coordinate conventions. A register on the Epson SED1565 maintains the address of the current column. This backward horizontal pixel arrangement does not affect the API, because the driver translates the commonly used leftmost-is-first orientation to the LCD specific orientation. The command to set the column address is abstracted as the lcdColumnAddressSet macro.

Note that writing to the display data (using the macro lcdDisplayDataWrite) automatically increments the column address. However, at the end of a page, the page address is not incremented. Furthermore, if the page address is altered, the column address remains the same.

PREVIOUSNEXT


Circuit Cellar provides up-to-date information for engineers. Visit www.circuitcellar.com for more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com or subscribe online. ýCircuit Cellar, the Magazine for Computer Applications. Posted with permission.

Click here to get your listing up.

Copyright © 2003 ChipCenter-QuestLink
About ChipCenter-Questlink  Contact Us  Privacy Statement   Advertising Information  FAQ