基于单片机的录音笔设计1_第1页
基于单片机的录音笔设计1_第2页
基于单片机的录音笔设计1_第3页
基于单片机的录音笔设计1_第4页
基于单片机的录音笔设计1_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

..基于单片机的录音笔设计摘要随着电子技术的飞速发展,数码录音笔已得到了越来越多的人的青睐,论文通过对多种录音笔的设计方案进行了比较和分析,选定STC90C52单片机设计了一个数码录音笔。本文提出并设计实现了基于STC90C52单片机和ISD4004语音芯片的多功能录音笔方案。首先介绍了设计方案的选择,接着进行了系统的硬件设计,包括音频输入输出电路的设计、按键控制电路的设计、液晶显示电路的设计等,设计中以STC90C52单片机主控制为核心,采用了美国ISD公司制造的ISD4004语音芯片实现录放系统的功能。其中按键控制电路对整个系统进行控制,显示电路用LCD1602更直观的录音放音,音频放大电路放大器采用通用型音频功率放大器LM386来实现。系统模块包括主程序模块、语音信号的采集模块、键盘扫描模块等,进行了程序流程的设计,编写了程序代码。系统实现了语音数据的录制、播放、暂停、循环播放、重复播放、选择上一段、选择下一段以及用LCD1602等显示相关操作等功能,设计具有一定的应用价值。关键词:ISD4004STC90C52录音笔录音Abstract:Withtherapiddevelopmentofelectronictechnology,digitalvoicerecorderhasbeenmoreandmorepeoplehavefavoredpaperonthedesignofavarietyofvoicerecorderwerecomparedandanalyzed,theselectedSCMSTC90C52designedadigitalvoicerecorder.ThispaperisproposedbasedonSTC90C52SCMandISD4004pronunciationchipvoicestorageandplaybackdesignscheme.Firstlyintroducestheselectionofdesignscheme,thenthehardwaredesign,includingaudioinput/outputcircuitdesign,buttoncontrolcircuitdesign,liquidcrystaldisplaycircuitdesign,designwithSTC90C52singlechipcomputermastercontrolasthecore,usingAmericaISDcompaniesmanufactureofISD4004pronunciationchiprealizingthefunctionofrecordingsystem.Onebuttoncontrolcircuittocontrolthewholesystem,displaycircuitwithaLCDmoreintuitiverecordingplayback,audioamplifiercircuitamplifierusinguniversalmodelLM386audioamplifiertorealize.Systemmodulesincludingmainprogrammodule,speechsignalacquisitionmodule,thekeyboardscanmodule,speechsignalstoragemoduledesign,thedesignoftheprogramflowandwriteprogramcode.Systemrealizesthespeechdatarecorded,play,pause,looping,aired,choosealong,choosingthenextparagraphanduseLCD1602relevantoperatingfunctionssuchasdesignhascertain,theapplicationvalue.Keywords:ISD4004STC90C52目录第1章前言11.1研究意义11.2国内外研究现状的对比11.3主要研究内容2第2章设计方案及元器件的介绍32.1系统的总体设计方案32.2主要器件的介绍52.2.1ISD400452.2.2DS130282.2.3AT24C02102.2.4LCD1602102.2.5STC90C5211第3章硬件设计133.1系统整体工作原理133.2语音信号输入电路133.3LM386音频功放电路143.4DS1302电路153.5AT24C02电路153.6LCD1602电路163.7蜂鸣器电路163.7中断按键17第4章软件设计184.1软件总设计思路184.2录音程序设计204.3放音程序设计214.4按键部分程序设计23第5章系统测试255.1系统实物图255.2系统概况255.2系统的不足和改进26结论27致谢28参考文献29..第1章前言1.1研究意义数码录音笔对于我们现如今的人们己经是再熟悉不过的产品了,它己经应用在了很多地方,其中主体部分应该是记者了。正是基于录音笔能够录音的特点,在你无法凭借记忆记住重要谈话,或者重要会议的重要内容的时候,它便体现除了它的优势,清晰完整无误的记录下你要记录的东西,而你能够拿出更多的时间来处理其他事情。除此之外录音笔小巧易于携带,存储内容量大,基于这些优点,越来越得到人们的青睐。现在所说的录音笔指的数码录音笔,也称为数码录音棒或数码录音机,数字录音器的一种,为了便于操作和提升录音质量造型并非以单纯的笔型为主,携带方便,同时拥有多种功能。1.2国内外研究现状的对比就声音录制而言,虽然专业的数码录音笔不论在录音长度上还是品质上,都拥有绝对的优势,但随着多功能MP3,MP4,PDA甚至是智能手机的普及,录音逐渐成为了随身数码设备中的一项附属功能。尽管不少缺乏技术的国内小厂都相继退出了数码录音笔市场,但以三星为代表的世界级数码巨头并没有宣言放弃,反而借助新的技术和设计,给这个看似一潭死水的市场注入了新的活力。首先录音作为任何一款录音笔都是必不可少的基本功能,所以好的音质便成为了录音笔未来发展方向之一。随着闪存技术的长足进步,存储容量已经不再是数码录音笔的发展瓶颈,相反,过大的容量还会显得有些鸡肋。于是,精明的商家开始重新恢复音质的魅力,并令其成为数码录音笔发展的一大方向。三星则在此基础上将其在家庭影院中的王牌3D音效技术DNSe运用到数码录音笔产品当中,这种音效增强技术与单纯地扩大频率范围完全不同,也就是说,即使用较小的频率范围实现长时间录音,也能获得优化后的录制效果。DNSe是三星耗时六年开发的虚拟音效技术,并主要用于家庭影院和高端MP3产品上,它能够通过声音数字信号的处理,创造出更为逼真的临场感,听者能够明显感觉到声音从四面八方传来,并且范围更远,声音更纯净。搭载了DNSe音效的三星YV-150,不仅在录音上拥有了得天独厚的优势,还因此获得了媲美专业MP3的音乐播放能力。值得注意的是,作为数码音乐领域的翘楚,三星的新一代DNSe2.0音效技术已经开始在13等新品上登场。并且,种种迹象表明三星正在试图通过音效升级,来创造独特的市场竞争力,数码录音笔的音质全面提升或许仅是时间问题。其次,仅仅拥有好的音质是不够的。未来的录音笔应该具有更强大的功能。专业数码录音笔之所以专业,还在于它在功能上更加贴近商务人士的需求。录音笔录制出来的文件要使用于其他数码设备,那么保存为MP3格式是最方便的,电脑、手机、MP3都能轻松播放三星YV-150可以直接把录音存为MP3文件,很大程度上方便了用户使用。另外,对于经常出差的商旅人士,三星YV-150非常值得推荐,其专业级的音效增强芯片会给音乐播放带来震撼的感受,让你在工作之余也能娱乐休闲。随着视听家电产品的不断丰富,已经有越来越多微小型产品走入人们的日常生活,他们最突出的优点是体积小,而且重量轻,给人们带来了方便。作为一种简单的获取和记录数字化文件的工具,录音笔风靡市场,成为学生记者、商务人士购置录音设备的首选。不仅在校园里取代了复读机,也成为时间紧张在职人员的掌上新宠。1.3主要研究内容语言在人类发展史中起到了至关重要的作用,它的作用并不亚于直立行走和工具的使用,怎样能把人类的语言丝毫不差地记录下来也是人们一直思考的问题。随着人类社会的不断进步,随着数字化信号处理技术的不断提高,语音处理大规模集成电路的进步,语音合成,语音识别,语音存储和回放技术的应用越来越广泛,其自动化程度越来越高,使用范围越来越广,前景十分喜人。并且,录放系统还具有电路简明、应用方便、单片录放、不怕掉电、音色纯正、性价比高等特性。所以本次设计就利用单片机和语音芯片来实现一个录音笔系统。对于录音笔的最基本的要求便是可以录音、播放,重复录音以及播放要求。STC90C52该款单片机资源丰富,再加上与isd4004语音芯片的结合来实现语音的存储与回放,通过单片机的控制可以实现语音的多录多放的功能。第2章设计方案及元器件的介绍2.1系统的总体设计方案多功能录音笔的主要功能是实现语音存储与定时播放。要实现语音存储与定时播放的方法很多,可供选择的器件也很多。由于单片机等微控制器的出现和数字电路技术的发展,使得现在的语音存储与自动播放变得易于实现。本设计采用单片机作为微控制器。选用字长为8位的STC90C52单片机作为控制器。目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD40O4语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源、时钟、语音信号模拟输入/输出端、与MCU接口<SPI接口>几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。ISD4004系列单片录放时间为8~16min,采样频率可为4.0/5.3/6.4/8.0kHz,频率越低,录放时间越长,而音质则有所下降。芯片设计基于所有操作必须由微控制器控制,操作命令可通过串行通信接口<SPI或Mi—crowire>送入。由于ISD4004的众多优点,本设计就采用它作为录放音器件。系统外接时钟芯片DS1302、中断键盘LCD1602显示和E2PROMAT24CO2。录音时为了改善语音质量,要提高输入端的信噪比,因此在系统的输入端采用三极管<9011>放大电路单端输入,系统的输出端经音频功率放大器LM386放大输出后驱动扬声器。如果录音笔只作为录音放音显得功能单一,为此加入了时间功能。如采用单片机内部定时器来作为时间的话,时间不够准确,却比较浪费单片机资源。为此选择了DS1302做为时钟芯片。该芯片是美国DALLAS公司推出的一卷低功耗、高性价的实时时钟芯片,价格低廉、电路接口简单、使用方便,含有主电源/后备电源双电源引脚,并提供了对后备电源进行涓细电流充电的能力。采用SPI三线接口与CPU进行同步通信,可提供秒、分、时、日、星期、月和年、一个月小31天时自动调整,且具有闰年补偿功能。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。闹钟在一定程度上能解决这些问题。既然能录音了,该设计就在此基础上增加了自录语音信息,提示该做的事,人难免有些时候闹钟响了却忘记自己该做什么事了。语音芯片是该设计中的核心,对于设计十分重要。目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD4004语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源、时钟、语音信号模拟输入/输出端、与MCU接口<SPI接口>几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。该设计中为了使用户使用更加方便,每段录音的长短以及录音时间都会显示给用户。但是难免不会有电池掉电的可能性,尤其是掉电之后,语音闹钟时间也会丢失。为此在该设计中加入了EEPROM,在掉电之后,存储的这些闹钟数据、录音时间等数据也不会丢失。在考虑存储数据量的大小以及性价比之后,选择了AT24C02这款芯片。该芯片有2k位存储空间,足以应付该设计中的数据量。芯片接口方便,体积小,在仪器仪表及工业自动化控制中得到大量的应用。AT24C02是个不错的选择。该系统是通过控制核心单片机来控制各个模块的工作。系统的总体设计框图如:图2-1:驻极体话筒驻极体话筒三极管放大电路ISD4004DS1302扬声器中断键盘AT24C02LCD1602STC90C52LM386组成的功放电路图2-1系统总体设计框图2.2主要器件的介绍2.2.1ISD4004ISD4004语音芯片与普通的录音/重放芯片相比,ISD4004具有如下优点:首先是记录声音没有段长度限制,并且声音记录不需要A/D转换和压缩。其次,快速闪存作为存储介质,无需电源可保存数据长达100年,重复记录100000次以上。此外ISD4004具有记录时间长<可达16分钟,本论文采用的为8分钟的ISD4004语音芯片>的优点。最后ISD4004开发应用具有所需外围电路简单的优点。基于ISD4004以上的优点,这也是我这次论文选择该语音芯片的原因。ISD4004芯片有如下特点:1.单片8至16分钟语音录放2.内置微控制器串行通信接口3.3V单电源工作4.多段信息处理5.工作电流25-30mA,维持电流1μA6.不耗电信息保存100年<典型值>7.高质量、自然的语音还原技术8.10万次录音周期<典型值>9.自动静噪功能10.片内免调整时钟,可选用外部时钟电源<VCCA,VCCD>:为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。地线<VSSA,VSSD>:芯片内部的模拟和数字电路也使用不同的地线。同相模拟输入<ANAIN+>:这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000系列相同。反相模拟输入<ANAIN->:差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV音频输出<AUDOUT>:提供音频输出,可驱动5KΩ的负载。片选<SS>:此端为低,即向该ISD4004芯片发送指令,两条指令之间为高电平。串行输入<MOSI>:此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。串行输出<MISO>:ISD的串行输出端。ISD未选中时,本端呈高阻态。串行时钟<SCLK>:ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。中断</INT>:本端为漏极开路输出。ISD在任何操作<包括快进>中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。OVF标志指示ISD的录、放操作已到达存储器的未尾。EOM标志只在放音中检测到内部的EOM标志时,此状态位才置1。行地址时钟<RAC>:漏极开路输出。每个RAC周期表示ISD存储器的操作进行了一行<ISD4004系列中的存贮器共2400行>。该信号175ms保持高电平,低电平为25ms。快进模式下,RAC的218.75μs是高平,31.25μs为低电平。该端可用于存储管理技术。外部时钟<XCLK>:本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在+1%内。商业级芯片在整个温度和电压范围内,频率变化在+2.25%内。此时钟已经比较精准,所以一般不采用外接时钟。在不外接地时钟时,此端必须接地。自动静噪<AMCAP>:当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号<静音>时的噪声。通常本端对地接1mF的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA则禁止自动静噪。ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟止升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。协议的具体内容为:SS在传输期间必须保持为低电平,在两条指令之间则保持为高电平。数据在时钟上升沿移入,在下降沿移出。4.SS变低,输入指令和地址后,ISD才能开始录放操作。指令格式是<8位控制码>加<16位地址码>。ISD的任何操作<含快进>如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。使用"读"指令使中断状态位移出ISD的MISO引脚时,控制及地址数据也应同步从MOSI端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作所有操作在运行位<RUN>置1时开始,置0时结束。所有指令都在SS端上升沿开始执行。该芯片的上电顺序:器件延时TPUD后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。例如从00从处发音,应遵循如下时序:发POWERUP命令;等待TPUD<上电延时>;发地址值为00的SETPLAY命令;发PLAY命令器件会从此00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处录音,则按以下时序:发POWERUP命令;等待TPUD<上电延时>;发POWERUP命令等待2倍TPUD;发地址值为00的SETREC命令;发REC命令,器件便从00地址开始录音,一直到出现OVF<存贮器末尾>时,录音停止。表2.1ISD4004指令表指令8位控制码<16位地址>操作摘要POWERUP001001XX<XXXXXXXXXXXXXXXX>上电:等待TPUD后器件可以工作SETPLAY11100XXX<A15-A00>从指定地址开始放音。必须后跟PLAY指令使放音继续PLAY11110XXX<XXXXXXXXXXXXXXX>从当前地址开始放音〔直至EOM或OVFSETREC11101XXX<A15-A00>从指定地址开始录音。必须后跟REC指令录音继续REC10110XXX<XXXXXXXXXXXXXXX>从当前地址开始录音<直至OVF或停止>SETMC11101XXX<A15-A00>从指定地址开始快进。必须后跟MC指令快进继续MC11111XXX<XXXXXXXXXXXXXXX>执行快进,知道EOM。若再无信息,则进入OVF状态STOP0X110XXX<XXXXXXXXXXXXXXXX>停止当前操作STOPWRDN0X01XXXX<XXXXXXXXXXXXXXXX>停止当前操作并掉电RINT0X110XXX<XXXXXXXXXXXXXXXX>读状态:EOM或OVF2.2.2DS1302DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路。提供秒、分、时、日、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:RES复位,I/O数据线,SCLK串行时钟。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302是由DS1202改进而来,增加了一些特性。双电源管脚用于主电源和备份电源供应,为可编程涓流充电电源附加七个字节存储器。下面将主要的性能指标作一综合:1、实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力;2、318位暂存数据存储RAM;3、串行I/O口方式使得管脚数量最少;4、宽范围工作电压2.0—5.5V;5、工作电流2.0V时,小于300nA;6、读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式;7、8脚DIP封装或可选的8脚SOIC封装根据表面装配;8、简单3线接口;9、与TTL兼容Vcc=5V;10、可选工业级温度范围-40+85;11、对Vcc1有可选的涓流充电能力;12、双电源管用于主电源和备份电源供应;13、备份电源管脚可由电池或大容量电容输入;14、附加的7字节暂存存储器;DS1302的引脚排列如下图〔图2-2所示.图2-2DS1302芯片引脚2.2.3AT24C0224C02与单片机的接口非常简单,如下图<图2-3>所示。A0,A1,A2为器件地址线,WP为写保护引脚,SCL,SDA为二线串行接口,符合I2C总线协议。图2-3AT24C02引脚图该芯片有如下特点:2.低电压技术:1mA典型工作电流1uA典型待机电流3.储存器组织结构4.2线串行接口,完全兼容I2C总线5.施密特触发输入噪声抑制6.硬件数据写保护7.内部与周期〔最大5ms8.自动递增地址9.可按照字节写10.esd保护大于2.5kV11.高可靠性:--擦写寿命:100万次数据保持时间:100年12.无铅工艺,符合RoHS标准2.2.4LCD16021602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用,正因为如此,所以他不能显示图形〔用自定义CGRAM,显示效果也不好。目前常用16*1,16*2,20*2和40*2行等的模块。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块。一般1602字符型液晶显示器实物如图2-5如下。图2-5LCD1602实物图LCD1602具有如下特性:1、+5V电压,对比度可调2、内含复位电路3、提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能4、有80字节显示数据存储器DDRAM5、内建有160个5X7点阵的字型的字符发生器CGROM6、8个可由用户自定义的5X7的字符发生器CGRAM2.2.5STC90C52STC90C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC90C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其引脚图如图2-6所示。图2-6STC90C52引脚图其内部结构主要组成为:1、8位CPU,8kbytes程序存储器<ROM>;2、256bytes的数据存储器<RAM>;3、32条I/O口线,111条指令,大部分为单字节指令;4、21个专用寄存器;5、3个可编程定时/计数器,6个中断源,2个优先级;6、I/O口:4个8位并行I/O口,既可用作输入,也可用作输出;7、T/C:3个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;8、一个全双工UART〔通用异步接收发送器的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;9、片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。第3章硬件设计3.1系统整体工作原理系统主要有七个部分,语音模块部分、蜂鸣器部分、控制处理部分、数据存储部分部分、中断按键部分、显示部分和实时时钟部分,如:图3-1:STC90C52STC90C52MCULCD1602中断按键DS1302AT24C02ISD4004声音采集三极管放大电路LM386功放图3-1系统工作原理图3.2语音信号输入电路该部分的主要元件是驻极体话筒,在电路的选择上主要有两种方案,如图。方案一:如下图3-2所示。图3-2mic电路接法一方案二:如下图3-3所示。图3-3mic电路接法二3、方案比较:语音信号经过驻极体话筒转化为的电信号很微弱,在送入语音芯片之前如果经过放大可以提高信号的信噪比,以达到更好的抑制噪声的目的。方法二中使用三极管对驻极体话筒产生的信号进行放大能达到此效果,所以该设计中采用方法二中电路。3.3LM386音频功放电路本设计中从语音芯片输出的语音信号很微弱,不能直接驱动扬声器,所以要在语音芯片和扬声器之间加上一个功率放大电路。图3-4LM386功放电路功率放大电路使用美国国家半导体公司生产的音频功率放大器LM386并配合少许电容电阻构成〔如图3-4所示。该功放电路的放大效果良好,噪音小,可以满足该设计的要求。其集成功放电压可达到26dB,机电压放大倍数为20,可调电阻R4可调节扬声器的音量。3.4DS1302电路DS1302电路简单,与CPU的连接需要三条线,即SCLK<7>、I/O<6>、RST<5>,再加上一个32.758Khz的晶振即可。DS1302可以接两个电源,其中Vcc1为后备电源,VCC2为主电源。后备电源一般选用纽扣电池或大电容,这样在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。其电路如下图3-5所示。图3-5DS1302电路3.5AT24C02电路24C02与单片机的接口简单,A0、A1、A2为地址线,WP为写保护引脚,SCL,SDA为二线串行接口,符合I2C总线协议。在该设计中仅需一个24C02芯片,地址线不需要。但是为了防止静电干扰,将这三个引脚接地。如图3-6所示。图3-6AT24C02电路3.6LCD1602电路1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高〔对比度过高时会产生"鬼影",可以通过10K电位器调整对比度。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平<1>时进行读操作,低电平<0>时进行写操作。第6脚:E<或EN>端为使能<enable>端,高电平〔1时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 该设计具体接法如下图3-7所示:图3-7LCD1602电路3.7蜂鸣器电路本设计选择一只蜂鸣器来实现当预先规定的提醒时间到时有声音提醒信号产生。压电式蜂鸣器工作时约需要10mA的驱动电流,并设计一个相应的驱动及控制电路。

