2,引脚的功能分类
这里我遇到的问题点:供电不稳定会造成键值稳定,不建议用那么多按键,拉开电压区间,然后键值才会稳定输出
1.AD按键,芯片引脚设置成输入,关上拉,关下拉,通过识别引脚的电压判断哪个按键按下(原理图如下)
程序解读:
1.定义并计算当前状态其中R _UP 为22K电阻,见前定义,每个按键按下后的理论电压,下ADC10_33即为VCC_3V3的电压3.3V,同理向下第一个按钮220K按下时,电阻分压,测量点的电压约为3V。。。
2.划分判断等级,理论电压计算出来后,进行区域划分,不可能用等于某个值就是这个被按下,应该是在某个值的范围内,就是某个按钮被按下
新增一个无触发状态,当没有任何按键按下,那么测量电压等于3.3V的时候,就被定义出一个无触发状态
剩下的进行划分,以相邻的两个按键值电压的分界线为中线,超过这个值就上一按键,低于这个值就为下一按键。
之后判断采集的值,与现在的界限值比较,来确定哪个按下了
最后的判断KEY_Number值的注释是我个人加的,可能没用,没细看