论文数字音乐盒

论文数字音乐盒
论文数字音乐盒

毕业设计(论文)

课题名称:基于89S51的音乐程序设计

系部名称电子电气工程系

专业班级09级电气自动化

指导教师郑敏

学生姓名镇文翔

完成时间:2012年04月10日至2012年05月25日初稿时间:2012年05月05日

定稿时间:2012年05月25日

答辩时间:2012年06月5日

目录

第一章摘要 (2)

第二章概述 (3)

第一节单片机总体功能简介 (3)

第二节AT89C51芯片功能和硬件 (4)

第三节功能键介绍 (6)

第三章系统总体方案及硬件设计 (7)

第一节系统设计要求 (7)

第二节总体设计方案 (7)

第三节系统硬件设计 (7)

第四节软件设计 (8)

第四章程序设计流程图 (10)

第五章Proteus功能仿真 (12)

课程设计体会 (14)

参考文献 (15)

附 1 原程序代码 (16)

附 2 系统原理图 (21)

第一章摘要

本设计是基于51系列单片机,蜂鸣器,数码管LED的数字音乐盒设计,通过利用i/o一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏各种乐曲(本设计为四首,若有必要,可以增加),可以通过功能键来选择乐曲,暂停,播放,前进,后退等功能。

音乐盒的电路设计过程在硬件与软件方面进行同步。其中,硬件方面选择内部存储资源丰富的AT89C51单片机,时钟采用12MHZ 晶体振荡电路。软件方面,从分析电路各个功能子模块的功能、流程图设计,在到程序的编写设计均进行了综合的考虑。编成语言从程序总体设计以及高效性的硬件方面考虑,采用汇编语言进行编写。

在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面复习与准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大的限制,每项功能实现时需要那种硬件,程序该如何编写,如何调试等,没有一定的基础就不可能很好的实现。具体实现功能:

1、利用I/O一定频率的方波,驱动蜂鸣器,发出不同的音调,

从而演奏各种乐曲

2、采用LED显示信息

3、播放时显示歌曲序号

4、可通过功能键选择乐曲,暂停,播放。

第二章概述

目前,各种传感器、变送器、控制仪表已经普遍采用单片机应用系统。它测量、处理、控制功能于一单片机是单片微型机的简称,故又称为微控制器MCU。通常由单块集成电路芯片组成,内部含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

第一节单片机总体功能简介

单片机是在工业测控需要背景下而产生的,在一个应用系统中。按照测控系统的特点和要求,单片机的应用可分为单机应用和多机应用两大类。我们这次要完成的单片机课程设计就是它的单机应用,下面介绍一下单片机应用领域内的主要内容。

(1)智能产品

单片机与传统机械产品相结合,使传统机械产品结构简化,控制智能化,购成新一代机电一体化产品。

目前,利用单片机构成的智能产品已广泛应用于家用电器、办公设备、数控机床、纺织机械、工业设备等行业。

(2)智能仪表

目前,各种传感器、变送器、控制仪表已经普遍采用单片机应用系统。它测量、处理、控制功能于一体,具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音等功能。

单片机构成的智能仪表,能使仪表具有数字化、智能化、多功能化、综合化等优点。

(3)测控技术

用于单片机结构的各种工业控制系统中的数据采集系统具有工作稳定可靠、抗干扰能力强的优点。

(4)智能接口

在计算机系统,特别是较大型的工业测控系统中,除通用外部设备外,还由许多外部通信、采集、多路分配管理、驱动控制等接口。这些外部设备与接口如果完全由主机进行管理,势必会造成主机负担过重,运行速度降低,接口的管理水平也不可能提高。如果用单片机进行接口的控制与管理,单片机与主机可并行加工处理,可以大量降低接口的通信密度,极大的提高了接口控制广利水平。在一些通用计算机外部设备上,以实现了单片机的键盘管理、打印机控制、硬盘驱动控制等。

第二节AT89C51芯片功能和硬件

本系统采用的是51系列的AT89C51单片机进行的计算器设计。

