Category Archives: About Graphic LCD

About the Toshiba T6963C LCD Controller

About the Toshiba T6963C LCD Controller

The Toshiba T6963C graphics controller chip is designed to control small to medium size graphic Liquid Crystal Display modules (LCD). It may be interfaced with a number of different 8-bit micro-processor units (MPU) such as the Z-80 or the 80C51/80C52.

It provides the necessary interface between the MPU and the video RAM (VRAM). It also generates the necessary timing and data signals for the liquid crystal driver circuits. It has a 128 character Character-Generator ROM (CG-ROM) and has the capability to control upto 64K bytes of external display RAM (VRAM). This VRAM may be allocated for text, graphics and external character-generator RAM (i.e. a user definable character generator). The T6963C can support a wide variety of LCD formats and has the ability to combine text and graphics data on to the LCD. A number of character attribute functions are also available.

Main Functions and Features of T6963C

– Simple 8-bit parallel interface
– Hardware Selectable Display Formats: Columns: 32, 40, 64, 80 – Lines: 2, 4, 6, . . . . . 28, 32
– Hardware Selectable Fonts(W) x (H): 5×8, 6×8, 7×8, or 8×8
– Programmable Duty Cycles: 1/16 to 1/128
– Internal 128 character CG-ROM
– Software allocation of Text, Graphic and Character Generator RAM (CG-RAM)
– Ability to mix and merge text with graphics
– Low power CMOS design
– Operates up to 5 MHz

The Aslic AX6963 , The RAIO RA6963 are T6963 compatible LCD controller devices

Bitmap2LCD supports the T6963c 6 bit display mode

An Explanation of LCD Viewing Angle

An Explanation of LCD Viewing Angle

Definition of Bias angle & Viewing angle:

Since LCDs have limited viewing angles, they tend to lose contrast and become hard to read at some viewing angles. Generally the size of the viewing angle is determined by several factors primarily the type of Liquid Crystal fluid and the duty cycle. Because the viewing angle tends to be smaller than most people would like, a bias is designed into the module at the time of manufacturing.
This means the nominal viewing angle is offset from the perpendicular by some amount. Therefore; several LCD versions are offered with this bias set to different angles or positions to accommodate as many applications as possible. The termBias angle is often used erroneously with the term Viewing angle..
The Bias angle is the angle fromthe perpendicular fromwhich the display is best viewed.
This angle is determined when the display is designed and can be set at any angle or orientation.
The orientation of the Bias angle of a LCDdisplay is often stated with reference to a clock face.
If the offset is above the display, it is referred to as a 12:00 or Topview.

The View angle isthe angle formed on either side of the Bias angle, where the contrast of the display is still considered acceptable. Generally, this contrast is specified as 1.4:1. A typical STN character display running at a duty cycle of 1/16 has a viewing angle of ±20 degrees and a bias angle of 25 degrees.
For example, assume the display is a 12:00 (top view) type. When the display is viewed from 25 degrees above the vertical, it will be at its maximumcontrast and best look. If the viewer moves their eyes further above the display by an additional 30 degrees, theywill see a contrast reduction, but the display will still be readable.

Moving the view position any further above the display will reduce the contrast to an unacceptable degree.

Source PDF =>http://www.newhavendisplay.com/app_notes/LCD_Viewing_Angles.pdf

 

The LCD Glossary

The LCD Glossary

1/4 VGA
Resolution of 320 x 240 dotsCCT
Cold Cathode Tube

C/F
Color Filter

COF
Chip-on-Flex

COB
Chip-on-Board

COG
Chip-on-Glass

CR
Contrast Ratio

DBEF
Dual Brightness Enhancement Film

DSM
Dynamic Scattering Mode

DSTN
Double Super-Twisted Nematic

EL
Electroluminescent Light

FEM
Field Emissive Mode

FSTN
Film Super-Twisted Nematic

HTN
High Quality Twisted Nematic

ISTN
Improved Super-Twisted Nematic

ITO
Indium Tin Oxide

LCD
Liquid Crystal Display

LCDP
Liquid Crystal Display Panel

LED
Light Emitting Diode

MLA
Multi-Line Addressing

MTN
Modulated TN

PLCD
Plastic Liquid Crystal Display

RGA
Returned Goods Authorization

SRC
Super Reflective Color (Birefringent Color)

