《基于单片机的电子琴设计.doc》由会员分享,可免费在线阅读全文,更多与《基于单片机的电子琴设计(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、MOVR,A;取歌谱JZSTOP;为零歌结束ANLA,FH;取低四位,节拍的延迟时间MOVR,A;延时时间送RMOVA,RSWAPAANLA,FH;取高四位JNZSING;高四位不为零转向SING河南理工大学本科课程设计报告CLRTR;为零则为句间暂停,定时器T停止计数JMPW;转向W;SING:DECA;高四位减一得到频率初始值偏移地址MOVH,A;保存偏移地址到HRLA;初始值为双字节,偏移地址乘以PUSHDPLPUSHDPH;保存DPTR的值MOVDPTR,TABLE;DPTR指向频率初始值表MOVCA,@A+DPTR;取频率初始值高八位MOVTH,A;保存频率初始值高八位拟仪器,如示波器、逻辑分析仪、信号发生器等。它支持主流单片机系统的仿真。目前支持的单片机类型有:系列、系列、AVR系列、PIC系列、PIC系列、PIC系列、Z系列、HC系列以及各种外围芯片。它提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该

2、EA,FDH,NK;判断是否按下键MOVKEYBUF,;保存列号MOVP,BH;让LED显示为LJMPDKNK:CJNEA,FBH,NK;判断是否按下键MOVKEYBUF,;保存列号MOVP,FH;让LED显示为LJMPDKNK:CJNEA,FH,NK;判断是否按下键MOVKEYBUF,;保存列号MOVP,H;让LED显示为LJMPDKNK:CJNEA,EFH,NK;判断是否按下键MOVKEYBUF,;保存列号MOVP,DH;让LED显示为LJMPDKNK:CJNEA,DFH,NK;判断是否按下键MOVKEYBUF,;保存列号MOVP,DH;让LED显示为LJMPDKNK:CJNEA,BFH,NK;判断是否按下键MOVKEYBUF,;保存列号MOVP,H;让LED显示为LJMPDKNK:CJNEA,FH,NEXT;判断是否按下键MOVKEYBUF,;保存列号MOVP,FFH;让LED显示为河南理工大学本科课程设计报告LJMPNEXTDK:MOVA,KEYBUF;取列号MOVB,;初值为

3、字节,乘以MULAB;对应读取表格TABLE的数据MOVTEMP,A;保存初值高八位偏移地址MOVCA,@A+DPTR;取初值高八位MOVSTH,A;保存值高八位MOVTH,A;装初值高八位INCTEMP;初值高八位偏移地址加一得到初值低八位偏移地址MOVA,TEMPMOVCA,@A+DPTR;取初值低八位MOVSTL,A;保存值低八位MOVTL,A;装初值低八位SETBTR;开启定时器T,T开始计数DKA:;判断音符键是否松开MOVA,PXRLA,FFHJNZDKA;没有松开,等待CLRTR;松开,定时器T停止计数NOKEYS:RET;返回NEXT:MOVP,FFHMOVA,PXRLA,FFHJNZNEXT;如果A不为,即按键有变化,等待键释放MOVSP,H;设定堆栈指针指向HMOVH,H;歌谱偏移地址存储单元清零MOVDPTR,TABLE;DPTR指向歌歌谱LJMPMUSIC;********歌曲播放程序**********MUSIC:NEXT:MOVA,HMOVCA,@A+DPT

4、以节拍由用户掌握,不由程序控制。对于不同的曲调我们也可以用单片机的另外一个定时计数器来完成。音乐的音拍,一个节拍为单位(C调)具体如下表:曲调值DELAY曲调值DELAY调ms调ms调ms调ms调ms调ms音乐节拍表如何用单片机产生音频脉冲了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,河南理工大学本科课程设计报告对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。在本设计中,单片机工作于MHZ时钟频率,使用其定时计数器T,工作模式为,改变计数值TH和TL可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:音符频率与计数值T的对照表T的值决定了TH和TL的值,其关系为:TH=T,TL=T%系统总体功能流程图河南理工大学本科课程设计报告该程序设计思路比较清晰既从开始到声明变量与函数再到读取按钮开关,判断是否按下,然后就是一个一个按钮的动

5、XRLA,FFHCJNEA,H,MOSHI;有键按下,转向模式转换子程序AJMPTANZOU;没有按下模式不变MOSHI:LCALLDELYMS;延时消抖JBP,ZHONGYIN;高音键没有按下,转向中音MOVDPTR,TABLE;高音键按下将模式设定为高音LJMPTANZOU;转向扫描音符键ZHONGYIN:JBP,DIYIN;中音键没有按下,转向低音MOVDPTR,TABLE;中音键按下将模式设定为中音LJMPTANZOU;转向扫描音符键DIYIN:JBP,TANZOU;低音键没有按下,转向扫描音符键MOVDPTR,TABLE;低音键按下将模式设定为低音LJMPTANZOU;转向扫描音符键;手动弹奏程序;*******音符键扫描********TANZOU:MOVP,FFH;先将键盘的列全部置为高电平MOVA,PXRLA,FFHCJNEA,H,NEQ;有键按下转向NEQCLRP;没有键按下,蜂鸣器不发声LJMPNOKEYS;没有按键按下即跳转到NOKEYSNEQ:LCAL音乐相关知

6、MOVSTH,A;装频率初始值高八位MOVA,H;取偏移地址RLA;初始值为双字节,偏移地址乘以INCA;偏移地址加一指向初始值低八位MOVCA,@A+DPTR;取频率初始值低八位POPDPHPOPDPL;恢复DPTR的值MOVTL,A;保存频率初始值低八位MOVSTL,A;装频率初始值低八位SETBTR;启动定时器计时W:CLRP;句间暂停,蜂鸣器不发声LCALLDELAY;调用节拍延时时间INCH;节拍加一LJMPMUSIC;继续播放;STOP:CLRTR;歌曲播放完毕,定时器停止计时LJMPSTART;转向点歌程序;********延时ms子程序******DELYMS:MOVR,D:MOVR,DJNZR,$DJNZR,DRET;*******T中断服务子程序**********INT_T:MOVTH,STHMOVTL,STL;重装计数初值河南理工大学本科课程设计报告CPLP;P取反RETI;********延时s子程序********DELAY:MOVR,DELA:MOVR,D

7、机开发入门与典型实例北京:人民邮电出版社,[]胡辉单片机应用系统设计与训练北京:中国水利水电出版社,附:源程序代码KEYBUFEQUH;列号保存单元STHEQUH;定时器T初值高位存放单元STLEQUH;定时器T初值低位存放单元TEMPEQUH;定时器初值偏移地址存放单元SPKEQUP;发声器所在端口ORGH河南理工大学本科课程设计报告LJMPSTART;上电转向主程序ORGBH;定时器T中断向量地址LJMPINT_T;转向定时器T中断服务子程序START:MOVDPTR,TABLE;默认为中音模式MOVTMOD,H;设置定时器的工作方式,定时器T和T都是方式,作为为定时计数器使用(定时方式)SETBET;开各中断开关SETBEA;开放中断总允许和源允许ZAICI:ACALLSAOMIAO;进入手动弹奏程序SJMPZAICI;********手动弹奏程序********SAOMIAO:;********高中低音模式选择*******MOVP,FFH;判断P口模式键是否有键按下MOVA,

8、,H,H,H,H,HDBH,BH,H,H,H,H,BH,H,H,,H,H,H,H,H,HDBH,H,FH,H,H,H,FHDBENDEND附:系统原理图河南理工大学本科课程设计报告生了质的飞跃。、LED数码管本次设计的显示电路采用LED数码管显示,LED(LightEmittingDiode)是一种外加电压从而渡过电流并发出可见光的器件。LED是属于电流控制器件,使用时必须加限流电阻。LED有单个LED和八段LED之分,也有共阴和共阳两种。常用的七段显示器的结构如图下图所示。发光二极管的阳极连在一起的称为共阳极显示器(如图b所示),阴极连在一起的称为共阴极显示器(如图c所示)。位显示器由八个发光二极管组成,其中七个发光二极管a~g控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。才能显示出正确的数

9、作。其主程序框图如下:启动初始化PP模式键是否有键按下设置高中低音模式发出相应的音符PP音符键是否有键按下P播放键是否按下播放音乐是否是是否河南理工大学本科课程设计报告Proteus软件仿真ISIS软件介绍ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真。可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:它实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS动态仿真、IC调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种DELYMS;延时ms消抖MOVA,P;消除扰动和干扰河南理工大学本科课程设计报告XRLA,FFHCJNEA,H,NKLJMPNOKEYS;为扰动信号没有键按下转NOKEYSNK:MOVA,P;判断是否按下键CJNEA,FEH,NK;按下键即顺序执行程序,否则跳到NK检查下一键位MOVKEYBUF,;保存列号MOVP,H;让LED显示为LJMPDKNK:CJ

10、EL:MOVR,DJNZR,$DJNZR,DELDJNZR,DELARET;*******延时子程序DELAY********DELAY:MOVR,D:MOVR,D:MOVR,DJNZR,$DJNZR,DDJNZR,DDJNZR,DELAYRETTABLE:DW,,,;高音DW,,,TABLE:DW,,,;中音DW,,,TABLE:DW,,,;低音DW,,,TABLE:DW,,,;音乐播放频率表DW,,,DW,,,,;;歌曲《精忠报国》;TABLE:DBH,H,H,H,H,H,H,H,H,H,H,H,H,H,HDBH,H,H,H,H,H,H,H,H,H,H,H,H,HDBH,H,H,H,H,H,H,H,H,H,H,H,H,H,HDBH,H,H,H,H,H,H,H,H,H,H,H,H,H,H,HDBH,H,H,H,H,H,H,H,H,H,H,H,H,H,H河南理工大学本科课程设计报告DBH,H,H,H,H,H,H,H,H,H,BH,H,H,HDBH,BH,H,H,H,H,H,H,H,H,

11、软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeiCuVision等软件。另外,它具有强大的原理图绘制功能。仿真图本设计系统的仿真图如下所示:河南理工大学本科课程设计报告课程设计体会这次设计从软件方面来讲不是很难,程序相对长一点,但都是书本上所学的知识,主要是中端及其服务程序的编写。在rotues上仿真,则起到很好的效果,因为元器件都是理想状态的,但做出实物来却不是那么简单啦。经过多次调试、修改才得以出结果。将程序烧入芯片,调试成功后,可任意弹奏自己想要的旋律。同时可以播放一首示例歌曲,但是也有不足之处的,声音杂音时而有点大,不稳河南理工大学本科课程设计报告定。经过本次课程设计,我们比较好的把理论知识与实践相结合,而我们在也本次设计中收获不少。设计过程中,首先,对于汇编语言多了一层了解,其次,还有硬件的接线,还有ATS芯片的引脚方面,都让我们收获不少。加强了自身的动手能力。参考文献[]余发山,王福忠,杨凌霄单片机原理及应用技术中国矿业大学出版社[]王守中单

12、来。(a)外形(b)共阳极(C)共阴极图数码管引脚河南理工大学本科课程设计报告软件设计音乐相关知识乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低声音就低,不同音商的乐音是用C、D、E、F、G、A、B表示的,这个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。如何用单片机实现音乐的节拍除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果拍的延时是秒,则拍的延时是秒,只要知道拍的延时时间,其余的节拍延时时间就是它的陪数。如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,

单片机多功能电子琴课设_基于单片机的电子琴设计(最终版)最新版相关推荐

  1. 单片机多功能电子琴课设_基于单片机的多功能电子琴设计

    基于单片机的多功能电子琴设计 程家勤 ; 刘强强 ; 张阳熠 ; 周海军 ; 欧美英 ; 董可秀 [期刊名称] <电子制作> [年 ( 卷 ), 期] 2017(000)011 [摘要] ...

  2. 单片机多功能电子琴课设_基于单片机的简易电子琴课程设计.doc

    基于单片机的简易电子琴课程设计.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 15 14可在实际的应用时这些是不能被忽略的,我们不 ...

  3. 单片机多功能电子琴课设_基于51单片机的多功能电子琴设计.doc

    基于51单片机的多功能电子琴设计 基于51单片机的多功能电子琴的设计 摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器.它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编 ...

  4. 单片机多功能电子琴课设_基于51单片机的电子琴设计

    此设计键盘用于弹奏音乐,八个按键8种音符.单片机通过输出各种电脉冲信号开驱动控制各部分正常工作.单片机要产生音频脉冲,主要处理过程是在CPU中完成的,CPU会随时对音符输入信号进行读取数据的操作.在读 ...

  5. 单片机多功能电子琴课设_基于51单片机设计的简易电子琴

    基于51单片机设计的简易电子琴 下面直接给出proteus仿真电路 代码如下:#include #define uint unsigned int #define uchar unsigned cha ...

  6. 单片机多功能电子琴课设_基于51单片机的简易电子琴课程设计

    1.本设计采用51单片机作为主控制器 2.外部加上放音设备如喇叭等,来实现音乐演奏控制器的硬件电路 3.用8个手工的按键发出八个音阶 制作出来的电子琴实物图如下: 仿真原理图如下(proteus仿真工 ...

  7. 单片机多功能电子琴课设_基于51单片机电子琴的设计(附源码及论文)

    单片机最小系统 单片机最小系统 单片机最小系统说明: 时钟信号的产生:在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2.而在芯片的外部,XTAL1和 ...

  8. 单片机多功能电子琴课设_单片机电子琴课程设计

    单片机技术及系统设计 题 目 : 基于单片机的电子琴制作 专 业 : 自动化 班 级 : 姓 名 : 学 号 摘要 : 随着电子技术的发展,尤其是大规模集成电路的出现,给人类生活带来 了根本性的改变. ...

  9. python做数据库课设_基于Python的实时数据库设计

    基于 Python 的实时数据库设计 韩菲,金磊,戴文浩,李艳飞,杨树 [摘 要] Berkeley Db 作为一款优秀轻便的嵌入式数据库,在实际中得到了广 泛的应用,其提供了针对多种语言的 API ...

最新文章

  1. c++运算符重载总结
  2. 基于CNN的阅读理解式问答模型:DGCNN
  3. 数据库-数据库的常用术语
  4. 1.搭建JavaEE开发环境
  5. 一文讲清楚FusionInsight MRS CDL如何使用
  6. pytion3--用户定义的迭代器
  7. Oracle 字符集
  8. influxDB的安装和简单使用
  9. 整理电力系统GPS时间同步装置(GPS对时系统)孤岛方案
  10. Linux安装winetim简单教程,在Ubuntu 18.04中安装Wine QQ、微信、TIM,并安装图标托盘,...
  11. eclipse连接sql数据库
  12. PyAlgoTrade框架研究
  13. 宜搭自建费控应用如何与金蝶云星空对接打通
  14. Android连接蓝牙打印机
  15. 解决阿里云此手机号码绑定的账户数已达上限的方法
  16. 天原笔记(5) 天气形势及天气要素的预报
  17. k8s实践1:kubectl config 命令
  18. ( 蚁群算法总结)何涛
  19. jquery遍历得到的 Map 数据,
  20. cp 硬连接 linux,软链接、硬链接和引用链接,以及如何实现文件快速拷贝(cp --reflink)...

热门文章

  1. (Tekla Structures二次开发)如何获取一个与已知向量垂直的向量
  2. 往服务器抛数以及从服务器读数(AL11的具体用法)
  3. QT工程的pro文件详解
  4. 长见识了,Kotlin + SpringBoot + JPA 整合开发比Java更爽...
  5. 数学物理方法的matlab解法及可视化(一)复变函数图形
  6. 自动化测试Selenium java学习
  7. 华为轮值CEO徐直军全面剖析华为
  8. 在微信项目的通讯录页面中增加添加联系人功能
  9. 微前端qiankun从搭建到部署的实践
  10. vscode json文件配置