《毕业设计论文基于凌阳单片机的语音时钟设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于凌阳单片机的语音时钟设计.doc(21页珍藏版)》请在三一办公上搜索。
1、基于凌阳单片机的语音时钟设计The Design of Speech Clock Based on Sunplus Microcontroller 姓名: 指导教师: 职称 学 院: 专 业: 年级: 论文提交日期: 答辩日期: 答辩委员会主任: 目录 摘 要3ABSTRACT41 引言51.1 设计背景51.2 设计目标52 方案设计与论证62.1 方案一62.2 方案二72.3 方案确定73 硬件电路设计83.1 硬件电路总体设计83.2 系统硬件连接93.3 电源电路设计103.4 语音播放电路设计113.5 显示电路设计123.6 键盘输入电路设计134 软件设计144.1 系统主体流
2、程图144.2 2Hz中断服务流程图154.3 语音播放流程图165 测试176 结论19参考文献20致谢21基于凌阳单片机的语音时钟设计摘 要随着人类科技文明的发展,人们对于时钟的要求在不断地提高。时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向。本设计基于单片机技术原理,以SPCE061A单片机作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作一个多功能数字时钟系统。该时钟系统主要由时钟模块、语音播报模块、LED显示模块、键盘控制模块组成。系统具有简单的操作,能够
3、准确显示时间,并且实现整点语音报时功能,可随时进行时间调整。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性,而且系统具有一定的扩展性。关键词: 单片机;电子时钟;语音报时;LEDBased on the Design of Sunplus Microcontroller Speech ClockYang changchang(College of Basic Science and Information on Engineering Yunnan Aricultural U
4、niversity,Kunming,650201)ABSTRACTWith the development of technological society, people are required for the clock continue to improve. The clock has not been seen as a tool used to display the time, in many practical applications, it needs to be able to achieve more other functions. In this trend, d
5、igital clock, the clock has become a modern multi-functional production of the direction of the dominant design 1. The design is based on principles of SCM technology to SPCE061A MCU as the core controller, through the production of hardware and software preparation, design a multi-functional digita
6、l clock system 2. The clock system mainly consists of the clock module, voice broadcast module, LED display module, keyboard control module. System is simple and clear interface, able to accurately display the time, and realize the whole point of voice broadcast feature, they can always be time to a
7、djust. Hardware and software design guidelines into full play microcontroller functions, most of the functionality through software programming to implement, simple circuit, the system stability. Meanwhile, the clock system also has the power of small, low cost, and highly practical, and the system
8、has certain scalability. Key words :Microcontroller;Electronic Clock;Voice Tell Time;LED 基于凌阳单片机的语音时钟设计1 引言1.1 设计背景由于科学技术的快速发展,电子技术在20世纪取得了惊人的进步,特别是近几十年来单片机技术和其他高技术的飞速发展,致使工业、农业、科技和国防等领域以及人们的社会生活发生了令人瞩目的变革。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、厚度、角度、长度、硬度、元素、压
9、力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大1。例如精密的测量设备(功率计,示波器,各种分析仪)。用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统等。现在的家用电器基本上都采用了单片机控制,从洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,无所不在。电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟2。在城市的主
10、要营业场所、车站、码头等公共场所使用数字电子钟已经成为一种时尚。但目前市场上各式各样的数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点3。因此有必要对数字电子钟进行改进。凌阳单片机就是在这样的环境下发展起来,SPCE061A 单片机在语音方面也有了很大的发展,在消费电子中除了显示之外再加上语音的功能可以让产品更具人性化,本文将设计一个基于凌阳单片机的具有语音功能的电子钟。1.2 设计目标 本次设计是基于单片机基础,以凌阳公司SPCE061A为核心硬件设计的一个语音时钟,该时钟能够实现整点语音报时,按键修改时间等。开发环境采用集成开发环境(也称IDE),程序采用C语言编程。该时钟
11、系统主要由时钟模块、语音播报模块、数码管显示模块、键盘控制模块组成。系统具有简单的操作,能够准确显示时间,并且实现整点报时功能,可随时利用按键进行时间调整。2 方案设计与论证2.1 方案一本方案采用凌阳SPCE061A十六位单片机,通过单片机控制实时时钟芯片进行读写,并对数码管、矩阵键盘进行扫描,语音报时采用凌阳单片机自带的语音系统。键盘控制电路 语音播放凌阳SPCE061A单片机实时时钟 数码管显示 图2.1 系统总体设计图Figure 2.1 The whole system design2.2 方案二本方案采用AT89C51单片机,AT89C51是一种带4K字节FLASH存储器的低电压、
12、高性能CMOS 8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案4。亦是控制对实时时钟的读写,并对数码管、矩阵键盘进行扫描,语音报时系统采用ISD语音系列芯片,键盘采用矩阵键盘。图2.2 系统总体设计图Figure 2.2 The whole system design2.3 方案确定比较两个方案,如果是不考虑语音报时系统,则采用方案二,但本系统要进行语音报时。凌阳单
13、片机本身具备语音识别功能,不需要外扩语音识别模块。凌阳压缩算法中SACM_A2000、SACM_S480、SACM_S240主要是用来放音,可用于语音提示,而DVR则用来录放音5。凌阳的SPCE061A是16位单片机,有很强的信息处理能力,最高时钟频率可达到49MHz,具备运算速度高的优势等等,这些都无疑为语音的播放、录放、合成及辨识提供了条件,综上所述本次设计最后确定采用方案一。3 硬件电路设计3.1 硬件电路总体设计硬件总体电路如图3.1所示。主控元件采用凌阳SPCE061A单片机,属于凌阳unSP.系列产品的一个16位结构的微控制器。在存储器资源方面考虑到用户的较少资源的需求以及便于程序
14、调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH),但用在此系统上已经足够。较高的处理速度使unSP.能够非常容易地、快速地处理复杂的数字信号。因此以unSP.为核心的SPCE061A微控制器也适用在数字语音识别应用领域6。 SPCE061A在2.6V3.6V工作电压范围内的工作速度范围为0.32MHz49.152MHz,较高的工作速度使其应用领域更加拓宽。2K字SRAM和32K字FLASH仅占一页存储空间,32位可编程的多功能I/O端口;两个16位定时器/计数器;32768Hz实时时钟;低电压复位/监测功能;8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方
15、式;双通道10位DAC方式的音频输出功能,这就为本系统的语音播报打下了基础,整体系统框架如图3.1。 图3.1 系统设计框图Figure 3.1 System block diagram3.2 系统硬件连接图3.2 系统硬件连接图Figure 3.2 The system hardware connection diagram 本设计采用LED键盘模组和61板搭配。它的连结如图3.2所示,IOB的低八位输出段码(待显示数字对应的段信息),高八位输出片选信号(控制点亮哪一个数码管)。按键状态跳线选最右边的两根跳线短接,选中1*8按键,按键通过IOA读入。 3.3 电源电路设计图3.3是电源电路的
16、部分,5V直流电压经过SPY0029后给整个系统供电,当然也可选用其它芯片。SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺。SPY0029具有静态电流低、驱动能力强、线性调整好等优点1。 其中VDDH3为SPCE061A的I/O电平参考,接SPCE061A的51脚,这种接法使得I/O输出高电平为3.3V;VDDP为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚; AVSS2接音频输出电路的AVSS23。图3.3
17、电源电路图Figure 3.3 Power supply circuit3.4 语音播放电路设计音频的原理图3.4所示,在61板可以看到两个跳线,其作用在于可以测量DAC的输出波形;另外拔掉跳线,可以断开DAC到喇叭放大的通路,使得DAC通道处于开路状态。这样便于用DAC做其他用途,用户可以用过这个跳线来加入自己的外围电路。图3.4 音频播放原理图Figure 3.4 Audio principle diagram凌阳SPCE061A单片机自带双通道DAC音频输出,DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出,DAC输出为电流型输出,所以DAC输出经过SPY00
18、30音频放大,以驱动喇叭放音。在它们后面接一个简单的音频放大电路和喇叭即可实现语音播报功能3。用凌阳Compress Tool事先把所需要的语音信号录制好,本系统共包括二十多个语音资源,整个语音信号经凌阳SACM_S2000压缩算法压缩占了26K存储空间,SPCE061A单片机具有32k闪存,使用内部flash即可满足要求。3.5 显示电路设计数码管在工程中应用极其广泛,尤其在仪器仪表中的应用,比如万用表等。数码管在仪器仪表中主要是显示单片机的输出数据、状态等。因而,作为外围典型器件,数码管显示是反映系统输出和操纵输入的有效器件。数码管具备数字接口,可以很方便的和单片机系统连接;数码管的体积小
19、、重量轻,并且功耗低,是一种理想的显示单片机数据输出内容的器件,在单片机系统中有着重要的作用。图3.5 数码管共阴接法Figure 3.5 Digital tube cathode connection本设计采用的是数码管的共阴接法,将多只LED 的阴极连在一起即为共阴式,而将多只LED 的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光7。当然,LED 的电流通常较小,一般均需在回路中接上限流电阻。假如我们将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管将显示数字“1”。而将a、b、d、e和g 段都接上正电源,其它引脚悬空,此时
20、数码管将显示“2”。其它字符的显示原理类同。3.6 键盘输入电路设计所用的六个按键采用直接式接法,公共端接高电平,如图3.6图3.6 键盘输入电路Figure 3.6 Keyboard input circuit图中的六个按键用来进行时间的调整,其中按键1、2是用来对小时进行加、减;按键3、4是用来对分钟进行加、减;按键5、6用来对秒进行加、减。六个按键接61板的IOA的低八位IOA0-IOA5。4 软件设计4.1 系统主体流程图图4.1 主体流程图Figure4.1 System of the main flow chart当程序运行时,时、分、秒的初始值为0,开2Hz中断,作为秒的计数。
21、计数到2次的时候,就是1S,120次中断就是1分钟,依此类推。显示部分放到主程序中动态扫描完成。为了没有闪烁的视觉,所以主程序整个循环不超过2ms。确定LED上每一位要显示的数字,然后就要计算显示的时间。LED开始显示时间,当有按键按下的时候进行时间的调整,没有的时候时间自动显示。每当时间到整点的时候报时。4.2 2Hz中断服务流程图图4.2 2Hz中断服务流程图 Figure4.2 2HzInterrupt flowchart 2Hz中断服务程序如图4.2所示,在中断中完成秒的计数和分的自加,每进两次2Hz中断,秒自动加1,实现时钟计数。然后判断秒是否为60,如果为60秒就清零相应分钟就加1
22、。如果秒不为60那么秒标志位加1,依次循环。4.3 语音播放流程图本设计流程图如图4.3。 图4.3 播放流程图Figure 4.3 Play flow chart程序开始调用SCM_A2000_Play函数选择DAC1 单通道、声音可增减播放;判断播放是否结束,如果没有,调用语音播放系统服务函数进行解码并填充队列;如果播放结束,停止语音播放。5 测试写好程序编译好了以后 就要把程序下载到61板上,而程序下载前所需要用到的工具按钮的位置也在图中有标出;“Select Body”用于选择芯片、下载线类型,“Use ICE”使IDE 处于在线仿真状态,“Download”启动程序下载。图5.1 工
23、具栏按钮Figure 5.1 Toolbar button点击“Select Body”图标工具,即图5.1中标出的按钮中的最右边的那个,打开“Select Body” 对话框,如图5.2 所示。在“Body Name”下拉选择框中,选择“SPCE061A”;在“Probe”下拉选择框中选择所用的下载线、调试器。设置完成后,点击“OK”。图5.2 Select Body 设置Figure 5.2 Select body set点击“Use ICE”工具按钮(Select Body 工具左边,图标上有“ICE”字样的),使IDE 处于在线仿真状态。选择“Build”“Start Debug”“D
24、ownload”下载程序到61 板中,或者直接点击按钮“Download”把程序下载到61 板上。当程序处在下载状态时,会弹出一进度条对话框以示下载进程,如图5.3所示。图5.3 下载进程对话框Figure 5.3Download process dialog box 程序下载完成,开始调试。将路线接在运行位置打开电源,LED显示时间并且计时正常。按下按键1,小时加1;按下按键2,小时减1;按下按键3,分钟加1;按下按键4,分钟减1;按下按键5,秒加1;按下按键5,秒减1;按键功能全部正常。将时间调整到整点,语音报时,语音功能正常。运行效果良好,都能够实现设计的要求与功能。表5.4 按键功能测
25、试Table 5.4 Key functional test按键状态按键状态按键1小时加1按键4分钟减1按键2小时减1按键5秒加1按键3分钟加1 按键6秒减16 结论本设计基于单片机技术原理,以SPCE061A单片机作为核心控制器,通过硬件电路的制作以及软件程序的编制,编程环境是采用集成开发环境(也称IDE),编程语言采用C语音,设计制作的一个多功能数字时钟系统。凌阳单片机和51单片机的差别就只是在于对一些特殊功能寄存器的操作和IO口的位操作上,这就是51单片机和凌阳单片机的最大差别,凌阳虽然相比32位的ARM等高级的单片机相差甚远,但是对比51单片机还是有优势,特别是在语音功能上,具有很大的
26、优势。可以对本设计带来很大的方便。该时钟系统主要由时钟模块、语音播报模块、LED显示模块、键盘控制模块组成。系统具有简单的操作,能够准确的显示时间。LED显示模块中数码管的一、二段是显示小时,三、四段是显示分钟,最后两段是显示秒。当时间运行到整点的时候系统会自动的播报当前的时间。该系统的键盘控制模块一共有六个按键,其中按键一、二是对小时进行加、减;按键三、四是对分钟进行加、减;按键五、六是对秒进行加、减。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。参考文献1 罗来非.凌阳16位单片机应用基础M.北京:北京航空航天大学出版社,2003
27、2 雷思孝,李伯成,雷向莉.SPCE061A单片机原理及其应用技术-凌阳16位单片机原理及应用M.西安:西安电子科技大学出版社,20043 李学海.16语音型单片机SPCE061A实用教程基础篇M.北京:人民邮电出版社,20074 夏继强. 单片机实验与实践教程M.北京:北京航空航天大学出版社,20015 李晓白. 凌阳16位单片机C语言开发M.北京:北京航空航天大学出版社,20036 何立民. 单片机高级教程M.北京:北京航空航天大学出版社,20017 邬国扬.模拟电子技术M.西安:西安电子科技大学出版社,20028 张伟.Protel 99SE 实用教程M.北京:人民邮电出版社,20089
28、 马忠梅,张凯,马岩,等.单片机的C语言应用程序设计(第三版) M.北京:北京航空航天大学出版社,200310 谭浩强.C程序设计(第三版)M.北京:清华大学出版社,2005致谢本设计的完成是在周兵老师的细心指导下进行的。在每次设计遇到问题时老师不辞辛苦的讲解才使得我的设计顺利的进行。从设计的选题到资料的搜集直至最后设计的修改的整个过程中,花费了周老师很多的宝贵时间和精力,在此向导师表示衷心地感谢!导师严谨的治学态度,开拓进取的精神和高度的责任心都将使学生受益终生!还要感谢和我同一设计小组的几位同学,是你们在我平时设计中和我一起探讨问题,并指出我设计上的误区,使我能及时的发现问题把设计顺利的进行下去,没有你们的帮助我不可能这样顺利地结稿,在此表示深深的谢意。在学校的四年里,离不开学校的培养,离不开各位老师的辛勤耕耘,感谢学校的各位老师的教导和关怀!最后再次衷心的感谢所有给予我帮助和指导的老师、同学。第 21 页 共 21 页