LM4F120XL开发板不愧是基于32 位ARM Cortex-M4内核的开发板,单就程序空间来讲就达256KB FLASH,这就为图像显示提供了基本的条件。因为在程序存储空间比较小的情况下,如不使用SD卡类的大容量存储装置是无法解决图像存储问题的。有了大的程序空间,则可以将这些数据放到程序中,图1就是这样处理的效果。 图1 图像显示效果
至于硬件的构成也十分简单,就是一块 LM4F120XL开发板外加一块串口TFT 显示屏,其实物构成如图2所示。此处使用串口屏的好处就在它可以有效地节省GPIO资源,尤其是对于一些引脚资源本身就不很多的MCU。 图2 硬件构成
要实现串口屏的显示,首先要确定串口屏与开发板的连接关系,其连接情况如下: REST --PD.0 DC --PD.1 CS --PD.2 SDI --PD.3 SCK --PD.6 为此,相应引脚输出高低电平的定义语句如下: #define LCD_SCK_High() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_6, GPIO_PIN_6) #define LCD_SCK_Low() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_6, 0) #define LCD_SDI_High() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_3, GPIO_PIN_3) #define LCD_SDI_Low() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_3, 0) #define LCD_CS_High() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_2, GPIO_PIN_2) #define LCD_CS_Low() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_2, 0) #define LCD_DC_High() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_1, GPIO_PIN_1) #define LCD_DC_Low() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_1, 0) #define LCD_REST_High() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, GPIO_PIN_0) #define LCD_REST_Low() GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, 0) 图像被存放在sh.h的文件中,其存储结构如下: const unsigned char gImage_sh[80000] = { /* 0X10,0X10,0X00,0XC8,0X00,0XC8,0X01,0X1B, */ 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, ......... } 以显示一幅200*200像素的16位色生肖图像为例,其显示函数为: void show_image(unsigned int x,unsigned int y) //200*200
{
unsigned int i,j,k;
unsigned int da;
k=0;
for(i=0;i<200;i++)
{
LCD_SetCursor(x,y+i);
LCD_WriteRAM_Prepare(); //????GRAM
for(j=0;j<200;j++)
{
da=gImage_sh[k*2];
da<<=8;
da|=gImage_sh[k*2+1];
LCD_WR_DATA(da);
k++;
}
}
}
当然从广义上讲,文字也是一种图像,在配置自定义小字库的情况下,就能轻松地产生出图3 的界面效果。总之,为LM4F120XL开发板配上图像显示功能能把我们带入一个更丰富多彩的世界。 图3 文字显示效果
|