600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 单片机语音识别源码与资料(ASR M08-B模块arduino与51驱动)

单片机语音识别源码与资料(ASR M08-B模块arduino与51驱动)

时间:2021-01-10 22:04:58

相关推荐

单片机语音识别源码与资料(ASR M08-B模块arduino与51驱动)

//注意,这里以控制台灯举例,实际上不一定是用来控制台灯的,

//增加多路请对比1路的程序和两路的程序,按照同样的方法修改程序。

//使用此程序前,模块要设置好关键词。

#include

#define kai 0; //定义字符串kai代表低电平0

#define guan 1;//定义字符串guan代表高电平1

unsigned char a;//a用来存放串口接收到的数据(即模块的返回值)

sbit JDQ=P2^7; //继电器接P2.7,P2.7脚出来接一个10K电阻再接到S8550三极管的基极

//集电极接地,发射极接继电器的线圈到5V电源上,

//线圈两脚之间接一个IN4007二极管,注意二极管的负极要接5V电压处

//正极接三极管的发射极。

sbit JDQ2=P2^6; //第二路继电器接P2.6,P2.6脚出来接一个10K电阻再接到S8550三极管的基极

//集电极接地,发射极接继电器的线圈到5V电源上,

//线圈两脚之间接一个IN4007二极管,注意二极管的负极要接5V电压处

//正极接三极管的发射极。 下同... 请参照控制1路的源码根目录下的原理图。

sbit JDQ3=P2^5;

sbit JDQ4=P2^4;

sbit JDQ5=P2^3;

sbit JDQ6=P2^2;

sbit JDQ7=P2^1;

sbit JDQ8=P2^0;

sbit JDQ9=P1^7;

sbit JDQ10=P1^6;

main()

{

TMOD=0x20;//定时器1使用初值自动重装方式,方式2

TH1=0xfd;

TL1=0xfd;//9600波特率初值

TR1=1;//允许定时器计数

SM0=0;//方式1设置

SM1=1;

REN=1; //允许串口接收

EA=1; //开总中断

ES=1; //开串口中断

while(1)

{

//======================================================//

if(a==1)//如果a=1,P1.7=0,继电器吸合,台灯打开

{

JDQ=kai; //P1.7=0,

}

else if(a==2)//如果a=2,P1.7=1,继电器松开,台灯关闭

{

JDQ=guan;//P1.7=1,

}

//=====================================================//

else if(a==3)

{

JDQ2=kai;//如果a=3,第二路开

}

else if(a==4)

{

JDQ2=guan;//如果a=4,第二路关

}

//====================================================//

else if(a==5)

{

JDQ3=kai;//如果a=3,第三路开

}

else if(a==6)

{

JDQ3=guan;//如果a=4,第三路关

}

//====================================================//

else if(a==7)

{

JDQ4=kai;//如果a=3,第四路开

}

else if(a==8)

{

JDQ4=guan;//如果a=4,第四路关

}

//====================================================//

else if(a==9)

{

JDQ5=kai;//如果a=3,第五路开

}

else if(a==10)

{

JDQ5=guan;//如果a=4,第五路关

}

//====================================================//

else if(a==11)

{

JDQ6=kai;//如果a=3,第六路开

}

else if(a==12)

{

JDQ6=guan;//如果a=4,第六路关

}

//====================================================//

else if(a==13)

{

JDQ7=kai;//如果a=3,第七路开

}

else if(a==14)

{

JDQ7=guan;//如果a=4,第七路关

}

//====================================================//

else if(a==15)

{

JDQ8=kai;//如果a=3,第八路开

}

else if(a==16)

{

JDQ8=guan;//如果a=4,第八路关

}

//====================================================//

else if(a==17)

{

JDQ9=kai;//如果a=3,第九路开

}

else if(a==18)

{

JDQ9=guan;//如果a=4,第九路关

}

//====================================================//

else if(a==19)

{

JDQ10=kai;//如果a=3,第十路开

}

else if(a==20)

{

JDQ10=guan;//如果a=4,第十路关

}

else ;

//也可以用switch语句写,各人喜好吧...

}

}

void serial() interrupt 4 //中断法

{

if(RI==1)//如果是接收中断,进行下面工作

……………………

…………限于本文篇幅 余下代码请从51黑下载附件…………

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。