基于单片机的语音报时系统论文 - 图文(5)

2019-04-22 14:38

第六章 结论

SPCE061A芯片强大的语音处理功能,为本系统的设计提供了便利条件;32个可编程I/O口,使得扩展外围设备非常方便;CPU可工作在0.32MHz~49MHz的主频范围,并且拥有丰富的中断源,使得系统在语音播放、数据显示等方面游刃有余,扩展性强。根据硬件的选择和电路的搭配进行了软件的设计和编程,在实现硬件功能时,我们曾遇到一些问题,在参阅了许多资料结合实际条件选择了一种全面和简单的数字钟系统,其次在焊接中和元器件的购买都是在胡老师的指导下购买的。在这次毕业设计中锻炼了我的分析能力、解决问题和动手能力。

显然,这是一个比较简单的数字钟,在这个基础上,稍微改动,或者扩展其他模块可以设计出一个更加完善的数字钟系统。比如,扩展外部存储器可以增加铃声的数目、可以改变铃声的播放格式使铃声更加动听、增加掉电保护功能等等,以此来提高同学们的对单片机的兴趣。本次设计中,我从基础做起,做好每一个程序模块,在最后的硬件调试中,取得成功,实现了数字钟的基本功能 ,达到了我们预期的设计目的。系统实物照片如图16。

图 16 系统实物照片

18

参考文献

[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].凌阳大学计划网站(www.unsp.com). [14] 雷思孝.凌阳单片机原理及实用技术[M],西安电子科技大学,2004.

19

附录一 软件编写程序

主程序:

// 工程名称: 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, Clock_Speech.h, Clock_Adjust.h, Key.h, SPCE061A.h, // 硬件连接: 61板自带的三个按键已经连接在IOA0~IOA2上 // 维护记录: 2006-8-30 v1.0

//===============================================

//====================================================== // 文件名称: main.c // 功能描述: 主程序 // 维护记录: 2006-08-30 v1.0

//====================================================== #include \#include \#include \#include \

#include \#include \

//============================================================= // 语法格式: int main(void); // 实现功能: 主函数 // 参数: 无 // 返回值: 无

//============================================================= int main() { unsigned int KeyCode; unsigned int Flag = 0; Key_Init(); // 初始化按键扫描程序 Clock_Start(); // 初始化计时程序 while(1) {

20

KeyCode = Key_Get(); // 获取按键值 switch(KeyCode) { case KEY_1: // Key1键,播放日期/时间 if(Flag==0) { PlayDate(); Flag = 1; } else { PlayTime(); Flag = 0; } break; case KEY_LONG_1: // Key1键长按,调整日期和时间 Adjust(); break; default: break; } *P_Watchdog_Clear = 0x01; // 清看门狗 *P_SystemClock = 0x001F; // 进入睡眠模式 } }

子程序:1

//====================================================== // 文件名称: Clock.c // 功能描述: 计时模块,使用2Hz时基中断 // 维护记录: 2006-08-30 v1.0

//======================================================

#include \

typedef struct STR_CLOCK // 定义时钟结构体 { unsigned int Year; unsigned int Mon; unsigned int Day; unsigned int Hour; unsigned int Min; unsigned int Sec; unsigned int HalfSec; }CLOCK;

CLOCK Clock = {2006, 1, 1, 0, 0, 0, 0}; // 时钟初始值2006年1月1日0点0分

const unsigned int Month_Day[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每月包含的天数

21

//============================================================= // 语法格式: void Clock_ISR(void); // 实现功能: 计时模块的2Hz中断服务程序,应在IRQ5_2Hz中断中调用 // 参数: 无 // 返回值: 无

//============================================================= void Clock_ISR() { if(Clock.HalfSec==0) // 0.5秒 Clock.HalfSec = 1; else { Clock.HalfSec = 0; Clock.Sec += 1; if(Clock.Sec==60) // 处理秒进位 { Clock.Sec = 0; Clock.Min += 1; if(Clock.Min==60) // 处理分进位 { Clock.Min = 0; Clock.Hour += 1; if(Clock.Hour==24) // 处理小时进位 { Clock.Hour = 0; Clock.Day += 1; // 处理天进位 if(Clock.Day > Month_Day[Clock.Mon-1]) { if(Clock.Mon!=2 || (Clock.Year&0x03)!=0 || Clock.Day>29) { // 如果是闰年则2月29日不进位 Clock.Day = 1; Clock.Mon += 1; if(Clock.Mon > 12) // 处理月进位 { Clock.Mon = 1; Clock.Year += 1; } } } } } } } }

//============================================================= // 语法格式: void Clock_Start(void); // 实现功能: 开始计时 // 参数: 无 // 返回值: 无

//=============================================================

22


基于单片机的语音报时系统论文 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:1吨生活污水处理设计方案(周凤坤)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: