(完整版)STC89C51单片机的数字音乐盒设计(含代码)
(完整版)基于51单片机的电子八音盒详细设计步骤

一、设计目的利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。
二、设计要求其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。
三、设计器材T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。
四、设计方案及分析设计思路:(1)选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。
(2)P2.0引脚输出接蜂鸣器。
(3)通过P0口接LED。
(4)P1口接键盘,输入歌曲号。
音符产生方法:不同的音调有不同的频率。
频率不同,音调也就不同。
利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。
改变计数初值,就改变了频率。
定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。
如:中音1的频率=523HZ,周期T=1/523=1912us;定时器的定时时间为:T/2=1912/2us=956us;计算得TH0,TL0的计数初值THTL=64580下面是个音符计数初值节拍产生方法:音乐中的节拍用延时时间产生。
假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。
为方便记谱,将节拍数也进行编码,如下:建立曲谱编码表:编谱用8位编码,高4位代表音符,低4位代表节拍。
如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H程序清单:#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit SPEAK = P2^0;//接蜂鸣器管脚uchar th0_f;uchar tl0_f;uchar code SEG[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};uchar code jie8[8]={12,14,16,17,19,21,23,24};/**************************中断函数*******************************************/ timer0() interrupt 1{TL0=tl0_f;TH0=th0_f;SPEAK =~SPEAK; //取反音乐输出IO}/********************T0的值,及输出频率对照表***********************************/ uchar code freq[36*2]={0xA9,0xEF,//00220HZ ,1 //00x93,0xF0,//00233HZ ,1#0x73,0xF1,//00247HZ ,20x49,0xF2,//00262HZ ,2#0x07,0xF3,//00277HZ ,30xC8,0xF3,//00294HZ ,40x73,0xF4,//00311HZ ,4#0x1E,0xF5,//00330HZ ,50xB6,0xF5,//00349HZ ,5#0x4C,0xF6,//00370HZ ,60xD7,0xF6,//00392HZ ,6#0x5A,0xF7,//00415HZ ,70xD8,0xF7,//00440HZ 1 //120x4D,0xF8,//00466HZ 1# //130xBD,0xF8,//00494HZ 2 //140x24,0xF9,//00523HZ 2# //150x87,0xF9,//00554HZ 3 //160xE4,0xF9,//00587HZ 4 //170x3D,0xFA,//00622HZ 4# //180x90,0xFA,//00659HZ 5 //190xDE,0xFA,//00698HZ 5# //200x29,0xFB,//00740HZ 6 //210x6F,0xFB,//00784HZ 6# //220xB1,0xFB,//00831HZ 7 //230xEF,0xFB,//00880HZ `10x2A,0xFC,//00932HZ `1#0x62,0xFC,//00988HZ `20x95,0xFC,//01046HZ `2#0xC7,0xFC,//01109HZ `30xF6,0xFC,//01175HZ `40x22,0xFD,//01244HZ `4#0x4B,0xFD,//01318HZ `50x73,0xFD,//01397HZ `5#0x98,0xFD,//01480HZ `60xBB,0xFD,//01568HZ `6#0xDC,0xFD,//01661HZ `7 //35};/***************************音乐符号串解释函数****************************/ //入口:要解释的音乐符号串,输出的音调串,输出的时长串changedata(uchar *song,uchar *diao,uchar *jie){uchar i,i1,j;char gaodi; //高低+/-12音阶uchar banyin;//有没有半个升音阶uchar yinchang;//音长uchar code jie7[8]={0,12,14,16,17,19,21,23}; //C调的7个值*diao=*song;for(i=0,i1=0;;){gaodi=0; //高低=0banyin=0;//半音=0yinchang=4;//音长1拍if((*(song+i)=='|') || (*(song+i)==' ')) i++; //拍子间隔和一个空格过滤switch(*(song+i)){case ',': gaodi=-12;i++;//低音break;case '`': gaodi=12;i++; //高音break;}if(*(song+i)==0) //遇到0结束{*(diao+i1)=0; //加入结束标志0*(jie+i1)=0;return;}j=*(song+i)-0x30; i++; //取出基准音j=jie7[j]+gaodi; //加上高低音yinc: switch(*(song+i)){case '#': //有半音j加一个音阶i++;j++;goto yinc;case '-': //有一个音节加长yinchang+=4;i++;goto yinc;case '_': //有一个音节缩短yinchang/=2;i++;goto yinc;case '.': //有一个加半拍yinchang=yinchang+yinchang/2;i++;goto yinc;}*(diao+i1)=j; //记录音符*(jie+i1)=yinchang; //记录音长i1++;}}/******************************奏乐函数***************************************/ //入口:要演奏的音乐符号串void play(uchar *songdata){uchar i,c,j=0;uint n;uchar diaodata[48]; //音调缓冲uchar jiedata[48]; //音长缓冲changedata(songdata,diaodata,jiedata); //解释音乐符号串TR0=1;while(P1=0xff){for(i=0;diaodata[i]!=0;i++) //逐个符号演奏{tl0_f=freq[diaodata[i]*2]; //取出对应的定时值送给T0th0_f=freq[diaodata[i]*2+1];for(c=0;c<jiedata[i];c++) //按照音长延时{for(n=0;n<29500;n++); //29500if(P1!= 0xff)//((!K1)||(!K2)||(!K3)||(!K4))//发现按键,立即退出播放{TR0=0;return;}}TR0=0;for(n=0;n<460;n++); //音符间延时TR0=1;}}TR0=0;}//茉莉花uchar code molihua[]={"33_5_6_`1_`1_6_|55_6_5-|33_5_6_`1_`1_6_|55_6_5-|""5553_5_|665-|32_3_53_2_|11_2_1|"//"3_2_1_3_2.3_|56_`1_5-|23_5_2_3_1_,6_|,5-,61|"//"2.3_1_2-1_,6_|,5--"};//世上只有妈妈好uchar code mamahao[]={"6.5_35|`16_5_6-|35_6_53_2_|1_,6_5_3_2-|""2.3_55_6_|321-|5.3_2_1_,6_1_|,5--"};//小毛驴uchar code xiaomaolv[]={"1_1_1_3_|5_5_5_5_|6_6_6_`1|5-|""4_4_4_6_|3_3_3_3_|2_2_2_2_|5-"};//我是一只菠萝uchar code boluo[]={"1-|2_4_3_2_55|5_6_3_4_22|2_4_3_2_1_`1_7_6_|5_4_2_3_11|""2_4_3_2_55|5_6_3_4_22|2_4_3_2_1_5_2_3_|1---|"};//小星星uchar code xiaoxingxing[]={"1155|665-|4433|221-|""5544|332-|5544|332-|""1155|665-|4433|221-|"};//春天在哪里uchar code chuntian[]={"3_3_3_1_|,5,5_|3_3_3_1_|3-|5_5_3_1_|,5_,5_,5|,6_,7_1_3_|2-|" "3_3_3_1_|,5,5_|3_3_3_1_|3-|5_6_5_6_|5_4_3_1_|,5_3_|2_1_"};//两只老虎uchar code laohu[]={"1231|1231|345-|345-|""5_6_5_4_31|5_6_5_4_31|""151-|151-"};//就是爱你uchar code jiushiaini[]={"3_2_3_4_5,7_1_|1`1_7_7 5_6_|66_5_5_3_2_1_3_|4_,6_,7_1_32|" "3_2_3_4_5,7_1_|1`1_7_7_`3_|3-6_|5_4_.4_5_5-|4_,6_ ,7_1_32._1_|"};//黑白配uchar code heibai[]={"32345-|1,7123-|3,5,611-|"};//找朋友uchar code zhaopeng[]={"5_6_5_6_|5_6_5|5_`1_7_6_|5_6_5"};//数鸭子uchar code shuya[]={"313_3_1|3_3_5_6_5-|6_6_5_5_4_4_4|2_3_2_1_2"};//欢乐颂uchar code huanle[]={"3345|5432|1123|322-|3345|5432|1123|211-|"};//一分钱uchar code yifen[]={"5`1|6_`1_5|3_5_2_3_|5|3_5_6_`1_|5_6_5_3_|5_13_2"};//乐谱方式输入的音乐播放/*******************************主函数****************************************/ void main(void){P1=0xff;P0=SEG[0];TMOD = 0x01; //使用定时器0的16位工作模式TR0 = 0;ET0 = 1;EA = 1;while(1){switch(P1){case 0xfe:while(P1==0xfe){;}P0=SEG[1];play(molihua);SPEAK=0;break;//0 按下相应的键显示相对应的码值case 0xfd:while(P1==0xfd){;}P0=SEG[2];play(yifen);SPEAK=0;break;//1case 0xfb: while(P1==0xfb){;}P0=SEG[3];play(mamahao);SPEAK=0;break;//2case 0xf7: while(P1==0xf7){;}P0=SEG[4];play(xiaomaolv);SPEAK=0;break;//3case 0xef: while(P1==0xfe){;}P0=SEG[5];play(laohu);SPEAK=0;break;//4case 0xdf: while(P1==0xdf){;}P0=SEG[6];play(huanle);SPEAK=0;break;//5case 0xbf: while(P1==0xbf){;}P0=SEG[7];play(chuntian);SPEAK=0;break;//6case 0x7f: while(P1==0x7f){;}P0=SEG[8];play(zhaopeng);SPEAK=0;break;//7default: break;}TR0 = 0;}}五、问题分析与解决方法问题一:仿真问题仿真图画好之后,开始运行,数码管和发光二极管都没有反应。
89C51单片机的数字式音乐盒的设计毕业设计说明书

