《基于单片机的电子贺卡设计》由会员分享,可在线阅读,更多相关《基于单片机的电子贺卡设计(61页珍藏版)》请在金锄头文库上搜索。
1、目录引 言2一、设计要求31.1设计题目31.2课题意义3二、系统硬件原理及设计32.1系统组成框图32.2 电子贺卡的功能结构框图4三、音乐基础知识43.1 音乐基础43.2音调脉冲和音乐节拍的实现53.2.1 音调脉冲的产生53.2.2音乐节拍的产生63.2.3音符码表的编制73.3主程序流程图93.4发声模块程序设计103.5按键模块程序设计11四、硬件电路设计124.1 主要器件124.1.1 微处理器124.1.2开关元件144.2 发声驱动电路154.3电路工作原理16五、软件设计165.1软件开发平台175.2详细的程序设计17总 结27参考文献28引 言如今,电子技术获得了飞速
2、的发展,现代电子产品几乎渗透了社会的各个领域。目前,单片机正朝着高性能个多品种方向发展趋势将是进一步想着 CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系 统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了 I/O 设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如 CPU,内存,并行总线,还有和硬盘作用相同的存储器件
3、,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过 10元即可。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、 温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、
4、工程师。 利用单片机实现音乐播放有很多要点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过音乐发声器的设计方案,掌握C语言的编程方法。并熟练的运用 AT89C52 单片机定时器产生固定频率的方波信号,推动喇叭发出旋律,按下单键可以演奏预先设置的歌曲旋律,最重要的是自己还可以通过程序设计输入自己喜欢的歌曲来演奏,本设计采用简易音阶编码直觉式输入法方便设计音乐旋律。一、设计要求基于单片机的音乐播放器,播放简单歌曲,本次课题音乐播放为奇异恩典、欢乐颂和生日快乐。1.1设计题目基于单片机的电子贺卡设计1.2课题意义基于单片机的音乐播放器可应用于 mp3,MP4,扩音器等很多方面,并
5、可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生 各种固定频率的方波信号,也可以产生包括“Do”、“Re”、“Me”-等音阶在内的各种频率声音。将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。我们可以运用在生活实际中比如贺卡或者电子门铃。基于这个思想,我们设计了一款特殊的“音乐播放器”,本播放器可实现播放、暂停、等功能。由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用 AT89C52 单片机,本播放器具有电路简单,功能强大,易于拓展等特点。在此基础上,可以添加按键,LED 显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能。二、系统硬件
6、原理及设计 2.1系统组成框图硬件系统包括主控模块、时钟电路、复位电路、电源电路、显示模块、发声模块和按键模块。如图2-1所示。发声模块时钟电路主控模块(AT89C52)复位电路按键模块电源电路 图2-1 硬件系统结构图2.2 电子贺卡的功能结构框图电子贺卡的功能框图如图2-2所示,程序调用,按不同键负责控制歌曲的播放、下一曲、上一曲和暂停,同时蜂鸣器发出响声和停止声音。 开始播放、下一曲、上一曲、暂停发声和暂停声音程序调用图2-2 电子贺卡的功能框图三、音乐基础知识3.1 音乐基础音作为一种物理现象,是由于物体振动而产生的,振动产生的声波作用于人耳,听觉系统将神经冲动传达给大脑,进而产生听觉
7、。人耳能听到的声音频率大约在 1120000Hz,而音乐使用的音一般在 274100Hz。乐音体系中各音级的名称叫做音名,被广泛采用的是 C D E F G A B (do re mi fa so la si 则多用于歌唱,称为唱名)。乐音体系中音高关系的最小计量单位叫做半音,两个半音构成一个全音。乐音中有几十个高低不同的音,但是最基本只有这七个音,其他高、低音名都是在这个基础上变化出来的。乐谱表上用来表示正在进行的音的长短的符号,叫做音符。不同的音符代表不同的长度。音符有以下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。此外,还有附点音符,它就是指带附点
8、的音符,所谓附点就是记在音符右边的小圆点,表示增加前面音符时值的一半。音持续的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐就是由许多不同的音符组成的,而每一个音符对应着不同的频率,这样就可以利用不同的频率的组合,加以拍数对应的延时来构成不同的音乐。3.2音调脉冲和音乐节拍的实现3.2.1 音调脉冲的产生音调表示一个音符唱多高的频率,和平时所说的“音高”十分类似。这是音乐学中的名词,在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。其余音均通过和其比较获得。如果f1和f2两个音符的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程。音符1(低音do)与音符i
9、(中音do),等之间正好相差一个倍频程,在音乐学中一般称其相差一个八度音。音乐中规定,在一个八度音内,共有12个半音。以1八音区为例,这12个半音分别是:11、12、22、23、34、44,45、55、56、66、67、7i。由于人耳的听觉效果是非线性的,因此这12个音阶的分度基本上是以对数关系来划分的。要让单片机产生音频脉冲,只要计算出某一音频的周期,将此周期除以2得到半周期,利用定时器对此半周期进行定时,每当定时时间到,将P1.7口线上的电平取反,从而得到所需要的音频脉冲。产生音频的定时器初值计算公式如下:式中,k根据单片机工作方式确定,可为13(方式0)、16(方式1)、8(方式2),
10、fosc为单片机工作频率, 为希望产生的音频。例如中音DO的频率为523Hz,若单片机的工作频率为12MHz,定时器T0设置为工作方式1,按以上公式计算得定时器初值为64580;高音DO的频率为1047Hz,计算定时器初值为65058。3.2.2音乐节拍的产生节拍表示一个音符唱多长的时间,同样是音乐学中的名词。在一张完整乐谱的开头,都有如1=C 、1=G 等的标识。例如图3-2所示为1=C 的节拍示意图。这里的、用来表示节拍,而1=C、1=G表示一个乐谱的曲调,简单地说就是跟音调有关系。图3-2 节拍示意图可以通过延时程序来产生不同的节拍。如果1拍为0.4秒,则1/4为0.1秒,只要设定延时时
11、间就可以求得节拍时间。例如一段延时程序Delay为1/4拍,则一拍只要调用4次Delay程序,依此类推。3.2.3音符码表的编制编写一段音乐的音符码表时,先把乐谱的音符找出,按表3-1建立对应的音调码码及定时器初值表,按表3-2建立节拍码表。每个音符使用1个字节,字节的高4位存放音符的音调码,低4位存放音符的节拍码。表3-1 与音符对应的音调码表和定时器初值表(fosc=12MHz)简谱发声音调码定时器初值5低音SO1FB046低音LA2FB907低音SI3FC091中音DO4FC442中音RE5FCAC3中音ME6FD094中音FA7FD345中音SO8FD826中音LA9FDC87中音SI
12、AFE061高音DOBFE222高音RECFE563高音MEDFE854高音FAEFE9A5高音SOFFEC1不发音0用C语言将音调码表和定时器初值表表示出来即为:uchar code TABLE = /音符对应的定时器初值表0xfb,0x04,0xfb,0x90,0xfc,0x09,0xfc,0x44,0xfc,0xac,0xfd,0x09,0xfd,0x34,0xfd,0x82,0xfd,0xc8,0xfe,0x06,0xfe,0x22,0xfe,0x56,0xfe,0x85,0xfe,0x9a,0xfe,0xc1;表3-2节拍码表节拍码节拍数11/4拍22/4拍33/4拍41拍51又1/
13、4拍61又2/4拍82拍A2又2/4拍C3拍F3又3/4拍按照上述原理可以编写出“Amazing Grace”乐曲的音符码表。“Amazing Grace”的简谱如下:5.|1 - 31 |3- 2| 1 - 6. |5.- 5.|1-31|3-2|5-|5-|3 |53 53|1-5.| 61 16.|5.-5.|1-31|3-2|1-|1-|对应的音符码表为:uchar code GRACE = /奇异恩典音符码表 0x14,0x48,0x62,0x42,0x68,0x54,0x48,0x24,0x18,0x14,0x48,0x62,0x42,0x68,0x54,0x8c,0x880x64
14、,0x86,0x62,0x82,0x62,0x48,0x14,0x26,0x42,0x42,0x22,0x18,0x14,0x48,0x62,0x42,0x68,0x54,0x4c,0x48,0x00;3.3主程序流程图如图3-3所示为主程序流程图。开始初始化开始键是否按下N播放音乐Y按键扫描图3-3 主程序流程图3.4发声模块程序设计如图3-4所示为发声模块程序流程图。开始是否为结束码Y取音调码和节拍码 N音调码是否为0NY停止T0计算T0初值,装载,启动T0延时音符码变量+1结束图3-4 发声模块程序流程图3.5按键模块程序设计本设计中采用4个按键来控制音乐的播放:Key0 控制上一曲播放;Key1开始播放;Key2控制下一曲播放;Key3暂停播放。主程序中放置了3首歌曲,分别是Amazing Grace ;Ode To Joy ;Happy Birthday。进入主程序