STN
Super-Twisted Nematic

TAB
Tape Automated Bonding

TCRF
Temperature Compensation Retardation Film

TC-STN
Temperature Compensation Super-Twisted Nematic

TDF
Transflective Display Film

TFT
Thin Film Transistor

TN
Twisted Nematic

VGA
Resolution of 640 x 480 dots

VHC
Very High Contrast (Technology used for Static or duty automotive
products with CR 1000:1)

WTN
Wide Viewing Twisted Nematic

WVF
Wide Viewing Film

Source : Optrex Website

About Touch screen / Touch panel

About Touch screen / Touch panel

:: General Informations collected on the Internet , moved from the bitmap2lcd forum ::

 

4-WIRE ANALOG RESISTIVE TOUCH SCREEN

The active layers of a 4-wire type touch screen consist of a partially conductive (resistive) coating applied uniformly to the panel. Conductive bus bars are screened with silver ink across opposing edges of the panel.

The ridged and flexible panels are mounted with the bus bars perpendicular to each other.

Measurements are made by applying a voltage gradient across one of the layers and measuring the voltage on the other layer. This measurement is made twice, once with the
gradient across the ridged layer and the measurement taken from the flexible layer and again with the gradient applied to the flexible layer and the measurement taken from the ridged layer.

The gradient is usually produced by grounding one bus bar and applying +5v to the other bus bar. This will produce a smooth voltage gradient in one axis across the panel.

With a 4-wire touch screen two separate setups and measurements are required, one in the X-axis (left-right) and one in the Y-axis (up-down) to define the touch point. Figure 2
illustrates the setup for making the two measurements. The actual switching of the 4 touch screen connections is done using an array of low on-resistance FET transistors and the
voltage measurements are made with an A/D converter. The host micro controller controls both these elements. When a layer is being used as a sens layer all other connections to
that layer must be left floating.
The resistance of the bus bars and the connection circuitry introduces an error (offset) in the voltage measurements.
These offsets can also drift with changes in temperature, humidity and time. If the touch screen is to be used only with a finger the offsets will constitute a small percentage of the voltage represented by the large size of the finger and can be ignored. If, however, the touch screen is to be used with a stylus for drawing or signature capture then these offsets should be taken into account. This can be done by calibrating the screen periodically or by utilizing an 8-wire touch screen.

8-WIRE ANALOG RESISTIVE TOUCH SCREEN

8-wire touch screens compensate for drift by adding 4 additional reference lines. This allows the voltage to be measured directly at the touch screen bus bars. Note: you can use an 8-wire touch screen in 4-wire mode by connecting the drive and reference lines together. Use of this type of touch screen won’t eliminate the need for an initial calibration of the touch screen but should eliminate the need for any subsequent calibrations.

The simplest way to connect an 8- wire touch screen and take advantage of its benefits is to use a ratio-metric A/D converter supplying the reference voltages fromthe touch screen directly into the references of the A/D converter.

5-WIRE ANALOG RESISTIVE TOUCH SCREEN

The 5-wire touch screen differs from the 4-wire type mainly layer, the ridged layer, while the other layer is the sense for making the measurements.

The sequence of events during the measurements is this. The voltage gradient is set up on the x-axis and a voltage measurement is taken from the sens layer.

The voltage gradient is then switched to the y-axis and another voltage measurement is taken from the same sense layer.

Hantronix Source Application Note

PDF => A Hantronix application note about analog touch screens

List of touch screen controller integrated circuitsTexas intruments / Burr Brown

TSC2000 / TSC2003 / TSC2005 / TSC2046
ADS7846
ADS7843

Maxim

MAX11801 / MAX11801 / MAX11803
MAX11810 / MAX11811
MAX1233 / MAX1234
MAX7843 / MAX7846
MXB7843 / MXB7846

ST Microelectronics

STMPE811

Atmel

AT42QT4120 / AT42QT4160

National Semiconductors

LM8300 / LM8500

DMC

TSC-40

Microchip

AR 1000 / AR1010 / AR1020

PDF==>
4 and 5W touch screen Application note from Atmel

 

About GLCD Contrast

About GLCD Contrast

:: General Informations collected on the Internet , moved from the bitmap2lcd forum ::

Application note about LCD contrast Control  >> PDF =>About LCD contrast Control

