[家电应用] 中颖单片机SH79F084A的按键扫描函数?

[复制链接]
2773|8
 楼主| 折腾无止境 发表于 2017-7-5 10:17 | 显示全部楼层 |阅读模式
中颖单片机SH79F084A的按键扫描函数?
while(1)
        {
                //P3_0 = 0;
                if(P1_7 == 0)
                {
                  delayms(20);
                        if(P1_7 == 0)
                        {
                                P3_0 = 1;
                                /*if(P1_6 == 0)
                                {
                                        P3_1 = 1;
        }*/
      }
    }
gx_huang 发表于 2017-7-5 15:04 | 显示全部楼层
LS真是折腾无止境
 楼主| 折腾无止境 发表于 2017-8-4 16:27 | 显示全部楼层
gx_huang 发表于 2017-7-5 15:04
LS真是折腾无止境

呵呵,没有上拉功能
抱素 发表于 2025-10-14 15:54 | 显示全部楼层
SH79F084A 按键扫描函数可设 IO 口为输入,循环读取引脚电平。先延时消抖,对比前后状态,确认按键按下 / 释放。可采用状态机记录按键状态,支持多按键检测,通过返回值区分不同按键,优化扫描频率减少资源占用。
我趴在云边 发表于 2025-10-17 15:18 | 显示全部楼层
中颖 SH79F084A 的按键扫描函数通常采用轮询方式:先配置 GPIO 为输入,循环读取按键引脚电平,加入延时消抖(10-20ms),连续检测到电平变化则确认按键状态,区分按下 / 松开,可通过状态机记录按键事件(单击、长按),函数需高效以不阻塞主程序。
桃花落满山前 发表于 2025-10-27 15:45 | 显示全部楼层
SH79F084A 按键扫描函数通常采用轮询方式:先配置 IO 口为输入,循环读取按键引脚电平,通过延时消抖(10-20ms)排除干扰。检测到电平变化后,判断按键按下 / 松开状态,记录键值并存入缓冲区,避免重复触发。示例框架含消抖、状态判断及键值返回逻辑,适配独立或矩阵按键。
小岛西岸来信 发表于 2025-11-3 11:43 | 显示全部楼层
SH79F084A 的按键扫描函数通常采用轮询方式:先配置按键引脚为输入,循环读取引脚电平。通过延时消抖(约 10-20ms),连续两次两次读取结果一致确认按键状态。区分按下 / 松开动作,记录键值或触发对应处理函数,可配合定时器多按键矩阵扫描,通过行列电平确定按键位置,兼顾效率与准确性
野玫瑰 发表于 2025-11-3 14:01 | 显示全部楼层
SH79F084A 按键扫描函数通常采用轮询方式:配置对应 IO 为输入,先拉低列线,读取行线状态;延时消抖后再次读取,两次一致则确认按键。可通过状态机处理长按、短按,或用定时器中断定时扫描,减少 CPU 占用,适配低功耗需求。
水星限定 发表于 2025-11-12 16:16 | 显示全部楼层
SH79F084A 按键扫描函数可这样设计:先配置按键对应 IO 为输入,循环读取引脚电平。采用消抖处理,首次检测到电平变化后延时 5-20ms,再次读取确认。记录按键状态,通过状态变化判断按下 / 释放,返回键值或标志位。例:unsigned char KeyScan (){// 配置 IO,读电平,消抖,判断返回}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

65

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部