已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黑龙江职业学院毕业论文基于STC89C52的数字式音乐盒设计姓名陈某某指导教师金某某专业应用电子技术班级电子0912011年10月20日目录摘要3前言41系统基本设计思路511课题意义512设计方案513研究内容52单元电路方案论证521控制器模块522显示模块523放声模块624最终方案63系统总体方案介绍631系统硬件组成图632主控芯片介绍6321时钟电路8322复位电路933主控机模块934音乐机模块1035显示模块1036按键模块1137LM386功放模块124节拍的确定125系统软件设计1451设计的软件环境简介14511KEIL_C5114512PROTEL99SE1552主函数程序设计16521主控机程序流程图16522音乐机程序流程图17结论18参考文献19致谢20附录21主控机程序21主控机程序23基于STC89C51数字式音乐盒的设计摘要本设计是以STC89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。关键词单片机,音乐盒,设计,数字式前言21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。1系统基本设计思路11课题意义音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。音乐盒有着300多年的发展历史,是人类文明发展的历史见证。传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。12设计方案设计一个单片机的音乐盒,利用按键切换演奏出不同的乐曲。扬声器发出乐曲,数码管显示当前为第几首歌曲。使用六个按键,两个用来切换歌曲,一个为电路的复位按键。两个用来启动和停止,另一个为流水灯的花样切换。13研究内容(1)电路的工作模式演奏歌曲,数码管显示当前的歌曲。(2)按下按键启动键进入演奏音乐模式,按上一曲下一曲来切换歌曲,共三首歌曲。(3)按下按键停止键进入播放音乐停止数码管灭显。(4)播放音乐时可以切换流水灯的花样。2单元电路方案论证根据设计要求,本系统主要由控制器模块、显示模块构成。为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。21控制器模块方案1采用51系列作为系统控制器单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在各个领域应用广泛。而且抗干扰性能好。方案2采用凌阳系列单片机为系统的控制器凌阳系列单片机可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性。凌阳系列单片机提高了系统的处理速度,适合作为大规模实时系统的控制核心。因51单片机价格比凌阳系列低得多,且本设计不需要很高的处理速度,从经济和方便使用角度考虑,本设计选择了方案1。22显示模块方案1采用LED数码管采用控制用单片机,显示用LED数码管这种方案。虽然显示的内容有限,但是也可以显示数字和几个英文字母,在这个设计中已经足够了,并且价格比液晶字符式要低的多,为了控制设计制作的成本,在此设计中我们选用LED数码管显示。方案2采用液晶字符显示器控制用单片机,显示用液晶字符式,可以用软件达到很好的控制,硬件不复杂,液晶字符显示器可以显示很丰富的内容,但是液晶字符式价格昂贵,在本设计中不需要用到复杂的显示内容,因此我们放弃了此方案。从济济的角度考虑,我们选择了方案1。23放声模块方案1采用LM386驱动由于单片机输出的是方波,不经过电路信号放大驱动喇叭发声很小,基本听不见,采用典型的386运放驱动电路可以将声音驱动的清晰动听。LM386功放电路特点是外围电路复杂,声音清晰。方案2采用三极管驱动利用三极管的放大原理也可以作为喇叭的驱动,此方案的特点是,电路简单明了,但是声音不是那么清晰,因此我们放弃了此方案。从实用性的角度考虑,我们选择了方案1。24最终方案经过反复论证,最终确定了如下方案1主控制器选用两片51内核的单片机作为主控制器主控机负责显示状态,检测按键以及向下位机传输数据音乐机在接受到上位机的引号后产生一定频率方波从而发声2外设装置这部分是由按键、数码管、LED、LM386功放电路和扬声器等组成3系统总体方案介绍31系统硬件组成图EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40一一一89C51RCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40一一一89C51RCP33P34P36P3710UFR110KS1一一一一一一一一一一一一一一VCC10UFR510KVCC30P30P12MHZ30P30P12MHZVCCP27P26P25BEEPP36P37P33P34IN3IN2GND4VOUT5GAIN1GAIN8BYPASS7VCC6386一一LM386R21KR310KBEEP10UF100UF104473R410VCCBEEPABFCGDE1234567ABCDEFG8DPDPCOMSHUMAGUANP25P26P27VCC10K10UFS112一一一一VCCLED1LED2LED3LED4LED5LED6LED7LED8P00P01P02P03P04P05P06P0710K10K10K10K10K10K10K10KP00P01P02P03P04P05P06P07S7一一图1设计原理图32主控芯片介绍STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能8K字节FLASH,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X51可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHZ,6T/12T可选。EA/VP31X119X218RESET9P37/RD17P36WR16P32/INT012P33/INT113P34/T014P35/T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30P31/TXD11P30/RXD10GND20VCC40U1STC89C52图2STC89C51单片机引脚图单片机是美国STC公司最新推出的一种新型51内核的单片机。片内含有FLASH程序存储器、SRAM、UART、SPI、PWM等模块。(一)STC89C51主要功能、性能参数如下(1)内置标准51内核,机器周期增强型为6时钟,普通型为12时钟(2)工作频率范围040MHZ,相当于普通8051的080MHZ(3)STC89C51RC对应FLASH空间4KB(4)内部存储器(RAM512B(5)定时器计数器3个16位;(6)通用异步通信口(UART)1个;(7)中断源8个;(8)有ISP在系统可编程)IAP在应用可编程,无需专用编程器仿真器;(9)通用IO口3236个;(10)工作电压3855V;(11)外形封装40脚PDIP、44脚PLCC和PQFP等。(二)STC89C51单片机的引脚说明VCC供电电压。GND接地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口。89C51的P0/P1/P2/P3口作为输入时都是准双向口。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。321时钟电路89C51单片机的时钟信号通常有两种方式产生一是内部时钟方式,二是外部时钟方式。内部时钟方式如图3所示。在89S51单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在530PF,典型值为30PF。晶振CYS的振荡频率范围在1212MHZ间选择,典型值为12MHZ和6MHZ。Y1110592MHZC230PFC330PF1819图389C51内部时钟电路322复位电路当在89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要VCC的上升时间不超过1MS,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST(9)端与电源VCC接通而实现的。按键手动复位电路见图4。时钟频率用110592MHZ时C取10UF,R取10K。R110KC110UFS4VCC9图489C52复位电路33主控机模块作为此次设计的核心硬件,主控机的作用几乎囊括了除音乐播放外的其他所有功能。功能一控制显示模块功能二控制按键模块功能三向下位机传输控制信号EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40一一一89C52RCP33P34P36P3710UFR110KS1一一一一一一一一一一一一一一VCC30P30P110592MHZVCCP36P37P33P34ABFCGDE1234567ABCDEFG8DPDPCOMSHUMAGUANP25P26P27S112一一一一VCC图5主控机模块34音乐机模块作为此次设计的存储音乐的核心硬件,音乐机机的作用就是根据主控机传输的相应信号进行判断,相应的播放对应的歌曲。通过主控机的P25P27传过来的数据给音乐机的P10P12,实现两块单片机的通讯,最终通过音乐机的P00口传输出音乐信号,后经声音驱动电路放出美妙的音乐。EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40一一一89C51RC10UFR510KVCC30P30P12MHZP27P26P25BEEPVCC10K图6音乐机模块35显示模块显示模块主要包括数码管、LED、单片机等其他元件。该模块的主要功能(1)播放开机动画(2)显示点歌的曲目(3)LED流水灯LED数码管(LEDSEGMENTDISPLAYS)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管分为动态显示和静态显示驱动两种,静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个STC89C52的I/O端口才32个呢),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“A,B,C,D,E,F,G,DP“的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12MS,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40一一一89C52RCVCCABFCGDE1234567ABCDEFG8DPDPCOMSHUMAGUANLED1LED2LED3LED4LED5LED6LED7LED8P00P01P02P03P04P05P06P07图7显示模块36按键模块(1)按键是输入信号的主要工具。(2)该模块主要由五个独立按键组成按键1复位按键2上一曲按键3启动按键4下一曲按键5停止按键6切换单片机键盘有独立键盘和矩阵式键盘两种独立键盘每一个I/O口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式接法程序比较复杂,但是占用的I/O少。根据本设计的需要这里选用了独立式键盘接法。独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O口与地短路迫使I/O口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般10200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒的单片机而言则是慢长的。硬件去抖动就是用部分电路对抖动部分加之处理,软件去抖动不是去掉抖动,而是避抖动部分的时间,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键当有低电平出现时立即延时10200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O口的值,这一次的值如果为1表示低电平的时间不到10200毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。硬件电路如图8所示一一一一一一一一一一P36P37P33P34S7一一P24图8按键模块37LM386功放模块功率放大器的作用是给音响放大器的负载(扬声器)提供一定的输出概率。当负载一定时,希望输出的功率尽可能大,输出的信号的非线性失真尽可能小,效率尽可能高。LM386是美国的国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20,但在1脚和8脚之间增加一只外接电阻或电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端被自动地偏置到电源电压的一半,工作电压范围宽,412V或518V,在6V电源电压下,它的静态功耗仅为24MV,且外围元件少。LM386是8引脚双排直插式塑料封装结构,其外形与引脚排列如图所示,图9LM386引脚图2脚为反向输入端,3脚为同向输入端,5脚为输出端,6脚与4脚分别为电源和地端,1脚和8脚为电压增益设定端;使用时,引脚7和地之间接旁路电容,通常为10UF。功放电路如图10所示;IN3IN2GND4VOUT5GAIN1GAIN8BYPASS7VCC6386一一LM386R21KR310KBEEP10UF100UF104473R410VCCBEEP图10LM386运放电路4节拍的确定一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率F440HZ。当两个声音信号的频率相差一倍时,也即F22F1时,则称F2比F1高一个倍频程,在音乐中1(DO)与,2(来)与正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1I八音区为例,12个半音是11、12、22、23、34、44,45、5一5、56、66、67、7I。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。知道了一个音符的频后,怎样让单片机发出相应频率的声音呢一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢以标准音高A为例A的频率F440HZ,其对应的周期为T1/F1/4402272STT图11频率表由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为TT/22272/21136S这个时间T也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为F0,则定时器的予置初值由下式来确定T12(TALLTHL)/F0,式中TALL21665536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为THTHL/256TALLTF0/12/256TLTHL256TALLTF0/12256将T1136S代入上面两式(注意计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率F012MHZ,定时器在工作方式1下的定时器高低计数器的予置初值为TH440HZ65536113612/12/256FBHTL440HZ65536113612/1225690H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。说明曲谱存贮格式UNSIGNEDCHARCODEMUSICNAME音高,音长,音高,音长,0,0末尾0,0表示结束IMPORTANT音高由三位数字组成个位是表示17这七个音符十位是表示音符所在的音区1低音,2中音,3高音百位表示这个音符是否要升半音0不升,1升半音。音长最多由三位数字组成个位表示音符的时值,其对应关系是|数值N|0|1|2|3|4|5|6|几分音符|1|2|4|8|16|32|64音符2N十位表示音符的演奏效果020普通,1连音,2顿音百位是符点位0无符点,1有符点调用演奏子程序的格式PLAY乐曲名,调号,升降八度,演奏速度|乐曲名要播放的乐曲指针,结尾以0,0结束|调号011是指乐曲升多少个半音演奏|升降八度131降八度,2不升不降,3升八度|演奏速度112000值越大速度越快5系统软件设计51设计的软件环境简介511KEIL_C51KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KEILC51开发系统各部分功能和使用。KEIL_C软件界面如图12图12KEIL_C软件界面该软件是一款集编程和仿真于一体的软件,它支持汇编、C语言及二者的混合编程。512PROTEL99SEPROTEL99SE是PORTEL公司在80年代末推出的EDA软件。PROTEL99SE是应用于WINDOWS9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源地层和16个机加工层。PROTEL99SE软件的特点1可生成30多种格式的电气连接网络表;2强大的全局编辑功能;3在原理图中选择一级器件,PCB中同样的器件也将被选中;4同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络5既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性;6满足国际化设计要求(包括国标标题栏输出,GB4728国标库);方便易用的数模混合仿真(兼容SPICE3F5);7支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件;PCB可设计32个信号层,16个电源地层和16个机加工层;8强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查;9智能覆铜功能,覆铀可以自动重铺;10提供大量的工业化标准电路板做为设计模版;11放置汉字功能;12可以输入和输出DXF、DWG格式文件,实现和AUTOCAD等软件的数据交换;13智能封装导航(对于建立复杂的PGA、BGA封装很有用);14方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果;15独特的3D显示可以在制板之前看到装配事物的效果;16强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等;17经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动;18反射和串扰仿真的波形显示结果与便利的测量工具相结合;PROTEL99SE的工作界面是一种标准的WINDOWS界面,如图所示,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。PROTEL99SE软件界面如图13。图13PRTEL99SE软件界面52主函数程序设计一个完整的程序中只有一个MAIN函数,首先调用初始化函数进行初始化,然后判断并调用其他子程序。521主控机程序流程图522音乐机程序流程图开始初始化开机流水灯判断是否有按键按下信号处理发送控制信号给音乐机结束YN图14主控机流程图开始播放音乐函数初始化判断主控机是否传送曲目信号播放相应歌曲结束YN图15音乐机流程图结论在进行了长达半个多月的时间的摸索与实验,我完成了硬件制作和软件编制,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能加深了理解,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。当然在这次宝贵的毕业设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。参考文献1李建忠单片机原理及应用M,西安电子科技大学出版社,200822黄智伟全国大学生电子设计竞赛系统设计M,北京北京航空航天大学出版社,200663黄智伟凌阳单片机课程设计指导M,北京北京航空航天大学出版社,2006114李广弟,朱月秀,王秀山单片机基础M,北京北京航空航天大学出版社,200175赵曙光,郭万有,杨颂华可编程逻辑器件原理开发与应用M,西安西安电子科技大学,20006候伯亨VHDL硬件描述语言与数字逻辑电路设计M,西安西安电子科技大学出版社,19997康华光模拟电子技术基础第四版M,武汉华中理工大学出版社,19998谭浩强C语言程序设计(第二版)M,北京清华大学出版社,19919陈小忠,黄宁单片机接口技术实用子程序M,北京北京人民邮电出版社,200510欧伟明,周春临,瞿遂春电子信息系统设计M,西安电子科技大学出版社,2005911贾立新,王涌电子系统设计与实践M,北京清华大学出版社,200712罗亚非凌阳16位单片机应用基础M,北京北京航空航天大学出版社,200313雷思孝凌阳单片机原理及实用技术M,西安电子科技大学,2004致谢这次毕业设计得到了很多人的帮助,其中老师对我的关心和支持尤为重要,每次遇到难题,我首先想到的就是向老师寻求帮助。另外,他严谨的作风使我的论文即使在谨小细微处也给予了纠正,让我的论文无论是结构还是内容变得更加公整、紧凑,感谢老师对我的悉心指导。感谢校方给予我这样一次机会,能够独立地完成这样一个设计,作为检验这些年来学习的成果,在这个过程当中,学校给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢。感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。此外特别感谢桂林电子工业学院提供的51单片机音乐编码软件附录主控机程序INCLUDEINCLUDESBITSTARTP36SBITUPP34SBITDOWNP33SBITSTOPP37SBITSIGNAL_1P26SBITSIGNAL_2P27SBITSIGNAL_3P25UNSIGNEDCHARCODEKAIJI_HUA0XFE,0XFFD,0XFB,0XF7,0XEF,0XDF/开机画面UNSIGNEDCHARCODETAB0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90/显示数组UNSIGNEDCHARHUANQU,CVOIDYANSHIUNSIGNEDINTQ/系统延时UNSIGNEDINTI,JFORIQI0IFORJ110J0JVOIDJOB/工作显示IFC1P1TABHUANQUYANSHI5ELSEP10XFFVOIDKAIJI/开机画面UNSIGNEDCHARAFORA0A3HUANQU1WHILEUPJOBIFDOWN0YANSHI5IFDOWN0HUANQUSIGNAL_30SIGNAL_11SIGNAL_21IFHUANQU0HUANQU3WHILEDOWNJOBVOIDCHUANSONGIFC0SIGNAL_11SIGNAL_21SIGNAL_30ELSESIGNAL_31IFHUANQU1SIGNAL_10SIGNAL_20IFHUANQU2SIGNAL_10SIGNAL_21IFHUANQU3SIGNAL_11SIGNAL_20VOIDMAINC0HUANQU1KAIJIWHILE1ANJIANJOBCHUANSONG主控机程序INCLUDEINCLUDE“SOUNDPLAYH“UNSIGNEDCHARQU,KAISHISBITLINGP10SBITYIP11VOIDYANSHIUNSIGNEDINTQ/系统延时UNSIGNEDINTI,JFORIQI0IFORJ110J0J/祝你平安UNSIGNEDCHARCODEMUSIC_PING0X17,0X03,0X19,0X03,0X19,0X0E,0X17,0X03,0X19,0X0E,0X19,0X01,0X17,0X03,0X15,0X03,0X15,0X0D,0X10,0X04,0X15,0X0E,0X15,0X01,0X17,0X03,0X19,0X03,0X19,0X0E,0X1A,0X67,0X19,0X01,0X16,0X03,0X17,0X03,0X19,0X03,0X16,0X0E,0X17,0X04,0X16,0X01,0X17,0X03,0X15,0X03,0X15,0X0D,0X10,0X04,0X17,0X04,0X17,0X66,0X0F,0X02,0X10,0X02,0X0D,0X03,0X15,0X67,0X15,0X03,0X10,0X04,0X17,0X0E,0X17,0X01,0X17,0X04,0X16,0X04,0X16,0X0E,0X16,0X03,0X15,0X04,0X10,0X04,0X17,0X03,0X16,0X0E,0X16,0X02,0X0F,0X04,0X0F,0X04,0X0F,0X04,0X16,0X0E,0X17,0X67,0X15,0X15,0X1F,0X03,0X1F,0X03,0X17,0X03,0X19,0X0D,0X19,0X66,0X17,0X0E,0X16,0X04,0X15,0X03,0X15,0X03,0X1A,0X03,0X19,0X0D,0X19,0X01,0X1A,0X03,0X1A,0X03,0X1A,0X03,0X15,0X0D,0X15,0X67,0X10,0X04,0X15,0X04,0X19,0X03,0X17,0X03,0X16,0X03,0X17,0X03,0X17,0X0D,0X16,0X01,0X1F,0X03,0X1F,0X03,0X17,0X03,0X19,0X0D,0X19,0X66,0X17,0X0E,0X16,0X04,0X15,0X03,0X15,0X03,0X1A,0X03,0X19,0X0D,0X19,0X01,0X17,0X03,0X15,0X04,0X15,0X0E,0X15,0X03,0X10,0X03,0X17,0X0E,0X16,0X03,0X16,0X04,0X0F,0X04,0X0F,0X04,0X19,0X04,0X19,0X04,0X16,0X04,0X17,0X67,0X15,0X01,0X00,0X00/铃儿响叮当UNSIGNEDCHARCODEMUSIC_DINGDANG0X0F,0X03,0X0F,0X03,0X17,0X03,0X16,0X03,0X15,0X03,0X0F,0X66,0X19,0X04,0X19,0X04,0X0F,0X03,0X17,0X03,0X16,0X03,0X15,0X03,0X10,0X66,0X10,0X03,0X10,0X03,0X18,0X03,0X17,0X03,0X16,0X03,0X10,0X66,0X10,0X03,0X19,0X03,0X19,0X03,0X18,0X03,0X16,0X03,0X17,0X0D,0X15,0X03,0X0F,0X03,0X0F,0X03,0X17,0X03,0X16,0X03,0X15,0X03,0X0F,0X66,0X0F,0X03,0X0F,0X03,0X17,0X03,0X16,0X03,0X15,0X03,0X10,0X66,0X10,0X03,0X10,0X03,0X18,0X03,0X17,0X03,0X16,0X03,0X19,0X03,0X19,0X03,0X19,0X03,0X19,0X03,0X1A,0X03,0X19,0X03,0X18,0X03,0X16,0X03,0X15,0X66,0X17,0X03,0X17,0X03,0X17,0X02,0X17,0X03,0X17,0X03,0X17,0X02,0X17,0X03,0X19,0X03,0X15,0X03,0X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城镇污水处理厂及配套管网工程环境影响报告书
- 抵制不良信息净化校园网络空间小学主题班会课件
- 关于项目延期复工的再次通知(8篇)范文
- 项目现场检查时间变更通知函3篇
- 小学主题班会课件:懂感恩·知回报
- 汽车维修技师操作规范与故障排除指导书
- 医疗安全与质量工作计划及工作总结
- 远离不良诱惑护航健康成长4年级主题班会课件
- 数据中心运维管理操作手册
- 2026年“安康杯”安全生产知识竞赛题库及答案
- 2026天津华北地质勘查局及所属事业单位第二批招聘7人笔试备考试题及答案详解
- 2026年高考语文(全国I卷)真题试卷
- 2026安全生产月安全考试试题及答案安全生产月
- 2026年高考语文真题全国二卷作文讲评:“日月不失其体故蔽而复明”
- 广东省湛江航运集团有限公司招聘笔试题库2026
- 时间频率计量工程师考试试卷及答案
- 甘肃省庆阳市2024-2025学年七年级下学期期末考试历史试卷(含答案)
- 2025年小学体育教师资格证考试真题汇编(含答案)
- 手卫生规范管理细则2026年
- 悬索桥工程监理实施细则
- 2025年湖北雇员制审判辅助人员招聘书记员考试复习题及答案
评论
0/150
提交评论