文档介绍:电子琴实验报告
一, 实验目的
1. 学习使用AT89S52单片机的功能,进行单片机编程,实现键盘演奏音乐的功能,进一步加深对于单片机功能实现过程的理解,强化单片机编程的能力。
2. 设计实现各种功能,包括对音乐的录音以及回访放能,要求能实现各种不同音调,在编程过程中必须考虑到各种细节,例如按键的干扰问题以及滞键。
二,实验要求
基本要求:
1:能够通过键盘演奏音符。
2:能够保存演奏的音乐,并实现回放。
3:有音调调整功能(如:C调,G调)。
4: 自由发挥其他功能.
5: 要求有单片机硬件系统框图,电路原理图,软件流程图。
三,实验基本原理
在单片机的设计中,电子琴是一个典型的例子,电子琴的实现需要用到单片机AT89S52、蜂鸣器等模块。而在本次的实验中,我们利用简单的模块,实现了一个简单的电子琴功能,使用单片机可以驱动蜂鸣器发出声音,还可以控制其发出不同的音调,在一首歌曲里面,不同的音阶对应着不同的频率,在蜂鸣器的发音原理里面,我们只需要给蜂鸣器输入不同的脉冲,蜂鸣器就会发出对应的声音,因此,我们只需要弄明白音阶对应的脉冲就可以了。
在键盘控制中,每个按键对应不同的音阶,按键按下的时候,单片机程序里面都会执行一次程序判断是否有前一次的按键被按下,按键按下以后会控制单片机对蜂鸣器输出不同频率的方波,每种情况对应不同的音阶或者音调。一首歌曲就是有不同的音阶构成,从而就实现了电子琴的功能。
四,实验设计分析
针对要实现的功能,采用AT89S52单片机进行设计,AT89S52单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准
MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。
在设计程序的时候,分析道电子的功能有三个模块构成,分别是单片机本身,键盘按键输入和蜂鸣器的功能响应。首先应该把程序分开成三个主要部分,分别为按键输入程序、高低音的发生程序和主程序。需要注意的是设计程序的时候,需要把各个程序兼容起来,综合匹配的时候,还要注意各种单片机编程的小细节。
在进行编程之前,需要安装各种必须的软件,包括编程用的ukeil软件、模拟程序运行的Progisp软件,最重要的是电脑必须安装正确的单片机驱动程序。硬件部分需要我们学生自己动手焊制,在焊制的时候一定要保证原件的完好连接,从而保证在运行程序的过程中不会出现硬件问题的影响。编程之前,需要先学习理解C语言编程的方法,再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。
五,实验要求实现
1. 整体设计
此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设计。
电路的总体设计框架如下:
蜂鸣器
AT89S52单片机
行列键盘
B. 程序总体设计
本实验用汇编程序完成.
程序总的流程图如下:
主程序开始
按1
按3
按2
按9
按8
按7
按6
按5
按4
按11
响Do
响Fa
响Rei
响Mi
响SuoOOUO
录音
发出自带声音
响
Xi
响La
变调
按1
按3
按2
按4
按5
按6
按7
记录
Do
记录
Mi
记录
Fa
记录Suo
记录La
记录
Xi
记录
Rei
判断是否有键按下
是
回主程序
回主程序
回主程序
结合电路图,程序设计的整体思路为:
接通电源,执行程序,在程序至此那个过程中各个按键代表不同的功能,下面是不同状态下各个按键的实现目标方式:
在程序执行开始时,先判断之前是否有按键按下,若之前没有按键按下:
按1键--蜂鸣器发出Do的声音;
按2键--蜂鸣器发出Rei的声音;
按3键--蜂鸣器发出Mi的声音;
按4键--蜂鸣器发出Fa的声音;
按5键--蜂鸣器发出Suo的声音;
按6键--蜂鸣器发出La的声音;
按7键--蜂鸣器发出Xi的声音;
按8键--蜂鸣器发出程序里本来自带的的声音;
按9键--系统执行录音功能,开始录音;
按10键--蜂鸣器发出录音功能执行时所录下的声音;
按11键—系统进入调音的功能,改变输出声音的音调。
在执行录音功能的时候,当你按下录音键以后,每按下键盘里的1——7键的其中一个,系统就会以数组的形式记录下这一按键代表的数字,在