单片机课程设计范本.docx

上传人:b****6 文档编号:7059180 上传时间:2023-01-16 格式:DOCX 页数:13 大小:168.61KB
下载 相关 举报
单片机课程设计范本.docx_第1页
第1页 / 共13页
单片机课程设计范本.docx_第2页
第2页 / 共13页
单片机课程设计范本.docx_第3页
第3页 / 共13页
单片机课程设计范本.docx_第4页
第4页 / 共13页
单片机课程设计范本.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机课程设计范本.docx

《单片机课程设计范本.docx》由会员分享,可在线阅读,更多相关《单片机课程设计范本.docx(13页珍藏版)》请在冰豆网上搜索。

单片机课程设计范本.docx

单片机课程设计范本

请各位同学注意:

以下是一个比较规范的模板,请同学们参考这个模板修改你的单片机课程设计的报告。

另外:

要求字数达到3500左右。

机电工程学院

课程设计报告书

 

题目:

电子琴设计

专业:

机电一体化

班级:

xxxx班

学号:

xxxxxx

学生姓名:

xxxxx

指导教师:

xxx

2010年6月2日

摘要

电子琴是现代与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。

本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

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

关键词:

键盘,扬声器,电子琴

 

Abstract

Thedesigntakes89C51SCMasthecoreofsystem’scontrolsection.Inordertoachievetheeffectofthecircuitthatperformancingthemusicalinstrument,requestingasong,thefunctionofthememoryanddemonstration,wecancarryonsoftwareandhardware’sdebuggingthroughmanufacturinghardwaecircuitandcompilingthesoftware’sdesign.Thedesignappliestheprincipleoftheinterruptionsystemandfixedtime/thecountingtoperformancesoundproduction,andaccordingtotheprogramlanguagetorealizetheseparationofthenoteandtimeatthesmetime.Wecanuseittoplaywiththebroadcastmusic.Andthebestadvantageisthisdesignissimplyandclear.

Keyword:

Music,Generator,AT89C51

目录

摘要I

AbstractII

1前言1

1.1课题开发背景1

1.2课题研究的目的和意义1

1.3课题的主要研究工作1

2系统硬件设计及说明2

2.1系统组成及总体框图2

2.2部分硬件方案论述2

2.3硬件电路图3

2.4元件清单3

2.4.1AT89C513

2.4.2LCD16024

2.4.3键盘输入单元5

3系统软件设计6

3.1使用单片机实现音乐节拍6

3.2使用单片机产生音频脉冲6

3.3系统总体功能流程图6

3.4程序描述10

4总结与展望11

参考文献12

1前言

1.1课题开发背景

随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。

基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。

单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。

并且可以进行一定的功能扩展。

鉴于传统电子琴可以用键盘上的“1”到“A”键演奏从低So到高DO等11个音,从而可以用来弹奏喜欢的乐曲。

该设计将十一个琴键改成16个,使电子琴的功能更加完美。

不但可以实现对乐曲的演奏,同时还具有存储音乐、播放歌曲以及显示按键的功能。

使该设计功能更加完善。

1.2课题研究的目的和意义

利用AT89C51单片机自带资源,设计一款能实现弹奏和带存储功能的电子琴。

1.3课题的主要研究工作

本课题设计的主要工作有以下几个方面:

(1)设计出15个音符,随意弹奏,按“0”键为音乐休止符,不发声,用它时间的长短表示休止时间的长短。

(2)用功能键转换成歌曲演奏,可播放预存的音乐。

(3)可存储现场弹奏的音乐。

[扩充功能]:

(1)采用LCD显示信息,开机时有欢迎提示符,播放时显示歌曲序号(或名称)。

(2)显示乐曲播放时间或剩余时间。

 

2系统硬件设计及说明

2.1系统组成及总体框图

硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。

该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。

该设计具有11个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。

系统结构图如图2-1所示。

图2-1系统结构图

2.2部分硬件方案论述

LCD1602显示方式的方案比较。

方案一:

采用花样显示,花样显示是指lcd显示某一屏字符时,采取从左到右或者是从右到左的整屏移动的显示方式。

在这种显示方式下,给人的感觉就是程序是在执行的,同时如果控制好了移动一屏的时间间隔的话,在整体视觉上可以达到很好的效果。

方案二:

采用静态显示,静态显示是指lcd显示某一屏字符时,时钟保持当前字符的显示,不使用移屏显示。

便于控制,同时能够满足正常的显示效果。

由于在显示中存在播放时间的动态变化,这样的话,即使是不产生整屏移动,也能给人动态感,也易于控制。

基于以上各种特点,我选择了方案二。

键盘连接方式方案比较。

方案一:

独立式键盘

一个具有16个按键的独立式键盘,每一个按键的一端都接地,另一端接AT89C51的I/O口。

独立式键盘每一按键都需要一根I/O线,占用AT89C51的硬件资源较多。

因此独立式键盘只适合按键较少的场合。

键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的代码。

特点:

使用方便、结构复杂、成本高。

方案二:

矩阵式键盘

我选择采用4×4矩阵式键盘,键盘的行线X0~X3通过电阻接P3口低四位,当键盘没有键闭合时,所有的行线和列线断开,行线X0~X3均呈高电平。

当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。

如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。

如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。

这种逐行逐列地检查键盘状态的过程称为对键盘的扫描。

CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。

因为如果采用独立式键盘AT89C51的I/O口对于方案一来说将是很浪费资源的,为了节省I/O口,同时使设计显得比较美观,我选用方案二——矩阵连接式键盘。

为了能够较为简单的编程,和节省CPU的资源,我们采用定时扫描,每隔一段时间,CPU对键盘扫描一次,并将键值读入。

2.3硬件电路图

系统硬件电路图如图2-2所示。

2.4元件清单

因为小组是分工协作的,我们主要的工作是设计键盘输入模块,后面将会具体介绍。

2.4.1AT89C51

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

主要特性:

与MCS-51兼容、4K字节可编程闪烁存储器、寿命:

1000写/擦循环、数据保留时间:

10年、全静态工作:

0Hz-24MHz、三级程序存储器锁定、128×8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。

图2-2系统硬件连接图

2.4.2LCD1602

图2-316×2的液晶显示屏LM016L

1602LCD的指令说明及时序

1602液晶模块内部的控制器共有11条控制指令,如表2-1所示.

表2-11602液晶模块控制指令

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

2.4.3键盘输入单元

采用16个button,分别代表低音到中音的两个八度的音;而P2.7端口的SW1则是对选择是从sounder中播放的是从键盘输入的声音的响应还是内置音乐编码的响应。

键盘硬件连接如图2-4所示。

图2-4键盘连接图

3系统软件设计

本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

3.1使用单片机实现音乐节拍

除了音符以外,节拍也是音乐的关键组成部分。

节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。

如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

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

音乐的音拍,一个节拍为单位(C调)具体如表3-1所示。

表3-1音乐节拍表

曲调值

DELAY

 

曲调值

DELAY

调4/4

125ms

 

调4/4

62ms

调3/4

187ms

 

调3/4

94ms

调2/4

250ms

 

调2/4

125ms

3.2使用单片机产生音频脉冲

了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。

在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如表3-2所示。

T的值决定了TH0和TL0的值,其关系为:

TH0=T/256,TL0=T%256

3.3系统总体功能流程图

该程序设计思路比较清晰既从开始到声明变量与函数再到读取按钮开关,判断是否按下,然后就是一个一个按钮的动作。

其主程序框图如图3-1所示。

表3-2音符频率与计数值T的对照表

音符

频率(HZ)

计数值(T值)

音符

频率(HZ)

计数值(T值)

低1DO

262

63628

#4FA#

740

64860

#1DO#

277

63737

中5SO

784

64898

低2RE

294

63835

#5SO#

831

94934

#2RE#

311

63928

中6LA

880

64968

低3MI

330

64021

#6LA#

932

64994

低4FA

349

64103

中7SI

968

65030

#4FA#

370

64185

低1DO

1046

65058

低SO

392

64260

#1DO#

1109

65085

#5SO#

415

64331

高2RE

1175

65110

低6LA

440

64400

#2RE#

1245

65134

#6LA#

466

64463

高3MI

1318

65157

低7SI

494

64524

高4FA

1397

65178

中1DO

523

64580

#4FA#

1490

65198

#1DO#

554

64633

高5SO

1568

65217

中2RE

587

64633

#5SO#

1661

65235

#2RE#

622

64884

高6LA

1760

65252

中3MI

659

64732

#6LA#

1865

65268

中4FA

698

64820

高7SI

1967

65283

 

图3-1主程序框图

按键子程序流程图如图3-2所示。

图3-2按键子程序流程图

3.4程序描述

系统启动后,先对LCD1602进行初始化,然后进入对功能键进行判断的阶段,此后形成两个分支:

一个分支是对矩阵键盘控制音符的输出,另一个分支是内置音符的输出。

此两个分支我分别写在两个头文件中:

ctlmusic.h和ctllcd1602.h。

(需要加入部分代码进行分析)

 

4总结与展望

此次课程设计,系统部分功能已实现。

可以播放存储演奏一首喜欢的曲子,基本达到预定的效果。

在设计的过程中,小组各成员各负其责,设计不同模块。

不仅提高了设计的效率,而且体现了实践动手及团队合作的精神。

本次课程设计是大学学习阶段一次非常难得的理论与实践相结合的机会,通过这次比较系统的项目设计提高了我们运用所学的专业基础知识来解决面临实际问题的能力。

为了尽早完成作品,我们坚持努力,经过课下大量的实践操作,我们丰富了各种器件常识,收获了难得的实践经验。

 

参考文献

[1]谭会生,张昌凡.EDA技术及应用(第二版)[M].西安电子科技大学出版社,2001年9月第1版

[2]徐志军,王金明,伊廷辉等.EDA技术与PLD设计[M].人民邮电出版社,2006年2月第1版

[3]赵鑫,蒋亮,齐兆群等.数字电路设计[M].北京机械工业出版社,2005年6月第一版.

[4]苏家健、曹柏荣、汪志锋,单片机原理及应用技术[M].高等教育出版社

[5][美]AshishWilfredMeetaGuptaKartikBhatnagar著,刘永明,贺民译,php专业项目实例开发[J].水利水电出版社,2003

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

[7]李朝青,单片机原理及接口技术[M].北京:

北京航天航空大学出版色,2001.

[8]胡汉才,单片机原理及其接口技术[M].北京:

清华大学出版社,2004.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1