多功能音乐盒设计_第1页
多功能音乐盒设计_第2页
多功能音乐盒设计_第3页
多功能音乐盒设计_第4页
多功能音乐盒设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、多功能音乐盒设计论文 多功能音乐盒设计I多功能音乐盒设计摘要21 世纪,在电子技术飞速发展的推动下,现代电子产品几乎渗透了社会的各个领域,也有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以 AT89S52 单片机为核心元件的电子式音乐盒,对各种信号进行识别和处理,能够同时播放多首音乐,播放音乐的同时实现音乐彩灯加以修

2、饰,另加 16 个按键组合起来的矩阵按键实现简易电子琴的功能,音频放大采用 LM386 音频功率放大器设计。其体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。关键词 AT89S52/音乐彩灯/音频功率放大器多功能音乐盒设计IIMULTIFUNCTIONAL MUSIC BOX OF DESIGN ABSTRACTIn twenty-first Century, the rapid development of electronic technology drive below, the modern electronic products almost p

3、ermeated all areas of society, but also promoted the development of social productivity and the improvement of social information-based degree, but also makes the modern electronic products to further improve the performance, product upgrading has become increasingly fast pace. With the development

4、of human society, people of vision, hearing things put forward more and more requirements. Small music box can bring good memories, improve peoples spiritual culture. Traditional music box is the mechanical type, bulky, pronunciation and drab, cannot achieve batch production.This music box is the de

5、sign of AT89S52 single chip as the core components of the electronic music box, for a variety of signal recognition and processing, can also play more music, playing music and musical lantern to be modified, added another 16 keys combined matrix keys to achieve the simple electronic organ function,

6、audio amplifier using LM386 audio power amplifier design. Its small size, light weight, and can play music, multiple functions, convenient use, colorful appearance, and has certain commercial value.KEY WORDS AT89S52 / music / audio power amplifier多功能音乐盒设计1目 录摘要IABSTRACTII引言11 概述21.1 课题意义21.2 设计方案21.

7、3 研究内容22 音乐程序的设计原理52.1 音乐的基本知识说明52.2 音调52.3 节拍62.4 音调的产生62.5 延迟函数72.6 定时中断82.7 节拍的产生93 使用功能设计104 设计原理与分析114.1 单片机控制处理模块114.2 简易电子琴控制模块154.3 显示模块164.4 彩灯控制模块16多功能音乐盒设计24.5 音乐播放模块165 软件设计195.1 软件流程图195.2 程序分析206 结论24致 谢26参考文献27多功能音乐盒设计1引言21 世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化

8、程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程

9、的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。 随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受

10、。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。多功能音乐盒设计21 概述1.11.1 课题意义课题意义音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟” 。音乐盒有着 300 多年的发展历史,是人类文明发展的历史见证。传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大

11、,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。1.21.2 设计方案设计方案 此自制多功能音乐盒设计以 AT89S5

12、2 单片机为核心,对各种信号进行识别和处理,能够同时播放多首音乐,播放音乐的同时实现音乐彩灯加以修饰,另加 16 个按键组合起来的矩阵按键实现简易电子琴的功能,音频放大采用 LM386音频功率放大器设计,本设计电路设计虽然简单,但对于要求的基本功能能够完全实现,发挥完成的也较好,基本实现了多功能音乐盒的完美设计 。本文通过单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。 (1)音乐盒具备电子琴功能,能够弹奏 do,re,mi,fa,so,la,si,do八个音; (2)要求音乐盒至少能播放 8 种不同的歌曲; (3)音乐盒可以实现至少 20

13、秒的语音录放功能1.31.3 研究内容研究内容多功能音乐盒设计3 本设计是以 AT89S52 芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器RAM、只读存储器 ROM、多种 I/O 口和中断系

14、统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统1。单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是 8 位或

15、4 位的。其中最成功的是 INTEL 的 8031,因为简单可靠而性能不错获得了很大的好评。此后在 8031 上发展出了 MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了 16 位单片机,但因为性价比不理想并未得到很广泛的应用。 90 年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用,32位单片机迅速取代 16 位单片机的高端地位,并且进入主流市场。而传统的8 位单片机的性能也得到了飞速提高,处理能力比起 80 年代提高了数百倍。目前,高端的 32 位单片机

