关于按键输入的问题
我用的C8051单片机,端口输出配置为推挽方式。一共接了11个按键,每个按键单独接一个IO口,每个管脚都有10K的上拉电阻,供电电压是3.3V。
现在有个问题就是:当按下按键的时候,我测到的相应单片机管脚电压为1.1到1.2V,而单片机也能对这个电压有响应,认为是低电平,但却不是所有管脚都有响应,有三个按键没有响应,是因为管脚的差异吗?或者是虚焊了?
主要我不能理解的是,为什么按下按键时电压这么高,单片机也能认为是低电平?怎么能保证按下按键时让电压接近0V?加大上拉电阻吗?
请问是什么问题?关于键盘的问题? 输入的键与输出的字符不相符!悬赏分:5 - 解决时间:2006-... 常见故障二:某些字符不能输入。 若只有某一个键字符不能输入,则可能是该按键...
刚刚确认了单片机管脚没有虚焊。
我说的问题就是:1.为什么按键按下时,相应单片机管脚电压为1.1v到1.2v,通常应该是接近0v。因为有10K上拉电阻,所以我怀疑是键盘部分线路电阻过大?如何避免这个问题。增加上拉电阻阻值是否可行。
2.我说按键不响应是因为只要按下按键,蜂鸣器就会响一声,有三个按键按下不会这样,所以我认为没有响应。所有按键按下时,相应单片机管脚电压都是1.1v到1.2v,为什么有的按键起作用,而有的不起作用。
程序肯定没问题,硬件线路只不过把按键面板改为了薄膜键盘,所以我怀疑是电阻的影响导致按键按下时,电压不能为0.
1,你那三个脚接在P0口上了? 2,单片机管脚P1-P3内部都装有上拉电阻,有没有考虑到? 3,单片机的识别电压大概在二点多伏左右,手头没仪器没仔细测,一伏多也会识别为零位
我用的单片机是C8051。有没有什么办法可以是这个电压降到0伏左右?
按键的话,io端口不是应该配置为输入模式么? 怎么弄的推挽输出呢....根据你问题的描述,建议去掉 上拉电阻......
除了P0口,其他口都内置上拉的,不需要外置上拉电阻,
问题解决了,因为C8051F单片机当管脚作为数字输入时,要把PDMOUT寄存器相应位设为0,也就是设为开漏输出,并把对应的端口锁存器写1(这点和普通51相似)。
由于之前的程序一直没有这样设置,但是却运行的很好,这次换成薄膜键盘就不行了,必须重新设置。
应该是8个是P1口的,其他三个不是P1口的吧,把那三个的上拉电阻去掉,因为已经有内部上拉了,这样会导致上拉电阻并联后变小,输出电压偏高
应该是8个是P1口的,其他三个不是P1口的吧,把那三个的上拉电阻去掉,因为已经有内部上拉了,这样会导致上拉电阻并联后变小,输出电压偏高
学习了。
薄膜键盘的内阻太大引起的
不是很懂哦
按键有问题,按键按下,不管供电电压高低,限流电阻大小都会强制拉为0,即使直接把5V接到开关上都能把5V拉短路,但是开关可能会被大电流烧掉。