摘要随着改革开放的深入和市场经济体制的不断完善,传统的人工收费方式己越来越不适应现代化管理的需要。
随着电子技术和通信技术的发展,公交系统与IC 卡技术相结合成为发展的必然要求,使公交汽车自动收费的实现从技术上成为可能。
本文以非接触式IC卡读写器为设计对象,研究了系统的总体结构。
以8051单片机为核心,根据公交IC卡控制系统的性能指标,采用无线射频技术,运用一套合理的安全管理策略,完成公交非接触式IC卡控制系统读写器的硬件设计及软件设计。
并开展了对非接触式IC卡控制系统的安全性研究,在本文最后重点论述了系统中心管理的分析与设计。
关健词: 读写器;非接触式IC卡;系统安全;中心管理AbstractWith the deepening reform and opening up,traditional combination of public traffic charging system use manual-observed combination of public traffic monitoring system is not suit for the requirement.With the development of electronic technology and communication technology,the combination of public traffic system and IC card technology becomes inevitable request for development.Various automatic meter charging systems have emerged as the times require.The says as designed object is for the RF reader of the contact-less IC card,according to the design needs of the controlling system which is owned for public traffic IC card,the overall technical blue print is studied.It used 8051 as the core,adopted RFID technology and some information security strategies.Then the hardware and software design of the RF interface coprocessor has been finished.However,The research on the information security of the design has been done.This paper puts emphasis on the analysis and design of system center administration.Keywords: RF Reader and Writer; Contact-less IC Card; System Security;Center Administration毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
单片机的可控数字音乐盒设计说明

