基于单片机的简易电子琴毕业设计 下载本文

内容发布更新时间 : 2024/9/19 18:19:58星期一 下面是文章的全部内容请认真阅读。

嘉兴学院南湖学院本科生毕业设计

6 总结与展望

本设计利用AT89C51单片机设计一个简易电子琴,具备电子琴的基本功能,分析了利用单片机简易电子琴设计的基本原理,并介绍了AT89C51单片机设计的电子琴统硬件系统。改变AT89C51的定时器里面的特殊功能寄存器TH0及TL0在模式1下的计数值,便会产生不同方波频率,然后通过扬声器产生对应的音调。最终将编写的源程序转换为机器码导入单片机芯片,仿真调试运行后,就可以实现利用按键弹奏想要的歌曲。

虽然这个毕业设计的题目算不是新的研究课题,但是在设计的过程中,我还是遇到了许多的困难和不解之处,于是我查阅了大量的资料,也参考了各种方案,渐渐学习到一些单片机知识及对其外围器件的掌握。在编程的过程中,我也遇到了许许多多的难题,不能实现的方案,我会尽量自己编写,实在完成不了,我才会去求助程海玉老师。也多亏程海玉老师的帮助,我才能顺利的完成本次毕业设计。本次设计,仿真调试软件用的是protues,源程序编译软件用的是keil,所以对这两款软件的掌握熟练度也增加了许多。

19

嘉兴学院南湖学院本科生毕业设计

参考文献

[1]赵鑫,蒋亮,齐兆群等.数字电路设计[M].北京机械工业出版社,2005年6月第一版. [2]苏家健、曹柏荣、汪志锋.单片机原理及应用技术[M].高等教育出版社

[3][美]Ashish Wilfred Meeta Gupta Kartik Bhatnagar著,刘永明,贺民译. php专业项目实例开发[M]. 水利水电出版社,2003

[4]于海生. 微型计算机控制技术选编[M].清华大学出版社,1999.

[5李朝青. 单片机原理及接口技术[M]. 北京:北京航天航空大学出版色,2001. [6]胡汉才. 单片机原理及其接口技术[M]. 北京:清华大学出版社,2004.

[7]黄鑫,马善农,赵永科.基于CPLD的电子琴研究与设计[J].科技广场,2007(5). [8]祝富林.音乐彩灯电路CS9482[J].北京:电子世界,1995,(12).

[9]陈明荧.8051单片机课程设计实训教材[M].北京:清华大学出版社,2003年9月. [10]徐新艳.单片机原理、应用与实践[M].北京:高等教育出版社,2005年3月. [11]吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用[M].清华大学出版社,2001 [12]冯博琴,微型计算机原理与接口技术[M].清华大学出版社,2004

[13]孙万麟.基于AT89C51单片机的电子琴设计[J].电脑知识与技术.2010,7:5626-5627.

[14]王啸东,涂林军,王春燕,李作奇. 智能电子琴的设计与制作[J].网友世界·云教育.2013年23期.

[15]孙文,赵万云,邹子春,袁小平. 基于RC正弦波振荡电路的电子琴设计[J].现代电子技术, 2010,33(9).

[16]张淑清,姜万录等,单片微型计算机接口技术及应用[M].国防工业出版社,2003 [17]郭天祥.新概念51单片机C语言程序教程[M].北京:电子工业出版社,2009,1-132.

[18]朱清慧.Proteus教程[M].北京:清华大学出版社,2008,1-216.

[19]王力,张伟.Protel DXP 库元器件手册[M].北京:人民邮电出版社,2003,1-194. [20]Medical Image Computing and Computer-Assisted Intervention MICCAI 99 Lecture Notes in Computer Science[J].1999, Volume 1679/1999, 798-808. [21]Supply Chain Management and Advanced Planning[J].2008,Part IV,415-430.

20

嘉兴学院南湖学院本科生毕业设计

致谢

首先要感谢我的指导老师程老师,因为论文是在程老师的全力支持下解决的许多难点的。本论文从选题到完成,每一步都是在程老师的指导下完成的,倾注了程老师大量的心血。一开始选题时程老师就给了我们很多建议,并让我们提早为这次毕业设计做准备。在提交开题报告时程老师认真负责的给我们审查,在做软件和硬件时也时时刻刻了解我们的进展情况。在此,谨向程老师表示由衷的感谢!谢谢程老师在我整个毕业设计过程中给我提供的帮助。论文的顺利完成,离不开其它各位老师、同学和朋友的关心和帮助。感谢所有给我帮助的老师和同学,谢谢你们!

21

林初丰

2015年5月20日

嘉兴学院南湖学院本科生毕业设计

附录

附录1 主要电路原理图

附录2 主要程序

#include \

#define shumaguan P0 //定义数码管段码输出 sbit LED =P1^1 ; sbit SPK =P1^0 ; sbit K1= P3^2;

sbit K2= P3^3; //定义方波输出口

unsigned int tone1,tone2; /*****标准音符表*****/

//用于使定时器初值变化以产生相应频率的定时 unsigned char code yinfu[]={0xfb,0xe9, //Do 0xfc,0x5c, //Re 0xfc,0xc1, //Mi 0xfc,0xef, //Fa 0xfd,0x45, //So

22