范例一音乐铃声的数字历钟的设计与制作.docx

上传人:b****1 文档编号:15140383 上传时间:2023-07-01 格式:DOCX 页数:23 大小:411.69KB
下载 相关 举报
范例一音乐铃声的数字历钟的设计与制作.docx_第1页
第1页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第2页
第2页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第3页
第3页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第4页
第4页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第5页
第5页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第6页
第6页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第7页
第7页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第8页
第8页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第9页
第9页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第10页
第10页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第11页
第11页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第12页
第12页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第13页
第13页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第14页
第14页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第15页
第15页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第16页
第16页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第17页
第17页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第18页
第18页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第19页
第19页 / 共23页
范例一音乐铃声的数字历钟的设计与制作.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

范例一音乐铃声的数字历钟的设计与制作.docx

《范例一音乐铃声的数字历钟的设计与制作.docx》由会员分享,可在线阅读,更多相关《范例一音乐铃声的数字历钟的设计与制作.docx(23页珍藏版)》请在冰点文库上搜索。

范例一音乐铃声的数字历钟的设计与制作.docx

范例一音乐铃声的数字历钟的设计与制作

江门市新会技工学校

技能课教案

编号:

QD-19-06流水号:

4矚慫润厲钐瘗睞枥庑赖。

电气自动化专业10G3班共20页聞創沟燴鐺險爱氇谴净。

课题名称

总课题:

毕业设计

授课主题内容

带音乐铃声的数字日历钟的设计与制作

授课课时

2

需用课时

2

分课题:

毕业设计范例一

起止日期

课题要求

技术理

论知识

实际技

术操作

设备、工、刃量具标准

材料

准备

示范操

作准备

产品

名称

是否生产产品

图号

件数

额定工时

工时余

(缺)安排

备注

工人

学生

合计

课题实习结束小结

授课老师:

肖正光审阅签名:

 

新会高级技工学校

毕业设计论文

 

课题:

带音乐铃声的数字日历钟的设计与制作 

系部:

电子信息系

专业、班级:

电气自动化设备安装与维修

姓名:

XXX      

指导教师:

完成时间:

2012.6.15

 

 

1.摘要………………………………………………………………………1

2.关键词……………………………………………………………………1

3.ATMAGA64概述……………………………………………………………1

4.功能描述……………………………………………………………………

5.硬件描述……………………………………………………………………

6.软件描述……………………………………………………………………

7.操作说明……………………………………………………………………

8.制作说明………………………………………………………………………………

9.毕业设计总结…………………………………………………………………………

 

一、摘要

这是一款带音乐铃声的数字日历钟,具有年、月、日、星期、时、分、秒等显示功能,同时还支持定点播放、整点播放及铃声选择功能的数字日历钟。

它具备外观精致、功能齐全、操作方便、结构简单、性价比高等特点,可制作成台历、挂历或者床头闹钟等。

二、关键词

ATmage64、数码管、通用键盘

三、ATMAGA64概述

(1)AVR单片机是ATMEL公司于1997年推出的一款基于RISC指令构架的高性能、低功耗的8位单片机。

Atmega系列更是高档的单片机,同时这次用到的ATmega64单片机更是性价比相当高一款单片机。

ATmega64是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。

由于其先进的指令集以及单时钟周期指令执行时间,ATmega64的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。

(2)ATMEGA64有如下特点:

64K字节的系统内可编程FLASH(具有同时读写的能力,即RWW),2K字节EEPROM,4K字节SRAM,53个通用I/O口线,32个通用工作寄存器,实时计数器(RTC),四个具有比较模式与PWM的灵活的定时器/计数器(T/C),两个USART,面向字节的两线串行接口,8路10位具有可选差分输入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,与IEEE1149.1标准兼容的、可用于访问片上调试系统及编程的JTAG接口,以及六个可以通过软件进行选择的省电模式。

工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时的开关噪声;STANDBY模式下只有晶体或振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展STANDBY模式下则允许振荡器和异步定时器继续工作。

(3)ATMEGA64是以ATMEL高密度非易失性存储器技术生产的。

片内ISPFLASH允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。

引导程序可以使用任意接口将应用程序下载到应用FLASH储存区。

在更新应用FLASH储存区时引导FLASH区的程序继续运行,实现了RWW操作。

通过将8位RISCCPU与系统内可编程的FLASH集成在一个芯片内,ATMEGA64成为一个功能强大的单片机,为许嵌入式控制应用提供了灵活而低成本的解决方案。

(4)ATMEGA6具有一整套的编程与开发工具,包括;C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。

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代表不开放整点报时功能,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是简谱音符编码定义头文件,包括定义简谱音符相对编码、中音相对编码、一阶高音相对编码、二阶高音相对编码、一阶低音相对编码等