微控制器和音乐盒硬件功能随着当代单片机技术的飞速进步,单片机的功能也越来越强大,包括:(1)单片机集成度高;(2)系统结构简单、使用方便、模块化;(3)单片机可靠性高、处理功能强、速度快;(4) 低电压、低功耗,便于生产便携产品;(5) 强大的控制功能。
本文的设计采用了AT89C51单片机,是一款性价比非常高的单片机。
2.1 AT89C51芯片功能AT89C51 是一款低压、高性能 CMOS 8 位微处理器,具有 4K 字节的闪存可编程可擦除只读存储器。
俗称单片机[ 2 ] 。
如图所示:图 2-1 AT89C51 MCU 引脚图图 2-2 AT89C51 单片机实物图引脚功能[ 3 ] :P0.0-P0.7 :8位开漏双向I/O口;P1.0-P1.7:8位双向I/O口,提供上拉电阻;P2.0-P2.7:8位双向I/O口,带上拉电阻;P3.0-P3.7:引脚为8个带上拉电阻的双向I/O口;P3.0:RXD(串口输入);P3.1:TXD(串行输出口);P3.2:INT0(外部中断0);P3.3:INT1(外部中断1);P3.4:T0(定时器0外部输入);P3.6:WR(外部数据存储器写选通);P3.7:RD(外部数据存储器读选通);EA:当EA保持低电平时,在此期间外部程序存储器(0000H-FFFFH),无论是否有程序存储器。
请注意,在加密模式 1 中,EA 将被锁定为 RESET;当EA端保持高电平时,这部分程序内存;P3.5:T1(定时器1的外部输入);ALE:访问外部存储器时,地址锁存器使能的输出电平用于锁存地址的状态字节;PSEN:外部程序存储器的选通信号;RST:复位输入;XTAL1:反向振荡放大器的输入,部分时钟工作电路的输入;XTAL2:反相振荡器的输出。
2.2 八音盒的硬件和功能本文设计的数字音乐盒所需硬件为:AT89C51芯片:主控制器;LED灯:灯光闪烁,P1.0-P1.7控制八路LED灯;数码管:音乐序号显示,P0.0-P0.6控制数码管;晶振:为单片机的正常工作提供稳定的时钟信号。
基于单片机的可控数字音乐盒设计_毕业设计 精品

