当前位置: 首页 > news >正文

单片机 + 图像处理芯片 + TFT彩屏 指示灯控件

指示灯控件使用说明

简介

这是一个基于单片机 + RA8889/RA6809图形处理芯片的指示灯的控件库,用于在TFT显示屏上显示各种状态的指示灯。该控件支持多种状态显示,包括正常、警告、错误和停止等状态,并支持自定义标签显示。
单片机指示灯控件演示

功能特点

  • 支持多种状态显示(正常、警告、错误、停止),也可以自定义
  • 可自定义指示灯大小
  • 支持标签显示
  • 支持动态状态切换
  • 支持创建多个指示灯

硬件环境要求

  • MCU: 51/ARM等不限(测试平台使用:STC8H8K64U)
  • 图形处理芯片(Micro GPU): RA8889/RA6809
  • 显示屏: TFT液晶屏(演示采用:1024x600)

文件结构

指示灯控件
│
├── main.c  # 示例应用程序
├── widget/
│   ├── indicator_light.c    # 指示灯控件实现
│   └── indicator_light.h    # 指示灯控件头文件
└── RA8889_01_Kernel/├── RA8889_51.c      # RA8889底层驱动├── RA8889_51.h├── RA8889_API_51.c  # RA8889 API实现├── RA8889_API_51.h└── UserDef.h        # 用户定义配置

使用方法

1. 初始化

在使用指示灯控件之前,需要先进行初始化:

Indicator_Init();

2. 添加指示灯

使用Indicator_Add函数添加指示灯,参数说明:

  • x: 指示灯X坐标
  • y: 指示灯Y坐标
  • radius: 指示灯半径
  • status: 指示灯状态(DEVICE_STATUS_NORMAL/WARNING/ERROR/STOP)

示例:

unsigned char led_id = Indicator_Add(400, 210, 60, DEVICE_STATUS_WARNING);

3. 设置标签

使用Indicator_Setlabel函数设置指示灯标签:

Indicator_Setlabel(led_id, "LABEL", label_color);

4. 绘制指示灯

使用Indicator_Draw函数绘制指示灯:

Indicator_Draw(led_id);

5. 状态切换

使用Status_Change函数切换指示灯状态:

Status_Change(led_id, status);

状态说明

  • DEVICE_STATUS_NORMAL: 正常状态
  • DEVICE_STATUS_WARNING: 警告状态
  • DEVICE_STATUS_ERROR: 错误状态
  • DEVICE_STATUS_STOP: 停止状态

示例代码

// 初始化
Indicator_Init();// 添加指示灯
unsigned char led_id = Indicator_Add(400, 210, 60, DEVICE_STATUS_WARNING);// 设置标签
Indicator_Setlabel(led_id, "WARNING", color16M_black);// 绘制指示灯
Indicator_Draw(led_id);// 状态切换
Status_Change(led_id, DEVICE_STATUS_ERROR);

注意事项

  1. 使用前确保已正确初始化RA8889显示芯片
  2. 指示灯ID从0开始计数
  3. 标签文本长度建议不超过10个字符,以确保显示效果

源码下载

请看到视频最后。

视频介绍

单片机-RAIO液晶控制芯片-指示灯控件

相关文章:

  • 《P2880 [USACO07JAN] 平衡系列 G》
  • 19.idea调试功能
  • 【嵌入式开发-RS-485】
  • 阀门产业发展方向报告(石油化工阀门应用技术交流大会)
  • 蓝绿发布与金丝雀发布
  • 兼具直连存储与分布式存储优势的混合存储方案
  • AI搜索的未来:技术纵深发展与关键突破路径
  • 自动机小述(三又二分之一)
  • 数组和指针典型例题合集(一维数组、字符数组、二维数组)
  • 量化策略兼容性设计
  • Linux常用命令34——uname显示系统内核信息
  • AtCoder Beginner Contest 404 A-E 题解
  • QT中多线程的实现
  • 位运算题目:安排电影院座位
  • 编专利或委托他人编专利属于学术不端行为吗?
  • crawl4ai能替代scrapy等传统爬虫框架吗?
  • 【报错】view size is not compatible with input tensor‘s size and stride
  • 编译原理头歌实验:词法分析程序设计与实现(C语言版)
  • Oracle OCP认证考试考点详解083系列12
  • SpringBoot中使用MCP和通义千问来处理和分析数据-连接本地数据库并生成实体类
  • Meta正为AI眼镜开发人脸识别功能
  • 大风暴雨致湖南岳阳县6户房屋倒塌、100多户受损
  • 2025上海科技节将于5月17日开幕,拟设6大板块专题活动
  • 视频|漫画家寂地:古老丝路上的文化与交流留下的独特印记
  • 黄晨光任中科院空间应用工程与技术中心党委书记、副主任
  • 酒店取消订单加价卖何以屡禁不绝?专家建议建立黑名单并在商家页面醒目标注