跳到主要内容

TFT 串口液晶触摸屏(3.5-10.1寸)

Shineblink Core 可支持3.5寸、4寸、7寸的TFT串口彩色液晶屏,本篇章主要演示了TJC4832T135型号(480*320)的3.5寸液晶触摸屏的开发,对于更大的4寸以及7寸屏幕开发方式完全一样,程序不需要任何修改。

product0

一、开发基础准备工作

  1. 安装PC端开发软件,点击此处下载。

  2. 软件安装完毕后,按照官方入门指导操作一遍,帮助开发者了解TFT屏开发的如下基本流程:

    • 制作一个简单的工程

    注意:建立工程时,需要正确选择您的屏幕型号

    • 制作字库并加入到工程中(图片素材的添加也类似)

    注意:制作字库时一定不要生成全字库,而是用到哪些字做哪些字库,不然字库会非常大

    • 通过PC仿真调试页面(离线开发方式)
  3. 参看官网的下载工程方法,帮助开发者了解如何将开发好的工程文件从电脑下载到实物屏幕中:

    • 串口下载(不推荐,下载时间长且占用串口接口)
    • TF卡下载(推荐,下载快且适合大批量量产)
  4. 想了解更详细教程以及案例请直接访问http://wiki.tjc1688.com/

二、本章节实现功能介绍

在3.5寸TFT液晶屏幕上实时显示温度和湿度,并可以通过屏幕上的两个触摸按键来控制Core开发板上LED1灯和LED2灯的亮灭。

三、接线图

layout

注意:Core开发板的5V源自开发板上的USB接口,所以需保证USB的供电能力能达到1A,尤其是7寸的大屏需要更强的供电能力。

四、材料清单

名称推荐购买链接(或者你可以自己制作)模块/芯片硬件资料下载
3.5寸液晶屏幕3.5寸TFT屏购买链接下载地址(资料中包含全系列的,这里用的型号是TJC4832T135)
声明:这里推荐的购买链接仅供参考,您完全可以去其他商家或渠道购买,只要功能相似即可,如果需要更低的成本建议自己开发硬件模块或定制。

五、开发板端完整代码

--配置开发板上LED1和LED2灯的IO口
LIB_GpioOutputConfig("D8","STANDARD")
LIB_GpioOutputConfig("D9","STANDARD")
--配置Uart0串口波特率为115200
LIB_Uart0Config("BAUDRATE_115200")
--使能10毫秒定时器开始工作
LIB_10msTimerConfig("ENABLE")
cnt_10ms = 0
--用两个全局变量来分别模拟温度和湿度数据
temp=10.0 --温度
humi=12.1 --湿度
--定义10毫秒定时器的中断函数
function LIB_10msTimerCallback()
cnt_10ms = cnt_10ms + 1
end
--开始大循环
while(GC(1) == true)
do
--查询是否收到液晶屏发来的串口数据
uart0_recv_flag,uart0_recv_tab = LIB_Uart0Recv()
if uart0_recv_flag == 1 then
--如果触摸屏上绿色按钮按下
if uart0_recv_tab[1] == 0x11 and uart0_recv_tab[2] == 0x22 and uart0_recv_tab[3] == 0x33 then
LIB_GpioToggle("D8") --切换LED1灯亮灭状态
--如果触摸屏上黄色按钮按下
elseif uart0_recv_tab[1] == 0xaa and uart0_recv_tab[2] == 0xbb and uart0_recv_tab[3] == 0xcc then
LIB_GpioToggle("D9") --切换LED2灯亮灭状态
else
--do nothing
end
end
--每1秒更新一次液晶屏显示内容
if cnt_10ms >= 100 then
cnt_10ms = 0
--向液晶屏幕发送需要更新显示的温度数据,注意:多发送的3个0xff是液晶屏的协议暗号,不可缺少
uart0_send_table = LIB_StrToTab(string.format("t2.txt=\"%.1f\"\xff\xff\xff", temp))
LIB_Uart0BlockSend(uart0_send_table)
--向液晶屏幕发送需要更新显示的湿度数据,注意:多发送的3个0xff是液晶屏的协议暗号,不可缺少
uart0_send_table = LIB_StrToTab(string.format("t3.txt=\"%.1f\"\xff\xff\xff", humi))
LIB_Uart0BlockSend(uart0_send_table)
temp = temp + 0.1
humi = humi + 0.2
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

六、液晶屏页面的开发

(1)首先下载我们事先开发好的工程文件,点击此处

(2)用PC端开发软件打开下载的工程后,既可以看到已经开发好的工程页面。

在下图中我们对开发过程中的关键地方做了注释,以帮助您掌握页面的开发方法(图中主要描述了绿色按钮控件的设置方法):

tft_tutorials

七、代码运行结果

我们可以在3.5寸液晶屏幕上可以看到如下内容:

当我们在屏幕上按下绿色按钮时可以看到Core开发板上的LED1灯亮起来了。

result0