课程设计报告

发布 2022-10-01 05:10:28 阅读 2295

河南理工大学。

单片机应用与**训练》设计报告。

基于单片机的电子琴设计。

姓名: 李大猛

摘要。当代,爱好**的人越来越多,有不少人自己练习弹奏乐器作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需要太多的学习时间,且其**又太过于高昂,使得一部分有这种想法的人不得不放弃这种想法。而一些简易的电子乐器**相对便宜,学习上手快,一般人容易负担的起,能够满足一般爱好者的需求,故简易电子琴的研制具有一定的社会意义。

本次课程设计主要研究基于at89s52单片机的简易电子琴设计。整个系统主要包括以下几个部分组成:

1)单片机的最小系统:最小应用系统设计是单片机应用系统的设计基础。它包括单片机的选择、时钟系统设计、复位电路设计、简单的i/o口扩展、掉电保护等。

2)矩阵键盘:当按键数目较多时,为了节省i/o口线,通常采用矩阵式键盘接口电路。本设计采用5*8矩阵键盘(共40个按键,其中36个按键用来显示高中低音的#####、7的36个音调,其它4个按键可以随意的**已存歌曲)。

3)产生外部中断的系统:它由两个四输入与非门74ls20和一个两输入或非门74ls02组成,把矩阵的五行与与非门74ls20和或非门74ls02相接后接在了单片机的p3.2口,下降沿触发产生中断int0。

4)发音电路:此电子琴发音电路是由或非门来驱动扬声器发音的,控制单片机的p2.7口产生不同频率使扬声器发出不同的音调。

本文主要对单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴的硬件组成。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,最终可以随意弹奏想要表达的**,还设计了一按键用来自动**一首曲子。

系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。

目录。1 概述 1

1.1 本次课程设计的目的意义 1

1.2本次课程设计的任务及要求 1

2 系统总体方案及硬件设计 2

2.1设计原理分析 2

2.2设计方案 2

2.2.1原理框图 2

2.2.2定时/计数器的设计和状态字定义: 3

2.2.3 矩阵键盘设计及相关应用技术 5

2.2.4 led显示设计及相关应用技术 5

2.2.5发音电路设计 6

2.2.6产生外部中断电路设计 6

2.2.7单片机最小系统设计 7

3软件设计 8

3.1系统分析 8

3.1.1系统软件的组成 8

3.1.2系统程序总体流程图 8

3.2参数计算 9

3.3程序设计 10

3.3.1弹奏程序流程图 10

3.3.2自动**歌曲程序流程图 11

4实验**测试 13

5课程设计体会 14

1 概述。1.1 本次课程设计的目的意义。

本**是基于单片机的电子琴设计,电子琴是现代科技与**结合的产物,是一种新型的键盘乐器。它是现代**扮演着的重要角色,单片机具有强大的控制功能和灵活的编程实现特性,它融入现代人们的生活中,成为不可替代的一部分。因此说,学会运用单片机做一些简单的课程设计是我们工程技术人员必需掌握的一向技能。

本次设计要求我们综合利用所学单片机知识完成一个单片机应用系统设计并**实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。另外,通过本次课程设计,对我们还有以下帮助:

1、 进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤。

2、掌握单片机**软件proteus的使用方法;

3、掌握键盘和显示器在的单片机控制系统中的应用。

4、掌握撰写课程设计报告的方法。

1.2本次课程设计的任务及要求。

实现电子琴发声控制系统,要求电路实现如下功能:

利用扬声器或者蜂鸣器作为发声部件,两个数码管作为显示部件,设置多个按键,实现高音、中音、低音的的发音。并在存储一首歌曲的内容,可以实现自动**。

说明:单片机的工作时钟频率为12mhz。

2 系统总体方案及硬件设计。

2.1设计原理分析。

一定频率产生声音,频率高低决定音调。利用单片机输出脉冲信号经放大后送给喇叭,便可发出声音。利用单片机的定时器,让定时器中断一次就对改变喇叭的状态一次,即形成矩形方波,这也是数字电路产生声音的方法。

由于一首**是许多不同的音阶组成的,而每个音阶对应着不同的频率,可以利用不同的频率的组合,即可构成我们所想要的**了,对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,只要把一首歌曲的音阶对应频率关系弄正确即可。

2.2设计方案。

2.2.1原理框图。

原理图如下图所示。

2.2.2定时/计数器的设计和状态字定义:

用单片机****,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。

利用定时器计时半周期时间,每当计时终止后就将p2.7反相,然后重复计时再反相。就可在p2.

7口引脚上得到此频率的脉冲。利用at89s52的内部定时器使其工作计数器模式(mode1)下,改变计数值th0及tl0以产生不同频率的方法产生不同音阶,例如,频率为523hz,其周期t=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将i/o反相,就可得到中音do(523hz)。计数脉冲值与频率的关系式是:

n=fi/2/fr,式中,n是计数值;fi是机器频率(晶体振荡器为12mhz时,其频率为1mhz);fr是想要产生的频率。其计数初值t的求法如下:t=65536-n=65536-fi/2/fr

例如:设k=65536,fi=1mhz,求中音do(261hz)。t=65536-n=65536-fi/2/fr=65536-1000000/2/fr=65536-500000/fr,中音do的t=65536-500000/523=64580。

单片机12mhz晶振,音符与计数t0相关的计数值如表所示:

采用查表程序进行查表时,可以为这个音符建立一个**,有助于单片机通过查表的方式来获得相应的数据:低音0-11之间,中音在12-23之间,高音在24-35之间。

table:0xf8,0x8b,0xf8,0xf2,0xf9,0x5b,0xf9,0xb7,0xfa,0x14,0xfa,0x66,0xfa,0xb9,0xfb,0x03,0xfb,0x4a,0xfb,0x8f,0xfb,0xcf,0xfc,0x0b, /低音。

0xfc,0x43,0xfc,0x78,0xfc,0xab,0xfc,0xdb,0xfd,0x08,0xfd,0x33,0xfd,0x5b,0xfd,0x81,0xfd,0xa5,0xfd,0xc7,0xfd,0xe7,0xfe,0x05, /中音。

0xfe,0x21,0xfe,0x3c,0xfe,0x55,0xfe,0x6d,0xfe,0x84,0xfe,0x99,0xfe,0xad,0xfe,0xc0,0xfe,0xd2,0xfe,0xe3,0xfe,0xf3,0xff,0x02高音。

把这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中对应频率的声音。

**的音拍,一个节拍为单位(c调)

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

在这个程序中用到了两个定时/计数器来完成的。其中t0用来产生音符频率延时函数用来产生音拍。

2.2.3 矩阵键盘设计及相关应用技术。

采用5x8行列式键盘识别;

1)把“单片机系统”区域中的p1.0-p1.7端口用8芯排线连接到“5x8行列式键盘”区域中的列c1-c8端口上,把p2.

0-p2.4端口连接到“5x8行列式键盘”区域中的行r1-r5上;

2)把“单片机系统”区域中的p0.0-p0.7端口用8芯排线连接到“7段数码显示模块”区域中的任一个a-h端口上;要求:

p0.0对应着a,p0.1对应着b,……p0.

7对应着h。

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...