More about Negative Contrast Voltages :

Some modules just need a potentiometer or a positive voltage for contrast adjustment. Some models have it just programmable in registers.

Some other like some T6963c controller based modules without on module charge pump can need an external negative voltage ! Check the data sheet !

You can for example take the negative voltage out of the MAX232 when using one…

You can use a MC34063 for generating the negative voltage.
They are manufactured by ST Micro, Texas Instruments, and On Semiconductor.

Another possible solution is to use two charge pumps ICL7660 or MC7660 or TC7660 in cascade…

PDF ==>See Microchip Appnote for TC7660

Driving the contrast voltage from a PWM output is a recommended solution => Button contrast control. If an on board temperature sensor is present, you can even have an automatic contrast/temperature adjustment when not using an extended temperature grade device.

LCD CONTRAST ADJUSTMENT WITH TEMP COMPENSATION

Due to the contrast versus voltage versus temperature characteristics of liquid crystal fluids, and the sensitive nature of display drive voltage during multiplex operation, it may become necessary to compensate the LCD drive voltage for applications where the display is subjected to wide temperature excursions. For a typical Liquid Crystal fluid, with a negative temperature coefficient, an under voltage condition with diminished display contrast will result at low temperatures, and a “ghosting” or overdrive condition will occur at high temperatures, if no compensation techniques are employed. So if your application requires good contrast over a large temperature range, you may need to consider temperature compensation for your contrast adjustment circuitry.

When using an LCD module, one solution is to order an automatic temperature compensation option ( if available)

About LCD backlight

About LCD backlight

:: General Informations collected on the Internet and moved from the bitmap2lcd forum ::

Densitron Application Note

EL Lighting

An electroluminescent (EL) lamps electrical characteristic is similar to the two conducting surfaces of a capacitor (light-emitting phosphor layer) with a dielectric layer between. EL lamps illuminate when powered with AC power. As voltage is applied to the conductive surfaces, an electric field is generated across the phosphor and dielectric layers. Twice during each cycle electrons are excited and emit light through the transparent front electrode.

A typical electroluminescent lamp comprises a transparent conductive base. In general, polyester film having a thickness of 175-micrometer with an indium-tin (ITO) oxide coating is used for this purpose. These ITO films are manufactured by vacuum sputtering techniques. Screen printing the conductive paste is another method.

Advantages of EL

The main advantages of using EL technology can be classified as:
• Very Thin – less than 0.010”(0.254mm)
• Midnight hour back light solution
• Up to 90% uniformity
• Low current – 10 to15 mA (with matched inverter circuit)
• Low tooling costs – @$1000
• Simple prototypes – cut to size prototype kits
• Performs well at temperature extremes
• Ready source of supply
• (Dupont) – Compatible materials chemistry
• Good durability
• Technology allows holes for indicator lamps, mounting keypad posts
• Micro-encapsulated phosphors & moisture resistant binders equals good shelf life
• Cell phones – LCD & keypad with one lamp

Disadvantages of EL

The main disadvantages of EL technology are:
• Short ½ life
• Power considerations
• AC Device – typically requires inverter for power conversion
• Inverter circuits require @1/4 square inch of PCB space
• High voltage and frequency (40-80 VAC & 600-1200Hz)
• Inverter and lamp emit EMI and RFI
• UV ages phosphor
2.3 General applications for EL
Some of the application areas where EL is suitable for the design, can be classified as:
• Limited or intermittent duty cycles
• @2000 hour ½ life (with inverter circuit)
• Shelf life is indefinite
• Initial brightness of 15 to 20 FL
• Fairly short lead times
• Mechanical design issues are minimal
• Made to any 2-dimensional shape

LED Backlights

LEDs are the most commonly used light source in small to mid size LCD displays backlights.
Current LED Based Technologies can be classified as follows:
• Fiber Optic
• LED Arrays
• LED Edge lit Light guide
• Small to Large Format TFT Backlighting

Recent trends in LEDs

