51单片机语音回放系统课程设计报告_51单片机课程设计报告
51单片机语音回放系统课程设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“51单片机课程设计报告”。
课 程 设 计 报 告
.语音存储与回放系统
摘要
基于微控制器的语音存储与回放系统具有录制方便、回放灵活、无磨损、可靠性强等优点,在实际生活中得到了广泛的应用,如公共设备、智能仪器仪表、小家电等。
语音存储与回放系统的实现具有多种方式,一种是利用单片集成的语音存储与回放芯片,如美国ISD公司的ISD1420等;一种是以微控制器为核心,辅以A./D转换、D/A转换以及大容量的存储器。单片集成的语音存储与回放芯片一般智能性较差,不容易解决音量的问题,同时存放录制时间有限,不能灵活的变化。因此,在多数需要语音存储与回放的场合中,采用了微控制器的语音存储与回放系统。
一、系统总体描述和设计
1.1 系统描述 1.1.1 系统功能简介
语音存储与回放系统能够将语音先行录制,然后再回放,适合应用在一些需要语音播报功能的设备上,如公交车报站器、智能小家电、智能玩具等。
在一些实际应用中,一般录制是在产品出厂时,由专业人员进行录制,而在实际应用中只需要播放,如公交车报站器。但在一些实际应用中,则需要用户既能随意录制,也能随意播放,如智能玩具。
语音存储与回放系统比较重要的两个指标是语音的最大录制时间和语音回放的质量。语音的最大录制时间是由语音存储与回放系统的存储设备的容量来决定的,一般采用RAM,即为系统的存储容量。在一般的单片机系统中,RAM的容量非常有限,需要扩展一定容量的RAM。而语音回放的质量主要由系统中A/D以及D/A来决定,A/D与D/A的精度越高,语音的质量越好,同时系统的噪声抑制能力,如带通滤波器的优劣等,也会影响到语音的质量。1.1.2 系统总体设计
语音存储与回放系统的总体原理图如图1-1所示。
语音存储与回放系统
麦克风前置放大器带通滤波器A/D键盘控制微控制器外扩存储器喇叭后置放大器带通滤波器D/A
图1 语音存储与回放系统总体原理
语音存储与回放系统主要包括微控制器、系统供电电源、键盘、麦克风、前置放大器、A/D、外扩存储器、D/A、后置放大器和喇叭。下面将介绍各个部分的总体设计与选型。
1.微控制器
微控制器主要负责录音、回放中对外部命令的响应,同时需要对存储器进行读写操作。本语音存储与回放系统采用51系列单片机,负责控制与协调其他各个模块的工作,并进行简单的数字信号处理。在整个语音存储与回放系统中,微控制器是系统的控制中心,其工作效率的高低关系到系统效率的高低以及系统运行的稳定性。而51系列单片机具有成本低,稳定性好,且运行速度基本能满足该系统的要求。在本系统中,将采用Atmel公司的AT89S52。
2.键盘
在语音存储与回放系统中,需要采用键盘对语音的录制以及回放进行控制。在分段录制与播放中,同时还需要段号的输入等。在本系统中需要的按键数量比较多,可以采用键盘管理芯片ZLG728。
3.麦克风
麦克风的选择对语音质量影响比较明显。麦克风的作用是将语音信号转化成电信号。考虑到驻极体话筒的灵敏度较高,方向性差,若采用单端放大,会有比较大的噪音,因此采用两只(配对)话筒分别接入差分放大器的正负端,可以较好的抑制背景噪声。
4.前置放大器
通常情况下,拾音器输出的是微弱的电信号,因此在拾音器的后端需要将该信号进行放大处理,能完成此功能的电路称为前置放大器。一般情况下,拾音器的输出为毫伏级的电压信号,需要进行放大到伏级的电压信号。在本系统中,采用运算放大器NE5532。
语音存储与回放系统
5.A/D 由奈奎斯特采样定理可知,A/D的采样频率必须满足信号的最高频率的2倍以上,即满足如下关系:
fsfH(1)其中,fs为采样频率,fH为被采样信号的最高频率。
一般语音信号的最高频率为3.4kHz,因此在语音存储与回放系统中,A/D的采样频率fs必须满足:
fs2fH23.4kHz6.8kHz(2)
因此我们可以选用ADC0809,ADC0809转换器的分辨率为8位,典型转换时间为100μs,单5V电源供电。
6.外扩存储器
在语音存储与回放系统中,需要录制10s以上的语音,假设采样频率为8kHz,分辨率为8位,那么1秒钟的时间至少需要8kB的存储空间,而单片机的内置存储器无法满足要求,需要外扩存储器。
外扩存储器可以选用256k*8位的SRAM,这样就可以录制至少30s的语音。也可以采用多片32k*8位的SRAM,但是需要分页存储技术来扩展容量。
7.D/A 语音的回放需要将存储的数字化信号进行D/A转换,恢复为模拟信号才能进行播放。我们可以选用DAC0832来完成数字信号到模拟信号的转换,DAC0832的分辨率为8位,其输出稳定时间为1μs,满足系统要求。
8.后置放大器
D/A输出的信号经过后置带通滤波器后,其输出通常情况下不能满足喇叭对功率的要求。完成D/A输出到喇叭的功率驱动的放大电路称为后置放大器,即为一个功率放大器,我们可以采用低电压音频功率放大器LM386来实现。
9.喇叭
喇叭是语音播放回路的最后输出阶段,喇叭质量的好坏也会关系到语音输出的质量,因此,喇叭的选择也是很重要的一个方面。我们可以选用8欧姆,0.5W的普通喇叭。如图3所示。1.主控制器设计
三、单元电路设计
二、系统硬件设计
成的后置功率放大电路,以及状态指示等。
语音存储与回放系统
图2 语音存储与回放系统的总体硬件框图
系统的总体硬件框图如图2所示,主要有AT89S52单片机系统,DC/DC、7812等组成的系统供电电源电路,NE5532组成的前置放大器,NE5532与R、C组成的前置/后置带通滤波器,ADC0809组成的A/D转换电路,IS61LV2568组成的数据存取电路,DAC0832组成的D/A转换电路,LM386组主控制器即为一个51系列单片机最小系统,单片机选择了Atmel公司的89S52,主控制电路
语音存储与回放系统
2.前置放大电路设计
由一级电压跟随器和一级同相放大器组成。
3.后置功率放大设计
语音频率的范围一般为300Hz~3.4kHz,因此需要在输入与输出回路中设计带通滤波器来滤除语音频率范围以外的频率成分,以便进一步提高语音回放的质量。
其由运算放大器NE5532与R、C组成,采用的是一级低通滤波器和一级高通滤波器的级联。由于带通滤波器的通频带范围为300Hz~3.4kHz,因此低通滤波器的上限截止频率为3.4kHz,高通滤波器的下限截止频率为300Hz。
语音存储与回放系统
4.A/D采样电路设计
5.数据存取电路设计(62256两片)
语音存储与回放系统
6.D/A转换电路设计
语音存储与回放系统
开始初始化是否录音?启动AD程序,并存储语音。是否放音?启动DA程序,并循环放音结束8
四、软件设计
1、流程图
语音存储与回放系统
2、时序图
ADC0809时序图:
语音存储与回放系统
DAC0832时序图: 存储器62256时序图:
读数据:
语音存储与回放系统
写数据:
五、结束语
1.所设计的系统基本要求:
(1)放大器1的增益为46dB,放大器2的增益为40dB,增益均可调;
(2)带通滤波器:通带为300Hz~3.4kHz ;
(3)ADC:采样频率f s=8kHz,字长=8位;
(4)语音存储时间≥10秒;
(5)DAC:变换频率f c=8kHz,字长=8位;
(6)回放语音质量良好。
语音存储与回放系统
2.实验心得体会: 对于这种动手性很强的电路设计和焊接实验,觉得与平时必修课的实验很不同。必修课的实验都是一些经典实验,条件成熟且被反复验证,只要按照讲义的步骤去做,便会顺利得到预期的结果。但动手性实验,没有老师的监督和强迫,全靠我们自觉完成。动手性实验就像为我们打开了一扇窥探科研之路的门,让我们学到了许多在经典实验中无法学到的知识和思维方式。
我们首先查阅了芯片手册,了解了关于电路各模块的原理的结构。对这个课题有了基本了解后,我们又查阅了关于如何实现芯片具体功能的方法,并结合我们的目标物,制订了尝试方案。在实验过程中,我们碰到了许多以前在经典实验中不曾出现的问题。后来向老师了解到,其实是原理图和实物并不相对应。我们才发现,讲义上给我们做的经典实验,条件都是很成熟的,基本不会出现什么偏差,而我们所要探索的问题是很难达到这种理想效果的。由于我们的知识是有限的,所以我们遇到的困难比较多,正因为如此,我也收获良多。
首先我们明白到团结合作的重要性。由于我们组只有两个人,而所作的工作又较多,所以对我们来说时间是紧迫的,而且团结也显得尤为重要,同时加上有老师的热心帮助和提点,我们的实验进度也大大加快了。
其次我们学会了科研的思维方式。在实验过程中,我们会遇到各种各样意想不到的问题,这时必须静下心来分析可能出错的步骤,可能出现的故障,逐步排除,直到找出真正的原因,再对症下药,解决问题。另外,以我们现在的知识,也许不可能一下子就创造出一个前无古人的大发明,但我们可以在已有的仪器设备或实验方法上做一些改善工作,使其更方便、更完善。通过这些小设计或创新,可以培养和提高我们的能力。
这一次的动手性实验不但锻炼了我们的实验能力,培养了我们的科研思维,而且让我们体会到科研当中的辛苦与快乐。我们会把这一次的宝贵经验运用到以后的科研工作中,为电子事业贡献自己的一份力量。
语音存储与回放系统
六、参考文献
[1] 郭天祥。新概念51单片机C语言教程——入门、提高、开发、拓展。北京:电子工业出版社,2009-1-1。
附录
程序设计代码: #include #include #include #define ramaddre XBYTE[0x0000] //外部存儲器地址 #define uchar unsigned char
#define mdata XBYTE[0x0000] #define adnum 32768 sbit we=P3^6;sbit cs=P3^2;sbit flag1=P3^1;//录音控制键 sbit flag2=P3^0;//放音控制键 sbit eoc=P3^3;sbit start=P3^4;sbit oe=P3^5;int temp=0;int luyinstop = 0;int fangyinstop = 0;
语音存储与回放系统
uchar buffer=0;uchar xdata *pt,*pt1;unsigned char sum;sbit ck = P2^7;void Timer0_Init();void main(){ unsigned char addr[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};pt=&ramaddre;//首地址
pt1 = pt;//定义存放首地址
P1=0xff;//打开P1口
ck = 0;//打来62256片选
Timer0_Init();//定时器初始化
while(1){
if(luyinstop>adnum)
{
pt=&ramaddre;
luyinstop = 0;
}
if(fangyinstop>adnum)
{
pt1=&ramaddre;
fangyinstop = 0;}
} cs=1;
语音存储与回放系统
}
void Timer0_Init()//定时器初始化 { TMOD|=0x01;TH0=(65536-3)/256;TL0=(65536-3)%256;EA=1;;ET0=1;TR0=1;}
void timer_0()interrupt 1 {
TH0=(65536-3)/256;TL0=(65536-3)%256;if(flag2==1 && flag1==0)//录音
{
if(luyinstop
{
start=0;//ad初始化
start=1;
start=0;
while(!eoc);//等待空闲 cs=0;//打开da片选
语音存储与回放系统
we=0;//打开62256位选
buffer=P1;
*pt=buffer;//数据放入软件寄存器
pt++;
luyinstop++;
}
} if(flag2==0 && flag1==1)//放音
{
if(fangyinstop
{ start=0;//停止ad buffer=*pt1;//数据放入软件寄存器
P1=buffer;
pt1++;
fangyinstop++;
}
}
}
单片机课程设计报告题目:小直流电机调速实验教学单位: 机 电 工 程 系专业: 机械设计制造及其自动化班级: 0803班学号: 0811050342姓名: 程怀虎2011 年 11月(以下内容用宋体,五号,单......
《单片机原理与接口技术》课程设计报告设计题目: 基于80C51单片机系统实验板的制作与程序设计专业:应用电子专业班级: 11应电班姓名: 丁文俊指导教师: 余静老师2013 年 5 月20......
DS18B20测温及按键控制课 程 设 计课程名称 单片机基础课程设计 题目名称 18B20测温及按键控制 学生学院 **** 专业班级 **** 班号 **** 学生组员 ****** 指导教师 ***** -......
课程设计报告题 目: 自动滴灌系统设计 课程名称: 单片机原理及应用 学 院: 信息工程学院专 业: 计算机科学与技术 班 级: 2014 级计本 1 班学生姓名: *** 学 号: 201403031 指......
片 机 课 程 设 计 报学号、姓名:年级、专业:培养层次:课程名称:授课学时学分:考试成绩:授课或主讲教师签字:单 告1 单片机最小系统功能说明单片机的最小系统是由组成单片机系统必......
