振南网站还在继续美化改进,暂时提供一个平台来发布振南的实验和相关资料!
http://www.znmcu.cn/znx_m3_exp_tft_wr_test.html
TFT液晶基本功能测试(ILI9325 写屏与读屏)【STM32 M3版】 实验说明: 振南很多精彩实验都需要TFT液晶,比如数码相框、数码相机、视频播放器等等。但是在作这些实验之前,我们必须保证TFT液晶是可以正常工作的,驱动程序是正确的。所以振南设计了此实验,用来对TFT液晶基本的写屏与读屏功能进行测试。 所需硬件: 此实验中需要的硬件有: ZN-X开发板基板(STM32 M3版)【也可使用自己的开发板,不过TFT液晶的接口信号比较多,自己接线可能会比较麻烦】 ARM-OB或JLINK仿真器(用于仿真与程序下载) USB转串口模块(用于串口通信与程序下载) TFT液晶(320X240像素,控制器为ILI9325) 电路原理图及详解: 上图是振南ZN-X开发板上TFT液晶实验的主要原理图(与此实验无关的部分已经被裁掉)。(1)是ZN-X基板上TFT液晶模块的接口。如下图: 图中上方的2X20排母接口就是此实验中TFT模块要插接的位置。有些人询问下方的2X17的接口是作什么用的。因为ZN-X可以支持多种TFT液晶模块,它们的接口都不尽相同,所以在ZN-X基板上有两个TFT液晶模块的接口。同时这些接口为其它模块的扩展提供了余地和机会,从而使得ZN-X开发板更加灵活,实验资源更加丰富。 (2)是TFT液晶的RD信号(读使能信号,主要用于TFT液晶上像素数据的读取)的复用开关。STM32的RD-CLK信号连接到了74HC32的一个输入端,另一个输入端与RD-CLK-SEL相连,通过它来控制RD-CLK是否可以控制TFT的读使能(RD-CLK-SEL为0,则选通;反之TFT-RD则一直为1)。ZN-X上的这一设计方式有重要的作用,在后面的实验中大家可以深刻得领悟到。 图中③为USB串口模块专用接口,主要用于完成供电、串口通信与程序下载,如下图。 图中④是STM32 M3芯片,型号为STM32F103RBT6(128KB ROM、20KB RAM、主频最高可达72MHz)。 TFT液晶模块说明: 此实验中所使用的TFT液晶模块控制器为ILI9325,分辨率为320x240(QVGA),16位色(6万5千色)。接口定义如下图: ILI9325支持8位与16位接口模式(J3断开为8位模式,短接为16位模式)。此实验中将提供这两种接口模式的源代码。8位模式更适合低端单片机,比如51、AVR等,可以节省IO资源,不过每读写一个像素都要有两个数据读写过程,显示速度并不太理想。16位模式适合ARM这种比较高端的芯片,可以得到较高的显示速度。实际上,使用ARM来驱动TFT,如果使用8位模式反而会比较麻烦,而且效率低下,通过对两种模式下源代码的比较大家应该能有所体会。 实验方法与流程: 主要代码如下:首先在TFT液晶的一个矩形区域写入像素数据,然后将此矩形中的像素全部读出,向将读出的数据写入到另一个矩形区域中。如果两个区域图形一致,则说明基本的写屏与读屏操作成功。 unsigned short Read_Rect[2048*4]; //读取TFT上64x64矩形像素放入此缓冲区
int main(void) { int i=0;
delay_init(); //延时函数初始化 uart_init(9600);
ZNX_Board_Init(); //ZN-X开发板板级初始化
TFT_Init(); printf("TFT液晶初始化完成\r\n");
TFT_Clear(0x001f); //纯色清屏
for(i=0;i<2048*4;i++) Read_Rect=i; //装入一些像素
TFT_Send_Str("Write:",100+80,200+82,0xf800,0x001f);
TFT_Draw_Rect(100,200,100+64,200+64,Read_Rect); //向矩形区域写入像素数据 TFT_Send_Str("TFT Test",100+64,200+40,0xf800,0x07e0); //显示几个字符
TFT_Read_Rect(100,200,100+64,200+64,Read_Rect); //读取矩形区域中的像素数据
TFT_Send_Str("Copy:",10+80,10+82,0xf800,0x001f); TFT_Draw_Rect(10,10,10+64,10+64,Read_Rect); //将读到的像素数据写入到另一个矩形区域中
while(1); } |
实验结果如下图所示: 图中上电后首先将TFT清屏为红色,标有“Write”字样的区域为“写屏区域”,读取其中的像素之后,再写入到标有“Copy”字样的区域中。可以看到两个区域图形是一致的,这说明了写屏与读屏实验是成功的。 源代码下载: |
振南ZN-X开发板TFT液晶基本功能测试(写屏与读屏)8位模式[暂不提供]
|
|