找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3816|回复: 13
打印 上一主题 下一主题
收起左侧

51单片机产生500hz信号三极管放大通过喇叭发声,声音很小

[复制链接]
跳转到指定楼层
楼主
1.在做【基于单片机的声音控制系统】设计。用51单片机产生500Hz的声音信号,通过喇叭发声。5V供电。声音很小是什么情况,问了老师,他说要接L298N驱动模块。有必要吗?
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit P2_0=P2^0;

void main()
{
        TMOD=0x01;                         //计数器使用方式1
        TH0=(65536-1000)/256; //定时器初始化
        TL0=(65536-1000)%256; //定时器初始化
        EA=1;                                 //IE寄存器CPU开放中断
        ET0=1;                                 //允许外部中断
        TR0=1;                                 //定时器T0启动
        while(1);
}

void T0_time() interrupt 1
{
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256
        P2_0=!P2_0;                   //取反,产生500Hz的方波
}



2.紧接上一个声音接收模块无法接收到500Hz是什么情况?用的是http://www.51hei.com/bbs/dpj-125053-1.html这位老哥的声音模块电路设计,结果无法识别500hz的信号。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:732506 发表于 2020-4-24 03:31 | 只看该作者
500赫兹频率太低,人耳和麦克风对低频不如高频敏感。电路看起来没问题,提高频率到几千或1万试一下。
回复

使用道具 举报

板凳
ID:687694 发表于 2020-4-24 09:29 | 只看该作者
上拉电阻,偏置三极管处于放大区域。
回复

使用道具 举报

地板
ID:215444 发表于 2020-4-24 11:10 | 只看该作者
扬声器要设计音腔,声音才会大。
回复

使用道具 举报

5#
ID:698983 发表于 2020-4-24 14:37 | 只看该作者
hotpet 发表于 2020-4-24 03:31
500赫兹频率太低,人耳和麦克风对低频不如高频敏感。电路看起来没问题,提高频率到几千或1万试一下。

设计要求是产生500Hz的信号,没办法啊
回复

使用道具 举报

6#
ID:383215 发表于 2020-4-24 14:58 | 只看该作者
楼主这个图要是用AVR单片机或者STM32,基本上没有问题,然而用在51单片机,那就是大错特错,51单片机的I/O口是伪双工口,51单片机的任何一个I/O口,理解为一个开路的NPN三极管的集电极,P0没有上拉电阻,P1-P3内部有几十K的上拉电阻,只要明白这一点,用51单片机设计任何电路都不会出问题,换PNP三极管驱动喇叭,声音响得很,500赫兹的频率不算低了,可以用。国际标准的A音是440赫兹,是钢琴键盘由低到高的第49键,500赫兹相当于钢琴键盘的51和52键盘之间的音。
回复

使用道具 举报

7#
ID:698983 发表于 2020-4-24 15:18 | 只看该作者
hotpet 发表于 2020-4-24 03:31
500赫兹频率太低,人耳和麦克风对低频不如高频敏感。电路看起来没问题,提高频率到几千或1万试一下。

其实,最主要的不是500Hz的声音小了,而是我的声音接收模块无法接收500HZ的信号,喇叭对着麦克风发声都没法。本来设计的是接收模块输出端接在单片机的中断上,接受了信号产生中断,实现最基本的发光二极管亮灭。但是无论我怎么调电位器的灵敏度,它都接收不了500Hz的信号,低了不需要任何声音就会自动产生中断信号,高了需要大声响(比如拍手)会产生中断信号。就很难受,找了师傅,也没得说法。
回复

使用道具 举报

8#
ID:698983 发表于 2020-4-24 15:33 | 只看该作者
lovexulu 发表于 2020-4-24 09:29
上拉电阻,偏置三极管处于放大区域。

是需要再接一个上拉电阻吗?我发射极上试着接了一个3K的上拉电阻,可声音还是没什么区别,恕我知识贫瘠,还请多多指点
回复

使用道具 举报

9#
ID:383215 发表于 2020-4-24 17:30 | 只看该作者



这样就可以了。
回复

使用道具 举报

10#
ID:698983 发表于 2020-4-24 18:11 | 只看该作者
kmsj 发表于 2020-4-24 14:58
楼主这个图要是用AVR单片机或者STM32,基本上没有问题,然而用在51单片机,那就是大错特错,51单片机的I/O ...

是不是我直接设置接P0口输出就可以了呢,我试了一下确实声音要大上许多,但是我的声音接收模块还是无法接收到500hz的信号,本来设计的是接收模块输出端接在单片机的中断上,接受了信号产生中断,实现最基本的发光二极管亮灭。但是现在实现不了
回复

使用道具 举报

11#
ID:698983 发表于 2020-4-24 18:23 | 只看该作者
kmsj 发表于 2020-4-24 17:30
这样就可以了。

非常感谢,我想问一下,如果接在P0口上,我的电路是不是就可以了呢?我试了一下声音确实要高很多,但就是不知道输出的还是不是500Hz的信号
回复

使用道具 举报

12#
ID:213173 发表于 2020-4-24 20:58 | 只看该作者

回复

使用道具 举报

13#
ID:732506 发表于 2020-4-24 21:07 | 只看该作者
呼呼哈 发表于 2020-4-24 15:18
其实,最主要的不是500Hz的声音小了,而是我的声音接收模块无法接收500HZ的信号,喇叭对着麦克风发声都没 ...

如果500赫兹不在麦克风的接收范围内,声音大了也没有用,可以考虑换响应频率更低的麦克风。c10和c11的取值可能对效果有影响,可以画个图用仿真注入500赫兹信号实验一下。
回复

使用道具 举报

14#
ID:698983 发表于 2020-4-25 12:25 | 只看该作者
hotpet 发表于 2020-4-24 21:07
如果500赫兹不在麦克风的接收范围内,声音大了也没有用,可以考虑换响应频率更低的麦克风。c10和c11的取 ...

我试着仿真了,发现确实是电路设计的问题,无法接收500hz的信号,我裂开了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表