音乐播放器-单片机课程设计 - 副本
- 格式:doc
- 大小:185.50 KB
- 文档页数:23
设计内容与设计要求设计内容:本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。
设计3个按键:播放/停止、下一曲、上一曲;4位LED 显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。
要求焊接好开发板,在开发板上进行调试。
设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作说明7)写说明书主要设计条件1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件,仿真软件proteus;3、开发板1块;4、制作工具1套;5、系统设计所需的元器件。
说明书格式目录第1章、概述第2章、系统总体方案设计第3章硬件设计第4章软件设计及调试第5章系统联调及操作说明第6章总结参考文献附录A系统硬件原理图附录B程序清单进度安排设计时间分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。
下午:借阅有关资料,总体方案讨论。
星期二、分班级焊接开发板星期三、确定总体方案,学习与设计相关内容。
星期四、各部分方案设计,各部分设计。
星期五、设计及上机调试。
星期六、设计并调试第二周星期一:设计及上机调试。
星期二:调试,中期检查。
星期三:调试、写说明书。
星期四--星期五上午:写说明书、完成电子版并打印成稿。
星期五下午:答辩。
参考文献参考文献1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.第1章概述... ... ... ... ... ... ... ... .. .. . 61.1单片机简介... ... ... ... .. ... ... ... (6)1.2 任务简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7第2章系统总体方案设计 (8)2.1 音乐的产生... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82.2 系统方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10第3章硬件设计 (11)3.1 89C51单片机 (12)3.2 I/O并行口直接驱动LED显示 (14)3.3 蜂鸣电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153.4控键电路.. . . . . . . . . . . . . . . . . . .163.5时钟电路 . . . . . . . . . . . . . . . . .. .173.6电源电路 . . . . . . . . . . . . . . . . . . 17 第4章软件设计 (18)4.1.软件设计 (18)4.2 设计方案. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . .. . . . .19第5章系统调试与仿真 (20)5.1软件仿真阶段 (20)5.2系统的仿真调试阶段 (20)5.3调试问题处理 (21)第6章心得体会 (22)参考文献 (23)附录A:音乐播放器电路设计图 (24)附录B:程序清单 (25)第1章概述1.1单片机简介单片机又称单片微控制器,它不是完成某一逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
课程设计题目:基于单片机音乐演奏曲Title: instrumental music based on single chip姓名:学号:系别:专业:年级:指导教师:2012年5 月25 日摘要单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本设计以At89c2051为核心,主要由电源电路、复位电路、音频放大电路、时钟电路和数码管电路和蜂鸣器电路构成单片机奏乐附加时钟的一个小系统。
电路中I/O口采用分时复用的借口技术,使AT89c2051单片机的引脚资源得以充分利用,本系统的电路简单,实现的功能强大,所用芯片比较便宜,性价比较高。
关键词:At89c2051,数码管,单片机奏乐,分时复用目录摘要 ........................................................... - 1 -1.引言 (3)2.系统整体结构 (4)2.1系统总设计 (4)2.2实现的功能 (4)2.3主要芯片介绍 (4)2.3.1 AT89c2051芯片介绍 (4)3.系统硬件设计 (5)3.1键盘输入模块 (5)3.2时钟模块 (5)3.3显示模块 (6)3.4复位电路 (6)3.5蜂鸣器电路设计 (7)4.系统软件设计 (7)4.1系统主程序流程图系 (7)4.2 部分子程序流程图 (8)结束语 (10)参考文献 (10)致谢 (11)附录 (11)1.引言随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。
同时也标志了自动控制领域成为了数字化时代的一员。
它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。
它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。
本次设计为单片机奏乐器,硬件部分它以单片机AT89C2051为核心,由功放电路、数码管等组成。
一.概述 (2)二.系统总体方案设计 (3)三.硬件设计 (6)3.1 89C51单片机 (6)图3-1和3-2 (7)3.2 I/O并行口直接驱动LED显示 (7)四.软件设计 (10)4.1.软件设计 (10)五.系统调试与仿真 (12)5.1软件仿真阶段 (12)5.2系统的仿真调试阶段 (12)5.3硬件安装调试 (12)六.总结 (14)参考文献 (15)附录A:音乐播放器电路设计图 (16)附录B:程序清单 (17)一.概述本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。
设计3个按键:播放/停止、下一曲、上一曲;4位LED显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。
总体的设计思路是这样的。
二.系统总体方案设计本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功能。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,音阶对应频率关系图1-1:图2-1本设计用89C51单片机为核心,利用8段数码管显示器.采用动态显示输出,声音输出用蜂鸣器来实现。
采用8段数码管显示器进行动态显示需要占用4根I/O线,蜂鸣器占用1根I/O线,89C51单片机有足够的线,不用扩展I/O口。
用一片单片机即可满足本设计的输入输出。
系统框图如图1-2所示:图2-2通过对音乐播放器主体部分的电路进行模仿设计,达到播放器固有的基本功能,设定按钮K1、 K2和K3。
按钮K1打开并自动播放乐曲1;按钮K2打开并自动播放乐曲2;按钮K3为手动控制音乐停止的按键。
根据设计要求该播放器能实现音键的控制。
除此之外还实现了存储并读出几首音乐的功能。
引言对于我们电子信息工程专业而言,《单片机原理与应用》是一门实用性很强的课程!在该课程的学习过程中!让我们最感兴趣的就是自己动手设计单片机控制系统。
但是,要将单片机的硬件知识与软件知识融会贯通,设计出实用的系统却是让我们颇感困难的环节。
许多同学对此感到无从下手。
其实,对于单片机应用系统的设计还是有章可循的。
单片机多用于实时工业控制、通信设备和智能仪表中。
但在某些方面,如有些教学实验中,加进一些音乐,一定会趣味横生。
本文介绍了笔者利用AT89C52型单片机和LM386型音频功率放大器构成了自动音乐播放器。
设计音乐的思想是,选一个输出位,如P1。
0端让其按音乐的变化节奏产生音频脉冲。
要产生音频脉冲,就要算出某一音频的周期(1/频率),将此周期除以2,即半周期的时间,然后利用单片机计时器计此半周期的时间。
每当计时到后就将输出脉冲的P1。
0位反相,然后重复计此半周期时间再对P1。
0反相,如此就可以在口端得到此频率的脉冲。
计数器工作在模式MODE1下,改变计数值TH0及TL0以产生不同的音频声响。
据网络调查公司Jupiter Media Metrix的统计数据显示:使用音乐播放器(不论是离线播放器还是网络播放器)的家庭用户从2000年1月的3320万猛增到2001年1月的4170万。
在工作中使用音乐播放器的专业用户数量也较去年同期上升了34.9%,从2000年1月的1160万增加到2001年1月的1570万。
以单片机为基础的本设计成本低,效果好,值得推广。
而如车载音乐播放器、能够播放流式音乐的播放器更是我们要深入的领域。
基于单片机的音乐播放器的设计第1章绪论本设计系统是基于单片机的音乐播放器的设计,具有一定的实际意义。
因此在设计过程中,设计的系统应该考虑到播放器便捷性和稳定性,使设计的系统能够使人们的生活更加丰富多彩。
系统的设计是先是通过第2章,方案的论证,确定系统的元器件。
第3章,硬件电路的设计,硬件的设计是通过元器件的功能和使用方法进行的。
单片机音乐播放器课程设计一、课程目标知识目标:1. 理解单片机的基础知识,掌握其内部结构与工作原理;2. 学会使用C语言编写单片机程序,实现音乐播放器的功能;3. 了解音乐播放器的基本组成部分,如音符产生、音调控制等;4. 掌握音乐理论知识,能将简单的乐谱转换为单片机程序。
技能目标:1. 能够运用所学知识,设计并实现一个具有基础音乐播放功能的单片机系统;2. 熟练使用编程软件进行单片机程序编写、调试与优化;3. 学会使用相关工具和仪器,进行电路搭建、测试与故障排查。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发创新精神;2. 培养学生的团队协作能力,学会与他人共同解决问题;3. 增强学生的自信心,敢于面对挑战,勇于克服困难;4. 培养学生的责任心,关注环境保护,养成良好的操作习惯。
课程性质:本课程为实践性较强的课程,以项目为导向,结合单片机原理与应用,培养学生的动手能力和创新能力。
学生特点:本课程针对高中年级学生,学生具备一定的物理、数学基础,对电子制作有一定兴趣,但编程能力参差不齐。
教学要求:教师需结合学生特点,采用循序渐进的教学方法,注重理论与实践相结合,关注个体差异,提高学生的实践操作能力。
在教学过程中,注重引导学生思考,激发学生的学习兴趣,培养其创新精神。
通过课程学习,使学生能够独立完成一个简单的单片机音乐播放器设计。
二、教学内容1. 单片机基础知识:介绍单片机的内部结构、工作原理、性能特点,引导学生了解并掌握单片机的基本概念。
教材章节:第一章 单片机概述2. C语言编程基础:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生编写单片机程序奠定基础。
教材章节:第二章 C语言基础3. 单片机程序设计与调试:学习如何使用编程软件进行程序编写、调试与优化,掌握单片机程序的开发流程。
教材章节:第三章 单片机程序设计与调试4. 音频信号处理:介绍音频信号的基本知识,如音符、音调、节拍等,学习如何将乐谱转换为单片机程序。
单片机课程设计音乐播放器报告华北航空航天学院单片机课程设计报告课程设计作业学科名称讲师王晓职称音乐播放器设计副教授学生姓名张婷完成时间班级6.12年级B10Xxxx)* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *TAB5: DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0E08H DW 0D08H,0D08H,0D08H,0D08H,0C08H,0F 0H,0F08H,0F08H DW 0F08H,0D08H,0D08H,0C40H,0A08H,0C08H,0C10H 256总示意图图4.1总示意图2。
元件清单AT89C52,晶振,电容,电阻,抑制,按键,数码管,二极管,蜂鸣器,三极管115,结论这款音乐播放器可以播放四首歌曲,并使用按键选择曲目,基本达到了设计要求用数据线连接计算机作为电源,将下载了程序的单片机插入插座,按下3.3键重复播放当前的曲子,按下3.4键播放前一首曲子,按下3.5键播放下一首曲子,按下REST键复位,从第一首曲子开始数码管显示歌曲曲目。
二极管作为游戏的一部分来增加兴趣6、体验课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题、锻炼实践能力的重要环节。
这也是一个针对学生实际工作能力的具体训练和考核过程。
随着科学技术的发展,单片机已经成为当今计算机应用中前所未有的活跃领域,可以说在生活中无处不在。
因此,对于自动化专业的学生来说,掌握单片机的开发技术是非常重要的。
我的主题是音乐播放器的硬件和软件设计。
经过13周的单片机学习,我将自己设计一件作品。
这是一个测试。
提前很久,我们选择了题目,开始做准备工作,查阅资料,看了学生的小作品和计划的说明,我也对我的题目有了信心。
我学到了很多关于这门课程的设计,如何制定计划,如何实现计划,以及如何克服实施过程中的心理不良情绪。
单片机期末检测报告学生姓名:***学生学号:********专业班级:自动化12-2班基于MSP430G2的音乐切换器一、内容通过MSP430G2播放自己所设置的歌曲,并通过按键S2切换另一首歌曲二、思路与方法(1)思路:通过老师上课所讲的F6638音乐器播放实例,想利用MSP430G2来进行音乐播放,阅读网上单片机播放音乐例程并加以改编,并试想利用按键S2来进行歌曲的实时切换(2)音乐:通过MSP430蜂鸣器音高音长对照表,将自己喜欢的音乐通过音乐简谱改成相应代码,利用播放函数play_song()进行歌曲播放。
演奏乐曲对于一个音符应该包括两个部分,声调用简单的延时-电平翻转来实现,改变了延时的时间就改变了声调,而时间通过计数比较来实现,当计数值相等时就跳出循环演奏下一个音符。
(3)按键S2:通过中断服务、事件检测、事件处理函数,通过按键S2切换歌曲(4)硬件:无源蜂鸣器、MSP430G2单片机有流程图:三、程序调试(1)遇到的问题与解决方法按键S2切换歌曲开始不能进行实时切换,首先是我将实验是检测按键的程序进行整改加入主程序中while(1),这样只有长按S2键才能播放下一曲。
后来查阅书籍关于MSP430G2中断服务的程序后,调用这些函数,并设置变量i放在两个音乐播放函数中,通过判断i=1或0进行选歌。
开始编曲时候并未按照音高、音长对照表进行编曲,所以导致歌曲无调子,后在搜集到资料后进行整改进行改曲。
开始蜂鸣器声音略小,后发现是正负导线接反所致。
(2)程序段/*********************************************时钟频率务必为8MHz,定时器为8分频*********************************************/#include<msp430g2553.h>typedef unsigned char uchar;#include"music.h"//乐曲1#include"te.h"//乐曲2#define Buzzer BIT3#define Buzzer_Port P2OUT#define Buzzer_DIR P2DIRuchar counter;void Play_Song(void);void Delay_Nms(uchar n);void ss(void);void P1_IODect();void P13_Onclick();static int i=0;/***************主函数****************/void main(void){WDTCTL = WDTPW + WDTHOLD;//关闭看门狗P1DIR |= BIT0;P1OUT |= BIT0;P1REN |= BIT3;P1OUT |=BIT3;P1DIR &=~BIT3;P1IES |= BIT3;P1IE |= BIT3;BCSCTL1=CALBC1_8MHZ; //晶振选择DCO中的8MHzDCOCTL=CALDCO_8MHZ; //选择系统主时钟为8MHz//CCTL0 = CCIE;CCR0 = 7200; //设定拍速TACTL |= TASSEL_2 + ID_3; //TimerA定时器分频要选8分频 Buzzer_DIR |= Buzzer; //设置控制蜂鸣器的IO方向为输出 _EINT(); //打开全局中断//循环演奏歌曲while(1){if (i==0)//按键没按下{Play_Song();}else {ss();}}}/*******************************************函数名称:TimerA_ISR功能:定时器A的中断服务函数********************************************/#pragma vector = TIMER0_A0_VECTOR__interrupt void TimerA_ISR(void){counter++;}/*******************************************函数名称:PORT1_ISR功能:响应p1口的外部中断服务********************************************/#pragma vector =PORT1_VECTOR__interrupt void PORT1_ISR(void){P1_IODect();P1IFG=0;}/*******************************************函数名称:P1_IODect()功能:判断具体引发中断的I/O,并调用相应I/O的中断事件处理函数********************************************/void P1_IODect(){unsigned int Push_Key=0;Push_Key=P1IFG&(~P1DIR);__delay_cycles(10000);if((P1IN&Push_Key)==0){switch(Push_Key){case BIT3:P13_Onclick(); break;default: break;}}}/*******************************************函数名称:P13_Onclick()功能:事件处理函数********************************************/void P13_Onclick(){if(i==0){i=1;}elsei=0;P1OUT ^=BIT0;}/*******************************************函数名称:Delay_Nms功能:延时N个ms的函数参数:n--延时长度返回值:无********************************************/void Delay_Nms(uchar n){uchar i,j;for( i = 0;i < n; i++ ){for( j = 0;j < 3;j++ )_NOP();}}/*******************************************函数名称:Play_Songss********************************************/void Play_Song(void){uchar Temp1,Temp2;//Temp1放音调决定了音调的高低,Temp2放音长决定了某个音的演奏时间uchar addr = 0; //SONG数组中每两个为一组第一字节为音调,第二字节为音长counter = 0; //中断计数器清0while(i==0){Temp1 = songsong[addr++];if ( Temp1 == 0xFF ) //休止符{TACTL &=~MC_1; //停止计数Delay_Nms(100);}else if ( Temp1 == 0x00 ) //歌曲结束符{return;}else{Temp2 = songsong[addr++];TACTL |=MC_1; //开始计数while(1){Buzzer_Port ^= Buzzer;Delay_Nms(Temp1);if ( Temp2 == counter ){counter = 0;break;}}}}}void ss(void){uchar Temp1,Temp2;//Temp1放音调决定了音调的高低,Temp2放音长决定了某个音的演奏时间uchar addr = 0; //SONG数组中每两个为一组第一字节为音调,第二字节为音长counter = 0; //中断计数器清0while(i==1){Temp1 = gg[addr++];if ( Temp1 == 0xFF ) //休止符{TACTL &=~MC_1; //停止计数Delay_Nms(100);}else if ( Temp1 == 0x00 ) //歌曲结束符{return;}else{Temp2 = gg[addr++];TACTL |=MC_1; //开始计数while(1){Buzzer_Port ^= Buzzer;Delay_Nms(Temp1);if ( Temp2 == counter ){counter = 0;break;}}}}}const unsigned char songsong[]= //歌曲1 CCR0=7200,格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,{0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,}; const unsigned char gg[]= //歌曲2 CCR0=7200{ 0x18, 0x30, 0x1C , 0x10, 0x20, 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 };四、调试结果红灯亮第一首歌:红灯灭第二首歌:结果说明:调试结果,达到了预期通过S2切换歌曲的功能五、总结与体会通过这次的课程设计,我学会了MSP430单片机定时器、中断服务模块、I/O 输入输出系统等。
单片机音乐播放课程设计一、课程目标知识目标:1. 学生能理解单片机的原理和基本结构,掌握音乐播放器的设计流程。
2. 学生能掌握音乐播放器编程的基本语法和逻辑,如音符的时长、音调控制等。
3. 学生能了解并运用数字信号处理基本概念,如采样、量化等,解释音乐播放过程。
技能目标:1. 学生能运用单片机开发环境进行音乐播放器的程序编写、调试与下载。
2. 学生能通过实验和项目实践,掌握音乐播放器硬件与软件的协同设计方法。
3. 学生能够独立或合作完成音乐播放器的制作,展示作品并进行简单的故障排查。
情感态度价值观目标:1. 学生培养对电子技术和编程的兴趣,激发创新意识和探索精神。
2. 学生通过实践,培养问题解决能力和团队协作能力,增强自信心。
3. 学生通过创作音乐播放器,体会技术对生活的影响,培养社会责任感。
课程性质分析:本课程为实践性强的单片机应用课程,结合了电子技术、编程和音乐知识,旨在培养学生的动手能力、创新思维和综合应用能力。
学生特点分析:假设学生为高中生,具有一定的物理电子知识基础,对编程有一定了解,对音乐有基本的感知能力。
教学要求:课程需注重理论与实践相结合,鼓励学生主动探索和动手实践,强调过程评价和成果评价相结合,确保学生达到预定的学习目标。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理,重点讲解AT89C51单片机的内部结构、引脚功能及其编程特性。
相关教材章节:第一章单片机概述。
2. 音乐播放器原理:讲解音乐播放器的基本原理,包括音符的生成、音调控制、节拍控制等。
相关教材章节:第三章数字信号处理基础。
3. 编程语言与开发环境:学习单片机编程语言(如C语言),熟悉Keil、Proteus等开发工具的使用。
相关教材章节:第二章单片机编程语言与开发环境。
4. 硬件电路设计:学习音乐播放器硬件电路的设计,包括单片机、音频放大器、扬声器等元件的选型和连接。
相关教材章节:第四章单片机外围电路设计。
湖南工业大学课程设计任务书2014 —2015学年第一学期电气与信息工程学院(系、部)专业班级课程名称:单片机应用系统设计题目:基于51单片机的音乐播放器完成期限:自2014 年12 月15 日至2014 年12 月26 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日1(单片机应用系统)设计说明书(题目)基于51单片机的音乐播放器起止日期:2014 年12 月15 日至2014 年12 月26 日学生姓名班级学号成绩指导教师(签字)电气与信息工程学院(部)2014年12 月26日1湖南工业大学本科课程设计开题报告2014年12月17日2345说明:开题报告作为课程设计答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为课程设计成绩考查的重要依据,经导师审查后签署意见生效。
6单片机课程设计报告电气与信息工程学院7一、设计任务:1.本课题以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、上一曲、下一曲控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由蜂鸣器发出声音,选取某段音乐使单片机连续播放。
设计4个按键:启动、播放/停止、下一曲、上一曲;1位LED 显示器,用来显示所选曲目,在开发板上进行调试。
2.此次设计的音乐播放器具有如下要求:(1)按下P3.2启动键,音乐播放器按照从头到尾的顺序自动播放预先设定的1~3共三首乐曲,全部播放完毕则从头开始。
(2)播放歌曲时,数码管显示正在播放的乐曲序号,相应的歌曲序号彩灯亮起,P2为第一首歌曲指示灯,P2.6、P2.5分别为第二首、第三首歌曲播放指示灯。
(3)P3.4为曲目加一按键,按下之后,播放下一首歌曲。
数码管显示下一曲序号,相应指示灯亮起。
(4)P3.5为上一曲按键,按下之后,播放上一首歌曲。
数码管显示上一曲一曲序号,相应指示灯亮起。
(5)当用户按下暂停键P3.3时,音乐播放器打断正在播放的某一乐曲,用户再次按下暂停键,该乐曲继续播放。
基于51单片机音乐播放器设计音乐播放器是一种可以播放音频文件的设备,广泛应用于日常生活中。
本文将基于51单片机设计一个简单的音乐播放器。
一、设计目标本音乐播放器设计的主要目标是实现以下功能:1.支持播放多种格式的音频文件,如MP3、WAV等;2.支持音量调节和音频文件选择功能;3.具备简单的界面和易于理解的操作方式;4.能够适应不同的音频文件大小和音乐时长。
二、硬件设计2. 存储器:选择外接Flash存储器作为音频文件的存放介质,具备较大的存储容量和较高的读写速度,能够满足音频文件的多样性需求。
3.音频解码芯片:选择支持MP3和WAV格式音频解码的芯片,能够将音频文件翻译成能够被音频输出部分播放的信号。
4.音频输出部分:选择合适的音频输出部分,如耳机接口或喇叭接口,将解码后的音频信号输出为声音。
三、软件设计1.系统初始化:在开机时进行系统初始化,包括对主控芯片、存储器和音频解码芯片的初始化。
2.文件系统管理:设计一个简单的文件系统,能够以目录结构的形式管理存储器中的音频文件。
3.音频解码:根据选择的音频文件格式,进行相应的解码操作,将解码后的音频数据传输给音频输出部分。
4.播放控制:实现音量调节和音频文件选择功能,能够暂停、播放、停止等操作。
5.用户界面:设计一个简单直观的用户界面,通过按键或显示屏等方式进行操作反馈和信息显示。
四、系统流程1.开机初始化:对主控芯片、存储器和音频解码芯片进行初始化。
2.文件系统管理:读取存储器中的文件目录,生成文件列表供用户选择。
3.用户操作:用户通过按键或其他方式进行音量调节和音频文件选择操作。
4.音频解码:根据用户选择的音频文件,进行相应的解码操作。
5.播放控制:根据用户的操作,进行音频的暂停、播放、停止等操作。
6.操作反馈:在用户界面上显示操作反馈和信息。
五、总结本文基于51单片机设计了一个简单的音乐播放器,实现了支持多种格式音频文件的播放、音量调节和文件选择功能,并提供了简单的用户界面。
51单片机毕业课程设计音乐播放器本文档旨在提供关于51单片机毕业课程设计的音乐播放器的详细内容。
音乐播放器是一种通过使用51单片机来实现的设备,它可以播放音乐文件并提供一些基本的控制功能。
设计概述功能要求音乐播放器的主要功能要求包括:1. 播放音乐文件:能够读取存储器中的音乐文件,并将其播放出来。
2. 控制功能:提供基本的控制功能,如播放、暂停、下一曲和音量调节等。
3. 显示功能:在显示屏上显示当前播放的音乐信息,如歌曲名、艺术家和播放进度等。
硬件组成音乐播放器的硬件组成包括:1. 51单片机:作为主控芯片,负责控制整个系统。
2. 存储器:用于存放音乐文件。
3. 音频模块:用于将数字音频信号转换为模拟音频信号输出。
4. 控制模块:包括按钮、旋钮等,用于用户控制音乐播放器的操作。
5. 显示屏:用于显示当前播放的音乐信息。
软件实现音乐播放器的软件实现包括以下几个方面:1. 文件系统:实现对存储器中音乐文件的读取和管理。
2. 音频解码:将读取的音乐文件进行解码,并将解码后的音频数据传递给音频模块输出。
3. 用户界面:通过用户界面与用户进行交互,接受用户的控制指令。
4. 显示管理:管理显示屏的内容,实时显示当前播放的音乐信息。
设计步骤1. 硬件搭建:按照硬件组成部分的描述,搭建音乐播放器的硬件平台。
2. 软件编写:实现音乐播放器的软件功能,包括文件系统、音频解码、用户界面和显示管理等。
3. 调试测试:进行软硬件的调试和测试,确保音乐播放器的各项功能正常运行。
4. 完善优化:在实际测试中发现问题,进一步完善和优化音乐播放器的功能和性能。
5. 文档撰写:完成毕业课程设计文档的撰写,详细描述音乐播放器的设计思路、实现过程和测试结果。
总结通过本文档,你可以了解到51单片机毕业课程设计音乐播放器的完整设计内容,包括设计概述、硬件组成、软件实现和设计步骤等方面的内容。
这将帮助你更好地理解音乐播放器的原理和实现方法,为你的毕业课程设计提供一定的参考和指导。
目录一、前言二、设计课题及要求三、控制任务及要求四、单片机的硬件设计五、单片机的软件设计及要求六、软件流程图七、程序设计八、模拟调试的过程和出现的问题分析九、调试程序所用的实验设备十、毕业设计体会十一、参考文献前言单片机自20世纪70年代问世以来,作为微型计算机的一个很重要的分支,应用非常广泛,已对人类社会产生了巨大的影响。
尤其是MCS-51系列的单片机,由于其具有集成度高、功能强、可靠性好、系统结构简单、价格低廉、易于扩展和使用等优点,在我国已得到广泛的应用并收到很好的成果。
虽然世界各大公司也有各种型号的高性能单片机问世,但MCS-51系列单片机仍然是我国在单片机应用领域的首选机型。
在这我以AT89C52单片机为基础设计音乐播放器。
一、设计课题及要求本次设计的是单片机控制的音乐播放器,要使单片机播放出一首音乐。
二、控制任务及要求在调控单片机时控制面板上的扩音器能放出音乐,能通过仿真软件实现程序的完整运行。
三、硬件设计(1)、确定机型可选用AT89C52单片机,晶振频率选择6HZ。
(2)、选择元器件根据系统要求,应具有蜂鸣器及驱动电路构成单片机音乐演奏器,拟选用蜂鸣器、LCD、三极管、电阻若干、电容若干。
(3)、硬件原理本系统通过AT89C52单片机的P1.1口控制几个9012PNP三极管、三极管、LCD、扩音器等控制电磁蜂鸣器的电源通断。
单片机控制的音乐播放器原理图:四、软件设计及要求(1)、声音三要素由于人耳听觉系统非常复杂,迄今为止人类对它的生理结构和听觉特性还不能从生理解剖角度完全解释清楚。
所以,对人耳听觉特性的研究目前仅限于在心理声学和语言声学。
人耳对不同强度、不同频率声音的听觉范围称为声域。
在人耳的声域范围内,声音听觉心理的主观感受主要有响度、音高、音色等特征和掩蔽效应、高频定位等特性。
其中响度、音高、音色可以在主观上用来描述具有振幅、频率和相位三个物理量的任何复杂的声音,故又称为声音“三要素”;而在多种音源场合,人耳掩蔽效应等特性更重要,它是心理声学的基础。
徐州师范大学科文学院本科生课程设计课程名称:单片机课程实训题目:播放音乐专业班级: 08 电信学生姓名:学生学号:日期: 2011-6-15指导教师:科文学院教务部印制指导教师签字:年月日目录摘要 (II)Abstract (II)1 课题背景(或绪论、概述) (1)1.1 XXXX (1)1.2 XXXX (x)2 设计方案简述 (x)2.1 XXXX (x)2.2 XXXX (x)2.3 XXXX (x)3 详细设计 (x)3.1 XXXX (x)3.1 XXXX (x)4 设计结果及分析 (x)4.1 XXXX (x)4.2 XXXX (x)4.3 XXXX (x)5总结 (x)参考文献 (x)附录主要程序代码 (x)摘要单片机具有优异的性能价格比,并且具备集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等优点。
因此随着单片机技术的发展,单片机正逐步应用到人们生活中的各个方面:1、在智能仪器仪表中的应用:在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
2、在实时过程控制中的应用:用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。
本次课程设计我们就充分利用所学的单片机技术设计制作一个音乐播放器,通过实际单片机线路设计以及汇编语言程序设计巩固所学知识,锻炼动手能力,体验汇编语言程序设计中可能出现的各种问题,并努力解决。
关键词:单片机;扬声器;音符;音乐; I/O接口AbstractSCM has excellent performance to price, and have high level of integration, small size, high reliability and control function is strong, low voltage, low power consumption, etc. So with the development of the single chip microcomputer, microcontroller is gradually applied to people living in all aspects: 1, intelligent instruments in the application of all kinds of instruments in introducing a single-chip microcomputer, make instruments intelligent, improve test automation degree and precision, simplify the instruments of hardware structure, improve its performance to price. 2, in real time the application process control with single-chip computer: real-time data processing and control, make the system to keep the best working state, and improve the system of work efficiency and the quality of the products. In this class, we will make full use of my knowledge and design of the single chip microcomputer design a music player, through the actual line design and assembly language chip program design consolidate knowledge, exercise beginning ability, experience in assembler language programming possible problems, and work hard to solve.Keywords:SCM ;speaker notes ;music; I/O interface1 概述单片机概述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
第一章前言伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理!第二章: 简易音乐播放器的功能和原理说明音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED灯,让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能!表1 需求分析功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。
原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键电路以及扬声器组成。
它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。
音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制扬声器发音。
通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0来产生不同频率。
当控制歌曲按键按下时,按照预先存放在单片机中的程序,就会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过uln2003芯片驱动扬声器,播放出乐曲。
该硬件电路中用P3.0,P3.1,P3.2,P3.3控制四个按键,“0”,“1”,“2”,“3”分别控制四首音乐。
P1.0,P1.1,P1.2,P1.3控制四个LED灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz晶振频率工作,起振电路中C1 和C2为22pf。
摘要本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。
在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。
校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。
此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。
本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C 语言进行程序设计。
通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调的音乐,再利用延迟来控制发音时间的长短。
把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。
这种控制电路结构简单,可读性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。
关键词:单片机;音乐播放器;C语言。
目录绪论 (1)第1章音乐盒的设计总体方案 (2)第2章硬件电路设计 (3)2.1 总体设计框图 (3)2.2 时钟电路 (3)2.3 复位电路 (3)2.4 选曲按键电路 (3)2.5 音频发生及放大电路 (4)第3章软件程序设计 (5)3.1单片机发声概述 (5)3.2 程序流程图 (6)3.3 音乐的产生 (7)第4章 KEIL仿真软件的应用 (8)第5章调试与故障分析 (9)5.1 软件程序调试 (9)5.2 硬件电路调试 (9)总结 (10)致谢 (11)参考文献 (12)附录1:原理图 (13)附录2:源程序 (14)绪论单片机,更确切地说应称为作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强、体积小、可靠性高、价格低廉。
它一面世便在工业控制、数据采集、智能仪表化、机电一体化、家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化程度。
一.概述 (2)二.系统总体方案设计 (2)三.硬件设计 (5)3.1 89C51单片机 (5)图3-1和3-2 (6)3.2 I/O并行口直接驱动LED显示 (6)四.软件设计 (8)4.1.软件设计 (8)五.系统调试与仿真 (9)5.1软件仿真阶段 (9)5.2系统的仿真调试阶段 (10)5.3硬件安装调试 (10)六.总结 (10)参考文献 (11)附录A:音乐播放器电路设计图 (12)附录B:程序清单 (12)一.概述本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。
设计3个按键:播放/停止、下一曲、上一曲;4位LED显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。
总体的设计思路是这样的二.系统总体方案设计本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功能。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,音阶对应频率关系图1-1:图2-1本设计用89C51单片机为核心,利用8段数码管显示器.采用动态显示输出,声音输出用蜂鸣器来实现。
采用8段数码管显示器进行动态显示需要占用4根I/O线,蜂鸣器占用1根I/O线,89C51单片机有足够的线,不用扩展I/O口。
用一片单片机即可满足本设计的输入输出。
系统框图如图1-2所示:图2-2通过对音乐播放器主体部分的电路进行模仿设计,达到播放器固有的基本功能,设定按钮K1、 K2和K3。
按钮K1打开并自动播放乐曲1;按钮K2打开并自动播放乐曲2;按钮K3为手动控制音乐停止的按键。
根据设计要求该播放器能实现音键的控制。
除此之外还实现了存储并读出几首音乐的功能。
通过中断INT-1来实现功能的选择,当未按下中断按钮时,当按下中断按钮式,执行1,即可以播放音乐,共有两首音乐,由两个键来分别控制它们,此外,还设计了一个键来停止音乐的播放。
系统主要由播放器发声模块、按键选择控制模块和存储器模块构成。
播放器发声模块负责发出音键相应的音符;选择控制模块负责由外部控制播放器的各项功能的实现;显示模块负责按键时产生相应的值,由数码管来实现。
在只实现基本功能时(由功能控制键控制),本文的主要内容是用AT89C51单片机为核心控制元件,系统程序主要包括主程序,定时器中断程序,音乐播放程序,延迟子程序等。
三.硬件设计3.1 89C51单片机本设计使用的是ATMEL公司生产的AT89C51高性能8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器和256bytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS—51指令系统及8051产品引脚兼容,片内置8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机适合于许多较为复杂控制应用场合。
如图2-1和2-2所示:图3-1和3-23.2 I/O并行口直接驱动LED显示由于要显示每个按键的键值,就需要用到数码管LED显示模块。
本设计一共用了一个数码管显示器。
利用AT89S51单片机的P0端口的P2.0-P2.4连接到一个共阴数码管的笔段上,数码管的公共端接地。
在数码管上循环显示0-9数字,如图3-3所示:图3-33.3 发音电路发音电路有三极管,电阻和扬声器组成,三极管的基极接在单片机的P1.0端口,通过定时器溢出的时间不同,P1.0端口输出不同频率的高低电平,P1.0输出的脉冲频率不同,三极管导通的频率也不相同,从而扬声器根据不同频率的脉冲发出的声音也不相同,发音电路如下图2-4所示:图3-4四.软件设计4.1.软件设计主程序设计的第一步为初始化,初始化I/O口,设置定时器定时时间,写定时器工作方式寄存器,设置允许T0中断。
刚开始需要将存储单元置1,全部置1之后更新显示缓冲区。
接着进行显示初始化,开定时器T0,这样就可以开始显示了。
设置完以后程序就不断检测按键情况。
检测使用软件去抖,也就是第一次检测到有键按下后,如果有键按下则执行相应指令。
本设计还设计了防误操作程序,也就是对于一个键,按一下和一直按着的效果是一样的,这样可以防止用户还没放开此键时,程序已进行第二次或多次同样的操作。
程序中根音选取的是C调三个8度内的音符,共21个音。
每个音符对应频率由定时器T0产生(音符频率及对应计数初值见附表)。
为了程序调用方便,每个音符都对应一个编码,占用一个字节。
在程序中以查表的方式加载计数初值。
当值为00H 时表示空拍,与节拍码配合完成节拍发音。
节拍码也占一个字节,其总时间长度等于基本时间乘以节拍码的值。
节拍码值为01H 时,表示当前乐曲结束,为00H 时,表示全部乐曲结束。
为了编码简单,一般节拍码高半字节表示整拍,低半字节表示分数,只要基本延时设定恰当即可,为了及时响应键盘操作,键扫描指令安排在基本延时时间子程序中。
按键每按下一次,乐曲数目计数器R5加"1"或减"1",然后根据R5的内容转向不同的乐曲。
系统初始化后,进入播放功能。
开始从第一首曲目开始循环播放。
播放过程中如果出现跳选曲目.则进入相应的曲目程序.程序设计流程如图4-1所示。
五.系统调试与仿真5.1软件仿真阶段单片的程序用KEIL 编写的。
在keil 内建立工程后建立汇编文件,编写MCS-51程序。
1、编译成功后,分模块调试,分别采用“白盒”和“黑盒”测试法验证程序的正确性2、将调试成功的各模块,合并到总程序中,进行总体性能测试。
3、联调PROTEUS进行硬件仿真,单步,断点调试,观察运行结果,并修改源程序5.2系统的仿真调试阶段基于单片机的音乐播放器的是利用PROTEUS软件来实现电脑仿真的,仿真步骤如下:4、打开PROTEUS软件,选择器件,连接电路图;5、添加已经编译的HEX文件到单片机内;6、单步运行,观察结果,比较预定结果,修改源程序;7、总体调试运行;8、分组测试,看是否达到任务要求。
5.3硬件安装调试单片机系统进行软件盒硬件调试成功后最后一步是进行硬件的连接和物制作,我们的硬件是在试验台上进行的,虽然与设计的电路不太相同,不过可以适当修改源程序,以适应实验台的要求9、根据实验台情况和设计要求连接电路图;10、在连接的电路上,进行模块测试,就是用简单的程序进行调试以确定电路连接正确;11、将修改后的程序下载到单片机里,可以用伟福仿真系统,进行单步和断点调试,将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。
六.总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会前所遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在周向红老师的辛勤指导下,终于游逆而解。
同时,在周老师那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!参考文献1、《单片机原理与应用》王迎旭等编机械工业出版社2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社3、《计算机硬件技术基础实验教程》黄勤等编重庆大学出版社4、《微型计算机接口技术及应用》刘乐善主编华中科技大学出版社5、《单片微型计算机原理及接口技术》陈光东等编华中科技大学出版社6、《单片机典型模块设计实例导航》求是科技编著人民邮电出版社出版7、《单片机程序设计实例》先锋工作室编著清华大学出版社出附录A:音乐播放器电路设计图附录B:程序清单OUT BIT P3.7N EQU 10PLAY_K BIT P3.2XSDAT BIT P1.4GW BIT P1.0SW BIT P1.1BW BIT P1.2 QW BIT P1.3 SJGW EQU 2AH SJSW EQU 2BH SJBW EQU 2CH SJQW EQU 2DHORG 0000H LJMP MAIN ORG 0003H LJMP PGINT0 ORG 000BH LJMP PGT0ORG 0013HLJMP PGINT1ORG 001BHLJMP PGT1ORG 0023HLJMP WRONGNOPNOPLJMP WRONGORG 0030HMAIN: MOV SP,#60H MOV TMOD,#01HSET_TAB: MOV A,R2 MOVC A,@A+DPTRMOV @R0,AINC R0INC R2MOV A,R2MOVC A,@A+DPTRMOV @R0,AINC R0INC R2INC R3CJNE R3,#N+1,SET_TAB MOV R0,#40HMOV 31H,#01AJMP K1START: MOV 30H,#2 MOV DPL,@R0INC R0MOV DPH,@R0ANL A,#0FHC2_4: CJNE A,#2,C3_4 MOV A,23HSWAP AANL A,#0FHCJNE A,#4,C2P1_8C2P1_4: MOV 24H,#250 SJMP NOTEC2P1_8: MOV 24H,#125 SJMP NOTEC3_4: CJNE A,#3,C4_4 MOV A,23HSWAP AANL A,#0FHCJNE A,#4,C3P1_8 C3P1_4: MOV 24H,#187SJMP NOTEC3P1_8: MOV 24H,#94 SJMP NOTEC4_4: MOV A,23HSWAP AANL A,#0FHCJNE A,#4,C4P1_8 C4P1_4: MOV 24H,#125SJMP NOTEC4P1_8: MOV 24H,#62 NOTE: MOV A,#1MOVC A,@A+DPTRMOV 25H,ANEXT: MOV A,30HMOV DPL,@R0INC R0MOV DPH,@R0DEC R0MOVC A,@A+DPTRMOV R2,AJZ STOPANL A,#0FHMOV R5,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0AJMP SING1SING: DEC AADD A,25HRL AMOV 22H,AMOV DPTR,#TABLE2MOV A,22HINC AMOVC A,@A+DPTRMOV TH0,AMOV 21H,ASETB TR0SING1: LCALL DELAY1INC 30HJNB PLAY_K,PUSE LJMP NEXT PUSE: LCALL DISPLCALL DISPLAYJNB PLAY_K,$-3 STOP: CLR TR0K1: LCALL DISPJB NEXT_K,K2LCALL DISPLCALL DISPLAYJNB NEXT_K,$-3MOV A,31HCJNE A,#N,K1_2K1_1: MOV R0,#40HMOV 31H,#01SJMP K2K1_2: INC 31HINC R0K2: LCALL DISPJB LAST_K,K3LCALL DISPLCALL DISPLAYJNB NEXT_K,$-3MOV A,31HCJNE A,#1,K2_2K2_1: MOV R0,#40H+2*(N-1) MOV 31H,#NSJMP K3K2_2: DEC 31HDEC R0DEC R0K3: LCALL DISPJB PLAY_K,K1LCALL DISPLAYJNB PLAY_K,$-3 AJMP STARTNOPNOPLJMP WRONGPGT0: MOV TL0,20H MOV TH0,21HCPL P3.7RETINOPNOPLJMP WRONGPGINT0: RETIPGINT1: RETIDELAY1: MOV R7,#02 DELAY2: MOV R4,24H DELAY3: MOV R3,#248 DJNZ R3,$ DJNZ R4,DELAY3DJNZ R7,DELAY2DJNZ R5,DELAY1RETPGT1: RETIDELAY4: MOV R4,#20 DELAY5: MOV R3,#248 DJNZ R3,$DJNZ R4,DELAY5RETTABLE1: DW SONG1,SONG2,SONG3TABLE2: DW 63628,63835,64021,64103,64260,64400,64524DW64538,64684,64777,64820,64898,64968,65030DW65058,65110,65157,65178,65217,65252,65282SONG1: DB 44H,02HDB 42H,82H,82H,82H,84H,02H,72HDB 62H,72H,62H,52H,48HDB 12H,62H,62H,52H,44H,02H,82HDB 72H,62H,52H,32H,48HDB 00HSONG2: DB 43H,04HDB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,04HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04HDB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04H,00HSONG3: DB 44H,04HDB 44H,54H,64H,44HDB 44H,54H,64H,44HDB 64H,74H,88HDB 64H,74H,88HDB 82H,92H,82H,72H,64H,44H DB 82H,92H,82H,72H,64H,44H DB 44H,84H,48HDB 44H,14H,48HDB 00HDISPLAY: PUSH ACCPUSH PSWMOV DPTR,#XSTABMOV A,SJGWMOVC A,@A+DPTRACALL DSOUTCLR GWACALL DS1MSSETB GWMOV A,SJSWMOVC A,@A+DPTRACALL DSOUTCLR SWACALL DS1MSSETB SWMOV A,SJBWMOVC A,@A+DPTRACALL DSOUTCLR BWACALL DS1MSSETB BWMOV A,SJQWMOVC A,@A+DPTRACALL DSOUTCLR QWACALL DS1MSSETB QWPOP PSWPOP ACCRETDSOUT: MOV R0,#8DSLOOP: RLC AMOV XSDAT,CSETB XSCLKCLR XSCLKDJNZ R0,DSLOOPRETDS1MS: MOV R1,#10DS1LO: MOV R2,#100DJNZ R2,$DJNZ R1,DS1LORETXSTAB: DB 3FH,06H,5BH,4FH;"0","1","2","3" DB 66H,6DH,7DH,07H;"4","5","6","7"DB 7FH,6FH,77H,7CH;"8","9","A","B"DB 39H,5EH,79H,71H;"C","D","E","F" DISP: MOV 26H,#5MOV A,31HMOV B,#10DIV ABMOV SJGW,BMOV SJSW,AMOV SJBW,#0LJMP WRONGWRONG: CLR EAMOV DPTR,#ERRPUSH DPLPUSH DPHRETIERR: CLR APUSH ACCPUSH ACCRETIEND电气与信息工程系课程设计评分表1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.。