Due to the advantages and changes in the LED technology, LEDs are said to be replacing light bulbs in the near future. We can attribute some of the recent trends in the technology to the following points:
• All LED colors are now readily available from multiple sources
• Small surface mount packages increase design flexibility and manufacturability
• Surface mount, tape and reel, tooth pick PCB & flex mounted LEDs
• LEDs are satisfactory for backlighting small and medium size color LCDs
• Competition driving costs down for white, blue and true-green LEDs (Indium Gallium Nitride (InGan) type)
• Achieving greater stability in color reproduction, green, white & blue
• Brightness and efficiency are continuously improving
• Piranha type packaging, process improvements, and larger chip sizes mean even brighter LEDs

Advantages of LEDs

The main advantages of LEDs are:
• Long Service Life
• 100,000 hours time to ½ life- YG, Red and Amber
• 50,000 hours Green
• 20,000 to 40,000 hours for Blue and White
• Good environmental performance including high UV, high temperature and high humidity resistance
• High MBTF
• Solid state chip embedded in epoxy- nothing to break or burn out
• LED consumption is increasing, driving costs down
• Low heat generation
• No EMI or RFI
• Low Power (5 to 30 mA at 3.6 or 2.2 Vdc)
• New narrower beam, light focusing packages that are better utilized in light guides
• Many color choices

Disadvantage of LEDs

The main disadvantages of LEDs are:
• Sensitive to ESD
• Sensitive to voltage spikes
• Heat dissipation in some applications
• Not true full spectrum White LED (unless tricolor)

LEDs application notes

LEDs are current driven devices, so when the design requires the use of LEDs, the engineer must always consider the total current drain on the design or manage the power budget correctly to include the LEDs power consumption. Below are some design criteria to follow:
– Low voltage DC
– Constant current desirable
– Otherwise, use voltage plus resistor

 

Array LED Backlights

LED ARRAY
– Available in multiple LED colors including Yellow Green, Red, Amber and Blue
– White and Green typically too expensive to design in array type.
– LED chips Surface Mount in an evenly Spaced Matrix
– Use for Maximum display brightness

Advantages of array LEDs

– Highest LED Brightness – over 150 cd/m2 (Light is directly from LED Chip)
– Highest uniformity – 80% +
– Few Development Issues
– Hi-Reliability and MBTF
– Low Development costs

Disadvantages of array LEDs

-Minimum thickness of around 4.5mm
– Higher Current draw compared to edge lit LED Light guides
– Potential Heat issues
– Mounting Features not possible as with Molded Light guide

Edge lit LED lightguides

LEDs can be built to the side of the plastic light guide, achieving low LEDs counts for the design and thinner overall construction. This is now one of the most common designs used in LCD display Backlighting.

Fiber Optic Backlights

Fiber optic backlights use sheets of fiber optic cloth to create LCD backlights of custom shapes, sizes and configurations. In a typical design, there will be two or more layers of fiber optic cloth to form a rectangular light emitting area. The design is typically 0.068” (1.7mm) thick and anywhere from 1 sq inch to over 100 sq inches. The fibers coming off one end are then bundled into a circular ferrule and coupled to one or more LED light sources.

Advantages of fiber optic backlights

The main advantages in using a fiber optic backlights can be classified as:
• LED based so up to 100,000 hours of lifetime
• Low power (5 to 30 mA at 2.2 or 3.6 VDC)
• Lights large areas with 1 LED (up to 24 square inches or more)
• Available in small to mid range volumes
• Thin (starting at 0.013”, 0.33mm)
• Explosion proof requirements
• Fast prototype turnaround (2 weeks or less)
• No heat at the panel
• No EMI
• Rugged construction
• Wide temperature performance
• Uniformity acceptable for most applications
• Flexible, pliable construction

Disadvantages of fiber optic backlights

The main disadvantages can be classified as:
• Relatively high cost @$4 for a 3-4 square inch (woven) and $2-$3 including the LED
• All LED disadvantages
• Fiber bundle is difficult to package
• Uniformity not as good as with other technologies
• Standard is +/-30% for panels up to 10 inches
• Requires through-hole LED (T 13/4 package)
• Doesn’t lend itself to automatic assembly techniques

General applications of fiber optic backlights

Recommended
• Low Power- Effective backlighting can be achieved with 1 LED
• Lights mid to large LCDs needing low power
• Low Volume
• (Low NRE)
• Mid-high piece price
• Applications with space
• Multiple Display colors needed
• Explosion proof requirements
• MRI equipment
• High brightness with an incandescent light source or High brightness LED

Cold Cathode Fluorescent Backlights (CCFL)

