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

高亮(一)

声明

复制代码
 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;}
}
}
相关推荐
fie888921 小时前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
bu_shuo21 小时前
嵌入式硬件工程师VS单板硬件工程师
嵌入式硬件·电子工程师·单板硬件
一轮弯弯的明月21 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
llilian_1621 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
Yyq130208696821 天前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
爱分享的阿Q1 天前
STM32现代化AI开发环境搭建:从Keil到VSCode+AI的范式转移
人工智能·vscode·stm32
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
liu****1 天前
第16届省赛蓝桥杯大赛C/C++大学B组(京津冀)
开发语言·数据结构·c++·算法·蓝桥杯
爱吃程序猿的喵1 天前
南邮计科电工电子实验B《RLC串联谐振电路》实验报告
单片机·嵌入式硬件
独小乐1 天前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm