首页 理论教育ARMCortex-M4嵌入式系统设计原理

ARMCortex-M4嵌入式系统设计原理

【摘要】:颜色参数可参阅头文件LCD.h中的颜色常量,也可按照RGB565格式自己定义。2.与英文或数字显示有关的接口函数接口函数中与英文或数字显示有关的主要是void LCD_ShowChar、void LCD_ShowNum、void LCD_Show2Num和void LCD_ShowString,功能介绍如下。此外,由于hanzi[]数组中字模都是预先存入的汉字,因此只能显示这部分汉字,适用于一定数量固定汉字显示的情况。void LCD_DrawRectangle的函数功能:以点和点为对角定点画矩形。

系统启动后,首先对TFT-LCD屏显示功能用到的各I/O口进行初始化配置,将其配置为推挽输出方式,通过调用自定义函数LCD_IO_ENABLE来实现;再对TFT-LCD屏做初始化配置,具体功能包括功能函数测试和屏幕初始设置等,通过调用自定义函数LCD_Init来实现。

在主循环体内,可以完成颜色刷屏、中英文字符显示、图片显示及画图等功能。这些功能在TFT-LCD屏厂家及第三方提供的接口文件LCD.c中。此处简要介绍几种常用的接口函数。

1.与刷屏有关的接口函数

接口函数中与刷屏有关的主要是void LCD_Clear和void LCD_Fill,功能介绍如下:

(1)void LCD_Clear(u16 Color)的函数功能:清屏函数,以Color参数的颜色清屏。颜色参数可参阅头文件LCD.h中的颜色常量,也可按照RGB565格式自己定义。

(2)void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color)的函数功能:在指定区域中填充颜色,区域大小为(xend-xsta)×(yend-ysta)。

2.与英文或数字显示有关的接口函数

接口函数中与英文或数字显示有关的主要是void LCD_ShowChar、void LCD_ShowNum、void LCD_Show2Num和void LCD_ShowString,功能介绍如下。

(1)void LCD_ShowChar(u16 x,u16 y,u8 num,u8 mode)的函数功能:在指定坐标(x,y)处显示一个字符,num为字符ASCII码,当为叠加方式时mode为1,当为非叠加方式时mode为0。

(2)void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len)的函数功能:在指定坐标(x,y)处显示2字节的数字,前端不足位补空,num为数字值,len为数字长度

(3)void LCD_Show2Num(u16 x,u16 y,u16 num,u8 len)的函数功能:在指定坐标(x,y)处显示2字节的数字,前端不足位补0,num为数字值,len为数字长度。

(4)void LCD_ShowString(u16 x,u16 y,const u8*p)的函数功能:在指定坐标(x,y)处显示字符串,p为字符串变量名,或直接给出字符串内容。

3.与中文显示有关的接口函数

接口函数中与中文显示有关的是void showhanzi,功能介绍如下:(www.chuimin.cn)

void showhanzi(unsigned int x,unsigned int y,unsigned char index)的函数功能:在指定坐标位置(x,y)显示一个汉字字符,汉字字模存储于文件font.c中的hanzi[]数组中,此函数使用某个汉字的序号来指向对应的字模。

说明:汉字可以通过一些字模提取工具转换为相应的的字模,汉字显示的大小由字模的横向与纵向的像素点数来决定。此外,由于hanzi[]数组中字模都是预先存入的汉字,因此只能显示这部分汉字,适用于一定数量固定汉字显示的情况。如果需要实现大量汉字的显示,则需要加入汉字字模库来解决。

4.与画图显示有关的接口函数

接口函数中与画图显示有关的主要是void LCD_DrawPoint、void LCD_DrawPoint_big、void LCD_DrawLine、void LCD_DrawRectangle和void Draw_Circle,功能介绍如下:

void LCD_DrawPoint(u16 x,u16 y)的函数功能:在指定坐标(x,y)处画点,点大小为1像素。

void LCD_DrawPoint_big(u16 x,u16 y)的函数功能:在指定坐标(x,y)处画点,点大小为3像素×3像素。

void LCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2)的函数功能:从点(x1,y1)到点(x2,y2)画直线。

void LCD_DrawRectangle(u16 x1,u16 y1,u16 x2,u16 y2)的函数功能:以点(x1,y1)和点(x2,y2)为对角定点画矩形。

void Draw_Circle(u16 x0,u16 y0,u8 r)的函数功能:以点(x0,y0)为圆心,r为半径画圆。

5.图形图片的显示方法

关于图形图片显示的方法是先定位图形图片显示区域坐标,采用接口函数Address_set设置;再引入图形图片对应的图像数据。图形图片可以通过一些图像生成工具(如Image2Lcd)转换为相应的LCD图像数据。主要源程序如下:

上述函数为常用的与显示相关的函数,直接使用这些函数可以完成常见的各类显示功能。对于有兴趣的读者,可以深入学习这些函数内部执行过程,真正理解如何通过控制信号和数据信号向TFT-LCD屏送显示信息的方法。