找回密码
 立即注册
查看: 405|回复: 0

基于STC32G12K128实验箱V9.62_实验之行列矩阵8按键输入

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-05-07 08:08:50

30

主题

347

回帖

3500

积分

荣誉版主

积分
3500
发表于 2024-5-26 21:23:48 | 显示全部楼层 |阅读模式
基于STC32G12K128实验箱V9.62_实验之行列矩阵8按键输入


    本实验在《基于STC32G12K128实验箱V9.62_实验之数码管显示字符串》实验基础上,参照官方Demo实验15,增加2*4行列矩阵8键输入实验。
    几点说明和体会。
    1,实验箱布有2*4行列矩阵8键,本实验采用翻转算法实现8键输入
    2,实现短按和长按可读取不同键值,扩大实用功能。
    3,实验程序开始运行,
         显示 “P-STC32G
         按任意键……
         显示 “H=00 A00
         当按下实验箱8键其中之一键时:
         数码管显示“H=”后两位数是翻转扫描所得的原始键值(16进制表达);
         右边显示“A”后两位重新定义的键值(16进制表达): 短按8个键之一时,显示“10”..."17", 长按8个键之一时, 显示“20”..."27", 这样可实现8键16值。

主程序
主函数看着非常简单, 具体算法,有兴趣的坛友可看看工程文件包...

//********************************************************************************
// 名称: 实验2*4 行列矩阵8按键测试
// 基于: STC32G12K128 V9.62 实验箱 (X:P00-P03 Y:P06-P07)
// 实验: STC-USB-Link1D仿真器调试/GPIO基本输出控制/定时器x中断/ADC12位转换...
// 编程: 浦晓明(浦江一水) 2023-12-10
//********************************************************************************
#include "STC32G_SYS.H"
#include "LED8D.H"           //有关数码管显示函数头文件
#include "KEY8.H"             //有关

/*************  全局变量说明 **************/
char S[16];     //显示字符串缓存
u8  K;
extern u8 Kb;
//========================================================================
// 函数: void  delay_ms(unsigned int ms)
// 描述: 毫秒级延时函数。
// 参数: ms,要延时的ms数,自动适应主时钟.
//=====================================================================
void  delay_ms(unsigned int ms)
{ unsigned int i;
  do{ i = MAIN_Fosc / 6000;
      while(--i);
    } while(--ms);
}
/**** 主函数入口 ************************/
void main(void)
{
  SYS_Init();               //系统初始化
  LED8D_Init();           //8数码管初始化
  KEY8_Init();             //KEY8键初始化
  LED8D_Str(0,"P-StC32G"); //显示名称字串   
  GETCH();                 //按任意键继续...
  LED8D_Str(0,"H=00 A00");
  //主循环...
  while(1)
  { K=0;                  //键值复0  
    K=RDKEY();            //读ADC键
    if(K!=0)     
    { sprintf(S,"H=%02X A%02d",Kb,K); //显示键值(16进制)
      LED8D_Str(0,S);        //送显示段码缓存   
    }
    delay_ms(50);
  }
}
   
工程文件包:
   基于STC32G12K128实验箱V9.62_实验之行列矩阵8按键输入.rar (39.12 KB, 下载次数: 36)






回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-8 01:49 , Processed in 0.123381 second(s), 47 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表