超声波测距仪源程序.doc
文本预览下载声明
以下是ZY1420语音模块的录音源程序清单:
/*******************************************************************
ZY1420语音模块的录音程序
录音方法:开始工作后,按下K1键,根据设定的录音地址和时间开始录音。
放下K1键,本次录音结束。
再按下K1键,开始下次录音。录音顺序按预先设定的,用P1来送地址
********************************************************************
地址:0x00 0x06 0x0c 0x12 0x18 ox24 ox2a 0x30 0x36 0x3c 0x42 ox48
内容: 1 2 3 4 5 6 7 8 9 十 点 米
时间: 0.5s
********************************************************************
地址: 0x4e 0x66 0x7e 0x96
内容: 危险距离 保持距离 安全距离 本次测量的距离为
时间: 2s 2s 2s 2s
*******************************************************************/
#includereg52.h
#includemath.h
#define uchar unsigned char
#define uint unsigned int
sbit REC=P2^4; //录音控制
sbit PLAYE=P3^0; //控制触发录音
sbit PLAYE=P3^1; //控制电平放音
sbit Y=P2^3; //K1键
extern unsigned long int distance;
uchar addr;
uint t;
/**********************延时函数.延时为N*100ms**********************/
void delay(uint n) reentrant
{
uint t1,i,j;
for(t1=1;t1=n;t1++)
{
for(i=1;i=235;i++)
for(j=1;j=60;j++);
}
}
/********************播放函数1*****************************/
void paly()
{
delay(1);
PLAYL=1;
P1=addr; //播放起始地址为addr的内容。
PLAYL=0; //PLAYL低电平放音。
delay(t); //延时t*100ms。
PLAYL=1;
}
/**************************查地址和时间函数***********************/
void find(uint n)
{
switch(n)
{
case 1:{addr=0x00;t=5;} break; //1
case 2:{addr=0x06;t=5;} break; //2
case 3:{addr=0x0c;t=5;} break; //3
case 4:{addr=0x12;t=5;} break; //4
case 5:{addr=0x18;t=5;} break; //5
case 6:{addr=0x1e;t=5;} break; //6
case 7:{addr=0x24;t=5;} break; //7
case 8:{addr=0x2a;t=5;} break; //8
case 9:{addr=0x30;t=5;} break; //9
case
显示全部