TFT 16-bit Library
Thin film transistor liquid crystal display (TFT-LCD) is a variant of liquid crystal display (LCD) which uses thin-film transistor (TFT) technology to improve image quality (e.g., addressability, contrast).
TFT LCD is one type of active matrix LCD, though all LCD-screens are based on TFT active matrix addressing.
TFT LCDs are used in television sets, computer monitors, mobile phones, handheld video game systems, personal digital assistants, navigation systems, projectors, etc.
The mikroPascal PRO for ARM provides a library for working with the following display controllers :
- Himax HX8347D, HX8347G and HX8352A,
- Solomon Systech SSD1963,
- Ilitek ILI9340, ILI9342 and ILI9481.

- All display controllers are initialized with 65,536 colors (R(5),G(6),B(5)) and require two full ports for operation (due to the 16-bit interface).
- This library is valid only for Stellaris devices.
External dependencies of TFT 16-bit Library
The following variables must be defined in all projects using TFT 16-bit Library: | Description : | Example : |
---|---|---|
var TFT_16bit_DataPort_Lo : byte; external; sfr; |
TFT Data Port Low. | var TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; |
var TFT_16bit_DataPort_Hi : byte; external; sfr; |
TFT Data Port High. | var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; |
var TFT_16bit_DataPort_Lo_Direction : byte; external; sfr; |
Direction of the TFT Data Port Low. | var TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; |
var TFT_16bit_DataPort_Hi_Direction : byte; external; sfr; |
Direction of the TFT Data Port High. | var TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; |
var TFT_16bit_WR : sbit; sfr; external; |
Write signal. | var TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; |
var TFT_16bit_RD : sbit; sfr; external; |
Read signal. | var TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; |
var TFT_16bit_CS : sbit; sfr; external; |
Chip Select signal. | var TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; |
var TFT_16bit_RS : sbit; sfr; external; |
Command/Register Select signal. | var TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; |
var TFT_16bit_RST : sbit; sfr; external; |
Reset signal. | var TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; |
var TFT_16bit_WR_Direction : sbit; sfr; external; |
Direction of the Write pin. | var TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; |
var TFT_16bit_RD_Direction : sbit; sfr; external; |
Direction of the Read pin. | var TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; |
var TFT_16bit_CS_Direction : sbit; sfr; external; |
Direction of the Chip Select pin. | var TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; |
var TFT_16bit_RS_Direction : sbit; sfr; external; |
Direction of the Register Select pin. | var TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; |
var TFT_16bit_RST_Direction : sbit; sfr; external; |
Direction of the Reset pin. | var TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; |
Library Routines
- TFT_Init_HX8347D
- TFT_Init_HX8352A
- TFT_Init_SSD1963
- TFT_Init_ILI9340
- TFT_Init_ILI9342
- TFT_Init_ILI9481
- TFT_Init_HX8347G_16bit
- TFT_Init_HX8347D_Custom
- TFT_Init_HX8352A_Custom
- TFT_Init_SSD1963_Custom
- TFT_Init_ILI9340_Custom
- TFT_Init_ILI9342_Custom
- TFT_Init_ILI9481_Custom
- TFT_Init_HX8347G_16bit_Custom
- TFT_16bit_Set_Index
- TFT_16bit_Write_Command
- TFT_16bit_Write_Data
- TFT_16bit_Set_Reg
- TFT_16bit_Set_Ext_Buffer
- TFT_16bit_Set_Active
- TFT_16bit_Set_Default_Mode
- TFT_16bit_Set_Font
- TFT_16bit_Set_Ext_Font
- TFT_16bit_Write_Char
- TFT_16bit_Write_Text
- TFT_16bit_Fill_Screen
- TFT_16bit_Set_Pen
- TFT_16bit_Set_Brush
- TFT_16bit_Dot
- TFT_16bit_Line
- TFT_16bit_H_Line
- TFT_16bit_V_Line
- TFT_16bit_Rectangle
- TFT_16bit_Rectangle_Round_Edges
- TFT_16bit_Circle
- TFT_16bit_Image
- TFT_16bit_Ext_Image
- TFT_16bit_Partial_Image
- TFT_16bit_Ext_Partial_Image
- TFT_16bit_Image_Jpeg
- TFT_16bit_RGBToColor16bit
- TFT_16bit_Color16bitToRGB
- TFT_16bit_Rotate_180
TFT_Init_HX8347D
Prototype |
procedure TFT_Init_HX8347D(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes HX8347D display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_HX8347D(240, 320); |
TFT_Init_HX8352A
Prototype |
procedure TFT_Init_HX8352A(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes HX8352A display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_HX8352A(240, 320); |
TFT_Init_SSD1963
Prototype |
procedure TFT_Init_SSD1963(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes SSD1963 display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_SSD1963(240, 320); |
TFT_Init_ILI9340
Prototype |
procedure TFT_Init_ILI9340(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes ILI9340 display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_ILI9340(240, 320); |
TFT_Init_ILI9342
Prototype |
procedure TFT_Init_ILI9342(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes ILI9342 display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_ILI9342(240, 320); |
TFT_Init_ILI9481
Prototype |
procedure TFT_Init_ILI9481(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes ILI9481 display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_ILI9481(240, 320); |
TFT_Init_HX8347G_16bit
Prototype |
procedure TFT_Init_HX8347G_16bit(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes HX8347G display controller in 16-bit working mode for Stellaris devices. Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// TFT module connections var TFT_16bit_DataPort_Hi : byte at GPIO_PORTE_DATA; TFT_16bit_DataPort_Lo : byte at GPIO_PORTD_DATA; TFT_16bit_RST : sbit at GPIO_PORTF_DATA0_bit; TFT_16bit_RS : sbit at GPIO_PORTF_DATA1_bit; TFT_16bit_CS : sbit at GPIO_PORTF_DATA2_bit; TFT_16bit_RD : sbit at GPIO_PORTF_DATA3_bit; TFT_16bit_WR : sbit at GPIO_PORTF_DATA4_bit; TFT_16bit_BLED : sbit at GPIO_PORTF_DATA5_bit; TFT_16bit_DataPort_Hi_Direction : byte at GPIO_PORTE_DIR; TFT_16bit_DataPort_Lo_Direction : byte at GPIO_PORTD_DIR; TFT_16bit_RST_Direction : sbit at GPIO_PORTF_DIR0_bit; TFT_16bit_RS_Direction : sbit at GPIO_PORTF_DIR1_bit; TFT_16bit_CS_Direction : sbit at GPIO_PORTF_DIR2_bit; TFT_16bit_RD_Direction : sbit at GPIO_PORTF_DIR3_bit; TFT_16bit_WR_Direction : sbit at GPIO_PORTF_DIR4_bit; TFT_16bit_BLED_Direction : sbit at GPIO_PORTF_DIR5_bit; // End TFT module connections // Initialize 240x320 TFT display TFT_Init_HX8347G_16bit(240, 320); |
TFT_Init_HX8347D_Custom
Prototype |
procedure TFT_Init_HX8347D_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes HX8347D display controller in 16-bit working mode for Stellaris devices without setting the TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_HX8347D_Custom(240, 320); |
TFT_Init_HX8352A_Custom
Prototype |
procedure TFT_Init_HX8352A_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes HX8352A display controller in 16-bit working mode for Stellaris devices without setting TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_HX8352A_Custom(240, 320); |
TFT_Init_SSD1963_Custom
Prototype |
procedure TFT_Init_SSD1963_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes SSD1963 display controller in 16-bit working mode for Stellaris devices without setting TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_SSD1963_Custom(240, 320); |
TFT_Init_ILI9340_Custom
Prototype |
procedure TFT_Init_ILI9340_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes ILI9340 display controller in 16-bit working mode for Stellaris devices without setting TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_ILI9340_Custom(240, 320); |
TFT_Init_ILI9342_Custom
Prototype |
procedure TFT_Init_ILI9342_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes ILI9342 display controller in 16-bit working mode for Stellaris devices without setting TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_ILI9342_Custom(240, 320); |
TFT_Init_ILI9481_Custom
Prototype |
procedure TFT_Init_ILI9481_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes ILI9481 display controller in 16-bit working mode for Stellaris devices without setting TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_ILI9481_Custom(240, 320); |
TFT_Init_HX8347G_16bit_Custom
Prototype |
procedure TFT_Init_HX8347G_16bit_Custom(display_width, display_height : word); |
---|---|
Returns |
Nothing. |
Description |
Initializes HX8347G display controller in 16-bit working mode for Stellaris devices without setting TFT_16bit_DataPort_Lo and TFT_16bit_DataPort_Hi direction.
Parameters :
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
// Set custom working mode TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); // Initialize 240x320 TFT display TFT_Init_HX8347G_16bit_Custom(240, 320); |
TFT_16bit_Set_Index
Prototype |
procedure TFT_16bit_Set_Index(index : byte); |
---|---|
Returns |
Nothing. |
Description |
Sets controllers register address to be written in next cycle. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Access register at the location 0x02 TFT_16bit_Set_Index(0x02); |
TFT_16bit_Write_Command
Prototype |
procedure TFT_16bit_Write_Command(cmd : byte); |
---|---|
Returns |
Nothing. |
Description |
Sets value of controller register (address must be previously defined with TFT_16bit_Set_Index routine). Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Write a command TFT_16bit_Write_Command(0x02); |
TFT_16bit_Write_Data
Prototype |
procedure TFT_16bit_Write_Data(_data : word); |
---|---|
Returns |
Nothing. |
Description |
Write 16bit value on TFT Data bus. This is 16-bit communication so it is done in a single cycles. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Send data TFT_16bit_Write_Data(0x02); |
TFT_16bit_Set_Reg
Prototype |
procedure TFT_16bit_Set_Reg(index, value : byte); |
---|---|
Returns |
Nothing. |
Description |
Sets address and value of specific controller register. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// 65K Color Selection TFT_16bit_Set_Reg(0x17, 0x05); |
TFT_16bit_Set_Ext_Buffer
Prototype |
procedure TFT_16bit_Set_Ext_Buffer(getExtDataPtr : ^TTFT_16bit_Get_Ext_Data_Ptr); |
---|---|
Returns |
Nothing. |
Description |
Function sets pointer to the user function which manipulates the external resource. Parameters :
User function prototype should be in the following format: Parameters used in the function have the following meaning :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Set_Ext_Buffer(@ReadExternalBuffer); |
TFT_16bit_Set_Active
Prototype |
procedure TFT_16bit_Set_Active(Set_Index_Ptr : ^TTFT_16bit_Set_Index_Ptr; Write_Command_Ptr : ^TTFT_16bit_Write_Command_Ptr; Write_Data_Ptr : ^TTFT_16bit_Write_Data_Ptr); |
---|---|
Returns |
Nothing. |
Description |
This function sets appropriate pointers to a user-defined basic routines in order to enable multiple working modes. Parameters :
|
Requires |
None. |
Example |
procedure TFT_16bit_Set_Index_Custom(index : byte) { TFT_16bit_RS := 0; // Write to port TFT_16bit_DataPort_Lo := index; // Strobe TFT_16bit_WR := 0; asm nop; end; TFT_16bit_WR = 1; } procedure TFT_16bit_Write_Command_Custom(cmd : byte) { TFT_16bit_RS := 1; // Write to port TFT_16bit_DataPort_Lo := cmd; // Strobe TFT_16bit_WR := 0; asm nop; end; TFT_16bit_WR := 1; } procedure TFT_16bit_Write_Data_Custom(_data : word) { TFT_16bit_RS := 1; // Write to port TFT_16bit_DataPort_Hi := Hi(_data); TFT_16bit_DataPort_Lo := Lo(_data); // Strobe TFT_16bit_WR := 0; asm nop; end; TFT_16bit_WR := 1; } TFT_16bit_Set_Active(@TFT_16bit_Set_Index_Custom, @TFT_16bit_Write_Command_Custom, @TFT_16bit_Write_Data_Custom); |
TFT_16bit_Set_Default_Mode
Prototype |
procedure TFT_16bit_Set_Default_Mode(); |
---|---|
Returns |
Nothing. |
Description |
This function sets TFT in default working mode. Parameters :
|
Requires |
None. |
Example |
TFT_16bit_Set_Default_Mode(); TFT_Init_HX8352A(320, 240); |
TFT_16bit_Set_Font
Prototype |
procedure TFT_16bit_Set_Font(activeFont : ^const far byte; font_color : word; font_orientation : byte); |
||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns |
Nothing. |
||||||||||||||||||||||||||||||||||||||||
Description |
Sets font, its color and font orientation. Parameters :
|
||||||||||||||||||||||||||||||||||||||||
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
||||||||||||||||||||||||||||||||||||||||
Example |
TFT_16bit_Set_Font(@TFT_16bit_defaultFont, CL_BLACK_16bit, FO_HORIZONTAL_16bit); |
TFT_16bit_Set_Ext_Font
Prototype |
procedure TFT_16bit_Set_Ext_Font(activeFont : dword; font_color : word; font_orientation : byte); |
||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns |
Nothing. |
||||||||||||||||||||||||||||||||||||||||
Description |
Sets font, its color and font orientation. Font is located in an external resource Parameters :
|
||||||||||||||||||||||||||||||||||||||||
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
||||||||||||||||||||||||||||||||||||||||
Example |
TFT_16bit_Set_Ext_Font(173296, CL_BLACK_16bit, FO_HORIZONTAL_16bit); |
TFT_16bit_Write_Char
Prototype |
procedure TFT_16bit_Write_Char(ch, x, y : word); |
---|---|
Returns |
Nothing. |
Description |
Writes a char on the TFT at coordinates (x, y).
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Write_Char('A',22,23); |
TFT_16bit_Write_Text
Prototype |
procedure TFT_16bit_Write_Text(var text : string; x, y : word); |
---|---|
Returns |
Nothing. |
Description |
Writes text on the TFT at coordinates (x, y). Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Write_Text('TFT 16-bit LIBRARY DEMO, WELCOME !', 0, 0); |
TFT_16bit_Fill_Screen
Prototype |
procedure TFT_16bit_Fill_Screen(color : word); |
||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns |
Nothing. |
||||||||||||||||||||||||||||||||||
Description |
Fills screen memory block with given color. Parameters :
|
||||||||||||||||||||||||||||||||||
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
||||||||||||||||||||||||||||||||||
Example |
TFT_16bit_Fill_Screen(CL_BLACK_16bit); |
TFT_16bit_Dot
Prototype |
procedure TFT_16bit_Dot(x, y : integer; color : word); |
||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns |
Nothing. |
||||||||||||||||||||||||||||||||||
Description |
Draws a dot on the TFT at coordinates (x, y). Parameters :
|
||||||||||||||||||||||||||||||||||
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
||||||||||||||||||||||||||||||||||
Example |
TFT_16bit_Dot(50, 50, CL_BLACK_16bit); |
TFT_16bit_Set_Pen
Prototype |
procedure TFT_16bit_Set_Pen(pen_color : word; pen_width : byte); |
||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns |
Nothing. |
||||||||||||||||||||||||||||||||||
Description |
Sets color and thickness parameter for drawing line, circle and rectangle elements. Parameters :
|
||||||||||||||||||||||||||||||||||
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
||||||||||||||||||||||||||||||||||
Example |
TFT_16bit_Set_Pen(CL_BLACK_16bit, 10); |
TFT_16bit_Set_Brush
Prototype |
procedure TFT_16bit_Set_Brush(brush_enabled : byte; brush_color : word; gradient_enabled, gradient_orientation : byte; gradient_color_from, gradient_color_to : word); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns |
Nothing. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description |
Sets color and gradient which will be used to fill circles or rectangles. Parameters :
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example |
// Enable gradient from black to white color, left-right orientation TFT_16bit_Set_Brush(0, 0, 1, LEFT_TO_RIGHT_16bit, CL_BLACK_16bit, CL_WHITE_16bit); |
TFT_16bit_Line
Prototype |
procedure TFT_16bit_Line(x1, y1, x2, y2 : integer); |
---|---|
Returns |
Nothing. |
Description |
Draws a line from (x1, y1) to (x2, y2). Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Line(0, 0, 239, 127); |
TFT_16bit_H_Line
Prototype |
procedure TFT_16bit_H_Line(x_start, x_end, y_pos : integer); |
---|---|
Returns |
Nothing. |
Description |
Draws a horizontal line on TFT. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Draw a horizontal line between dots (10,20) and (50,20) TFT_16bit_H_Line(10, 50, 20); |
TFT_16bit_V_Line
Prototype |
procedure TFT_16bit_V_Line(y_start, y_end, x_pos : integer); |
---|---|
Returns |
Nothing. |
Description |
Draws a vertical line on TFT. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Draw a vertical line between dots (10,5) and (10,25) TFT_16bit_V_Line(5, 25, 10); |
TFT_16bit_Rectangle
Prototype |
procedure TFT_16bit_Rectangle(x_upper_left, y_upper_left, x_bottom_right, y_bottom_right:integer); |
---|---|
Returns |
Nothing. |
Description |
Draws a rectangle on TFT. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Rectangle(20, 20, 219, 107); |
TFT_16bit_Rectangle_Round_Edges
Prototype |
procedure TFT_16bit_Rectangle_Round_Edges(x_upper_left, y_upper_left, x_bottom_right, y_bottom_right, round_radius : word); |
---|---|
Returns |
Nothing. |
Description |
Draws a rounded edge rectangle on TFT. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Rectangle_Round_Edges(20, 20, 219, 107, 12); |
TFT_16bit_Circle
Prototype |
procedure TFT_16bit_Circle(x_center, y_center, radius : integer); |
---|---|
Returns |
Nothing. |
Description |
Draws a circle on TFT. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Circle(120, 64, 110); |
TFT_16bit_Image
Prototype |
procedure TFT_16bit_Image(left, top : word; image : ^const far byte; stretch : byte); |
---|---|
Returns |
Nothing. |
Description |
Displays an image on a desired location. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Image(0, 0, @image, 1); |
TFT_16bit_Ext_Image
Prototype |
procedure TFT_16bit_Ext_Image(left, top : word; image : dword; stretch : byte); |
---|---|
Returns |
Nothing. |
Description |
Displays an image from an external resource on a desired address. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Image(0, 0, 153608, 1); |
TFT_16bit_Partial_Image
Prototype |
procedure TFT_16bit_Partial_Image(left, top, width, height : word; image : ^const far byte; stretch : byte) ; |
---|---|
Returns |
Nothing. |
Description |
Displays a partial area of the image on a desired location. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Draws a 10x15 part of the image starting from the upper left corner on the coordinate (10,12) TFT_16bit_PartialImage(10, 12, 10, 15, @image, 1); |
TFT_16bit_Ext_Partial_Image
Prototype |
procedure TFT_16bit_Ext_Partial_Image(left, top, width, height : word; image : dword; stretch : byte) ; |
---|---|
Returns |
Nothing. |
Description |
Displays a partial area of the image, located on an external resource, on a desired location of the screen. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Ext_Partial_Image(159,0,160,120,0,1); |
TFT_16bit_Image_Jpeg
Prototype |
function TFT_16bit_Image_Jpeg(left, top : word; image : ^const byte): byte; |
---|---|
Returns |
|
Description |
Displays a JPEG image on a desired location. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Image_Jpeg(0, 0, @image); |
TFT_16bit_RGBToColor16bit
Prototype |
function TFT_16bit_RGBToColor16bit(rgb_red, rgb_green, rgb_blue : byte) : word; |
---|---|
Returns |
Returns a color value in the following bit-order : 5 bits red, 6 bits green and 5 bits blue color. |
Description |
Converts 5:6:5 RGB format into true color format. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
color16 := TFT_16bit_RGBToColor16bit(150, 193, 65); |
TFT_16bit_Color16bitToRGB
Prototype |
procedure TFT_16bit_Color16bitToRGB(color : word; rgb_red, rgb_green, rgb_blue : ^byte); |
---|---|
Returns |
Nothing. |
Description |
Converts true color into 5:6:5 RGB format. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
TFT_16bit_Color16bitToRGB(start_color, @red_start, @green_start, @blue_start); |
TFT_16bit_Rotate_180
Prototype |
procedure TFT_16bit_Rotate_180(rotate : byte); |
---|---|
Returns |
Nothing. |
Description |
Rotates the TFT display. Parameters :
|
Requires |
TFT module needs to be initialized. Please, see appropriate TFT initialization routine. |
Example |
// Rotate TFT display for 180 degrees TFT_16bit_Rotate_180(1); // Initialize TFT display TFT_Init_HX8352A(240, 320); |
What do you think about this topic ? Send us feedback!