本帖最后由 白滚滚 于 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个口
是AT89S52,用的是4*4矩阵键盘
的确够惨的,这样的话就换带字库且能串行的ST7920,这样不算犯规吧?
按键和数码管、LCD的八位可以复用,于是就够了,注意分时复用,按键有4个输出4个输入,在按键时千万记住关闭数码管显示,另外在按键的8根线上都串接较大的电阻,比如5.1K,至少要在4根输入线上串!
如果还想继续省的话,液晶的6个控制脚有三根可以和数码管的位选复用,主要好分配时间。操作完液晶时,千万要将这三根线恢复到原来的状态,这样基本上不会影响数码管的显示,因为液晶操作时间并不长。
接着省:使用上述方法将液晶的另外一个控制脚与LED复用,又少占用一个引脚。
修改原因:继续省线大法。使用本人的方案可以为您节省12个引脚,够你用了并且还可以继续扩展功能。
一周热门 更多>