电子琴实验及报告

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

汇编语言电子琴实验c语言,电子琴实验及报告.docx相关推荐

  1. dsp 实验c语言,dsp实验报告 实验1 ccs入门实验2(c语言的使用)

    1. 1 DSP 实验报告实验报告 院 ( 系 ) 名 称 自 动 化 科 学 与 电 气 工 程 学 院 学 生 姓 名 学 号 任 课 老 师 吴 冠 2014 年 6 月 DSP 实验报告 1 ...

  2. 定时器计数器实验C语言程序,实验二 单片机定时器和计数器编程

    仲恺农业工程学院实验报告纸 信息学院 (院.系)专业班组单片机原理及接口技术课实验二单片机定时器/计数器编程 一.实验目的 1.掌握单片机定时器/计数器的工作方式: 2.掌握单片机定时器/计数器的编程 ...

  3. 山东大学单片机原理与应用实验 C语言程序实验

    一.实验题目 C语言程序实验 二.试验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...

  4. c语言程序设计自评报告,石家庄学院c语言程序设计自评报告.docx

    石家庄学院c语言程序设计自评报告 石家庄学院课程设计报告 课程名称:设计题目:院系:专业:班级:设计者:学号:指导教师:一.题目分析: C语言程序设计校级运动会管理系统 计算机系计算机科学与技术 XX ...

  5. 处理机调度实验c语言,操作系统实验处理机调度C语言实现

    操作系统实验处理机调度C语言实现 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  6. 循环彩灯实验c语言程序,实验3LED指示灯循环控制.doc

    实验3LED指示灯循环控制 洛阳理工学院实验报告 系部计算机系班级B100508学号姓名王彪课程名称单片机原理及应用实验日期2012.5.26实验名称LED指示灯循环控制成绩[实验目的]熟悉uVisi ...

  7. 单片机音频驱动实验C语言,单片机实验:音乐改编

    <单片机实验:音乐改编>由会员分享,可在线阅读,更多相关<单片机实验:音乐改编(7页珍藏版)>请在人人文库网上搜索. 1.实验1将歌曲播放程序两只老虎改变为另一首歌曲(如Hap ...

  8. 实验 c语言作用域实验,关于《C语言深度解剖》一些例程的实验和感悟——关键字static...

    最经买了一本好书--<C语言深度解剖>,书比较薄,看的比较快,而且也非常地吸引人,对于其中的一些讲解和例子都非常的经典,感觉有一些新的感悟.可能我的想法和水平非常菜,但是我只想是写点东西出 ...

  9. pc机串口通讯实验c语言,单片机实验六 单片机与PC机串口通讯

    实验报告六 实验名称:单片机与PC机串口通讯 实验目的 : 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制. 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议. 3.了解PC机通讯 ...

最新文章

  1. c#命名法 【转】
  2. docker学习------centos7.5下的swarm集群可视化构建
  3. 当你工作压力很大的时候
  4. QUIC实战(五) 使用nginx quic开发分支部署支持HTTP3 的NGINX
  5. labview数据枚举数据服务器,枚举器报告'未指定的错误,不能枚举服务器
  6. 接口测试客户端的搭建
  7. 某计算机系统中 时钟中断处理程序,2017年北京语言大学计算机系统结构839计算机系统与设计之计算机操作系统考研题库...
  8. bat文件如何将一段文字放入剪切板?
  9. SCCM2012升级SP1系列之配置管理SCCM2012④配置SCCM2012补丁分发
  10. Tasty项目经验总结(不断补充中)
  11. STORM启动与部署TOPOLOGY
  12. bgm去水印解决办法 PR模板音乐素材去水印的方法
  13. 从零开始使用CUDA
  14. 熊国正版游戏之TXT文字乱码【已解决】【rutracker】【byrut】【单机】【破解】【俄罗斯】
  15. 记录一次 Slave_IO_Running: Connecting 的排查过程
  16. 自媒体娱乐热点素材怎么找?-即时热榜
  17. (三)matplotlib3.0画三维图(二维热图)
  18. 安装calico网络插件后K8s集群节点间通信找不到主机路由(no route to host)
  19. [BZOJ3252][长链剖分]攻略
  20. 课程设计:通讯录系统(数据库)

热门文章

  1. qq手机令牌 for android3.3 官方安装版,qq安全中心手机令牌
  2. 替代个人微信mac协议的sdk接口分享
  3. 计算机支持教学管理的各种应用,计算机技术在教学管理中的应用探析
  4. 服务器为什么被攻击?服务器攻击进黑洞是怎么解决?
  5. 人工智能ai下海百度云_人工智能系统存在偏差,云可用性使情况更糟
  6. python机器人制作方法_Python抖音机器人制作!让你有看不完的小姐姐
  7. 压缩感知重构之凸松弛法
  8. 点云智能分类研究进展与展望
  9. ReactNative 屏幕锁定横屏
  10. 模拟退火(Simulated Annealing, SA)算法简介与MATLAB实现