请问附件电路图是如何一个IO做按键扫描和控制LED灯?
请问附件电路图是如何一个IO做按键扫描和控制LED灯?如下图,我测量到LED+端是一个5V宽度很窄的脉冲,如何检测到按键是否按下?按下后好像不是0V
而且按下时候LED灯是不亮的,LED灯亮是还是由KEY1-4四个IO来自由控制。
谢谢!
电路图有点问题:最下方我测量的不是接GND,可能是另外一个IO,但是在按键扫描和LED灯亮的所有时间内,它一直是低电平。
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_649759IYHPP4.jpg
(原文件名:1.jpg)
补充问一下:如果我想利用这个电路,只是想扫描按键,如何扫描到? 这个关注一下,也许用的桌 关注一下,不明白。。。 拉低,点亮LED
再拉高,检测,如果为低,则判断按键按下(并联电容一般起消抖作用)
循环,由于时间间隔小,LED不会闪烁,按键也能快速响应 谢谢3L的回复,问题是,我拉高,按下按键K1,去读KEY1的IO状态,是高还是低?
如果10K电阻=0欧,我会很肯定,不知道10K的时候,能不能读到低状态?
实验了一下,设置为高电平,按键按下,KEY1的IO状态读不到0,我还是将最下方接GND的状态下读的。 我认为是这样的一个过程:
1.要使LED点亮,LED+输出高电平,4个IO口拉低可使LED点亮;
2.扫描按键时,LED+输出低电平(必须!),4个IO口同时输出高电平,通过10K电阻对电容充电;
3.充电一段时间后(1ms左右),4个IO口置成不带上拉输入;
4.此时如果按键按下,读到的是低电平;如果按键未被按下,由于电容充了电,读到的将是高电平。
不知道对不对,请各位高手指教。 有点意思,学习学习 5L的方法好像还是读不到,那个电容我暂停3楼说法是消抖的。。。 人工置顶一下...我现在把下方的接GND改成-5V来实现控制了,但是感觉不对 内部上拉如果是100k就ok了 内部上拉 一般都是50~60K左右。
页:
[1]