16、主频已经超过 300MHz,性能直追 90 年代中期的专用处理器,而普通的型号出厂价格跌落至 1 美元,最高端的型号也只有10 美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux 操作系统。多功能音乐盒设计4由于单片机具有控制功能强,体积小,成本低,功耗小等一系列的特点,使它在工业控制,智能仪器,节能技术改造,通信系统,信号处理及家用电器产品中都得到广泛的应用,随着数字技术的发展及单片机在电子系统中的广泛应用,在很大程度上改变了传统的设计方法

17、。以往采用模拟电路,数字电路实现的电路系统,大部分功能单元都可以通过对单片机硬件功能的扩展及专用程序的开发来实现系统提出的要求,这意味着许多电路设计问题将转化为程序设计问题。这种用模拟技术,数字技术的综合设计系统,用软件取代硬件实现和提供系统系能的新的设计思想体系,一般称之为微控制技术。在微控制系统的设计中,系统设计和软件设计起着关键性的作用。电子音乐已广泛地应用于社会生活的各个领域。其类型从音乐卡片到CD、MP3 等多种多样,制作原理也各不相同。声音是通过振动产生的。单片机对某一 I/O 引脚以一定的频率循环置 1 和清 0,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一

18、定频率的声音。若改变输出方波的频率,产生的声音也就改变了。通过控制输出方波的时间长短,声音的长短也就得到控制。因此,根据乐谱,单片机就可产生电子音乐。音乐中最关键的两个要素是音符和节拍。单片机控制的音乐发生器系统由硬件电路和软件两部分构成。利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成本低,电路制作容易。更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。软件编程时,可用单片机的汇编语言语言实现。同时还可根据个人的喜好通过软件改变节拍的延时时间,增加电子音乐的趣味性。多功能音乐盒设计52 2 音乐程序的设计原理音乐程序的设计原理2.12.1 音乐的基本知识说明

19、音乐的基本知识说明声音是由物体振动产生,正在发声的物体叫声源 。振动的频率高为高音;振动的频率低为低音。人耳比较容易辨识的声音频率范围是20Hz 到20000Hz 之间,一般音响电路是用正弦波信号驱动喇叭,从而产生悦耳的音乐;在数字电路里,则是用数字脉冲信号信号驱动喇叭,从而产生声音。如果声音的频率相同,人类耳朵很难区分哪个是脉冲信号产生的声音,哪个是正弦波信号产生的声音。图 2.1 声音的波形2.22.2 音调音调不同音高的乐音是用 C、D、E、F、G、A、B 来表示,这 7 个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的 1、2、3、4、5、6

20、、7,相当于汉字 “多来米发梭拉西 ”的读音,这是唱曲时乐音的发音,所以叫 “音调” ,即 Tone。把C、D、E、F、G、A、B 这一组音的距离分成 12 个等份,每一个等份叫一个“半音” 。两个音之间的距离有两个 “半音” ,就叫“全音” 。在钢琴等键盘乐器上,CD、DE、FG、GA、AB 两音之间隔着一个黑键,他们之间的距离就是全音; EF、BC 两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成 1、2、3、4、5、6、7 的音叫自然音,那些在它们的左上角加上号或者 b 号的叫变化音。 叫升记号,表示把音在原来的基础上升多功能音乐盒设计6高半音,b 叫降记音,表示在原来的基础上降低

21、半音。例如高音DO 的频率(1046Hz)刚好是中音 DO 的频率(523Hz)的一倍,中音 DO 的频率(523Hz)刚好是低音 DO 频率(266 Hz)的一倍;同样的,高音 RE 的频率(1175Hz)刚好是中音 RE 的频率(587Hz)的一倍,中音 RE 的频率(587Hz)刚好是低音 RE 频率(294 Hz)的一倍。2.32.3 节拍节拍若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动) ,而且可以调节各个音的快满度。 “节拍”,即 Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。若 1 拍实 0.5s,则 1/4 拍为0.125s。至于

