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

1、GFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSwhile(){if(count!=)音乐停止,花样灯开始按照花样闪烁{switch(count){case:for(x=;xlt;x++){P=huayang[x];bee();delay();if(count!=)eak;}eak;case:for(x=;xlt;x++){P=huayang[x];bee();delay();if(count!=)eak;}eak;case:for(x=;xlt;x++){P=huayang[x];bee();delay();if(count!=)eak;}eak;}}else{song();delay();}}}DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DS播放音乐子程序流程图图播放音乐子程序流程图播放音乐子程序代码:voidsong(){uinttem;DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSucharj;j是简谱i=;while(){if(count==){eak;}if(count==)选曲tem=qnzl[i];播放千年之恋if(count==)tem=jmszl[i];播放寂寞沙洲冷if(tem==xff)结束标志eak;j=tem;取数的高位duan=;P=yinyue[j];duan=;if(j!=){timeh=cuzhi[j*];timel=cuzhi[j*+];}else{TR=;fm=;关蜂鸣器}delay(tem%);取数的低位TR=;唱完一个音停MSfm=;delay();TR=;i++;}TR=;fm=;}延时程序代码:voiddelay(uintz)延时MS,即十六分音符{uintx,y;for(x=z;xgt;x)for(y=;ygt;y);}DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSvoiddelay(uintz)延时MS{uintx,y;for(x=z;xgt;x)for(y=;ygt;y);}程序源代码(见附录A)调试检查硬件连接在PROTUES检查各硬。

2、向D,然后D熄灭,以此往复循环。与第一种方式的不同之处为:当D移向D时,D不熄灭,再从D移向D时,D也不熄灭,以此类推:图第中花样DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DS总结单片机的设计至今为止已经进入了令人鼓舞的阶段,在进行了长达两个多月的时间的摸索与实验,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能有了较深入的理解,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的方法具有了全面的掌握。当然在这次宝贵的毕业设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的将来被实现。总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。曾经为程序的编写而查阅大量的资料,为解决一个难题而冥思苦想,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。致谢:DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DS首先感谢我的指导老师李晓媛老师。李老师渊博的学识、认真的治学态度让我由衷地钦佩。这一段时间来,我在李老师的教诲和悉心指导下圆满地完成了毕业设计。我不仅学习到了很多有用的知识,而且懂得了许多做人的道理。我相信这些对于我以后的生活是大有裨益的。本文是在导师的直接关怀和指导下完成的,在论文的选题、展开到论文的形成,导师也给予了充分的关心并倾注了大量的心血。我在此向导师致以最崇高的敬意和最衷心的感谢。同时,我要感谢机电工程学院老师们对我的教育。衷心感谢所有帮助、支持和关心我的老师、同学、朋友!在此,我要向他们表示我深深地谢意和美好的祝福!谢谢!参考文献:[]徐仁贵、廖哲智主编单片微型计算机应用技术北京:机械工业出版社,DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDS。

