历史上的今天
今天是:2024年10月08日(星期二)
2021年10月08日 | 基于51单片机的分贝检测仪设计
2021-10-08 来源:eefocus
一.硬件方案
分贝是由传感器把非电量转换为电量,传感器输出的是0-5伏的电压值且电压值稳定,外部干扰小等。因此,可以直接把传感器输出电压值经过A/D转换器转换得到数据送入单片机进行处理。此外,还需接入液晶显示,键盘设定,报警电路等。
硬件主要由51单片机电路+时钟晶振电路+复位电路(上电自复位,手动复位)+ADC0832模数转换电路+分贝传感器(放大电路)+按键设定电路+LCD1602液晶显示电路+蜂鸣器提示电路:

二.设计功能
(1)采用LCD1602液晶显示屏实时显示分贝值。
(2)使用小麦克风采集声音经过LM358放大信号后经过ADC0832进行采集,最终转换成分贝值。
(3)可以通过按键进行设定分贝限值,设定的分贝限值存储于STC单片机内部eeprom,具有掉电存储的功能;
(4)当实测分贝值低于设定值时绿色指示灯亮,当实测分贝值高于设定值时红色指示灯亮并蜂鸣器报警。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计
主程序源码
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
*******************************************************************************/
void main()
{
uchar i;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
LCD1602_cls();//lcd初始化函数
led0=1;
led1=1;
read_memory();//存储函数初始化
while(1)
{
memroy();
display();
//A/D转换
if(i<80) //转换10次计算平均值
{ i++;
mmm=mmm+A_D(0)/0.51; //开始转换 P1.4通道
}
else
{
mmm=mmm/80; //得到平均值
AD_dat=mmm;//程序将A/D芯片的信号处理得到的数据
mmm=0;
i=0;
Noise=(AD_dat*36);
if(Noise<3000) Noise=Noise*2+3000;
}
if(Noise>Noise_h*100)
{
led0=1;
led1=0;
beep=~beep;
led1=0;
delay(1000);
led1=0;
delay(1000);
}
else
{
led0=0;
led1=1;
}
}
}
下一篇:基于51单片机的电梯控制系统
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:41 编辑 当将模拟信号转换成方波脉冲后,再将脉冲信号送入单片机,那么单片机是怎样处理这个脉冲信号的? … 查看全部问答> |
|
note:usb address and data registers will not valid until usb clock is running 这是什么造成的呢?… 查看全部问答> |
|
技术在于积累! 第一次刚接触LED驱动是从一块DEMO板: DC输入,输出是低电流大致200MA的; 因为客户的需求,后来公司头一次想用SMD802开发一块非隔离的7*1w 450MA驱动板;那时候没买样板,也没找专门的IC厂商,要求技 ...… 查看全部问答> |
|
最近做了一个题目,使用蓝牙接收到的数据在LED点阵上显示出来,但是前提是不知道要接收的数据的内容。该如何实现接收到的数据用编程直接转换成LED点阵上能识别的二进制数。是该做一个字库还是有其他什么别的方法。请专业人士帮忙解决一下。谢谢。… 查看全部问答> |
|
windows ce stream driver wizard 搜遍了整个网络也没有找到windows ce stream driver wizard这个工具,哪位大哥大姐弟弟妹妹能够慷慨解囊,帮小弟一把,不胜感激。小弟的邮箱是:cougarz@somagic.com.cn… 查看全部问答> |
|
哪位达人用过《EVC高级编程及其应用开发》这本书上基础数据库的例子? 我在wince下试了这个程序,可是不好使阿,添加不了,也删除不了,请问是还需要安装什么程序还是本身实例程序有问题啊?… 查看全部问答> |
|
今天用Proteus仿真的ADC0809。。。但实际0809不工作啊。。。。 单片机的对应ST脚的P口接上0809时就被拉低了。Proteus仿真什么问题都没有。0809要注意什么问题么?有两个问题:1,我希望设定的是500K,用定时器方式2也是设成255。可从P口出来的就是50K 啊。2,ST脚被拉低,但不接0809时单片机P口是正常的 ...… 查看全部问答> |
|
我在使用msp430F149的JTAG模块下载时,一开始还能下载运行,试了有两三天,突然一天不能下载了,后来就再也不能下了,软件提示不能发现目标。然后又贴了一块板子,结果这块好了半天就又出现和前面一样的现象。很是郁闷 量了下载口各个引脚的电压 ...… 查看全部问答> |