下图为AT89C51单片机的管脚图。

(图1 AT89C51引脚图)

VCC:正电源端

GND:单片机的接地端

XTAL1/XTAL2:片内振荡电路输入/输出端,两端跨接晶体或陶瓷谐振器,与单片机内部反相器构成稳定的自激振荡器。发出的脉冲直接送入片内定的控制部件

RESET:复位端

EA/VPP:寻址外部ROM控制端/编程电源输入端。

ALE/PROG:地址锁存允许/编程脉冲输入端。

PSEN:寻址外部程序存储器,选通外部EPROM的端口(OE)。P0.0~P0.7 P1.0~P1.7 P2.0~P2.7:准双向I/O口。

P3.0~P3.7:具有特定的第二功能(准双向I/O口)。

第三节功能键介绍

(图2音乐盒功能键)

START: 播放键判断

SELECT: 选择键判断

PUASE: 停止播放

STOP: 停止键判断

ORDER: 顺序键判断

RAND: 随机键判断

第三章系统总体方案及硬件设计

第一节系统设计要求

音乐盒的可实现功能:

1 利用I/O口产生一定的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲;

2 采用LED 显示信息;

3 可通过功能键选择乐曲,暂停,播放。

第二节总体设计方案

由于计算器需要比较多的输入输出口,所以选择使用内部存储资源比较的多AT89C51单片机,8位LED动态显示。扬声器可以用一个准I/O口,采用A T89C51作为运算和控制单元完全满足系统的需要。

第三节系统硬件设计

方波电路:51核片内由一个反相放大器构成振荡器,本系统采用内部方式,在XTAL1和XTAL2

端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生

时钟。时钟发生器对振荡脉冲二分频。

如下图所示:

(图3 时钟发生器)

第四节软件设计

本设计的流程如下:

主程序开始

初始化变量及LED接口

初始化方波发生器晶振管

(图4 系统流程图)

先从主程序开始,接着初始化变量及LED接口,然后初始化方波发生器、晶振管,使LED显示信息,就进入了开机状态,等待动作——选择按键,包括播放键、暂停键、停止键,当然也可以选择返回:加入选择的是播放键,LED上就会显示歌曲编号,与此同时演奏相应的乐曲,此时,你就可以用按键控制乐曲的播放了。

第四章程序设计流程图

电路图的设计及程序设计是否合理,通过proteus软件进行仿真;若不合理就需要修改,直至符合要求。

(1)软件的使用

使用W A VE6000软件的目的是取得源程序的编译文件

(2)Proteus软件介绍

protues是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析各种模拟器件和集成电路。

Proteus ISIS的工作界面是一种标准的Windows界面,如下图所示包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮预览窗口、对象选择器窗口、图形编辑窗口。

运行Proteus程序后,进入软件的界面。通过左侧工具栏的P命令,在Pick Devices左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线。

(图5 Proteus界面)

第五章 Proteus功能仿真

下面是几张仿真图,由于本次设计是数字音乐盒,而声音没有仿真图,所以仿真图主要是LCD显示歌曲编号和LED灯的显示。

(图6 LED显示仿真)

如图6:

LED等全灭:播放没有开始

D1亮:选择歌曲

D2亮:顺序模式

D3亮:随机模式

全亮:播放暂停

(图7LCD显示仿真)

如图7:LCD显示的数字是歌曲的编号。

(图8音乐盒总体仿真图)

课程设计体会

本学期在做课程设计时,对单片机的硬件设计,软件设计掌握的深度不够,但通过次次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次自己独立完成课程设计,很有成就感。

在设计过程中我遇到了很多问题,有知识方面的,但也有个人不良习惯方面的,例如在W A VE上编译程序时,出现好几处错误,经仔细检查才知道并不是程序错误,而是自己输入不规范和输错造成的,这就提醒我在设计过程中一定要细心认真的完成每一步骤每一个环节,才能避免不必要的失误。

另外,我觉得只有在一个好的氛围里才能踏下心来做东西,在设计出现问题时,一定要戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,这是非常重要。

