基于单片机的语音报时系统Word文档下载推荐.docx
- 文档编号:16500285
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:50
- 大小:911.92KB
基于单片机的语音报时系统Word文档下载推荐.docx
《基于单片机的语音报时系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的语音报时系统Word文档下载推荐.docx(50页珍藏版)》请在冰豆网上搜索。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播芯片自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到了广泛的应用。
随着科技的发展,人们对电子产品的应用要求越来越高,数字电子钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。
另外数字钟还具备秒表和闹钟功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。
本方案利用凌阳16位单片机SPCE061A作为主控芯片,充分利用SPCE061A精简开发板(简称61板)上面的三个按键,完成一个简易的数字系统——数字电子钟。
该数字钟可以将当前的日期和时间播报出来,以及调时功能,具有较强的可扩展性,满足了不同人的需要。
该方案的主要功能是能通过SPCE061A的音频通道播报当前的日期和时间。
61板上面的三个按键可以控制实现所有的功能,在播报日期和时间状态下按Key1播报年、月、日,再按一下播报时、分长按Key1键达到1.5秒,则进入日期时间调整模式,Key2-在调整模式下,使年、月、日、时、分、秒增加,Key3-在调整模式下,使年、月、日、时、分、秒减小。
1.1系统功能
本系统利用凌阳科技公司的SPCE061A单片机作为控制器。
系统具有以下功能:
1.可以语音播报日期和时间;
2.具有调整日期和时间功能;
1.2基本参数
1.工作电压:
4.5V(3节干电池);
2.日期显示范围:
2001-2100年;
3.时间采用24小时制。
1.3注意事项
1.请将61板上的J5跳线选择3.3V;
2.在安装电池时注意正负极,否则容易烧坏芯片;
3.在印制电路板上的焊接元器件前要认真对照原理图,仔细查看印制电路板,找到对应的元器件功能区;
4.在电源测试期间请勿将单片机芯片插入座中,以免电源部分有问题造成芯片烧坏。
第二章模块特性简介
该数字钟系统主要由SPCE061A精简开发板(简称61板)构成。
系统通过61板上的三个按键控制扬声器播放语音。
所以这里主要介绍SPCE061A精简开发板。
2.1SPCE061A单片机
2.1.1SPCE061A简介
SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,具有易学易用且效率较高的一套指令系统和集成开发环境。
在此环境中,支持标准C语言,可以实现C语言与汇编语言的互相调用,并且,提供了语音录放和语音识别的函数库,只要了解库函数的使用方法,就可以很容易完成语音录放,为软件开发提供了方便的条件。
SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入/输出、通用异步串行接口、低电压监测和复位等电路,并且内置在线仿真电路ICE接口,使其能够快速地处理复杂的数字信号。
SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真变得非常方便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSPIDE),用户可以进行在线调试、仿真;
而程序的下载(烧写)也是通过该接口完成。
图1SPCE061A内部结构图
2.1.2芯片特性
●16位μ'
nSP微处理器;
●工作电压:
内核工作电压VDD为3.0~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);
●CPU时钟:
0.32MHz~49.152MHz;
●内置2K字SRAM;
●内置32K闪存ROM;
●可编程音频处理;
●晶体振荡器;
●系统处于备用状态下(时钟处于停止状态);
●2个16位可编程定时器/计数器(可自动预置初始计数值);
●2个10位DAC(数-模转换)输出通道;
●32位通用可编程输入/输出端口;
●14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;
●具备触键唤醒的功能;
●使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;
●锁相环PLL振荡器提供系统时钟信号;
●32768Hz实时时钟;
●7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;
●声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;
●具备串行设备接口;
●低电压复位(LVR)功和低电压监测(LVD)功能;
●内置在线仿真板(ICE,In-CircuitEmulator)。
2.2SPCE061A精简开发板
SPCE061A精简开发板(简称61板),是以凌阳16位单片机SPCE061A为核心的精简开发-仿真-实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。
61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含Mic输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便学生随身携带!
使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!
61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSPIDE,可方便地在板上实现程序的下载、在线仿真调试。
61板上的主要功能模块如下:
1.SPCE061A单片机最小系统外围电路模块;
2.电源输入模块;
3.音频电路(包含Mic输入、DAC音频功放输出)模块;
4.按键模块;
5.I/O端口接口模块;
6.调试、下载接口模块;
图2为61板的实物图:
图261板实物图
2.3语音的设计及工作原理
本次设计的要求为整个系统在运行时能够根据要求及时的发出声音,以增加效果。
为了配合设计要求,设计了语音模块。
语音是SPCE061A的一大特点。
应用SPCE061A可以方便的实现语音的录放,该芯片拥有8路10位精度的AD。
其中1路AD为音频转化通道,并且内置自动增益电路。
这为语音的录入提供方便的硬件条件。
2路10位精度的DA,只需外接1个功放即可完成语音播放。
一般都是用C语言作为主程序,用汇编语言编制各种模块,供主程序调用。
凌阳音频格式常用的有3种,将压缩前的数据量比上压缩后的数据量即可以得到凌阳不同音频格式压缩比:
SACMA2000:
压缩比为8:
1,8:
1.25,8:
1.5;
SACMS480:
压缩比为80:
3,80:
4.5;
SACMS240:
压缩比越大,存储空间越小,更加节省资源。
2.5系统总体方案介绍
电子钟的系统结构如图3,图4为电子钟功能结构图,61板作为整个系统的控制中心,负责控制键盘扫描;
年、月、日、星期以及时间的计算;
并根据按键值播报当前的日期或者时间。
在声音的处理上主要采用凌阳科技的语音压缩格式,将需要播放的声音压缩存在SPR模组里面,然后通过61板将语音资源取出播放出来。
本系统采用了语音的录入和输出播放。
图3系统结构框图
图4功能结构图
用61板控制数字钟系统,使用了IOA口的IOA0—IOA2位连接SPCE061A上的三个按键,另外使用了61板的语音输出模块;
以及61板上的三个按键,电路连接如图5。
第三章系统硬件设计
3.1SPCE061A最小系统
SPCE061A最小系统包括SPCE061A芯片及其外围的基本模块,其中外围的基本模块有:
晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图7所示。
图5SPCE061A最小系统
3.2电源模块
SPCE061A板采用3节5号电池进行供电,由J10接入,其中前后两组电容用来去耦滤波,使其供给芯片的电源更加干净平滑。
为了获得标准的3.3伏电压,在电路上加入SPY0029三端稳压器和两个二极管,是为了防止误将电源接反造成不必要损失而设置的。
在操作过程中千万不要将电源接反,因为反向电压超过一定值,二极管将会被损坏,达不到保护的目的。
后面的零电阻及其电源分成不同的几路是为了减少电磁干扰设置的。
图6是电源部分的电路,4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。
SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺。
SPY0029具有静态电流低、驱动能力强、线性调整出色等特点。
4.2图中的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接音频输出电路的AVSS2。
61板电源模块电路如图8,SPCE061A的内核供电为3.3V,而I/O端口可接3.3V~5V,所以在电源模块(61板上)中有一个端口电平选择跳线,如图中的J5。
本系统需要的端口高电平为3.3V,所以图8中的J5跳线需要跳到2和3上。
图6电源模块
3.3音频输出模块
音频输出(D/A)部分的原理图如图7所示,可以直接听喇叭输出的声音。
图中的SPY0030也是凌阳公司的产品。
它的详细说明可以参见SPY0030datasheet。
和LM386相比,SPY0030还具有下述优势,比如LM386工作电压需在4V以上,SPY0030仅需2.4V即可工作(两颗电池即可工作);
LM386输出功率100mW以下,SPY0030约700mW。
芯片将声音处理后输出(J2),经SPY0030音频放大输出(J3)通过扬声器还原为声音。
SPY0030A是凌阳公司开发的专门用于语音放大的芯片。
SPY0030的输入电压的范围是2.4——6.0伏,该电路中采用的电压是3.3伏。
SPCE061A内置2路10位DAC,只需要外接功放电路即可完成语音的播放。
图7音频输出电路图
第四章系统软件设计
4.1软件的结构
下图中可以看出各文件之间的调用关系。
图8软件结构
数字钟主要还是软件实现的,数字钟的软件设计由以下程序构成:
1、main.c:
实现系统的初始化、键盘扫描和语音播报;
2、system.c:
包含工程中大部分的功能函数,包括时间和日期的调整等;
3、key.c:
键盘扫描文件,文件中定义了键盘扫描函数、延时函数、用来实现对键盘的扫描等功能、键盘扫描采用查询方式;
4、isr.asm:
中断服务函数文件,实现语音解码以及时间、日期的修改;
5、speak.c:
语音播报函数,实现语音播报日期、时间。
4.2各模块程序的说明
4.2.1概述
由于凌阳SPCEA061A,使得外围电路变的更简单。
制作好系统的硬件电路后,整个系统的主体任务主要落在了程序的编写上。
此次系统采用了模块程序结构,模块程序结构包括了初始化,系统主程序模块,语音播放模块,显示模块。
C语言属于高级语言,有着汇编语言无法比拟的优点,而SPCE061A开发系统抓住了这个关键,两者结合,充分发挥各自的优势。
在用到语音的时候,一般都是用C语言作为主程序,用汇编语言编制各种模块,供主程序调用。
本系统采用了这种编制方法使得相互调用非常简单。
4.2.2主程序
主程序流程如图9所示,在主程序中初始化了整个工程中用到的变量,初始化了液晶显示模块。
开2Hz中断实现计时。
在主程序中调用了键盘扫描程序,对IOA口的低三位进行扫描,如果有键按下,就把相应的键值存入到一个变量中,通过主程序来判断是哪个键按下,并执行相应的功能:
按Key1播报年、月、日,再按一下播报时、分长按Key1键达到1.5秒,则进入日期时间调整模式,Key2-在调整模式下,使年、月、日、时、分、秒增加,Key3-在调整模式下,使年、月、日、时、分、秒减小。
图9主程序流程图
4.2.3中断服务程序
中断服务程序有三个:
一个是2Hz中断服务程序,用来计时;
一个是1KHz中断服务程序,用于秒表计时;
另外一个是FIQ中断服务程序,用来播放语音。
程序的流程分别如图10、图11、图12。
图10IRQ5时基中断流程图
图11IRQ4时基中断流程图
图12FIQ中断程序
4.2.4时间日期模块
时间日期程序模块的流程图如图13所示,该模块用到了2Hz的时基中断,用来实现计时,同时实现了日期的更新。
图13时间日期模块流程图
第五章操作步骤
5.1软件的操作步骤
5.1.1程序烧入硬件操作步骤
步骤一:
根据图5数字钟连接示意图连接硬件,并连接好下载线。
步骤二:
打开电池盒电源。
步骤三:
启动u’nSPIDE。
打开数字钟应用实例程序(路径:
\\数字电子钟礼包\参考源代码\monthdayclock\monthdayclock.sp),编译、链接确认没有错误。
如图14所示:
图14打开数字钟应用实例程序
步骤四:
下载程序代码到61板上。
步骤五:
下载成功后会有几秒钟的开机画面,随后会进入时间日期显示界面,初始时间设定为:
00:
00:
00,日期为2006年8月1日。
具体操作流程图如图15:
图15具体操作流程图
第六章结论
SPCE061A芯片强大的语音处理功能,为本系统的设计提供了便利条件;
32个可编程I/O口,使得扩展外围设备非常方便;
CPU可工作在0.32MHz~49MHz的主频范围,并且拥有丰富的中断源,使得系统在语音播放、数据显示等方面游刃有余,扩展性强。
根据硬件的选择和电路的搭配进行了软件的设计和编程,在实现硬件功能时,我们曾遇到一些问题,在参阅了许多资料结合实际条件选择了一种全面和简单的数字钟系统,其次在焊接中和元器件的购买都是在胡老师的指导下购买的。
在这次毕业设计中锻炼了我的分析能力、解决问题和动手能力。
显然,这是一个比较简单的数字钟,在这个基础上,稍微改动,或者扩展其他模块可以设计出一个更加完善的数字钟系统。
比如,扩展外部存储器可以增加铃声的数目、可以改变铃声的播放格式使铃声更加动听、增加掉电保护功能等等,以此来提高同学们的对单片机的兴趣。
本次设计中,我从基础做起,做好每一个程序模块,在最后的硬件调试中,取得成功,实现了数字钟的基本功能,达到了我们预期的设计目的。
系统实物照片如图16。
图16系统实物照片
参考文献
[1]李全利,迟荣强.单片机原理及接口技术[M],北京:
高等教育出版社,2004.1.
[2]黄智伟.全国大学生电子设计竞赛系统设计[M],北京:
北京航空航天大学出版社,2006.6.
[3]黄智伟.凌阳单片机课程设计指导[M],北京:
北京航空航天大学出版社,2006.11.
[4]李广弟,朱月秀,王秀山.单片机基础[M],北京:
北京航空航天大学出版社,2001.7.
[5]赵曙光,郭万有,杨颂华.可编程逻辑器件原理开发与应用[M],西安:
西安电子科技大学,2000.
[6]候伯亨.VHDL硬件描述语言与数字逻辑电路设计[M],西安:
西安电子科技大学出版社,1999.
[7]康华光.模拟电子技术基础(第四版)[M],武汉:
华中理工大学出版社,1999.
[8]谭浩强.C语言程序设计(第二版)[M],北京:
清华大学出版社,1991.
[9]陈小忠,黄宁.单片机接口技术实用子程序[M],北京:
北京人民邮电出版社,2005.
[10]欧伟明,周春临,瞿遂春.电子信息系统设计[M],西安电子科技大学出版社,2005.9.
[11]贾立新,王涌.电子系统设计与实践[M],北京:
清华大学出版社,2007.
[12]罗亚非.凌阳16位单片机应用基础[M],北京:
北京航空航天大学出版社,2003.
[13]SPLC501A液晶显示模块产品说明书[Z].凌阳大学计划网站().
[14]雷思孝.凌阳单片机原理及实用技术[M],西安电子科技大学,2004.
附录一软件编写程序
主程序:
//工程名称:
61_SpeechClock
//功能描述:
61板程序示例--具有语音播报功能的电子钟
//使用61板上的三个按键控制报时和时间调整:
//Key1-按一下播报年、月、日,再按一下播报时、分
//长按Key1键达到1.5秒,则进入日期时间调整模式
//Key2-在调整模式下,使年、月、日、时、分、秒增加
//Key3-在调整模式下,使年、月、日、时、分、秒减小
//涉及的库:
CMacro1016.lib
//SacmV26e.lib
//组成文件:
main.c,Sound.c,Clock.c,Clock_Speech.c,Clock_Adjust.c
//Key.asm,hardware.asm,ISR.asm
//A2000.h,Sound.h,Clock.h,C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 语音 报时 系统