欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机原理与应用课程设计基于单片机的音乐跑马灯设计.docx

    • 资源ID:7254099       资源大小:92.70KB        全文页数:14页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理与应用课程设计基于单片机的音乐跑马灯设计.docx

    1、单片机原理与应用课程设计基于单片机的音乐跑马灯设计单片机原理与应用课程设计 设计课题:音乐跑马灯 班级: 小组成员: 时间: 2013年1月6日 音乐跑马灯的设计一、实验内容:1.使用8个发光管作跑马灯,其中有3种亮灭模式。2.有专门的开关K1K3用来切换跑马灯的模式。3.每一种跑马灯模式用LED数码管进行显示1、2、3。4.当跑马灯处于某种模式时,有对应的音乐响起。有三首曲子可以选着。提示:亮灭模式自己设计,可以从速度或者点亮方法上设计。响音乐的程序可以参考实验手册上电子音响部分。二、实验原理:用三个开关控制音乐跑马灯的三种模式,每一种模式都是在LED数码管显示模式的号码的同时先响音乐后闪灯

    2、。跑马灯采用P3口作为输入口,外接三个开关用来控制跑马灯的亮灭模式。P1口做输出口,P1口接的8个发光二极管L1L8按16进制方式点亮发光二极管,即8个发光管相当于8位的二进制位。当数值为1时,L1点亮;数值为2=00000010B时,L2点亮;数值为4=00000100时,L3点亮,依次类推。不同的音符对应不同的频率,所以只要用不同频率的信号驱动喇叭,就能发出不同的音符了,所以转换为使用定时器在P1.7引脚输出某一频率的方波脉冲即可。单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,因此单片机奏乐只需弄清楚两个概念,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一

    3、个音符唱多长的时间,乐谱中每一个音符都与某一个特定的频率相对应,所以只需要产生不同频率的方波信号(产生不同音调),并且延时不同的时间(产生不同节拍),即可完成音乐的播放。三、硬件原理:1.跑马灯亮灭模式原理图,如图(1)所示。图(1) 跑马灯亮灭模式原理图2.让喇叭响音乐的原理图,如图(2)所示。图(2) 电子音响原理图3.使第三个LED数码管显示1、2、3、4、5,如图(3)和(4)所示。图(3) LED共阳极连接原理图图(4) LED数据显示示意图用三个开关(K1K3)控制音乐跑马灯的三种模式,每一种模式都是在LED数码管显示模式的号码的同时先响音乐后闪灯。音乐跑马灯采用P3口作为输入口,

    4、外接三个开关用来控制音乐跑马灯的亮灭模式。P1口作为输出口,P1口接的8个发光二极管L1L8按16进制方式点亮发光二极管,即8个发光管相当于8位的二进制位。当数值为1时,L1点亮;数值为2=00000010B时,L2点亮;数值为4=00000100时,L3点亮,依次类推。不同的音符对应不同的频率,所以只要用不同频率的信号驱动喇叭,就能发出不同的音符了,所以转换为使用定时器在P1.7引脚输出某一频率的方波脉冲即可。四、软件原理:1.LED数据显示程序部分建立LED显示灯数组:unsigned char code table1=0x01,0x02,0x04,0x08,0x10,0x20,0x40,

    5、0x80;unsigned char code table2=0x81,0x42,0x24,0x18; 方式一 数码管显示1时LED灯点亮方式:void liang1() int i; for(i=0;i=0;i-) if(K2=1) P1=table1i; delayms(80) ; P1=0xFF; 方式三 数码管显示3时LED灯点亮方式void liang3() int i; for(i=0;i4;i+) if(K3=1) P1=table2i; delayms(80) ; P1=0xFF; 2电子音响部分的程序生日快乐歌的音符频率表:uchar code SONG_TONE=212,2

    6、12,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0;生日快乐歌节拍表:uchar code SONG_LONG=9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0;音乐一演奏模式void PlayMusic1() uint i=0,j,k; while(SONG_LONGi!=0|SONG_TONEi!=0) if(K1=1) for(j=0;jSONG_LONGi*

    7、20;j+) BEEP=BEEP; for(k=0;kSONG_TONEi/5;k+); delayms(10); i+; 音乐二演奏模式 void PlayMusic2() uint i=0,j,k; while(SONG_LONGi!=0|SONG_TONEi!=0) if(K2=1) for(j=0;jSONG_LONGi*30;j+) BEEP=BEEP; for(k=0;kSONG_TONEi/5;k+); delayms(10); i+; 音乐三演奏模式 void PlayMusic3() uint i=0,j,k; while(SONG_LONGi!=0|SONG_TONEi!=

    8、0) if(K3=1) for(j=0;jSONG_LONGi*30;j+) BEEP=BEEP; for(k=0;kSONG_TONEi/10;k+); delayms(10); i+; 3.模式选择部分:sbit K1=P30 ;sbit K2=P31 ;sbit K3=P32;sbit LED0=P10 ;sbit LED1=P11 ;sbit LED2=P12 ;sbit LED3=P13 ;sbit LED4=P14 ;sbit LED5=P15 ;sbit LED6=P16 ;sbit LED7=P17 ;sbit BEEP=P33;五、设计总程序:#include#include

    9、#define PA XBYTE0xFF21#define PB XBYTE0xFF22#define uchar unsigned char#define uint unsigned int unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /数码管显示断码,共阳极unsigned char code table1=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; /建立8个LED灯每一个的代码。供点亮方式1和2使用unsigned char code tab

    10、le2=0x81,0x42,0x24,0x18; / 每次点亮两个LED灯的代码 。供点亮方式3使用sbit K1=P30 ;sbit K2=P31 ;sbit K3=P32;sbit LED0=P10 ;sbit LED1=P11 ;sbit LED2=P12 ;sbit LED3=P13 ;sbit LED4=P14 ;sbit LED5=P15 ;sbit LED6=P16 ;sbit LED7=P17 ;sbit BEEP=P33;void delayms(unsigned int delay) /延时程序 unsigned int i,x; for (x=0;xdelay;x+) f

    11、or (i=0;i100;i+); uchar code SONG_TONE=212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0; /生日快乐歌的音符频率表,不同频率由不同的延时来决定uchar code SONG_LONG=9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0;/生日快乐歌节拍表,节拍决定每个音符的演奏长短void PlayMusic1()

    12、/播放音乐一函数 uint i=0,j,k; while(SONG_LONGi!=0|SONG_TONEi!=0) if(K1=1) for(j=0;jSONG_LONGi*20;j+) BEEP=BEEP; for(k=0;kSONG_TONEi/5;k+); delayms(10); i+; void PlayMusic2() /播放音乐二函数 uint i=0,j,k; while(SONG_LONGi!=0|SONG_TONEi!=0) if(K2=1) for(j=0;jSONG_LONGi*30;j+) BEEP=BEEP; for(k=0;kSONG_TONEi/5;k+); d

    13、elayms(10); i+; void PlayMusic3() /播放音乐三函数 uint i=0,j,k; while(SONG_LONGi!=0|SONG_TONEi!=0) if(K3=1) for(j=0;jSONG_LONGi*30;j+) BEEP=BEEP; for(k=0;kSONG_TONEi/10;k+); delayms(10); i+; void liang1() /数码管显示1,利用table1数组显示LED灯 int i; for(i=0;i=0;i-) /8个LED灯从右向左依次点亮 if(K2=1) P1=table1i; delayms(80) ; P1=

    14、0xFF; void liang3() /数码管显示3,利用table2数组显示LED灯 int i; for(i=0;i4;i+) /8个LED灯从外侧向内侧每两个依次点亮 if(K3=1) P1=table2i; delayms(80) ; P1=0xFF; void main() /主函数 BEEP=0; /喇叭初始状态 while(1) P1=0x00; if(K1=1) /按键K1,数码管显示1,播放音乐一 XBYTE0xFF21=0x08 ; /选择数码管的位置 XBYTE0xFF22=table1; /数码管显示的数字 Liang1() ; PlayMusic1(); if(K1

    15、=0)P1=0x00;XBYTE0xFF21=0x08 ; /松开按键后初始化 XBYTE0xFF22=table0; if(K2=1) /按键K2,数码管显示2,播放音乐二 XBYTE0xFF21=0x08 ; XBYTE0xFF22=table2; Liang2(); PlayMusic2(); if(K2=0)P1=0x00;XBYTE0xFF21=0x08 ; XBYTE0xFF22=table0; if(K3=1) /按键K3,数码管显示3,播放音乐三 XBYTE0xFF21=0x08 ; XBYTE0xFF22=table3; Liang3(); PlayMusic3(); if(

    16、K3=0)P1=0x00;XBYTE0xFF21=0x08; XBYTE0xFF22=table0; 六、设计的优缺点:1.优点:实验设计的程序简单,易于理解。经过调试后,程序能够按照预期的功能,通过开关K1K3在三种模式之间正常切换,LED显示相应的数值,自动播放相应的音乐,并且跑马灯按照相应的模式闪亮。2.缺点:设计的LED灯点亮方式有缺陷,只能进行一次点亮循环,设计出的跑马灯是先亮灯后播放音乐,没有在响音乐的同时就闪灯。程序较长,循环较少。七、实验心得通过这次单片机课程设计,我们选择了音乐跑马灯这个课题,刚开始是有些摸不着头脑,但通过老师的知道和自己的资料查询,逐渐对这个课题有了实际性的作用,通过自己对程序的编写和调试,加深了对单片机知识和模块知识的巩固理解和知识总结。通过自己的实际操作得到的东西远远比理解书面意思要容易的多也有趣得多,最让我觉得有些遗憾的是,自己本身对于中断的理解就不是很明白,就用了简单的程序循环来完成了这个实验,没有用到中断,对中断还是没有实践性的理解。


    注意事项

    本文(单片机原理与应用课程设计基于单片机的音乐跑马灯设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开