本人初学51单片机,请教大神这个驱动这个蜂鸣器响?谢啦,下面是原理图! 最好写出大致的程序

如题所述

很明显,你的这个蜂鸣器是用单片机的p1.4口来控制的,当p1.4口为高电平时,UNL2003中的三级管就可导通,这个时候蜂鸣器的那个接OUT7的引脚就会变成低电平,这个时候蜂鸣器就有了工作电压了。
UNL2003里边其实就是一组三级管组成的OC(集电级开路)门。目的是为了提高驱动电流的。因为单片机的引脚输出和输入电流有限。追问

#include sbit P14=P1^4; void main() { P14=1; }

这是我的程序,可是蜂鸣器没有响啊!请问怎么回事啊?

追答

应该是
#include
#define P14=P1^4
void main()
{
P14=true;
}
或者写成

#include
void main()
{
P1=P1|0x08;
}
如果别的P1口没有用,也可以写成
#include
void main()
{
P1=0x08;
}
如果不行,你试着写成P1.4口为低电平的的情况试下。或者在程序前加一点延时。可能一开始单片机复位不稳定.
#include
void main()
{
for(int i = 0; i <100;i++);
P1=0x08;
}
也有可能是J3这个开关的问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-22
你好:
先把J3处的开关打开,然后让单片机的P1.4口输出高电平即可。
你先试试把。
希望我的回答能帮助到你。追问

#include sbit P14=P1^4; void main() { P14=1; }

这是我的程序,可是蜂鸣器没有响啊!请问怎么回事啊?

#include sbit P14=P1^4; void main() { P14=1; }

这是我的程序,可是蜂鸣器没有响啊!请问怎么回事啊?

追答

我已经给你说了,J3是蜂鸣器的开关,你先要打开了来!!!

追问

太谢谢啦,原来开发板上有个硬件J3开关,得先用手打开!

追答

嗯呀,其实你仔细看看就能懂的。如果问题解决了记得采纳吧。

本回答被网友采纳
第2个回答  2013-12-23
把J3处的开关打开。蜂鸣器是用单片机的p1.4口来控制的,(程序里面直接赋值P1.4=1;)当p1.4口为高电平时,UNL2003中的三级管就可导通,这个时候蜂鸣器的那个接OUT7的引脚就会变成低电平,这个时候蜂鸣器就有了工作电压了。追问

#include sbit P14=P1^4; void main() { P14=1; }

这是我的程序,可是蜂鸣器没有响啊!请问怎么回事啊?

追答

看来是没问题了啊,呵呵

相似回答