基于单片机的具有语音报时电子钟毕业设计论文Word格式.docx
- 文档编号:21052167
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:40
- 大小:229.52KB
基于单片机的具有语音报时电子钟毕业设计论文Word格式.docx
《基于单片机的具有语音报时电子钟毕业设计论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的具有语音报时电子钟毕业设计论文Word格式.docx(40页珍藏版)》请在冰豆网上搜索。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
导师签名:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
摘要
本系统采用凌阳公司的SPCE061A单片机为控制核心;
采用DS1302实时时钟系统,由单片机控制DS1302的读写,将读回来的时间数据通过数码管显示出来,修改时间采用操作友好的矩阵键盘,语音报时系统使用凌阳单片机本身具有的特色语音功能,并将报时、报日历键分开,整机系统设计比较完善,有显示、键盘、报时、报日历的功能,除些之外还介绍了51单片机C语言编程移植到凌阳单片机的一些经验和方法,以便将51单片机的C语言经过局部的修改就可以移植到凌阳单片机上,节约重新开发的时间。
最后总结了一些关于在做基于凌阳单片机的电子钟时所遇到的问题和困难,以及将凌阳单片机与51单片机的各方面性能进行了比较,其语音还是凌阳单片机最大的特点,也是它应用较为广泛的原因。
关键词:
SPCE061A单片机;
实时时钟;
语音报时;
数码管显示;
矩阵键盘
引言…………………………………………………………………………………1
1方案设计与论证………………………………………………………………1
2硬件电路设计…………………………………………………………………1
2.1整体电路方框图与说明…………………………………………………………1
2.2各部分电路设计…………………………………………………………………2
2.2.1数码管显示驱动电路…………………………………………………………2
2.2.2单片机系统电路………………………………………………………………3
2.2.3语音播放电路…………………………………………………………………4
2.2.4电源电路部分…………………………………………………………………5
2.2.5复位电路………………………………………………………………………6
2.2.5键盘电路………………………………………………………………………6
3软件设计…………………………………………………………………………6
3.1软件流程图及设计思路说明………………………………………………………6
3.2模块设计……………………………………………………………………………7
3.2.1语音播放部分……………………………………………………………………8
3.2.2DS1302实时时钟部分……………………………………………………………8
4整机测试…………………………………………………………………………10
5对C51程序在凌阳单片机上移植分析……………………………………10
6总结………………………………………………………………………………10
致谢…………………………………………………………………………………11
参考文献……………………………………………………………………………12
附录……………………………………………………………………………………12
引言
由于科学技术的快速发展,电子技术在20世纪取得了惊人的进步,特别是近几十年来单片机技术和其他高技术的飞速发展,致使工业、农业、科技和国防等领域以及人
们的社会生活发生了令人瞩目的变革。
凌阳单片机就是在这样的环境下发展起来,旗下的SPCE061A单片机在语音方面也有了很大的发展,在消费电子中除了显示之外再加上语音的功能可以让产品更具人性化,本文将设计一个基于凌阳单片机的具有语音功能的电子钟。
1方案设计与论证
方案一:
本方案采用凌阳SPCE061A十六位单片机,通过单片机控制DS1302实时时钟芯片进行读写,并对数码管、矩阵键盘进行扫描,语音报时采用凌阳单片机自带的语音系统。
方案二:
本方案采用AT89S51单片机,亦是控制对DS1302实时时钟的读写,并对数码管、矩阵键盘进行扫描,语音报时系统采用ISD1420,键盘采用矩阵键盘。
方案确定:
比较两个方案,如果是不考虑语音报时系统,则采用方案二,但本系统侧重语音,并且就51单片机C语言在凌阳SPCE061A上的移植做分析,所以最终采用方案一。
2硬件电路设计
2.1.1整体电路方框图与说明
系统原理框图如图2.1所示。
主控元件采用凌阳SPCE061A单片机,属于凌阳u’nSP.系列产品的一个16位结构的微控制器。
在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH),但用在此系统上已经足够。
较高的处理速度使u’nSP.能够非常容易地、快速地处理复杂的数字信号。
因此以u’nSP.为核心的SPCE061A微控制器也适用在数字语音识别应用领域。
SPCE061A在2.6V~3.6V工作电压范围内的工作速度范围为0.32MHz~49.152MHz,较高的工作速度使其应用领域更加拓宽。
2K字SRAM和32K字FLASH仅占一页存储空间,32位可编程的多功能I/O端口;
两个16位定时器/计数器;
32768Hz实时时钟;
低电压复位/监测功能;
8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;
双通道10位DAC方式的音频输出功能,这就为本系统的语音播报打下了基础,整体系统框架如图2.1。
键盘
控制电路
音频放
大电路
语音播
放
凌阳
SPCE061A
单片机
DS1302
实时实时时钟芯片
数码管
显示
图2.1系统原理框图
整体具体工作原理是单片机控制DS1302实时时钟芯片的读写时序,将时间数据读出,再对数码管进行扫描,将时间正确显示出来。
与此同时扫描键盘是否有报时键按下,有则调用语音报时函数进行报时。
2.2各部分电路设计
2.2.1数码管显示驱动电路
图2.2位选驱动电路
图2.3段选驱动电路
2.2.2单片机系统电路
单片机系统是整个硬件系统的核心,也是协调整机工作的控制器,又是数据处理器。
图2.4单片机系统电路
2.2.3语音播放电路
音频部分的原理图2.5所示,在图7中可以看到两个跳线,其作用在于可以测量DAC的输出波形;
另外拔掉跳线,可以断开DAC到喇叭放大的通路,使得DAC通道处于开路状态。
这样便于用DAC做其他用途,用户可以用过这个跳线来加入自己的外围电路。
凌阳音频压缩算法根据不同的压缩比分为以下几种(具体可参见语音压缩工具一节内容):
SACM-A2000:
压缩比为8:
1,8:
1.25,8:
1.5
SACM-S480:
压缩比为80:
3,80:
4.5
SACM-S240:
1.5
按音质排序:
A2000>
S480>
S240
用凌阳CompressTool事先把所需要的语音信号录制好,本系统共包括十多个语音资源,整个语音信号经凌阳SACM_S2000压缩算法压缩占了26K存储空间,SPCE061A单片机具有32k闪存,使用内部flash即可满足要求。
凌阳SPCE061A单片机自带双通道DAC音频输出,DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出,DAC输出为电流型输出,所以DAC输出经过SPY0030音频放大,以驱动喇叭放音,放大电路如图7(只列出了DAC1,DAC2类似),这为单片机的音频设计提供了极大方便。
在它们后面接一个简单的音频放大电路和喇叭即可实现语音播报功能,音频的具体功能主要通过程序来实现。
图2.5语音播放电路
2.2.4电源电路部分:
图2.6是电源电路的部分,5V直流电压经过SPY0029后给整个系统供电,当然也可选用其它芯片。
SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺。
SPY0029具有静态电流低、驱动能力强、线性调整好等优点。
图2.6电源电路
2.2.5复位电路:
图2.7复位电路
2.2.6键盘电路:
图2.84*4矩阵键盘
3软件设计
3.1总程序流程图及设计思路说明
初始化
读DS1302
显示时间
扫描键盘
Y
显示“------”等待输入
调用报时/日历函数
输入完毕
报时
N
对DS1302进行写操作
修改时间/日历
修改时间
结束
图3.1程序流程图
程序开始运行,初始化IO口,如IO口的方向和属性向量,然后对读取DS1302时间寄存器的数据,然后将时间数据通过数码管扫描显示,扫描4*4矩阵键盘判断是否有键按下,如有则读出相应键值,如果是报时键则调用报时间函数,如果是报日历键则调用报日历函数,如果是修改键,则使数码管显示“------”等待键盘输入数值,输入完毕等待确认修改时间还是日历,确认完成之后调用修改时间或者日历函数,调整DS1302中相应的时间或者日历寄存器值,达到修改时间的目的,到这里程序运行完毕,进入下一轮的开始。
3.2模块设计
3.2.1语音播放部分
本设计是采用凌阳SACM_S2000语音播报,流程图如图3.2。
获取所需音频数据
SACM_S2000初始化
开始播放放
N
播放完毕?
Y
图3.2语音播放程序流程图
3.2.2DS1302实时时钟部分
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个IO口线分别是RST-复位、I/O-数据线、SCLK-串行时钟,其内部还有32*8bit的RAM,以供存储重要数据,如闹钟时间等。
DS1302的读写操作如图3.3:
图3.3DS1302读写操作
其内部寄存器如图3.4:
图3.4DS1302内部寄存器
具体的操作时序请见附表A中DS1302操作部分
4整机测试
由于该系统设计比较简单,所以调试也较容易,运行效果良好,都能够实现设计的要求与功能。
语音播放部分已经录制并压缩好,播放起来效果也不错。
5对C51程序在凌阳单片机上移植分析
从51单片机移植到凌阳单片机上主要注意的问题是要了解这两种单片机的内部结构的差别,以及性能上的不同,首先是IO口的操作,凌阳单片机的IO口输入输出要手动更改,不像51那么方便,其次是要注意清看门狗,由于凌阳单片机为了程序运行能够更加稳定,所以加入了看门狗,清狗周期必需要小于0.75S,刚开始接触凌阳单片机经常会忘记这一步,最后就在于中断、定时器、选频等特殊功能寄存器的操作上。
下面就凌阳的位操作进行举例说明:
这是定义set_IO是将IO置1,clr_IO则定义为清零。
#defineset_IO*P_IOA_Data|=0x2000//IO=1
#defineclr_IO*P_IOA_Data&
=0xdfff//IO=0
这是输出,输入则需要将该引脚定义为输入如:
*P_IOA_Dir&
=0xdfff;
//IOA13口定义为输入
*P_IOA_Attrib|=0x2000;
//IOA13口定义为悬浮式
每次需要对IO口进行读写的时候都要改变IO口的属性及方向向量。
这样就可以对DS1302进行读写操作了。
51单片机的汇编语言移植造成的程序改变量太大,无疑于重新编写,但是凌阳单片机的汇编语言已经和C语言很类似,不会再使用MOV这种指令,所以重新编写所造成的工作量不是非常大。
6总结
凌阳单片机我从来没有接触过,只是听学长们说过,记得有一位学长说凌阳单片机有些不稳定,这个我没有深入研究过,但是在调试的时候发现在了个问题,在对数码管进行扫描的时候,偶尔会显示乱码,需要复位才能恢复正常。
虽然之前没有学习过凌阳单片机,但是有了51单片机的基础之后,学起来不会很吃力,凌阳单片机和51单片机的差别就只是在于对一些特殊功能寄存器的操作和IO口的位操作上,相对于习惯使用51单片机而言凌阳单片机使用起来不太方便,这就是51单片机和凌阳单片机的最大差别,凌阳虽然相比32位的ARM等高级的单片机相差甚远,但是对比51单片机还有许多优势,特别是在语音功能上,具有很大的优势。
我学习凌阳单片机的目的除了它拥有强大的语音功能之外,还有一个目的就是如果能掌握凌阳单片机,那么就说明一样能掌握其它的单片机,比如说AVR、PIC、ARM,这说明各种单片机具有的共通性。
这更说明平常对基础的积累相当重要,不管是学习单片机或者其它的一切事情都需要脚蹋实地才能继续做下去。
致谢
感谢我的指导老师,在整篇论文的完成过程中,我得到了她悉心的指导,论文的每一个进度的完成都伴有她不懈的支持和细心的批改,从课题的选择到项目的最终完成,她一丝不苟的工作态度很值得我学习,并且她没有因为工作上的繁忙而忽视对我们论文的指导,每次收到她细心修改的论文,很细微的错误都被加上了标注提醒我修改,在此谨向老师致以诚挚的谢意和崇高的敬意。
此外,我也要感谢教导过我的老师,他们所传授给我的知识是我论文完成的基础。
而且他们不仅是我学习上的良师,还教会了我们如何在社会上待人接物的道理。
你们为人师表的风范令我敬仰,严谨治学的态度令我敬佩。
老师的指导对我今后的学习和工作有非常重要的作用,在这里向许多老师及全体成员表示衷心的感谢。
再者,我要感谢我的同学和朋友,在我论文资料的搜索过程中,他们给与了我很大的帮助,让我克服了一个个困难和疑惑,在这里我表示衷心的感谢。
向评审本论文及参加论文答辩的各位老师表示衷心的感谢和诚挚的敬意。
参考文献
[1]雷思孝,李伯成,雷向莉编著.SPCE061A单片机原理及其应用技术---凌阳16位单片机原理及应用[M].西安:
西安电子科技大学出版社.2004
[2]马忠梅,籍顺心,张凯,马岩编著.单片机的C语言应用程序设计(第三版)[M].北京:
北京航空航天大学出版社.2003
附录
#include"
reg061.h"
#include"
a2000.h"
consist.h"
#defineuintunsignedint
#defineP_IOA_Data(volatileunsignedint*)0x7000
#defineP_IOA_Buffer(volatileunsignedint*)0x7001
#defineP_IOA_Dir(volatileunsignedint*)0x7002
#defineP_IOA_Attrib(volatileunsignedint*)0x7003
#defineP_IOA_Latch(volatileunsignedint*)0x7004
#defineP_IOB_Data(volatileunsignedint*)0x7005
#defineP_IOB_Buffer(volatileunsignedint*)0x7006
#defineP_IOB_Dir(volatileunsignedint*)0x7007
#defineP_IOB_Attrib(volatileunsignedint*)0x7008
#defineP_Watchdog_Clear(volatileunsignedint*)0x7012
#defineset_RST*P_IOA_Data|=0x8000//RST=1
#defineclr_RST*P_IOA_Data&
=0x7fff//RST=0
#defineset_CLK*P_IOA_Data|=0x4000//CLK=1
#defineclr_CLK*P_IOA_Data&
=0xbfff//CLK=0
voidSpeakTime();
voidnop();
//替代51中的NOP
voidDisplay(void);
//扫描数码管程序
voidDelayMs(uintn);
//延时用
voidWriteByte(uintdata);
//写一个字节到1302
uintReadByte(void);
//从1302读一个字节
voidWriteDate(u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 具有 语音 报时 电子钟 毕业设计 论文