点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87765092?spm=1001.2014.3001.5503
基于AT89C51单片机的电子琴设计与仿真-LMLPHP

源码获取
运用单片机,将音乐的大部分音符与相应按键相匹配,让音乐爱好者利用单片机也可以进行演奏。
基本要求:
1、认真完成系统需求分析,明确数据要求和处理要求;
2、设计出系统的概念模型,画出系统流程图;
3、设计的硬件电路图与程序流程图;
4、源程序代码;
5、系统运行结果符合课程设计要求;
主要参考资料:
[1]李广弟等编著,《单片机基础》,北京航空航天大学出版社,2001.
[2]周爱武,汪海威,肖云.数据库课程设计[M].北京:机械工业出版社,2016
[3]李光才,楼然笛《单片机课程设计实例指导》北京航空航天大学出版社,2017.

完 成 期 限
指 导 教师签名
课程负责人签名

摘要

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中简易电子琴就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的简易电子琴与平常电子琴相差不多,因为是简易的,所以音符数并不完全对应。
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机的简易电子琴。

关 键 词: 单片机,电子琴

目录
一、概述 3
1、 课程设计目的 3
2、 功能说明 3
二、硬件电路 4
1、单片机概述 4
2、MCS-51 系列单片机介绍 4
三、系统设计 6
1、部分硬件及管脚的功能 6
2、成功图例 6
四、仿真现象记录 7
总结 10
参考文献 11

一、概述
1、 课程设计目的
鉴于日常生活中在学习时害怕乏味,所以制作一个简易电子琴丰富一下生活。
2、功能说明
运用单片机将电子琴的音符与单片机中的按键相对应,方便在学习单片机时一展歌喉,让大家欣赏。

基于AT89C51单片机的电子琴设计与仿真-LMLPHP

二、硬件电路
1、单片机概述
单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU(Central processing unit)。随机存储器RAM(Random access memory)。只读存储器ROM(Read only memory)。 中断系统、定时器/计数器以及I\O(Input/output)接口电路等主要微型机部件集成在一个芯片上。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。为此,称它为单片微型计算机SCMC(Single chip micro computer),简称单片机。 单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制属性,也可以把单片机称为微控制器MCU(Micro controller unit)。在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名称。 单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其"嵌入"的特点,也常常将单片机称为嵌入式微控制器EMCU(Embedded micro controller unit)。在单片机的电路和结构中,有许多嵌入式应用的特点。
2、MCS-51 系列单片机介绍
80C51 芯片介绍
MCS-51的原生产厂商是Intel公司,最早推出80C51芯片的也是Intel公司,并且作为MCS-51的一部分,按原MCS-51芯片的规则命名,例如80C31、80C51、87C51和89C51,这样我们就能很容易地认识80C51的系列芯片。 但是后来愈来愈多的厂商生产80C51的系列芯片,例如PHILIPS,ATMEL,LG,华邦等公司。这些芯片都是以80C51为核心并且与MCS-51芯片兼容,但它们又各具特点。然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难。例如PHILIPS公司生产的80C51系列芯片名称分别为:80CXXX(ROM Less型),83CXXX(Mask ROM型);Siemens公司命名为C500系列,芯片型号以”C5“打头;而华邦公司则命名为W77C51系列和W78C51系列等等。
新一代80C51的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数/模转换器,可编程计数器阵列,监视定时器,高速I/O口,计数器的俘获/比较逻辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片…。所有这些使新一代的兼容芯片已远非原来意义上的80C51了。 目前这些80C51的兼容芯片已开始在我国使用,其中尤以 PHILIPS公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型单片机芯片AT89C51等更是后来居上,大有取代传统EPROM型芯片之势。

最小系统:
最小系统就是单片机在发挥具体测控功能时所必须的组成部分。如下图所示为最小系统方框图:





复位电路
输入、输出设备

振荡电路

电源

基于AT89C51单片机的电子琴设计与仿真-LMLPHP

图2-1 最小系统方框图

三、系统设计
1、部分硬件及管脚的功能
(1)蜂鸣器 SOUNDER
通过在某一接脚接高电压使线圈产生电流从而产生电磁场。产生磁场后将振动膜片吸附到中间的铁柱上,然后在此接脚接低电压,电流断开,磁场消失,振动膜片回弹。有振荡器的蜂鸣器为有源蜂鸣器,它可以直接将输入的高电压转换为一定频率的方波。无源蜂鸣器则没有振荡器需自己设计频率。

基于AT89C51单片机的电子琴设计与仿真-LMLPHP

上面两图作用相同
(2)按键 BUTTON
与电子琴的音符相对应。

2、成功图例

基于AT89C51单片机的电子琴设计与仿真-LMLPHP

四、仿真现象记录
由于所作项目是音乐,无法演示,大致是与电子琴的音符相对应。
基于AT89C51单片机的电子琴设计与仿真-LMLPHP

具体代码:
//51头文件,使用51特殊功能寄存器

#include <reg51.h>
sbit SOUNDER = P3^7;
//声音的频率数据
unsigned int SoundFeqInit[]={64260,64400,64524,//低音5、6、7
							64580,64684,64777,64820,64898,64968,65030,//中音 1-7
							65058,65110,65157,65178,65218};//高音1、2、3、4、5

unsigned char Musical_note;	  //全局变量,存放音符对应的数组中的元素号

void delayms(unsigned char t);//延时函数声明

void main(void)
{
	
				}
			}
		} 
		if(0xf0 == P2)
		{
			TR0 = 0;
			SOUNDER = 1;
		}
	}
}

void T0Sev(void) interrupt 1
{
	TH0 =  SoundFeqInit[Musical_note] / 256;
	TL0 =  SoundFeqInit[Musical_note] % 256;
	SOUNDER = ~SOUNDER;		 //反转引脚,输出方波,即输出频率不同的音符
}

//函数定义 1次
void delayms(unsigned char t)
{
	unsigned int	i,k;
	for(k=0;k<t;k++)
	{
		for(i=0;i<500;i++){;}	 //	500*2us= 1ms
	}
}

总结
在本次课程设计中,加强了对手能力,相比起上学期,更多是靠自己,去查阅资料,去寻找解决办法,还有就是和同学们互相帮助学习。我们这次课题虽然不难,但要去做好它,让它实现正确的功能,也少不了不断的研究和探索,可能废痘忘食,可能绞尽脑汁。不仅是现在的学习,在以后的生活中工作也,以这样一种态度和精神去完成自己的梦想,实现自己的价值。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,能够说得是苦多于甜,但是能够学到很多很多的东西,同时不但能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提升自己的实际动手水平和独立思考的水平。
参考文献
[1]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.
[2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3]马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,2003.
[4]王晋凯.简简单单学通51单片机开发[II].清华大学出版社,2014.
[5]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.

05-09 06:52