历史上的今天
返回首页

历史上的今天

今天是:2024年12月07日(星期六)

2021年12月07日 | 基于51单片机声音噪声分贝检测采集显示设计

2021-12-07 来源:eefocus

硬件设计


功能说明:

1.基于STC89C51/52(与AT89S51/52、AT89C51/52通用)单片机作为主控制器

2、采用LCD1602液晶显示屏实时显示分贝值;

3、使用小麦克风采集声音经过LM358放大信号后经过ADC0832进行采集,最终转换成分贝值。

4、可以通过按键进行设定分贝限值,设定的分贝限值存储于STC单片机内部eeprom,具有掉电存储的功能;(AT单片机没有掉电存储功能)

5、当实测分贝值低于设定值时绿色指示灯亮,当实测分贝值高于设定值时红色指示灯亮并蜂鸣器报警;

在这里插入图片描述

仿真图:

在这里插入图片描述

程序设计

部分代码如下:


*******************************************************************************/

#include

#include "ADC0832.h"   

#include "LCD1602.h"  

#include "eeprom52.h"  

  typedef unsigned int u16; 

#define led P1

uint Noise_h=50;

uint AD_dat=0;

uint mmm=0;

uint Noise=0;

uchar ms=0;

uchar sec=0;

uchar sec1=0;

 

sbit beep=P2^0;

sbit led0=P1^6;

sbit led1=P1^4;

sbit key1=P3^5;

sbit key2=P3^6;//位定义

bit key1_flag=0;

bit key2_flag=0;

bit beep1=0;

bit memory_flag=0;//方向标志

int c=0;


/*******************************************************************************

* 函 数 名         : delay

* 函数功能    : 延时函数,i=1时,大约延时10us

*******************************************************************************/

void delay(u16 i)

{

while(i--);

}


/*******************************************************************************

* 函 数 名         : memroy

* 函数功能    : eeprom

*******************************************************************************/


void memroy()

 {

    if(memory_flag) 

{ memory_flag=0;

  SectorErase(0x2000);

byte_write(0x2000,Noise_h/256);//取整

byte_write(0x2001,Noise_h%256);//取余

}

 }


/*******************************************************************************

* 函 数 名         : read_memory

* 函数功能    : 设定可调噪声检测的最大值

*******************************************************************************/


void read_memory()

 {

    Noise_h=byte_read(0x2000)*256+byte_read(0x2001);

if(Noise_h>999) 

{

   Noise_h=70;

}

 }


/*******************************************************************************

* 函 数 名         : key_dispose

* 函数功能    : 按键函数,调节噪声检测的上限

*******************************************************************************/


void key_dispose()

 {

   if(!key1) 

    {

   if(key1_flag) 

    {

  if(Noise_h<999) Noise_h++;

}

if(sec==0) 

{

   if(Noise_h<999) Noise_h++;

}

}

else 

{

   if(key1_flag==0) 

    {

  key1_flag=1;

  memory_flag=1;

}

sec=2;

}


   if(!key2) 

    {

   if(key2_flag) 

    {

  key2_flag=0;

  if(Noise_h>0) Noise_h--;

}

if(sec1==0) 

{

   if(Noise_h>0) Noise_h--;

}

}

else 

{

   if(key2_flag==0) 

    {

  key2_flag=1;

}

sec1=2;

}


 }