㈡  AlarmClock.h是AVR综合实验系统之数字日历钟头文件,里面包括定义日期显示位置ID、定义时间显示位置ID、定义闹钟设置显示位置ID、定义整点报时设置显示位置ID、定义时间和日期更新函数的返回值、定义铃声输出端口B配置常数(PB6输出,其余为输入)、全局函数声明。

㈢  AVR_ICC_INT_TYPE.h是固定长度整数类型定义头文件,包括定义带符号定长整数类型和定义无符号定长整数类型。

㈣  LED_DISPLAY_KEYBOARD.h是AVR综合实验系统之LED数码管显示和键盘输入头文件,包括定义LED数码管段驱动端口、定义LED数码管公共阳极驱动位域选择常数、定义LED数码管公共阳极驱动位域清零常数、定义总显示位数、定义可视七段字形ASCII字符总数、定义闪烁时间常数(ms)、定义光标位置位域选择常数、定义特殊ASCII字符、定义键盘扫描线数、定义键盘返回线数等。

㈤  Message.h是AVR综合实验系统之消息定义头文件,里面包括定义消息队列常数、定义从16位整数中提取字节的宏、创建消息处理函数指针类型、创建消息结构类型、全局消息函数声明、消息处理函数MessageProc包含一个uint16_t类型的参数uMessage,该参数的内容由消息处、理函数定义,在一些消息中uMessage为16位的参数,在另一些消息中uMessage的高低字节、分裂为两个8位的参数使用。

该函数返回char类型的值,当给定的消息被成功处理或该消息、必须从队列中移除时,应返回TRUE(非零),而当给定的消息未被处理或该消息应继续保留、在队列中时,则应返回FALSE(0)。

㈥  NMN_SONG_PLAY.c是简谱歌曲编码与播放源程序,里面包括简谱编码歌曲播放设备打开函数、简谱编码歌曲播放设备关闭函数、音符播放参数设置函数、简谱编码歌曲合法性检查、简谱编码歌曲播放函数。

该函数先打开简谱编码歌曲播放设备,初始化播放控制变量并开始播放指定的歌曲、报警状态检查、缺省中断服务程序、定时器1输出比较通道A中断服务程序。

㈦  AlarmClock.c是AVR综合实验之数字日历钟源程序,里面包括更新时间显示函数、更新日期显示函数、日期显示初始化函数,日期显示格式YYYY.MM.DD、时间显示初始化函数,时间显示格式Whh.mm.ss、闹钟设置显示初始化函数,闹钟设置显示格式AE.hh.mm.tt、整点报时设置显示初始化函数,整点报时设置显示格式HEhhtt、显示初始化函数、读取显示缓冲区的日期设置值、读取显示缓冲区的时间设置值、读取显示缓冲区的闹钟设置、读取显示缓冲区的整点报时设置、保存日期设置、保存时间设置、保存闹钟设置、保存整点报时设置、保存数字日历钟设置、获取已保存的数字日历钟设置、由给定的月份查取当月的天数、AVR综合实验之数字日历钟主程序、连击编码表初始化函数、按键消息中继函数、日期编辑验证函数、整点报时设置编辑验证函数、编辑回调函数、系统计时事件中继函数。

㈧  LED_DISP_KEYBOARD.c是LED显示与键盘输入源文件,里面包括键盘接口初始化函数、编辑模式初始化函数、将光标向左移动一个字符位置、将光标向右移动一个字符位置、该函数先调用KeyMessageHook对击键消息进行预处理,若KeyMessageHook返回0值,则对光标位置上的内容执行编辑操作,然后再调用EditCallback对修改内容进行确认,若EditCallback返回0值,则将光标指针移动到下一个编辑位置。

扫描按键输入,对按键输入状态进行滤波,检测按键状态转换事件,每当检测到按键事件是就调用KeyMessageProc()予以处理。

按键连击扫描函数、LED数码管显示扫描函数、系统计时事件处理函数、缺省中断服务程序、定时器0输出比较中断服务程序、使用给定的字符填充显示缓冲区。

㈨  Message.c是AVR综合实验系统之消息处理函数源程序,里面包括SendMessage该函数先检查消息队列是否已满,当消息队列未满时,便将给定的消息投递到消息队列并返回TRUE(-1),否则直接返回FALSE(0)。

该函数可被任何程序调用。

GetMessage该函数先检查消息队列是否为空,当消息队列非空时,便从消息队列中读取一条消息存入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"

//创建歌曲“新年好”

constcharXinNianHao[64]={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,0X02,R2,0X02,D1,0X20,

M0,0x00};

