正在研究如下一个电路:
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左右。
实际情况只能判断是不导通。
但这为何?而且二极管的正负端电压变化因何而起呢?
请高手帮忙分析一下。
嗯!我再想问问DS18B20不受中断干扰的驱动应该怎样写。关中断可以稳定读数据,但数码管就会闪烁。
DS18B20好多人都用汇编解决这个问题,但我不懂汇编,我相信C都应该可以的。
1820类的单线器件可以在关闭中断的时候发送一个BIT,之后就恢复中断,就不会对其他部分有干扰了;
我现在用得较多的按键电路是直接在数码段上串入一直电阻后通过按键接地,估计你会有点晕,不过可以减低硬件开销
一周热门 更多>