感觉为了这个拨码开关占用了8个IO有点不值得。
思路是这样的:
下拉电阻是4.7K,而上拉电阻依次是1k,2.2k,4.7k,10k,20k,47k,100k,220k,通过拨码开关控制上拉电阻并联。
这样因为任意多个电阻并联都不会与其他电阻阻值相同(因为至少差距1倍了),
这样程序采样一次ADC,然后算出上拉电阻的总阻值。
因为8位拨码开关有256种组合,然后依次算出每种组合的并联电阻值,一共运算256次,就可以知道有哪几位开关闭合了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
区间,区间。区间搞大点,别太小了,接触电阻一般在100r以内,但是大电阻会响应比较慢。还有消抖也比较麻烦。简单点,10个按键你分10个大区间,落在哪个算哪个。不需要查表,没意义。
一周热门 更多>