/*******************************************************************************


文件地址:

链接:https://pan.baidu.com/s/1FY5kDcX6yzMzMzsM70kygg

提取码:cfu6

推荐阅读

史海拾趣

GREATECS公司的发展小趣事

在电子行业中,有许多伟大的企业(GREATECS公司,这里假设为泛指多个杰出电子企业)通过不同的路径和策略实现了显著的发展。以下是五个相关故事,每个故事均基于事实,旨在展示这些企业如何成长和壮大。

1. 通用电气(General Electric, GE)的多元化扩张

通用电气(GE)的故事始于1888年,由托马斯·爱迪生创立,最初专注于电力和照明领域。随着时间的推移,GE通过一系列的战略并购和内部创新,逐渐扩展到电机、电动机制造、航空、医疗设备、核能等多个领域。在20世纪,GE成为全球最大的多元化企业之一,其业务遍布全球。特别是在杰克·韦尔奇担任CEO期间(1981-2001),通过大规模的并购和扩张,GE的营业收入和市值显著增长。然而,2008年金融危机后,GE面临经济困境,随后进行了战略调整,出售金融资产并重点发展核心业务,如今仍是全球领先的科技和工业公司之一。

2. 索尼(Sony)的创新之路

索尼公司成立于1946年,最初由井深大和盛田昭夫创立,起初是一家小型电子产品制造商。索尼的崛起得益于其持续的创新精神和对消费者需求的敏锐洞察。1958年,索尼推出了世界上第一台便携式晶体管收音机,开启了便携式电子产品的新时代。随后,索尼又推出了Walkman便携式音乐播放器、PlayStation游戏机等一系列革命性产品,这些产品不仅改变了人们的娱乐方式,也奠定了索尼在全球电子行业的领先地位。索尼的成功在于其不断追求技术创新和产品质量,以及对市场趋势的准确把握。

3. 三星电子的崛起

三星电子是韩国最大的电子企业,其发展历程充满了挑战与机遇。起初,三星主要从事贸易和低端电子产品制造。然而,在20世纪80年代末至90年代初,三星决定实施“新经营”战略,通过大规模投资研发、提升产品质量和品牌形象,实现了从低端制造商向高端科技企业的转型。在半导体、智能手机、显示面板等领域,三星取得了重大突破,成为全球市场的领导者。三星的成功在于其强大的研发能力、高效的供应链管理以及对市场变化的快速响应。

4. 英特尔(Intel)的芯片霸主地位

英特尔公司成立于1968年,最初是一家专注于半导体存储器的初创企业。然而,随着日本存储器制造商的崛起,英特尔面临了巨大的竞争压力。在关键时刻,英特尔决定放弃存储器业务,转而专注于微处理器(CPU)的研发和生产。这一战略转型使英特尔迅速崛起为全球最大的CPU制造商,其“Intel Inside”计划更是深入人心,成为个人电脑行业的标准配置。英特尔的成功在于其强大的技术创新能力、对市场需求的精准把握以及与全球合作伙伴的紧密合作。

5. 华为的技术突破与全球化战略

华为作为中国电子行业的代表企业,其发展历程充满了传奇色彩。起初,华为主要从事电信设备的研发和销售。然而,随着技术的不断进步和市场需求的不断变化,华为逐渐将业务扩展到智能手机、云计算、人工智能等多个领域。华为的成功在于其持续的技术研发投入、对全球市场的深入洞察以及灵活的市场策略。特别是在5G技术方面,华为取得了重大突破,成为全球领先的5G解决方案提供商。同时,华为还积极推动全球化战略,与全球多个国家和地区的运营商建立了紧密的合作关系。

Anixter Inc公司的发展小趣事

Anixter Inc 是一家全球性的供应链解决方案提供商,以下是该公司发展的相关故事:

  1. 公司成立与初期发展:Anixter Inc 成立于 1957 年,总部位于美国伊利诺伊州格伦维尔回。最初,公司主要从事电线电缆的销售和分销。随着时间的推移,Anixter 不断扩大业务范围,逐步涉足网络设备、安全解决方案、电子元器件等领域。

  2. 业务拓展与国际化:随着市场需求的变化和全球化的趋势,Anixter 不断拓展业务,并加速国际化进程。公司在全球范围内建立了广泛的分销网络和供应链体系,在北美、欧洲、亚洲和拉丁美洲等地区设立了办事处、仓库和物流中心,以更好地满足客户的需求。

  3. 技术创新与解决方案提供:Anixter 不断注重技术创新和解决方案提供,与各种供应商合作,推出了多种先进的产品和服务。公司致力于为客户提供全方位的供应链解决方案,包括设计、采购、仓储、配送和技术支持等,帮助客户提高效率、降低成本并增强竞争力。

  4. 收购与合并:为了加速业务发展和扩大市场份额,Anixter 进行了一系列收购和合并活动。通过收购具有特定技术或地区优势的公司,Anixter 不仅增强了自身的竞争实力,还拓展了业务领域和市场覆盖范围。

  5. 可持续发展与未来展望:Anixter 积极响应可持续发展的呼声,致力于推动环保和社会责任的实践。公司在供应链管理、能源管理和环境保护等方面持续改进,致力于减少碳排放、资源浪费和环境污染。未来,Anixter 将继续秉承技术创新和客户导向的理念,不断适应市场变化和挑战,保持行业领先地位,并为客户和股东创造持续增长的价值。

福斯特(FIRST)公司的发展小趣事
提高抗干扰能力和信号的稳定性。
ECLIPSE公司的发展小趣事

2001年,IBM公司决定推动一个开源项目,旨在打造一个全新的集成开发环境。这个项目名为Eclipse,旨在通过开放源代码的方式,吸引全球开发者共同参与。Eclipse的初始版本发布后,凭借其优秀的性能和友好的界面,迅速在开发者社区中引起了关注。

CSB公司的发展小趣事

随着国内市场的饱和,CSB公司开始将目光投向海外市场。公司制定了国际化战略,通过设立海外分支机构、拓展国际市场渠道、加强与国际合作伙伴的合作等方式,逐步实现了全球市场的布局。在国际市场上,CSB公司的产品和服务得到了广泛认可,为公司带来了丰厚的回报。

这些故事虽然是对电子行业企业发展的一般性描述,但可能在一定程度上反映了CSB公司或其他类似企业在电子行业中的发展历程。然而,需要注意的是,每个企业的发展道路都是独特的,具体的故事还需根据企业自身的实际情况来编写。

Circuit Technology Inc公司的发展小趣事

面对电子行业的快速变化和技术更新,CTI始终保持敏锐的洞察力。公司不断加大研发投入,引进高端人才,建立研发团队,致力于开发具有自主知识产权的新技术、新产品。通过不断创新,CTI成功推出了一系列具有竞争力的新产品,不仅满足了市场需求,也提升了公司的核心竞争力。

问答坊 | AI 解惑

大家觉得搞单片机(嵌入式电子技术开发)累吗???

大家觉得搞单片机(嵌入式电子技术开发)累吗??? http://bbs.21ic.com/viewthread.php?tid=127427…

查看全部问答>

定时器产生的中断请求,如何获取来响应自己的程序呢?

定时器产生的中断请求,如何获取来响应自己的程序呢? 我想利用定时器在指定的时间到达时,执行我写的一段程序,怎么获取定时器的这个中断呢? 有例程最好,我不知道这个过程如何写,是不是中断有一个固定的模式?? 新手求指教啊~~~~…

查看全部问答>

PSDSoft Express软件生成的编程文件obj格式解析

各位好:     最近用到PSDSoft Express软件,其生成的编程文件obj中,包含:PLD映射,SRAM数据,EPROM数据,不知如何划分!因为编程PSD501芯片要用到这个文件.    另外,发现此软件生成的项目中,在生成obj文件之前,会自动 ...…

查看全部问答>

谁能给我讲下SPI总线是如何识别相同设备优先级的?

就是在一个SPI总线上我有两个一样的IC,A,B;现在SPI总线是如何识别他们两个呢?怎样确定他们的优先级呢?比如说要把A的那个信号切换到什么状态的方法? 请高手指教!…

查看全部问答>

求助:NiosII的模拟I2C控制没有应答

使用NiosII控制高频头CU1216,在NiosII IDE中运行下列程序后,由于没有应答,程序死在Write_I2C_Byte函数的while(I2C_Ackn() );,reset,sda,scl均加了上拉电阻,进行了一些检查均没有结果 ,哪位高手能帮我指点迷津?谢谢。 #include \"i2c.h\" ...…

查看全部问答>

北桥坏了?

哪个兄弟知道北桥坏了 电脑是什么症状? …

查看全部问答>

pc的串口中断

最近搞单片机和pc通信    想问pc机的串口如果有接受中断 用c 在dos下怎么编呢? 比如说在keil中有 void serial(void) interrupt 4 这样有中断就可以进入中断服务程序 但是用c 在tubor c下如何实现其进入中断服务程序呢? 不啬赐教!…

查看全部问答>

几年来学习的过程的体会

       很早的时候知道嵌入式很火,自己也很喜欢。于是自己抱着书看,看51、arm... ,最后还学linux,学习移植,编译内核,都是蒙着头过河。一味的追求想象中的 高科技,现在才发现自己的学习之路走的有点偏。 &n ...…

查看全部问答>

关于 正弦波信号发生器的问题

我最近在设计一个正弦波发生器的过程中,出现了很诡异的问题。频率稍微上调多点,输出波形就截止。采取fpga的de0开发板,方案如下:1.  频率处理以及显示(元件1) ——> 输出整形(integer)频率  f2. 输入频率  —— ...…

查看全部问答>

mos管驱动拖尾现象是怎么回事

请教各位大侠,mos管驱动拖尾现象是怎么回事?如何改善?…

查看全部问答>