迷惑不解的按键识别与数码管电路

2020-01-16 18:25发布

正在研究如下一个电路:
ledkeys.JPG (121.35 KB, 下载次数: 0) 下载附件 2014-1-11 19:43 上传

单片机是贴片44脚的STC89C54, PIN30-P37即P0.7~P0.0, PIN43即P1.3, PIN18~P21即P2.0~P2.3,
LED是四位数码管,


PIN21-PIN18位码输出,实测均接高电平时,一般理解:
PIN43被电阻R48下拉,当按键按下时应该是晶体管导通,PIN43应为高电平。

由位码扫描与PIN43的电位,就可以得知是哪个按键按下。
但是,实际是这样的:

未按键时PIN43的电压是0.7V,而二极管D1-D4的正极均为0.65V,负极为0.58V,而按下按钮后二极管正极不变,负极为1.4V左右。

按理如果三极管导通的话,EC压降0.7,二极管压降0.7,PIN43的电压应该是3.6V左右。
实际情况只能判断是不导通。

但这为何?而且二极管的正负端电压变化因何而起呢?

请高手帮忙分析一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
downtoearth
1楼-- · 2020-01-19 10:16
本帖最后由 downtoearth 于 2014-3-8 04:10 编辑
mcu_lover 发表于 2014-3-7 08:06
可以作为同时按下使用,一个按键对应一个BIT。


嗯!我再想问问DS18B20不受中断干扰的驱动应该怎样写。关中断可以稳定读数据,但数码管就会闪烁。
DS18B20好多人都用汇编解决这个问题,但我不懂汇编,我相信C都应该可以的。
mcu5i51
2楼-- · 2020-01-19 11:33
很经典的按键扫描.
1820类的单线器件可以在关闭中断的时候发送一个BIT,之后就恢复中断,就不会对其他部分有干扰了;
我现在用得较多的按键电路是直接在数码段上串入一直电阻后通过按键接地,估计你会有点晕,不过可以减低硬件开销
52HLX
3楼-- · 2020-01-19 12:03
学习一下,数码管和按键公用
su33691
4楼-- · 2020-01-19 16:37
 精彩回答 2  元偷偷看……

一周热门 更多>