带语音报时功能的万年历的设计_第1页
带语音报时功能的万年历的设计_第2页
带语音报时功能的万年历的设计_第3页
带语音报时功能的万年历的设计_第4页
带语音报时功能的万年历的设计_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)带语音报时功能的的万年历的设计

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:

学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日

注意事项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、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日北京化工大学北方学院毕业设计(论文)PAGEPAGE47教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格教研室主任(或答辩小组组长):(签名)年月日教学系意见:系主任:(签名)年月日带语音报时功能的的万年历的设计摘要万年历是现代人类生活中必不可少的工具,带语音功能的万年历在电子万年历多功能化发展的今天更是必不可少的一个方向。语音万年历有突出的播报时间功能,它被广泛用在生活中的各种领域。本设计就是从日常生活着手,通过对语音万年历的设计,让我对单片机已经进入到我们生活的每个领域有了更深的了解。本系统采用凌阳公司的SPCE061A单片机为控制核心;语音报时系统使用凌阳单片机本身具有的特色语言功能。本设计从语音万年历设计原理、设计方案着手,详细介绍了系统的硬件设计、软件设计和调试。在语音万年历的设计中,要处理好:语音的识别,D/A(数/模)的转换,人机接口,程序的设计。语音的识别技术和D/A(数/模)影响到时间的正确播报,播报时间和调整时间的关键是人机接口。关键词:实时万年历SPCE061A单片机语音报时TheDesignoftheSpeechCalendarAbstractCalendarisanessentialtooltothemodernhumanlife.Thecalendarwithspeechfunctionisanindispensabledirectioninthedevelopmentofvariousfunctionsofelectroniccalendartoday.Speechcalendarhaveprominentbroadcastingtimefunction,whichiswidelyusedinvariousfieldsoflife.Thisdesignisstartingfromthedailylife.DesigningthespeechcalendarletmehaveadeeperunderstandingofSCMwhichhasbeingcomingtooureveryareasoflife.ThesystemusesSPCE061Aofthesunpluscompanyascontrolcore.Phonetictimesystemsusethecharacteristicspeechfunctionofsunplusmicrocontrolleritself.Thedesignisfromthestartthatprincipleofdesign,designschemeofspeechcalendartointroduceinhardwaredesign,softwaredesignandcommissioningofthesystemindetail.Inthedesignofspeechcalendar,weshoulddealwithspeechrecognition,D/A(number/die)conversion,man-machineinterfaceandtheprogramdesign.SpeechrecognitiontechnologyandD/A(number/die)affectthecorrecttimebroadcasts,andthekeyofbroadcasttimeandadjusttimeisman-machineinterface.Keywords:CalendarSPCE061ASpeechFunction目录TOC\o"1-2"\h\u7651前言 114549第1章课题研究价值 217464第1.1节选题背景 219446第1.2节本设计的工作安排 24821第2章语音电子万年历的原理和方案 318400第2.1节设计原理 324569第2.2节设计方案 413679第3章语音电子万年历的硬件设计 520857第3.1节系统硬件结构 51803第3.2节系统硬件结构 727767第3.3节程序下载区 1657第3.4节音频模块 1813710第3.5节语音模块 1819889第3.6节数/模转换模块 1932527第3.7节电源模块 1922287第3.8节SPLC501液晶显示模组 2015989第4章语音电子万年历的软件设计 2324323第4.1节IDE集成开发环境 2319010第4.2节程序设计 2828222第5章测试与调试 3411221第5.1节硬件的测试 349822第5.2节61板的测试 3519720第5.3节程序的调试 3617836附录 4018317参考文献 4610607致谢 47前言单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机得到了蓬勃的发展,功能也日趋完善。它集成的资源越来越多,内部资源也存储的日益丰富,用户无需扩充资源即可完成项目的开发,小巧精美,开发简单,系统稳定性也越来越好。其抗干扰能力的不断加强,使之更适合工业领域的控制。具有了更广阔的市场前景。随着人们对事物要求越来越高,单片机也发生了巨大的变化,尤其是应用软件技术上,从汇编语言到C语言开发,大大提高了语言的结构性、可读性,也方便了跨平台的移植操作。第1章课题研究价值第1.1节选题背景近些年来我们的生活中广泛出现带语音功能的电子器件和电子设备。语音万年历是现在电子万年历发展的必然趋势,把语音加入到万年历中实现时间的语音播报功能。本设计基于凌阳61A单片机的语音报时系统,利用凌阳61A板是一个本身带有语音识别、播放功能的单片机来进行时间播报。以及用SPLC501液晶显示器来显示当前时间、农历、日期、星期、闹铃开关。单片机的应用能实现各种控制策略和算法。具有功耗低,体型小,低成本,功能好的特点,在国内受到广大用户的重视和广泛的应用。伴随着单片机集成化程度的提高,目前单片机已经具备了数字信号处理的功能。SPCE061A是由信号处理器芯片以及u’nSPTM16位微控制器组成内核的16位单片机,模块式集成结构,片内集成了2KB的RAM、32KB的Flash、DAC、ADC和并行I/O等。第1.2节本设计的工作安排本设计是基于凌阳单片机,系统设计是以单片机的语音电子万年历为基础。利用凌阳单片机的方便、处理速度快、具有语音功能等优点,结合了SPLC501的强大的显示功能,设计出的功能多、精度高的语音电子万年历。设计安排如下:第一章提出设计原理和方案。第二章按设计方案进行语音电子万年历的硬件设计,电路原理图的各模块利用Prote1199绘制。第三章深入研究语音电子万年历的功能。画出各部分的程序流程图,据流程图编写源程序。第四章硬件测试和软件调试。源程序调试通过集成开发环境IDE来进行。第五章总结全文,写出设计体会和设计不足的地方。简述对本设计用途的前景。第2章语音电子万年历的原理和方案第2.1节设计原理带语音的电子万年历要具备的以下功能:(1)时间和日期的语音播报。(2)日期、星期、时间、农历、闹钟可以在SPLC501液晶模组上面显示。(3)能够整点报时。(4)具备闹钟功能。2.1.1万年历功能万年历功能的设计利用SPCE061A芯片的定时/计数器和时钟频率。16位节后的微控制器能够为语音电子万年历提供一个频率稳定的方波信号(32768Hz),另外其特有的校正电容还可以进行温度补偿,来提高稳定度和频率精确度,保证了语音万年历的走时准确及稳定。系统工作时,整个系统的时基信号是秒信号产生器,秒信号器采用60进制计数,它能将标准秒信号送入秒信号器。每60秒发出一个分脉冲信号,该信号会作为分计数器的时钟脉冲。分计数器也采用60进制计数器,每60分钟,发出一个时脉冲信号,此信号会被送到时计数器。时计数器采用24进制计数器,能对一天24小时进行累计,每累计24小时发出一个天脉冲信号。周计数器采用7进制计时器,能对一周7天进行累计,每累计7天会发出一个周脉冲信号,该信号将被送到周计数器。由中断程序控制年计数器,年计数器用365进制或366进制计数,对年进行累计。显示电路将年、星期、时、分、秒计数器的输出状态发送到SPLC501液晶显示器来显示。2.1.2语音输出功能音频输出利用外接喇叭和SPY0030A芯片的语音输出功能进行。凌阳公司专门开发了SY0030A芯片用于语音信号放大。插针外接喇叭和语音输出接口J3,通过DAC输出引脚22或21经SPY0030A芯片语音集成放大器进行放大输出。第2.2节设计方案经分析,本设计采用模块结构来实现。语音电子万年历的组成主要有:SPLC501液晶模组、压缩编码模块和D/A(数/模)转换模块、语音输入与A/D(模/数)转换模块、输入按键信息模块、系统初始化模块。能够实现定时功能,调整和单独播报时、分和年、月、日,以及复位键对设定值的清零操作。各模块的功能如下:(1)SPLC501液晶模组:能够显示当前的时间、日期、农历、星期、闹钟。(2)压缩编码模块:数字信号输入,进过压缩函数处理,压缩编码输出。(3)D/A(数/模)转换模块:数字信号输入,D/A(数/模)转换,模拟信号输出。(4)语音输入及A/D(模/数)转换模块:语音信号输入,A/D(模/数)转换,数字信号输出。(5)输入按键信息模块:先进行输值,等待系统中断并做出中断处理,把调用相应的处理程序进行输出。(6)系统初始化模块:输入子小模块和一些变量,赋初值处理,把模块的初始状态和变量输出。第3章语音电子万年历的硬件设计第3.1节系统硬件结构3.1.1万年历功能语音电子万年历的系统结构如下图,整个系统的控制中心是61板,它能负责液晶显示的驱动;年、月、日、星期以及时间的计算;控制键盘扫描;液晶显示模组能够显示:功能选择菜单和时间日期的调整菜单以及显示当前的时间、日期;播报当前的日期或者时间。电源电源61板KEY1KEY2KEY3KEY1KEY2KEY3I/O口SPLC501A液晶显示模组I/O口SPLC501A液晶显示模组电源接口I/O口SPCE061ASPCE061A音频音频扬声器扬声器图3.1带语音功能电子万年历的系统结构图硬件连接:IOA的高八位以及IOB的4、5、6连接液晶模组。还用到了语音输出模块以及三个按键。DC4.5V电源DC4.5V电源IOB4IOB5IOB6+SPCE061AIOA8精简开发板IOA9IOA10IOA11IOA12IOA13IOA14IOA15—AOR/WEP+DB0SPLC501DB1液晶显示模组DB2DB3DB4DB5DB6DB7—喇叭喇叭图3.2带语音功能电子万年历的电路连接图3.1.2按键功能的描述带语音功能的电子万年历的按键功能介绍如下:首界面:(1)按KEY1键:进入功能选择界面。(2)按KEY2键:播报当前的时间。(3)按KEY3键:播报当前的日期。(4)KEY2、KEY3键同时按下:控制闹钟的开与关。进入功能选择菜单,KEY1:确定键,KEY2:下翻键,KEY3:上翻键。分别显示以下选项:(1)时间日期调整。(KEY1:确定键,KEY2:加一键,KEY3:减一键,液晶显示器上闪烁的部分为正在调整的选项,设置完成后,按KEY1自动退出设置界面。)(2)闹钟设置。(KEY1:确定键,KEY2:加一键,KEY3:减一键,液晶显示器上闪烁的部分为正在调整的选项,设置完成后,按KEY1自动退出设置界面。)(3)秒表功能。(KEY1:退出键,KEY2:开始/暂停键,KEY3:清零键,秒表停止运行时KEY3有效。)(4)返回。(KEY1:确认键,按下后,系统回到显示界面。)图3.3按键功能结构图第3.2节系统硬件结构SPCE061A芯片内部集成了FLASH(闪存)、SRAM(静态内存)、ICE(在线实时仿真/出错器)、通用I/O端口、ADC(模拟数字转换器)、DAC(数字模拟转换器)输出、定时器/计数器、CPU时钟锁相环(PLL)中断控制、SIO(串行输入输出接口)、UART(同步串行输入输出接口)、低电压监测/低电压复位模块。u`nSP的核心由总线、寄存器组、ALU算数逻辑运算单元、堆栈及中断系统等组成。3.2.1SPCE061A的性能简介(1)工作电压为3.0-3.6V,VDDH为3.0-5.5V。(2)16位微处理器。(3)CPU时钟:0.32-49.152MHz.(4)内置32KFLASH。(5)内置2KSRAM。(6)晶体振荡器。(7)可编程音频处理。(8)32位通用可编程输出、输入通道。(9)两个10位DAC输出通道。(10)可播放压缩的语音资源。(11)内置麦克风放大器,并有自动增益控制功能(12)内置在线仿真电路接口。3.2.2SPCE061A的引脚实物图如下:图3.4SPCE061A的实物图结构图如下:图3.5SPCE061A的引脚图3.2.3SPCE061A内核的结构SPCE061A内核由总线、寄存器组、算数逻辑运算单元(ALU)、中断体统和堆栈等组成。ALU功能特色:(1)16位基本算数逻辑运算。(2)带移位操作的16位算数逻辑运算。3.16*16位的乘法运算和内积运算。(1)算数逻辑运算器ALU前面串接一个SHIFTER移位器,可以使操作数先进行移位处理,再经ALU进行逻辑运算。移位包括:算数右移、逻辑右移、逻辑左移、循环右移以及循环左移。因此,SPCE061A指令系统里有一组能完成移位和逻辑运算操作两项功能的复合式移位算术逻辑操作指令。(2)片内存储器结构2K的SRAM,地址范围:0x0000-0x07FF,其中0x0000-0x003F地址可直接寻址,速度为2个时钟周期,0x0040-0x07FF速度为3个时钟周期。堆栈是RAM按照“先进后出”原则存储数据的工作方式。用于中断处理断电的保护及返回和子程序调用及返回,最大容量为2K。注意,系统复位,SP初始化:0x07FF,每执行PUSH一次,SP指针减一。32K闪存容量的SPCE061A是一个用闪存代替ROM的MTP芯片。可用闪存存储程序。用户通过向P-Flash-Ctrl单元写入0xAAAA;激活闪存存取功能,进而访问闪存。向P-Flash-Ctrl单元写入0xAAAA擦除页的内容。而写入0x5533,对闪存变成。中断、ICE的单步跟踪等任何其他程序都不能打断。闪存控制器必须让闪存处于编程状态。。若其他进程插到当前执行队伍,闪存状态改变,编程和擦除页操作不能继续进行。另外,用户必须在编程前擦除页内容。第一页地址范围为:0x8000-0x80FF,最后一页地址范围为:0xFF00-0xFFFF.页大小0x100。系统保留0xFC00-0xFFFF范围内的地址,用户不要用此范围内地址。32K内嵌式闪存划分成128页,CPU运行正常时均可通过程序写入或擦除。上电后,芯片就处于读存储单元状态,操作与SRAM相同。(3)输入/输出接口输入端口从外界接收键盘信号、检测信号等开关量信号。输出端口向外界输送产生的处理结果、控制命令、显示信息、驱动信号等。u`nSP内有串行和并行两种方式的I/O口。串行口传输速率较低但可以节省大量的电路成本,与串行口相比,并行口线路成本高,但传输速率也高。SPCE061A有A口和B口两个16位通用并行I/O口,他们每一位都可以通过编程单独定义为输入口或输出口。A口的I0A0-I0A7当输入口时有唤醒功能,当输入电平变化时CPU中断。CPU的睡眠模式可以降低功耗,需要时按键唤醒,使之进入工作状态,广泛用于电池供电、低耗能的场合。SPCE061A的I/O口每一位都可以被单独定义,用于输入、输出数据。对某一位设定包括三个基本项:数据向量、属性向量、方向控制向量。三个端口内每个对应的组位合起来形成一个控制字,来定义输入状态和方式。每个对应的状态下,I/O端口性质电路都是内置的,实际电路中不需再接。P_IOA/B_Buffer(读)上拉P_IOA/B_Buffer(读)P_IOA/B_Dater(写)数据寄存器和逻辑控制P_IOA/B_Dater(写)数据寄存器和逻辑控制P_IOA/B_Buffer(写)P_IOA/B_Buffer(写)P_IOA/B_Dir(读/写)P_IOA/B_Dir(读/写)P_IOA/B_Attrib(读/写)P_IOA/B_Attrib(读/写)P_IOA/B_Buffer(读)P_IOA/B_Buffer(读)图3.6I\O端口的结构表3.1I\O组合控制设置表方向属性数据功能是否有唤醒功能功能描述000下拉*是**带下拉电阻的输入管脚001上拉是**带下拉电阻的输入管脚010悬浮是**悬浮式输出管脚011悬浮否悬浮式输出管脚***100高电平输出否带数据反相器的高电平输出101高电平输出否带数据反相器的高电平输出110高电平输出否带数据缓存器的低电平输出111高电平输出否带数据缓存器的低电平输出注:*:默认带下拉电阻的输入管脚。**:控制字是000,001,010时,才有唤醒功能。***:ADCIOA(0—6)输入。3.2.4时钟电路系统的时钟是由时间基准信号、锁相环、时钟发生器组成的。(1)首先由实时时钟(32768Hz)经过PLL倍频电路产生了系统时钟频率,系统时钟频率再经过分频得到CPU时钟频率,它可通过对P-SystemClock单元编程来控制。系统时钟频率和时钟频率分别为24.576MHz和Fosc/8.可以通过对P-SystemClock单元编程来完成对系统时钟以及CPU时钟频率定义。SPCE061AX1/RX020pf20pf图3.7时钟电路图RTC振荡器的工作方式有两种:自动弱振模式和强振模式。当处于自动弱振模式,系统会在上电复位后的前7.5s内处于强振模式,之后由于需要降低功耗会自动切换到弱振模式。当处于强振模式,RTC振荡器就会始终的运行于高耗能状态下。当CPU被唤醒,此时默认的始终频率是Fosc/8,可以根据需要进行调整。唤醒进过32个时钟周期的缓冲后再进行其他操作。(2)锁相环PLL振荡器,系统默认的PLL自激震荡频率是24.576MHz。PLL电路可以将实时时钟的基频进行倍频,调节为20.480MHz、24.576MHz、32.768MHz、40.96MHz、49.152MHz。(3)时间基准信号,简称为时基信号,它的选频逻辑TMB1为中断源系统提供中断信号并为TimerA的时钟源提供各种频率选择信号。另外,时基信号发生器还可以为中断系统提供各种实施中断源信号。(4)定时器/计数器两个16位定时/计数器分别是:TimerA通用计数器和TimerB多功能计数器。TimerB的时钟源仅为时钟源A,而TimerA的时钟源是由时钟源A和B进行与操作形成的。定时器溢出后产生溢出信号。(1)它作为4位计数器计数的时钟源信号,会输出一个4位可调脉宽调制占空比输出信号,调控马达或其他设备的速度。(2)它会传输给CPU中断系统。(3)可用于DAC输出的数据锁存和触发ADC输出的自动转换过程。在向定时器的P-TimerA-Data单元或P-TimerB-Data单元写入计数值N后,选择合适时钟源,定时/计数器在所选时钟频率下以递增方式计数。当达到0xFFFF后溢出,产生中断请求信号,CPU响应,送入中断控制器处理。同时,N被重新载入定时/计数器重新计数。通过写入P-TimerA-Ctrl单元的6-9位,可以选择设置APWMO的输出波形脉宽占空比;同理适合P-TimerB-Ctrl.时钟源A来自带锁相环的晶体振荡器输出Fosc,是高频时钟源;而时钟源B则来自时钟系统,可以作为精确计数器。3.2.5中断系统SPCE061A单片机可提供14个中断源,有两个中断优先级,能实现两级中断嵌套功能。用户可用开中断指令使CPU接受中断请求,也可以用关中断指令屏蔽所有中断请求。每个中断源可用软件独立控制开或关中断状态,但中断级别不能用软件设置。中断类型:异常中断、软件中断和事件中断。(1)异常中断异常中断(复位)一旦发生,CPU立即进行处理。异常中断可由三种情况引起:上电、系统电源低于电压底线以及看门狗计数器溢出。无论哪种情况引起复位,复位引脚的电位都会变低,程序指针PC由复位向量所指的系统复位程序入口地址。(2)软件中断软件中断是由软件指令产生的中断,向量地址为FFF5H(3)事件中断此中断的禁止或开通,由相应的FIQ或IRQ总使能控制和相应的独立使能控制。事件中断产生于外设中断输入引脚引入的某事件或片内设部件。中断采用两种方式:FIQ快速中断请求和IRQ中断请求,他,他们都有相应的总使能。SPCE061A设有9个中断向量,分别为IRQ0-IRQ6、FIQ、UART以及IRQ。他们可安置14个中断源使用。其中四个可安置在IRQ0-IRQ2中,其他十个安置在IRQ3-IRQ6中。14个中断源分为两个外部中断、两个定时器溢出中断、一个串行口中断、一个触键唤醒中断、PWM音频输出中断和7个时基信号中断。其中,快速中断高于普通中断优先级,IRQ中断中IRQ1优先级高于IRQ2,IRQ2高于IRQ3,序号越高中断优先级越低,中断优先级最低的是UART。IRQ中,中断查询有先后,但不能进行中断嵌套。在同中断向量中,中断源中断优先级相同。中断响应的过程中断发生到被响应再到执行中断服务程序是一个复杂的过程。此过程都是在CPU控制下有序完成的。(1)中断的查询61板会把所有中断请求汇集到P-INT-Ctrl和P-UART-Command2寄存器中。其中音频输出中断、定时中断、串行异步中断、触键唤醒、时基中断的请求因为发生在内部,可直接去置位P-INT-Ctrl和P-UART-Command2中各自的中断请求来标着,没有采样问题,而外中断需要采样将中断请求锁定在P-TNT-Ctrl寄存器的相应标志位。中。查询就是CPU分别测试P-INT-Ctrl和P-UART-Command2中各自的标志位状态,以确定中断请求是否发生以及是哪个,中断请求的汇集是查询变得更加简单,只需对两个寄存器分别查询。每一个指令周期结束后中断查询开始发生,按中断优先级查询,即先查询FIQ高级中断在查询IRQ低级中断,IRQ0-IRQ1-IRQQ3-IRQ4IRQ5-IRQ6-UART顺序查询。若有标志位为“1”,则有中断请求发生。中断请求随即发生,CPU无法预知,所以在每个指令结束后需不停的进行。(2)中断响应中断响应就是中断查询后CPU检测到有效中断请求,接收中断请求并进行中断响应。主要内容为硬件自动生成的一条格式为CALLaddR16(中断入口,由系统设定)的调用指令。中断响应并不是查询到中断请求都能立即响应,当存在以下情况,中断响应会被封锁:CPU处在高级或同级的中断服务中。中断响应的时间由两部分组成,即中断信号出现到CPU响应和CPU响应到进入中断程序所用的时间之和。中断响应后,P-INT-Ctrl和P-UART-Command2中中断请求标志需立即清除,否则会造成重复查询和响应。中断入口清中断标志位中断入口清中断标志位现场恢复关中断现场恢复关中断现场保护现场保护开中断开中断中断源判断中断源判断进入相应中断处理中断返回进入相应中断处理中断返回图3.8中断流程图3.2.6最小体统和开发方法(1)图3.9最小系统电路图最小系统如上图所示,晶振和谐振电容连接在OSC0、OSC1上,锁相环压控振荡器的阻容输入端上接对应的电容电阻。地端和不用的电容接上0.1uF的去耦电容,用以提高抗干扰能力。(2)开发方法调试器RPOBE是一个编程器也是一个实时在线调试器,开发就是通过它来实现的。它可以代替硬件在线实时仿真器和程序烧写器,利用了凌阳公司的在线串行编程技术和内置在线仿真电路。PROBE在IDE集成开发环境软件包下工作,它的5芯仿真头直接插到目标电路板上61的相应管脚,可以直接在目标电路CPU-SPCE061A上调试,运行编程。PROBE的另一头可直接连到计算机打印口和上位机通讯,是标准的25针PC接口,在IED集成开发环境软件包下,进行调试功能。图3.10开发调试下载图第3.3节程序下载区ICE的运行是通过ICE伪指令和控制clock方式,来控制缓存器资料和内存资料的存取以及控制CPU的运行。所以要控制目前CPU的动作必须通过控制设定缓存器的值。61板上的74HC244是在程序下载时起缓存作用和选择SDA是用作数据下载还是数据回送。程序下载电路如图所示:图3.11程序下载图图3.12芯片引脚线路图第3.4节音频模块音频模块是通过MICROPHONE输入我们要求的语音信息,再由61板处理采集的语音信号,提出特征参数,与储存在外扩Flash内特征参数模板匹配。图3.13音频模块电路图第3.5节语音模块SPY0030A是专门用于语音信号放大的芯片,与LM386相比优势是:输出功率高、工作电压低、低失真。语音模块电路图如下:图3.14语音模块电路图第3.6节数/模转换模块音频输入就是把声音信号通过SPCE061A芯片中的模/数采集、处理后又通过数/模转换还原后,由功率放大电路把声音播出。SPCE061A提供了DAC1和DAC2两条通道,并且有7个10位ADC通道,一个用于语音输入,其余6个通道引脚共享,可将模拟信号转换成数字信号。0V-AVdd是模/数转换的范围。超过VDD+0.3V或低于VSS-0.3V会影响转换电路从而影响AD性能。第3.7节电源模块61板需要由J10接入3节5号电池供电,为去偶滤波,使其供给芯片更平滑,前后要接两组电容。加入三端稳压器可获得标准3.3V电压。为防止误将电源接反,加两个二极管。后面零电阻和不同的几路电源为减少电磁干扰。电源电路图如下:图3.15电路原理图第3.8节SPLC501液晶显示模组3.8.1SPLC501的组成SPLC501液晶显示模组由复位键、液晶显示器、模组接口及跳线和电源指示灯表3.2接口引脚说明接口引脚名说明CS1片选,低有效RES复位脚AO数据命令选择脚R\W6800系列MPU的读\写信号8080系列MPU的时钟信号EP6800系列MPU时钟信号使能脚8080系列MPU的读信号DB08位数据总线DB1DB2DB3DB4DB5DB6DB7VR端口输出电压C86C86=L选择8080MPU系列C86=H选择8080MPU系列PS串、并行时序选择电路原理图如下:图3.16显示器电路原理图图3.17显示器电路原理图3.8.2SPLC501驱动控制芯片SPLC501为液晶显示控制驱动器,采用SPLC501A芯片为驱动控制芯片,集成控制器和列驱动器。可直接连于其他微控制器接口总线。通过串行接口和8位数据总线,微控制器将显示数据写到SPLC501的显存中。SPLC501采用先进的COG技术和GPG12063YS3LCD模块,将芯片嵌在LCD玻璃上,如图所示:128﹡64128﹡6400—127SPLC501CSPLC501C图3.18SPLC501结构图3.8.3SPLC501的显示RAM区映射显示器上的显示点与缓存RAM是一一对应的;显示器的显示点阵为64X128,而SPLC501A芯片有65X132个位,所以有用的显示RAM区为64X128。按Byte划分,分8个page,每个为8行,每行128位。在驱动控制芯片显示RAM区对应屏幕上点的排列方式:低位在上高位在下,纵向排列。3.8.4SPLC501行和列地址要点亮LCD屏上的某点,需确定该点所处的行地址、列地址,并对其进行置1操作;每个page有8行,列地址表示该点横坐标,从左到右排,每Byte对应一列,达128列。据此控制LCD显示屏显示。芯片上每个page的RAM前4个byte没有对应点。第4章语音电子万年历的软件设计第4.1节IDE集成开发环境IDE开发环境,能够完成编译、编辑、连接、调试和仿真等功能。IDE开发界面如图:图4.1u'nSPIDE的开发界面多窗口操作是u'nSPIDE的一大特色,程序可由多文件组成,采用建立项目对其管理,用户可随意删除、添加程序文件。窗口切换只需单击鼠标左键,主界面里还提供工具栏和下拉菜单等。U'nSPIDE有两种状态:1.编辑状态,用户对工程进行设置操作、文件删增、程序编写。2.仿真状态,运行编译程序,验证程序正确性,或下载在线调试。U'nSPIDE仿真调试可分为软件仿真和在线调试。仿真不需要下载线、开发板或在线调试;而在线调试时,需要下载线、开发板连接好,开发板供电。4.1.1IDE的工作操作(1)工程内各类文件①资源文件:扩展名为“re”的文件包括此时工程的所有信息。②工程文件:扩展名为“spj”的工程文件包括各种创建一个工程所需的信息。③MakeFile文件④C语言文件⑤资源表文件和资源表头文件(2)创建工程①在File中选择New打开,选择project标签。②输入工程名。③输入工程文件路径。④在SelectBodyHere中选择Probe。⑤单击OK。此时,生成新工程,显示在Workspace窗口中,若没有窗口,通过在View中选择Workspace点击打开窗口。图4.2创建工程图(3)生成源文件①在File中选择New打开对话框。②在File页中选择SPIDECFile。③把源文件名称输入File框中。④点击OK。(4)把资料和文件添加到工程中有两种添加方式,分别是:①在Project中选择AddtoProject,点击File\Resource,来激活对话框。②鼠标右击工程窗口的文件夹,选择AddFileToFolder,激活对话框。在对话框内选择文件后,单击Open,添加文件。图4.3源文件的生成图示图4.4添加资料和文件(5)打开工程从RecentProject菜单中打开工程。①在File中选择Open单击打开。②Type中点击ProjectFiles(*spj)。③选择工程,点击Open。4.1.2IDE的在线仿真SPCE061A的开发系统是由编程器、软件开发、下载线和仿真器结合而成的,无需插拔芯片、电源、电缆等连线和操作,极大的提高了开发和学习的效率。其片内整合了可在线编程控制的模块,配合下载线就可以轻松的下载编译代码到开发系统上进行演示和验证。整个流程只需利用操作鼠标即可。流程如下:程序下载程序下载程序运行程序运行程序打断程序打断图4.5在线仿真流程图4.1.3IDE的软件仿真软件仿真模拟硬件部分功能无需连接仿真版,通过窗口可观察程序运行情况。其可实现PWM和I\O状态的仿真功能。(1)PWM仿真在工具栏中单击Body,弹出对话框中选择PWM。出现PWMWave窗口数字示波器,可以将数字信号转换模拟信号,再通过PWM输出声音数据显示在窗口上。程序运行,即可看到PWM波形的占空比,如图所示:图4.6PWM软件仿真(2)状态仿真在工具栏中单击Body,弹出对话框中选择PortIO。运行程序可见I\O现象。若0-f为灰,表示输出状态,若为黑,小时输入状态。按下键表示输入高电平,此时I\O对应灯亮,不亮表示输出低电平,如图:图4.7I\O状态仿真第4.2节程序设计编程过程中,运用了两大类程序模块分别是:程序接口和程序。通过接口高级程序模块能调用本级模块定义的全局变量,或者是本级程序模块的函数或子程序。模块代码的调用需遵循调用协议,调用协议就是:让不同子程序汇聚,并完成定义子程序返回值和调用,以及两个子程序的参数传递和控制的常规规则。调用协议包含要素:(1)子程序的返回值。(2)参数传递。(3)中间寄存器。协议具体内容:(1)参数的传递参数被反相压入栈中。若调用发生于声明前,则参数不进行数据转换,若发生在声明后,参数转换成原型被声明的数据类型。(2)堆栈的排列和维护切忌程序返回时弹出调用程序压进栈中的参数。(3)返回值32位返回值存入R1、R2寄存器中,16位返回值存入R1寄存器中;高字在R2,低字在R1中。返回结构需放指针到R1中。4.2.1软件的结构结合IDE程序设计规则和开发环境,可设计以下软件结构如图:Main.cMain.cSystem.cSpeak.cSystem.cSpeak.cKey.cIsr.asmKey.cIsr.asm图4.8软件的结构图功能描述:(1)main.c能够实现开机画面的显示,系统初始化,语音报时以及键盘扫描。(2)system.c包含大部分功能函数,了时间日期调整,显示界面,秒表的调整和闹钟时间设定等。(3)key.c实现了查询方式的键盘扫描,定义了延时函数和扫描键盘函数。(4)speak.c播报语音函数实现语音播报时间,日期和闹钟。(5)isr.asm实现秒表,时间、日期修改以及语音解码。4.2.2主程序主程序初始化了液晶显示模块以及整个工程所用的变量。主程序调用扫描键盘程序,进行对I\O口第三位的扫描,若有键按下,相应键值存入变量,通过主程序判断并执行功能。按下KYE1键,进入选择功能菜单,这时候KEY1是确定键,KEY2是向下翻,KEY3是向上翻;按下KYE2键,播报时间;按下KEY3键,播报此时日期;若同时按下KEY2键和KEY3键,控制闹钟开关。开始开始初始化各种变量,初始化各种变量,初始化液晶显示开机画面显示开机画面打开2HZ中断打开2HZ中断闹钟到闹钟到播放乐曲播放乐曲YN报时整点到报时整点到YN键盘扫描键盘扫描判断按键执行相应功能有键按下?判断按键执行相应功能有键按下?YN清看门狗清看门狗图4.9主程序的流程图时间日期流程模块用到2Hz时基中断,实现日期更新和计时。通过查表实现农历的查询。开始开始2HZ中断两次天=当月天数NN2HZ中断两次天=当月天数Y秒加1Y秒加1天清0,月加1天清0,月加1秒=60?N秒=60?查表确定农历当月天数查表确定农历当月天数Y秒清0,分加1天=当月天数N秒清0,分加1天=当月天数分=60?N分=60?Y天清0,月加1Y天清0,月加1分清0,时加1分清0,时加1月=12?N月=12?时=24?N时=24?Y月清0,年加1月清0,年加1Y时清0,天加1时清0,天加1年=2100?N年=2100?由平/闰年确定当月天数Y由平/闰年确定当月天数年=2001年=2001返回返回图4.10时间日期模块的流程图4.2.3中断服务程序三个中断服务程序分别是:用于播放语音的FIQ中断服务程序,用于秒表计时的中断服务程序,用于计时的中断服务程序。图4.11FIQ中断程序的流程图寄存器入栈寄存器入栈判断是否为2HZ中断判断是否为2HZ中断调整时间和日期的修改函数Y调整时间和日期的修改函数N清4HZ中断标志清2HZ中断标志清4HZ中断标志清2HZ中断标志寄存器出栈寄存器出栈中断返回中断返回图4.12IRQ时基中断的流程图寄存器入栈寄存器入栈判断是否1KHZ中断判断是否1KHZ中断YN判断是否为2KHZ中断修改秒表数据Y判断是否为2KHZ中断修改秒表数据N清1KHZ中断标志清2KHZ中断标志清4KHZ中断标志清1KHZ中断标志清2KHZ中断标志清4KHZ中断标志寄存器出栈寄存器出栈中断返回中断返回图4.13IRQ时基中断的流程图第5章测试与调试第5.1节硬件的测试5.1.1引脚测试内容(1)电源电压:5V左右。(2)VDD、VDDH引脚电压分别为:3V、3.5V。5.1.2电源测试内容用万用表测试板子左上角电源部分的12个点的电压。调试1:条件:电源断开把电池盒拔掉,用跳线帽将J5的2、3脚短接。目的:测试电源是否与地短路。步骤:测量J10两脚电阻。现象:(1)电阻为零,有短路,需排查电源。(2)电阻大于300,电源电路正常。调试2:条件:电池盒与J10接通,打开电池盒。目的:测试电源器件是否正常。现象:(1)D1亮,器件正常。(2)D1不亮,需排查器件。调试3:条件:把S5的1、2脚用跳线帽短接。目的:测试各器件电源是否供电正常。步骤:测试U1第7脚电压是否3.3V左右,J4第一脚电压是否3.3V左右,U4第20脚电压是否3.3V左右,U2第7、8脚电压是否4.5V左右,J6、7、8“+”端电压是否4.5V左右。现象:(1)电压正常。(2)电压不正常,需排查。5.1.3键盘测试内容条件:不在U1、U2、U3芯片座插任何元件,接通电源,万用表选电压档,负极接地,正极测试IOA0、IOA1、IOA2。目的:测试键盘是否能否正确输入。步骤:万用表正端接IOA0,按KEY1键,读取并记录电压值,同理测试KEY2、KEY3。现象:(1)电压不为零,正常。(2)电压为零,需更新按键。第5.2节61板的测试5.2.1测试内容(1)I\O端口。(2)睡眠功能。(3)模\数转换功能。(4)语音输出和MIC输入功能。5.2.2自检的具体步骤(1)接通电源,红色二极管发光,同时语音会提示“欢迎进入自检模式”,之后提示“I\O测试失败”,原因是还未连线。把IOA低8位用排线和IOB低8位连接,同理高8位相连,接着按RESET复位键,程序重新执行,并提示“欢迎进入自检模式”之后“I\O测试成功”。(2)按下K1键,测试睡眠功能。绿色二极管发光,并提示“睡眠测试成功”,表示测试成功,否则失败。(3)按K2键,测试模\数转换功能。提示“模\数测试成功”表示测试成功,否则失败。(4)拔掉测试1时的排线,按K3测试模\数转换和MIC输入是否正常,轻拍几下MIC,若有声音输出则模\数转换和MIC输入正常。第5.3节程序的调试5.3.1u'nSPIDE调试工具:表5.1调试工具的功能简介内容作用热键下载将程序文件编译、连接,生成可执行文件F8复位调试模式下,重新运行Shift+Ctrl+F5停止调试退出调试模式Shift+F5中断停止运行程序Ctrl+Break运行调试模式下,程序运行F5单步进入单步运行,进入子程序F11单步跳跃单步运行,不进入子程序F10单步跳出单步运行,跳出子程序Shift+F11运行到光标处调试模式,程序运行至光标处停止Ctrl+F105.3.2Memory窗口介绍在View中选择Debugwindows打开Memory窗口,如下图5.1所示。Memory窗口以十六进制的存储单元显示,可直接改动内容,在Address文本框中输入内存地址,可迅速查到内容。Memory窗口双击鼠标激活GotoAddress,在文本框中输入地址,便能够显示连续内存单元的值图5.1memory的窗口图5.2gotoaddress的窗口5.3.3Register窗口介绍调试过程中,在View中选择DebugWindws点击Registerwindow打开Register窗口。如图5.3所示。窗口显示特殊寄存器和通用寄存器内容,可改动中断标志位的值、各寄存器的值,查看指令执行周期数和控制中断响应。按Update键更新,通过Reset让CPU复位。图5.3Register的窗口5.3.4Command的窗口介绍调试过程中,在View中选择DebugWindws点击CommandWindws打开command窗口。如图5.4所示。H输入文本框中就可以看到所有命令和使用方法。图5.4Command的窗口5.3.5BreakPoint的窗口介绍调试过程中,在View中选择DebugWindws点击BreakPointsWindws打开BreakPoint窗口。如图5.5所示.断点信息是不可缺少的,用户可自行改动断点。Addr:预设断点地址。OutputOnly:仿真运行时,程序运行到断点后,会发出一个脉冲信号于指定管脚。TriggleonData:数据过滤器。Bitmask:屏蔽断电地址内数据。TriggleonWrite&Read:存储数据时,出发中断。图5.5BreakPoints的窗口5.3.6Watch的窗口介绍调试过程中,在View中选择DebugWindws点击BreakPointsWindws打开BreakPoint窗口。如图5.5所示.用数据表显示变量值。图5.6Watch的窗口附录程序代码#include"SPCE061A.h"#include"SPLC501User.h"#include"model.h"#definering117#definering218Externvoiddisplay();Externvoidplayrespond(unsignedintResult);Externvoidkeyscan();Externvoidnextdisplay();Externvoidsetday();Externvoidset_ring();Externvoidspeaktime();Externvoidspeakday();Externvoidkeyinitial();Unsignedintkeyflag1=0;Unsignedintkeyflag2=0;Unsignedintkeyflag3=0;Unsignedintkeyflag4=0;Unsignedintkeyflag5=0;Unsignedintkeyflag6=0;Unsignedintkeyflag7=0;Unsignedintringflag=0;Unsignedintkeyvalue=0;Unsignedintrunflag=0;Unsignedintnum=0;Unsignedinthour=0;Unsignedintmin=0;Unsignedintsec=0;Unsignedintyear=2006;Unsignedintgmonth=8;Unsignedintgday=1;Unsignedintxqvalue=0;Unsignedintnmonth=7;Unsignedintnday=8;Unsignedintrunxq[]={3,6,0,3,5,1,3,6,2,4,0,2};Unsignedintpingxq[]={4,0,0,3,5,1,3,6,2,4,0,2};Unsignedintmouse[]={1,17,32,48};Unsignedintnhour=12;Unsignedintnmin=0;Unsignedintmbmin=0;Unsignedintmbsec=0;Unsignedintmmsec=0;Unsignedintmbnum=0;Unsignedintonoff=0;Unsignedintint2hz;Unsignedintringonoff;Charnumber[]={'0','1','2','3','4','5','6','7','8','9'};Unsignedintclockset[]={11,31,51};Unsignedintcounter=0;Unsignedintmapcounter1=0;Unsignedintmapcounter2=0;Constintglunarmonthday[]={0xd954,0xd4a0,0xda50,0x56a0,0xabb7,0x25d0,0x92d0,0xcab5,0xa950,0xb4a0,0xbaa4,0xad50,0x55d9,0x4ba0,0xa5b0,0x5176,0x52bf,0xa930,0x7954,0x6aa0,0xad50,0x5b52,0x4b60,0xa6e6,0xa4e0,0xd260,0xea65,0xd530,0x5aa0,0x76a3,0x96d0,0x4afb,0x4ad0,0xa4d0,0xd0b6,0xd25f,0xd520,0xdd45,0xb5a0,0x56d0,0x55b2,0x49b0,0xa577,0xa4b0,0xaa50,0xb255,0x6d2f,0xada0,0x4b63,0x937f,0x49f8,0x4970,0x64b0,0x68a6,0xea5f,0x6b20,0xa6c4,0xaaef,0x92e0,0xd2e3,0xc960,0xd577,0xda50,0x5dd5,0x56a0,0xa6d0,0x55d4,0x52d0,0xa9b8,0xa950,0xb4a0,0xb6a6,0xad50,0x55a0,0xaba4,0xa5b0,0xb273,0x6930,0x7337,0x6aa0,0xad50,0x4b55,0x4b6f,0xa570,0x54e4,0xd260,0xe968,0xd520,0xdaa0,0x6aa6,0x56df,0x4ae0,0xa9d4,0xa4d0,0xd150,0xf252,0x520};Constunsignedint*BMP_Cartoon[]={(unsignedint*)encoding_00,(unsignedint*)encoding_01,(unsignedint*)encoding_02,(unsignedint*)encoding_03,(unsignedint*)encoding_04,(unsignedint*)encoding_05,(unsignedint*)encoding_06,(unsignedint*)encoding_07,(unsignedint*)encoding_08,(unsignedint*)encoding_sunplus,(unsignedint*)encoding_08,(unsignedint*)encoding_07,(unsignedint*)encoding_06,(unsignedint*)encoding_05,(unsignedint*)encoding_04,(unsignedint*)encoding_03,(unsignedint*)encoding_02,(unsignedint*)encoding_01,(unsignedint*)encoding_00,(unsignedint*)encoding_sunplus,(unsignedint*)encoding_00,(unsignedint*)encoding_01,(unsignedint*)encoding_02,(unsignedint*)encoding_03,(unsignedint*)encoding_04,(unsignedint*)encoding_05,(unsignedint*)encoding_06,(unsignedint*)encoding_07,(unsignedint*)encoding_08,(unsignedint*)encoding_sunplus,(unsignedint*)encoding_08,(unsignedint*)encoding_07,(unsignedint*)encoding_06,(unsignedint*)encoding_05,(unsignedint*)encoding_04,(unsignedint*)encoding_03,(unsignedint*)encoding_02,(unsignedint*)encoding_01,(unsignedint*)encoding_00,(unsignedint*)encoding_sunplus};Intmain(void){keyinitial();LCD501_Init(0);LCD501_Circle(64,32,15,1);LCD501_ClrScreen(0);LCD501_FontSet(0);*P_INT_Ctrl_New=*P_INT_Ctrl_NEW_/0x0004;_asm("INTIRQ");While(1){inti=0;Display();While(hour==nhour&&min==nmin&&onoff==0){keyscan();If(keyvalue!=0)Onoff=1;Elseif(ringflag==0)PlayRespond(ring1);ElsePlayRespond(ring2);}If(min==0&&sec=0){speaktime();}Keyscan();*P_Watchdog_Clear=0x001;If(keyvalue==0x0001){keyflag1=1;LCD501_ClrScreen(0);While(keyflag1=1){nextdisplay();LCD501_Bitmap(15,mouse[i],(unsignedint*)encoding_mouse);Keyscan();*P_Watchdog_Clear=0x0001;Switch(keyvalue){case0x0001;{switch(i){case0;{setday()}Break;Case1;{set_ring();}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论