永发信息网

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

答案:3  悬赏:70  手机版
解决时间 2021-01-13 07:54
  • 提问者网友:山高云阔
  • 2021-01-12 22:40
本人初学51单片机,请教大神这个驱动这个蜂鸣器响?谢啦,下面是原理图! 最好写出大致的程序
最佳答案
  • 五星知识达人网友:雾月
  • 2021-01-12 23:45
很明显,你的这个蜂鸣器是用单片机的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楼网友:独钓一江月
  • 2021-01-13 02:10
把J3处的开关打开。蜂鸣器是用单片机的p1.4口来控制的,(程序里面直接赋值P1.4=1;)当p1.4口为高电平时,UNL2003中的三级管就可导通,这个时候蜂鸣器的那个接OUT7的引脚就会变成低电平,这个时候蜂鸣器就有了工作电压了。追问#include sbit P14=P1^4; void main() { P14=1; }

这是我的程序,可是蜂鸣器没有响啊!请问怎么回事啊?追答看来是没问题了啊,呵呵
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