//创建歌曲“月亮代表我心”

constcharYueLiangDaiBiaoWoDeXin[]={MAJOR_D,60,

M0,0x02,_S5,0X02,

D1,0X12,M3,0X02,S5,0X12,D1,0X02,

T7,0X12,M3,0X02,S5,0X10,D1,0X02,S5,0X02,

L6,0X02,T7,0X10,D1_,0X12,L6,0X02,

L6,0X02,S5,0X02,S5,0X30,M3,0X02,R2,0X02,

D1,0X12,D1,0X02,D1,0X10,M3,0X02,R2,0X02,

D1,0X12,D1,0X02,D1,0X10,R2,0X02,M3,0X02,

R2,0X10,D1,0X02,_L6,0X10,R2,0X02,M3,0X02,

R2,0X30,M0,0x02,_S5,0X02,

R2,0X12,_L6,0X02,_T7,0X02,D1,0X02,R2,0X02,

D1,0X30,M3,0X02,S5,0X02,

M3,0X12,R2,0X02,D1,0X10,S5,0X10,

_T7,0X30,_L6,0X02,_T7,0X02,

_L6,0X12,_T7,0X02,_L6,0X12,_S5,0X12,

M3,0X30,S5,0X10,

M3,0X12,R2,0X02,D1,0X10,S5,0X10,

_T7,0X30,_L6,0X02,_T7,0X02,

D1,0X12,D1,0X02,D1,0X10,R2,0X02,M3,0X02,

R2,0X30,M0,0x02,_S5,0X02,

D1,0X12,M3,0X02,S5,0X12,D1,0X02,

T7,0X12,M3,0X02,S5,0X12,S5,0X02,

L6,0X12,T7,0X02,D1_,0X12,L6,0X02,

L6,0X02,S5,0X02,S5,0X20,M3,0X02,R2,0X02,

D1,0X12,D1,0X02,D1,0X10,M3,0X02,R2,0X02,

D1,0X12,D1,0X02,D1,0X10,R2,0X02,M3,0X02,

R2,0X12,_L6,0X02,_T7,0X10,D1,0X02,R2,0X02,

D1,0X30,M0,0x00};

//创建简谱编码歌曲表

constchar*constnmncSongTable[NUM_SONGS]={

XinNianHao,YueLiangDaiBiaoWoDeXin,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,XinNianHao,};

/*------------------TheendofNMN_SONG.c---------------------------*/

七、操作说明

(1)第一次接上9V电源后,正常的显示情况。

如下:

【5000000】后面显示有运行或修改过

【2009.10.20】后面显示有运行或修改过

【AE.07.30.00】后面显示有运行或修改过

【Hd0000】

(2)星期、时、分|秒显示的修改

接上9V电源后,

数码管会显示【5000000】代表是星期五,00点00分00秒。

通过键盘上的→、←来移动屏幕上的数字,移动到的数字在闪烁,表示可进行修改。

例如,想设定今天星期三11点13分10秒,则通过通用按键→、←,则屏幕上5会闪烁,按下键盘上的3则可改为星期三,数字会自动跳到下一位,在按键盘上的数字,则可完成修改,下面的修改同理,最后要按enter键确认,否则刚才所作的修改无效。

(3)年、月、日显示修改

按下MODE键就会显示

,这个代表2009年12月20日。

如果想修改为2010年7月1日,则可以按下→、←移到需要修改的数字上按键盘上的数字(0→1),屏幕上就会显示你按下的数字,修改完成后,屏幕会自动跳到下一位,后面的修改同理,全部修改完成后,要按enter键确认,否则刚才所作的修改无效。

(4)定点的设定及铃声的选择(可当作闹钟使用)

继续按下MODE键就会显示

AE代表开放闹钟模式,Ad代表关闭闹钟模式。

07代表7时,30代表30分,00代表第一首铃声。

例如想允许19点00分报警,播放第2首铃声,首先,把Ad→AE,数字的修改操作如上所说。

(5)整点报时及铃声的选择(可当作闹钟使用)

再继续按下按下MODE键就会显示

,Hd代表不开放整点报时功能,HE代表开放整点报时功能,00代表是00时整点报时,后面的00代表报时时播放第一首铃声。

假如我们想设定21点报时,铃声选择3首铃声,首先,把Hd→HE,数字的修改操作如上所说。

八、制作说明

(1)原理图设计流程

根据设计要求,绘制出原理图,对电路图分析和论证后,用Protel99SE绘制出原理图。

① 绘制PCB板之前必须先启动SCH设计好电路原理图

② PCB并设置参数。

启动PCB的方法是:

打开Protel99SE后,打

