一个大学班长必须会的:单片机I/O口的扩展

来源:百度文库 编辑:中财网 时间:2024/05/09 19:53:17

单片机I/O口的扩展

2009-9-23 10:21 提问者:jiting_123 | 浏览次数:990次
本人想制作两块宣传板,板子为泡沫板,想在适当的位置放置一些LED灯以增加美观。统计了一下共需要大约120展LED灯。现在希望用一块51控制,比如ATMEL 89C51。I/O口明显不够用,急需扩展。希望各位大侠赐教。谢谢
建议你不要用AT89类芯片,因为51型单片机的I/O口驱动能力都比较弱,如果要扩展多位I/O,还有另加入74HC244缓冲器提高芯片的带负载能力,(或者利用达林顿电路放大输出电流),硬件比较复杂。而且即使要用AT89系列也请使用AT89S52芯片,利用SCK MOSI MISO SS等引脚(其他单片机如需扩展也要有类似的I/0口)采用SPI(同步串行数据)通讯方式,利用74HC164或者74LS164等移位寄存器(串入并出)扩展I/O口。这样无论你要扩展多少个I/O口,对于单片机而言最多只需要3个到4个I/O口就可以了。(你用的移位寄存器越多,扩展的I/O口就越多,一般一个移位寄存器可以扩展8个I/O口,120个大约需要15个移位寄存器)。建议使用AVR或者PIC之类的芯片,因为这些芯片的驱动能力比51要强很多,价格也比51贵不了多少的。使用移位寄存扩展应该注意地址锁存等问题,如果用的移位寄存器很多的话,可能出现LED闪烁现象,此时要记得用三极管锁住电平就可以了。