图示情况,数码管的4个二极管多余,靠左的3个二极管也多余, 扫键时RA不能做输入,但要求有上拉,或者输入有上拉但程序读RA也没有意义,
正确的方法: RA输出弱上拉或输入加弱上拉,RB全部输入加弱弱下拉,然后RB分别转换弱上拉,不用的 输出0,读RB判断按键 RA0 = 弱上拉,RA1=RA2=RA3=0时 可以判断M1~M5的8按键 RA1 = 弱上拉,RA0=RA2=RA3=0时 可以判断M1~M5的4按键 RA2 = 弱上拉,RA0=RA1=RA3=0时 可以判断M1~M5的2按键 RA3 = 弱上拉,RA0=RA1=RA2=0时 可以判断M1~M5的1按键 ......
|