导航:首页 > 操作系统 > 51单片机语音芯片编程

51单片机语音芯片编程

发布时间:2022-06-19 22:58:54

‘壹’ 用51单片机,实现语音识别,简单的数字,或者单个字词都行,需要什么样的硬件,电路图,如何编程

可以用语音识别芯片LD3320,电路图你只要下了它的pdf就可以知道了,pdf里面有典型的应用。
但我推荐你别用这个芯片,应为比较贵在100元左右。我推荐你用凌阳61单片机,自带语音识别模块,专为语音而生。而且官方提供很多函数,可以直接调用,并不需自己写程序去控制声音的中间处理过程。另外凌阳单片机比较容易学习,比51还容易,而且是16位单片机,相比51更有优势。

‘贰’ 51单片机控制语音芯片进行播报怎么做,另外PC机通过无线给单片机传输命令

提问不明确。语音芯片型号很多,大多数都可以处理多段语音信息,所以,原理上都可以被51去控制。因为语音芯片,实际是语音存储芯片,所以每个信息段都必须有一个地址码,如果你想播放哪段语音,就用51去调用这个地址,就能实现语音播放。
第二部分问题:PC通过什么制式的无线信号给单片机传输命令,这个需要说清楚。无线信号类型也很多的。

‘叁’ 用51单片机控制ISD1820语音芯片的原理图及c程序或汇编程序

