利用单片机P1口输出高低电平,控制继电器的开合,以实现对外部的控制

用继电器的基本方法和编程
设计目的:掌握用继电器的基本方法和编程
设计要求:利用P1口输出高低电平,控制继电器的开合,以实现对外部的控制

第1个回答  2010-06-08
几个要点:
1.单片机输出口加反相器。
2.用光耦隔离单片机和继电器。
3.继电器可以用通过三极管9013控制。
4.如果是交流大功率负载要加交流接触器。

编程的方法跟原来是一样的
第2个回答  2010-06-08
使用光耦隔离
不然系统容易死机。
也就是程序出现跑飞现象。
光耦的类型,就不需要在说了吧?
PC817/TL521/4N25等等均可
如果电流不够的话,可以加管子扩流,
记得要加续流二极管啊!
第3个回答  2010-06-15
利用P1口输出高低电平,控制继电器的开合,以实现对外部的控制
第4个回答  2010-06-08
继电器有较大干扰,一般使用相对独立供电,至少于单片机的电源之间有磁珠隔离,信号上大多使用光耦隔离,防止单片机跑飞。
具体接法一般是单片机的IO经限流电阻到光耦输入上,光耦输出接限流电阻到驱动管,驱动管接继电器,继电器反并保护二极管,防止烧坏驱动管。
以MSP430为例,P1输出时如下代码:
P1DIR=0xff; //P1全部为输出方向
P1OUT|=0x01; //假设P1.0为继电器输出,高电平有效,这就是输出。
P1OUT&=~0x01; //关闭P1.0输出。

封装同学的回答中“1.单片机输出口加反相器。”这条不是必须的。51单片机的端口是OC或OD的,下拉电流大,上拉小,所以加一个反相器有一定的道理,不过要是直接用PNP管驱动,低电平有效,也可以完全忽略这个东西。所以9013不是唯一选择,9012或8550也可以用,要么BC558也行,反正PNP就可以。对于430来说,IO全部推挽输出,所以无所谓反不反相,用NPN和PNP直驱都行。要加隔离之后的话就更无所谓了,不论哪个,都把光耦接到VCC和IO之间,哪个电路都通用,低电平有效。本回答被网友采纳