毕业设计基于51单片机的可控数字音乐盒设计摘要本文是一篇基于AT89C51单片机的可控数字音乐盒的程序设计。
该音乐盒是一个依据单片机技术原理,通过PROTEUS仿真软件对硬件电路进行仿真制作以及利用KEIL软件对音乐盒源程序进行C语言编译,而设计制作出的一个多功能数字音乐盒。
该音乐盒通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐。
该程序通过把乐谱转化成相应的定时常数来驱动发音设备演奏出悦耳动听的音乐。
本音乐盒一共设计了五首歌曲,同时还设计了三种LED彩灯的变化花样。
在演奏歌曲时彩灯随音调闪烁。
在停止演奏歌曲时三种彩灯花样开始闪烁。
歌曲和花样均可随意切换。
与此同时,数码管也不断变化数字,以此显示歌曲和彩灯花样的序号。
关键词:数字音乐盒;AT89C51;KEIL;PROTEUS;数码管THE DESIGNATION OF CONTROLLABLE DIGITAL MUSICBOX BASED ON 51 SCMABSTRACTThis paper explains the program designation of controllable digital music box based on AT89C51. This music box is designed by the idea that a multi-functional digital music box can be made based on the technical principle of single chip microcomputer (SCM), together with using the PROTEUS to simulate the hardware circuit and using KEIL to programme the source of music box which is compiled with C language.This music box can produce square waves of different frequency in control of the timer inside SCM, and music of different tunes by driving speaker. The program is made use of to drive the sounding equipment to play pleasant music by the way of changing music score into the corresponding timing constant.This music box is totally designed with five songs, and also with three changeable patterns of LED colorful lights. While the songs are being performed, the colorful lights are flashing with tones. While the songs are stopped playing, the colorful lights start to flash with three changeable patterns. The songs and patterns can be free to switch. At the same time, the digital tube is also constantly changing figures to show the serial number of the songs and the patterns of the colorful lights.Key words:Digital music box; AT89C51; KEIL; PROTEUS; Digital tube目录1前言------------------------------------------------------------------------------------------------------1 2单片机和音乐盒硬件的功能------------------------------------------------------------------------2 2.1AT89C51芯片的功能----------------------------------------------------------------------------2 2.2音乐盒的硬件及其功能-------------------------------------------------------------------------4 3数字音乐盒的主体设计方案------------------------------------------------------------------------5 3.1音乐盒的主体结构-------------------------------------------------------------------------------5 3.2 主设计软件的介绍-------------------------------------------------------------------------------53.2.1编程软件KEIL的简介-----------------------------------------------------------------53.2.2 仿真软件PROTEUS的简介-----------------------------------------------------------64 音乐盒硬件设计---------------------------------------------------------------------------------------8 4.1总设计框图----------------------------------------------------------------------------------------8 4.2 各部分硬件的作用-------------------------------------------------------------------------------84.2.1时钟振荡电路------------------------------------------------------------------------------84.2.2 LED和数码管的设计--------------------------------------------------------------------95 音调和节拍的设计-----------------------------------------------------------------------------------11 5.1 音调和节拍的设计以及音乐基础知识------------------------------------------------------115.2 音调和节拍的编码------------------------------------------------------------------------------136 源程序设计--------------------------------------------------------------------------------------------14 6.1音乐程序------------------------------------------------------------------------------------------14 6.2 LED花样程序-------------------------------------------------------------------------------------15 6.3 数码管程序---------------------------------------------------------------------------------------16 7数字音乐盒总设计图--------------------------------------------------------------------------------17 7.1 仿真总设计图------------------------------------------------------------------------------------17 7.2 实物总设计图------------------------------------------------------------------------------------18 8结论-----------------------------------------------------------------------------------------------------19 参考文献--------------------------------------------------------------------------------------------------20 致谢--------------------------------------------------------------------------------------------------------21 附录A总程序源代码及注释-------------------------------------------------------------------------221 前言随着科技越来越发达,单片机技术也越来越纯熟,单片机的应用也越来越广泛,可以说几乎很难找到哪个领域没有单片机的踪迹。
单片机数字音乐盒课程设计

