想使用单片机同时控制最多81个继电器按照实际要求接通或断开,能否做得到?
单片机的类型很多,比较常见的单片机I/O口一般比较少,一般都是4组以内,每组8个,共32个I/O口,以及3组24个、2组16个、1组8个等,稍多一点的有64个I/O口。但是也有I/O口较多的单片机,比如stm32f103zet6一共144个引脚,具有112个I/O口,足以满足控制要求。
驱动电路如下图所示,由于大部分单片机I/O的的默认值为高电平,因此再设计驱动电路时,采用低电平驱动继电器工作。
但是比较常用的C8051F系列单片机其I/O口数量只有8~64个,若单片机的I/O口不够时怎么办?
1、可以使用74HC595扩展。74HC595是一个具有输出锁存的串行输入8位并行输出的移位寄存器,在驱动数码管当中经常有用到,如下图为使用74HC595驱动数码管的原理,控制继电器时,74HC595的输出口接PNP三极管即可,输入低电平时三极管导通。
2、可以使用可编程逻辑器件CPLD进行扩展。使用CPLD扩展的好处就是可以扩展很多I/O口,而且不会像使用74HC595那样因为扩展得多了就会有一定的延时。其原理如下图所示,通过读RD、写WR信号以及AD数据地址总线进行传输数据,可以根据需求选择合适I/O口的CPLD。
3、使用多片单片机。若一片单片机的I/O口引脚不够也可以使用两片以上的单片机,进行控制继电器,只是需要编写多个单片机程序,若不同单片机之间的继电器需要交互时,单片机之间还需增加通讯接口,可以使用SCI、SPI等通讯接口。
审核编辑:汤梓红
-
继电器
+关注
关注
132文章
5363浏览量
149689 -
单片机
+关注
关注
6044文章
44632浏览量
639382 -
cpld
+关注
关注
32文章
1257浏览量
169705 -
驱动电路
+关注
关注
153文章
1536浏览量
108808 -
程序
+关注
关注
117文章
3798浏览量
81500
原文标题:单片机的I/O口不够,怎样同时控制最多81个继电器
文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
I/O口是单片机与外界联系的通道
![<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>是<b class='flag-5'>单片机</b>与外界联系的通道](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论