Board logo

标题: (求助)谁会I/O口的扩展 [打印本页]

作者: ORANGESUM    时间: 2006-4-16 14:56     标题: (求助)谁会I/O口的扩展

 我现在要一个51控制几十个LED,要扩展口,假如用74HCT164的话,我的程序部分应该如何控制呢?希望各位前辈能个我一些类似的例子,以做参考.是汇编的.


 


作者: ORANGESUM    时间: 2006-4-20 11:44

为什么没有人会呢?那用138或其它IC 的呢?
作者: lenglx    时间: 2006-4-20 12:08

提供2种选择做参考:
如果你想用很少的线扩展呢,可以用HC595等移位寄存器扩展,这样需要1个数据,1个时钟,1个锁存,共3根线.也可以使用不带锁存的寄存器,需要2根线.

也可以使用HC574这样的并行锁存器,可以通过分配一个外部RAM地址,再通过MOVX指令控制LED.

[此贴子已经被作者于2006-4-20 12:08:12编辑过]


作者: ORANGESUM    时间: 2006-4-21 10:36

我还是不太明白哦?
因为我刚开始写程序.所以还不知道程序怎么写,最好有实例让我参考一下.
谢谢.
作者: ctunan    时间: 2006-4-25 13:32

看你要扩展多少个IO罗.有串行转并行的IC,也有IIC转并行的.当然也可以用译码器等,甚至可以外加MCU,主要看你的具体的应用啦.
作者: yaoxiangtao    时间: 2006-4-25 16:23

先把你自己的功能需求说清楚
实现的方式很多种,你说清楚点,大家才能更加合适的去说自己的思路。

而且,一般大家主要是提供一个设计的思路,不是帮你完成。
作者: ORANGESUM    时间: 2006-4-26 09:38

我就是要一个单片机控制50个LED.要扩展IO口,只要大家例举一个例子就可以了.谢谢
作者: yaoxiangtao    时间: 2006-4-27 13:18

可以用CPLD来实现,如果你会的话。
要是用你所说的138译码器,我的思路是
用单片机的一个I/O口,有8位 2的6次方,有64位,后面用138去级联,就可以实现了

作者: iverson007    时间: 2006-4-29 16:01

我刚搞设计没多久,刚入门,我想问问为什么不试试8255呢,是8255成本太高还是其他的地方不合适?
作者: ORANGESUM    时间: 2006-5-4 10:42

不是啊,我是新手,在做练习啊?还有一个问题?
为什么当我显示四位动态数码管时,总有三位不能完全关掉,比要显示的那位暗一点,从波形上看不是完全置高,有大与1伏的压差.就算我用SETB P1.1这样的指令也不行?
作者: yaoxiangtao    时间: 2006-5-10 16:56

当你作动态扫描的时候,是否扫描间隔相同?
按照你说的情况,应该是所谓的鬼影,也就是视觉残留所造成的
所以,当你要点亮某一位时,要隔一定的时间。
作者: weiyd007    时间: 2006-8-7 14:55

I/O扩展用138来扩展,加上74245或者74574很容易就实现50个I/O了
扫描出现的问题,同意LZ,另外看是否是电路的问题,特别是供LED电流的支路。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0