进阶——十六届蓝桥杯嵌入式熟练度练习(按键+LCD)

server/2025/1/19 3:37:04/

高亮(一)

声明

 char buf[21];unsigned char upled=0x04;uint8_t key_val;uint8_t key_down,key_up,key_old;uint32_t key_time;uint8_t key_temp,key_flag;uint8_t line_flag;

按键代码

void key_proc(void)
{
key_val=key_scan();key_down=key_val&(key_val^key_old);key_up=~key_val&(key_val^key_old);key_old=key_val;
if(key_down==4)
{line_flag++;if(line_flag==4){line_flag=1;}
}
}

lcd高亮显示代码

注意:此段代码if-else的括号范围

void lcd_proc(void)
{  	if(line_flag==1){LCD_SetTextColor(Green);}else{LCD_SetTextColor(Black);}
LCD_DisplayStringLine(Line1,(uint8_t*)("11111111111"));if(line_flag==2){LCD_SetTextColor(Green);}else{LCD_SetTextColor(Black);}	
LCD_DisplayStringLine(Line2,(uint8_t*)("22222222222"));	if(line_flag==3){LCD_SetTextColor(Green);}else{LCD_SetTextColor(Black);}
LCD_DisplayStringLine(Line3,(uint8_t*)("33333333333"));}

高亮(二)

 LCD_Clear(White);LCD_SetBackColor(White);LCD_SetTextColor(Black);

lcd

void lcd_proc(void)
{  	if(line_flag==1){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line1,(uint8_t*)("11111111111"));if(line_flag==2){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}	
LCD_DisplayStringLine(Line2,(uint8_t*)("22222222222"));	if(line_flag==3){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line3,(uint8_t*)("33333333333"));}

 多页码

声明

  LCD_Clear(White);LCD_SetBackColor(White);LCD_SetTextColor(Black);
LCD_DisplayStringLine(Line3,(uint8_t*)("w  e  l  c  o  m  e"));

lcd代码

void lcd_proc(void)
{  	if(lcd_page==1){LCD_DisplayStringLine(Line3,(uint8_t*)("w  e  l  c  o  m  e"));}if(lcd_page==2){if(line_flag==1){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line1,(uint8_t*)("11111111111"));if(line_flag==2){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}	
LCD_DisplayStringLine(Line2,(uint8_t*)("22222222222"));	if(line_flag==3){LCD_SetBackColor(Yellow);}else{LCD_SetBackColor(White);}
LCD_DisplayStringLine(Line3,(uint8_t*)("33333333333"));}}

按键 

void key_proc(void)
{
key_val=key_scan();key_down=key_val&(key_val^key_old);key_up=~key_val&(key_val^key_old);key_old=key_val;if(key_down==3)
{  LCD_Clear(White);lcd_page++;if(lcd_page==3){lcd_page=1;}
}
if(key_down==4)
{line_flag++;if(line_flag==4){line_flag=1;}
}
}


http://www.ppmy.cn/server/159530.html

相关文章

1.5 GPT 模型家族全解析:从 GPT-1 到 GPT-4 的演进与创新

GPT 模型家族全解析:从 GPT-1 到 GPT-4 的演进与创新 随着人工智能技术的飞速发展,GPT(Generative Pre-trained Transformer)模型家族已经成为了现代自然语言处理(NLP)领域的标杆。从初代的 GPT-1 到最新的 GPT-4,每一代模型的发布都标志着人工智能技术的一个飞跃,并推…

若依入门使用

若依使用 1.下载2.搭建环境2.1 若依框架的目录结构2.2 打开项目修改配置文件2.2.1 打开后端项目2.2.2 设置 Maven2.2.3 application-druid.yml文件2.2.4 application.yml文件 2.3 运行后台服务2.4 运行前台服务2.4.1 编译器打开前台项目2.4.2 项目初始化2.4.3 启动 3.使用3.1 菜…

1.15寒假作业

web:nss靶场ez_ez_php 打开环境,理解代码 使用个体传参的方法,首先代码会检查file参数的前三个字符是不是php,如果是就输出nice,然后用include函数包含file,绕过不是则输出hacker,如果没有file…

DETRs with Collaborative Hybrid Assignments Training论文阅读与代码

关键词:协作混合分配训练 【目标检测】Co-DETR:ATSS+Faster RCNN+DETR协作的先进检测器(ICCV 2023)-CSDN博客 摘要: 在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习…

VS Code--常用的插件

原文网址:VS Code--常用的插件_IT利刃出鞘的博客-CSDN博客 简介 本文介绍VS Code(Visual Studio Code)常用的插件。 插件的配置 默认情况下,插件会放到这里:C:\Users\xxx\.vscode\extensions 修改插件位置的方法 …

零基础构建最简单的 Tauri2.0 桌面项目 Star 88.4k!!!

目录 预安装环境 安装nodejs windows下安装 linux下安装 nodejs常遇问题 安装C环境 介绍 下载 安装 安装Rust语言 Tauri官网 安装 vscode 安装 rust 插件 安装 Tauri 插件 运行成果 预安装环境 安装nodejs windows下安装 NodeJs_安装及下载_哔哩哔哩_bilibi…

窗口门狗实验(WWDG)实验【学习】

使用 窗口看门狗的中断功能来喂狗, 通过 DS0和 DS1提示程序的运行状态。 11.1窗口看门狗简介 窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位 …

向harbor中上传镜像(向harbor上传image)

向 Harbor 中上传镜像通常分为以下几个步骤: 1、登录 Harbor 2、构建镜像 3、标记镜像 4、推送镜像到 Harbor 仓库 1、登录 Harbor 首先,确保你已经能够访问 Harbor,并且已经注册了账户。如果还没有 Harbor 账户,你需要先注册一…