看来这一个基础题目难住了挺多人.
我评价一下,吃吃小子,你的回答更不对,楼主说的是12V继电器,也就是你图中的VCC是12V的,而你的单片机引脚输出是5V的甚至更低的,根本无法控制三极管导通三极管一直都通的.
wolf_lhy,我经常求助于他,他的技术功底还是可以的,他画的电路是对的,可以实现控制,不过的确存在吃吃小子 说的问题,就软件一定上来就要把IO口写成低电平,不然,一上电,继电器就开了.
至于ftjn356,没有反并二极管,会烧坏下面三极管的.
而且你的接法,怎么可以用PNP三极管呢?功耗会很大,三极管上压降也大,而且继电器可能不工作
相对来说,wolf_lhy的答案虽然不完美,但是可以保证正常工作,其他两个人的无法正常工作
正确的应该是用多用一个三极管
看了这么多回答,我本来不想回答了,可是大家的回答有点问题.
先说那个wolf_lhy的回答,电路没有任何问题,就是实际运行中,要麻烦软件,因为如果你用别的单片机可以,51单片机,你就要麻烦软件,第一句就写IO口为低电平.
再说那个ftjn356的,电路就是有问题的,第一,你不应该用PNP三极管,不是说功能不能实现,也能实现,但是不好,三极管消耗功率大.第二,你的继电器没有续流二极管,这可不对
看我的电路:
参照单片机蜂鸣器电路,用三极管扩流。根据需要计算电阻大小即可