数字音乐盒的设计摘要随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
传统音乐盒,多是机械型的,体积笨重,发音单调,不能实现批量生产。
本设计是一个基于AT89C51系列单片机的音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路、显示电路以及蜂鸣器组成。
使用四个按键控制音乐盒,其中两个按键用来控制歌曲的播放、暂停,另两个用来控制液晶上歌曲次序的变化,本音乐盒共有三首歌曲。
播放歌曲时,相应歌曲对应相应数码管上歌曲次序及歌名的显示。
关键词:AT89C51,蜂鸣器,LCD液晶显示目录1绪论 (1)1.1课题描述 (1)1.2基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (1)2.1AT89C51芯片 (1)2.1.1 AT89C51的功能特性 (2)2.1.2 AT89C51的主要性能参数 (2)2.2晶振电路 (3)2.3复位电路 (3)2.4驱动电路 (4)2.4.1 蜂鸣器 (5)2.4.2 续流二极管 (5)2.4.3 滤波电容 (5)2.4.4 三极管 (5)2.5显示电路 (6)2.5.1 线段的显示 (6)2.5.2 字符的显示 (6)2.6按键电路 (7)3 系统软件设计 (7)3.1软件设计程序流程图 (7)3.2节拍的确定 (8)3.3编码 (9)3.4仿真 (9)总结 (12)致谢 (13)参考文献 (14)附录 (15)1绪论1.1 课题描述随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。
面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。
单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
基于89C51的数字音乐盒设计方案

基于89C51的数字音乐盒设计方案1 概述本音乐盒的设计是以AT89C52芯片的电路为基础,外部以蜂鸣器作为发音器件,共同组成了音乐演奏控制器的硬件电路,通过软件程序来控制单片机部的定时器使单片机I/O口发出相应频率的脉冲来驱动蜂鸣器发出某个音调,与之相对应的LED亮起,从而演奏出优美动听的音乐。
利用按键切换演奏出不同的乐曲,并可以在LCD上显示当前曲目序号和时间。
用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。
对于不同型号的单片机只需要相应的改变一下地址和I/O管脚即可。
该软、硬件系统具有很好的通用性,很高的实际使用价值,为单片机DIY制作者和音乐爱好者具有一定的借鉴作用。
2 系统总体方案设计2.1硬件组成按照数字是音乐盒对控制系统的技术要求,控制系统的硬件应包括以下几部分:(1)控制器。
作为控制系统的核心,可以采用主流的51单片机,MSP430,或处理性能更为优越的ARM来合理控制各个器件有条不紊的运行。
(2)乐曲选择器。
可以采用按键或者触摸屏来切换相应的曲目。
(3)音频输出器件。
做为音乐盒的发声设备,可以用蜂鸣器通过它可以将音乐代码转变为音频信号发出来。
(4)人机交互界面。
可以运用LED或LCD在歌曲播放过程中用来对歌曲信息进行监控显示,反馈给使用者相应的信息。
硬件方框图图2-1-12.2.方案论证。
本次设计以低成本,灵活方便为原则,所以控制器选用主流的51系列单片机,考虑到51部储存空间的限制,故选用容量为51两倍的AT89C52单片机作为总控制器,共有以下两套方案可供选择:方案一:以AT89C52单片机作为总控制器,以机械键盘作为乐曲选择器,以蜂鸣器作为音频输出设备,以LCD1602液晶作为人机交互界面。
方案二:以AT89C52单片机作为总控制器,以机械键盘作为乐曲选择器,以蜂鸣器作为音频输出设备,以LED数码管作为人机交互界面。
由于数码管显示容的单一,操作较为繁琐且难以满足大众对主流时尚的需要,所以选用较为流行的显示效果良好的1620液晶作为人机交互界面,最终确定方案一作为制作方案。
STC89C51单片机的数字音乐盒设计(含代码)

