谁能给一个用PIC单片机PWM驱动蜂鸣器的C程序,最近在学参考下

谁能给一个用PIC单片机PWM驱动蜂鸣器的C程序,最近在学参考下,第1张

给你一个程序及仿真图,但个人觉得这样没什么用处。你还是要系统地学习一下相关的知识,北航的《PIC16系列单片机C程序设计与PROTEUS仿真》一书有很多这样的例子(当然比这要复杂的),有线路图和程序,相信对你会有很大的帮助。

#include <pich>

__CONFIG(0x3F39);

void main(void)

{ TRISC2=0;

T2CON=0b00000101;

CCP1CON=0b00001100;

CCPR1L=0b01100100;

PR2=249;

while(1);

}

你就按反向时间为1ms算,一反一正2ms如果延时时间对的话就是500hz左右,而上面的程序总共响的时间也不过2,3ms

对于人耳朵听力来说,2,3ms的短声其实并不敏感能听到滴一下就不错了。。

下面那个100的话起码响01秒了。。声音肯定要高的多。。

你这个可以暂时理解为PFM调压。。一个时间长,一个时间短,相同占空比下,肯定时间长的电压高。。所以感觉的也响

这个说实话,很简单,我还是回答一下你吧。

首先,你的电路不对。

R1,R2在电路里起分压限流的 作用,Q1是NPN三极管,起到开关作用。

让IC高电平,1秒延时后,低电平,1秒后再高电平,如此循环,这样就会有滴答滴答的声音了。改变R1的阻值,可以调整蜂鸣器的响度!

由于单片机驱动能力有限,常常连接三极管驱动蜂鸣器。

这得看三极管的型号,不同的型号程序稍有不同。

主要是设置是“1”还是“0”驱动,这得看你的电路的连接。

1)如果连接PNP三极管驱动,设置P3_3=0,则蜂鸣器一直响;如果设置

P3_3=0;//响

delay_500ms();

P3_3=1;//不响

delay_500ms();//蜂鸣器每一秒响一次

2)如果连接NPN三极管驱动,设置P3_2=1,则蜂鸣器一直响;如果设置

P3_2=1;//响

delay_500ms();

P3_2=0;//不响

delay_500ms();//蜂鸣器每一秒响一次

这个程序你可以分为两部分来做那一部分,你要先调试这个蜂鸣器音调歌曲的程序先调试好。然后你可以做一个指针来指向不同的存储期。通过按键实现自身的跳转就可以实现上下级的播放。这个程序你可以分为两部分来做那一部分,你要先调试这个蜂鸣器音调歌曲的程序先调试好。然后你可以做一个指针来指向不同的存储期。通过按键实现自身的跳转就可以实现上下级的播放。这个程序你可以分为两部分来做那一部分,你要先调试这个蜂鸣器音调歌曲的程序先调试好。然后你可以做一个指针来指向不同的存储期。通过按键实现自身的跳转就可以实现上下级的播放。这个程序你可以分为两部分来做那一部分,你要先调试这个蜂鸣器音调歌曲的程序先调试好。然后你可以做一个指针来指向不同的存储期。通过按键实现自身的跳转就可以实现上下级的播放。

蜂鸣器有多种工作电压,选择和你的MCU工作电压相同的那种(30V或50V)。还分为自激式和他激式,两种蜂鸣器和MCU的接口都差不多,一只PNP的三极管C极接GND,E极接蜂鸣器的负端,蜂鸣器的正端接Vcc,三极管的B极通过一只1K-2K的电阻到MCU,对于他激式蜂鸣器,还应在蜂鸣器的两端并联一只二极管,A极接蜂鸣器的正端。当MCU的I/O为高电平时蜂鸣器不响,当I/O输出为方波(频率与蜂鸣器的标称频率接近较响)时蜂鸣器发声;对于自激式蜂鸣器驱动较简单,当驱动的I/O为高电平时不响,当I/O为低电平时蜂鸣器发声。

以上就是关于谁能给一个用PIC单片机PWM驱动蜂鸣器的C程序,最近在学参考下全部的内容,包括:谁能给一个用PIC单片机PWM驱动蜂鸣器的C程序,最近在学参考下、写了一个驱动无源蜂鸣器的程序,但是产生音量为什么会不一样、分析蜂鸣器驱动电路原理图,设计MCS-51驱动蜂鸣器的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存