Graphics support
   Cross Platform
   Release notes
   Get it
Keil LCD extension
Display library


With the T6963C based graphical LCD extension for Keil uVision, it is possible to simulate your user interface using your development tool. With this DLL, you can debug your UI code more easily.

DLL has two different versions for C51 and ARM architectures. For both versions, IO port addresses are hardcoded in the DLL. The INI file is common for both versions, but some parts/configurations may be invalid for ARM.

Click to download the DLL and the INI file: [C51 | ARM]

To install the DLL,

  • Extract the DLL to the subfolder c:\keil\c51\bin or c:\keil\arm\bin (c:\keil part depends on your installation)
  • Extract the INI to the subfolder c:\keil\uv2 or c:\keil\uv3
  • On the debug tab of the project options window, append "-dt6963c" to the parameter part.

After the installation, you will see "T6963C LCD Controller" option in the "Peripherals" menu, during the program debug session.


This virtual LCD controller can work in 3 different modes:

  • IO port access mode: Both LCD control pins and data port are connected to the IO ports of the micro.
  • Mixed mode access: While the LCD control pins are driven by the micro's IO pins, LCD data port is connected to the data bus.
  • Memory mapped mode: Firmware on the micro is only aware of two registers on the XDATA address space. All the control pins are driven by some external HW.

All three modes are examplified in the INI file, with some simplied diagram.

In the INI file, you can use P0, P1, P2, and P3 ports with their pin definitions like P0.2. To provide the XDATA address, you need to type the address in hexadecimal mode. Check the INI file for some examples.

The INI file is used to configure some additional parameters of the DLL. These parameters are explained below:

Default Value
(if the parameter omitted)
PixelSize 1 The size of the pixels of the LCD. Used to zoom in the LCD.
LCDHeight 128 The height of the LCD, in pixels
LCDWidth 240 The width of the LCD, in pixels
BackGround D3FFD3 (green) The background color for the LCD, in HEX.
ForeGround 000000 (black) The foreground color for the LCD, in HEX.
Trace INFO Code trace option.
INFO: Shows only info and error messages
COMM: Shows the LCD commands received also

Log file is placed in folder c:\keil\uv2 with the name Uv2_log.txt


Supported commands

Following commands are supported from the T6963C command set: set_address_pointer, set_graphic_home_address, set_graphic_area, data_auto_write, data_auto_read, auto_reset, data_write_inc_adp, data_write_dec_adp, data_write, data_read_inc_adp, data_read_dec_adp, data_read, bit_set.

Example code

For the test of the DLL extension, you can use the following codes for uVision. These uVision projects include a basic T6963C driver with a sample image to draw on LCD.

Example project (for C51 version)
IO port and mixed mode IO mapped mode
Files in the projects
main.c main.c
t6963c.c t6963c.c
t6963c.h t6963c.h


Release notes

v1.0: Initial release
v1.1: ARM support
v1.2: Flicker problem for realtime working is fixed.
v1.2: DLL was not updating the LCD screen once the debug session is terminated. This is fixed

More ...

Try FontGen to create font and image definition files for your project. Also check out the display library for Keil development environment.

Copyright 2006-2015 - dreamsware -