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

    音乐倒数计数器下载.docx

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

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

    音乐倒数计数器下载.docx

    1、音乐倒数计数器下载信息工程学院课程设计(论文) 黄河科技学院 课程设计报告书 题目: 音乐倒数计数器 课 程:单片机课程设计 专 业:数控技术 班 级:学 号: 学生姓名: 指导教师: 何春霞 年 01 月1 2013 6 日 信息工程学院课程设计(论文) 摘 要 本设计是基于AT89C52单片机的音乐倒数计数器,根据单片机技术原理,通过硬件电路设计与软件设计,制作出的音乐倒数计数器能稳定运行,并能正常播放音乐。该设计硬件部分主要包括按键电路、复位电路、LCD显示电路以及蜂鸣器组成,其中K1键作为第二功能键加入外部中断0,用以切换时间选择模式。计数值为零时,通过定时器T1调节音频,是蜂鸣器发出

    2、不同的音调。本设计利用Keil uVision4作为编程软件进行源程序设计及调试,同时使用PROTEUS7.7进行硬件电路的搭建仿真。 关键字: 单片机 音乐 计数器 proteus 蜂鸣器 2 信息工程学院课程设计(论文) 目 录 1 任务提出与方案论证. 7 1.1 采用555定时器. 7 1.2 采用单片机控制. 7 2 总体设计. 8 2.1 系统硬件设计. 8 2.2 系统软件设计. 8 3 详细设计及仿真. 9 3.1硬件电路详细设计 . 9 3.2软件详细设计 . 12 3.3 系统仿真.14 4 总结. 16 参考文献. 17 附录.18 3 信息工程学院课程设计(论文) 1

    3、任务提出与方案论证 21世纪电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,而作为创新的倒数计数器更是在普通家庭中广泛应用。 1.1 采用555定时器 555定时器是一种模拟和数字功能相结合的中规模集成器件。555定时器的功能主要由两个电压比较器决定。两个电压比较器的输出电压控制RS触发器和放电管的状态。在 电源与地之间加上电压,当5脚悬空时,则电压比较器A1的反相输入端的电压为2VCC/3,A2的同相输入端的电压为VCC/3.若触发输入端TR的电压小于VCC/3,则比较器A2的输出为1,可使RS触发器置1,使输出

    4、端OUT=1.如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC/3,则A1的输出为1,A2的输出为0,可将RS触发器置0,使输出为0电平。 本方案由于555定时器回差太小、且不能调整、功能上有所欠缺等缺点不宜选择。 1.2 采用单片机控制 单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。它在硬件结构、指令系统、I/O端口、功率消耗及可靠性等方面均有其独特之处,其最显著的特点之一就是具有非常有效的控制功能。而LED显示器具有体积小、重量轻、工作电压低、功耗极低、稳定可靠、成本低、控制驱动方便、接口简单易用、模块化结构紧凑等特点,同时外接的继电

    5、器可以完成对大电流的控制,功能更加全面。 这个方案价格便宜,编程简单,专用性强,功能可随着单片机的选择而调整,比较适合本设计 综上所述,方案1.2有很大的优势,可以利用单片机和LCD显示器来实现定时倒数,通过蜂鸣器来发出音乐。 4 信息工程学院课程设计(论文) 2 总体设计 2.1 系统硬件设计 以AT89C52单片机作为主控制器,外加按键电路、复位电路、LCD显示电路和蜂鸣器构成。 其系统框图如下: 2.2 系统软件设计 本设计将各个功能部分分别封装为函数,故在主函数只需进行相关的初始化即可。在主函数的大循环中设置播放音乐的标志位FLAG_M,在while(1)不断检测FLAG_M是否为真,

    6、若为真,表示定时时间已到,播放预先设置的音乐-千年之恋。 其主函数框图如下: 5 信息工程学院课程设计(论文) 3 详细设计及仿真 在本设计中利用了单片机的两个外部中断,以及定时器T0/T1,使得电路在运行的过程中更加灵敏及稳定。软件的设计上将各功能封装成函数,便于调用和调试。最后用proteus7.7搭建电路仿真,系统能正常运行。 3.1硬件电路详细设计 3.1.1 AT89C52单片机 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失

    7、性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 如图1所示: 图1 3.1.2 LCD1602液晶显示电路设计与原理 工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是 6 信息工程学院课程设计(论文) 背光电源。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的

    8、大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 Proteus7.7中的1602液晶只有14个引脚,少了背光电源的两根引脚,完全兼容。 本设计中,液晶的数据口与单片机的P0口相连。 如图2所示: 图2 3.1.3 复位电路 当MCS -5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。上电复位要求接通电源后,自动实现复位操作。当单片机已在运行当

    9、中时,按下复位键后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 如图3所示: 3.1.4 按键电路 图3 题目中要求通过按键来设置定时的时间,并且能为160间的任意时间,根据要求以K1作为第二功能选择位,来更改时间设置的模式。不按K1时,按下K2、K3、K4分别为定时5分钟,10分钟,20分钟;按下K1后,初 7 信息工程学院课程设计(论文) 始为30分钟(为方便上下调节选择30为初始值),然后再按K2为加1分钟,按K3为减1分钟,按K4为设置完成。 为了系统能更加灵敏的工作,加按键均加入了中断若有按键按下,系统能立即反应,并执行相应中断服务子程序。 K1连接外部中断0

    10、,K2,K3,K4通过一个三输入与门连接至外部中断1,并分别连接PI.0,PI.1,PI.2口,供中断服务子程序查询。 如图4所示: 3.1.5 蜂鸣器 图4 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”表示。 单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。本设计选择利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行

    11、驱动。 利用I/O 定时翻转电平来产生驱动波形的方式必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。比如为2500Hz 的蜂鸣器的驱动,可以知道周期为400s,这样只需要驱动蜂鸣器的I/O 口每200s 翻转一次电平就可以产生一个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管放大就可以驱动这个蜂鸣器了。 由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。 如图5所示: 8 信息工程学院课程设计(论文) 图5 3.2 软件详细设计 在本程序

    12、中设置了两个标志位FLAG_M,FLAG,分别作为音乐播放标志位和时间设置模式选择标志位。 若FLAG=1,再由外部触发检测K2K4的状态, if(K2=0) TIME_M+; LCD_display(TIME_M,0); if(K3=0) TIME_M-;LCD_display(TIME_M,0); if(K4=0) FLAG=0; LCD_display(TIME_M,0); TIME_M为所定时的时间 若FLAG=0,if(K2=0)temp=5;LCD_display(5,0); if(K3=0)temp=10;LCD_display(10,0); if(K4=0)temp=20;LC

    13、D_display(20,0); TIME_M=temp; 本程序设计关键以及难点在于实现音乐的播放,以下详细解释用程序实现播放音乐的过程。 3.2.1 音调、节拍以及编码的确定方法 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。 3.2.2音调的确定 不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来

    14、米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”,就叫“全音”。在钢琴等键盘乐器上,CD、DE、FG、GA、AB两音之间隔着一个黑键,他们之间的距离就是全音;EF、BC 9 信息工程学院课程设计(论文) 两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上号或者b号的叫变化音。叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。例如高音DO的频率(1046Hz)刚好是

    15、中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。 1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 2)利用AT89C51的内部定时器使其工作在计数器模式1下,改变计数值TH1及TL1以产生不同频率的方法

    16、。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系公式如下: N=Fi?2?Fr N:计算值; Fi:内部计时一次为1us,故其频率为1MHz; 4)其计数值的求法如下: T=65536-N=65536-Fi?2?Fr 例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音D

    17、O(523Hz)。高音的DO(1046Hz)的计算值 T=65536-N=65536-Fi?2?Fr=65536-1000000?2?Fr=65536-500000/Fr 低音DO的T=65536-500000/262=63627 低音DO的T=65536-500000/523=64580 低音DO的T=65536-500000/1047=65059 3.2.3节拍的确定 若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。“节拍”,即Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。若1拍实0.5s,则1/4 拍为0.125s

    18、。至于1拍多少s,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分钟72下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。 一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。 3.2.4 编码 do re mi 高音FA E

    19、65178 10 信息工程学院课程设计(论文) fa so la si分别编码为17,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲 11 信息工程学院课程设计(论文) 谱的结束标志。 举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18。 举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22 歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为unsig

    20、ned char 的数组中。程序从数组中取出一个数,然 12 信息工程学院课程设计(论文) 后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。 表4.4 简谱对应的简谱码、T值、节拍数 简谱码 1 2 3 4 5 6 7 8 9 A B C D 4 5 高音SO F 65217 T值 64260644006452464580646846477764820648986496865030650586511065157 13 信息工程学院课程设计(论文) 3.3 系统仿真 根据前面的硬件、软件的设计,在p

    21、roteus7.7上进行仿真试验,结果显示系统一切运行正常。 系统硬件设计的总电路图如下: 单片机上电复位后,显示如下: 不按K1,直接按K2时,显示: 按下K1后,再按K2,显示: 14 信息工程学院课程设计(论文) 按下复位按键后,显示: 系统复位了 当计数值为0时,蜂鸣器也能放出音乐。 经测试,本设计完全能够正常工作,完成了各项要求。 4 总结 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节。在本次设计中遇到了很多问题,特别是程序细节上的问题,但只要自己能沉下心来认真、细心、耐心的去调试程序,最后所有的问题便一个一个均迎刃而解,这也让我认识到,

    22、在项目设计的过程中一定要经的住问题的考验,只要我们认真仔细的排查问题的原因,最终还是能够解决的。 总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血,当然也收获了很多。在此认识到,要学好硬件或软件,一定要踏实下来做项目,这样我们的收获才是最大的,最直接的。 15 信息工程学院课程设计(论文) 参考文献 1谭浩强.C程序设计M.北京:清华大学出版社 2008 2郭天祥.51单片机C语言教程M.北京:电子工业出版社 2011 3张毅刚.单片机原理及应用M.北京:高等教育出版社 2011 4康华光.电子技术基础(模拟部分)M.北京:高等教育出版社 2009 附 录 源程序代码:

    23、 #include #define uchar unsigned char #define uint unsigned int /特殊功能位声明 sbit K2=P10; sbit K3=P11; sbit K4=P12; sbit LRS=P13; sbit LEN=P14; sbit fm=P15; /全局变量声明 uchar FLAG,FLAG_M; uchar TIME_M,TIME_S; uchar num; uchar time_l,time_h; /函数声明 void Init_break(); void Init_T0(); void Init_T1(); void Init_

    24、LCD(); void LCD_W_cmd(uchar); void LCD_W_data(uchar); void LCD_display(uchar,uchar); void FLAG_0(); void FLAG_1(); void delay(uint); void delay16(uint); void PLAY_MUSIC(); / uchar code table_name=Zheng Li; / /-简谱- 16 信息工程学院课程设计(论文) /编程规则:字节高位是简谱,低位是持续时间, /代表多少个十六分音符 /1-7代表中央C调,8-E代表高八度,0代表停顿 /最后的0是结

    25、束标志 uchar code qnzl= /千年之恋 0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xA8,0x08, /前奏 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62, /竹林的灯火 到过的沙漠 0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22, /七色的国度 不断飘逸风中 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32

    26、,0x62, /有一种神秘 灰色的旋涡 0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02, /将我卷入了迷雾中 0x63,0xA1,0xA2,0x62,0x92,0x82,0x52, /看不清的双手 0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02, /一朵花传来谁经过的温柔 0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76, /穿越千年的伤痛 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, /只为求一个结果 0x61,0

    27、x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53, /你留下的轮廓 指引我 0x42,0x63,0x83,0x83,0x91,0x91, /黑夜中不寂寞 0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76, /穿越千年的哀愁 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, /是你在尽头等我 0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53, /最美丽的感动 会值得 0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff/结束标志 /用一生守候 ; /-简谱音调对应的定- /适合11.0592M的晶振 uchar code T1_cuzhi= 0xff,0xff,/占位 0xFC,0x8E,/中央C调1-7 17 器初值时 信息工程学院课程设计(论文) 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47, /高八度1-7 0xFE,0x7


    注意事项

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

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




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

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开