(完整word版)单片机课程设计---简易电子琴设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机
课程设计
课程设计名称:
专业班级:
学生姓名:
学号:
指导教师:
课程设计时间:
一、需求分析
1.1课题背景
随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。电子科技也在不断的前进,电子技术正在以不同的方式改变着我们的生活,电子琴设计也是希望给人们带来一些生活的乐趣。电子琴可以应用在很多方面,比如一些简易的玩具上或手机上。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化。
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。
1.2 课题设计的任务与主要内容
本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。
先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
1.3简易电子琴功能概述
单片机因体积小、功能强、价格低廉而得到广泛应用。AT89C51单片机设计微型电子琴的方法,仅需AT89C51最小系统,扩展一组矩阵键盘,再接一组发光二极管用来指示电子琴的工作状态。
本系统分为两个部分,一个是音乐,另一个就是电子琴。 1.单片机并行连接4*4矩阵键盘和一位数码管
2.利用单片机内部定时器T0的定时功能产生音符所对应的音调
3.经功率放大器后输出至音箱
4.在弹奏音乐的同时将音符显示与数码管
5.具备存储在播放所弹奏的音乐的功能
6.具备示范音乐播放功能
二、 概要设计
2.1硬件系统的组成
嵌入式电路,按键电路,LED 显示电路和三个功能键组成,通过功能键可以选择播放音乐。(按键一:是否录音;按键二:是否播放;按键三:复位键)
该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。通过这样可以不断的弹奏音乐。
图1 硬件系统总体框图
2.2软件设计流程图
P1
图2 软件设计流程图
2.3工作原理
打开电子琴电源开关后,电子琴默认为弹奏状态(录音LED灯亮表示按键弹奏录音,不亮则普通按键弹奏功能),弹奏/播放显示灯点亮。此时可以进行弹奏音乐,按下矩阵键盘中的任意键,扬声器发相应的音调,数码管显示对应的数字。按下播放按钮,电子琴处于自动播放状态,弹奏/播放显示灯不亮,就会播放刚才弹走过的音乐,并循环进行播放,如果按下录音按键,将录音灯灭掉,此时播放的音乐改变,播放电子琴内置的音乐,并显示相应音符,循环播放。此时,如果按下复位键,数码管显示0,清楚录音,此时系统又处于弹奏状态。
本设计存储了二首音乐,可循环播放.(小星星和欢乐颂)
三、运行环境
3.1硬件环境
3.1.1总体设计软件模型
连线:
P3^7————蜂鸣器
P2^0————连接LED0(模式指示灯:弹奏--亮,播放--不亮)
P2^1————连接LED1和独立开关(录音指示灯:弹奏保存--亮,弹奏不保存--不亮)
P3^2————独立按键,外部中断控制复位键
P3^3————独立按键,外部中断播放/弹奏切换按键
P1————连接数码管显示
P0————连接矩阵键盘
此设计模块实现的功能有:
1.把不同的频率也就是节拍的声音输入到放大器,播放弹奏的声音;
2.在弹奏音乐的同时将音符显示于数码管;
3.弹奏音乐的时候要将音符输入到数码管;
4.播放内置储存的音乐时要显示此时播放的音乐音符;
5.具备存储在播放所弹奏的音乐的功能;
6.复位功能,模式复位、录音清楚,数码管显示为0。
3.1.2 AT89C51单片机相关介绍
1)AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C51它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价
廉的方案。外形及引脚排列如图3.2所示。
图3 AT89C51引脚分布图
主要引脚功能:
1、RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;
2、XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入;
3、XTAL2(18):来自反向振荡器的输出;
4、P1口(1-8):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流;
5、
__
EA/PP V:当__EA保持低电平时,单片机只访问外部程序存储器。__EA为高
电平时,单片机只访问内部程序存储器。
2)芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