CCFL backlight technology is usually implemented in medium size to large size LCD displays.

In the cold cathode fluorescent lamp construction it typically includes a hollow glass cylinder that has been coated on the inside with a phosphor material composed of rare earth elements such as zinc silicate and various types of halophosphates.

The tube is then sealed at both ends, each of which also contains a gettered, mercury-dispensing electrode and an iron-nickel cathode connected to copper sheathed iron alloy leads. Lamps normally contain 2 to 10 milligrams of mercury, and a mixture of gasses such as argon and neon.

When high voltage is applied to the electrodes, ultraviolet energy at 254hm is produced as the mercury and the internal gasses are ionized. The resulting ultraviolet energy from the mercury discharge stimulates the phosphor lining inside the lamp producing visible light output in the 380 to 780nm range (also known as the photopic region).
Some features of CCFL backlight as follows:

– Light source: CCFL (Cold Cathode Fluorescent Lamp)
– Long work-life: 25,000 to 50,000 Hours
– Light color: Full Spectrum White
– Brightness: 1800cd/meter2
– Uniformity: 80% or more
– Applications: Photocopiers, PDAs, Industrial Equipment & Heavy Machinery

Advantages of CCFL

Some of the advantages in using CCFL technology are:
• High Brightness of 2000 to 5000 cd/m2 (depending on technology)
• Full spectrum whites for good color balance
• Easy to achieve display uniformity
• Thin profiles (2 mm & less) available for tight packages
• Long service life (up to 50,000 hours)
• Power efficiency (1 to 5 watts depending on inverter and number of tubes)
• Efficacy- high power vs. light output ratio
• Infinitely dimmable between 20 and 100%
• Well established technology in many applications
• Works well with BEF and Microgroove technology

Disadvantages of CCFL

Major disadvantages of CCFL technology can be classified as:
• High voltage and frequency
• Some systems -1000 Vac & 30-40KHz
• Glass tubes can require special handling & packaging
• Tube thickness can be an issue
• Not a good choice in small portables
• Thinner tubes have lower output (less phosphor surface means less light)
• Inverters require 25 X 100 mm of PCB space
• Flicker
• Cold starts & low temperature performance

General applications for CCFL

Ideal applications to consider CCFL backlights would include designs that:
• Requires high brightness
• mid to large format TFT/AMLCD displays
• Surgical instruments
• High contrast
• High ambient lighting or sunlight readable applications
• High brightness portables with 2 mm tubes
• Displays with highly reflective transflectors

 
Conclusion about LCD backlights

There are many choices in today’s market for one to select the right technology and each technology has its own advantage and disadvantages. The choice of technology depends on the intended application; whether it is a small size portable application or a large sized home entertainment devices. The correct choice of backlight technology will help boost the optics of the display improving brightness, contrast, and color of the end product.
So, when the question is “What backlight technology do I choose for my display?”, the following factors for the design should be considered:

• Brightness
• Cost
• Schedule
• Mechanical constraints
• Power budget
• Color
• Uniformity
• Environment
• Product Lifetime

 

About the small graphic LCD (GLCD Programming)

I) A Brief History Leading up to Small Graphics

With the ever increasing struggle to keep up with technology, more and more engineers
are given the difficult task of integrating state of the art optical devices into their products. And with this task comes the unpleasant job of coming up with the software to interface to these new devices. The most common optical device in the commercial marketplace is the Liquid Crystal Display (LCD). The LCD industry has broken down this technology into three main areas; Segmented, Alphanumeric, and Small Graphic Displays.

Both the Segmented and Alphanumeric displays are very limited in their capabilities in
the sense that they just display numbers and characters. Often times these types of displays are sufficient to meet the requirements of the product being manufactured. But with our current era of multimedia, the customer expects to see a lot more out of their new product.
This brings us to an area of LCD’s that currently has the attention of most of the world.
This is the area of Small Graphic LCD Displays. While Small Graphic Displays have been
around for sometime, they have never been so compact and cost effective as they are today. A Small Graphic Display will usually range in resolution from 32×80 to 240×320 (240 pixels down and 320 across). The Small Graphic display is fully graphical, which means the pixels are configured tightly side by side, so as to resemble a miniature laptop computer screen. With a full graphic display there is no end to what you can visually represent. If your goal is to simply display text, you can do that in whatever font, size, and attribute you desire. As well as displaying things like logos, graphs, charts, or any other image that will differentiate your
product from the competition.