开数据库文件系统在数据库中建立一个名为“Documents”的文件夹。

打开文件夹,用菜单命令File/New打开NewDocuments的对话框,在对话框中选择建立PCB文件。

启动PCB后要设置参数。

包括格点的大小和类型、元件的布局参数、板层参数、布线参数等

1)定义板框。

板框是规定实际电路板的大小,要按照实际情况来规定板框的大小

2)装入网络表,生成元件。

网络表是原理图设计系统与印制板图设计系统的接口。

在PCB中装入网络表后才能生成元件

3)元件的布局。

定义了板框并装入网络表生成元件后可由系统分布元

件的位置,也可以手工分布元件的位置

 

4)自动布线和手工布线,在布置完元件的位置后,可由系统自动布线,也可以用手工布线

5)填充。

在布线后根据元件之间的距离及整个电路板的布局把连线加粗、填充

(2)线路板设计流程

1)建立一个PCB板文件,取名为“PCB1”

2)在禁止布线层KeepOutLagety设置板框的大小。

选择了禁止布线层后在主菜单栏中选择Line画出板框.

3)画完板框后就执行菜单命令“Design/LoadNets”打开装载网络表的对话框选择要装载的网络表并选择它,单击生成元件按钮。

元件生成在板框内

4)把生成的元件。

按照合理的布局分布在板框内。

元件放置完后单击BottomLager焊接层再击导线按钮,把板框内分布好的元件一一连接好

5)连接完线后,把那些空余的地方都填充,也把连接的导线加粗

(3)线路板制作流程

1)先用激光打印机将稳压电源的PCB图打印出来。

注意打印的时候要用光滑的打印纸

2)把打印出来的PCB图贴在附铜板上并用透明胶布固定,然后把附铜板放在过塑机里反复过塑。

利用过塑机加热及压挤把打印纸上的PCB图贴在附铜板上

3)用三氯化铁和水开出腐蚀铜的溶液。

把印有PCB图的附铜板放进溶液中,把铜腐蚀掉。

,由于PCB图上有炭粉,可以不受腐蚀。

所以在腐蚀完后铜板上只有PCB图上有铜

4)我们用沙纸把附铜板表面的炭粉抹去,露出铜面,然后马上涂一层松香水避免铜面氧化,然后根据PCB图在附铜板确定焊盘的位置。

确定焊盘位置后,使用钻孔机把焊盘打穿,最后把元件都焊上

(4)线路板的装配与调试

按装配图先把跳线焊接好,然后装配比较小、低的元器件,接着再装配较大、高的元器件,在装配时,要注意看有没有假焊、漏焊、短路等现象,这些现象要在通电之前一定要检查几遍,最后检查无误时才能通电,注意这时的通电不要装上单片机,要先检查单片机电源引脚的电压正常时才能通电

(5)程序的编写与调试

先对这个产品所要实现的功能构思,画出程序流程图,再用C语言把所要实现的功能编写出来,下载到单片机上,再对电路板调试,调试看哪里还没有达到要求再对程序进行修改,直到实现功能为止。

九、毕业大作业的总结

通过这次毕业大作业,使得我们对制作的整个流程都非常的了解,而且加强我们的动手能力,把平时在课堂上所学到的知识应用到实际上,在制作这个产品的过程中,有遇到种种困难,但经过自己的分析和向老师请教,顺利的排除困难,所以这次制作是成功的,我们按老师的要求把这个作品制作出来。

这次制作、调试过程中,程序的编写和调试使得我们受益匪浅,程序的编写虽然我们还不是很熟练,但是我们把刚刚学完的C语言用到了产品中,使得我们对程序的编写有了很大的帮助,不但可以巩固我们所学的知识,而且锻炼了我们编写程序的能力。

带音乐铃声的数字日历钟的设计与制作方面已告一段落了,但制作的这个大作业的热情与干劲还在,在这三年里,我很庆幸能有高水平老师(贺老师、罗老师)的指导,从他们身上学到很多东西。

 

数字日历钟器材料清单:

序号

材料名称

规格型号

数量

备注

1

CPU

ATMEGA64-16AU

1

2

集成电路

LM358

2

集成电路

MAX232-16N

1

集成电路

74HC138N

1

集成电路

74LCX07

1

3

集成稳压电路

7805

1

4

集成电路插座

DIP8

2

集成电路插座

DIP16

2

5

三极管

S8550

9

三极管

S8050

1

场效应管

2N7000

8

6

发射二极管

IR908-7C

1

接收二极管

CHQ0038

1

7

电阻

1/4W,510Ω

8

电阻

1/4W,4K7

1

电阻

1/4W,150Ω

8

电阻

1/4W,10

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2