37.2-2.4寸ILI9341驱动TFT显示屏实验程序-带触摸功能,硬件I8080接口程序,AI8051U实
37.2-2.4寸ILI9341驱动TFT显示屏实验程序-带触摸功能,硬件I8080接口程序,AI8051U实验箱演示程序主程序main.C代码如下(汇编版本在附件中):
/*---------------------------------------------------------------------*/
/* --- Web: www.STCAI.com ---------------------------------------------*/
/* --- BBS: www.STCAIMCU.com-----------------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
/*---------------------------------------------------------------------*/
/*************功能说明 **************
本例程基于AI8051U为主控芯片的实验箱进行编写测试.
使用Keil C51编译器,为了达到比较高的效率,一般建议选择"Small"模式。
当编译器出现 "error C249: 'DATA': SEGMENT TOO LARGE" 错误时,则需要手动将部分比较大的数组通过"xdata" 强制分配到 XDATA 区域(例如: char xdata buffer ;)
本实验测试使用的是2.4寸320*240 ILI9341 I8080接口驱动的并口彩屏。
主循环修改判断条件参数可修改测试模式:0:触摸测试, 1:显示测试
下载时, 选择时钟 40MHz (用户可自行修改频率).
************************************************************************************************/
//=========================================电源接线================================================//
//VDD接DC 3.3V电源
//GND接地
//=======================================液晶屏数据线接线==========================================//
//本模块数据总线类型为8位并口
// LCD_D0~D7 接 P20~P27 //液晶屏8位数据线
//=======================================液晶屏控制线接线==========================================//
// LCD_RS 接 P45 //数据/命令选择控制信号
// LCD_RD 接 P37 //读控制信号
// LCD_RST 接 P47 //复位信号
// LCD_WR 接 P36 //写控制信号
// LCD_CS 接 P05/P53 //片选控制信号
//================================================================================================//
//不使用触摸或者模块本身不带触摸,则可不连接
//触摸屏使用的数据总线类型为SPI
//T_CS 接 P15 //触摸屏片选控制信号
//T_CLK 接 P32 //触摸屏SPI时钟信号
//T_DO 接 P33 //触摸屏SPI读信号
//T_DIN 接 P34 //触摸屏SPI写信号
//T_IRQ 接 P14 //触摸屏响应检查信号
//================================================================================================//
// 本实验使用的2.4寸320*240的并口彩屏,由冲哥淘宝店提供:http://e.tb.cn/h.gIlbVqAOj8YXlwo?tk=vFIr3RGTy2n
//**************************************************************************************************/
#include "sys.h"
#include "lcd.h"
#include "gui.h"
#include "test.h"
#include "touch.h"
//主函数
void main(void)
{
WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXSFR(); //扩展寄存器(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
//液晶屏初始化
LCD_Init();
//循环进行各项测试
while(1)
{
#if 1 //0:触摸测试, 1:显示测试
main_test(); //测试主界面
Test_Read(); //读ID和颜色值测试
Test_Color(); //简单刷屏填充测试
Test_FillRec(); //GUI矩形绘图测试
Test_Circle(); //GUI画圆测试
Test_Triangle(); //GUI三角形填充测试
English_Font_test();//英文字体示例测试
Chinese_Font_test();//中文字体示例测试
Pic_test(); //图片显示示例测试
Rotate_Test(); //屏幕旋转测试
#else
//需要触摸校准时,使用下面触摸校准测试项
Touch_Adjust(); //触摸校准
//不使用触摸或者模块本身不带触摸,请屏蔽下面触摸屏测试
Touch_Test(); //触摸屏手写测试
#endif
}
}
页:
[1]