参考文献

【1】《单片机原理及应用技术》

【2】《MC-51单片机应用技术》

【3】《电子制作》

【4】《51 系列单片机设计实例》

【5】《单片机C51程序设计教程与实验》

附 1 原程序代码

#include

#include

#define K_Order P3_6

#define K_Rand P3_7

#define K_Start P3_0

#define K_Select P3_1

#define K_Puase P3_2

#define K_Stop P3_3

extern void Play_Music(unsigned char music_num);

extern void Delay10us(unsigned char tmep);

extern void Delay10ms(unsigned char tmep);

extern void Delay1s(unsigned char tmep);

extern void Press_Start(void);

extern void Press_Select(void);

extern void Press_Order(void);

extern void Press_Rand(void);

extern void Press_Puase(void);

extern void Press_Stop(void);

void music(unsigned int code *Song);

static unsigned int count;

static unsigned char startflag,selectflag,orderflag,randflag,stopflag,flag,Ledflag;

static unsigned char i,k,temp,step,freq,music_num,randnum;unsigned char code *ptr; //LED显示代码,共阳极

unsigned char code Seg[4]={ 0xF9,0xA4,0xB0,0x99};

//song1八月桂花香

unsigned char code Song1[]={0x18,0x30,0x1c,0x20,0x10,0x40,0x1c,0x10,0x18,0x10,

0x20,0x10,0x1c,0x10,0x18,0x40,0x1c,0x20,0x20,0x20,

0x1c,0x20,0x18,0x20,0x20,0x80,0xff,0x20,0x30,0x1c,

0x10,0x18,0x20,0x15,0x20,0x1c,0x20,0x20,0x20,0x26,

0x40,0x20,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x30,

0x80,0xff,0x20,0x20,0x1c,0x10,0x18,0x10,0x20,0x20,

0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40,0x20,0x20,

0x1c,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2b,0x20,

0x30,0x20,0x2b,0x40,0x20,0x30,0x1c,0x10,0x18,0x20,

0x15,0x20,0x1c,0x20,0x20,0x20,0x26,0x40,0x20,0x20,

0x2b,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,

0x1c,0x10,0x20,0x10,0x1c,0x10,0x20,0x20,0x26,0x20,

0x2b,0x20,0x30,0x20,0x2b,0x40,0x20,0x15,0x1f,0x05,

0x20,0x10,0x1c,0x10,0x20,0x20,0x26,0x20,0x2b,0x20,

0x30,0x20,0x2b,0x40,0x20,0x30,0x1c,0x10,0x18,0x20,

0x15,0x20,0x1c,0x20,0x20,0x20,0x26,0x40,0x20,0x20,

0x2b,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,

0x1c,0x10,0x18,0x40,0x1c,0x20,0x20,0x20,0x26,0x40,

0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80, 0x00};

//song2波斯猫部分

unsigned char code

Song2[]={0x40,0x19,0x40,0x19,0x40,0x19,0x4c,0x19,0x4c,0x19,0x48,0x19,0x4c,0x19, 0x40,0x19,0x40,0x19,0x40,0x19,0x4c,0x19,0x4c,0x19,0x48,0x19,0x4c,0x19,

0x40,0x19,0x40,0x19,0x40,0x19,0x4c,0x19,0x40,0x19,0x39,0x19,0x33,0x19,0x30,0 x19,

0x30,0x19,0x33,0x19,0x33,0x19,

0x30,0x32,0x30,0x32,0x30,0x32,0x39,0x19,0x40,0x19,

0x39,0x19,0x40,0x19,0x4c,0x32,0x4c,0x32,

0x39,0x32,0x39,0x32,0x39,0x32,0x40,0x19,0x4c,0x19,

0x40,0x19,0x4c,0x19,0x55,0x32,0x55,0x32,

0x30,0x32,0x30,0x32,0x30,0x32,0x39,0x19,0x40,0x19,

0x39,0x19,0x40,0x19,0x4c,0x32,0x4c,0x32,

0x55,0x32,0x39,0x19,0x4c,0x19,0x4c,0x32,0x4c,0x19,0x40,0x19,

0x39,0x32,0x39,0x19,0x39,0x32,0x24,0x00,0x00}; //song3两只老虎

unsigned char code Song3[]={0x60,0x32,0x55,0x32,0x4c,0x32,0x60,0x32,

0x60,0x32,0x55,0x32,0x4c,0x32,0x60,0x32,

0x4c,0x32,0x48,0x32,0x40,0x32,0x40,0x32,

0x4c,0x32,0x48,0x32,0x40,0x32,0x40,0x32,

0x40,0x19,0x40,0x0d,0x39,0x0d,0x40,0x19,

0x40,0x0d,0x48,0x0d,0x4c,0x32,0x60,0x32,

0x40,0x19,0x40,0x0d,0x39,0x0d,0x40,0x19,

0x40,0x0d,0x48,0x0d,0x4c,0x32,0x60,0x32,

0x60,0x32,0x40,0x32,0x60,0x32,0x60,0x32,

0x60,0x32,0x40,0x32,0x60,0x32,0x60,0x32,0x00};

//song4兰花草

unsigned char code Song4[]={0x72,0x19,0x4c,0x19,0x4c,0x19,0x4c,

0x19,0x4c,0x19,0x4c,0x32,0x55,0x19,

0x60,0x19,0x55,0x19,0x60,0x19,0x65,

0x19,0x72,0x32,0x72,0x32,

0x39,0x19,0x39,0x19,0x39,0x19,0x39,

0x19,0x39,0x32,0x39,0x32,0x40,0x19,

0x97,0x19,0x40,0x19,0x40,0x19,0x48,

0x19,0x4c,0x32,0x4c,0x32,

0x4c,0x19,0x39,0x19,0x39,0x19,0x40,

0x19,0x4c,0x32,0x4c,0x32,0x55,0x19,

0x60,0x19,0x55,0x19,0x60,0x19,0x65,

0x19,0x72,0x32,0x97,0x19,

0x97,0x19,0x60,0x19,0x60,0x19,0x65,

0x19,0x72,0x32,0x72,0x32,0x4c,0x19,

0x55,0x19,0x60,0x19,0x65,0x19,0x7f,

0x19,0x39,0x32,0x39,0x32,0x00};

///////////////////////////////-MAIN-///////////////////////////////

void main(void)

{P1=0xff;

//初始化设置?

SP=0x60; TH0=0xD8; TL0=0xF0; TMOD=0x01;

IE=0x83; IP=0x02; music_num=0; startflag=0; flag=0;

while(1)

{ Press_Start();if(startflag==1){ Play_Music(music_num); Delay1s(200); Delay1s(200);} Press_Select();if(selectflag==1){ Delay1s(100); P2=0x0E;

if(music_num>=0&&music_num<=3)

//选择音乐使其在可选音乐的范围内

{ P1=Seg[music_num++];} else music_num=0; Delay1s(100);}

Press_Order();if(orderflag==1) { flag=0; while(1){ P2=0x0D; if(K_Start==0||flag==1)

//flag指示上次是否播放音乐,如播放过???

{ if(music_num!=0)

//则循环下去,直到有按键.

P1=Seg[music_num-1];else

P1=Seg[music_num]; Play_Music(music_num); music_num++; flag=1; }

if(music_num==5) music_num=0;Delay1s(100);

if(K_Stop==0) break; } }Press_Rand();

if(randflag==1){ flag=0; while(1)

{P2=0x0B;randnum=rand(); music_num=randnum%10;

if((music_num>=0&&music_num<4)&&(flag==1||K_Start==0)){ flag=1;

if(music_num!=0)P1=Seg[music_num-1]; else

P1=Seg[music_num]; Play_Music(music_num);} Delay1s(200);

if(K_Stop==0) break; }}Press_Stop();

if(stopflag==1){ P1=0xFF; P2=0xFF; music_num=0;} }

音乐盒课程设计报告

音乐盒课程设计报告 XXXXXXXXXXXXX 一、项目概述: 随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于AT89C52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。 二、项目要求: 基于AT89C52单片机的数字音乐盒的设计要求如下: (1)用AT89C2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 (2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。 (3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。 三、知识要点: (一)、AT89C2芯片资料: 1)功能说明: 1、兼容MCS51指令系统。 2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。 5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。 7、1个可编程UART串行通道。 8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 2)引脚说明:

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~ P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 本项目使用到的单片机引脚说明: 1)20、40号引脚分别接地和+5V电源。 2)18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时钟发生器的输入端。 3)9号引脚接RST复位电路。 3)单片机使能信号接31号引脚,接+5V。 4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。 5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。 (二)、LCD1602资料: 1)、LCD1602介绍: 1602液晶显示器也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。 2)1602引脚说明:

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