II) Hurdles in Upgrading Your Display

The main reason a lot of companies have not upgraded their display devices to a Small
Graphic Display is due to the misconception of the added cost and bulk of a larger display. But with new advancements in LCD technologies, Small Graphic Displays can now be found in sizes that are comparable with the other types of LCD displays and at roughly the same price. So you might ask yourself what other reason could there be to keep my company from upgrading our display to a more attractive and powerful Small Graphic LCD. The main hurdle in upgrading your display lies in the software.

Most LCD displays have a built-in controller that maps their memory and controls the
signals that are sent to the display drivers. These controllers are made to interface in a parallel fashion to a microprocessor. This means that all the software written for the display will be done in a low level language like C++ or Assembly code.

If your display is Segmented or Alphanumeric, then the amount of data needed to control
the display is relatively small, due to the fact that the controllers on these displays have a built in ROM that stores predefined numbers and characters. So all you have to do is place your cursor to the appropriate place on your display and define which character should be placed there.
But if you upgraded to a Small Graphics Display (say 240×320) and you want to display a
screen full of graphical images, then you would have a total of 76,800 pixels that must be either
turned on or off by your program. Now most companies will create small subroutines that
construct 8×8 or 8×16 character sizes, and refer to these subroutines when constructing their screen. But if that is the extent they are going to use their Small Graphics Display then they are no better off than if they went to a larger Alphanumeric Display. To take advantage of all 76,800 pixels would require a compilation of an extreme amount of data. And without the aid of any higher level language to help out, this data would have to come from manually created designs and drawings on special graph paper. Each picture would then have to be converted into 9,600 bytes of data. This time becomes exponential when we consider the amount of images most companies would like to create, along with the usual rework that will accompany this process.
By the time the final software becomes complete, the end product might not be on the cutting edge anymore and they would have been better off staying with their old Alphanumeric Display.

III) The Software Solution

The solution explained in this document is in the combining of the high level language of
Microsoft Windows™ with the low level assembly code or C++ of the users program. The end
result is perfect bitmap pictures on your LCD screen that are defined, edited, and brushed up in Microsoft Paint™, or any other bitmap generating program.
The unit shown above is Densitron’s 240×320 Small Graphic Display along with their
HLX80C51 Prototyping kit. The HLX kit has an 8051 based microprocessor and 64K Bytes of
flash memory on board. The assembly code running this display is 400 lines long. This
incorporates the initialization code, display commands like clear, and the subroutines for
painting the display with the bitmap images. By using the technique outlined in this document to incorporate bitmap pictures onto the LCD display, the user program size will remain the same, about 400 lines, but the data will be extracted out of a bitmap image. Not only is this time reducing, but the pictures are more easily drawn, edited, and copied from other software applications available in Windows or on the Internet.
To create your bitmaps you can use any bitmap program available to you. The program
we are using to explain this procedure is MS Paint™. After opening up this program, the
“Attribute” menu should be selected. At the prompt you can enter the LCD display size you will be using. Then choose the “monochrome bitmap” option in this window. You can now close the “Attribute” window and start drawing, typing, or pasting in all the images you want to use. Once you have saved all of the pictures you will be using, then the bitmaps should be attached to the end of your assembled or compiled program in the order they are to be used. This can be done by using the COPY/B command in DOS. The COPY/B differs from the regular COPY command by copying directly as a binary format, and not adding an additional byte of data at the end as is done when using the COPY command for DOS text files.

