




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
滁州学院本科毕业设计 本 科 生 毕 业 设 计 (申请学士学位)论文题目 基于单片机的语音存储与回放 系统设计 作者姓名 所学专业名称 电子信息工程 指导教师 2017年 5 月学 生: (签字)学 号: 答 辩 日 期: 2017 年 5 月 20 日指 导 教 师: (签字)目 录摘要31绪论41.1课题研究背景41.2课题研究的发展前景51.3课题研究的意义及目的52 语音系统的设计方案62.1方案设计62.2方案分析和选择73 材料选取73.1 控制芯片STC90C516RD+73.2 语音芯片ISD400483.3功放芯片TDA2822M104 电路设计104.1时钟电路104.2复位电路114.3显示电路114.4 3.3V电源电路124.5按键模块124.6 ISD4004音频处理模块134.7 TDA2822M功放电路134.8总电路设计图145 程序设计155.1主程序流程图155.2录音程序流程图165.3放音序流程图166实物调试166.1程序编译和下载166.2 实物调试最终结果展示186.3 实物调试过程及故障解决方法18结论20参考文献20附录21附录1元件清单21附录2程序22致谢32基于单片机的语音存储与回放系统设计摘要:本设计是基于单片设计的一个能实现语音存储和回放功能的系统,利用宏晶公司生产的STC90系列单片机作为主控制器,使用具有录音和放音功能的ISD4004语音芯片,能够显示32个字符的LCD1602显示器件和能对音频进行无失真的放大的TDA2822M差分放大器设计而成的。首先我们利用STC90C516RD+单片机的优越的控制性能来控制ISD4004语音芯片,通过单片机向语音芯片发送指令来完成ISD4004芯片的录音和放功能,用LCD1602来显示单片机对ISD4004的操作状态,使用TDA2822M将ISD4004芯片输出的音频进行无失真的放大的思路来进行语音存储和回放系统设计的,用Circuit Design Suite 10.0(Multisim)软件来绘制该系统的电路,用Keil uVision5软件来编写硬件程序。电路图和程序都完成后使用万用洞洞板依据电路图来焊接实物电路,实物完成后载入芯片程序直接进行实物调试,使用实物调试更容易找出问题和系统设计的缺陷,出现问题时可以通过模块化思想轻松查找到故障原因,并进行修复故障。ISD4004芯片录音时基于多电平存储技术实现的没有传统的数字录音过程中A/D转换带来的量化噪音和变色的金属音色。该系统录取的声音播放出来后和原音的音色、音调保持一致不失真。关键词:STC90C516RD+;Keil uVision5;ISD4004; Multisim;语音录放1绪论1.1课题研究背景语音存储与回放技术的课题研究主要分为三部分,分别是语音采集技术、语音存储技术和语音回放技术。这三个部分缺了任意一个都无法完成这个课题。那么问题来了,我们该如何用什么来采集语音,就算能采集到这些语音又该放在那里保存起来不会消失,就算能采集到又能保存起来那么究竟又该如何将其取出?如果不能取出,那么语音的采集和存储将不会有任何意义。声音是一种能量体不像物质那样能够轻易的采集、存储和进行取出操作。在古代各种技术比较落后的时代基本都是基于物质的基础上以文字和图像等形式对信息进行存储和再现的,那么在那个时代有没有关于声音存储的技术呢?仔细想想还真有,古代的八音宝盒便是其中一种,但是这不是真正意义上的语音存储与回放技术。在近代史上从电能的利用开始,各种科技飞速的发展起来,此时语音的存储与回放技术才真正开始萌芽,并以飞越般的速度进入发展期。1877年爱迪生发明了留声机,留声机也就是历史上最早出现的完整的语音存储与回放技术。从此语音进入了机械录音的时代。在这期间出现各种各样的语音存储和回放技术和产品,例如最早应用于电影的蜡盘录音技术,随着科技的发展原有的技术在各种应用场合已经无法满足要求,后来磁带和光学录音系统出现结束了机械录音的时代。21世纪初半导体技术逐渐进入初步成熟阶段,在这个阶段大规模的集成电路技术出现,这项技术主要朝三个反向发展,分别是大规模集成放大电路、大规模集成逻辑电路和大规模集成存储电路。这半导体集成技术使得电子产品进入了微型化时代,这也使得语音存储与回放系统的体积进一步缩小,更加便于携带,更重要的是比传统的语音设备性能更加优越价格更加低廉。使得它迅速进入了各项领域。1.2课题研究的发展前景虽然目前语音储存和录放技术已近很成熟了特别是语音识别、语音编码以及语音文本互换三大核心技术,但是我认为该项技术今后还有很大的发展空间,例如采用更高的速度和质量的加密方式、采用更加先进的信息技术对语音信号进行优化处理减少存储空间以及采用语音合成技术推动语音技术向语境真实化和多模式化发展。而智能语音将是未来发展的主旋律。1.3课题研究的意义及目的21世纪是一个各种技术相互融合相互弥补不足共促发展的大时代,例如语音录放系统与数学理论相结合智能语音识别技术、语音优化技术等,语音系统在各种机械上使用能够提高机械的操作能力和辅助学习能力。该项技术应用在教育、商业、生活、军事、航天等各个领域,几乎随处可见。可见语音储存和录放技术的重要性。因此对于语音储存和录放技术的研究是很有必要。本设计主要是基于单片设计的一个能实现语音存储和回放功能的系统。2 语音系统的设计方案本设计基本两种设计发案,第1种方案是根据声音信号的物理性质特点来进行设计的,也是最早期的语音数字化设计思路。第2种方案则是基于单片机控制语音芯片来完成。以下为两个方案的具体设计思路。2.1方案设计音频输出音频输入显示模块按键模块存储芯片编码芯片A/D芯片解码芯片D/A芯片运放芯片运放芯片STC90C51RD+单片机方案1:采用单片机、AD转换芯片、D/A转换芯片、运放芯片、存储芯片、编码芯片和解码芯片构成。该方案是同过受话器将声音转换成电信号,将电信号经过放大后用模数转换芯片转换成数字信号,再通过编码芯片将数字信号重新编码压缩减小数据在内存中的存储空间,STC90C51RD+单片机从编码芯片读取数据转存在外置存储芯片中,播放时STC90C51RD+单片机从外置存储芯片读取数据发送至解码芯片进行解码,然后通过数模转换芯片将数字信号转换成模拟信号再经过信号放大器放大输出还原成声音。通过按键来控制单片机进行录音和放音操作,用显示器显示当前系统的操作状态。图1-1 方案1原理框图音频输入音频输出显示模块按键模块STC90C51RD+单片机运放芯片语音芯片方案2:采用单片机、语音芯片、运放芯片构成。该方案是利用集成语音芯片和单片机构成的,集成语音芯片本身具有录音功能,录音数据存储以及对录音数据播放功能。但是该芯片不能独立进行正常工作需要控制器对该芯片写入相应的指令才能执行相应的功能,因此这个方案是通过单片机控制语音芯片进行录音和回放,通过按键来控制单片机向语音芯片发送指令完成录音和放音操作,通过显示器显示当前操作状态。图1-2 方案2原理框图2.2方案分析和选择方案1原理:录音是将采集到的音频信号首先进行量化成数据,接着将该数据进行编码减少数据存储的体积然后存放在外置存储器中。放音时将存储器里的数据读出,然后经过解码器还原成编码前的数据,再由数模转换芯片还原成模拟信号通过运放将信号放大通过音盆还原成声音。方案2原理:利用单片机对ISD4004芯片发送指令进行控制,使ISD4004芯片完成录音,存储和放音的功能。该芯片在录音时直接将采集到的音频信号通过电平截取的方式存储到存储器中不需要对信号进行量化操作避免了音源的失真。对比:方案1比方案2所使用的芯片数目多、电路复杂、成本也比较高、稳定性低,综合考虑使用方案2最合适。3 材料选取主控芯片:STC90C51RD+;音频处理芯片:ISD4004;运放:TDA2822M;显示:LCD12063.1 控制芯片STC90C516RD+ STC90C516RD+是宏晶公司生产的一种低功耗、高性能的CMOS八位微控处理制器,它具有 8K字节系统可编程Flash存储器。STC90C516RD+不仅仅继承了经典的MCS-51内核,而且在原有版本的基础上做了很多的改进使得芯片具有很多传统51单片机所不具备的功能。在单个芯片上,拥有灵巧的八位CPU 和系统在线可编程Flash,使得STC90C516RD+为众多的嵌入式控制应用系统提供高灵活、高效率的各种解决方案。图3-1 STC90C516RD+引脚图片主要特性:本芯片具有512字节数据存储空间和8K字节程序存储空间,内带4K字节EEPROM存储空间,可直接使用串口下载。(1)工作电压:5V单片机5.5V3.3V,3V 单片机3.8V2.0V。(2)工作频率:正常工作频率040MHz,相当于普通的805180MHz,最大的工作频率可48MHz。(3)时钟/机器周期:STC90C516RD+是增强型8051单片机,有6 时钟/机器周期和12 时钟/机器周期模式,所以指令代码完全兼容传统8051。(4)片上集成512 字节RAM(Random Access Memory) ,用户应用程序空间为8K字节,内带4K字节EEPROM存储空间,可以使用data flash技术进行在线数据保存防止掉电造成数据丢失。(5)芯片具有4组通用的I/O口,其中P0口是漏极开路输出可以作为总线扩展端使用,该端口作为普通端口使用时须要加弱上拉电阻才能正常工作。P1、P2、P3是准双向的I/O口具有弱上拉电阻。(6)芯片下载程序时只须通过RxD/P3.0,TxD/P3.1端口进行串行数据传输就能完成,不需要专用的编程器和仿真器进行下载程序。该芯片内部具有EEPROM存储空间使得系统可以在线编程和应用编程。 (7)片内16位定时器/计数器一共有3个,分别是T0、T1、T2。可以通过指令控制定时和计数功能。(8)外部中断,触发电路下降沿或低电平中断,Power Down 模式可由外部中断低电平触发中断方式唤醒。(9)串行口:通用异步串行口(UART),还可用软件控制定时器实现多个UART。(10)工作温度范围:工业级-40+85, 商业级075。3.2 语音芯片ISD4004 ISD系列芯片是美国ISD公司面对语音信息存储和处理所推出的产品。该系列语音芯片所采用语音存储技术是多电平直接模拟存储(Chip Corder)专利技术, 音频信号不需要经过A/D转换和编码压缩,这种存储技术没有A/D转换误差,每个信号采样值直接存储在闪烁存储器中,因而能够自然地再现当时现场原本的声音、音乐等效果声。避免了一般数字录音电路量化和压缩过程中造成的噪声和金属声以及音频大幅度失真。图3-2 ISD4004引脚图片电源:该芯片的数字和模拟(VCCD、VCCA)电路使用不同的电源线路可以时录音时的噪声最小化,数字和模拟电源端要分别走线,分别引到不同管脚上,电源引脚尽可能在靠近供电端处相连,并且去耦滤波电容应尽量靠近芯片,同时电源地线(VSSA、VSSD)的模拟地和数字地也要使用不同的线路。片选(SS):低电平有效,即当该端为低时向ISD4004芯片发送指令,多条指令之间为高电平。同相模拟输入(ANA IN+):这是音频信号输入的同相端。音频可以经过单端或差分放大器驱动后输入。当输入的音频信号经单端输入时,信号必须接耦合电容输入芯片,该信号的最大幅度为32mVpp, 芯片频带的低端截止频率由耦合电容与该端的3K电阻输入阻抗决定。如果采用差分驱动,音频信号最大幅度为16mVpp。反相模拟输入(ANA IN-):采用差分驱动时,该端为录音信号的反相输入端。信号须要经过耦合电容后输入芯片,最大幅度为16mVpp。音频输出(AUD OUT):提供音频信号输出,可驱动5K的负载。串行输入(MOSI):此端为串行输入是芯片与控制端进行数据、地址和指令信息的传输端端,主控制器须要在串行时钟上升沿之前将数据输入到该引脚,供ISD芯片输入。串行输出(MISO):主控制器可以通过该引脚读取ISD4004芯片的地址等信息,数据通过串行方式输出,如果ISD芯片未上电时,该引脚呈高阻状态。串行时钟(SCLK):该引脚为时钟信号输入端,由主控制器产生,,MOSI 和MISO 共用该时钟信号进行数据传输。SCLK上升时数据沿锁存到ISD芯片,在下降沿移出ISD芯片。中断(/INT):本引脚是漏极开路输出,当ISD芯片检测到EOM 或OVF 时,该引脚变为低电平并保持。该状态会在下一个数据发送周期开始时清除。用RINT指令也可读取该状态。OVF 标志表示ISD的录音或放音操作已到达存储器的尾端。EOM标志只有在放音中检测到内部的EOM 标志时,该状态位才会置1。行地址时钟(RAC):该引脚是漏极开路输出,可用于存储管理技术。一个RAC周期表示ISD芯片内部的存储器存储或读取了一行数据。当芯片在快进模式下时RAC一个周期的高电平218.75us低电平31.25us,正常模式下RAC一个周期的高电平175ms低电平25ms。存储单元(2400行):ISD4004芯片内部的存储器的空间与普通的存储器结构不一样,普通存储器一般是按字节进行存储的,而该存储器的数据是按照行进行存储的,所以该存储器的容量大小用行来计数。外部时钟(XCLK):该引脚为音频采样时钟输入端,正常情况下该芯片不须接外部时钟。因为该芯片内部自带8.0KHz的采样时钟,该芯片在8KHz采样频率下能够录制480秒的语音信息,如果要延长录制的时间就要从该引脚输入其他频率的采样时钟信号,输入的时钟信号可以为4.0KHz、5.3 KHz、6.4 KHz、8.0 KHz,输入时钟信号频率越低录制时间越长。如果已8.0 KHz采样频率进行音频录制则该引脚直接接地。自动静噪(AMCAP):该引脚须要外接电容以削弱系统采样时钟带来的噪声信号,类似于旁路滤波电容。该引脚实际上是内部信号电平峰值检测电路的一部分,该电路能够检测出的峰值电平与预设的电平阈值进行比较,若音频信号电平低于内部设定的阈值以下时,就会使该信号衰弱,这样会使有用信号的更清晰。当该芯片采用不同频率进行采样时该引脚对地接的电容值也会不同。通常在8 KHz的采样频率下该引脚对地接1000uF的电容。当采样信号比较大时,自动静噪电路不对信号进行衰减,静音时衰减6dB。若要提升电路对信号幅度的响应速度则该引脚接VCCA,禁止静噪功能。3.3功放芯片TDA2822MTDA2822M是飞利浦公司利用意法半导体(ST)结构设计的单片双通道集成功率放大电路,该芯片外围电路元器件少、对音源放大失真性非常低、供电范围大1.5V15V、价格便宜等优点,使得很多硬件设计师在设计一些涉及音频系列产品都采用它为音频功放元件。在我们生活中经常见到的收音机、磁带式录音机、碟机等产品中就是采用这种芯片作为音频放大元件。该芯片在电压低至1.8V时仍能工作,交越失真也小,静态电流小使得它应用的范围变得更加的广泛。该芯片有2种封装模式,有8个引脚,内部集成了2个独立的放大器,因此可以用来做为立体声音频放大电路,还可以将这2个放大器通过桥接的方式连接起来提升信号的放大倍数。图3-3 TDA2822M引脚图片4 电路设计4.1时钟电路时钟电路由12MHz晶振和2个30pF的电容构成时钟震荡电路,为单片机提供稳定的时钟信号。图4-1 时钟电路4.2复位电路复位电路在微机系统中是一个很简单的电路但是却非常的重要,如果该电路出现故障那么整个微机系统都无法运行。它的主要功能是上电复位,保障上电时能正确的启动系统。当系统受到某种外因使系统出现故障时,可以通过复位按钮将系统复位恢复到正常工作状态。图4-2 为复位电路原理电路图。图4-2 复位电路4.3显示电路采用lcd1602显示模块,该模块是工业字符型液晶,能够同时显示16x02即32个字符。该模块的内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,包括数字,英文大小写字母和常用的符号等。1602通过D0D7的8位数据端传送数据和指令,该端口接单片机的P0口。V0端口为调整显示器的对比度该端口接10K的可变电阻,通过调节电阻的大小来控制显示器的对比度。RS为寄存器选择控制端,该端口接单片机的P24引脚,该引脚高电平为数据寄存器、低电平为指令寄存器。RW为读写控制端,该端口接单片机P25引脚。图4-3为显示电路原理图。图4-3 显示电路4.4 3.3V电源电路该电路利用AMS1117-3.3稳压元件产生稳定的3.3V电压,为ISD4004芯片提供正常的工作电压,AMS1117-3.3两侧分别接100nf的瓷片电容对电源进行滤波以减少电源带来的噪声,3.3V输出的对地接10uf的电容可以为ISD4004芯片提供瞬时的大电能供电要求,让语音芯片时刻工作在最优的环境有利于芯片发挥出最佳性能。图4-4 3.3V电源电路4.5按键模块该模块由10K上拉电阻和轻触按钮组成,该电路的电阻和按钮之间分别连接单片机的P34、P35、P36、P37引脚。当按下按钮时输入为低电平,松开时恢复到高电平。通过该按钮可以控制单片机进行录音、暂停、选择、播放操作。图4-5按键模块4.6 ISD4004音频处理模块ISD4004的片选(SS)端接单片机的P20引脚,串行输入(MOSI)端接单片机的P21,串行输出(MISO)端接单片机的P21引脚;串行时钟(SCLK)接单片机的P23引脚,中断(INT)接单片机的P32引脚,电源(Vssd、Vssa)和串行时钟的(XCLK)端接地(电源负极),电源(Vcca、Vccd)接3.3V电源正极。音源输入电路由2个10K电阻、2个10nf无极电容和柱极话筒构成。ANDOUT接阻容元件对外输出。每个Vssd和Vcca分别从地线串联一个0欧的电阻接入,这是模拟地和数字地隔离的一种很有效的方法,同时也能够很好的屏蔽掉电路中的杂波信号的干扰。图4-6 ISD4004音频处理模块4.7 TDA2822M功放电路TDA2822M芯片具有良好的音频放大能力,且外围电路元件少,电路简单易于操作。该功放电路将芯片内的2个运放连接在一起组成单声道桥式(BTL)输出电路,IN2+引脚接了一个10K电阻可以很好的降低电路产生的噪声。ISD4004输出的音频从端口Sing in输入经过TDA2822M内部的2个差分放大器放大后输出可推动功率为3W阻抗为4欧的音盆,音质纯净无噪音。图4-7 TDA2822M功放电路4.8总电路设计图将以上各个电路图进行组合后为本次设计的最终设计电路图(利用National Instruments中的Multiuse绘制)。图4-8 总设计电路5 程序设计 程序设计主要分为三个部分,分别为主控制程序设计、录音子程序和放音子程序。以下分别为三个部分设计思路。5.1主程序流程图YYYYN开始录音键按下并且ISD=0执行录音程序ISD=1初始化程序载入放音键按下并且ISD=0选择键按下并且ISD=0停止键按下执行放音程序ISD=1停止当前操作ISD=1执行录音程序NNN主程序设计思路是通过单片机循环的扫描四个按键接口,如果检测到某个按键被按下时当松开该按键后就会转过去执行该按键所对应子程序。例如当单片机录音按键按下时单片机就会转到录音子程序执行,单片机放音按键按下时单片机就会转到放音子程序执行。每个状态在执行时切换下一个状态时都需要按下停止按键清除状态标志。程序代码见附录2的主程序部分.图5-1 主程序流程图5.2录音程序流程图当单片机执行该程序时先是向语音芯片发送八位上电指令代码使语音芯片开启,接着发送十六位地址+当前地址录音八位指令代码,再将语音芯片片选端拉低后再置高位,再发送指定地址录音指令这时语音芯片就会从当前的地址开始进行录音。程序代码见附录2的ISD4004驱动程序部分。 开始芯片上电发送当前地址录音指令发送十六位地址结束发送指定地址录音指令图5-2 录音程序流程图5.3放音序流程图 开始芯片上电发送当前地址放音指令发送十六位地址结束发送指定地址录放指令当单片机执行该程序时先是向语音芯片发送八位上电指令代码使语音芯片开启,接着发送十六位地址+当前地址放音八位指令代码,再将语音芯片片选端拉低后再置高位,再发送指定地址放音指令这时语音芯片就会从当前的地址开始进行放音。程序代码见附录2的ISD4004驱动程序部分。图5-3 放音程序流程图6实物调试6.1程序编译和下载使用Keil uVision5对硬件进行程序设计,图6-1程序编译通过无错误无警告窗口图片。图6-1 程序编译通过图片使用STC系列单片机专用的芯片程序烧写软件STC-ISP.exe,将编译通过的HEX文件传输到单片机芯片中,图6-2为单片机程序下载界面图片。图6-2 芯片程序下载图6.2 实物调试最终结果展示以下为实物最终调试完成品和各个功能演示图片。图6-3 各部分模块实物图 图6-4 开机状态图6-5 选择录音地址 图6-6 录音状态图6-7 放音状态 图6-8 暂停状态6.3 实物调试过程及故障解决方法在实物调试过程中出现以下问题:(1)设计过程中由于将单片机复位电路的电容用大了导致程序无法下载到单片机芯片中。在调试过程中出现录音无效,无法录取声音,经检查发现柱极话筒没有接入电源。解决方法:把复位电容换成10uf的,接好柱极话筒的电源。(2)在播放录音时出现无法按照指定的地址进行播放操作,播放时时按照无序的方式放音的,这种现象是由于程序逻辑出现问题,经过仔细查找发现是发送指令的顺序出现了错误,解决方法:修改程序后故障修复。(3)录完一段声音后进行播放发现扬声器有很大的噪音,噪声几乎掩盖了音频信号,经过排除法分析发现噪声来自于录取的音频而不是来自于音频放大器电路的,首先想到的是利用滤波电路将噪声过滤,但是发现很难将噪声除尽而且输出的声音有点失真。因此通过滤波来去除噪声并不好,那么只能通过将噪声源去除才是最完美的,通过上网有关音频设计的论坛来查找噪声产生的原因进行分析并仔细阅读ISD4004的资料后发现噪声来源于ISD4004芯片电路的模拟地线和数字地线没有分开布线所引起的。模拟地和数字地的分割可以采用串接磁珠、零欧电阻、电容和电感来实现,通过实验发现采用零欧的电阻效果最佳。解决方法:对ISD4004和TDA2822M的电路从新设计,并利用PCB布线软件绘制实物电路排布。然后从新制作该部分实物。以下是原录音部分实物图(图6-9和图6-10)和重做后的实物图(图6-11和图6-12),以及PCB图(图6-13)。PCB绘制并没有采用标准的布线规则,而是利用和实物材料以及简洁易懂的方式来布线的,其中紫色的表示地线,绿色的表示跳线,灰绿色表示3.3V电路,其他线用红色表示。按照1:1的PCB布线图再次自作音频部分电路板后进行测试发现噪音成功的去除了。 图6-9 原录音部分实物背面图 图6-10 重做后的录音部分实物背面图 图6-11 原录音部分实物正面图 图6-12 重做后的录音部分实物正面图图6-13 PCB布线图结 论本设计基于单片机设计的一个能实现语音存储和回放功能的系统,利用STC90C51RD+单片机来控制ISD4004语音芯片成功的实现了多条语音的录取和回放功能(图6-5、6-6和6-7实物图)。该设计是通过受话器将震动的声波信号转换为电信号, ISD4004芯片按照8KHz的采样频率对该电信号直接取样,然后将这些取样信号直接存储在ISD4004内部的存储空间中。放音时ISD4004芯片的信号输出引脚会将录取的电信号按照取样的顺序还原出来,将这个信号再经过低通滤波电路滤波后再放大滤波后的信号通过音盆还原成声音。该设计的难点主要是对ISD4004芯片的结构和控制方式不熟以及音频采集时电路产生的高频噪声难以去除。优点为录取的声音真实度高不失真不变色,稳定性也很好。本次毕业设计增加了我们对电子产品开发的经验和知识,也使得我们今后在单片机设计这方面走的更高更远,也让我们学会了如何使用陌生的芯片,这样能够让我们认识更多的芯片从而设计出更加优秀的设计。参考文献1 冯军,谢嘉奎.电子线路M.北京:高等教育社,2010.2 何钦铭,颜晖. C语言程序设计M.北京:高等教育社,2013.3 童诗白,华成英.模拟电子技术基础M.北京:高等教育社,2006.4 杨美仙.单片机的发展及其应用J.科技信息(学术研究),2007,(35).239+241.5 沈红卫.基于单片机的智能系统设计与实现M.北京:电子工业出版社,2005.6 岂兴明.51单片机编程基础与开发实例详解M.北京:人民邮电出版社,2008.7 于晓东.80C51单片机原理、开发与应用实例M.北京:中国电力出版社,2008.8 陈忠平.基于Proteus的51系列单片机设计与仿真M.北京:电子工业出版社,2015.9 李宝堂.三端稳压集成块在教学仪器中的应用J.教学仪器与实验,1993,(5):20-22.10 王振红,李洋,郝成祥.ISD4004语音芯片的工作原理及其在智能控制系统中应用J.电子器件,2002,25(1):79-83.附录附录1元件清单表1 元件清单元件名称数目STC90C516RD+1ISD40041TDA2822M1LCD160210贴片电阻710k贴片电阻220.1uf安规电容20.01uf安规电容30.1uf贴片电容310uf电解电容4470uf电解电容2100k电位器1ASM1177-3.31轻触按钮4柱极话筒15V8音盆112MHz晶振1附录2程序主程序:#include#include#include#include #include#include sbit K1=P34;/录音按键sbit K2=P35;/放音按键sbit K3=P36;/暂停按键sbit K4=P37;/选地址按键unsigned char add14=0x00,0x58,0xb0,0x08;/低8位地址存储数组unsigned char add24=0x00,0x02,0x04,0x07;/高8位地址存储数组/*主程序*/void main() char adds16; unsigned int tpx=0; int w; w=0; addl=0x00; addh=0x00; P1=0xFF; P2=0XFF; P3=0XFF; LCD_Init(); LCD_Write_String(4,0,Welecome); LCD_Write_String(0,1,GraduationDesign); while(1) /*检测到录音命令程序*/ if(K1=0) delayms(10); while(K1=0); /松手判断 LCD_Clear(); LCD_Write_String(0,1,Record:); tpx=(int)(addl+addh*256); sprintf(adds,%d,tpx); LCD_Write_String(7,1,adds); delayms(500); rec(); delayms(10); /*检测到放音命令程序*/ if(K2=0) delayms(10); while(K2=0); /松手判断 delayms(500); LCD_Clear(); LCD_Write_String(0,1,Sound:); tpx=(int)(addl+addh*256); sprintf(adds,%d,tpx); LCD_Write_String(6,1,adds); play(); delayms(10); /*检测到停止命令程序*/ if(K3=0) delayms(10); while(K3=0); /松手判断 LCD_Clear(); LCD_Write_String(6,0,STOP); stop(); Dstop(); /*检测到选地址命令程序*/ if(K4=0) while(K4=0); /松手判断 w+; if(w3) w=0; addl=add1w;addh=add2w;LCD_Clear(); LCD_Write_String(0,1,Selecter:);tpx=(int)(addl+addh*256); sprintf(adds,%d,tpx); LCD_Write_String(9,1,adds); ISD4004驱动程序:#includesbit SS=P20; sbit MOSI=P21;sbit MISO=P22;sbit SCLK=P23;uint addl;/全局变量放音地址低8位地址uint addh;/全局变量放音地址高8位地址/*发送8位数据*/void sds8(unsigned char addx) uint y;for(y=0;yy)&0x01) MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();SCLK=0; /*放音函数*/void play() SS=1;SS=0;MOSI=0;SCLK=0;sds8(0x20); /发送上电控制指令SS=1; /上电结束delayms(25);SS=0;MOSI=0; /发送地址SCLK=0;sds8(addl); /发送放音地址低8位地址sds8(addh); /发送放音地址高8位地址sds8(0xe0); /发送控制指令SS=1;delayms(25);SS=0;MOSI=0;/放音SCLK=0;sds8(0xf0);/发送放音控制指令SS=1; /*录音程序*/void rec() SS=0;MOSI=0; /发送开始SCLK=0;sds8(0x20); /发送上电控制指令SS=1; /上电结束delayms(25);SS=0;MOSI=0; /发送开始SCLK=0;sds8(0x20);SS=1; /上电结束delayms(50);SS=0;MOSI=0; /发送地址 SCLK=0;sds8(addl); /发送录音地址低8位地址sds8(addh); /发送录音地址高8位地址sds8(0xa0); /发送控制指令SS=1; delayms(25);SS=0;MOSI=0;SCLK=0; sds8(0xb0); /发送录音控制指令SS=1; /*停止当前操作程序*/void stop() SS=1;SS=0;MOSI=0; SCLK=0;sds8(0x30);/发送控制指令SS=1; delayms(50);/*停止当前操作并掉电*/void Dstop() SS=1;SS=0;MOSI=0;SCLK=0;sds8(0x10);/发送控制指令SS=1; delayms(50);1602显示驱动程序:#include 1602.h#include delay.h#define CHECK_BUSY/是否使用判断忙语句条件,后面使用条件编译sbit RS = P24; /端口定义 sbit R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司晨间律动活动方案
- 公司组建志愿者活动方案
- 公司摄影采风活动方案
- 公司氛围营销大会策划方案
- 公司春季活动方案
- 公司日常特色活动方案
- 公司机制策划方案
- 公司组织编发活动方案
- 公司特色自助餐活动方案
- 公司突破亿元活动方案
- 酒店用火用电安全管理制度
- 模具机加工管理制度
- 区畜牧局十五五总结及十五五规划
- 2025年普通高等学校招生全国统一考试(全国I卷英语)及答案
- 银行支行安全防范教育培训制度
- 艾梅乙考试试题及答案
- DB31/T 1096-2018医院日间手术管理规范
- DB32-T 5119-2025 锂离子电池工厂生产安全技术规范
- 中医诊所挂证医生合同6篇
- ★教导型组织-行动管理模式(三)
- 朗文英语2B英语复习资料
评论
0/150
提交评论