给你一个程序及仿真图,但个人觉得这样没什么用处。你还是要系统地学习一下相关的知识,北航的《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驱动蜂鸣器的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)