带音乐铃声的数字日历钟的设计与制作.doc
《带音乐铃声的数字日历钟的设计与制作.doc》由会员分享,可在线阅读,更多相关《带音乐铃声的数字日历钟的设计与制作.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 技能课教案编号:QD-19-06 流水号:4 电气自动化 专业 10G3 班 共 20 页课题名称总课题:毕业设计授课主题内容带音乐铃声的数字日历钟的设计与制作授课课时2需用课时2分课题:毕业设计范例一起止日期课题要求技术理论知识实际技术操作设备、工、刃量具标准材料准备示范操作准备产品名称是否生产产品图号件数额定工时工时余(缺)安排备注工人学生合计课题实习结束小结授课老师:肖正光 审阅签名:新会高级技工学校毕 业 设 计 论 文 课 题: 带音乐铃声的数字日历钟的设计与制作 系 部: 电子信息系 专业、班级: 电气自动化设备安装与维修 姓 名: XXX 指导教师: 完成时间: 2012.6.
2、15 目 录1摘要1 2关键词13ATMAGA64概述14功能描述5硬件描述6软件描述7操作说明8制作说明9毕业设计总结一、 摘要这是一款带音乐铃声的数字日历钟,具有年、月、日、星期、时、分、秒等显示功能,同时还支持定点播放、整点播放及铃声选择功能的数字日历钟。它具备外观精致、功能齐全、操作方便、结构简单、性价比高等特点,可制作成台历、挂历或者床头闹钟等。二、关键词 ATmage64、数码管、通用键盘三、 ATMAGA64概述 (1) AVR单片机是ATMEL公司于1997年推出的一款基于RISC指令构架的高性能、低功耗的 8 位单片机。Atmega系列更是高档的单片机,同时这次用到的ATme
3、ga64单片机更是性价比相当高一款单片机。ATmega64是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega64 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。 (2) ATMEGA64有如下特点:64K字节的系统内可编程FLASH(具有同时读写的能力,即RWW),2K字节EEPROM,4K字节SRAM,53个通用I/O口线,32个通用工作寄存器,实时计数器(RTC),四个具有比较模式与PWM的灵活的定时器/计数器(T/C),两个USART,面向字节的两线串行接口,8路10位具有可选差分输
4、入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,与IEEE1149.1标准兼容的、可用于访问片上调试系统及编程的JTAG接口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时的开关噪声;STANDBY模式下只有晶体或振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展STANDBY模式下则允许振荡器和异步定时器继续工作。 (3)ATM
5、EGA64是以ATMEL高密度非易失性存储器技术生产的。片内ISP FLASH允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用FLASH储存区。在更新应用FLASH储存区时引导FLASH区的程序继续运行,实现了RWW操作。通过将8位RISC CPU与系统内可编程的FLASH集成在一个芯片内,ATMEGA64成为一个功能强大的单片机,为许嵌入式控制应用提供了灵活而低成本的解决方案。 (4)ATMEGA6具有一整套的编程与开发工具,包括;C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估
6、板。 ATmega64引脚分布图 最小系统和通用键盘的实物图 最终的连接实物图四、 功能描述(1)使用的单片机芯片是ATmage64,有看门狗,低电压检测等功能,大部分指令为单周期指令。晶体频率选择的是16MHz,采用8位LED数码管显示。(2)具有年、月、日、星期、时、分、秒显示功能上面的数字5代表星期5,11代表11时,13代表13分,10代表10秒。代表2009年,12月20日。(3)具有定点报时和铃声播放功能,可以当闹钟使用。AE 代表开放定点模式,Ad 代表关闭定点模式,11代表11时,13代表13分, 04代表第5首铃声。(4)具有整点报时和铃声播放功能。Ad代表不开放整点报时功能
7、,AE代表开放整点报时功能,Ad后的00代表00时整点报时,后面的00代表到整点报时,播放第1首铃声。五、硬件描述(1)最小系统原理图和线路板图 介绍原理图功能(2)通用键盘的原理图和线路板图六、软件描述(1)程序流程图 (2)程序内容头文件包括:NMN_CODE.h AlarmClock.h AVR_ICC_INT_TYPE.h LED_DISPLAY_KEYBOARD.h Message.h 主程序包括:NMN_SONG_PLAY.c AlarmClock.c LED_DISP_KEYBOARD.c Message.c NMN_SONG.c(3)描述各程序作用NMN_CODE.h是简谱音符
8、编码定义头文件,包括定义简谱音符相对编码、中音相对编码、一阶高音相对编码、二阶高音相对编码、一阶低音相对编码等AlarmClock.h是AVR综合实验系统之数字日历钟头文件,里面包括定义日期显示位置ID、定义时间显示位置ID、定义闹钟设置显示位置ID、定义整点报时设置显示位置ID、定义时间和日期更新函数的返回值、定义铃声输出端口B配置常数(PB6输出,其余为输入)、全局函数声明。AVR_ICC_INT_TYPE.h是固定长度整数类型定义头文件,包括定义带符号定长整数类型和定义无符号定长整数类型。LED_DISPLAY_KEYBOARD.h是AVR综合实验系统之LED数码管显示和键盘输入头文件,
9、包括定义LED数码管段驱动端口、定义LED数码管公共阳极驱动位域选择常数、定义LED数码管公共阳极驱动位域清零常数、定义总显示位数、定义可视七段字形ASCII字符总数、定义闪烁时间常数(ms)、定义光标位置位域选择常数、定义特殊ASCII字符、定义键盘扫描线数、定义键盘返回线数等。Message.h是AVR综合实验系统之消息定义头文件,里面包括定义消息队列常数、定义从16位整数中提取字节的宏、创建消息处理函数指针类型、创建消息结构类型、全局消息函数声明、消息处理函数MessageProc包含一个uint16_t类型的参数uMessage,该参数的内容由消息处、理函数定义,在一些消息中uMess
10、age为16位的参数,在另一些消息中uMessage的高低字节、分裂为两个8位的参数使用。该函数返回char类型的值,当给定的消息被成功处理或该消息、必须从队列中移除时,应返回TRUE(非零),而当给定的消息未被处理或该消息应继续保留、在队列中时,则应返回FALSE(0)。NMN_SONG_PLAY.c是简谱歌曲编码与播放源程序,里面包括简谱编码歌曲播放设备打开函数、简谱编码歌曲播放设备关闭函数、音符播放参数设置函数、简谱编码歌曲合法性检查、简谱编码歌曲播放函数。该函数先打开简谱编码歌曲播放设备,初始化播放控制变量并开始播放指定的歌曲、报警状态检查、缺省中断服务程序、定时器1输出比较通道A中断
11、服务程序。AlarmClock.c是AVR综合实验之数字日历钟源程序,里面包括更新时间显示函数、更新日期显示函数、日期显示初始化函数,日期显示格式 YYYY.MM.DD、时间显示初始化函数,时间显示格式 W hh.mm.ss、闹钟设置显示初始化函数,闹钟设置显示格式 AE.hh.mm.tt、整点报时设置显示初始化函数,整点报时设置显示格式 HE hh tt、显示初始化函数、读取显示缓冲区的日期设置值、读取显示缓冲区的时间设置值、读取显示缓冲区的闹钟设置、读取显示缓冲区的整点报时设置、保存日期设置、保存时间设置、保存闹钟设置、保存整点报时设置、保存数字日历钟设置、获取已保存的数字日历钟设置、由给
12、定的月份查取当月的天数、AVR综合实验之数字日历钟主程序、连击编码表初始化函数、按键消息中继函数、日期编辑验证函数、整点报时设置编辑验证函数、编辑回调函数、系统计时事件中继函数。LED_DISP_KEYBOARD.c是LED显示与键盘输入源文件,里面包括键盘接口初始化函数、编辑模式初始化函数、将光标向左移动一个字符位置、将光标向右移动一个字符位置、该函数先调用KeyMessageHook对击键消息进行预处理,若KeyMessageHook返回0值,则对光标位置上的内容执行编辑操作,然后再调用EditCallback对修改内容进行确认,若EditCallback返回0值,则将光标指针移动到下一个
13、编辑位置。扫描按键输入,对按键输入状态进行滤波,检测按键状态转换事件,每当检测到按键事件是就调用KeyMessageProc()予以处理。按键连击扫描函数、LED数码管显示扫描函数、系统计时事件处理函数、缺省中断服务程序、定时器0输出比较中断服务程序、使用给定的字符填充显示缓冲区。Message.c是AVR综合实验系统之消息处理函数源程序,里面包括SendMessage该函数先检查消息队列是否已满,当消息队列未满时,便将给定的消息投递到消息队列并返回TRUE(-1),否则直接返回FALSE(0)。该函数可被任何程序调用。GetMessage该函数先检查消息队列是否为空,当消息队列非空时,便从消
14、息队列中读取一条消息存入pMessage指向的消息结构并返回TRUE(-1),否则直接返回FALSE(0)。DispatchMessage该函数先检查pMessage-MessageProc是否为空指针,若为空指针则直接返回-1,否则调用pMessage-MessageProc处理pMessage指向的消息并返回消息处理函数的返回值。NMN_SONG.c是简谱歌曲编码源程序,里面包括我们创建简谱编码歌曲表目录,和歌曲简码程序。(4)部分主程序#include #include #include AVR_ICC_INT_TYPE.h#include NMN_CODE.h/创建歌曲“新年好”con
15、st charXinNianHao64 = MAJOR_F, 60,D1, 0X02, D1, 0X02, D1, 0X10, _S5,0X10,M3, 0X02, M3, 0X02, M3, 0X10, D1, 0X10,D1, 0X02, M3, 0X02, S5, 0X10, S5, 0X10,F4, 0X02, M3, 0X02, R2, 0X20,R2, 0X02, M3, 0X02, F4, 0X10, F4, 0X10,M3, 0X02, R2, 0X02, M3, 0X10, D1, 0X10,D1, 0X02, M3, 0X02, R2, 0X10, _S5,0X10,_T7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 铃声 数字 日历 设计 制作
限制150内