22、1 拍多少 s,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分钟 72 下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。2.42.4 音调的产生音调的产生前面讲到声音只是某

23、一范围的频率,也就所谓的音频。因为扬声器发生只需要半个周期即可,所以用单片机产生声音只要送电半个周期的时间就可以实现,我们用音调 DO 来举例,音调 DO 周期波形如图 2.1。我们可以用延迟函数或者 Timer 定时中断可以产生音调。 计算音调 DO 的周期: DO 频率=262 HzT=1/f=1/262=3186s (2.1)所以实际送电的时间只有 3826/2=1908s,DOf=3186s。多功能音乐盒设计72.52.5 延迟函数延迟函数对于 12M Hz 的 AT89S52 系统而言,若要延迟 1ms,可以用“delay1ms(1) ” ;指令,若需要延迟 5ms,则可使用 “de

24、lay1ms(5) ” ;很明显,这个函数的刻度为 1ms,但是如果要求小于 1ms,我们可以改变内循环的数量决定延迟时间,因为内循环的数量为120,可延迟 1ms,该函数的最小刻度为 1ms;将内循环的数量改为 12,可延迟 0.1ms,该函数的最小刻度为 0.1ms,即 100s2。如表 2.1。表 2.1 延时函数表内循环数量最小延迟时间( ms)最小延迟时间( s)12011000600.550060.055030.0252510.00838.31ms 延迟函数如下:void delay1ms(unsigned char x) unsigned char i,j; /声明变量 for(

25、i=0;ix;i+)/外循环for(j=0;j120;j+) /内循环8s 延迟函数如下:void delay8s(unsigned char x) unsigned char i,j; /声明变量 for(i=0;ix;i+)/外循环for(j=0;j120;j+) /内循环音乐的拍子种类,找出其中最短的拍子,例如整首音乐中,包含 1/4 拍、1/2 拍、3/4 拍、1 拍、2 拍,则以 1/4 拍为基准,然后写一段 1/4 拍长度的延迟函数,若要产生 1/4 拍的长度,则执行该函数时,变量为 1;若要产生 1/2 拍的长度,则执行该函数时,变量为 2;如要产生 3/4 拍的长度,则执行该函

26、数时,多功能音乐盒设计8变量为 3;若要产生 1 拍的长度,则执行该函数时,变量为 4,如要产生 2 拍的长度,则执行该函数时,变量为 8依次类推。2.62.6 定时中断定时中断在 Mode 1 模式下,定时量最多可达 65536,也就是 65536s,足以产生低音 Do 所需的半周期 1908。所以,若要产生低音 Do 的音频,则只需要执行 1908 定时量的 timer 中断即可。每中断一次,就改变连接喇叭的输入 /输出的状态,就能发出低音 Do 的声音。如要产生其他音阶,只需要按表1-1 的 T 字段设定定时量即可。如下程序来产生低音的 Do:#includesbit speaker=P

27、10; /声明输出端main()speaker=0; /喇叭初始值IE=0 x82; /启用 Timer0 TH0=(65536-1908)/256; /填入定时量的高八位 TL0=(65536-1908)%256; /填入定时量的低八位 TR0=1; /启动 Timer0 While(1); /停止 /主程序结束/=Timer0 中断子程序 =void tone_int(void)interrupt 1 /Timer 0 中断之程序TH0=Do_H; /填入定时量的高八位 TH0=Do_L; /填入定时量的低八位 speaker=speaker; /喇叭反向输出音乐中最短的拍子,例如在整首音

28、乐中,最短的拍子为 1/4 拍,若 1/4 拍的时间为 0.125s,则以 1/4 拍为基准,然后设定每 0.125s 产生一次中断,其定时量为 125000,假设采用 Mode 1,定时量设为 62500,只要执行 2 次中断,即可产生 1/4 拍的时间长度。同理,若要产生 1/2 拍的长度,则执行 4 次中断,若要产生 3/4 拍的长度,则执行 6 次中断依次类推。如表 2.2。多功能音乐盒设计9表 2.2 节拍数表拍数中断次数拍数中断次数拍数中断次数1/811/241 又 1/4101/423/461 又 1/2128/33182162.72.7 节拍的产生节拍的产生音阶的频率是固定的,

29、而节拍有快有慢,拍子越短,节奏越快,拍子越长,节奏越慢。产生节拍的方法也是一种处理时间的方法。我们以生日快乐歌为例,它的前两个音节1 1 2 14 3 ,第一个音是 DO,发生这个音的时间长度是 250ms;停顿一下,再发出第二个音 DO,还是持续 250ms;接下来发Re 的音,时间长达 500ms、改发出 Do 的音,时间长达 500ms,第一小节结束。紧接着是第二小节,首先发 Fa 的音,时间长达 500ms;在发出 Mi 的音,时间长达 1000ms,以下以此类推。节拍的产生我们同样可以采用延迟函数或者Timer 定时中断两种方式。多功能音乐盒设计103 使用功能设计(1)该自制多功能

30、音乐盒组要由数字音乐、电子琴、音乐彩灯组成; (2)使用时打开电源开关,可以根据自己的乐趣选择使用功能; (3)听音乐时请打开音乐盒开关,可以根据自己需要按下选歌键根据数码管显示选择自己想要听的音乐感觉现在不想听这首音乐了,可以先按下停止键再按下选歌键重新选择自己想要听的音乐。再加上彩灯随着音乐的伴随,实现数字音乐彩灯的功能;(4)打开电子琴的控制开关,根据自己的爱好兴趣,可以在 4X4 组成 16 个按钮矩阵迷你小键盘上简单的弹奏出自己的音乐,也可以实现在按下按键的同时有彩灯提示,实现了简易电子琴的功能; (5)使用音乐彩灯可能耗电量会增加,为此本设计还增加了彩灯控制开关,可根据 自己的使用

31、进行开启或关闭。多功能音乐盒设计114 设计原理与分析 系统硬件 以单片机 AT89S52 为核心,主体有 5 个大的模块电路:单片机控制处理模块、电子琴控制模块、显示模块、音乐播放模块、彩灯控制模块3。整体硬件设计电路图如图 4.l 所示: 图 4.1 整体硬件电路图4.1 单片机控制处理模块 单片机模块是整个音乐盒的核心,实现了控制音乐的播放、停止、选歌等几个功能,还有歌曲序号的显示控制,电子琴的控制,小灯的控制等。AT89S52 为核心的单片机电路,其中 8K 的 EPROMD 可在固化程序时方便的进行擦写,独有的低功耗性能使器件能更好的长时间工作。多功能音乐盒设计12 8 位单片机 A

32、T89S52 是 MSC-51 系列产品的升级版3,有世界著名半导体公司 ATMEL 在购买 MSC-51设计结构后,利用自身优势技术(掉电不丢数据)闪存生产技术对旧技术进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。与此同时,世界上其他的著名公司也通过基本的 51 内核,结合公司自身技术进行改进生产,推广一批如 51F020 等高性能单片机。AT89S52 片内集成 256 字节程序运行空间、8K 字节 Flash 存储空间,支持最大 64K 外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在 0-33M 之间。片内资源有 4 组 I/O 控制端口、3 个定时器、

33、8 个中断、软件设置低能耗模式、看门狗和断电保护。可以在 4V 到 5.5V 宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销 10 年不衰。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插DIP-40 的封装,如图 4.2 所示。图 4.2 DIP-40 封装 AT89S52 引脚图 1、AT89S52 的主要性能:(1)与 MCS-51 单片机产品兼容; (2)8K 字节在系统可编程 Flash 存储器;(3)

34、1000 次擦写周期;(4)全静态操作:0Hz-33MHz;(5)三级加密程序存储器;多功能音乐盒设计13(6)32 个可编程 I/O 口线;(7)三个 16 位定时器/计数器;(8)六个中断源;(9)全双工 UART 串行通道;(10)低功耗空闲和掉电模式;(11)掉电后中断可唤醒;(12)看门狗定时器;(13)双数据指针;(14)掉电标识符 。2、引脚说明 AT89S52 是一种低功耗、高性能 CMOS 的 8 位微控制器,具有 8K 在系统可编程 AT89S52 引脚图 DIP 封装 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引

35、脚完全兼容。片上 Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有以下标准功能:8k 字节Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续

36、工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 不具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TTL 逻

37、辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉多功能音乐盒设计14高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。 此外,P1.0 和 P1.1 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和定时器/计数器 2 的触发输入(P1.1/T2EX) 。在 flash 编程和校验时,P1 口接收低 8 位地址字节。 引脚号第二功能: P1.0:T2(定时器/计数器 T2 的外部计数输入) ,时钟输出; P1.1:T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制) ; P1.5: MOSI(在系统编程用) ;

38、 P1.6:MISO(在系统编程用) ; P1.7: SCK(在系统编程用) 。 P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁

39、存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p3 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,在 flash 编程和校验时,P3 口也接收一些控制信号。 端口引脚 第二功能: P3.0: RXD(串行输入口) ;P3.1 :TXD(串行输出口); P3.2 :INTO(外中断

40、 0) ;P3.3 :INT1(外中断 1) ;多功能音乐盒设计15P3.4 :TO(定时/计数器 0) ;P3.5 :T1(定时/计数器 1) ;P3.6 :WR(外部数据存储器写选通); P3.7 :RD(外部数据存储器读选通)。 此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时

41、钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据

42、存储器,将跳过两次 PSEN信号。 EA/VPP:外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为0000H-FFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端) ,CPU 则执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。4.2 简易电子琴控制模块 按键采用矩阵按键由 16 个轻触按键按

43、照 4 行 4 列排列, 连接 UJP21 端口将行线所接的单片机的 IO 口作为输出端,而列线所接的 IO 口则作为输入 多功能音乐盒设计16。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。 用单片机来控制,由 8 个开关实现音乐弹奏 do、re 、mi、 fa 、so 、la、 si、 do 八个音,三个 LED 灯来显示模式。4.3 显示模块 在显示部分,采用由 1 个共阴极 8 位数码管和 1 个 74LS47 译码器模块组成显示电路。74LS47 是一个 7 段码数码管

44、的驱动芯片,通过它解码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的 IO 口开销。利用单片机编程显示相应数值。4.4 彩灯控制模块 彩灯控制由 32 个不同颜色的发光二极管组成,彩灯变化组要由单片机编程决定发光二极管的亮灭,当控制信号为低电平时,发光二极管亮,为高电平时,发光及熄灭。4.5 音乐播放模块 音乐播放组要由软件编程来实现,根据选择不同的音乐进行播放停止, 相应数码管显示不同的音乐序号。语音播报采用 ISD1760 集成语音芯片,它是一种高集成度,高性能的芯片,可以多段录音。ISD 可以录放音十万次,掉电保存一百年。多种采样率对应,多种录放时间,可以利用振荡

45、电阻自已决定采样率。操作简单,灵活。音质好,适应电压范围广,物美价廉。适用于:交换机、安防系统、喊话器、录音笔、录音玫瑰、录音贺卡、录音钥匙扣、录音玩具、录音留言系统等产品。用四个开关分别控制,播放不同的音乐,录音、播放、擦除、下一首、直通3。ISD1760 还有新录音提示功能,当有新的录音后,LED 会每几秒闪一次来提示用户有新的录音。电容用来滤波。利用话筒进行录音功能。基于 ISD1760 语音播报电路如图 4.3 所示。多功能音乐盒设计17图 4.3 基于 ISD1760 语音播报电路 由于单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要 L

46、M386 集成芯片构成音频功率放大电路。LM386 构成音音频放大电路,可以实现音乐播放,放大录音声音作用,实现设计录音音效好,声音洪亮等3。图 4.4 所示即为基于 LM386 音频放大电路。多功能音乐盒设计18图 4.4 基于 LM386 音频放大电路声音放大采用 LM 386 音频功率放大器, LM386 是美国国度半导体公司分娩的音频功率放除夜器,首要应用于低电压消费类产品。为使外围元件起码,电压增益内置为 20。但在 1 脚和 8 脚之间增添一只外接电阻和电容,便可将电压增益调为随意率性值,直至 200。输入端以地位参考,同时输出端被主动偏置到电源电压的一半,在 6V 电源电压下,它

