原创 智能车 话筒声音识别演示

2010-2-28 21:51 2812 6 6 分类: MCU/ 嵌入式

小车图片2010-2-139289905.jpg


一、 实验简介:
本程序主要通过话筒对声音信号进行识别,由于本电路有效的去除杂波,所以仅能对响度较大的声音进行识别(例:拍手声)。像正常的说话声对本电路虑除,不会产生信息的输入。话筒识别的加入,为我们建立了声控平台。
二、 实验原理图:


点击看大图


三、 实现代码:
//============================================================ === //
//  开发日期: 2009/01/27                       //
//  修改日期:                                                          //
//  程序作者: guojun    益芯科技                                //
//  程序备注: 此程序仅为表现本机功能而演示用,当用作实际工程时请慎用.     //
//  特别声明: 此程序可作研究之用,但引用,转载,使用请注明出处.             //
//================================================================//
#include <at89x51.h>                 //包含51单片机相关头文件
sbit LeftLed="P2"^0;                   //定义前方左侧指示灯端口
sbit RightLed="P0"^7;                  //定义前方右侧指示灯端口
sbit B1=P0^4;                       //定义话筒输入端口
void Delay()                        //定义去除杂音延时子程序
{ unsigned int DelayTime="1000";       //定义去除杂音变量
  while(DelayTime--);               //延时循环开始
  return;
}
void main()                         //主程序入口
{
 LeftLed=0;                         //前方左侧指示灯亮
 RightLed=0;                        //前方右侧批示灯亮
 while(1)                           //程序主循环
 {
  if(0==B1)                         //判断是否有声音输入
  {
   while(0==B1);                    //等待声音信号结束
   Delay();                         //去除多余杂音
   LeftLed=!LeftLed;                //前方左侧指示灯取反
   RightLed=!RightLed;              //前方右侧指示灯取反
  }
 }
四、 运行效果:
程序运行效果:本程序开机后,前方两侧的指示灯点亮,拍一下手后,前方指示灯关闭。再一次进行拍手,指示灯又一次被点亮。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条