本帖最后由 白滚滚 于 2013-3-3 11:03 编辑
单片机的学习之路长途漫漫啊
跪求各位前辈给予指点:
当单片机的IO口不够用,却没有扩展的时候(不可自行接扩展)
能否通过软件编程或者IO口复用解决此问题?
---------------------------------------
单片机为AT89S5单片机一共是32个口
传感器和继电器占用14个
数码管是8+3=11个
液晶显示是8+6=15个(数码管8位数据口和液晶8位数据口用的同一组IO口,测试可用)
按键是8个,为4*4矩阵式键盘
LED1个
---------------------------------------
数码管和液晶显示的数据口共用一组IO口
所以是需要14+8+3+6+8+1=40个,还差8个口
您是说键盘干扰数码管还是数码管干扰键盘?周立功已经在他的DP-51中明确指出,是不会有干扰的。
键盘干扰数码管吗?键盘中串有电阻或二极管的,周立功的方案串的是二极管,我的方案是电阻。比如只在键盘的行上串10k的电阻,那么键盘导通时会产生5V/10kΩ=0.5mA的电流,根本不足以影响LED。嫌这个电流大了,那就把电阻再加大。
数码管干扰键盘吗?这个需要软件处理了。键盘扫描必须在数码管全灭的情况下进行。
如再有疑问,请自己做试验验证。我在我的商用产品中大量采用此方案,我自己就不再验证了。
一周热门 更多>