蜂鸣器作为三极管的集电极负载,VT1用来控制蜂鸣器的发声与否。当三极管导通时,蜂鸣器发出蜂鸣的声音,VT1断开时,蜂鸣器不发声。R9是限流电阻。

下面我们来介绍下蜂鸣器电路与单片机的接口问题。

VT1的基极与单片机P2口的P2.3引脚〔FM相连接,此时的P2.3引脚就是作为输出口使用的。当FM=0时,三极管导通时,使蜂鸣器的两个引脚间产生近5V的直流电压,蜂鸣器中有电流通过,而产生蜂鸣音。当FM=1时,三极管断开,蜂鸣器的两引脚间的直流电压为于0V,蜂鸣器就不会发出提示声音。蜂鸣电路如图3-8所示。图3-8蜂鸣器电路3.7中断按键键盘是单片机系统中最常用的人际联系的一种输入设备。用户通过键盘可以向CPU输入数据、地址和命令。按其结构形式可分为编码式键盘和非编码式键盘两大类。编码式键盘是由内部硬件逻辑电路自动产生被按键的编码。这类键盘使用方便但价格较贵。非编码式键盘主要由软件产生被按键的编码。它结构简单、价格便宜,但使用起来不如编码式键盘方便,键盘管理程序的编制也较复杂。设计中考虑到系统需要按键不多及价格因素,选择的是非编码式键盘,两个直接接普通IO口,另外四个按键和与门搭建,共接一外部中断。如图3-9所示。图3-9按键电路第4章软件设计4.1软件总设计思路本设计的程序代码在Keil环境下编写,Keil可以使用汇编语言和C语言,但C语言使用灵活,调试方便,所以该设计选择C语言。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境〔uVision将这些部分组合在一起。使用C语言编程,Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。该设计中用到的是KeilμVision4版本。KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。该设计以MCS-51系列单片机为核心器件组成一个多功能录音笔系统。系统具有标准的日历和时钟,既年、月、日、星期、时、分和秒,遇到闰年自动修正的功能。系统显示器为LCD1602。显示时间值和日期,常态下显示时间,能够随时对当前时间进行调整,在常态下长按录音键进行录音操作,松开停止录音。按一下切换键进入闹钟画面,在闹钟画面按录音键录制语音信息,能够随时输入闹钟时间。到了定时时间,发出蜂鸣器提示信号,按一下放音键,播放之前录制的提示语音信息。再按一下进入放音画面,放音画面下按增加减少键调换已录的语音信息,按放音键播放该段语音。本设计中的序设计包括以下几个部分,即键盘处理程序、ISD4004放音驱动程序、ISD4004录音驱动程序、时间校正程序、录音子程序、放音子程序、播放时间设置子程序、播放选择程序、子程序设计。图4-1为主程序流程图。图4-1程序主流程图录音程序设计录音子程序的关键就是找出录音语音数据的首地址。存程序执行中通过段数变量,在地址数组中查找到对应该序号的首地址数据,向ISD芯片发出SETREC<地址>和REC指令,就可以开始录音。在录音过程中,开启单片机的定时器,对ISD4004芯片的录音时间进行记录并写入AT24C02中,将本段音频信号的时长在LCD1602上进行显示。图4-2为录音子程序流程图。图4-2录音子程序流程图其具体程序为:rec_count=read_add<0x28>; sound_time[rec_count]=0; isd_powerup<>;//AN键按下,ISD上电并延迟50ms isd_stopwrdn<>; isd_powerup<>; LED1=1;//录音指示灯亮,表示进入录音模式 LCD_Write_String<0,0,"RECORDING:">; LCD_Write_String<0,1,"REC_time:">; isd_setrec<adds[rec_count]&0x00ff,adds[rec_count]>>8>;//从指定地址 LCD_Write_Char<12,0,<rec_count>/10+0x30>; LCD_Write_Char<13,0,<rec_count>%10+0x30>; if<INT==1>//判定芯片有没有溢出 { isd_rec<>;//发送录音指令 } t0_init<>; while<set_key==0>;//等待本次录音结束 TR0=0; rec_isdto24c02<>;//记录录音时的时间 t0_count=0; isd_stop<>;//发送4004停止命令放音程序设计要实现对存储在ISD语音芯片中指定的音频数据播放,在放音程序执时,同样要凌取存放在EEPROM中该序号语音数据的首地址信息。为了能实现连续播放和循环播放的功能,在程序执行中对ISD4004输出的信号进行检测并进行处理。图4-3为放音子程序流程图。图4-3放音子程序流程图具体程序为:isd_powerup<>;//AN键按下,ISD上电并延迟50ms isd_stopwrdn<>; isd_powerup<>; switch<pic_flag> { case2: isd_setplay<adds[play_count]&0x00ff,adds[play_count]>>8>;break;//发送setplay指令,从指定地址开始放音 case1: isd_setplay<adds[clock]&0x00ff,adds[clock]>>8>;break;//发送setplay指令,从指定地址开始放音 case0: FM=1; clock_stata[clock_onoff]=0; switch<clock_onoff> { case0:write_add<2,clock_stata[0]>;break;//将每个闹钟的开关状态写入24C02,掉电后仍能记住 case1:write_add<3,clock_stata[1]>;break; case2:write_add<4,clock_stata[2]>;break; } isd_setplay<adds[clock]&0x00ff,adds[clock_onoff]>>8>;break;//发送setplay指令,从指定地址开始放音 } isd_play<>;//发送放音指令 DelayUs<20>; while<INT==1>;//等待放音完毕的EOM中断信号 isd_stop<>;//放音完毕,发送stop指令 while<AN==0>;// isd_stop<>;按键部分程序设计按键有两个直接,有四个由与门搭建连接了一个外部中断IO口。利用了外部中断将使按键更加精准。中断键盘一按下,INT0口由高电平到低电平〔外部中断0设为下降沿触发,此时进入外部中断0中断程序中,将按键状态由0变为1,主程序中检测检测到按键状态变为1后,执行相关程序代码,然后状态又由0变为1。具体中断程序为:voidISR_Key<void>interrupt0using1{k1=1;k2=1;k3=1;k4=1;if<k1==0>{ pic_flag++; if<pic_flag==3>pic_flag=0;}if<k2==0>{ if<pic_flag==0> { time_cut++; if<time_cut==8>time_cut=0; } if<pic_flag==1> { clock_cut++; if<clock_cut==8>clock_cut=0; }}if<k3==0>{ k3_stata=1; if<time_cut==0&&pic_flag==0>k3_stata=0; if<clock_cut==0&&pic_flag==1>k3_stata=0;}if<k4==0>{ k4_stata=1; if<time_cut==0&&pic_flag==0>k4_stata=0; if<clock_cut==0&&pic_flag==1>k4_stata=0;}} 直接的按键在按下后接地,主程序检测其相应IO口状态,IO口为低电平时就表示有按键按下。但由于按键为机械开关结构,因此机械触点的弹性及电压突跳等原因,往往在触点闭合或断开的瞬间会出现电压抖动,为保证键识别的准确,在电压抖动的情况下不能进行状态的输入,为此需进行去抖动处理。硬件消抖需要加入硬件,会提高设计成本,同时使电路复杂,在干扰性方面使电路更加麻烦,所以一般采用软件消抖。软件消抖就是用时间延迟避开消抖,待稳定后再次扫描,一般延迟消抖时间为10-20ms。其程序代码为:If<K1==0>{Delay10ms<>;If<K1==0>{……}}第5章系统测试5.1系统实物图本设计系统的实物图如图5-1所示。图5-1系统实物图5.2系统概况系统上电后之后LCD1602进入时间界面,LCD1602会出现年、月、日、时、分、秒等信息。当按下录音键后,系统开始录音。录音时,LCD1602进入录音界面,界面会显示录音的段数,以及录音计时;当按键松开后,该语音段的录音结束,LCD1602重新显示时间信息。当按下切换时,界面进入闹钟调试界面,这时LCD1602会显示闹钟数、闹钟时间、及闹钟开关状态,并会显示该闹钟录音的时间长短。按下录音键即可为当前闹钟录制提示的语音信息,放开录完。按下放音键可以播放该段语音提示信息。再次按切换键进入语音播放界面,该界面会显示当前语音段数、当前段数语音的时间长短及录音时间。通过增加键、减少键可以调换当前应该播放段数,再按一下放音键即可播放该段语音。再次按切换键回到时间界面即可播放该段语音。

