数字化语音存储与回放系统本科毕业设计.doc_第1页
数字化语音存储与回放系统本科毕业设计.doc_第2页
数字化语音存储与回放系统本科毕业设计.doc_第3页
数字化语音存储与回放系统本科毕业设计.doc_第4页
数字化语音存储与回放系统本科毕业设计.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题 目 数字化语音存储与回放系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日摘要教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日摘 要数字化语音存储与回放系统的基本思想是将模拟语音信号通过模数转换器A/D转换成数字信号,再通过单片机控制存储在存储器中,回放时,由单片机控制将数据从存储器中读出,然后通过数模转换器D/A 转换成模拟信号,经放大在扬声器或耳机上输出。本设计以单片机芯片STC89C52作为核心控制器,通过硬件电路的制作以及软件程序,制作出一个数字化语音存储与回放系统。该系统使用Keil51软件为平台,使用C语言编程完成了整个系统的编写和调试,主要包括语音处理前向通道、AD转换、单片机、DA转换、键盘显示模块及后向处理通道。本次设计采用2片32k的HY62256存储器组成,基本实现了本次设计的各项功能和技术要求。关键词:单片机89C52,语音存储与回放,A/D D/AVABSTRACTABSTRACTDigital Voice Storage and Playback System The basic idea is the analog voice signal through the ADC A / D converted into digital signals, and then stored in the memory through the microcontroller, the playback, the data from the microcontroller to read out from memory, and then through the DAC D / A converted to analog signals, amplified on the speaker or headphone output.The design of a microcontroller chip STC89C52 as the core controller, through the production of hardware and software to produce a digital voice storage and playback system. The system includes voice processing prior to the passage, A / D converter, microcontroller, D / A conversion, keyboard display module, and after the processing channel, the use of Keil51 software as a platform, use the C programming language to complete the writing and debugging the entire system. The design uses two 32ks HY62256 memory components, the basic realization of the function of this design and technical requirements. KEY WORDS: 89C51, Storage, Playback, A/D,D/A目录目录摘 要IABSTRACTIII第1章 绪论11.1本课题选题的意义11.2本课题在国内外发展现状11.3 本论文的主要工作21.4 本论文的主要结构安排2第2章方案论证及系统总体设计32.1系统的方案论证32.2系统的方案设计42.2.1系统级的设计42.2.2系统总体框图设计5第3章系统硬件设计73.1单片机介绍73.2系统工作原理图93.3单片机系统硬件的设计103.3.1单片机最小系统103.3.2 单片机的相关设计103.4各模块电路的设计113.4.1 供电电路及按键电路设计113.4.2 显示管电路及储存器电路设计123.4.3 音频电路设计133.5 Protel99SE软件开发系统16第4章系统软件设计194.1主程序流程图194.2键盘子程序与显示子程序模块194.3 ADC与DAC子程序模块21ADC子程序设计21DAC 子程序设计214.4定时中断服务子程序模块214.5 KeilC51简介22第5章 系统调试与指标测试255.1软件调试255.2调试分析255.3调试小结26第6章 结论与展望27致 谢29参考文献3135绪论第1章 绪论1.1本课题选题的意义近年来,语音存储回放技术发展十分迅速,在速度和处理效果上都有很大的发展和进步。随着DSP技术的飞速发展,它在数字信号处理方面的优势日益体现出来。同时随着数字化信号处理技术的不断提高,单片机、数字信号处理器以及语音处理大规模集成电路的进步,语音合成,语音识别,语音存储和回放技术的应用越来越广泛,从而使磁头磁带系统成为了过去。现在大量的数字音频技术相当的成熟,利用软件与硬件结合的设计方法可以为系统增加可靠性和方便实现的特点。DSP在通信、雷达、语音处理等许多领域得到了广泛的应用,几乎涉及到生活应用的各个方面。其性价比日益提高,具有巨大的应用潜力。DSP系统具有比较大的优势:如灵活、可编程,支持时分复用,易于模块化设计,可重复使用,可靠性高等优点。尽管现在各种语言合成芯片,语音处理应用电路有许多,但都需要增加硬件投资,在一些由单片机构成的测控系统中,由于单片机接口有限,还需要扩宽硬件接口线路,本文介绍的语音存储与回放系统中,没有使用专用的语音处理芯片,不需扩宽接口电路,只利用一般的单片机测控系统中都有的硬件电路(如A/D、 D/A、存储器等)就能完成语音信号的数字化处理,即能完成语音的存储与回放,实现单片机测控系统的语音提示报警及语音提示操作。因此特别适用于单片机测控系统,为单片机测控系统的语音报警及语音提示操作在几乎不需增加硬件投资情况下的语音处理提供了一种思路。1.2本课题在国内外发展现状在多媒体技术的发展中,语音的存储回放系统有着广泛的应用。例如:在一些电视节目中语音部分的预先录制也发挥了很大的作用。各种场合的语音记录回放,如:购物商场广播、学校广播;录音笔:记者的语音记录;MP3;娱乐界的影视语音记录;再如:各种语言的口语考试记录;证词记录等。随着科学技术的发展,DSP技术对这几个方面的发展都起到很大的促进作用。该技术也可应用到多媒体计算机中的声卡部分,为其录制和播放语音。DSP技术在各种语音的存储回放技术中也会得到很广泛的应用和发展。1.3 本论文的主要工作本课题为基于单片机的数字化存储与回放系统,要求以单片机为核心器件,设计并制作一个数字化语音存储与回放系统。其示意图如下:图 1-1 系统框图要求实现的基本功能:(1)放大器1的增益为46db,放大器2的增益为40dB,增益均可调;(2)带通滤波器:通带为300Hz-3.4kHz;(3)ADC采样频率和DAC变换频率均为8kHZ。本设计要完成的主要任务为:1. 课题综述。2. 系统的原理、组成以及整体设计。3单元模块电路设计。4程序设计。5. 系统的制作及调试。6. 结语。1.4 本论文的主要结构安排全文共分为六章,本章介绍本课题的研究现状和选题目的意义等;第二章介绍的是本课题设计的总体方案与论证;第三章介绍数字化语音存储与回放系统硬件电路的设计;第四章介绍其系统功能的软件设计(信号采集、D/A转换等的软件设计),并给出了各个子模块的程序流程图;第五章介绍了系统的调试过程和调试结果,并对系统调试过程中出现的问题进行了分析,给出了相应的解决方案。第六章设计总结和展望。系统总体设计第2章方案论证及系统总体设计2.1系统的方案论证数字化语音存储与回放系统的基本思想是将模拟语音信号通过模数转换器A/D转换成数字信号,再通过单片机控制存储在存储器中,回放时,由单片机控制将数据从存储器中读出,然后通过数模转换器D/A 转换成模拟信号,经放大在扬声器或耳机上输出语音。方案一系统总体结构框图如图2-1所示:图2-1 方案一系统总体框图如采用ISD1110/ISD1420系列语言芯片。ISD1110/ISD1420系列单片录放时间8至20秒,音质好。芯片采用CMOS技术,内含震荡器、话筒前置放大、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及EEPROM阵列。最小的录放系统仅需麦克风、喇叭、两个按钮、电源及少数电阻电容。在录放操作结束后,芯片自动进入低功耗节电模式、功耗仅0.5uA。方案二为专用语音芯片方案,其系统图如下: 控制电路键盘语音芯片LED显示扬声器扬声器电 源如图1,本系统使用8031作为CPU,由CPU来控制语音合成芯片TC8830AF,使其工作在CPU控制模式下。当系统进行语音再生时,由CPU控制语音合成电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。CPU同时通过程序读取汉字信息,送入LED点阵显示电路来进行汉字提示。当汽车到达某站时,汽车司机通过键盘来控制本系统进行工作,并且,系统将使用状态指示电路,向司机指示出当前的行驶方向及站号(如与实际方向不符,司机可通过键盘来调整)。当系统进行语音录制时,语音信号通过语音输入电路输入给语音合成电路中的语音合成芯片,由语音合成芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。部分电路的设计1.语音处理图2-2 方案二系统设计框图由于毕业设计的主要目的是巩固大学学过的知识,培养综合运用所学的基础知识,提高学生独立解决问题的能力,根据课题要求实现功能选择方案一,其特点是应用比较灵活,可以实现很多语音压缩处理等算法。2.2系统的方案设计2.2.1系统级的设计1概述在这个设计阶段,需要将整个系统分解成多个子系统,例如处理器系统、存储器系统、接口模块、信号调整模块以及信号采集模块等等。分开的多个字系统尽量采用通用的接口,同时需要考虑各个子系统的接口信号的定义、时序、电压范围以及阻抗匹配等问题。本设计中,要求已经给出了细化至子系统级的系统示意图,因而大大简化了系统分解工作,只需要将重点放在各个模块之间的接口和各个模块的具体实现方法上即可。但考虑一些其他要求,需要将该语音存储/回放系统的细系统级总体框图做些扩充,如图2-1所示。2对各个子系统功能及实现方略的初步考虑下面对图2-1中有关模块的功能及实现方略分别作一说明。 (1)前置放大器采用双话筒差分输入,可有效地降低背景噪声。 (2)对该系统,为防止频谱混叠失真及提高信噪比,带通滤波器的设计显得尤为重要。基本要求中提出带通滤波器的通带范围为:300Hz-3.4kHz,由于上下截止频率之比为3400/300=11.32,因此这是一个宽带滤波器,无法用一般的带通滤波器的设计方法来实现,但可以采用低通滤波器级联高通滤波器的方法来实现。可以采用专用的滤波器芯片实现该带通滤波器,也可以采用分立元件构成该滤波器。 (3)由于采样频率为8kHz,可以选用的A/D和D/A的型号很多,A/D可以选用ADC0804(字长8bit,转换速率10kHz),D/A可以选用TLC7528(字长8bit,建立时间1s)。(4)语音回放时,须将已存储的数字化语音信号的数据,经过D/A变换器恢复为模拟语音信号。(5)MCU可以选用AT89C52,如果选择12MHz的时钟,则指令周期为14s。对于8kHz采样速率(采样周期为125s),在每个采样采样周期当中,可执行多达几十到上百条指令没,足以完成对采集点上的语音信号的存储和处理。(6)语音压缩编码方式种类比较多。增量调制(M)和差分脉码调制(DPCM)是两种常用的语音压缩编码方式,分别可以达到8倍和2倍的压缩比。本设计选用DPCM压缩编码方案,虽然压缩比低一些,但语音的失真较小,背景噪声亦较小。可实现存储器容量不变的情况下,将语音存储时间提高一倍。2.2.2系统总体框图设计说明:数字化语音存储与回放系统的基本思想是将模拟语音信号通过模数转换器A/D转换成数字信号,再通过单片机控制存储在存储器中,回放时,由单片机控制将数据从存储器中读出,然后通过数模转换器D/A 转换成模拟信号,经放大在扬声器或耳机上输出语音。拾音器放大器1带通滤波器ADC微处理器DAC带通滤波器放大器2耳机图2-3系统原理框图系统硬件设计第3章系统硬件设计3.1单片机介绍89S52单片机有44个引脚PLCC和TQFP方形封装形式,40个引脚的双列直插式封装形式,最常用的40个引脚封装形式及其配置如图3-1所示,各个引脚功能说明如图3-1: 图3-1 单片机引脚介绍框图GND:接地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表1-1所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表1-2所示。在flash编程和校验时,P3口也接收一些控制信号。RST:复位输入。晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号()是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,必须接GND。为了执行内部程序指令,应该接VCC。在flash编程期间,也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.2系统工作原理图图 3-2 整体电路图工作原理为:首先通过MIC录入一段语音信号,信号通过放大电路后使信号的幅度达到A/D采样的要求,放大电路中要可以实现增益可调。放大后的模拟语音信号送入微机实验台上的ADC0809转换成数字语音数据,然后在程序的控制下以文件的方式存储到硬盘上。回放时,由程序控制从文件中提取出数字语音数据,然后送入DAC0832转换成模拟信号,最后送入扬声器回放出来。但是在实际的安装调试时,并不可能完全和设计的一样。3.3单片机系统硬件的设计3.3.1单片机最小系统本设计单片机选用合适的51系列单片机为系统核心,加以数码管、电阻、电容、晶振、按键开关等器件做其外围电路。 图 3-3 单片机系统及其外围电路3.3.2 单片机的相关设计对于AT89C51单片机,其最小系统只需要电源、上电复位电路、时钟电路就能工作。由于我们的程序存储器(ROM)采用内部Flash存储单元,所以单片机上的EA接高。时钟电路的晶振采用12M的晶振,它由JZ、两个33pF电容和单片机内部的OSC电路组成,为单片机提供12MHz的时钟信号源。微处理器系统在开始工作时必须对微处理器内部的寄存器等进行复位,使各个寄存器的值设为预定状态才能顺利开始工作。复位电路的好坏决定着单片机能否正常工作。复位电路基本功能是在系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才撤销复位信号,主要是防止由于电源开关或插头分合过程中引起的抖动。复位电路可以使用专用复位芯片,也可以用电阻电容搭建。本文从可靠性和成本考虑最终选用电阻电容来搭建复位电路。对于51内核的单片机,RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。当单片机加电时由于RC充电的效果,使得复位脚保持一会高电平使单片机内部寄存器彻底复位。74HC573为地址锁存器,51单片机的低8位地址总线地址是和数据总线复用的,而RAM的地址总线地址和数据总线是分开的,所以要用地址锁存器把低8位地址和数据分开,常用的地址锁存器有74LS/HC373和74LS/HC573,这里选用74HC573。3.4各模块电路的设计3.4.1 供电电路及按键电路设计供电电路图设计:单片机系统供电需要+5V电压,而音频放大器需要+12V和-12V双电源供电。所以本系统需要三组电源,如图4-3所示。 图3-4 单片机供电电路图键盘电路设计: 键盘是标准的输入设备,实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描,如8279, CH451, LMC9768等,还有就是用软件实现键盘扫描。使用现成的芯片可以节省CPU的开销,但增加了成本,而用软件实现具有较强的灵活性,也只需要很少的CPU开销,可以节省开发成本。本文便使用软件实现键盘的扫描。 常见的键盘可分为独立按键式键盘和行列扫描式键盘。独立按键式键盘应用在需要少量按键的情况,按键和单片机的I/O口线直接连接。而行列扫描式键盘用在按键需求较多的情形下。考虑到血压计面向大多数人群,需操作简单,所以采用独立按键式键盘。独立式键盘电路如图3-5所示。其中P10、P11、P12、P13为51单片机的IO口。图3-5 按键电路图3.4.2 显示管电路及储存器电路设计(1)显示管原理图如3-6所示图3-6按键电路图储存器原理图如3-7所示:存储器采用2片32k*8的RAM HY62256组成,如图,其中U9的地址空间为0000H-7FFFH,U10的地址空间为8000H-0FFFFH,使用U10时,单片机IO口P3.3必须为高,P3.3为低时选中的是ADC,与非门输出高,U10无效。如图3-7所示。图3-7 储存器电路3.4.3 音频电路设计拾音器电路如图3-8所示:MIC采用驻机体MIC,当驻极体话筒MIC拾到微弱声音信号以后,便在MIC两端产生信号电流,R131将信号电流转装换成电压信号,经过电容器C28、C31耦合到运算放大器的进行放大 图3-8 MIC电路滤波放大电路如图3-9所示:由于语音信号的带宽为200Hz-3400HZ,涉及频谱混叠现象,低通滤波器的过渡带衰必须较快放大器采用运算过放大器组成的差分放大器,这样能有效地避免干扰,提高信噪比,运放采用通用音频运放NE5532,其噪声低,价格便宜。放大器的放大倍数设为20倍,调试时可适当调整放大倍数使音量合适。图3-9滤波放大电路A/D电路如图3-10所示:ADC采用通用ADC0809,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 ADC采用通用ADC0809,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 IN0IN7:为8条模拟量输入通。ADC0809地址输入和控制线:4条 。ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZADC与51单片机接口如图4-10,由于只采用1个通道,这里选用IN-0,所以三个地址线全接地。时钟信号采用单片机输出的ALE,为2MHz。ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。前边放大器其输出的信号为双极性,这里R45、R46实现双极性到单极性转换。ADC的片选采用单片机IO口P3.3,当P3.3为低时有效。图3-10A/D电路D/A电路如图3-11所示:DA转换器的作用是将存储的数字语音信号转换为模拟语音信号,由于一般的DA转换器都能达到1us的转换速率,足够满足题目的要求,故我们在此选用了通用DA转换器DAC0832图3-11D/A电路音频放大电路如图3-12所示:经带DAC输出的声音回放信号,其幅度为0-5v,足以用耳机来收听,可不接任何放大器。但考虑到实际中经常会用到喇叭外放,故在本系统中增加外放功能,前端放大器采用通用型音频功率放大器LM386来完成。电路如图该电路增益为50200,连续可调,最大大不失真输出功率为325mw。输出端接C4、R9串联电路,以校正喇叭的频率特性,防止高频自激。脚7接220uF去耦电容,以消除低频自激。为便于该功故在高增益情况下工作这里将不使用的输入端脚2对地短路。图3-12音频放大电路3.5 Protel99SE软件开发系统Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的Protel最新产品已不是单纯的PCB(印制电路板)设计工具,而是一个系统工具,覆盖了以PCB为核心的整个物理设计。 最新版本的Protel软件可以毫无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡到新的EDA平台。 Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 以下介绍一些Protel99SE的部分最新功能:可生成30多种格式的电气连接网络表;强大的全局编辑功能;在原理图中选择一级器件,PCB中同样的器件也将被选中; 同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络 既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性; 满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5);支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB可设计32个信号层,16个电源-地层和16个机加工层;强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查; 智能覆铜功能,覆铀可以自动重铺; 提供大量的工业化标准电路板做为设计模版; 放置汉字功能; 可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换; 智能封装导航(对于建立复杂的PGA、BGA封装很有用); 方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果; 独特的3D显示可以在制板之前看到装配事物的效果; 强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等; 经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动; 反射和串扰仿真的波形显示结果与便利的测量工具相结合; 使用Protel软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Protel 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Protel 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Protel 有较高的推广利用价值。系统软件设计第4章系统软件设计本设计软件采用C语言来完成4.1主程序流程图图4-1主程序流程图4.2键盘子程序与显示子程序模块(1)键盘子程序如下:本设计硬件电路的输入采用4个按键, 具体程序为:Unsigned char getkey(void)uchar keytmp;P1=0xff;keytmp=(P1) & 0xff;if(keytmp=0) km=0; kp=0; /no key is ON else /any key is ON if(km=0) km=1; / 置按键抖动标志 else/按键已去抖 if(kp=0) /按键没有处理,下面是按键处理代码 / 置按键处理标志 kp=1; return(keytmp); return 0;(2)显示子程序如下:/串行LED码表code unsigned char led=0xfc,0x60,0xda,0xf2,0x66, /04 0xb6,0xbe,0xe0,0xfe,0xf6, /59 0x9e,0x2a,0x7a, /End 0x00; /Space /=显示= void mputchar(char x)SBUF=ledx; while(TI=0);TI=0;void Display(long int x)/功能:将变量在3位串行显示器上显示出来 unsigned char y,zf=0,qian; x=60*30000/x; /将周期换算为频率,需修正 y=x%10; mputchar(y); x=x/10; y=x%10; qian=qian/10; if(qian=0 & y=0) mputchar(0x0d); else mputchar(y); if(qian=0) mputchar(0x0d); else mputchar(qian); 4.3 ADC与DAC子程序模块ADC子程序设计#define ADC0809 XBYTE0x08000 /P3.3=0P33=0;/片选选择ADCbuff=ADC0809;/读数据P33=1;/片选选择RAM*p=buff;/存储数据DAC 子程序设计P32=1;buff=*p; /读存储器数据P32=0; /片选选择DACDAC0832=buff;/将数据送至DAC,进行DA变换P32=1;4.4定时中断服务子程序模块本设计语音采样率为8KHz,采用单片机定时器产生8k的采样时序,和播放时DAC的转换时序。定时器初始化:TMOD=0X01;/设置定时器0TH0=0XFF;/定时时间设为0.128ms ,8k/s采样率TL0=0X82;EA=1;/开总中断ET0=1; TR0=1;/定时计数起开始计数定时中断服务子程序:timer0()interrupt 1 using 1uint buff;if(RECORD)P33=0;buff=ADC0809;P33=1;*p=buff;if(PLAY)P32=1;buff=*p;P32=0;DAC0832=buff;P32=1;p+;TH0=0XFF;TL0=0X82;TR0=1;4.5 KeilC51简介1.对于8051单片机,现有四种语言支持,即汇编、FIM、C和BASIC. C是一种源于编写UNIx操作系统的语言,它是一种结构化语言,可产生紧凑代码.C结构是以括号()而不是字和特殊符号的语言.C可以进行许多机器级函数控制而不用汇编语言.与汇编相比,有如下优点:(1)对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有了解(2)寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;(3)程序有规范的结构,可分为不同的函数,这种方式可使程序结构化;(4)具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;(5)关键字及运算函数可用近似人的思维过程方式使用;(6)编程及程序调试时间显著缩短,从而提高效率;(7)提供的库包含许多标准子程序,具有较强的数据处理能力;(8)已编好程序可容易地植入新程序,因为它具有方便的模块化编程技术.8051系列单片机作为工业标准地位,从1985年开始就有8051单片机的C语言编译器。简称C51。C51程序结构与一般C语言没有什么差别.一个C51程序大体上是一个函数定义的集合,在这个集合中有仅有一个名为main的函数(主函数).主函数是程序的入口,主函数中的所有语句执行完毕,则程序执行结束.C5l提供的数据结构是以数据类型的形式出现的,C51的数据类型如下所示:我们最常用的Keil C5l编译器具体支持的数据类型有:位型(bit)、无符号字符(unsigned char)、有符号字符(signed char)、无符号整型(unsigned int)、有符号整型(signed int)、无符号长型(unsigned long)、有符号长型(signed long)、浮点(float)和指针类型等。2.C51数据的存贮类型与805l存贮器结构:KeilC51编译器完全支持8051单片机的硬件结构,可完全访问8051硬件系统的所有部分.该编译器通过将变量、常量定义成不同的存贮类型(data,Nata,idata,pdata,xdata,code)的方法,将它们定位在不同的存贮区中。存贮类型与8051单片机实际存贮空间的对应关系如表5-1所示。表5-1 存贮类型与存贮空间的对应关系当使用存贮类型data,Nata定义常量和变量时,C5l编译器会将它们定位在片内数据存贮区中(片内RAM),这个存贮区根据8051单片机CPU的型号不同,其长度分别为64,128,256或512字节.以今天的标准来看,这个存贮区不很大,但它能快速收发各种数据.外部数据存贮器从物理上讲属于单片机的一个组成部分,但用这种存贮器存放数据,在使用前必须将它们移到片内数据存贮区中.片内数据存贮区是存放临时性传递变量或使用频率较高的变量的理想场所.为了能直接访问这些特殊功能寄存器SFR,Keil C51提供了一种自主形式的定义方法,这种定义方法与标准C语言不兼容,只适用于对8051系列单片机进行C编程.这种定义的方法是引入关键字“sfr”,语法如下:例:sfr SCON0x98; *串口控制寄存器地址98H *sfr TMOD0x89; *定时计数器模式控制寄存器地址89H *系统调试与指标测试第5章 系统调试与指标测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论