单片机驱动喇叭

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:37:28
各位大哥,你们有没有51单片机驱动喇叭的资料,我看了一些资料,使用386驱动喇叭,但是喇叭只能发出一些好奇怪的声音,真是烦...

我写程序时,是想P2.0输出波形给喇叭,大概是这样的,

LOOP:SETB P2.0
LCALL DELAY1S
CLR P2.0
DELAY1S
LJMP LOOP

但是我用万用表去测P2.0的端口电压都没有变化,都是4V多,我想程序应该没有错,真搞不明白.

应该给喇叭一个周期性的信号才可以。
LOOP:CPL P2.0
LCALL DELAY1MS
LJMP LOOP

DELAY1MS:
MOV R7, #2
DEL1:
MOV R6, #250
DJNZ R6, $
DJNZ R7,DEL1
RET

这样应该是可以的,试试看。

上面的程序不太对。。。
低电平没调用到延时

DELAY1S 需要改成 delay 1ms

"用万用表去测P2.0的端口电压都没有变化,都是4V多," 说明硬件上也有问题,
检查你的单片机复位部分和晶振电路电压是不是正常.

喇叭只能发出一些好奇怪的声音 是频率引起, 或者它的驱动电压不够,

在这些方面查看看.

LOOP:SETB P2.0 ---直接的把P2.0置为1
LCALL DELAY1S ----调用延时
CLR P2.0 -----直接的把P2.0在置为的0
LCALL DELAY1S ---调用延时
LJMP LOOP---一直的循环

应该的是这样的吧,你的原来的没有高低电平的变换,一直的是高电平的调用。

延时的时间太长了,应该改短一点.还有应该是用CPL P2.0 即取反位.