创新实验结题报告——基于MCS-51单片机的音乐键盘设计

时间:2024.5.13

山东科技大学电工电子实验教学中心

创新性实验结题报告

实验项目名称 基于MCS-51单片机的音乐键盘设计

成员姓名 ***** __ 学号 _ 0901101207

手机 159xxxxxxxx Email 657700074@qq.com

专 业 _通信工程 _ 班级 _09-2 _

指导教师及职称 ******

开课学期 2011 至 2012 学年 第一 学期

提交时间 月

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

五、实验结果与分析

创新实验结题报告基于MCS51单片机的音乐键盘设计

创新实验结题报告基于MCS51单片机的音乐键盘设计

六、指导老师评语及得分:

创新实验结题报告基于MCS51单片机的音乐键盘设计

七、中心意见:

创新实验结题报告基于MCS51单片机的音乐键盘设计


第二篇:基于51单片机的音乐播放设计


基于51单片机的音乐播放设计

摘  要

为方便人们的日常生活,优化学校、机关等单位的计时系统,采用以单片机为基础设计了一种的自动音乐播放器。本设计利用单片机AT89S52的定时和计数功能,来完成时间的显示和定时功能。并且,通过对定时器初值的设定来产生不同频率的声音,利用定时器中断来完成对音乐节拍长度的控制。通过音频功率放大器,将单片机输出的信号放大,再通过喇叭播放乐曲。通过MAX232型芯片,可以转换PC机上的电压和单片机的电源电压,再通过串口接入PC机,这样就能从PC机上将用C语言编写的程序下载到单片机上。最后可在数码管上显示时间,当定时时间到后,喇叭自动播放一段连续的音乐。此设计摆脱了传统闹钟的刺耳声音,取而代之的是美妙的音乐,能为人们的日常生活提供准确的计时,且成本低廉,值得推广。

关键词:音乐播放;音频转换;时间显示;ULN2003


Music playback design based on 51 single chip microcomputer

Abstract

For the convenience of People's Daily lives, to optimize the timing system schools, agencies and other units, on the basis of the single chip microcomputer was adopted to design a kind of automatic music player.This design using the single chip microcomputer AT89S52 timing and counting functions, to complete the time display and timing functions.And, by the setting of the initial value of timer to generate different frequencies of sound, using a timer interrupt to complete control of the beat of the music length.Through the audio power amplifier, MCU output signal amplification, then play the music over the loudspeaker.Through MAX232 chip, can convert the voltage of power supply voltage of PC and microcontroller, through a serial port connected to the PC, so you can from the PC will be written in C language program downloaded to the microcontroller.Finally on the digital tube display time, when the time to regularly, speakers play a continuous music automatically.This design to get rid of the traditional alarm clock sharp voice, instead, the wonderful music, can offer the accurate timing for People's Daily lives, and low cost, is worth promoting.

Key words:Music playback;Audio conversion;Time display;ULN2003


目  录

  1 总体设计............................................. 1

  2 硬件设计............................................. 2

  2.1 AT89S52型单片机介绍................................. 2

  2.2 ULN2003及外围电路的设计............................. 2

  2.3 串行通信和MAX232芯片................................ 3

  2.4 AT89S52的定时/计数器概述............................ 3

  2.5 LED显示............................................ 5

  3 软件设计............................................. 6

  3.1 音乐编程原理及其流程图............................... 6

  3.1.1 产生声音信号...................................... 6

  3.1.2 产生节拍信号...................................... 6

  3.1.3 音频转换.......................................... 7

  3.2 时间显示程序设计..................................... 8

  4 仿真及调试过程....................................... 9

  4.1 硬件调试过程........................................ 9

  4.2 软件仿真过程........................................ 9

  5 结束语.............................................. 11

  参考文献............................................... 12


1  总体设计  

  在基于单片机的自动音乐播放器中,采用AT89C52RC型单片机为硬件基础,通过C语言对芯片进行编程。单片机需外接+5V稳压电源,并通过MAX232电平转换芯片和串口接入PC机。单片机工作时,用软件对定时器初值进行设定,从而得到所需要的声音频率;通过四位共阴LED数码管,可显示时间,并可进行定时设置;将单片机输出的信号放大,接入喇叭即可发声[1]。具体要求如下:(1)对时间进行定时,当定时时间到后,通过喇叭能连续播放一段音乐。要求播放出的音乐的音阶准确,不能有太大偏差,否则会造成音乐声音刺耳难听;音乐播放必须连贯,即音乐必须有节奏感;喇叭放出的音乐声音响亮,不能太小,否则不能达到乐曲的提示作用。(2)在四位共阴LED数码管上显示出时间(24小时制),包括小时、分钟,当定时1秒后,秒数加1;当定时满60秒后,秒数归零,分钟数加1;当定时满60分钟后,分钟数归零,小时数加1;当定时满24小时后,小时数归零。设计的硬件流程模块如图1-1:

 

 

