| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> TFTLCD 液晶界面设计 -> 正文阅读 |
|
[嵌入式]TFTLCD 液晶界面设计 |
前言 最近使用一块 TFT 模块做心电检测(Electrocardiography Test, ECG Test)的波形显示时,涉及到界面设计,期间遇到一些困难,花费一些时间解决了,简单分享一下 起初我只是简单将中文,英文绘制上去,黑底白字,配上一个简单的开始按钮,但是过于简单了,而且没有表现 TFT彩屏的功能特点,即可以绘制彩色字符甚至是彩色图片的功能,于是进行了修改。 几番思索,最终设计方案: 具体效果看文末对比。 正文 要使用 TFT 模块显示彩色字符或图案,首先要了解到 TFT 模块是一块16位真彩色显示屏 16位:使用16bit 来表示一个颜色,总共能表示 65536 种颜色 16位真彩中个颜色所占位数: R: 5bit G: 6 bit B: 5 bit 绘制浅蓝色网格线 颜色可以通过查阅相应的16位真彩色表获得,也可以通过尝试得到 绘制典型的PQRST波 这个任务我起初的方案是找一张QRST波形图片,将图片背景变成黑色,然后对它进行取模,绘制,但是我发现取模后,数据大小达一万多,不过我使用的51单片机Flash大小是128KB,所以将数据放在code字段程序倒是编译运行没什么问题 但是因为线太细了,对图片清除背景时,使用自动去除背景工具清除不准确,需要手动进行调整,还会对波形造成一定破坏,不美观 所以我最终还是采用画线的方式,画线就需要自己确定点的坐标,假如有专门的测量工具就可以知道图片上点的位置比例,但是我没找到工具,所以我是通过多次调试得到的坐标,这个过程就是需要费时间调试,其他还好,因为线不多,所以还是可行的 绘制心 起初我绘制的是一个平面的简笔画,单色的爱心,不够美观,最终我还是决定绘制一颗心脏上去 得到需要的图片后,使用电脑自带的画图工具将图片缩小到合适的尺寸 绘制渐变色线 绘制渐变色涉及到颜色的知识,由于我手头没有色表,所以只能根据颜色值的规律变化来实现颜色渐变 我任务的主要需求是实现颜色的变亮和恢复,简单来说就是让一条线有一个中间发光的效果 所以就需要给定一个颜色,减少蓝色所占比例的同时提高RGB各个分量的值,我的做法是给定一定的B分量值,RG分量为0,然后再不断地递增RG的值
上面的代码,2112是RGB三个分量分别为1 2 0的十进制值 可以通过调整被取模数来设置渐变的快慢 上面的代码效果就是直线从蓝色慢慢趋近白色,通过将FRONT_COLOR再递减回去就可以恢复原来的颜色值 要得到蓝色逐渐变浅变黑,就比较简单了,只需要对蓝色分量进行递减就可以了
根据自己想要的颜色对颜色区间和渐变快慢进行调整就可以了 修改前后对比
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 12:22:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |