欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的电子音乐盒的设计.doc

    • 资源ID:6753673       资源大小:1.72MB        全文页数:40页
    • 资源格式: DOC        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的电子音乐盒的设计.doc

    1、创新制作设计报告题 目 基于单片机的电子音乐盒设计 姓 名 陈中乾 学 号 09101110 专业班级 09电子3班 所在学院 电子与通信工程学院 指导教师 朱冬范 二一一年 十二 月 三一日目 录1设计目的和要求11.1 设计目的11.2 设计要求12. 音乐程序设计原理22.1音乐的基本知识说明22.2 音调22.3 节拍32.4 音调的产生32.5 延时函数32.6 定时中断42.7 节拍的产生53硬件电路设计63.1总体方案设计63.2器件选择63.2.1 单片机的选择63.2.2 LCD1602简介73.3 单元电路设计93.3.1晶振电路93.3.2复位电路93.3.3 键盘部分1

    2、03.3.4 显示电路113.3.5 LM386功放驱动部分123.4整体电路144.软件设计164.1 主程序流程图164.2主程序174.3音乐播放程序流程图204.4音乐播放程序205、电路仿真调试235.1 原理图的绘制235.2仿真结果24引言21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单

    3、片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并

    4、且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。1设计目的和要求1.1 设计

    5、目的(1) 通过设计,查阅相关资料,掌握如何利用单片机设计产品,同时了解与单片机有关的软件模拟器的使用及取字模块软件的使用方法。(2) 通过本课程设计巩固并扩展单片机课程的基本概念、基本理论、分析方法和实现方法。结合Proteus和Keil软件等,学习单片机产品的设计方法,有效地将理论和实际紧密结合,培养创新思维和设计能力,增强软件编程实现能力和解决实际问题的能力。(3) 学习Proteus软件,掌握Proteus中各种芯片的功能以及模拟。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养实践

    6、精神、创造精神的平台。1.2 设计要求 具体的设计应该满足以下功能:硬件方面:(1) 利用I/O口产生一定频率的方波,LM386功放驱动喇叭,发出不同的音调,从而演乐曲(内存四首乐曲) ,可以通过按键进行曲目的选择;(2) 用LCD显示歌曲序号和歌曲名字;(3) 可通过功能键进行选择歌曲和暂停的操作。(4) CPU可以控制声音的音节和长短;(5)音频数据信息记录需要大量非易失性数据存储器实时快速地记录数据。因此需要具有掉电保护功能的大容量存储器;软件方面:系统中外扩的各器件的初始化工作均在主程序中完成,其次,要设计如何调用显示子程序以及乐曲播放程序。(1) 在实际的控制过程,常要求有实时时钟,

    7、以实现定时或延时控制,所以需要此类中断服务程序。(2) 由于按键为机械开关结构,机械触点的弹性及电压突跳等原因,往往在触点闭合或断开的瞬间会出现电压抖动。为保证键识别的准确,在电压信号抖动的情况下不能进行状态的输入。为此需要进行去抖动处理的中断服务程序。(当然这种问题也可以通过硬件方案解决。)2 音乐程序的设计原理2.1 音乐的基本知识说明声音是由物体振动产生,正在发声的物体叫声源。振动的频率高,为高音;振动的频率低,为低音。人耳比较容易辨识的声音频率范围是20Hz到20,000Hz之间,一般音响电路是用正弦波信号驱动喇叭,从而产生悦耳的音乐;在数字电路里,则是用数字脉冲信号信号驱动喇叭,从而

    8、产生声音。如果声音的频率相同,人类耳朵很难区分哪个是脉冲信号产生的声音,哪个是正弦波信号产生的声音。图2.1.1 声音的波形2.2 音调不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”,就叫“全音”。在钢琴等键盘乐器上,CD、DE、FG、GA、AB两音之间隔着一个黑键,他

    9、们之间的距离就是全音;EF、BC两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上号或者b号的叫变化音。叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。2.3 节拍若要构成音乐,光有音调是不够的,还需要节

    10、拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。“节拍”,即Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。若1拍实0.5s,则1/4 拍为0.125s。至于1拍多少s,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分钟72下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是

    11、非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。2.4 音调的产生前面讲到声音只是某一范围的频率,也就所谓的音频。因为扬声器发生只需要半个周期即可,所以用单片机产生声音只要送电半个周期的时间就可以实现,我们用音调Do来举例,音调Do周期波形如图9。我们可以用延迟函数或者Timer定时中断可以产生音调。计算音调Do的周期:Do频率=262 HzT=1/f=1/262=3186s所以实际送电的时间只有3826/2=1908sDo f=3186s2.5 延迟函数对于12M Hz的8051系统而言,若要延迟1ms,可以用

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

    13、明变量 for(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拍的长度,则执行该函数时,变量为3;若要产

    14、生1拍的长度,则执行该函数时,变量为4,如要产生2拍的长度,则执行该函数时,变量为8依次类推。2.6 定时中断在Mode 1模式下,定时量最多可达65536,也就是65536s,足以产生低音Do所需的半周期1908。所以,若要产生低音Do的音频,则只需要执行1908定时量的timer中断即可。每中断一次,就改变连接喇叭的输入/输出的状态,就能发出低音Do的声音。如要产生其他音阶,只需要按表1-1的T字段设定定时量即可。如下程序一Mode 1来产生低音的Do:#includesbit speaker=P10; /声明输出端main()speaker=0; /喇叭初始值IE=0x82; /启用Ti

    15、mer0 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; /喇叭反向输出音乐中最短的拍子,例如在整首音乐中,最短的拍子为1/4拍,若1/4拍的时间为0.125s,则以1/4拍为基准,然后设定每0.125s产生

    16、一次中断,其定时量为125000,假设采用Mode 1,定时量设为62500,只要执行2次中断,即可产生1/4拍的时间长度。同理,若要产生1/2拍的长度,则执行4次中断,若要产生3/4拍的长度,则执行6次中断依次类推。如表2。表2拍数中断次数拍数中断次数拍数中断次数1/811/241又1/4101/423/461又1/2128/33182162.7 节拍的产生音阶的频率是固定的,而节拍有快有慢,拍子越短,节奏越快,拍子越长,节奏越慢。产生节拍的方法也是一种处理时间的方法。我们以生日快乐歌为例,它的前两个音节1 1 2 14 3 ,第一个音是Do,发生这个音的时间长度是250ms;停顿一下,再发

    17、出第二个音Do,还是持续250ms;接下来发Re的音,时间长达500ms、改发出Do的音,时间长达500ms,第一小节结束。紧接着是第二小节,首先发Fa的音,时间长达500ms;在发出Mi的音,时间长达1000ms,以下以此类推。节拍的产生我们同样可以采用延迟函数或者Timer定时中断两种方式。3硬件电路设计3.1总体方案设计图1 总体方案图以AT89C51为核心,通过单片机的定时器产生一定长度的方波,方波脉冲驱动蜂鸣器发声。要产生音频脉冲,只需算出某一音频的周期(1/音频),然后取半周期的时间定时。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再

    18、对I/O口反相,就可在I/O脚上得到此频率的脉冲。当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动扬声器,放出乐曲。同时在LCD显示歌曲序号和歌曲名称。3.2器件选择3.2.1 单片机的选择单片机型号的选择是根据控制系统的目标、功能、可靠性、性价比、精度和速度等来决定的。根据本课题的实际情况,单片机型号的选择主要从以下两点考虑;一是要有较强的抗干扰能力。二是要有较高的性价比。由于51系列在我国使用最广,且该系列的资料和能够兼容的外围芯片也比较多,特别是ATMEL公司89C系列单片机,其典型产品AT89C51单片机,具有较高的性能价格比。故本系统采用ATMEL公司生产的AT8

    19、9C51单片机作为电子音乐盒的核心部件,AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。3.2.2 LCD1602简介LCD液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示

    20、器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2所示:图2 LCD尺寸图1602LCD主要技术参数:显示容量:162个字符;芯片工作电压:4.55.5V;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V;字符尺寸:2.954.35

    21、(WH)mm。引脚功能说明LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示。表1 引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第

    22、4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602液晶模块内部的控制器共有11条控制指令,如表2所示:表2 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0

    23、00000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显

    24、示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置

    25、。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780相兼容的芯片时序表如下:表 3 芯片时序图读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无3.3 单元电路设计3.3.1晶振电路单片机需要一个时间基准来为各种操作提供秩序,此电路叫时钟电路,采用不同的接线方式可

    26、以获得不同时钟电路,有内部时钟电路和外部时钟电路,如图4.3所示,外部时钟电路会使电路复杂,故采用的是内部时钟电路。时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C1,C2为30uF。3.3.2复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。复位电路分为上电自动复位和按键手动复位,如图3所示。RST引脚是复位信号的输入端,复位信号是高

    27、电平有效.这次采用的是手动复位,复位通过电容C3,C4和电阻R1,R2来实现,按键手动复位是图中复位键来实现的。图 3 晶振与复位电路3.3.3 键盘部分键盘是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。键盘可分为编码式键盘和非编码式键盘两种。1.编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件电路复杂、价格昂贵通常不被单片机系统采用。2.非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对应关系,而要由所用的程序来决定。非编码键盘的硬件接口简单,但是要占用较多的CPU时间,通常采用可编程键盘管理芯片来克服这个缺点。本设计使用两种按键,一种

    28、是按键式非编码键盘和轻触式非编码开关。图 4 键盘电路3.3.4 显示电路LCD的8根数据线与P1口相连,RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,RS与P2.0相连,由P2.0控制LCD的写指令或写数据操作。R/W与P2.1相连,由P2.1决定是读操作还是写操作。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。E端与P2.2相连。图5 LCD显示电路3.3.5 LM386功放电路LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。一、 LM386内部电路LM386内部电路原理图如图所示。与通用型集成运放相类似,它是一个三级放大电路。第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似


    注意事项

    本文(基于单片机的电子音乐盒的设计.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开