图1-1  硬件流程模块图

首先,PC机通过串口及MAX232芯片将程序下载到单片机中,其中包括把一个个的单音写入单片机的RAM存储器中,程序运行时再将音乐数据按顺序读出,利用单片机的定时器中断控制音乐节拍的长度,这样就能形成一段乐曲。在单片机P1.0口接入音频放大电路,将单片机输出的信号放大,再通过喇叭播放音乐。单片机P2口接4位共阴LED数码管,并外接1K欧的排阻,利用单片机内部的定时器中断控制时间程序,然后在数码管上显示出时间。

2  硬件设计

2.1 AT89S52型单片机介绍

  AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[2]

2.2 ULN2003及外围电路的设计

  ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成乃音频功率放大器,ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据[3]。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。

  ULN2003 采用DIP—16 或SOP—16 塑料封装。ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。

  采用ULN2003驱动蜂鸣器时设计电路图2-1如下:

 

 图2-1  ULN2003驱动蜂鸣器时设计电路图

2.3 串行通信和MAX232芯片

  在单片机和PC机之间,要通过MAX232芯片进行电平转换,MAX232芯片主要是完成TTL←→EIA双向电平转换。EIA-RS-232C与TTL转换:EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同[4]。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。与计算机USB之间通信需要USB转串口设计,如下图2-2:

 

图2-2  USB转串口设计

2.4 AT89S52的定时/计数器概述

  图2-3是定时器/计数器的结构框图。由图可知,定时器/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。

  定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。

 

图2-3  定时器/计数器的结构框图

  TL0、TL1、TH0、TH1的访问地址依次为8AH?8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。

  TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。

  计数方式时,T的功能是计来自T0(P3.4)T1(P3.5)的外部脉冲信号的个数。输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。外部输入信号的下降沿将触发计数,识别一个从“1”到“0”的跳变需2个机器周期,所以,对外部输入信号最高的计数速率是晶振频率的1/24。若晶振频率为6MHz,则计数脉冲频率应低于1/4MHz。当计数器满后,再来一个计数脉冲,计数器全部回0,这就是溢出。

  脉冲的计数长度与计数器预先装入的初值有关。初值越大,计数长度越小;初值越小,计数长度越大。最大计数长度为65536(216)个脉冲(初值为0)。

  定时方式时,T记录单片机内部振荡器输出的脉冲(机器周期信号)个数。每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。定时器的定时时间不仅与定时器的初值有关,而且还与系统的时钟频率有关。在机器周期一定的情况下,初值越大,定时时间越短;初值越小,定时时间越长。最长的定时时间为65536(216)个机器周期(初值为0)。

2.5 LED显示

  本文采用将多只LED的阴极连在一起的共阴式数码管。如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。8位共阳数码管管脚图如图2-4,采用2片74HC573驱动数码管,以降低I/O口使用数量:

 

图2-4  8位共阳数码管管脚图

          

 3  软件设计

3.1 音乐编程原理及其流程图

3.1.1 产生声音信号

  声音是音频振动的结果,振动的频率高则为高音,频率低则为低音。音频范围为20HZ-200KHZ之间,而人类耳朵比较容易辨识的声音大概是200HZ-20KHZ。一般音响电路是以正弦波信号驱动喇叭,产生悦耳的音乐的[5]。在数字电路里,则是以脉冲信号驱动喇叭以产生声音。同样的频率,脉冲信号或正弦信号产生的音效,对于人类的耳朵来说很难有所区别。若用单片机产生声音,可利用程序产生频率,送到输入/输出端口,例如P1.0,再从该点连接到喇叭的驱动电路,即可驱动喇叭。   若要产生音频脉冲,只要算出某一音频的周期,再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。

3.1.2 产生节拍信号

  音阶的频率是固定的,而节拍有快有慢,拍子越短节奏越快,拍子越长节奏越慢。控制发音的时间有两种方法:调用延时子程序或采用定时器中断[6]。本次设计采用的是定时器终端方式。设计的程序具体编程方法如下:

  1.首先,定义toneh[]和tonel[]两个数组,将各个音乐频率的定时器初值的16进制数的高8位装入toneh[],低8位装入tonel[]。

  2.利用单片机的定时器中断,将toneh[]和tonel[]的数据分别装入TH0和TL0,并且,收到信号P1.0就反相。

  void timer0(void)   interrupt 1 using 1

 {

   P1_0=!P1_0;

   TH0=toneh[rti];

   TL0=tonel[rti];

 }

  3.利用定时器1控制音乐节拍的时间长度,将上文所述的定时器初值装入定时器1。