#include<reg52.h>
code unsigned char seg7code[11]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //显示段码
void Delay(unsigned int tc) //显示延时程序
{while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
sbit TMDAT =P3^1; //DS18B20的数据输入/输出脚DQ,根据情况设定
unsigned int sdata;//测量到的温度的整数部分
unsigned char xiaoshu1;//小数第一位
unsigned char xiaoshu2;//小数第二位
unsigned char xiaoshu;//两位小数
bitfg=1; //温度正负标志
void dmsec (unsigned int count) //延时部分
{
unsigned char i;
while(count--)
{for(i=0;i<115;i++);}
}
void tmreset (void) //发送复位
{
unsigned char i;
TMDAT=0; for(i=0;i<103;i++);
TMDAT = 1; for(i=0;i<4;i++);
}
bit tmrbit (void) //读一位//
{
unsigned int i;
bit dat;
TMDAT = 0;
i++;
TMDAT = 1;
i++; i++;//微量延时 //
dat = TMDAT;
for(i=0;i<8;i++);
return (dat);
}
unsigned char tmrbyte (void) //读一个字节
{
unsigned char i,j,dat;
dat = 0;
for (i=1;i<=8;i++)
{ j = tmrbit();dat = (j << 7) | (dat >> 1); }
return (dat);
}
void tmwbyte (unsigned char dat) //写一个字节
{
unsigned char j,i;
bit testb;
for (j=1;j<=8;j++)
{ testb = dat & 0x01;
dat = dat >> 1;
if (testb)
{ TMDAT = 0; //写0
i++; i++;
TMDAT = 1;
for(i=0;i<8;i++); }

else
{TMDAT = 0; //写0
for(i=0;i<8;i++);
TMDAT = 1;
i++; i++;}
}
}
void tmstart (void) //发送ds1820 开始转换
{tmreset();//复位
dmsec(1);//延时
tmwbyte(0xcc);//跳过序列号命令
tmwbyte(0x44);//发转换命令 44H,
}
void tmrtemp (void) //读取温度
{
unsigned char a,b;
tmreset ();//复位
dmsec (1);//延时
tmwbyte (0xcc);//跳过序列号命令
tmwbyte (0xbe);//发送读取命令
a = tmrbyte ();//读取低位温度
b = tmrbyte (); //读取高位温度
if(b>0x7f) //最高位为1时温度是负
{a=~a; b=~b+1; //补码转换,取反加一
fg=0; //读取温度为负时fg=0
}
sdata = a/16+b*16; //整数部分
xiaoshu1 = (a&0x0f)*10/16; //小数第一位
xiaoshu2 = (a&0x0f)*100/16%10;//小数第二位
xiaoshu=xiaoshu1*10+xiaoshu2; //小数两位
}
void DS18B20PRO(void)
{tmstart();
//dmsec(5);//如果是不断地读取的话可以不延时 //
tmrtemp();//读取温度,执行完毕温度将存于TMP中 //
}
void Led()
{
if(fg==1) //温度为正时显示的数据
{ P2=P2&0xef;
P0=seg7code[sdata/10]; //输出十位数
Delay(8); P2=P2|0xf0; P2=P2&0xdf;
P0=seg7code[sdata%10]|0x80; //输出个位和小数点
Delay(8); P2=P2|0xf0; P2=P2&0xbf;
P0=seg7code[xiaoshu1]; //输出小数点后第一位
Delay(8); P2=P2|0xf0; P2=P2&0x7f;
P0=seg7code[xiaoshu2]; //输出小数点后第二位
Delay(4); P2=P2|0xf0;
}
if(fg==0)//温度为负时显示的数据
{ P2=P2&0xef;
P0=seg7code[11]; //负号
Delay(8); P2=P2|0xf0; P2=P2&0xdf;
P0=seg7code[sdata/10]|0x80; //输出十位数
Delay(8); P2=P2|0xf0; P2=P2&0xbf;
P0=seg7code[sdata%10]; //输出个位和小数点
Delay(8); P2=P2|0xf0; P2=P2&0x7f;
P0=seg7code[xiaoshu1]; //输出小数点后第一位
Delay(4); P2=P2|0xf0;
}
}
main()
{fg=1;
while(1)
{
DS18B20PRO();
Led();
}
}

‘肆’ 通过51单片机让语音芯片控制输出“谢谢你”这句话的程序如何写啊急求!!用c语言写!急急急!!

其实实现这个功能也不是很难,但是你一定要选择一款合适的语音芯片,我前两天刚做了一个这方面的东东,51上的控制很简单,只有几条语句,控制一下语音芯片的时序就可以了。下面是控制代码:
//TG2 、TG1 分别语音芯片的两个控制管脚
TG2 = 0;
for(i=0;i<250;i++); // 延时750us
TG2 = 1;
for(i=0;i<250;i++); // 延时750us
TG1 = 1;
for(j=0;j<360;j++); // 延时 2 ms
TG1 = 0;
就这几条语句,就可以发音了。希望对你有所帮助。
并且不同的语音芯片,控制方法也不一样,你应该把你的语音芯片的型号告诉我们,也许正好有人用过呢,或者正在用,大家可以一起交流一下的,

‘伍’ 谁编写过WT588D语音芯片的程序 这个需要怎样下载和使用 用51单片机可以编写他的程序吗!!!!!!!

WT588D这个语音芯片不用编写,它提供了多种接口 可以通过单片机来控制播放,语音内容及接口方式 是通过 上位机软件来下载和设置的。WT588D内部有SPI-FLASH,SPI-FLASH的容量就决定了可播放文件的长度。

‘陆’ 51单片机如何实现语音功能

单片机需要增加语音功能,要么选择功能强大stm32之类的芯片,用内部的dac来模拟输出,要么就外挂一个语音芯片
语音芯片的作用
1、顾名思义,就在是产品上增加语音播报的功能,实现的也就是把语音播放出来
2、常见的如:停车场报金额、电梯报站、货车报“左转弯,请注意”等等,应用非常的广泛
语音芯片的种类,不过主要的分类基本也就大致三种
1、第一种,称之为OTP,就是那种SOP8封装的语音芯片,内置几段常用的语音,出厂之后就固话死了,不可修改
2、第二种,称之为flash语音芯片,通常是一个主控芯片外挂一个spiflash,主控芯片是不变的,而flash则是可以重复烧录的,但是语音往往只支持wav,所以音质会压缩的很差。代表的如WT588D
3、第三种,就是现在最优秀的KT404A芯片,他是支持MP3解码,比前面的两种在技术上是一个跨越,将MP3这种优秀的技术应用于语音芯片上,同时他强大的usb直接虚拟flash成为U盘,这样更新语音非常方便
您选的单片机有4个串口,随便拿一个出来控制KT404A就好了
KT404A外挂一个spiflash,通过usb直接更新语音

‘柒’ 想做一个基于51单片机的语音控制

51单片机做语音识别基本上不可能,你可以用凌阳单片机做,一套100多,当年毕业设计用凌阳做的成绩基本很差,不是设计不好,而是凌阳做得比较完美,把各个部件一组装,把程序一修改,就可以语音控制了,太简单了所以得低分。
建议你用凌阳单片机做,网上有专业网站介绍,而且非常简单。
具体设计太简单了,还真不好说。

‘捌’ 用51单片机实现简短提示音的播放,只用实现播放功能呢,不用实现录音,该什么芯片实现呢

简单的做法就是,你去买个语音芯片。控制语音芯片放音即可。
PM66或者ISD1700的芯片都可以
不过这些语音芯片都需要类似“编程器”的设备将语音事先烧录进去。你可以和卖家协商,让他们给你烧录几片做实验。

‘玖’ 51单片机通过什么控制语音芯片ISD4004进行录放的语音芯片ISD4004对咪头采集的语音信号做了什么处理

看你怎么用了,如果你的设备应用时只播放不录音或者需要预置一部分特定的语音,就需要使用专门的拷贝机编程来进行批量生产,否则不需要。单片机访问4004只需要通过接口线按协议发送控制命令就行了,不复杂。

阅读全文

与51单片机语音芯片编程相关的资料

热点内容
php中怎么注释 浏览:992
adxl345与单片机 浏览:279
服务器世界第一是什么公司的 浏览:19
精通编程入门 浏览:16
99单片机原理 浏览:61
linuxssh互信 浏览:288
支持128加密的浏览器 浏览:292
程序员下载器 浏览:48
退出云服务器代码 浏览:900
军状如命令 浏览:263
如何安卓系统更新 浏览:74
linux命令在哪里输入 浏览:497
编程语言集合类怎么选 浏览:93
如何将pdf转化为word 浏览:11
迈克菲隔离区解压密码 浏览:785
怎么用伟福编译 浏览:867
计算机算法专家 浏览:501
什么app清理垃圾 浏览:643
android流媒体服务器 浏览:183
各种算法的时间复杂度是指 浏览:116