单片机课程设计范本Word格式文档下载.docx
- 文档编号:20084573
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:13
- 大小:168.61KB
单片机课程设计范本Word格式文档下载.docx
《单片机课程设计范本Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计范本Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
摘要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
清显示
2
光标返回
*
3
置输入模式
I/D
S
4
显示开/关控制
D
C
B
5
光标或字符移位
S/C
R/L
6
置功能
DL
N
F
7
置字符发生存贮器地址
字符发生存贮器地址
8
置数据存贮器地址
显示数据存贮器地址
9
读忙标志或地址
BF
计数器地址
10
写数到CGRAM或DDRAM)
要写的数据内容
11
从CGRAM或DDRAM读数
读出的数据内容
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
调4/4
125ms
62ms
调3/4
187ms
94ms
调2/4
250ms
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值)
低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
370
64185
1046
65058
低SO
392
64260
1109
65085
415
64331
高2RE
1175
65110
低6LA
440
64400
1245
65134
466
64463
高3MI
1318
65157
低7SI
494
64524
高4FA
1397
65178
中1DO
523
64580
1490
65198
554
64633
高5SO
1568
65217
中2RE
587
1661
65235
622
64884
高6LA
1760
65252
中3MI
659
64732
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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 范本