void timer1(void)   interrupt 3 using 2

 {

   TH1=0x0c;

   TL1=0xdc;

   m++;

 }

  然后在程序执行时顺序查此表,取出音符代码,查频率表,置入T/C口,取出节拍代码,供定时器使用,启动后即可发出声音。

3.1.3 音频转换

  利用单片机的内部定时器使其工作计数器模式(MODEL1)下,改变其计数值TH0及TL0以产生不同频率的方法产生不同音阶。音阶与频率的对应关系如表3-1所示。

表3-1  音阶与频率的对应关系表

  设计的软件流程如图2-1所示。程序开始运行时先对单片机进行初始化,其中包括定时器及其工作方式的选择、外部中断设定、定时器初值的设定。

图3-1  软件流程设计图

3.2 时间显示程序设计

      对于时间程序的设计,主要依靠单片机内部定时器的计数功能实现。时钟由秒针、分针和时针组成,在程序中分别由sdata,mdata,hdata表示各单位的数据。首先对sdata,mdata,hdata分别设定一个初值,其中sdata设为0,表示秒针初始为0。然后利用定时器对秒针计数,当计数值达到1秒的时间后产生定时器中断,sdata的数据就加1。由于本次设计采用的晶振频率为6MHz,所以定时器取值为2500。将hdata的数据装入第一和第二个数码管,将mdata的数据装入第三和第四个数码管。当sdata的数据为59时,若此时再来一个定时器中断,则秒针重新归零,而分针就加1。同样,分针和时针的进位也是同一道理。当设定的闹钟时间一到,程序即转入音频程序,驱动喇叭放出音乐[7]

4  仿真及调试过程

4.1 硬件调试过程

  本次设计的硬件电路主要由单片机AT89S52、MAX232和ULN2003的外围电路组成,在调试电路的过程中也碰到了一些问题。

问题一:单片机无法正常下载程序。

调试步骤:

  1、检查单片机和串口电路是否连接错。

  2、检查串口的接口是否连接正确。

  3、检查焊接电路是否有虚焊和漏焊。

  4、检查串口助手的芯片选择是否正确。

MAX232工作电压如表4-1所示。

表4-1  MAX232工作电压表

问题二:下载音频程序后无法播放音乐。

调试步骤:

1.  检查电源是否正常接入电路中。

2.  利用示波器测试单片机输出端是否有信号输出,发现信号输出正常,说明单片机正常工作。

3.  利用示波器测试音频放大电路输出端是否有信号输出,发现信号输出正常,说明音频放大电路工作正常,同时说明是喇叭部分出现了问题。

4.  故障原因:焊接时将发声器件烧坏了,导致发不出声音。解决方案:重新换一个8欧姆喇叭,即可正常播放音乐。

4.2 软件仿真过程

  对于时间显示程序,采用Preteus软件来仿真。首先进入Preteu界面,设计一个简单的仿真电路,及一个单片机的基本外围电路,在P0.0-P0.7接一个4位共阴数码管和排阻。最后,把程序调入单片机中,开始运行。

  1、调试过程中所遇到的问题:运行程序时LED4位共阴数码管显示程乱码。

    原因分析:数码管初始设置有错。

    解决方案:重新设置数码管显示参数。                               

  2、数码管显示的时间与真正的时间进度不一致。

 原因分析:定时器初值设置有误。本次设计的晶振为6MHZ,而程序中的初值却设

 置成了12MHZ晶振所采用的值5000,导致显示的时间比真正的时间要慢。

 解决方案:将定时器初值改为12MHZ晶振初值的一半,及2500即可。

5  结束语

  51系列单片机,体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。本设计利用单片机AT89S52的定时和计数功能,来完成时间的显示和定时功能。并且,通过对定时器初值的设定来产生不同频率的声音,利用定时器中断来完成对音乐节拍长度的控制,实现了单片机控制音乐播放的功能。通过本次设计的任务,我了解了做软件的艰辛,也积累了做软件的细节和经验,这些都是书本上无法学来的,这对自己无疑是一种提高。同时也非常感谢刘老师不厌其烦的细心教诲和指导,让我学到了做学问的严谨,对以后得成长起到了积极的作用。

参考文献

[1]  阎焕,王长涛,马斌.单片机控制里程转速表的设计[J].沈阳建筑工程学院学报,2002,4:145-148

[2]  李朝清.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2011.,1:49-50

