松翰2501B单片机,蜂鸣器驱动程序(汇编语言)谢谢。

松翰2501B单片机,蜂鸣器驱动程序(汇编语言)谢谢。,第1张

b0bset p54 ;响

b0bclr p54 ;关

如果你说的2KHz要单片机产生的话,根据CPU工作时钟用定时器或者指令延时按4KHz产生事件,在事件中取反P54的高低即可产生2KHz的方波驱动蜂鸣器了。

上面的未免有些复杂了,程序就不给了,提供你个思路如何?设置一个寄存器,里面就装#00H即可,每次按键按下自加一,利用二进制代码末尾的0,1特性,每次自加一之后把寄存器里的数值和#01H做乘法,直接判断处理数值是否为零即可,是则KEY为开,不是则KEY为关。自行设计一段程序脉冲,频率自行考虑。(由于蜂鸣器功率不大,建议1K即可)主程序就做个开关检测,利用子程序调用,开则调用子程序,然后自检测开关按键,相信就那几个机器周期是不碍事的。楼主可以自行试试。

有源蜂鸣器都是长鸣固定频率的,只要加5Ⅴ电压就响。要按不同频率发声,应该用无源蜂鸣器,或小功率的扬声器,即小喇叭。利用定时器定时,输出一定频率的方波信号即可。如1KHz方波,信号周期为1ms,定时05ms=500us,假设单片机晶振频率是12M,机器周期是1us,用定时器T0,定时的初始值,X=65536-500=65036=FE0CH,TH0=FEH,TL0=0CH。

汇编程序:

START:MOV TMOD , #01H

SETB TR0

LOOP:MOV TH0 , #0FEH

MOV TL0 , #0CH

JNB TF0 , $

CLR TF0

CPL P17 ; P17输出方波信号

SJMP LOOP

你想要其他频率的信号,可参照上面的计算过程和程序,自己修改一下就成了。

以上就是关于松翰2501B单片机,蜂鸣器驱动程序(汇编语言)谢谢。全部的内容,包括:松翰2501B单片机,蜂鸣器驱动程序(汇编语言)谢谢。、用汇编语言实现无源蜂鸣器,按按键1响一秒,按按键2响两秒,按按键3响3秒,按按键4响四秒!谢谢!!、求一个51单片机上能用的有源蜂鸣器不同频率响的汇编程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9766310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存