蜂鸣器(汇编语言)

蜂鸣器的发声主要需要搞懂两点问题,第一,如何使用单片机控制蜂鸣器发声;第二,选择合适的延时时间。


  • 如何使用单片机控制蜂鸣器的发声?

蜂鸣器分为有源和无源,本实验采用无源蜂鸣器,其原理图如下:

已知蜂鸣器BEEP端的高低电平变化,产生一定频率的脉冲信号,无源蜂鸣器得以发声。又BEEP端口作为ULN2003D的一个输出端口,控制它的电平变化也就是要控制IN5端口的输入,也就是P1.5。经过查阅资料,已知该芯片相当于非门,即输入为高,对应输出为低。并不影响本实验,可以忽略。

因此,我们只需控制P1.5的电平高低变换即可。

  • 选择合适的延时时间

每次电平翻转后,需要一定的延时,参考资料,延时时间在10us左右,蜂鸣器能够正常发声。


由此,程序如下:

ORG 0000H
AJMP MAIN
MAIN:
     MOV R1,#0FFH
     CPL P1.5
     LCALL DEL
     AJMP MAIN
DEL:
     MOV R0,#02H
     DJNZ R0,$
     DJNZ R1,DEL
     MOV R1,#0FFH
     RET
END

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值