已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计实习报告课程名称语音闹钟及定时器组员学号专业班级指导老师学院信息科学与技术学院完成时间2011年7月30日1一、课程设计题目要求1、自己焊接凌阳十六位单片机实验板;2、利用实验板完成以下电路设计;3、外围电路实现以下功能A、定时器功能1、能设置定时时间并语音播报;2、外扩电路显示定时时间。B、语音闹钟在原有万年历程序基础上,修改程序使之具有如下功能开机时间为当前日期和时间;设置闹钟时间;语音或音乐闹铃。二、设计方案与论证21系统原理框图本课题是基于凌阳十六位单片机的语音闹钟定时器的开发,由于之前我们组员都未曾接触过单片机知识,我们首先通过查阅凌阳单片机的相关资料学习单片机相关知识。由于凌阳十六位单片机自带了语音录放功能,这在很大程度上减小了我们的课题难度,我们首先考虑到实现闹钟定时器功能分两个部分,即软件部分和硬件部分,通过编程可以实现对单片机外围接口的定义,将想要传送的内容(包括语音部分和显示部分)传输出去,而外围电路的设计包括语音部分、显示部分以及输入部分(键盘);由于要求只显示年月日时分秒,我们采用数码管即可实现显示功能。此外我们还要做的就是语音采集及时间显示和闹钟的切换。系统设计框图如下图211、系统设计框图2SPCE061A最小系统框图图21222主要电路设计与参数计算61板硬件框图如图所示3图221、61硬件板框图框图说明表222、框图说明61板接口说明图4图223、61板接口说明221基本参数1、工作电压45V(三节干电池);2、时间采用24小时制;3、采用六位数码管动态显示年月日/时分秒。222所需元件及元件参数1、凌阳十六位单片机组套;2、三节15V干电池;3、一片SR420561K四位数码管和两片SM420501K一位数码管;4、20位插排、数据传输线、一些导线和焊锡。223注意事项1、将61板上的J5跳线选择33V;2、在安装电池时注意正负极,否则容易烧坏芯片;3、在印制电路板上的焊接元器件前要认真对照原理图,仔细查看印制电路板,找到对应的元器件功能区;4、在电源测试期间请勿将单片机芯片插入座中,以免电源部分有问题造成芯片烧坏。5、连接外接电路时一定要注意端口对应关系,以免连接错误不能正常显示;6、在焊接外围电路时,要仔细认真,以免造成个别焊点焊接不良。23输入/输出(I/O)接口61板将SPCE061A的IOB端口引出,IOB的所有端口均设置为输出端口,IOA的低八位端口设置为输入端口,其中IOA端口的IOA0IOA2为默认的KEY1、KEY2、KEY3按键接口,IOB端口的IOB7IOB2设置为数码管的位选端口,高八位IOB15IOB8设置为数码管的段选接口。3、调试步骤31软件部分311时间显示函数题目要求我们在原有的万年历的基础上更改程序使之满足闹钟定时器功能,而原有万年历程序部分并未给出外围显示部分,因此我们小组在此基础上添加了时钟时间显示函数DISPLAY(),程序如下/文件名称CLOCK_DISPLAYC/功能描述调整日期和时间的函数集/5INCLUDE“SPCE061AH“INCLUDE“KEYH“STATICINTLED1100XFCFB,0X60FB,0XDAFB,0XF2FB,0X66FB,0XB6FB,0XBEFB,0XE0FB,0XFEFB,0XF6FBSTATICINTLED2100XFCF7,0X60F7,0XDAF7,0XF2F7,0X66F7,0XB6F7,0XBEF7,0XE0F7,0XFEF7,0XF6F7STATICINTLED3100XFDEF,0X61EF,0XDBEF,0XF3EF,0X67EF,0XB7EF,0XBFEF,0XE1EF,0XFFEF,0XF7EFSTATICINTLED4100XFCDF,0X60DF,0XDADF,0XF27F,0X66DF,0XB6DF,0XBEDF,0XE07F,0XFEDF,0XF6DFSTATICINTLED5100XFDBF,0X61BF,0XDBBF,0XF3BF,0X67BF,0XB7BF,0XBFBF,0XE1BF,0XFFBF,0XF7BFSTATICINTLED6100XFC7F,0X607F,0XDA7F,0XF27F,0X667F,0XB67F,0XBE7F,0XE07F,0XFE7F,0XF67F/IOB口的高八位接段选,低六位接位选/共阴接法0123456789的代码VOIDDISPLAYUNSIGNEDHOUR,UNSIGNEDMIN,UNSIGNEDSECINTIUNSIGNEDINTFIR_HOURUNSIGNEDINTSEC_HOURUNSIGNEDINTFIR_MINUNSIGNEDINTSEC_MINUNSIGNEDINTFIR_SECUNSIGNEDINTSEC_SECFIR_HOURHOUR/10/时钟十位要显示的数字SEC_HOURHOUR10/时钟个位要显示的数字FIR_MINMIN/10/分钟十位要显示的数字SEC_MINMIN10/分钟个位要显示的数字FIR_SECSEC/10/秒钟十位要显示的数字SEC_SECSEC10/秒钟个位要显示的数字P_IOB_ATTRIB0XFFFF/初始化IOB0IOB15带数6据缓存的高电平输出口P_IOB_DIR0XFFFFP_IOB_DATA0XFFFFP_IOB_DATALED1SEC_SECP_WATCHDOG_CLEAR0X0001FORI0I23TEMPHOUR0PLAYHOURTEMPHOURBREAKCASEKEY_3IFTEMPHOUR0TEMPHOUR23/KEY3,时数减1,到0后回复为23ELSETEMPHOURPLAYHOURTEMPHOURBREAKDEFAULTBREAK/语法格式UNSIGNEDINTSETMINUNSIGNEDINTMIN/实现功能设置分/参数MIN设置前的分/返回值设置后的分/UNSIGNEDINTSETMINUNSIGNEDINTMINUNSIGNEDINTKEYCODEUNSIGNEDINTTEMPMINMINPLAYNUMTEMPMIN/播报调整前的分钟数PLAYSNDS_FENWHILE1P_WATCHDOG_CLEAR0X01KEYCODEKEY_GETSWITCHKEYCODE17CASEKEY_1RETURNTEMPMIN/KEY1,返回调整后的分CASEKEY_2TEMPMIN/KEY2,分钟数加1,到59后变为0IFTEMPMIN59TEMPMIN0PLAYNUMTEMPMINPLAYSNDS_FENBREAKCASEKEY_3IFTEMPMIN0TEMPMIN59/KEY3,分钟数减1,到0后变为59ELSETEMPMINPLAYNUMTEMPMINPLAYSNDS_FENBREAKDEFAULTBREAK/语法格式UNSIGNEDINTSETSECUNSIGNEDINTSEC/实现功能设置秒/参数SEC设置前的秒/返回值设置后的秒/UNSIGNEDINTSETSECUNSIGNEDINTSECUNSIGNEDINTKEYCODEUNSIGNEDINTTEMPSECSECPLAYSECTEMPSEC/播报调整前的秒数WHILE1P_WATCHDOG_CLEAR0X01KEYCODEKEY_GETSWITCHKEYCODECASEKEY_1RETURNTEMPSEC/KEY1,返回调整后的秒18CASEKEY_2TEMPSEC/KEY2,秒加1,到59后变为0IFTEMPSEC59TEMPSEC0PLAYSECTEMPSECBREAKCASEKEY_3IFTEMPSEC0TEMPSEC59/KEY3,秒减1,到0后变为59ELSETEMPSECPLAYSECTEMPSECBREAKDEFAULTBREAK/语法格式VOIDADJUSTVOID/实现功能设置时间/参数无/返回值无/VOIDSETALARMHOURSETHOURALARMHOUR/设置时ALARMMINSETMINALARMMIN/设置分ALARMSECSETSECALARMSEC/设置秒PLAYSNDS_DING/播报设置后的时间CLOCK_SPEECHCPLAYHOURALARMHOURPLAYMINALARMMINPLAYSECALARMSEC/语法格式INTMAINVOID/实现功能主函数/参数无/返回值无/INTMAIN319UNSIGNEDINTKEYCODEUNSIGNEDINTFLAG0UNSIGNEDINTFLAG10KEY_INIT/初始化按键扫描程序KEYASMCLOCK_START/初始化计时程序CLOCKCWHILE1KEYCODEKEY_GET/获取按键值KEYASMSWITCHKEYCODECASEKEY_1IFFLAG0PLAYTIME/按KEY1第一次,播报时间CLOCK_SPEECHCFLAG1ELSESET/按KEY1第二次,调整闹钟MAINCFLAG0BREAKCASEKEY_LONG_1/KEY1键长按,调整日期和时间CLOCK_ADJUSTCADJUSTBREAKCASEKEY_2/按KEY2键,播报日期CLOCK_SPEECHCPLAYDATEBREAKCASEKEY_3/按KEY3键,播报闹钟时间20PLAYSNDS_DINGPLAYHOURALARMHOURPLAYMINALARMMINPLAYSECALARMSECBREAKDEFAULTBREAKIFCLOCK_GETSEC/5DISPLAYCLOCK_GETHOUR,CLOCK_GETMIN,CLOCK_GETSECELSEDISPLAYDATACLOCK_GETYEAR,CLOCK_GETMON,CLOCK_GETDAYIFALARMHOURCLOCK_GETHOUR/如果达到设定时间闹铃响最长一分钟IFALARMMINCLOCK_GETMINIFALARMSECCLOCK_GETSECFORFLAG10FLAG125FLAG1PLAYSNDS_SIFKEY_GETKEY_1/如果按KEY1键,停止闹铃FLAG126P_WATCHDOG_CLEAR0X01P_WATCHDOG_CLEAR0X01/清看门狗P_SYSTEMCLOCK0X001F/进入睡眠模式显示函数部分/文件名称CLOCK_DISPLAYC/功能描述调整日期和时间的函数集/INCLUDE“SPCE061AH“INCLUDE“KEYH“STATICINTLED1100XFCFB,0X60FB,0XDAFB,0XF2FB,0X66FB,0XB6FB,0XBEFB,0XE0FB,0XFEFB,0XF6FBSTATICINTLED210210XFCF7,0X60F7,0XDAF7,0XF2F7,0X66F7,0XB6F7,0XBEF7,0XE0F7,0XFEF7,0XF6F7STATICINTLED3100XFDEF,0X61EF,0XDBEF,0XF3EF,0X67EF,0XB7EF,0XBFEF,0XE1EF,0XFFEF,0XF7EFSTATICINTLED4100XFCDF,0X60DF,0XDADF,0XF27F,0X66DF,0XB6DF,0XBEDF,0XE07F,0XFEDF,0XF6DFSTATICINTLED5100XFDBF,0X61BF,0XDBBF,0XF3BF,0X67BF,0XB7BF,0XBFBF,0XE1BF,0XFFBF,0XF7BFSTATICINTLED6100XFC7F,0X607F,0XDA7F,0XF27F,0X667F,0XB67F,0XBE7F,0XE07F,0XFE7F,0XF67F/IOB口的高八位接段选,低六位接位选/共阴接法0123456789的代码VOIDDISPLAYUNSIGNEDHOUR,UNSIGNEDMIN,UNSIGNEDSECINTIUNSIGNEDINTFIR_HOURUNSIGNEDINTSEC_HOURUNSIGNEDINTFIR_MINUNSIGNEDINTSEC_MINUNSIGNEDINTFIR_SECUNSIGNEDINTSEC_SECFIR_HOURHOUR/10/时钟十位要显示的数字SEC_HOURHOUR10/时钟个位要显示的数字FIR_MINMIN/10/分钟十位要显示的数字SEC_MINMIN10/分钟个位要显示的数字FIR_SECSEC/10/秒钟十位要显示的数字SEC_SECSEC10/秒钟个位要显示的数字P_IOB_ATTRIB0XFFFF/初始化IOB0IOB15带数据缓存的高电平输出口P_IOB_DIR0XFFFFP_IOB_DATA0XFFFFP_IOB_DATALED1SEC_SECP_WATCHDOG_CLEAR0X000122FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED2FIR_SECP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED3SEC_MINP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED4FIR_MINP_WATCHDOG_CLEAR0X0001FORI0I0X00FFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED5SEC_HOURP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED6FIR_HOURP_WATCHDOG_CLEAR0X0001FORI0I0X0011I/延时P_WATCHDOG_CLEAR0X0001VOIDDISPLAYDATAUNSIGNEDYEAR,UNSIGNEDMON,UNSIGNEDDAYINTIUNSIGNEDINTFIR_YEARUNSIGNEDINTSEC_YEARUNSIGNEDINTFIR_MONUNSIGNEDINTSEC_MONUNSIGNEDINTFIR_DAYUNSIGNEDINTSEC_DAYFIR_YEARYEAR/1010/年十位要显示的数字SEC_YEARYEAR10/年个位要显示的数字FIR_MONMON/10/月十位要显示的数字SEC_MONMON10/月个位要显示的数字23FIR_DAYDAY/10/日十位要显示的数字SEC_DAYDAY10/日个位要显示的数字P_IOB_ATTRIB0XFFFF/初始化IOB0IOB15带数据缓存的高电平输出口P_IOB_DIR0XFFFFP_IOB_DATA0XFFFFP_IOB_DATALED1SEC_DAYP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED2FIR_DAYP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED3SEC_MONP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED4FIR_MONP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED5SEC_YEARP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001P_IOB_DATALED6FIR_YEARP_WATCHDOG_CLEAR0X0001FORI0I0X00EFI/延时P_WATCHDOG_CLEAR0X0001语音部分24/文件名称SOUNDC/功能描述语音播放函数/INCLUDE“SPCE061AH“INCLUDE“A2000H“/语法格式VOIDPLAYSNDINTSNDINDEX/实现功能播放一段语音/参数SNDINDEX待播报语音的序号/返回值无/VOIDPLAYSNDINTSNDINDEXSACM_A2000_INITIAL1/初始化为自动播放SACM_A2000_PLAYSNDINDEX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年食品加工生产线升级项目评估报告
- 2025年渔业年度工作总结
- 市政污水管维修调排水方案及流程
- 地下连续墙施工质量控制要点
- 2025年抗肿瘤药物临床合理使用考试试题及答案
- 财务部年度工作总结报告范文
- 2025年工程质量监管年度工作总结
- 2025年节后复工复产通信施工安全知识培训考试题及答案
- 人造草坪技术交底
- 建设工程施工合同纠纷要素式起诉状模板贴合实际案例
- 口述史研究活动方案
- 高压燃气管道施工方案
- 房屋租赁合同txt
- 加工中心点检表
- 水库清淤工程可行性研究报告
- THBFIA 0004-2020 红枣制品标准
- GB/T 25630-2010透平压缩机性能试验规程
- GB/T 19610-2004卷烟通风的测定定义和测量原理
- 精排版《化工原理》讲稿(全)
- 市场营销学-第12章-服务市场营销课件
- 小微型客车租赁经营备案表
评论
0/150
提交评论