已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的录音笔设计作者姓名:谢斌 专业班级:信息工程2009050101 指导教师:周冬梅摘 要随着电子技术的飞速发展,数码录音笔已得到了越来越多的人的青睐,论文通过对多种录音笔的设计方案进行了比较和分析,选定STC90C52单片机设计了一个数码录音笔。 本文提出并设计实现了基于STC90C52 单片机和ISD4004语音芯片的多功能录音笔方案。首先介绍了设计方案的选择,接着进行了系统的硬件设计,包括音频输入输出电路的设计、按键控制电路的设计、液晶显示电路的设计等,设计中以STC90C52单片机主控制为核心,采用了美国ISD公司制造的ISD4004语音芯片实现录放系统的功能。其中按键控制电路对整个系统进行控制,显示电路用LCD1602更直观的录音放音,音频放大电路放大器采用通用型音频功率放大器LM386来实现。系统模块包括主程序模块、语音信号的采集模块、键盘扫描模块等,进行了程序流程的设计,编写了程序代码。系统实现了语音数据的录制、播放、暂停、循环播放、重复播放、选择上一段、选择下一段以及用LCD1602等显示相关操作等功能,设计具有一定的应用价值。关键词:ISD4004 STC90C52 录音笔 录音Recording pen based on MCUAbstract:With the rapid development of electronic technology, digital voice recorder has been more and more people have favored paper on the design of a variety of voice recorder were compared and analyzed, the selected SCM STC90C52 designed a digital voice recorder. This paper is proposed based on STC90C52 SCM and ISD4004 pronunciation chip voice storage and playback design scheme. Firstly introduces the selection of design scheme, then the hardware design, including audio input/output circuit design, button control circuit design, liquid crystal display circuit design, design with STC90C52 single chip computer master control as the core, using America ISD companies manufacture of ISD4004 pronunciation chip realizing the function of recording system. One button control circuit to control the whole system, display circuit with a LCD more intuitive recording playback, audio amplifier circuit amplifier using universal model LM386 audio amplifier to realize. System modules including main program module, speech signal acquisition module, the keyboard scan module, speech signal storage module design, the design of the program flow and write program code. System realizes the speech data recorded, play,pause, looping, aired, choose a long, choosing the next paragraph and use LCD1602relevant operatingfunctions such as design has certain, the application value.Key words:ISD4004 STC90C52 Recording pen Recording目录第1章 前 言11. 1 研究意义11.2 国内外研究现状的对比11.3 主要研究内容2第2章 设计方案及元器件的介绍32.1 系统的总体设计方案32.2 主要器件的介绍52.2.1 ISD400452.2.2 DS130282.2.3 AT24C02102.2.4 LCD1602102.2.5 STC90C5211第3章 硬件设计133.1 系统整体工作原理133.2 语音信号输入电路133.3 LM386音频功放电路143.4 DS1302电路153.5 AT24C02电路153.6 LCD1602电路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参考文献29IV成都理工大学2013届本科毕业设计(论文)第1章 前 言1. 1 研究意义数码录音笔对于我们现如今的人们己经是再熟悉不过的产品了,它己经应用在了很多地方,其中主体部分应该是记者了。正是基于录音笔能够录音的特点,在你无法凭借记忆记住重要谈话,或者重要会议的重要内容的时候,它便体现除了它的优势,清晰完整无误的记录下你要记录的东西,而你能够拿出更多的时间来处理其他事情。除此之外录音笔小巧易于携带,存储内容量大,基于这些优点,越来越得到人们的青睐。 现在所说的录音笔指的数码录音笔,也称为数码录音棒或数码录音机,数字录音器的一种,为了便于操作和提升录音质量造型并非以单纯的笔型为主,携带方便,同时拥有多种功能。1.2 国内外研究现状的对比就声音录制而言,虽然专业的数码录音笔不论在录音长度上还是品质上,都拥有绝对的优势,但随着多功能MP3, MP4, PDA甚至是智能手机的普及,录音逐渐成为了随身数码设备中的一项附属功能。尽管不少缺乏技术的国内小厂都相继退出了数码录音笔市场,但以三星为代表的世界级数码巨头并没有宣言放弃,反而借助新的技术和设计,给这个看似一潭死水的市场注入了新的活力。首先录音作为任何一款录音笔都是必不可少的基本功能,所以好的音质便成为了录音笔未来发展方向之一。随着闪存技术的长足进步,存储容量已经不再是数码录音笔的发展瓶颈,相反,过大的容量还会显得有些鸡肋。于是,精明的商家开始重新恢复音质的魅力,并令其成为数码录音笔发展的一大方向。三星则在此基础上将其在家庭影院中的王牌3D音效技术DNSe运用到数码录音笔产品当中,这种音效增强技术与单纯地扩大频率范围完全不同,也就是说,即使用较小的频率范围实现长时间录音,也能获得优化后的录制效果。DNSe是三星耗时六年开发的虚拟音效技术,并主要用于家庭影院和高端MP3产品上,它能够通过声音数字信号的处理,创造出更为逼真的临场感,听者能够明显感觉到声音从四面八方传来,并且范围更远,声音更纯净。搭载了DNSe音效的三星YV-150,不仅在录音上拥有了得天独厚的优势,还因此获得了媲美专业MP3的音乐播放能力。值得注意的是,作为数码音乐领域的翘楚,三星的新一代DNSe 2.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系列单片录放时间为816 min,采样频率可为40536480 kHz,频率越低,录放时间越长,而音质则有所下降。芯片设计基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。由于ISD4004的众多优点,本设计就采用它作为录放音器件。系统外接时钟芯片DS1302、中断键盘LCD1602显示和E2PROM AT24CO2。录音时为了改善语音质量,要提高输入端的信噪比,因此在系统的输入端采用三极管(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.1 ISD4004 ISD4004语音芯片与普通的录音/重放芯片相比, ISD4004具有如下优点: 首先是记录声音没有段长度限制, 并且声音记录不需要A/D 转换和压缩。其次, 快速闪存作为存储介质, 无需电源可保存数据长达100年,重复记录100000次以上。此外ISD4004具有记录时间长(可达16 分钟, 本论文采用的为8 分钟的ISD4004语音芯片)的优点。最后ISD4004开发应用具有所需外围电路简单的优点。基于ISD4004以上的优点,这也是我这次论文选择该语音芯片的原因。ISD4004芯片有如下特点:1.单片8 至16 分钟语音录放 2.内置微控制器串行通信接口 3.3V单电源工作 4.多段信息处理 5.工作电流25-30mA,维持电流1A 6.不耗电信息保存100 年(典型值) 7.高质量、自然的语音还原技术 8.10 万次录音周期(典型值) 9.自动静噪功能 10.片内免调整时钟,可选用外部时钟电源(VCCA,VCCD): 为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。 地线(VSSA,VSSD): 芯片内部的模拟和数字电路也使用不同的地线。 同相模拟输入(ANA IN+): 这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000 系列相同。 反相模拟输入(ANA IN-) :差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV 音频输出(AUD OUT) :提供音频输出,可驱动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.75s 是高平,31.25s 为低电平。该端可用于存储管理技术。 外部时钟(XCLK): 本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。此时钟已经比较精准,所以一般不采用外接时钟。在不外接地时钟时,此端必须接地。 自动静噪(AMCAP): 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA 则禁止自动静噪。ISD4004 工作于SPI 串行接口。SPI 协议是一个同步串行数据传输协议,协议假定微控制器的SPI 移位寄存器在SCLK 的下降沿动作,因此对ISD4004 而言,在时钟止升沿锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚。协议的具体内容为:1. SS 在传输期间必须保持为低电平,在两条指令之间则保持为高电平。 2. 数据在时钟上升沿移入,在下降沿移出。 3. 4.SS 变低,输入指令和地址后,ISD 才能开始录放操作。 4. 指令格式是(8 位控制码)加(16 位地址码)。 5. ISD 的任何操作(含快进)如果遇到EOM 或OVF,则产生一个中断,该中断状态在下一个SPI 周期开始时被清除。 6. 使用读指令使中断状态位移出ISD 的MISO 引脚时,控制及地址数据也应同步从MOSI 端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI 周期里,同时执行读状态和开始新的操作 7. 所有操作在运行位(RUN)置1 时开始,置0 时结束。 8. 所有指令都在SS 端上升沿开始执行。 该芯片的上电顺序:器件延时TPUD后才能开始操作。因此,用户发完上电指令后,必须等待 TPUD,才能发出一条操作指令。 例如从00 从处发音,应遵循如下时序: 1. 发POWERUP 命令; 2. 等待TPUD(上电延时); 3. 发地址值为00 的SETPLAY 命令; 4. 发PLAY 命令器件会从此00 地址开始放音,当出现EOM 时,立即中断,停止放音。 如果从00处录音,则按以下时序: 1. 发POWERUP命令; 2. 等待TPUD(上电延时); 3. 发POWERUP命令 4. 等待2倍TPUD; 5. 发地址值为00的SETREC命令; 6. 发REC命令,器件便从00地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。表2.1 ISD4004指令表指令8位控制码操作摘要POWER UP001001XX上电:等待TPUD后器件可以工作SET PLAY11100XXX从指定地址开始放音。必须后跟PLAY指令使放音继续PLAY11110XXX从当前地址开始放音(直至EOM或OVF)SET REC11101XXX从指定地址开始录音。必须后跟REC指令录音继续REC10110XXX从当前地址开始录音(直至OVF或停止)SET MC11101XXX从指定地址开始快进。必须后跟MC指令快进继续MC11111XXX执行快进,知道EOM。若再无信息,则进入OVF状态STOP0X110XXX停止当前操作STOP WRDN0X01XXXX停止当前操作并掉电RINT0X110XXX读状态:EOM或OVF2.2.2 DS1302DS1302 是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.05.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-2 DS1302芯片引脚2.2.3 AT24C02 24C02与单片机的接口非常简单,如下图(图2-3)所示。A0,A1,A2为器件地址线,WP为写保护引脚,SCL,SDA为二线串行接口,符合I2C总线协议。图2-3 AT24C02引脚图该芯片有如下特点:1.宽范围的工作电压1.8v-5.5v2.低电压技术:1mA典型工作电流1uA典型待机电流3.储存器组织结构4.2线串行接口,完全兼容I2C总线5.施密特触发输入噪声抑制6.硬件数据写保护7.内部与周期(最大5ms)8.自动递增地址9.可按照字节写10.esd保护大于2.5kV11.高可靠性:-擦写寿命:100万次 数据保持时间:100年12.无铅工艺,符合RoHS标准2.2.4 LCD16021602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔 每行之间也有也有间隔 起到了字符间距和行间距的作用,正因为如此,所以他不能显示图形(用自定义CGRAM,显示效果也不好)。目前常用16*1,16*2,20*2和40*2行等的模块。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块。一般1602字符型液晶显示器实物如图2-5如下。图2-5 LCD1602实物图LCD1602具有如下特性:1、+5V电压,对比度可调2、内含复位电路3、提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能4、有80字节显示数据存储器DDRAM5、内建有160个5X7点阵的字型的字符发生器CGROM6、8个可由用户自定义的5X7的字符发生器CGRAM2.2.5 STC90C52STC90C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC90C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其引脚图如图2-6所示。图2-6 STC90C52引脚图 其内部结构主要组成为: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:STC90C52 MCULCD1602中断按键DS1302AT24C02ISD4004声音采集三极管放大电路LM386功放图3-1 系统工作原理图3.2 语音信号输入电路该部分的主要元件是驻极体话筒,在电路的选择上主要有两种方案,如图。1、 方案一:如下图3-2所示。图3-2 mic电路接法一2、 方案二:如下图3-3所示。图3-3 mic电路接法二3、方案比较: 语音信号经过驻极体话筒转化为的电信号很微弱,在送入语音芯片之前如果经过放大可以提高信号的信噪比,以达到更好的抑制噪声的目的。方法二中使用三极管对驻极体话筒产生的信号进行放大能达到此效果,所以该设计中采用方法二中电路。3.3 LM386音频功放电路本设计中从语音芯片输出的语音信号很微弱,不能直接驱动扬声器,所以要在语音芯片和扬声器之间加上一个功率放大电路。图3-4 LM386功放电路功率放大电路使用美国国家半导体公司生产的音频功率放大器LM386并配合少许电容电阻构成(如图3-4所示)。该功放电路的放大效果良好,噪音小,可以满足该设计的要求。其集成功放电压可达到26dB,机电压放大倍数为20,可调电阻R4可调节扬声器的音量。3.4 DS1302电路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-5 DS1302电路3.5 AT24C02电路 24C02与单片机的接口简单,A0、A1、A2为地址线,WP为写保护引脚,SCL,SDA为二线串行接口,符合I2C总线协议。在该设计中仅需一个24C02芯片,地址线不需要。但是为了防止静电干扰,将这三个引脚接地。如图3-6所示。图3-6 AT24C02电路3.6 LCD1602电路 1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,可以通过10K电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。该设计具体接法如下图3-7所示:图3-7 LCD1602电路3.7 蜂鸣器电路 本设计选择一只蜂鸣器来实现当预先规定的提醒时间到时有声音提醒信号产生。压电式蜂鸣器工作时约需要10mA的驱动电流,并设计一个相应的驱动及控制电路。蜂鸣器作为三极管的集电极负载,VT1用来控制蜂鸣器的发声与否。当三极管导通时,蜂鸣器发出蜂鸣的声音,VT1断开时,蜂鸣器不发声。R9是限流电阻。下面我们来介绍下蜂鸣器电路与单片机的接口问题。VT1的基极与单片机P2口的P2.3引脚(FM)相连接,此时的P2.3引脚就是作为输出口使用的。当FM0时,三极管导通时,使蜂鸣器的两个引脚间产生近5V的直流电压,蜂鸣器中有电流通过,而产生蜂鸣音。当FM1时,三极管断开,蜂鸣器的两引脚间的直流电压为于0V,蜂鸣器就不会发出提示声音。蜂鸣电路如图38所示。图 3-8 蜂鸣器电路3.7 中断按键 键盘是单片机系统中最常用的人际联系的一种输入设备。用户通过键盘可以向CPU输入数据、地址和命令。按其结构形式可分为编码式键盘和非编码式键盘两大类。编码式键盘是由内部硬件逻辑电路自动产生被按键的编码。这类键盘使用方便但价格较贵。非编码式键盘主要由软件产生被按键的编码。它结构简单、价格便宜,但使用起来不如编码式键盘方便,键盘管理程序的编制也较复杂。设计中考虑到系统需要按键不多及价格因素,选择的是非编码式键盘,两个直接接普通IO口,另外四个按键和与门搭建,共接一外部中断。如图3-9所示。图3-9 按键电路第4章 软件设计4.1软件总设计思路本设计的程序代码在Keil环境下编写,Keil可以使用汇编语言和C语言,但C语言使用灵活,调试方便,所以该设计选择C语言。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。使用C语言编程,Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。该设计中用到的是Keil Vision4版本。Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。该设计以MCS-51系列单片机为核心器件组成一个多功能录音笔系统。系统具有标准的日历和时钟,既年、月、日、星期、时、分和秒,遇到闰年自动修正的功能。系统显示器为LCD1602。显示时间值和日期,常态下显示时间,能够随时对当前时间进行调整,在常态下长按录音键进行录音操作,松开停止录音。按一下切换键进入闹钟画面,在闹钟画面按录音键录制语音信息,能够随时输入闹钟时间。到了定时时间,发出蜂鸣器提示信号,按一下放音键,播放之前录制的提示语音信息。再按一下进入放音画面,放音画面下按增加减少键调换已录的语音信息,按放音键播放该段语音。本设计中的序设计包括以下几个部分,即键盘处理程序、ISD4004放音驱动程序、ISD4004录音驱动程序、时间校正程序、录音子程序、放音子程序、播放时间设置子程序、播放选择程序、子程序设计。图4-1为主程序流程图。图4-1 程序主流程图4.2 录音程序设计录音子程序的关键就是找出录音语音数据的首地址。存程序执行中通过段数变量,在地址数组中查找到对应该序号的首地址数据,向ISD芯片发出SETREC和REC指令,就可以开始录音。在录音过程中,开启单片机的定时器,对ISD4004芯片的录音时间进行记录并写入AT24C02中,将本段音频信号的时长在LCD1602上进行显示。图4-2为录音子程序流程图。图4-2 录音子程序流程图其具体程序为:rec_count=read_add(0x28); sound_timerec_count=0; isd_powerup(); /AN键按下,ISD上电并延迟50msisd_stopwrdn();isd_powerup(); LED1=1;/录音指示灯亮,表示进入录音模式LCD_Write_String(0,0, RECORDING: ) ;LCD_Write_String(0,1, REC_time: ) ; isd_setrec(addsrec_count&0x00ff,addsrec_count8); /从指定地址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停止命令4.3 放音程序设计 要实现对存储在ISD语音芯片中指定的音频数据播放,在放音程序执时,同样要凌取存放在EEPROM中该序号语音数据的首地址信息。为了能实现连续播放和循环播放的功能,在程序执行中对ISD4004输出的信号进行检测并进行处理。图4-3为放音子程序流程图。图4-3 放音子程序流程图具体程序为:isd_powerup(); /AN键按下,ISD上电并延迟50msisd_stopwrdn();isd_powerup();switch(pic_flag)case 2: isd_setplay(addsplay_count&0x00ff,addsplay_count8);break; /发送setplay指令,从指定地址开始放音case 1:isd_setplay(addsclock&0x00ff,addsclock8);break; /发送setplay指令,从指定地址开始放音case 0: FM=1; clock_stataclock_onoff=0; switch(clock_onoff) case 0:write_add(2,clock_stata0);break;/将每个闹钟的开关状态写入24C02,掉电后仍能记住case 1:write_add(3,clock_stata1);break;case 2:write_add(4,clock_stata2);break; isd_setplay(addsclock&0x00ff,addsclock_onoff8);break; /发送setplay指令,从指定地址开始放音isd_play(); /发送放音指令DelayUs(20);while(INT=1); /等待放音完毕的EOM中断信号isd_stop(); /放音完毕,发送stop指令while(AN=0); / isd_stop();4.4 按键部分程序设计按键有两个直接,有四个由与门搭建连接了一个外部中断IO口。利用了外部中断将使按键更加精准。中断键盘一按下,INT0口由高电平到低电平(外部中断0设为下降沿触发),此时进入外部中断0中断程序中,将按键状态由0变为1,主程序中检测检测到按键状态变为1后,执行相关程序代码,然后状态又由0变为1。具体中断程序为:void ISR_Key(void) interrupt 0 using 1 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会显示闹钟数、闹钟时间、及闹钟开关状态,并会显示该闹钟录音的时间长短。按下录音键即可为当前闹钟录制提示的语音信息,放开录完。按下放音键可以播放该段语音提示信息。再次按切换键进入语音播放界面,该界面会显示当前语音段数、当前段数语音的时间长短及录音时间。通过增加键、减少键可以调换当前应该播放段数,再按一下放音键即可播放该段语音。再次按切换键回到时间界面即可播放该段语音。整个系统的设计合理,外围电路结构简单,方便调试;单片机余留有IO口,方便系统的升级和扩展;单片机的所有程序均使用C-51进行编写,方便调试和阅读。整个系统工作稳定,操作方便。本设计的设计原理完全可以用在公共汽车上,作为语音报站器使用,也可以用在银行和医院等一些需要自动播报语音信息的公共场所。在本设计的基础上稍加扩充,就可以满足实际应用的需要。5.2系统的不足和改进本系统在播放录音时会有少量的噪音
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 炒货原料收购行业深度研究报告
- 中国铺路锤项目投资可行性研究报告
- 中国塑料微波炉碗项目投资可行性研究报告
- 中国单目阿贝折射仪项目投资可行性研究报告
- 中国泡腾消毒片项目投资可行性研究报告
- 技术团队软件开发项目管理模板
- 双向橡胶密封蝶阀行业深度研究报告
- 双纬纬纱检测器行业深度研究报告
- 三合一速溶奶茶粉行业深度研究报告
- 沙淇玛行业深度研究报告
- 疫苗热稳定性提升-洞察及研究
- 2024新国家基层糖尿病防治管理指南
- 医疗器械软件安全风险评估报告范本
- DB1933无人机航空磁测技术规范
- 肾动态显像技术
- 小儿面诊课件
- 扩声系统设备安装施工方案
- 2025-2030中国数据中心REITs投资回报周期与资产估值模型构建
- 2025年国开行考试题及答案
- 新生儿败血症诊疗共识
- 森林火灾高风险区综合治理能力提升项目可行性研究报告(模板范文)
评论
0/150
提交评论