音乐盒单片机课程设计
- 格式:doc
- 大小:387.00 KB
- 文档页数:24
单位代码 6130学号 090105096分类号密级公开课程设计(说明书)电子音乐盒的设计院(系)名称工学院机械系专业名称机械设计制造及其自动化学生姓名祝林林指导教师郭晓君2013年01月12日河科技学院课程设计任务书工学院机械系机械设计制造及其自动化专业09 级1 班学号090105096 姓名祝林林指导教师郭晓君题目: 电子音乐盒的设计课程:单片机课程设计课程设计时间 2012年12月21 日至2012年1 月3日共2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1.设计要求查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。
创新设计:1、安装复位键,暂停、播放键;2、有6首不同的音乐用程序编出可供选择。
2. 设计任务与要求2.1系统硬件电路设计根据该系统设计的功能要求选择所用元器件,设计硬件电路。
要求用Proteus绘制整个系统电路原理图。
2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。
2.3 Proteus仿真用Proteus对系统进行仿真并进行软硬件调试。
2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前加程序功能注释。
3.工作计划4.主要参考资料单片机课程设计指导书皮大能北京理工大学出版社2010.78051单片机实践与应用吴金戎清华大学出版社2003.8单片机技术基础教程与实践夏路易电子工业出版社2008.1MCS-51单片机原理接口及应用王质朴北京理工大学出版社2009.11基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社2009.7指导老师签字:日期:电子音乐盒1设计任务和要求 (1)2总体方案设计 (1)3硬件设计 (2)3.1 硬件电路 (2)3.2 系统总框图 (2)3.3器件选择 (2)3.4 原理图设计 (3)3.5 原理说明 (6)4软件设计 (7)5仿真、安装和调试 (8)收获与体会 (10)参考文献 (11)附件1:元件清单 (12)附件2: 总电路图 (13)附件3:音乐程序 (14)黄河科技学院课程设计(说明书)第1 页1设计任务和要求1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存六首乐曲)。
单片机音乐盒课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和编程方法,掌握音乐盒制作的硬件和软件需求。
2. 使学生掌握音乐盒音符的组合和编排,能运用单片机制作个性化的音乐作品。
3. 帮助学生了解声音的产生、传播和接收过程,提高对声学知识的理解和应用能力。
技能目标:1. 培养学生动手实践能力,能独立完成单片机音乐盒的组装和编程。
2. 培养学生创新思维和问题解决能力,能针对实际问题提出解决方案并优化改进。
3. 提高学生团队协作能力,能在小组合作中发挥个人优势,共同完成项目任务。
情感态度价值观目标:1. 培养学生对单片机编程和电子制作的兴趣,激发学习热情和积极性。
2. 培养学生勇于尝试、不断探索的精神,增强克服困难的信心和毅力。
3. 培养学生关注社会、关爱他人的责任感,通过音乐盒的制作,传递美好情感,传播正能量。
课程性质:本课程为实践性强的课程,旨在通过单片机音乐盒的制作,将理论知识与实际应用相结合,提高学生的综合素养。
学生特点:学生具备一定的电子基础知识,对单片机和编程有一定了解,喜欢动手实践,富有创新精神。
教学要求:教师应注重理论与实践相结合,引导学生主动探究,鼓励学生创新思维,关注学生个体差异,提供个性化指导。
通过课程学习,使学生达到预定的学习成果,为后续学习打下坚实基础。
二、教学内容1. 理论知识:- 单片机原理与编程基础:介绍单片机的硬件结构、工作原理,C语言编程基础。
- 声音原理:讲解声音的产生、传播、接收等基本知识,以及音符、音阶和旋律的概念。
- 音频信号处理:介绍音频信号的产生、放大和输出过程,以及如何利用单片机控制音频信号。
2. 实践操作:- 硬件组装:指导学生按照电路图组装单片机音乐盒,包括单片机、扬声器、按键等元件的连接。
- 软件编程:教授学生编写程序,实现音乐盒的基本功能,如播放音符、调整音量、切换曲目等。
- 创新设计:鼓励学生发挥创意,为音乐盒增加新功能,如定时播放、录音等。
单片机的音乐盒设计报告一、引言音乐盒作为一种能够带来美妙旋律的装置,一直以来都深受人们的喜爱。
随着科技的不断发展,单片机技术的应用使得音乐盒的设计更加多样化和智能化。
本报告将详细介绍基于单片机的音乐盒的设计过程,包括硬件设计、软件编程以及最终的实现效果。
二、设计目标与需求本次设计的目标是制作一个基于单片机的音乐盒,能够播放多首预存的音乐曲目,并且可以通过按键进行曲目选择和控制播放暂停等功能。
具体需求如下:1、能够存储至少三首不同的音乐曲目。
2、具备简单直观的操作界面,通过按键实现曲目切换、播放暂停等功能。
3、具有良好的音质输出,能够清晰地播放音乐。
4、设计成本低,易于实现和维护。
三、硬件设计1、单片机选择选用 STC89C52 单片机作为核心控制器,其具有丰富的 I/O 端口和较高的性价比,能够满足本设计的需求。
2、存储模块使用 EEPROM 芯片(如 AT24C02)来存储音乐曲目数据,以便在掉电情况下仍能保存曲目信息。
3、音频输出模块采用无源蜂鸣器作为音频输出设备,通过单片机的 I/O 端口输出不同频率的方波信号来驱动蜂鸣器发声。
4、按键模块设置四个独立按键,分别用于曲目选择、播放、暂停和停止功能。
5、电源模块采用 5V 直流电源为整个系统供电。
四、软件设计1、编程语言选择使用 C 语言进行编程,具有较高的可读性和可移植性。
2、主程序流程系统初始化,包括单片机端口设置、EEPROM 读取等。
进入按键扫描循环,检测按键操作并执行相应的功能。
根据当前曲目播放状态,输出相应的音频信号。
3、音乐数据存储与读取将音乐曲目数据以特定的格式存储在 EEPROM 中,通过读取相应地址的数据来获取曲目信息。
4、音频信号产生根据不同的音符频率,计算出对应的方波周期,并通过定时器中断来产生相应频率的方波信号,驱动蜂鸣器发声。
五、系统实现与调试1、硬件焊接与组装按照设计原理图,将各个硬件模块焊接在电路板上,并进行组装和连接。
机电高等专科学校课程设计报告书课程名称:单片机课题名称:电子音乐盒专业:自动控制系班级:计控111学号:111413144姓名:思璐2013 年01月01日目录1.设计目的…………………………………………..错误!未定义书签。
2.设计要求和设计指标错误!未定义书签。
3.设计容错误!未定义书签。
3.1硬件部分错误!未定义书签。
3.1.1 …错误!未定义书签。
3.2 软件部分错误!未定义书签。
4.本设计改进建议错误!未定义书签。
5.总结(感想和心得等)错误!未定义书签。
6.主要参考文献错误!未定义书签。
附录错误!未定义书签。
1.设计目的通过学习单片机课程,对单片机的硬件设计,软件设计掌握有了不少了解,学习了protel 99 SE 和keil软件,锻炼了自己的编程能力,对单片机硬件和软件的设计都有了进一步的认识和提高。
为以后的学习也打下了很好的基础。
2.设计要求和设计指标(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(存两首乐曲)。
(2) 可通过功能键选择乐曲,播放不同音乐。
(3)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲(4)利用8051的部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。
例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。
记数脉冲值与频率的关系公式如下:N=Fi/2/Fr N:记数值Fi:部计时一次为1微秒.故其频率为1MHZFr;要产生的频率(5):起记数值的求法如下:T=65536-N=65536-Fi/2/Fr例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。
单片机课程设计音乐盒一、教学目标本课程旨在通过学习单片机课程设计音乐盒,让学生掌握单片机的基本原理和应用,培养学生动手实践能力和创新思维。
具体的教学目标如下:知识目标:使学生了解单片机的基本结构、工作原理和编程方法;掌握音乐盒的基本电路设计和制作方法。
技能目标:培养学生使用单片机开发工具进行程序设计和调试的能力;训练学生进行音乐盒电路搭建和故障排查的能力。
情感态度价值观目标:激发学生对单片机技术和音乐盒制作的兴趣,培养学生的创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括单片机的基本原理、音乐盒的设计与制作、编程与调试等。
具体安排如下:1.单片机的基本原理:介绍单片机的结构、工作原理和编程语言。
2.音乐盒的设计与制作:讲解音乐盒的基本电路设计、元件选型和制作方法。
3.编程与调试:教授如何使用单片机开发工具进行程序设计和调试。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
具体方法如下:1.讲授法:讲解单片机的基本原理、音乐盒设计和编程方法。
2.实验法:让学生动手搭建音乐盒电路,进行编程和调试。
3.讨论法:学生进行小组讨论,分享学习心得和经验。
4.案例分析法:分析实际案例,让学生了解单片机在实际应用中的优势和局限。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的单片机和音乐盒制作教材。
2.参考书:提供相关的技术资料和案例分析,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT和教学视频,提高学生的学习兴趣。
4.实验设备:准备单片机开发板、音乐盒电路元件等实验设备,确保学生能动手实践。
五、教学评估本课程的教学评估将采用多元化、全过程的评价方式,以全面、客观、公正地评估学生的学习成果。
具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估其学习态度和理解能力。
2.作业:布置相关的编程练习和音乐盒制作任务,评估学生的实践能力和创新能力。
单片机课程设计音乐盒设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解其在音乐盒设计中的应用。
2. 使学生了解并掌握音乐盒的基本组成部分,如音符、节拍等。
3. 帮助学生理解并运用编程语言,实现对音乐盒乐曲的编程与控制。
技能目标:1. 培养学生动手实践能力,能够独立完成音乐盒硬件电路的搭建。
2. 培养学生运用编程软件进行单片机程序设计的能力,实现音乐盒乐曲的播放与控制。
3. 提高学生的问题解决能力,能够针对音乐盒设计过程中遇到的问题进行调试与优化。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养其创新意识和动手能力。
2. 培养学生团队协作精神,学会与他人共同分析问题、解决问题。
3. 引导学生关注科技发展,认识到所学知识在实际应用中的价值。
分析课程性质、学生特点和教学要求:本课程为单片机课程设计,结合音乐盒设计,旨在让学生在实际操作中掌握单片机原理和应用。
学生为高年级学生,已具备一定的电子基础和编程能力。
教学要求注重实践与理论相结合,培养学生的动手能力和实际应用能力。
二、教学内容1. 理论知识:- 单片机原理及功能特点,对应教材第3章。
- 音乐盒基本构成及工作原理,对应教材第6章。
2. 实践操作:- 硬件电路搭建,包括单片机、扬声器、按键等元件的连接,对应教材第4章。
- 程序设计,使用C语言或汇编语言编写音乐盒乐曲播放程序,对应教材第5章。
3. 教学大纲:- 第一周:学习单片机原理及功能特点,了解音乐盒基本构成及工作原理。
- 第二周:进行硬件电路搭建,学习并掌握相关元件的使用方法。
- 第三周:编写音乐盒乐曲播放程序,学会编程控制单片机播放音乐。
- 第四周:调试与优化,针对音乐盒设计过程中遇到的问题进行解决。
4. 教学内容安排与进度:- 理论与实践相结合,每周安排2课时理论知识学习,2课时实践操作。
- 按照教学大纲,逐步完成音乐盒设计的相关内容。
5. 教材章节及内容列举:- 第3章:单片机原理及功能特点,重点学习单片机的内部结构、工作原理及编程方法。
8051八音盒课程设计任务书8051八音盒本设计利用8051单片机结合内部定时器LCD设计一个八音盒, 按下单键可以演奏预先设置的歌曲旋律。
本设计可以学习8051定时器程序设计, 按键扫描及歌曲旋律简单直觉式输入法的设计方法。
其基本功能为:1使用LCD显示器来显示目前演奏的歌曲编号;2具有16个按键操作来选择演奏哪一首歌曲;3内建10首歌曲旋律, 按下单键可以演奏歌曲;4演奏时可以按键中断。
程序执行后工作指示LED闪动, 表示程序开始执行, 按下单键0~9便可以演奏歌曲, 歌曲演奏中, 可以按键中断。
设计项目简介(1)设计思路:(2)选择8051单片机, 通过T0定时中断, 并配合P3.0引脚输出音频频率。
(3)P3.0引脚输出接扬声器。
(4)通过P3.4引脚接入中断按键, 进行中断(5)通过P0接8155外扩端口。
(6)通过8155PA口接LCD驱动电路芯片, 再接显示器。
8155的PB,PC口接键盘, 输入歌曲号。
音符产生方法:不同的音调有不同的频率。
频率不同, 音调也就不同。
利用定时器, 使其工作在模式1, 定时中断, 然后控制P3.0引脚的输出每次取反, 就可以在P3.0的引脚输出相应的方波频率。
改变计数初值, 就改变了频率。
定时器的定时时间等于半个周期, 定时时间到就输出脉冲取反, 重复此过程, 就可在P3.0引脚得到一音频的脉冲。
如:中音1的频率=523HZ, 周期T=1/523=1912us;定时器的定时时间为: T/2=1912/2us=956us;计算得TH0,TL0的计数初值THTL=64580下面是个音符计数初值节拍产生方法:建立曲谱编码表:编谱用8位编码, 高4位代表音符, 低4位代表节拍。
如5 6中音5, 中音6, 都是1/2拍, 则编码为:82H 92H电路原理图:系统功能简介:8051八音盒具有4乘4键盘, 由于选歌旋律。
有LCD显示, 显示当前正在播放的旋律。
有中断按键, 在单片机播放旋律时可以按中断暂停, 再选歌曲旋律。
51单片机的电子音乐盒的设计班级:自动化112202H姓名:***学号:************9前言随着科技越来越发达,单片机技术也越来越纯熟,单片机的应用也越来越广泛,可以说几乎很难找到哪个领域没有单片机的踪迹。
如今,单片机在各个领域都起着至关重要的作用[1]。
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
随着人类社会的发展,人们对于视听方面的享受提出了更高的要求。
而传统的音乐盒大部分是机械型的,体积庞大,而且沉重,发音单调,且不悦耳,不能实现大批量的生产,所以很难满足当代人们的需求。
但是本文设计的数字音乐盒是以单片机为核心元件的数字音乐盒。
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点。
因此该数字音乐盒也就具有体积小,重量轻,能演奏各种各样的音乐,功能多,外观绚丽多彩,使用非常方便等诸多优点。
而且具有一定的开发价值。
101 设计目的和要求1.1 设计目的(1) 通过设计,查阅相关资料,掌握如何利用单片机设计产品,同时了解与单片机有关的软件模拟器的使用及取字模块软件的使用方法。
(2) 通过本课程设计巩固并扩展单片机课程的基本概念、基本理论、分析方法和实现方法。
结合Proteus和Keil软件等,学习单片机产品的设计方法,有效地将理论和实际紧密结合,培养创新思维和设计能力,增强软件编程实现能力和解决实际问题的能力。
(3) 学习Proteus软件,掌握Proteus中各种芯片的功能以及模拟。
由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养实践精神、创造精神的平台。
单片机课程设计音乐盒一、课程目标知识目标:1. 理解单片机的基本原理,掌握其编程方法;2. 学习音乐盒的基础知识,了解音符、节奏与旋律的关系;3. 掌握单片机控制音乐盒的硬件连接和程序设计。
技能目标:1. 能够运用所学知识,设计并实现一个功能齐全的音乐盒;2. 培养学生动手实践能力,提高问题解决和团队协作能力;3. 培养学生创新思维,能够对音乐盒进行优化和拓展。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实践与理论相结合;3. 培养学生良好的团队合作精神,学会尊重他人,分享成果。
分析课程性质、学生特点和教学要求:本课程为单片机课程设计,结合音乐盒的制作,旨在让学生在实际操作中掌握单片机知识。
学生处于中学阶段,具有一定的电子基础和编程能力,对新鲜事物充满好奇。
教学要求注重实践性、实用性和创新性,培养学生综合运用所学知识解决实际问题的能力。
课程目标分解为具体学习成果:1. 学生能够独立完成单片机音乐盒的硬件连接和程序设计;2. 学生能够编写出不少于两种旋律的音乐盒程序;3. 学生能够在课程结束后,进行作品展示,分享创作过程和心得体会。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. 单片机基础原理:回顾并巩固单片机的工作原理、内部结构、编程语言等基础知识,涉及教材第1章内容。
2. 音乐盒知识:学习音乐盒的基本原理,包括音符、节奏、旋律的构成,涉及教材第3章内容。
a. 音符与频率的关系b. 节奏与时间的控制c. 旋律的组合与编排3. 硬件连接与编程设计:a. 学习并掌握单片机与音乐盒硬件的连接方法,涉及教材第2章内容;b. 学习并编写音乐盒程序,实现不同旋律的播放,涉及教材第4章内容。
4. 实践操作与作品制作:a. 指导学生进行单片机音乐盒的硬件连接和调试;b. 协助学生编写音乐盒程序,实现功能要求;c. 组织学生进行作品展示和评价,分享创作经验。
单片机原理课程设计报告题目:音乐盒的设计班级:自动093学号:××××××姓名:×××成绩:指导教师:×××北京工商大学计算机与信息工程学院2012.6课程设计任务书摘要第一章绪论1.1课程设计目的1.2课程设计任务1.3课程设计要求1.4课程设计意义第二章设计原理2.1基本原理简述2.2设计方案第三章音乐播放器的硬件电路3.1 AT89C51单片机3.2 单片机CPU结构3.3引脚介绍3.4 电路连线第四章软件编程设计4.1编程方案第五章心得体会第一章绪论1.1课程设计目的应用单片机,利用它的原理组成一个音乐播放器。
本课程设计是主干实践课。
课程的任务在于提高学生综合运用所学知识理论、分析解决问题的能力。
1.2课程设计任务1)以单片机为核心部件组成一个音乐播放器;2)利用单片机的定时器产生乐谱的各种频率方波,由蜂鸣器发出声音;3)定义按键,能相应的播放出歌曲;1.3课程设计要求能用键盘选择不同的歌曲,至少两首以上,并写出课程设计报告。
1.4课程设计的意义通过自己动手设计单片及组成的器件,在软件及硬件上进一步了解单片机的原理,深入了解了单片机C51语言的实际应用,能更深地理解课堂上所学的内容,巩固C语言程序编写,体会作为一名设计人员所需要具备的各种能力,学会理论知识联系实际,提高我们发现问题,分析问题,解决问题和实践动手的能力。
第二章设计原理及总体方案选择2.1 设计原理音调的确定不同音高的乐音是用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个等份,每一个等份叫一个“半音”。
******课程设计说明书题目:基于单片机的音乐盒设计院(部):专业班级:学号:学生:指导教师:年月日目录摘要 (I)绪论 (1)1概述 (2)1.1课题意义 (2)1.2设计任务和要求 (2)1.3总体设计 (2)1.4主要设计软件介绍 (3)1.4.1P R O T U E S软件简介 (3)1.4.2K E I L软件简介 (3)2硬件设计 (5)2.1各部分硬件设计与其原理 (5)2.1.1A T89C51简介 (5)2.1.2L E D显示电路 (5)2.1.3时钟振荡电路 (5)2.1.4按键电路 (6)2.1.5复位电路 (6)2.2硬件电路图与其功能 (6)3软件设计 (7)3.1程序流程图 (7)3.2音调、节拍以与编码的确定方法 (7)4调试 (11)4.1检查硬件连接 (11)4.2检查软件系统 (11)4.3总体运行图 (11)5 电路板调试··12设计体会与改进意见 (13)附录 (14)参考文献 (23)基于单片机的音乐盒设计摘要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我们都会抽空欣赏世界名曲,作为对精神的洗礼。
本次设计一个基于单片机的简易音乐盒。
单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可或缺的一部分。
本系统是以51系列单片机AT89C51为主控制器,附有独立按键、数码管、扬声器组成。
系统完成显示歌曲曲目、播放音乐等基本功能。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:AT89C51,独立按键,数码管,扬声器,仿真绪论21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
单片机音乐盒的课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解音乐盒制作的硬件组成和工作原理。
2. 使学生了解并掌握音乐盒编程的基础知识,包括音符、节拍和旋律的表示方法。
3. 让学生掌握音乐盒电路的搭建方法,了解相关电子元器件的功能和连接方式。
技能目标:1. 培养学生动手操作能力,能独立完成音乐盒硬件电路的搭建。
2. 培养学生编程能力,使其能编写简单的音乐程序,实现对音乐盒的控制。
3. 培养学生解决问题的能力,能针对音乐盒制作过程中遇到的问题进行分析和调试。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学生探究科学的热情。
2. 培养学生团队合作精神,使学生学会与他人合作共同完成任务。
3. 培养学生创新思维,鼓励学生发挥想象,设计独特的音乐作品。
分析课程性质、学生特点和教学要求,本课程目标旨在让学生在掌握单片机基础知识的基础上,通过动手实践,培养其编程和电子制作能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。
二、教学内容1. 理论知识:- 单片机原理:介绍单片机的基本概念、结构及其工作原理。
- 音乐知识:讲解音符、节拍、旋律等基本音乐概念及其在编程中的表示方法。
- 电子元器件:介绍常用的电子元器件(如电阻、电容、二极管等)及其在音乐盒电路中的应用。
2. 实践操作:- 音乐盒硬件搭建:指导学生按照电路图搭建音乐盒硬件,包括单片机、扬声器、电子元器件的连接。
- 编程控制:教授学生使用编程软件,编写音乐程序,实现对音乐盒的控制。
- 调试与优化:教授学生如何对音乐盒进行调试,包括查找故障、优化程序等。
3. 教学大纲:- 第一阶段:单片机原理及音乐知识学习,占总课时1/4。
- 第二阶段:电子元器件认知及音乐盒硬件搭建,占总课时1/4。
- 第三阶段:编程控制与调试优化,占总课时1/2。
4. 教材章节:- 单片机原理与编程:《单片机原理与应用》第1章、第2章。
摘要为了实现单片机控制音乐播放,此次毕业设计做出了尝试,即电子音乐盒的设计。
本设计采用了蜂鸣器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲。
现选用AT89S51单片机。
主要设计模块包括数码管显示部分,功能键盘部分,蜂鸣器发声部分,彩灯部分。
数码管采用共阳极数码管,通过单片机P1口控制,实现歌曲序号的显示;功能键盘采用按键开关,通过单片机P3口控制,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的P2口控制,实现歌曲播放;彩灯是由普通发光二极管代替,能实现单色长亮和闪烁效果。
主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放歌曲的序号,蜂鸣器播放出音乐,当播放最后一首夜曲时还伴有彩灯闪烁。
此次设计要利用单片机及KeilC51编程软件编程和PROTEUS单片机仿真软件和电子电工等方面知识,用KeilC51编程软件编程,用PROTEUS单片机仿真软件仿真。
最后制作实物,将程序下载到单片机中,利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
关键词:AT89S51单片机方波音调目录摘要 (I)目录 (II)第 1 章绪论 (1)第2章音乐盒总体设计 (2)2.1设计功能要求 (2)2.2总体设计原理 (2)2.3总体设计框图 (2)第3章芯片的选择和介绍 (4)3.1MCS-51系列单片机简介 (4)3.2单片机的选择 (4)3.2.1 AT89S51芯片介绍 (5)第4章系统硬件设计 (8)4.1电源电路 (8)4.2单片机最小系统 (9)4.3数码管显示部分 (10)4.4键盘部分 (11)4.4.1 按键开关 (11)4.4.2 轻触开关 (12)4.5蜂鸣器部分 (12)第5章系统软件设计 (13)5.1软件系统介绍 (13)5.2编程语言的选择..................................... 错误!未定义书签。
微机原理课程设计题目:数字音乐盒姓名:学号:指导老师 :目录一、任务与要求 (3)二、硬件设计 (3)三、软件设计 (3)四、调试 (24)五、收获和体会 (25)六、参考文献 (25)单片机课程设计实验报告一、任务及要求课程设计题目:数字音乐盒课程设计要求:1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)2.采用LCD显示信息3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停,播放。
5.选作容:显示乐曲播放时间或剩余时间二、硬件设计硬件电路:本设计中用到了98C51单片机,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口控制蜂鸣器(J2,J4断开,J3短接)。
(5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。
三、软件设计本程序可以实现课程设计的基本要求和附加功能,并可以通过按键播放七歌曲。
实验程序如下:RS BIT P2.0 ;定义液晶显示端口标号RW BIT P2.1E BIT P2.2;********************************************L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63H;*******************************************ORG 0000hLJMP mainORG 000BHLJMP TT0ORG 001BHLJMP T1INTorg 1000hmain:;-----------------------;液晶初始化MOV SP,#70HMOV P0,#01H ;清屏CALL ENABLEMOV P0,#38H ;8位,2行显示LCALL ENABLEMOV P0,#0FH ;屏显on,光标on,闪烁onLCALL ENABLEMOV P0,#06H ;计数地址加1,显示幕onLCALL ENABLE;-------------------------------存初始化LCALL INITIL;-------------------------------key1: LCALL keyLCALL moddLJMP key1;---------------------键盘扫描key: nopnoplcall ksjnz k1 ;有按键转到K1lcall kaijilcall SOPxn: ljmp keyk1: lcall moddlcall moddlcall ksjnz k2ljmp keyk2: mov R2,#0feh ;读键盘mov R4,#00hk3: mov A,R2mov P1,Amov A,P1ACC.4,L1 ;为1跳转,第一行无按键mov a,#00hljmp lkL1: jb acc.5,L2mov a,#04hljmp lkL2: jb acc.6,L3mov a,#08hljmp lkL3: jb acc.7,next1mov a,#0ch;------------------------------------------------------- lk: add a,R4push acck4: lcall delay1 ;若同时有其他按键,则等待lcall ksjnz k4;-------------------------------------------------------- mov r3,#07hclr amov r0,#30hmov r1,#31hmm1: mov a,r1mov r0,ainc r0inc r1djnz r3,mm1pop accmov r0,aRET;------------------------------------------------------ next1: inc R4 ;------列扫描mov a,R2JNB acc.3,n2ljmp n1n2: ljmp keyn1: rl amov R2,aljmp k3;----------------------------------------------ks: mov a,#0f0h ;判断P1口mov P1,anopnopmov a,P1cpl aanl a,#0f0hRET;-------------------------------------------------- DELAY1:SETB RS0dl: mov R5,#0ahdl2: mov R6,#63dl3: nopnopdjnz R6,dl3djnz R5,dl2CLR RS0RET;--------------------------------------------------- ;30H-37H初值为零;---------------------------------------------------- initil:mov r3,#08hmov r0,#30hm1: mov r0,#00hinc r0djnz r3,m1RET;---------------------------------------------------- ;显示;--------------------------------------------------- modd:MOV P0,#8EHCALL ENABLEmov A,37Hmov DPTR,#TABLE3MOVC A,A+DPTRCALL WRITE2RET;-------------------------------------------------- ;开机提示字;------------------------------------------------- kaiji: mov a,37hcjne a,#0fh,DFFMOV P0,#80H ;设光标地址CALL ENABLEMOV DPTR,#TABLE1;写数据CALL WRITE1DFF: RET;----------------------------------------------;按键值播放歌曲;---------------------------------------------- SOP: mov a,37hcjne a,#01h,A11LCALL MODDMOV 52H,#HIGH TABLE10MOV 53H,#LOW TABLE10LCALL INITILE2lcall MAIN0A11: CJNE A,#02H,A22LCALL MODDMOV 52H,#HIGH TABLE20MOV 53H,#LOW TABLE20LCALL INITILE2lcall MAIN0A22: CJNE A,#03H,A33LCALL MODDMOV 52H,#HIGH TABLE30MOV 53H,#LOW TABLE30LCALL INITILE2lcall MAIN0A33: CJNE A,#04H,A44LCALL MODDMOV 52H,#HIGH TABLE40MOV 53H,#LOW TABLE40LCALL INITILE2lcall MAIN0A44: CJNE A,#05H,A55LCALL MODDMOV 52H,#HIGH TABLE50MOV 53H,#LOW TABLE50LCALL INITILE2lcall MAIN0A55: CJNE A,#06H,A66LCALL MODDMOV 52H,#HIGH TABLE60MOV 53H,#LOW TABLE60LCALL INITILE2lcall MAIN0A66: CJNE A,#07H,A77LCALL MODDMOV 52H,#HIGH TABLE70MOV 53H,#LOW TABLE70LCALL INITILE2lcall MAIN0A77: CJNE A,#08H,A88LCALL MODDMOV 52H,#HIGH TABLE80MOV 53H,#LOW TABLE80LCALL INITILE2lcall MAIN0A88: CJNE A,#09H,A99LCALL MODDMOV 52H,#HIGH TABLE90MOV 53H,#LOW TABLE90LCALL INITILE2lcall MAIN0A99: CJNE A,#0AH,AAALCALL MODDMOV 52H,#HIGH TABLE100MOV 53H,#LOW TABLE100LCALL INITILE2lcall MAIN0AAA: RET;******************************************INITILE2:MOV L50MS,#20MOV L1MS,#00HMOV L250MS,#00HMOV SEC,#00HMOV MIN,#00HMOV HOU,#00HMOV A,HOUMOV B,#10DIV ABADD A,#30H ;将BCD吗转化为ASIIC码MOV P0,#0C8H ;显示小时十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0C9H ;显示小时个位CALL ENABLECALL WRITE2MOV A,#3AHMOV P0,#0DH ;显示冒号CALL ENABLECALL WRITE2MOV A,MINMOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;显示分十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0CCH ;显示分个位CALL ENABLECALL WRITE2MOV A,#3AHMOV P0,#0CDH ;显示冒号CALL ENABLECALL WRITE2MOV A,SECMOV B,#10DIV ABADD A,#30HMOV P0,#0CEH ;显示秒十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0CFH ;显示秒个位CALL ENABLECALL WRITE2MOV P0,#0C0H ;设光标地址CALL ENABLEMOV DPTR,#TABLE2;写数据CALL WRITE1RET;*********************************************写指令ENABLE: CLR RSCLR RWCLR ELCALL DELAYSETB ERET;**********************************************写数据WRITE1: MOV R1,#00HA1: MOV A,R1MOVC A,A+DPTRCALL WRITE2INC R1CJNE A,#0FEH,A1 ;未到字符串末尾继续RETWRITE2: MOV P0,ASETB RSCLR RWCLR ECALL DELAYSETB ERET;********************************************** DELAY: MOV R4,#05D1: MOV R5,#0FFHDJNZ R5,$DJNZ R4,D1RET;----------------------------------------------TAB: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb 80h,90h,88h,83h,0c6h,0a1h,86h,8ehTAB1: db 89h,86h,0c7h,0c7h,0c0hTAB2: db 0c6h,88h,0c0hTABLE1: DB 'WELCOM HERE',0FEHTABLE2: DB 'DFF WB ',0FEHTABLE4: DB 'CAU',0FEHTABLE3: DB 30H,31H,32H,33hDB 34H,35H,36H,37HDB 38h,39H,41H,42HDB 43H,44H,45H,46H;-------------------------------------------------------------------- ;播放歌曲程序;--------------------------------------------------------------------MAIN0: MOV TMOD,#11HMOV IE,#8aH;MOV TH1, #3cH;MOV TL1, #0b0Hlcall ksjnz TTM12MOV 40H,#00H;---------------------------------------------------------NEXT20: MOV A,40HMOV DPH,52HMOV DPL,53HMOVC A,A+DPTRMOV R2,AJZ STOPANL A,#0FHMOV R1,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMP W1;----------------------------------------------------------SING: DEC AMOV 22H,ARL AMOV DPTR,#TABLE00MOVC A,A+DPTRMOV TH0,AMOV 21H,AMOV A,22HRL AINC AMOVC A,A+DPTRMOV TL0,AMOV 20H,ASETB TR0SETB TR1W1: LCALL DELAY30INC 40HLCALL KS ;------有键跳出JNZ STOPLJMP NEXT20;----------------------------------------------------------- STOP: CLR TR0CLR TR1LJMP MAIN0;---------------------------------------------------------- TTM12: LCALL K2MOV A,37HCJNE A,#0EH,TTM13CLR TR1LCALL DELAY1TTM120: LCALL KSLCALL DELAY1JZ TTM120LCALL K2MOV A,37HCJNE A,#0EH,TTM120SETB TR1LJMP NEXT20TTM13: CJNE A,#0CH,TTM14MOV A,52HINC AMOV 52H,AMOV A,53HINC AMOV 53H,AMOV A,36HINC AMOV 37H,ALJMP TTM2TTM14: CJNE A,#0DH,TTM2MOV A,52HDEC AMOV 52H,AMOV A,53HDEC AMOV 53H,AMOV A,36HDEC AMOV 37H,A;------------------------------------------------------ TTM2: RET;***************************************************;定时器中断子程序0;***************************************************TT0: PUSH ACCPUSH PSWMOV TL0,20HMOV TH0,21HCPL P3.7POP PSWPOP ACCRETI;***************************************************;定时器中断子程序1;***************************************************T1INT:MOV TH1, #3cHMOV TL1, #0b0HDJNZ L50MS,X4MOV L50MS,#20;****************---每秒种时钟刷新秒显示一次SECSET:MOV A,SECMOV B,#10DIV ABADD A,#30HMOV P0,#0CEH ;显示秒十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0CFH ;显示秒个位CALL ENABLECALL WRITE2MOV A,SECINC AMOV SEC,AXRL A,#60X4: JNZ OUTMINSET: MOV SEC,#00H;*************************************每分钟刷新分显示一次MOV A,MININC AMOV MIN,AMOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;显示分十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0CCH ;显示分个位CALL ENABLECALL WRITE2MOV A,MINMOV B,#3MUL ABMOV B,#100DIV ABMOV R2,AMOV A,#10XCH A,BDIV ABMOV A,MINXRL A,#60JNZ OUTHOUSET:MOV MIN,#00H;**************************************每小时刷新小时显示一次MOV A,HOUMOV B,#10DIV ABADD A,#30H ;将BCD吗转化为ASIIC码MOV P0,#0C8H ;显示小时十位CALL ENABLECALL WRITE2MOV A,BADD A,#30HMOV P0,#0C9H ;显示小时个位CALL ENABLECALL WRITE2MOV A,HOUINC AMOV HOU,AXRL A,#10JNZ OUTSJMP OVERFLOWOUT: RETI;*************************************溢出处理OVERFLOW:MOV L50MS,#20MOV L1MS,#00HMOV L250MS,#00HMOV SEC,#00HMOV MIN,#00HMOV HOU,#00HRETI;-------------------------------------------------------------------- DELAY30:MOV R7,#2W2: MOV R4,#125W3: MOV R3,#248DJNZ R3,$DJNZ R4,W3DJNZ R7,W2DJNZ R1,DELAY30RET;-------------------------------------------------------------------- TABLE00:DW 64580,64684,64777,64820DW 64898,64968,65030,64260DW 64400,64524,65058,63835,64021;--------------------------------------------------------------------;第一首《精忠报国》;-------------------------------------------------------------------- TABLE10:DB66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22HDB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98HDB24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22HDB12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38HDB66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32HDB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52HDB62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38HDB64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52HDB 52H,62H,7FH,74H,04H,58H,6FHDB 00;-------------------------------------------------------------------- ;第二首《月亮代表我的心》;-------------------------------------------------------------------- TABLE20:DB 02H,82HDB 16H,32H,54H,02H,52HDB 0A6H,32H,54H,02H,52HDB 64H,74H,0B6H,64HDB 52H,5CH,32H,22HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,12H,94H,22H,32HDB 2CHDB 32H,52HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 96H,0A2H,96H,82HDB 3CH,54HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 16H,12H,14H,22H,32HDB 2CH,02H,82HDB 16H,32H,56H,12HDB 0A6H,32H,56H,52HDB 66H,72H,0B6H,62HDB 62H,52H,58H,32H,22HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,92H,0A4H,12H,22HDB 1CHDB 00;------------------------------------------------------------------- ;第三首《看我七十二变》;------------------------------------------------------------------- TABLE30:DB 0d4H,84H,94H,82H,92HDB 12H,22H,82H,92H,02H,92H,82H,0d2HDB 82H,92H,14H,84H,02H,0d1H,0d1HDB 0c2H,0d2H,84H,0d2H,0d2H,82H,82HDB 84H,82H,82H,94H,82H,0d2HDB 82H,82H,82H,92H,02H,82H,82H,0d2HDB 0c4H,84H,0d4H,92H,0d2HDB 82H,0d2H,82H,92H,98HDB 04H,94H,88HDB 04H,94H,88HDB 04H,94H,88HDB 04H,94H,88H,04HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,22HDB 54H,44H,34H,12H,22HDB 34H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,22HDB 54H,44H,32H,22H,12H,92HDB 00;--------------------------------------------------------------------;第四首《同一首歌》;-------------------------------------------------------------------- TABLE40:DB 88h,14h,24h,36H,42H,34H,14H,28H,14H,94HDB 1fH,88H,14H,24H,34H,32H,42H,54H,14HDB 46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74HDB 76H,62H,68H,54H,52H,62H,74H,62H,52H,3fHDB 46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2HDB 92H,84H,94H,1fH,0b8H,68H,46H,52H,68HDB 74H,72H,72H,74H,62H,52H,3fH,0b8H,68HDB 46H,52H,68H,64H,62H,62H,64H,42H,32H,2fHDB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12HDB94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fHDB 00;-------------------------------------------------------------------- ;第五首《大海》;-------------------------------------------------------------------- TABLE50:DB82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24HDB22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32HDB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cHDB82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24HDB22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32HDB22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52HDB 62H,64H,62H,64H,0b2H,62H,52H,54H,62H,54H,32H,22HDB12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52HDB66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54HDB62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32HDB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fHDB 00;-------------------------------------------------------------------- ;第六首《两只蝴蝶》;--------------------------------------------------------------------TABLE60:DB32H,22H,38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,92H,88H,04H,32H,22HDB38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,21H,92H,12H,28H,04H,32H,22HDB38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,91H,11H,88HDB04H,32H,52H,58H,02H,52H,62H,52H,38H,04H,22H,22H,24H,22H,32H,22H,12H,92H,92HDB12H,12H,1cH,08H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22HDB38H,02H,32H,32H,52H,64H,64H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,54H,02H,0b4H,72HDB62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,32H,22H,32HDB 58H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22HDB38H,02H,32H,32H,52H,64H,64H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,54H,02H,0b4H,72HDB62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,84H,92H,1cHDB 00;--------------------------------------------------------------------;第七首<<世上只有妈妈好>>;-------------------------------------------------------------------- TABLE70:DB66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB 00;-------------------------------------------------------------------- ;第八首歌《彩云追月》;-------------------------------------------------------------------- TABLE80:DB86H,92H,12H,22H,32H,52H,68H,63H,52H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54HDB62H,0B2H,0B2H,62H,52H,32H,52H,52H,51H,61H,51H,31H,34H,52H,62H,74H,32H,52H,52H,32H,21H,31H,21H,11H,24HDB32H,52H,52H,32H,22H,12H,24H,32H,52H,52H,32H,62H,52H,61H,51H,31H,21H,21H,31H,21H,11H,1CHDB21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0BCH,0B4H,72H,61H,51H,72H,61H,71H,61H,51H,61H,71H,61H,6FHDB86H,94H,12H,22H,32H,52H,64H,62H,51H,31H,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54HDB62H,0B2H,72H,61H,51H,51H,61H,51H,31H,54H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H,21H,11H,32H,51H,61H,54HDB02H,32H,24H,32H,52H,52H,32H,22H,31H,21H,11H,24H,32H,52H,62H,0B2H,72H,61H,51H,61H,51H,31H,32H,52H,52H,32H,62HDB51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH,12H,24H,32H,62H,51H,31H,34H,0B4H,72H,61H,51H,63H,71H,64HDB0B2H,54H,72H,62H,71H,61H,54H,61H,51H,31H,21H,34H,73H,61H,54H,22H,32H,52H,22H,36H,52H,62H,61H,31H,32H,21H,11H,21H,11H,91H,81HDB94H,52H,62H,52H,42H,32H,22H,32H,52H,0B4H,74H,64H,52H,61H,51H,41H,5CH,02H,52H,0B4H,74H,63H,51H,61H,51H,31H,21HDB 00;-------------------------------------------------------------------- ;第九首<<十年>>;--------------------------------------------------------------------TABLE90:DB02H,11H,21H,32H,32H,22H,32H,21H,11H,0A1H,91H,92H,0D1H,91H,83H,91H,0A2H,91H,81H,94H,11H,0A1H,91H,0A1H,98H,03H,81H,0A1H,0A1H,91H,0A1HDB98H,04H,02H,11H,21H,32H,32H,22H,32H,21H,31H,51H,11H,13H,31H,22H,22H,21H,11H,0A1H,11H,13H,11H,11H,0A1H,91H,0A1HDB11H,93H,94H,03H,81H,11H,0A1H,91H,81H,92H,0A1H,91H,94H,08H,03H,81H,32H,21H,11H,22H,31H,21H,21H,83HDB01H,11H,91H,0A1H,11H,61H,51H,11H,34H,01H,31H,21H,31H,48H,23H,31H,32H,42H,38H,03H,11H,21H,52H,31HDB33H,31H,31H,41H,51H,61H,23H,21H,21H,41H,31H,21H,13H,0D1H,0D1H,21H,11H,0A1H,11H,91H,92H,91H,11H,0A1H,91HDB0A1H,31H,31H,22H,0A1H,11H,14H,01H,11H,21H,31H,63H,31H,42H,51H,31H,31H,22H,11H,21H,52H,31H,33H,31H,31H,41HDB51H,61H,23H,21H,21H,41H,31H,21H,13H,0D1H,0D1H,21H,11H,0A1H,11H,91H,92H,91H,11H,0A1H,91HDB0A2H,41H,31H,22H,31H,21H,12H,12H,11H,11H,21H,31H,63H,51H,32H,11H,21H,26H,11H,0A1H,18HDB 00;-------------------------------------------------------------------- ;第十首<<你的爱给了谁>>;-------------------------------------------------------------------- TABLE100:DB02H,91H,0A1H,16H,21H,11H,0A6H,81H,0A1H,9CH,02H,91H,0A1H,16H,21H,31H,24H,21H,0A1H,11H,0A1HDB9CH,02H,11H,21H,36H,32H,24H,21H,0A1H,11H,0A1H,9CH,02H,91H,0A1H,14H,11H,11H,21H,11H,0A4H,04H,04H,02H,0A1H,11H,0A1H,93H,92HDB02H,61H,71H,0B4H,0B2H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,61H,71H,0B6H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,51H,61H,56H,61H,51H,54H,51H,0B1H,71H,0B1HDB 72H,62H,68H,02H,61H,51H,66H,62H,58H,0CH,02H,51H,41H,5FHDB02H,91H,0A1H,16H,21H,11H,0A6H,81H,0A1H,9CH,02H,91H,0A1H,16H,21H,31H,24H,21H,0A1H,11H,0A1HDB9CH,02H,11H,21H,36H,32H,24H,21H,0A1H,11H,0A1H,9CH,02H,91H,0A1H,14H,11H,11H,21H,11H,0A4H,04H,04H,02H,0A1H,11H,0A1H,93H,92HDB02H,61H,71H,0B4H,0B2H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,61H,71H,0B6H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,51H,61H,56H,61H,51H,54H,51H,0B1H,71H,0B1HDB 66H,62H,54H,0B2H,71H,61H,6CHDB 00END实验控制流程图如下:使用说明:键盘如下:按键功能说明:1~A:十首歌曲C:上一首歌曲D:下一首歌曲E:歌曲暂停F:开机画面四、调试程序调试中出现的问题及解决的办法:1.有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。
目录一、引言 (1)二、设计任务 (1)三、方案论证 (1)四.音频发声知识 (2)1、基本知识 (2)2、节拍 (3)3、编码 (4)五、音乐盒单路原理分析 (5)1、硬件原理 (5)2、软件程序设计 (8)3、程序调试 (9)六、结论与心得 (9)七、参考文献 (10)八、附录 (10)1、程序 (10)2、PCB板图 (23)一、引言本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用汇编语言进行程序设计。
通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。
把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。
这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。
对单片机和音乐爱好者有一定的借鉴价值。
二、设计任务设计题目:单片机音乐播放器设计要求:1、完成89S51的外围复位、时钟和电源等外围电路的设计,完成扬声器驱动设计。
2、根据各音阶频率算出定时器定时常数,根据节拍给出该音阶持续的时间。
3、完成音乐播放软件并完成乐谱表的翻译,最好能编写一个播放子程序用于播放。
4、播放音乐片段。
三、方案论证设计方案:设计中我们考虑了两种设计方案,两种设计方案中主要去区别在于硬件电路的不同,对于本设计通过模拟电路和单片机设计均可以实现,最后根据设计要求、可行性和设计成本的考虑选择了单片机设计的方案。
现在一一介绍论证如下:采用单片机来设计电路。
此电路包括时钟电路、复位电路、音乐驱动电路和MCS-51单片机。
各部分功能如下:(1)时钟电路:由石英晶体振荡器产生单片机工作时所必须的时钟信号。
振荡器采用12M的晶振,使之机器周期Tcy=1us,方便发音程序的计算和编译。
(2)复位单路:由复位按键使单片机的CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。
(3)音乐驱动电路:由于单片机最大灌入电流为3.2mA,所以选用PNP管,并要在PNP的基极和发射极加限流电阻。
(4)显示电路:使用单片机P0端口做显示电路,要在P0口加上拉电阻(5~10k Ω)。
还要加限流电阻,保护单片机。
(5)按键电路:有外部中断输入和定时/计数器的外部输入都是低电平有效,可以和复位电路相视,只要将复位电路中的电容去掉即可。
四.音频发声知识1、基本知识1.要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲.2. 利用8051的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法.3. 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz).计数脉冲值与频率的关系公式如下:N=Fi÷2÷Fr N: 计算值;Fi: 内部计时一次为1us, 故其频率为1MHz;4. 其计数值的求法如下:T=65536-N=65536-Fi÷2÷Fr例如: 设K=65536, F=1000000=Fi=1MHz, 求低音DO(261Hz).中音DO (523Hz). 高音的DO (1046Hz)的计算值.T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1047=650595. C调各音符频率与计数值T的对照表如表1所示.表1 C 调各音符频率与计数值T的对照表2、节拍1相关知识每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表2为节拍与节拍码的对照.如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表3为1/4和1/8节拍的时间设定.表2 节拍与节拍码对照3、编码建立音乐的步骤:1. 先把乐谱的音符找出,然后由表63建立T值表的顺序.2. 把T值勤表建立在TABLE1,构成发音符的计数值放在"TABLE".3. 简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的"TABLE"处.表4 简谱对应的简谱码.T值. 节拍数五、音乐盒单路原理分析1、硬件原理原理分析:(1)原理图说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。
同时启动定时器T1,显示歌曲号。
①. 硬件电路中用0INT(外部中断0、1输入端P3.2 P3.3)分别接S1、INT、1S2作为上、下一曲的功能键。
硬件电路中用T1(外部定时/计数器输入端P3.5)分别接S3作为暂停的功能键。
②. 用P0.0-P0.7控制七段码a,b,c,d,e,f,g,Dp。
③. 用P2.3口控制喇叭。
④. 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。
(2)元件介绍①.AT89S51元件介绍AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
②.AT89S51引脚的排列、名称、功能和用法AT89S51采用标准双列直插式引脚DIP-40大规模集成电路封装。
它的引引脚排列如下图所示:AT89S51的引脚排列引脚介绍: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口作为第八位地址接收。
2、软件程序设计图2 程序总框图图4 主程序3、程序调试程序调试中出现的问题及解决的办法:(1)有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。
(2)程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。
当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。
(3)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。
(4)编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。
(5)编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着MP3的工作方式列写流程图。
六、结论与心得此次设计过程中,我们查了一些相关资料,使得我们更深层的了解了单片机芯片的工作原理以及软件、硬件如何联系起来实现我们的要求。
经过我们共同努力之下,不仅完成本次设计的具体相关要求,也熟练掌握了AT89C51芯片的具体功能和注意事项。
此外,设计中所涉及到的元器件还有:三极管、电阻、瓷片电容等,我们通过查了相关元器件的作用及其工作原理,并对其进行验算,从而进一步地减少实验误差。
在我们的不懈努力下加上老师的些许指导,最终还是发现了问题的原因,我们从而查找相关资料和不断地试验最终实现了乐曲的播放。
在整个设计过程中,我们不仅能将书本上学到的关于单片机相关的知识于实践相结合,而且还培养了团队合作精神以及提高了自学能力。
这将对我们今后的实践提供了有很大的基础。
它更加让我们意识到:理论和实践相结合的重要性。
虽然电路看上比较简单,但实际行动起来将会遇到许多挫折以及其它一些客观的因素。
因此,设计过程中要保持一种持之以恒、严谨的设计作风思想,这样才会在遇到问题时能够发现和解决问题。
设计已经结束,但它留给我们的不单是作品,更是一堂生动的课程。
它教会我们只有不断努力、不断吸取经验和教训和团结合作才会取得最终的成功!我相信经过此次设计,我们今后会取得更大的成功的!七、参考文献[1] 许珉.单片机原理及应用[M].北京:中国电力出版社,2007.08[2] 三恒星科技.MCS-51单片机原理与应用实例[M]. 北京:电子工业出版社,2008.01八、附录1、程序OUT BIT P2.3 ;定义音频输出端口,p2.3N EQU 9 ;歌曲总数OUT_NUM EQU P0 ;数码管显视当前所放歌曲曲数ORG 0000HAJMP MAINORG 0003HAJMP LAST_SONG ;外部中断0用于接上一曲歌按键ORG 000BHAJMP F_T0 ;定时器0用于定时,作音符发生器用ORG 0013Hq4: AJMP NEXT_SONG ;外部中断1接下一曲歌按键ORG 001BHAJMP START_PAUSE ;定时器1用计数,这里用作中断,接开始/暂停键,初值为0ffH,方式2ORG 0030HMAIN: MOV SP,#60HMOV DPTR,#TABLE ;DPRT指向每首歌曲的入口地址的地址。
MOV R0,#30H ;R0中存入数据30H,这里在以30H开始的单元存放每首歌曲的入口地址,其中30H,31H存放;歌曲的节拍入口地址,32H,33H存放歌曲音符入口地址,每首歌占用四个存储存单元。
MOV R5,#00H ;R5中存放表TABLE中正在执行操作的序号MOV R6,#1 ;R6存放正在设置入口信息的歌曲数SET_TAB: MOV A,R5 ;设置每首歌曲的入口信息,存放在以30H开始的存储单元中。
MOVC A,@A+DPTRMOV @R0,AINC R5INC R0MOV A,R5MOVC A,@A+DPTRMOV @R0,AINC R5INC R0MOV A,R5MOVC A,@A+DPTRMOV @R0,AINC R0INC R5MOV A,R5MOVC A,@A+DPTRMOV @R0,AINC R0INC R5INC R6 ;设置完一首歌曲后,歌曲数加一CJNE R6,#N+1,SET_TAB ;是否设置完,没有便继续,否则进行下面的操作;*********************************** 对中断,计数器的相关参数进行设置MOV TMOD, #61H ;计数器0工作方式1,计数器1工作方式2MOV TH1,#0FFH ;给计数器1置初值0FFH,又由于是工作方式2,所以MOV TL1,#0FFH ;计数器计数为1,相当于一外部中断。