47、的静态功耗仅为 24mW,使得LM386 迥殊合用于电池供电的场合。LM386 的封装形式有塑封 8 引线双列直插式和贴片式。电路特征:静态功耗低,约为 4mA,外围元件少,电压增益内置为 20。但在 1 脚和 8 脚之间增添一只外接电阻和电容,便可将电压增益调为随意率性值,直至 200。输入端以地位参考,同时输出端被主动偏置到电源电压的一半,在6V 电源电压下,它的静态功耗仅为 24mW,使得 LM386 迥殊合用于电池供电的场合。LM386 的封装形式有塑封 8 引线双列直插式和贴片式。 多功能音乐盒设计195 5 软件设计软件设计 电子琴软件部分设计采用 C51 语言,对单片机编程实现各

48、项功能。通过软件设计,可以实现单片机对矩阵按键状态的查询,控制音符的输入脉宽,实现简易电子琴的完美音调 。 此自制多功能音乐盒硬件设计简单,可行性较高,运用单片机来控制音乐盒的数码显示、自由选择音乐、音乐彩灯循环闪烁,另加简易电子琴的设计,实现多功能音乐盒的基本功能 。5.1 软件流程图软件流程图图 5.1 主程序流程图A 键按下播放第一首歌开始声明变量读取按钮开关B 键按下播放第一首歌C 键按下复位没有任何按钮按下多功能音乐盒设计20图 5.2 子程序流程图5.2 程序分析程序分析 程序中利用了两次中断,分别对音乐代码和 LED 灯闪烁,其中程序开头给出了三组数组,一组数组时 LED 灯闪烁

49、的代码,另外两组是音乐的代码,然后是两个中断,接着是一个延时函数,然后是就是音乐播放代码,最后就是主程序了。程序如下:下面一段为音乐播放时需要的代码中断:void Time_Init( ) /音乐代码的中断 TMOD = 0 x11; /定义工作方式 1 IE = 0 x8a; IP = 0 x02; TH0 = 0 xD8; TL0 = 0 xEF; /12MZ 晶振,10ms TH1 = (65536 - 50000)/256; TL1 = (65536 - 50000)%256; TR1 = 1;下面中断为播放每个音乐代码组成一首音乐的中断,音乐每次读取一个代开始读入数据代码中断开始判断

50、是否到音乐结束结束中断返回多功能音乐盒设计21码时需要一次中断,然后读取代码,结束中断,然后再次进入下一次中断,直到一首歌曲播放完毕。 void Time0_Int() interrupt 1TH0 = 0 xD8; TL0 = 0 xEF; Count+; /长度加 1此段程序是让在音乐响起的同时小灯也能闪烁。void Time0_LED() interrupt 3 /小灯闪烁中断static unsigned char L_Count = 0,n=0;TH1 = (65536 - 50000)/256; /高 8 位给一个代码 TL1 = (65536 - 50000)%256; /低 8

51、 位给一个代码if(+L_Count = 5)L_Count = 0;led=pattern_P3n+;n%=104;下面的一个函数为延时函数,功能是通过 C 语言中函数通过 FOR 循环进行粗略的延时。void Delay_xMs(unsigned int x) unsigned int i,j; for( i =0;i x;i+ ) for( j =0;j3;j+ );本段程序是音乐播放程序,音乐代码通过此程序来对音乐进行播放,程序中主要用了中断进行音乐播放,同时在音乐代码中设置了音乐休止符,让程序多功能音乐盒设计22判断音乐播放到哪里了开始或者停止。void Play_Song1(unsigned char i) unsigned char Temp1,Temp2; unsigned int Addr; P0=0 xc0; /将 P0 口初始化 P2=0 xf9; /将 P2 口初始化Count = 0; /中断计数器清 0 Addr = i * 217; while(1) /循环 Temp1 = SONG1Addr+; if ( Temp1 = 0 xFF ) /休止

温馨提示

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

评论

0/150

提交评论