单片机实训报告电子琴的设计和实现.docx
《单片机实训报告电子琴的设计和实现.docx》由会员分享,可在线阅读,更多相关《单片机实训报告电子琴的设计和实现.docx(14页珍藏版)》请在冰豆网上搜索。
单片机实训报告电子琴的设计和实现
《单片机原理及应用》综合课程设计
电子琴的设计与实现
学生姓名:
张三、李四、王五、陈曦
指导教师:
张辉
所在系:
电子信息系
所学专业:
网络工程
年级:
2013级
2015年12月
目录
序论2
1、课程设计总体说明3
1.1设计要求3
1.2设计方案3
1.2.1播放模块3
1.2.2按键控制模块3
1.2.3录音模块3
1.3设计分析3
1.3.1概述3
1.3.2硬件框图4
1.4设计目的4
2、系统概要4
2.1扬声器4
2.2AT89C51单片机5
2.2.1简介5
2.2.3管脚说明:
5
2.3ISD1820录放音芯片6
2.3.1主要特性6
2.3.2封装图6
2.3.3引脚介绍:
6
3、系统实现7
3.1、电子琴实现功能流程图7
3.2、软件各模块内容7
3.2.1键盘扫描程序:
7
3.2.2功能转移程序:
8
3.2.3琴键处理程序:
9
3.2.4录音程序:
9
4、仿真调试12
5、硬件调试13
5.1总实物图13
5.2电子琴的设计与实现13
6、心得体会14
参考文献15
序论
课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89c51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件成。
利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。
并且分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述简易电子琴的设计。
1、课程设计总体说明
1.1设计要求
电子琴设有8个按键,其中7个作为音符输入,实现1、2、3、4、5、6、7发音,另外1个作为模式转换按键,实现用户作曲。
7个按键分别代表7个音符,包括中音段的全部音符。
通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。
然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现自编歌曲。
当需要取消电子琴编曲功能时,再次按下模式转换按键引起外部中断.即可退出电子琴功能而返回到原来音乐播放处。
1.2设计方案
1.2.1播放模块
播放模块是由喇叭构成,它几乎不存在噪音,音效效果良好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。
1.2.2按键控制模块
电子琴设有8个按键,其中7个作为音符输入,实现1、2、3、4、5、6、7发音,另外1个作为模式转换按键,实现用户作曲。
1.2.3录音模块
录音模块通过ISD1820录放音芯片,通过高低电平转换实现录音。
1.3设计分析
1.3.1概述
系统初始化后,进入按键扫描函数。
当检测到按键被按下时,判断是1到7按键还是8按键,若是1到7按键被按下则启动定时器T1,按照音阶所对应的周期初始值数组表中的初值,输出方波信号;
发出1、2、3、4、5、6、7的音符。
1.3.2硬件框图
单片机电子琴电路由AT89C51芯片、复位电路、时钟电路、键盘电路和发音电路5个部分组装成,各部分有自己独立的功能,单路总框图如下:
1.4设计目的
打造一个多功能电子琴,核心是一块单片机。
单片机读取键值,为内置定时器赋初值,定时器每溢出一次,高低电平转换一次,产生相应频率的方波,即高低音调。
并且通过ISD1820录放音芯片可以实现自动录音,放音。
2、系统概要
2.1扬声器
扬声器是一种把电平转变为声信号的换能器件,扬声器和性能对音质的高低音响很大。
扬声器的种类很多,按其换能原理可分为电动式、静电式、电磁式、压电式等几种,按频率范围可分为低音扬声器、中音扬声器。
在本次试验中使用电磁式扬声器,软件是该电子琴控制系统的重要部分。
下图为扬声器实物图。
2.2AT89C51单片机
2.2.1简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示。
2.2.2特性
现在AT89S51/52已经取代了AT89C51/52。
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
2.2.3管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
简图:
6
2.3ISD1820录放音芯片
2.3.1主要特性
a.自动节电,维持电流0.5uA
b.边沿/电平触发放音
c.外接电阻调整录音时间
d.3v单电源工作
2.3.2封装图
2.3.3引脚介绍:
电源(VCC):
芯片内部的模拟和数字电路使用的不同电源总线在此引脚汇合,这样使得噪声最小。
去耦合电容应尽量靠近芯片。
地线(VSSA,VSSD):
芯片内部的模拟和数字电路的不同地线汇合在这个引脚。
录音(REC):
高电平有效,只要REC变高(不管芯片处在节电状态还是正在放音),芯片即开始录音。
录音期间,REC必须保持为高。
REC变低或内存录满后,录音周期结束,芯片自动写入一个信息结束标志(EOM),使以后的重放操作可以及时停止。
然后芯片自动进入节电状态。
边沿触发放音(PLAYE):
此端出现上升沿时,芯片开始放音。
放音持续到EOM标志或内存结束,芯片自动进入节电状态。
放音后,可以释放PLAYE。
电平触发放音(PLAYL):
此端从低变高时,芯片开始放音。
持续至此端回到低电平或遇到EOM标志,或内存结束。
放音结束后自动进入节电状态。
3、系统实现
3.1、电子琴实现功能流程图
3.2、软件各模块内容
3.2.1键盘扫描程序:
检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至功能转移程序;无按键按下,则返回键盘扫描程序继续检测。
START:
MOVR0,P2
CJNER0,#0FFH,KEY1;键盘扫描
CLRTR0
SJMPSTART
KEY1:
CJNER0,#0FEH,KEY2;k1键按下
SETBP0.0
MOV30H,#0FBH;设置音阶1
MOV31H,#0E9H
LJMPSET_TIMER
说明:
K2到K8键的程序与K1类似
3.2.2功能转移程序:
对检测到的按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有三种,即音色调节功能、播放1、2、3、4、5、6、7、音符和录音的功能。
基于AT89C51的屏幕声光式可录音电子琴设计报告。
SET_TIMER:
SETBTR0;发声
SJMPSTART
NOKEY:
CLRTR0;无键按下
SJMPSTART
3.2.3琴键处理程序:
根据检测到的按键值,使发出相应频率的声音。
3.2.4录音程序:
检测到按键按下的是录音功能键后执行该程序,跳转到键盘扫描程序,检测是否有键按下,有按键按下则记录按下键值,根据检测到的按键值,查询音调表,给计时器赋值,使发出相应频率的声音并跳转到功序。
MAIN:
CLRP0.0
CLRP0.1
MOVSP,#60H;初始化退栈指针
MOV30H,#00H;定时器初始值清0
MOV31H,#00H
MOVP1,#0FFH;设置P1口为输入模式
MOVTMOD,#01H;设置定时器0为工作模式1
SETBET0;开定时器0中断
SETBEA;开总中断
CLRTR0;关闭定时器0
SETBEX0
SETBTCON.0
SETBPX0
INTR0:
CLRP0.0
SETBP0.1
LCALLDELAY1
CLRP0.1
RETI
DELAY1:
MOVR7,#20;10MS的延迟
DELAY11:
MOVR6,#250
DJNZR6,$
DJNZR7,DELAY11
4、仿真调试
5、硬件调试
5.1总实物图
5.2电子琴的设计与实现
5.3录音
6、心得体会
通过这次单片机设计我不仅加深了对单片机理论的理解将理论很好地应用到实际当中去同时也使我认识到自身存在的不足之处无论是理论上还是遇到问题的处理能力上都还有待提高而且这也激发了我今后努力学习的兴趣。
发现问题、提出问题、分析问题、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
不管做什么事计划是很重要的。
没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。
而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。
这样才能提高成功率。
做事要多动脑,选出最好的方法。
一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。
参考文献
[1]张毅刚等编著.单片机原理及应用.高等教育出版社,2015.
[2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3]李平等.单片机入门与开发[M].机械工业出版社,2008.
[4]周润景等.Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,200.
安徽师范大学皖江学院
课程设计成绩评定单
题目:
《单片机原理及应用》综合课程设计
学生姓名
张三、李四、
王五、陈曦
指导教师
张猛
指导教师评语:
指导教师评定
设计成绩等级
指导教师(签章):
2015年12月日