数字音乐盒课程设计

基于单片机多功能数字音乐盒 《单片机原理及应用》课程设计任务书 一、目的意义 《单片机原理及应用》是高校工程专业的一门专业基础课,该门课程具有很强的实践性。通过课程的学习,使学生掌握基本概念、基本理论和基本技能,为今后从事相应的生产设计和科研工作打下一定的基础。因此,除课程的理论教学和实验教学外,课程设计也是一个必要和重要的实践教学环节。通过课程设计,进一步培养学生理论联系实际的能力,学会正确地分析工程实际问题,善于查阅参考文献,准确地选择相应的数据、参数,具备全面地解决实际问题的素质,同时课程设计也为今后的毕业设计打下基础。 二、设计时间、地点、班级 时间:第16、17周(二周) 地点:三教433 、426 班级:09电气99人 三、设计内容 (二十)基于单片机的多功能数字音乐盒的设计 1、功能描述 用A T89S52单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 共有4乐曲,每首乐曲都由相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲控制键。 按键输入电路的设计 复位电路的设计;时钟电路的设计 显示电路及驱动电路的设计;扫描模式的选择设计 系统主程序及子程序的设计;元件及元件参数的选择

前言:本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演 奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。 1、 设计原理及相关说明 设计原理:通过按键给单片机的P2口输入低电平,进而利用程序来判断是否执行某一播放功能。而利用单片机的定时器0中断来控制播放乐曲。 2.1芯片AT89C51的介绍 AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM )的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.1 图3.2 AT89C51

数字音乐盒的设计讲解

单片机与接口技术课程设计(论文) 数字音乐盒的设计 院(系)名称电子与信息工程学院专业班级通信121班 学号120405003 学生姓名潘凤麟 指导教师高影讲师起止时间:2015.7.4—2015.7.13

课程设计(论文)任务及评语 院(系):电子与信息工程学院教研室:通信工程

摘要 单片机是把CPU、存储器和I/O接口集成在一片半导体硅片上的微型计算机。本次课程设计所设计出的数字音乐盒就是基于单片机的一个系统。它的的硬件电路部分采用Proteus软件进行设计,以AT89C51单片机作为主芯片,用其I/O口产生不同频率的方波来驱动蜂鸣器发出不同的音调,再配以LCD显示屏和4*4键盘实现必要的显示和控制。软件部分采用Keil与Proteus进行联合仿真,并用汇编语言来设计程序,把用Keil生成的HEX文件写入到单片机中即可实现设计所要求的功能。 通过Proteus与Keil的联合仿真,该数字音乐盒可播放3首不同的歌曲,并可通过LCD显示屏显示歌曲名称或序号;可通过4*4键盘实现对歌曲的选择,暂停,与播放功能,故仿真结果符合设计要求。 关键词:数字音乐盒;LCD显示屏;键盘