整个系统的设计合理,外围电路结构简单,方便调试;单片机余留有I/O口,方便系统的升级和扩展;单片机的所有程序均使用C-51进行编写,方便调试和阅读。整个系统工作稳定,操作方便。本设计的设计原理完全可以用在公共汽车上,作为语音报站器使用,也可以用在银行和医院等一些需要自动播报语音信息的公共场所。在本设计的基础上稍加扩充,就可以满足实际应用的需要。5.2系统的不足和改进本系统在播放录音时会有少量的噪音,可能由以下原因造成:

<1>整个系统完全是手工焊制,线路之间存在干扰;

<2>ISD4004的数字地与模拟地没有分别走线,全部接到了一起,存在干扰;

<3>语音输入放大电路的放大倍数不够,噪声没有得到足够的抑制。

另外由于语音芯片的限制,该录音芯片时间过短,可选取存储空间大一些的芯片来取代。该语音芯片也不是数字信息存储,不能和PC端交互,在改良时,可以选取数字存储类的芯片。整个系统的设计合理,外围电路结构简单,方便调试;单片机余留有I/0口,方便系统的升级和扩展;单片机的所有程序均使用c一51进行编写,方便调试和阅读。整个系统工作稳定,操作方便。本设计的设计原理完全可以用在公共汽车上,作为语音报站器使用,也可以用在银行和医院等一些需要自动播报语音信息的公共场所。在本设计的基础上稍加扩充,就可以满足实际应用的需要。

温馨提示

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

评论

0/150

提交评论