[3]  张华宇.单片机开发入门与典型实例[M].北京:机械工业出版社,2011,07:151-156

[4]  智兆华,张鹏.USB接口芯片CH375的原理及应用[J].今日电子,2005,8:14-15 

[5]  黄平平,吉荣廷,沈大鹏.基于CH375实现单片机读写U盘[J].现代电子技术,2006,6:29-30

[6]  姜雪莲,司徒忠. 基于单片机的嵌入式U盘控制器的设计与实现[J]. 机电工程技术,2005,4:16-17 

[7]  范海绍,李方园.零起点学Proteus单片机仿真技术[M].北京:机械工业出版社,2012,01:46

更多相关推荐:
“大学生创新性实验计划”项目结题报告

唐山学院大学生创新性实验计划项目结题报告项目名称多功能书架项目编号项目级别一般项目重点项目项目负责人系年级班级指导教师姓名职称填表日期20xx年5月5日教务处制表一项目选题思路大学生宿舍居住空间相对狭小因此我们...

创新性实验结题报告书(学生结题用)

编号数学与计算科学学院创新性实验结题报告书实验题目单张照片人脸检测实验成绩教师填写学院数学与计算科学学院专业信息与计算科学学生姓名韩尚颖120xx10218小组成员覃启霞120xx10211指导教师丁勇教授20...

创新性实验课题结题报告

大学生创新性实验计划项目结题报告项目名称基于打造现实版QQ乐园的可行性研究起止时间20xx1220xx12所在学院经济管理学院项目负责人齐捷联系方式18716319xx8项目组成员齐捷唐黎黎指导老师黄蜀江填表日...

大学生创新实验项目结题报告

大学生创新实验项目UIRP结题报告一课题名称新型无机高分子絮凝剂的制备研究二项目负责人及成员负责人侯宏波成员任佳静詹志鹏魏强黄辅亮三人员分工侯宏波主要负责项目整体进程实验器材的申请试剂的购买及论文的撰写等工作任...

创新性实验结题报告——简易计算器

山东科技大学电工电子实验教学中心创新性实验结题报告课程名称单片机原理及应用实验项目名称简易计算器姓名学号手机Email专业班级指导教师及职称开课学期20xx至20xx学年2学期提交时间20xx年1月5日附件源程...

学生创新实验项目结题报告书(格式)

攀枝花学院学生创新实验项目结题报告书项目名称承接单位负责人小组成员指导教师完成时间教务处制二一年月结题报告一课题名称二课题提出的背景三课题研究的目的和意义四课题的研究方法五课题研究的步骤六总体结构及原理七课题的...

大学生科研创新实验项目结题报告

大学生科研创新实验项目科研总结摘要项目成员赵旭升计算机学院08级计算机科学与技术毛玉婷计算机学院08级计算机科学与技术李雪梅计算机学院08级计算机科学与技术指导教师宋成芳讲师博士选题背景与意义在计算机图形学领域...

全国名校高中化学结题报告演示实验改进与创新的研究

全国名校高中化学演示实验改进与创新的研究结题报告一课题研究背景1国内外改进创新实验研究现状化学是一门以实验为基础的自然科学化学实验是化学教学的最基本特征实验教学是对学生进行科学知识科学方法科学能力科学思想和科学...

湖南理工学院校级大学生研究性学习和创新性实验计划项目结题报告书(20xx版)1

大学生研究性学习和创新性实验计划项目结题报告书项目名称东洞庭湖湿地旅游资源的评价及其可持续利用研究项目负责人宋强林所在学院经济与管理学院联系电话139xxxxxxxx填表日期20xx年3月30日湖南理工学院教务...

关于补交安徽大学第二批大学生创新性实验项目结题报告

关于补交安徽大学第二批大学生创新性实验项目结题报告通知各有关项目组20xx年1月9日学校邀请有关专家对20xx年9月立项的第二批大学生创新性实验项目进行了验收评审尚有36个项目未提交结题报告见附件专家经讨论决定...

11内江师范学院大学生创新性试验计划项目结题报告

编号内江师范学院大学生创新性实验计划项目名称申请人所在学院申请人电话申请人电子信箱导师导师职称导师所在单位导师电话导师电子信箱填表日期项目结题报告公章内江师范学院教务处制表填表说明1项目负责人按要求如实填写结题...

大学生创新实验项目结题验收书

附件3项目号中山大学大学生创新性实验计划项目结题报告书项目名称项目完成人指导老师所在院系研究起止时间至教务处二一年四月制1234说明本报告书是项目实施完成后的回顾与总结是评价研究工作完成情况的依据各项目组须按要...

创新实验结题报告(28篇)