目录 第1章绪论 (1) 1.1 AT89C51简介 (1) 1.2 仿真环境简介 (2) 1.3本文研究内容 (3) 第2章数字音乐盒硬件电路图的设计与分析 (4) 2.1 总体设计方案分析 (4) 2.2 数字音乐盒部分电路原理说明 (4) 2.2.1 蜂鸣器驱动部分电路图与原理说明 (4) 2.2.2 LCD显示部分电路图与原理说明 (5) 2.2.3 键盘控制部分电路图与原理说明 (6) 第3章数字音乐盒的软件设计 (7) 3.1 数字音乐盒总体软件程序流程图与分析 (8) 3.2 数字音乐盒各子程序的设计与分析 (8) 3.2.1 系统初始化子程序设计与分析 (9) 3.2.2 LCD显示子程序设计与分析 (10) 3.2.3 蜂鸣器频率控制子程序设计与分析 (11) 3.2.4 键盘控制子程序设计与分析 (11) 第4章仿真结果与分析 (12) 4.1 仿真结果 (12) 4.2 仿真步骤与结果分析 (13) 第5章总结 (16) 参考文献 (17) 附录Ⅰ (18) 附录Ⅱ (19) 附录Ⅲ (20)

课程设计-数字音乐盒

单片机课程设计-数字音乐盒 课程设计要求:1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停,播放。 5.选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段 显示数码管LED。 原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。 (1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。 (2)用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。 (3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。 (4)用P3.7口控制蜂鸣器。 (5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

电路图: 【试验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】实验控制流程图如下:

S BIT P2.0 ;定义液晶显示端口标号 RW BIT P2.1 E BIT P2.2 ;******************************************** L50MS EQU 60H L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU 64H HOU EQU 63H ;******************************************* org 0000h ljmp main ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT org 1000h main: ;-----------------------;液晶初始化 MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示

数字音乐盒地设计与实现

课程设计报告 课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现

1 总体设计方案 1.1 题目介绍与要求 本次课程设计的任务是运用伟福Lab8000试验箱和keil软件设计并实现一个数字音乐盒,要求采用I/O产生一定频率的方波,从而驱动蜂鸣器发出不同的音调,演奏乐曲;并且需要采用七段数码管显示当前播放的歌曲序号和播放时间;还得通过数字键盘直接选择乐曲,控制选择上一曲和下一曲音乐,具有暂停和播放控制功能。 1.2设计思路 1.2.1音调的产生 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。 要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 利用51单片机的部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:

STC89C51单片机的数字音乐盒设计(含代码)

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)

数字音乐盒

题目:数字音乐盒电路的设计与仿真 学生姓名: 学生学号: 系别:电子工程学院 专业:通信工程 年级: 2013级 任课教师:

淮南师范学院电子工程学院通信工程专业《单片机系统设计与Proteus仿真》课程论文 数字音乐盒电路的设计与仿真 学生: 指导教师: 电子工程学院通信工程专业 1项目概括 本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEILC编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲 (2)可通过功能键选择乐曲,暂停,播放。 2 系统原理 2.1芯片AT89C51的介绍 AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS -8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

数字音乐盒实验报告

《单片机与接口设计》课程设计报告 题目数字音乐盒 学号130803023 130803088 130803100 姓名胡杰张宏朱子龙 年级专业13级通信工程 指导教师黄云飞 完成日期2016 年 3 月 4 日 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University

物理与电子信息学院课程设计评定意见 注:本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订

课程设计划任务书 通信工程系通信工程专业 学生姓名朱子龙班级13级学号:130803100 学生姓名胡杰班级13级学号:130803023 学生姓名张宏班级13级学号:120803088 课程名称:单片机原理与接口技术 设计题目:数字音乐盒 课程设计内容与要求: 课程设计开始日期2016 年1 月14 日指导教师黄云飞课程设计结束日期2016 年 3 月 4 日

数字音乐盒 摘要:本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LCD显示器为 核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。 本设计采用4*4键盘,用Protel99来画系统硬件图,采用汇编语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过LCD显示歌曲号及播放时间。 本设计键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐的播放的时间。 关键词:数字音乐盒;AT89C51;KEIL;PROTEUS;数码管

电子音乐盒(单片机课程设计)

^ 电子音乐盒 1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 硬件电路 (2) 原理说明 (2) 4、软件设计 (3) 5、仿真、安装和调试 (3) 【 6、收获与体会 (4) 参考文献 (5) 附件1:元件清单 (6) 附件2: 总电路图 (7) 附件3:音乐程序 (8) ,

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而 演乐曲(内存两首乐曲)。 (2)采用七段数码管显示当前播放的歌曲序号。 (3)可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr

数字音乐盒

数字音乐盒 单片机课程设计报告 数字音乐盒 摘要 本设计是基于51系列的单片机进行的数字音乐盒的设计,可以完成演奏音乐,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间,也可在LED显示歌曲号。 音乐盒的设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘,显示采用七段显示数码管LED。软件方面从分析音乐盒功能、流程图设计,再到程序的编写进行系统设计。 设计的结果能够完成演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写等,没有一定的基础就不可能很好的实现。 具体实现功能: 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而 演奏乐曲(最少三首乐曲,每首不少于30秒)。 2(采用LCD显示信息。 3(开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。 4(可通过功能键选择乐曲,暂停,播放。

5(显示乐曲播放时间或剩余时间。 目录 1概 述 ..................................................................... .. (3) 1.1单片机总体功能简介...................................................................... . (4) 1.2输入键盘功能综 述 ..................................................................... .. (4) 1.3 输出LED显示功能综 述 ..................................................................... ....... 4 2系统总体方案及硬件设 计 ..................................................................... (7) 2.1系统设计要 求 ..................................................................... . (7) 2.2总体设计方 案 ..................................................................... . (7) 2.3系统硬件设 计 .....................................................................

数字音乐盒的设计

电子技术课程设计 《数字音乐盒》 课程设计报告 院(系)名称信息工程学院 专业班级10级测控技术与仪器 学号100119066 学生姓名刘祖林 指导教师杨全玖

目录 第一章摘要 (2) 第二章概述 (3) 第一节单片机总体功能简介 (3) 第二节AT89C51芯片功能和硬件 (4) 第三节功能键介绍 (6) 第三章系统总体方案及硬件设计 (7) 第一节系统设计要求 (7) 第二节总体设计方案 (7) 第三节系统硬件设计 (7) 第四节软件设计 (8) 第四章程序设计流程图 .......................... 错误!未定义书签。第五章P ROTEUS功能仿真 (12) 总结 ........................................................ 错误!未定义书签。致谢 . (15) 附1原程序代码 (16) 附2系统原理图 (22)

第一章摘要 本设计是基于51系列单片机,蜂鸣器,数码管LED的数字音乐盒设计,通过利用I/o一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏各种乐曲(本设计为四首,若有必要,可以增加),可以通过功能键来选择乐曲,暂停,播放,前进,后退等功能。 音乐盒的电路设计过程在硬件与软件方面进行同步。其中,硬件方面选择内部存储资源丰富的AT89C51单片机,时钟采用12MHZ晶体振荡电路。软件方面,从分析电路各个功能子模块的功能、流程图设计,在到程序的编写设计均进行了综合的考虑。编成语言从程序总体设计以及高效性的硬件方面考虑,采用汇编语言进行编写。 在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面复习与准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大的限制,每项功能实现时需要那种硬件,程序该如何编写,如何调试等,没有一定的基础就不可能很好的实现。具体实现功能: 1、利用I/O一定频率的方波,驱动蜂鸣器,发出不同的音调, 从而演奏各种乐曲 2、采用LED显示信息 3、播放时显示歌曲序号 4、可通过功能键选择乐曲,暂停,播放。

单片机数字音乐盒设计

单片机数字音乐盒设计 摘要:本设计是采用单片机为核心设计的数字音乐播放器。它可以实现音乐的播放,可以通过功能键来选择乐曲,播放或暂停,上一曲或下一曲,并可以通过LCD屏幕显示正在播放的歌曲的序号,以及播放时间。开机时有英文欢迎提示字符。本音乐播放器可以播放十首歌曲。 主控芯片采用AT89C51,采用汇编语言进行编程,编程后利用KEIl C51进行编译,用Proteus软件来仿真。 关键词:数字音乐盒;单片机;智能化 Digital Music Box Design CHENYING Instructor:HUKEYONG Abstract:This design is using microcontroller as the core design of the digital music player .It can play music. It can function keys to select a song, play or pause on one or the next one. and the serial number of the song that is playing, as well as play time can be displayed through the LCD screen. English boot welcome prompt characters. The music player can play ten songs. The master chip is AT89C51, assembly language is programming, programming by KEIl C51 compile,then using Proteus software to simulate. Key words:Digital Music Box, SCM, Intelligent

基于51单片机数字音乐盒的设计毕业设计

单片机实物设计题目: 单片机音乐盒设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于单片机的数字音乐盒

山东建筑大学 课程设计说明书 题目:基于单片机的数字音乐盒 课程:单片机原理及应用B课程设计院(部):信息与电气工程学院 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师:高焕兵张君捧 完成日期: 2013年6月

目录 摘要 .................................................................... I 1 设计目的 (2) 2 设计要求 (2) 3 设计内容 (3) 3.1 设计原理 (3) 3.2 方案设计 (3) 3.3 电路各模块说明 (4) 3.4 器件选择 (6) 3.5.系统设计 (8) 3.6 软件设计 (8) 3.7 仿真调试及操作说明 (9) 总结与致谢 (10) 参考文献 (11) 附录 (12) 附录一:基于单片机的数字音乐盒总电路图 (12) 附录二:音乐程序 (12)

山东建筑大学信息与电气工程学院学院课程设计说明书 摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。所放歌曲的节奏可以根据需要进行设置,根据存储容量的大小,可以尽可能多的存储歌曲。 本设计由由单片机AT80C51芯片和LCD显示器为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。本设计采用4*4键盘,用Protel99来画系统硬件图,采用C语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。 关键词:单片机;音乐盒;电路;播放

单片机课程设计-数字音乐盒设计

机电工程系 课程设计报告 题目: 单片机课程设计-数字音乐盒设计 专业:应用电子技术 班级: 10应用电子(4)班 学号: 1006190120 姓名: 指导老师: 答辩日期: 2012年 9月

目录 一、绪论 ............................................................................................................................................ - 4 - 二、对本课程设计的分析................................................................................................................. - 4 - 2.1工作原理 ................................................................................................................................ - 5 - 2.节拍的确定 .......................................................................................................................... - 6 - 3. 音符的编码 .......................................................................................................................... - 8 - 4.软硬件环境: ................................................................................................................................ - 8 - 三、主要电路模块的实现方案比较及选择..................................................................................... - 8 - 3.2 设计方案的确定:...................................................................................................................... - 9 - 四、系统电路图 ................................................................................................................................ - 9 - 五、系统的软件设计....................................................................................................................... - 13 - 六、结论 .......................................................................................................................................... - 15 - 七、课程设计中所负责的内容....................................................................................................... - 15 - 八、课程设计过程中遇到的主要问题以及解决办法................................................................... - 15 - 九、心得体会 .................................................................................................................................. - 16 -

基于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-1 2.2.方案论证。 本次设计以低成本,灵活方便为原则,所以控制器选用主流的51系列单片机,考虑到51部储存空间的限制,故选用容量为51两倍的AT89C52单片机作为总控制器,共有以下两套方案可供选择: 方案一:以AT89C52单片机作为总控制器,以机械键盘作为乐曲选择器,以蜂鸣器作为音频输出设备,以LCD1602液晶作为人机交互界面。 方案二:以AT89C52单片机作为总控制器,以机械键盘作为乐曲选择器,以蜂鸣器作为音频输出设备,以LED数码管作为人机交互界面。 由于数码管显示容的单一,操作较为繁琐且难以满足大众对主流时尚的需要,所以选用较为流行的显示效果良好的1620液晶作为人机交互界面,最终确定方案一作为制作方案。 总体方案图:

相关文档
最新文档