For these attached bitmaps to be of use you must have a subroutine in your program that
can pull the data out of the lower memory and send it to the display. This requires knowledge of how the bitmap information is stored.
For a bitmap program, the first 62 bytes of data call out the protocol for the rest of the
bitmap code (like the type, size, and layout of the bitmap). Since this information will already be known (monochrome and layout dimensions), the first 62 bytes can be skipped. The 63rd byte will define the first eight pixels in the lower left hand corner of the display. The following bytes will then be sent sequentially to the screen until you hit the right hand edge of your display. The next byte will either be the first byte on the next row up (on the left hand side), or it will be a padded zero that the bitmap program has placed in there to maintain certain integers for row length.
Padded zeros are used when the number of bytes in a row are not divisible by 4. So if you
had 16 bytes of data per row (16×8 = 128 pixel across), then you would have no padded zeros
because 16 is divisible by 4. But if your number of bytes of data per row was 30 (30×8 = 240
pixels across), then 4 would not go evenly into 30. At this point we would round up the number to the nearest integer that 4 will go into. This number would be 32. And since we have 30 bytes of data, 32-30 = 2; so there are 2 bytes of padded zeros in your bitmap before the next line of data begins. Your internal program will have to reflect this and disregard these zeros before going on with the 33rd byte of data. (see Table 1 for quick reference to your display) So for example, if you had a 128×240 display, you would set up your assembly code so it would strip off the first 62 bytes of data from the bitmap file and discard that information. The 63rd byte would be the first byte in the lower left hand side of the LCD display. Then the next 29 bytes of data (240÷8 = 30) would get placed directly to the display. Now the next 2 bytes (the padded zeros – see Table 1) must be discarded. The next byte of data will then be placed in the next row up and over on the left hand side. The user will continue this process until he has walked up the display all 128 lines.
Table 1 – Correlation between bitmap resolution and padded zeros

Bitmap Resolution – Bytes Per Row – Padded Zeros Per Row – Totals Divisible By 4

32×80                                10                                2                                   12
32×202                              26                                4                                   30
33×100                              13                                3                                   16
64×128                              16                                0                                   16
64×240                              30                                2                                   32
64×480                              60                                0                                   60
128×128                            16                                0                                   16
128×240                            30                                2                                   32
128×256                            32                                0                                   32
200×640                            80                                0                                   80
240×320                            40                                0                                   40

If you access the upper bitmap memory by using the data pointer address in your
microprocessor, then once you paint the first page and increment the data pointer, you will be looking at the first byte of the next picture in your list. There is one thing to remember about a bitmap that is different from a LCD display. In bitmap programs, a 1 in binary is an “off” pixel and a 0 in binary is an “on” pixel. This is the opposite on the LCD. So the user will need to perform an “Exclusive-Or” with the number “FF Hex” and the data to be placed on the display.
This operation will turn the bytes around so they may be viewed properly. If you don’t do this
operation, your picture will be the inverse image of your original picture.
For an example of the subroutine that extracted the bitmap data to produce the picture
above, please see the 8051 assembly code listed below. The display above is a 240×320 Small
Graphics Display with a SED1330 controller chip. If you are using a display that is not using the SED1330 controller chip, this same code can be used with modifications to the WRCMD and WRDATA subroutines and possibly some alterations on the direction the data is clocked in. The direction used in the SED1330 is the same as the T6963 controller chip. If you are using the HD61830 you will need to switch the direction of the data being clocked in (i.e. D7 becomes D0,D6 becomes D1, etc.)

Note : Please read the article source at the end of this message to find the assembly program example !

There are a lot more tricks associated with the individual controller that you choose to
use. Some of them write the data left to right, some go right to left, and some go up to down.
You will have to slightly vary your address pointer on the LCD display to accommodate this.
There are also other tricks with using the pictures to act as your display background while you move discrete bytes of data around inside the image (like in a video game). Densitron
Corporation has more information on these processes and how they can be implemented in your particular display. If you would like more information on anything in this application note,please contact Todd Fitzsimmons at Densitron Corporation America at 562-941-5000×247.

Submitted by Todd Fitzsimmons
Electrical Engineer
Densitron Corporation America
4/23/98

Source PDF @ Densitron

 

Displaying Bitmap Images Easily on Small Graphic LCDs

Bitmap2LCD is a tool for programming small Graphic LCDs in embedded systems and a programmable graphic and text processing tool.

In systems with relatively fast CPUs and small (quarter VGA or less) LCDs, there is no need for an LCD controller. The microcontroller (MCU) can do the job of the LCD controller on the side, refreshing the display in an interrupt service routine. The MCUs memory is used as video memory.

Advantages of this approach include the following:

– Very fast update of display possible.
– Eliminating the LCD controller (and its external RAM) reduces hardware costs.
– Simplified hardware design.

The disadvantage is that much of the available computation time is used
up. Depending on the MCU, this can be anything between 20 and almost 100 percent; with slower MPUs, it is really not possible at all.

Source