3、工业出版社,[]李朝清编单片机原理及接口技术北京航空航天大学出版社,[]何立民主编MCS一系列单片机应用系统设计北京航空航天大学出版社,[]谢宜仁单片机实用技术问答人民邮电出版社.[]王芳主编电子线路ProtelSE实用教程中南大学出版社,[]谭浩强著C程序设计,第版清华大学出版社,附录A:程序源代码:includeDSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSdefineucharunsignedchardefineuintunsignedintsbitkey=P^;按key可切换花样sbitkey=P^;按key可切换歌曲sbitfm=P^;蜂鸣器连续的IO口sbitP=P^;矩阵键盘的一列ucharcodehuayang[]={xf,xbf,xdf,xef,xf,xfb,xfd,xfe,xfd,xfb,xf,xef,xdf,xbf};花样ucharcodehuayang[]={xf,xfe,xbf,xfd,xdf,xfb,xef,xf,xef,xfb,xdf,xfd,xbf,xfe};花样ucharcodehuayang[]={xf,xf,xf,xf,x,x,x,x,x,xc,xe,xf,xf,xfc,xfe,xff};charcodehuayang[]={x,xaa,xcc,x,x,x,xf,xf};ucharcount;花样标志ucharcount;歌曲标志uchartimeh,timel,i;简谱编程规则:字节高位是简谱,低位是持续时间,代表多少个十六分音符代表中央C调,E代表高八度,代表停顿最后的是结束标志ucharcodeqnzl[]={千年之恋x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xA,x,前奏x,x,x,x,x,x,x,x,x,x,竹林的灯火到过的沙漠x,x,x,x,x,x,x,x,x,x,x,七色的国度不断飘逸风中x,x,x,x,x,x,x,x,x,x,有一种神秘灰色的旋涡x,x,x,x,x,x,x,x,x,将我卷入了迷雾中x,xA,xA,x,x,x,x,看不清的双手x,x,x,x,x,x,x,x,x,x,xC,x,一朵花传来谁经过的温柔x,x,x,x,x,xA,x,x,穿越千年的伤痛x,x,x,x,x,x,x,x,只为求一个结果x,x,。

4、ut{EA=;关总中断delay();去抖if(key==){count=;流水灯无花样TR=;i=;从头开始唱count++;if(count==)count=;}EA=;开总中断}voidtimer()interrut用于产生各种音调{TH=timeh;TL=timel;DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSfm=~fm;}voidsong(){uinttem;ucharj;j是简谱i=;while(){if(count==){eak;}if(count==)选曲tem=qnzl[i];if(count==)tem=jmszl[i];if(tem==xff)eak;j=tem;取数的高位P=yinyue[j];if(j!=){timeh=cuzhi[j*];timel=cuzhi[j*+];}else{TR=;fm=;关蜂鸣器}delay(tem%);取数的低位TR=;唱完一个音停MSfm=;delay();TR=;i++;}TR=;fm=;}voiddelay(uintz)延时MS,即十六分音符{uintx,y;for(x=z;xgt;x)for(y=;ygt;y);DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DS}voiddelay(uintz)延时MS{uintx,y;for(x=z;xgt;x)for(y=;ygt;y);}voidbee()蜂鸣器叫一声{uchari;for(i=;ilt;i++){fm=~fm;delay();}fm=;}SDJKFJDSKJFDSJF;DS[]刘仁宇、施伟主编模拟电子技术北京:机械工业出版社,[]卢庆林主编数字电子技术北京:机械工业出版社,[]龙志文主编电力电子技术北京:机械工业出版社,[]邱丽芳主编单片机原理与应用人民邮电出版社,[]王廷才主编电子线路CADProtel使用指南机械工业出版社,[]林志琦主编基于Proteus的单片机可视化软硬件仿真北京航天航空出版社,[]徐仁贵主编单片微型计算机应用技术[M]北京:机械工业出版社,[]戴佳戴卫恒主编单片机C语言应用程序设计实例精讲[M]电子工业出版社,[]张迎新主编单片机计算机原理技术国防。

5、件管脚是否连接正确,线路逻辑是否正确,例如:晶振电路的连接,复位电路是否设计正确。检查软件系统.根据系统的原理结构检查各流程图是否正确,再根据流程图来检查程序是否也正确。.将所有程序组织起来,在软件环境下运行,检查程序是否正确。通过对硬件和软件系统的认真检查,反复测试,如果没有出现问题即可把源程序编译成HEX文件装载到单片机中,对硬件进行仿真。仿真测试结果软件部分在初次编写完成之后,出现过一些错误,随后多次向老师和有经验的学长求教,根据老师和学长的提出的修改意见,自己也查了许多的文献资料,确定了最终的源程序。但是理论上的成立并不代表在实际运用中一定可以实现所期望的功能。所以,使用Protues进行仿真是十分必要的,它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持、HC、PICDsPIC、AVR、ARM、和MSP等,年即将增加Cortex和DSP系列处理器,并持续增加其DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DS他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。总体运行图如图所示图系统总体运行图花样灯种花样图由于截图只能看到静态图,不能看到整体图样,下面画图说明:图花样灯()第一种花样灯显示方式为:从D移向D,然后D熄灭,再从D移向D,然后D熄灭,以此类推,往复循环。DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DS图第一种花样()第二种花样灯显示方式为:从两边向中间移动,首先从D移向D,再从D移向D,D移向D,D移向D,D移向D,D移向D,D移向D,最后再从D开始往复循环。具体如图:图第种花样()第三种花样灯显示方式为:从D移向D,然后D熄灭,再从D移。

6、HKJHGFDSJHFJHFJKHF简谱音调对应的定时器初值适合M的晶振ucharcodecuzhi[]={xff,xff,占位xFC,xE,中央C调xFC,xED,xFD,x,xFD,xA,xFD,xB,xFD,xF,xFE,xD,xFE,x,高八度xFE,x,xFE,xA,xFE,xC,xFE,xD,xFE,xF,xFF,x};ucharyinyue[]={xff,xfe,xfd,xfb,xf,xef,xdf,xbf,xf,x,x};将音调转化为对应的LED样式voiddelay(uintz);延时MSvoiddelay(uintz);延时MS,即十六分音符voidsong();voidbee();蜂鸣器叫一声main(){ucharx;count=;流水灯无花样count=;唱第一首歌P=;选取矩阵键盘的一列EA=;开总中断EX=;开外部中断IT=;外部中断下降沿触发方式EX=;开外部中断IT=;外部中断下降沿触发方式TMOD=x;定时器工作在方式DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSTH=;TL=;ET=;while(){if(count!=){switch(count){case:for(x=;xlt;x++){P=huayang[x];delay();if(count!=)eak;}eak;case:for(x=;xlt;x++){P=huayang[x];delay();if(count!=)eak;}eak;case:for(x=;xlt;x++){P=huayang[x];delay();if(count!=)eak;}eak;case:for(x=;xlt;x++){P=huayang[x];delay();if(count!=)eak;}DSJKFHJKDHFJDHJKFHKDSJHJKDHFJKDSHKJHGFDSJHFJHFJKHFKSDJKFJDSKJFDSJF;DSeak;}}else{song();delay();}}}voidint()interrut{EA=;关总中断delay();去抖if(key==){count=;不让蜂鸣器唱歌TR=;count++;if(count==)count=;}EA=;开总中断}voidint()interr。

微型计算机音乐发生器,基于51单片机的音乐发生器的设计最终版(全文完整版)...相关推荐

  1. 【网络收录】基于51单片机开发音乐播放器

    [网络收录]基于51单片机开发音乐播放器 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Thu, 22 May 2014 18:14:00 +0800 特别声明:本资料来源 ...

  2. 【004】基于51单片机的音乐播放器proteus仿真设计

    一.压缩包资料内容(私信获取) (1).基于51单片机的音乐播放器proteus仿真设计一份: (2).基于51单片机的音乐播放器proteus仿真设计keli源代码一份: (3).基于51单片机的音 ...

  3. 基于51单片机的波形发生器(四种波形)(毕业设计资料)

    四种波形的产生,包括锯齿波.三角波.方波.正弦波.通过LCD液晶显示当前波形以及波形的频率.可以通过按键切换波形,并可以通过按键进行设置当前波形的频率大小,也可以设置频率设置不步进值.资料从主页链接中 ...

  4. 单片机检测电机频率c语言,基于51单片机的电动机测速表的设计.doc

    基于51单片机的电动机测速表的设计 基于51单片机的电动机测速表设计 摘 要 本文介绍了采用光电传感器实施电机转速测量的方法.基本原理,完成了一种基于AT89C51单片机平台的电动机测速表的软硬件设计 ...

  5. 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]

    /***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...

  6. 基于51单片机的电子万年历的设计-源代码

    电子万年历的设计目录 电子万年历的设计 电子万年历的系统整体设计框图 所需要的元件 DS18B20模块 DS18B20的特点 DS18B20内部结构 DS18B20管脚排列 DS1302模块 SPI时 ...

  7. 基于51单片机的三角波信号发生器设计

    基于51单片机的三角波信号发生器设计 一.任务要求: 设计内容 选择51单片机,晶振采用12MHz. 设计一个能产生50HZ至100HZ的三角波信号.通过0832/A芯片完成数模转换. 频率值由LED ...

  8. 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计

    1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...

  9. 基于51单片机的酒精浓度检测仪设计

    本设计仅供参考 基于51单片机的酒精浓度检测仪设计(proteus仿真+程序+原理图+报告) 原理图:Altium Designer 仿真:proteus 8.9 程序编译器:keil 4/keil ...

  10. 单片机应用系统设计技术——基于51单片机篮球计时计分器的设计

    基于51单片机篮球计时计分器的设计 一.实验目的 二.实验内容 三.实验步骤 四.C代码如下 五.实验结果

最新文章

  1. 列名无效怎么解决_PowerQuery批量合并Excel,前面有空行且不相等的解决办法
  2. STM32(六)- 系统定时器
  3. xp上vs2010+IE8无法调试脚本
  4. 如何做好配电室、临时用电安全管理?
  5. 如果在系统里面无法格式化磁盘可以尝试以下方法
  6. WP8.1学习系列(第八章)——透视Pivot设计指南
  7. php判断数组是否存在字符串中,php判断数组元素中是否存在某个字符串的方法_php技巧...
  8. 自定义hive url parse函数
  9. SignalR Self Host+MVC等多端消息推送服务(4)
  10. LeetCode 962. 最大宽度坡(单调栈)
  11. 2021-2025年中国制冷机行业市场供需与战略研究报告
  12. sqlserver 组内排序
  13. java如何输出完整的图_java实现输入输出图片
  14. cpda数据分析师证书含金量高吗
  15. 火星坐标系(高德)和84坐标系互换
  16. 干货!一份详实的 Scrapy 爬虫教程,值得收藏!
  17. quartus II DDS实验
  18. 2020年中山大学CS夏令营
  19. 夏季 肝病患者养生保健重点在哪 请详解
  20. [UE4]Steam联机设置

热门文章

  1. gun linux定义,linux gun make 入门
  2. arcgis删除栅格数据波段_Web GIS课程7.2 栅格数据的概念及类型
  3. excel做地图热力图_我做了一个傻瓜式热力图生成工具
  4. Java学习笔记之设计模式(2)工厂模式
  5. LeetCode Reorganize String
  6. ArrayList 初学小结!
  7. WPF 引用 ttf文件
  8. python getopt的用法
  9. 【Selenium2】【项目实战】
  10. 关于super关键字