打印

菜鸟问题 请问单片机的i/o口如果不够怎么办

[复制链接]
3836|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
还我今生|  楼主 | 2007-8-18 07:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问如果单片机要控制光屏,打印机,还有很多控制,导致I/O口不够用怎么办
请问有什么好的办法吗?我用的是51

相关帖子

沙发
tyw| | 2007-8-18 08:04 | 只看该作者

I/O口扩展,或是输入输出口分时共用

比如键盘和led显示就常做成分时共用的

使用特权

评论回复
板凳
平常人| | 2007-8-18 08:16 | 只看该作者

如果单片机的I/O口不够,说明选的单片机不合适,换一个!

I/O口扩展或是输入输出口分时共用有时可以解决问题,但不是任何时候都可以。最好是换一个脚位多的单片机。

使用特权

评论回复
地板
还我今生|  楼主 | 2007-8-18 08:22 | 只看该作者

请问用74HC574之类的芯片可以解决问题吗

使用特权

评论回复
5
hq_y| | 2007-8-18 08:23 | 只看该作者

一般是把不是很重要的I/O口线,采用串行扩展的办法

比如键盘、LED显示等等;
本身键盘、LED显示都是慢速扫描的,比如采用5ms的定时中断中去处理;

一些特殊的,高速的I/O,才使用mcu本身的I/O口线直接驱动,例如继电器和打印机;

使用特权

评论回复
6
fsaok| | 2007-8-18 08:24 | 只看该作者

.

呵呵,继电器也是慢速的..

使用特权

评论回复
7
hq_y| | 2007-8-18 08:30 | 只看该作者

继电器有可能是特殊的~~~~~~~~~

例如,如果使用6B595这样的芯片去驱动继电器,假设这个继电器是控制一个很重要的设备,比如电机或者切割刀具,而这个设备在程序跑飞死机的时候,6B595还仍然驱动这个继电器工作,那么可能要出大事;

使用mcu的I/O口直接控制可以避免这样的问题;根据mcu的上电时候的I/O口线的状态,采用合适的驱动电路,当程序跑飞看门狗复位操作,就能让这个继电器处于不工作的状态。

使用特权

评论回复
8
hq_y| | 2007-8-18 08:55 | 只看该作者

74HC574这样的芯片当然是可以的~~~~~~~~

但是并行扩展比较麻烦,现在俺基本不使用这样的办法啦;除非51系统中必须扩展ram、rom这样的场合;

但是在需要扩展ram、rom的场合,现在有了更好的办法,那就是使用其它的mcu,或者使用一片小arm来搞定;

使用特权

评论回复
9
JDWANG| | 2007-8-18 08:58 | 只看该作者

用I2C总线器件扩展

用I2C总线器件扩展,扩展I/O口可用PCA9554,扩展LED数码管和键盘可用CH452或ZLG7290,驱动继电器需加驱动电路,常用的有ULN2003(7个继电器)或ULN2803(8个继电器)。便宜的可用移位寄存器74HC164。方法很多,根据你的具体情况选择合适的器件。

使用特权

评论回复
10
zjf0000| | 2007-8-18 09:29 | 只看该作者

可以加个245,分时复用io

使用特权

评论回复
11
ayb_ice| | 2007-8-18 09:49 | 只看该作者

只有扩展或更换MCU了...

使用特权

评论回复
12
stycx| | 2007-8-18 09:56 | 只看该作者

也可以加一个MCU

使用特权

评论回复
13
lake198664| | 2007-8-18 10:48 | 只看该作者

哈哈~~~

哈哈,换个FPGA吧,几百个脚,绝对够用!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

218

主题

1382

帖子

1

粉丝