查看: 15139|回复: 28

[提问] io口扩展

[复制链接]
发表于 2012-2-22 16:47:46 | 显示全部楼层 |阅读模式
20积分
触摸芯片输出多路四位bcd码, 如果直接输出到单片机的IO口,则IO口不够用, 请问有什么芯片可以扩展IO口读入bcd码?先谢谢了

发表于 2012-2-22 19:56:00 | 显示全部楼层
没做过这方面的,不过提个想法,用带片选的锁存器应该可以吧,不知道速度上能不能达到要求。具体做法就不用说了吧,不过程序中可能要注意进行端口的set
 楼主| 发表于 2012-2-22 23:32:58 | 显示全部楼层
有什么芯片可以推荐吗
发表于 2012-2-23 12:53:13 | 显示全部楼层
用CPLD,分时复用。
发表于 2012-2-23 14:12:02 | 显示全部楼层
一颗CPLD,有N多IO口供你扩展!
发表于 2012-2-23 21:02:33 | 显示全部楼层
小扩一个cpld
发表于 2012-2-24 11:35:00 | 显示全部楼层
建议用并串转换器,这样做,你的单片机只要两三个IO口就够用了,呵呵。
发表于 2012-2-24 12:23:14 | 显示全部楼层
发错,看下面
发表于 2012-2-24 12:29:09 | 显示全部楼层
推荐几款IC给你参考:
74LS96
74LS166
74LS194/195
 楼主| 发表于 2012-2-26 00:09:21 | 显示全部楼层
回复9楼sherwin     我用了74Hc165作为IO口扩展,3根线pin1,2,9,分别接到单片机的IO口上,但是好像读不出来。请问我的连接有问题吗?
发表于 2012-2-27 11:22:27 | 显示全部楼层
15、10这两个脚,你怎么处理的?这是必须设定的,不能悬空啊。
最好把你的电路图贴上来,才好判断。
发表于 2012-2-27 21:19:58 | 显示全部楼层
74ls165并转串
74ls164串转并
发表于 2012-2-27 21:20:18 | 显示全部楼层
74ls165并转串
74ls164串转并
 楼主| 发表于 2012-2-28 13:53:40 | 显示全部楼层


上面是连接图 1,2,9脚连单片机IO口
发表于 2012-2-28 22:26:23 | 显示全部楼层
回复14楼gsywm

如果我没猜错的话,你的BCD1~8,应该是一个拨码开关吧?如是,那有可能是你后面的电阻网络接法有问题,确切的说,你目前的接法,只有0没有1,即当拨码开关为断开的状态下,IO口是悬空的。

因此,你应该在拨码开关前面,加上上拉电阻。

或者,更好的做法,是拨码开关前面,每个IO口都加一个上拉电阻,而拨码开关后面就直接接地即可。
发表于 2012-2-29 18:11:17 | 显示全部楼层
CPLD
 楼主| 发表于 2012-2-29 20:10:32 | 显示全部楼层
回复14楼gsywm:  

如果我没猜错的话,你的BCD1~8,应该是一个拨码开关吧?如是,那有可能是你后面的电阻网络接法有问题,确切的说,你目前的接法,只有0没有1,即当拨码开关为断开的状态下,IO口是悬空的。

...
sherwin 发表于 2012-2-28 22:26


bcd1~8 是触摸的芯片输出的bcd码
发表于 2012-3-2 22:56:29 | 显示全部楼层
触摸芯片?那其输出接口是什么结构的?像你这样直接并接起来,恐怕真是会有问题的了。

建议:
1、上电之后,用示波器观察BCD1~8的波形,看看是否有高低电平的变化?其波形是否标准?即电平幅度、上下跳变边缘陡峭等等。
    如果答案是否定的,那就是你的接口电路不对,需要根据触摸芯片的接口结构重新调整。

2、如果答案是肯定的,那估计是你的读写时序有问题,建议你先用一个拨码开关电路来代替触摸电路,先把程序调试好了,再接上触摸电路,这样比较靠谱一点。
发表于 2012-3-3 12:26:25 | 显示全部楼层
可以用比较老的8255A,比较容易,但这款芯片比较老了
发表于 2012-3-18 12:34:25 | 显示全部楼层
使用译码器不知可否
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表