HEFEI UNIVERSITYFPGA综述报告系别电子信息与电气工程系任课教师汪济洲班级姓名成绩日期数字音乐盒设计摘要:本设计是一个基于STC89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。
使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计4种。
播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。
本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。
关键字:音乐盒 STC89C51单片机 KEIL PROTEUS 音调目录1概述 (3)1.1设计方案 (3)1.2研究内容 (3)1.3音乐盒的功能结构图 (3)2硬件设计 (4)2.1总体设计框图 (4)2.2各部分硬件设计及其原理 (4)2.2.1 STC89C51简介 (4)2.2.2 LED显示电路设计与原理 (5)2.2.3 时钟振荡电路 (5)2.3硬件电路图及功能 (6)3软件设计 (7)3.1音调、节拍以及编码的确定方法 (7)4.1.1 音调的确定 (7)4.1.2 节拍的确定 (8)4.1.3 编码 (9)4.2软件程序设计 (10)4.2.1 程序流程图及相应代码块 (10)4.2.2 程序源代码(见附录A) (14)5调试 (14)5.1检查硬件连接 (14)5.2检查软件系统 (14)5.3测试结果 (14)5.3.1.总体运行图 (14)5.3.2.花样灯4种花样图 (15)参考文献 (16)附录A 程序源代码及注释 (16)1概述本设计是以STC89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。
单片机课程设计(含程序)——基于C51单片机的电子音乐盒

单片机课程设计题目基于C51单片机的电子音乐盒学院机电与信息工程学院专业电子信息工程年级 XXXX级学号XXXXXXXXXXXXXXXXXXXXXXXXXXX姓名 XXXXXXXXXXXXXXX指导教师 XXXXX成绩目录摘要 (1)Abstract (1)第一章绪论 (2)1.1背景 (2)1.2单片机概述 (2)1.3目的与意义 (2)第二章总体设计 (3)2.1总体设计 (3)2.2总体方案论证与设计 (3)2.2.1单片机选择 (3)第三章硬件设施 (4)3.1单片机简介 (4)3.2最小系统 (4)3.3按键电路 (4)3.4 LCD1602液晶显示电路 (5)3.5 PCB图 (8)3.6发声模块(功率放大) (8)第四章软件设计 (9)4.1软件模块及发声原理 (10)4.1.1音调的产生 (10)4.1.2节拍的确定 (12)4.2 软件设计流程 (14)4.3 发声程序 (15)4.4 按键电路设计 (16)4.5 LCD1602液晶显示电路设计 (17)4.5.1 LCD显示模块 (17)4.5.2 LCD延时模块 (19)第五章调试 (19)5.1硬件调试 (19)5.2软件调试 (21)5.3联合调试 (22)第六章总结 (22)附录1 总原理图 (23)附录2 程序 (23)1.主函数模块 (23)2.LCD模块 (30)3. LCD参数设定头文件 (31)4.LCD延时函数 (32)摘要本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路、喇叭以及LCD1602液晶显示系统组成。
本音乐盒共有四首歌曲,用3个按键控制上一曲下一曲以及暂停和恢复。
播放歌曲时,喇叭发出某个音调。
本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HEFEI UNIVERSITY
FPGA综述报告
系别电子信息与电气工程系任课教师汪济洲
班级
姓名
成绩
日期
数字音乐盒设计
摘要:本设计是一个基于STC89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。
使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计4种。
播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。
本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。
关键字:音乐盒STC89C51单片机KEIL PROTEUS 音调
目录
1概述 (3)
1.1设计方案 (3)
1.2研究内容 (3)
1.3音乐盒的功能结构图 (3)
2硬件设计 (4)
2.1总体设计框图 (4)
2.2各部分硬件设计及其原理 (4)
2.2.1 STC89C51简介 (4)
2.2.2 LED显示电路设计与原理 (5)
2.2.3 时钟振荡电路 (5)
2.3硬件电路图及功能 (6)
3软件设计 (7)
3.1音调、节拍以及编码的确定方法 (7)
4.1.1 音调的确定 (7)
4.1.2 节拍的确定 (8)
4.1.3 编码 (9)
4.2软件程序设计 (10)
4.2.1 程序流程图及相应代码块 (10)
4.2.2 程序源代码(见附录A) (14)
5调试 (14)
5.1检查硬件连接 (14)
5.2检查软件系统 (14)
5.3测试结果 (14)
5.3.1.总体运行图 (14)
5.3.2.花样灯4种花样图 (15)
参考文献 (16)
附录A 程序源代码及注释 (16)。