单片机音频发生器程序设计

合集下载

音乐发生器的设计与实现

音乐发生器的设计与实现

实验课程名称:监测控制系统应用实验五实验项目名称:音乐发生器的设计与实现实验成绩:实验者:专业班级:电信130 班同组者:实验日期:周四3~4节课一.实验内容掌握单片机片内定时器应用设计技巧,会确定定时器的时间常数,能够进行定时器的初始化编程。

掌握利用微处理器设计音乐发生器的方法二.探究内容1.利用定时器产生特定的频率信号,设计一个音乐发生器,可以循环播放音乐,候选乐曲3首。

2.用按键选择播放哪一首音乐。

有音乐播放的启停键。

3.用8个LED灯随节拍闪烁(选做)4.扩展内容(选做),用7个按键分别产生音阶1、2、3、4、5、6、7,按一下键,即产生一个节拍的相应音符,也就是设计电子琴。

三.实验设计:1.设计要求具体任务:(1)设计一个音乐发生器,候选音乐有三种,K1可启动停止音乐,K2用于选择音乐段;(2)用proteous仿真电路,保证设计的正确性;(3)基于开发板完成实物制作。

2. 探究内容:(1)如何利用音阶计算定时器的时间常数?(2)音乐声音的洪亮稳定如何保证?(3)节拍如何实现?三、实验设计:1.设计音乐发生器的基本任务的基本任务:(1)研究产生音阶1、2、3、4、5、6、7的方法,计算7个音阶对应的时间常数 (2)设计产生单首乐曲循环的软件,调试后下载到开发板(3) 设计产生3首乐曲的音乐发生器,用按键选择循环的单曲,调试后下载到开发板,运行。

2.相关知识介绍2.3 音阶对应频率计数初值的计算单片机的振荡频率为f osc =12MHz ,通过定时器T0溢出后对P3.0口取反产生方波,故定时器溢出时间为1/2f 。

由:nosc n f f X ⨯=⨯-2112)2(16 , 则定时初值为:16224osc n n f X f =- 以音阶“1”为例:f =523 Hz ,则T =1/f定时初值:6161612102264580442424523osc n n f X FC Hf ⨯=-=-==⨯用同一方法可求出其它音阶所对应的频率定时初值,将其制表放在程序中,通过查表向定时器T0装入所要求的定时初值,即可产生某一音阶所对应的频率的方波信号。

单片机的音乐发生器设计开题报告

单片机的音乐发生器设计开题报告
[2]李强.51系列单片机应用软件编程技术.北京航空航天大学,2009.4
[3]周向红.51系列单片机应用与实践教程.北京航空航天大学,2008.5
[4]王晓君.MCS—51 及兼容单片机原理与选型.电子工业出版社,2003.11
[5]王义方.刘慧银微型计算机原理及应用-MCS-51系列单片机(第3版)机械工业出版社
系(院)审核意见:
审核人签字:年月日
说明:1、该表每生一份,系(院)妥善存档;
2、课题来源填:“自选”或“教师指定”或“其它”,课题类型填:“理论研究”或“应用研究”或“技术开发”或“实验设计”或“其它”。
5.08-5.15 完成论文拟写和相关修改工作;
5.16-5.19 论文递交指导教师自审,听取指导教师相关意见,完善毕业论文;
5.20-5.25 论文外审,根据评阅老师意见修改和完善;
5.26进行毕业设计答辩。
六、主要参考文献
1、参考文献目录
[1]苏凯.MCS-51系列单片机系统原理与设计.冶金工业出版社,2003.1
2.课题研究的主要目的及意义
进一步学习单片机的硬件、软件基本原理理论及系统扩展方面的一些基础知识:熟悉51汇编语言和51C语言的学习,熟悉51汇编语言和51C的开发环境,培养单片机开发能力。掌握51C的开发技能,对以后的发展和就业都会有很大帮助。
为人们生活的研究现况和发展趋向)
[10]田里,田青.51单片机C语言程序设计快速入门。北京:人民邮电出版社,2007.7
[11]odd D.Morton著,严隽永译. 嵌入式微控制器.北京:机械工业出版社 ,2005年9月
[12]王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002年8月
[13]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004.

基于单片机的音乐发声器的设计(完整版,含程序和电路图)

基于单片机的音乐发声器的设计(完整版,含程序和电路图)

电子技能课程设计报告书课题名称 音乐发生器的设计姓 名 学 号 091250241 院 系 通信与电子工程学院 专 业 电子科学与技术指导教师2012年 6 月4日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2009级学生电子技能课程设计一、设计任务及要求:本设计采用AT89C51制作简单音乐发生器,通过开关1控制蜂鸣器播放设计的音乐程序,再次按下开关1可切换歌曲,共两首歌曲。

通过开关2控制电路进入花样灯模式,再次按下开关2可切换LED灯闪烁样式,共三种闪烁样式指导教师签名:2012年 6 月 4 日二、指导教师评语:指导教师签名:2012年 6 月4 日三、成绩验收盖章2012年 6 月4 日目录音乐发生器的设计 (1)1 设计目的 (1)2 设计的主要内容和要求 (1)3 整体设计方案 (1)4 硬件电路的设计 (2)4.1 系统总电路及信号流程 (3)4.2 LED显示电路的设计 (3)4.3 时钟振荡电路的设计 (3)5 软件设计 (3)5.1音调、节拍以及编码的确定 (3)5.2 主要程序设计 (4)6 系统仿真 (6)6.1 系统仿真环境及参数设置 (6)6.2系统仿真结果及其分析 (7)6.2.1系统仿真图 (7)6.2.2 花样灯3种花样图 (7)7 使用说明 (9)8 设计总结 (9)参考文献 (10)附件A (11)音乐发生器的设计李熙(湖南城市学院通信与电子工程学院电子科学与技术专业,益阳,413000)1 设计目的本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。

用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。

对于不同型号的单片机只需要相应的改变一下地址即可。

该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。

单片机实现简单音乐发生器

单片机实现简单音乐发生器
break;
case 0x14:// 3行1列
k = 8;
break;
case 0x24:// 3行2列
k = 9;
break;
case 0x44:// 3行3列
k = 10;
break;
case0x84:// 3行4列
k = 11;
break;
case 0x18:// 3行4%256;
TR0 = 1;//开始计数
P1 = 0xf0;//发全0行扫描码
while ((P1&0xf0)!=0xf0)//若没有松开按键
{
P1 = 0xf0;
}
TR1 = 0;//若按键松开,则停止计数,不产生脉冲输出
}
}
}
}
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
if ((P1&0xf0)!=0xf0)//延时后再判断一次,去除抖动影响
{
key = getkey();//调用键盘扫描函数
//根据获取的按键位置得到k值
switch(key)
{
case 0x11://1行1列
k = 0;
break;
case 0x21://1行2列
k = 1;
break;
case 0x41:// 1行3列
k = 2;
break;
case 0x81:// 1行4列
k = 3;
break;
case 0x12:// 2行1列
k = 4;
break;
case0x22:// 2行2列
k = 5;
break;
case 0x42:// 2行3列
k = 6;
break;

简单音乐发生器

简单音乐发生器

简单音乐发生器单片机实训设计(论文)题目:简单音乐发生器系别电子信息工程专业班级 07电信2班学生姓名谢霭谦指导教师朱俊杰黄金杨提交日期 2010-12-14目录1 设计任务与要求 (1)2设计方案 (1)2.1 音乐相关知识 (1)2.2如何用单片机产生音频脉冲 (2)2.3如何用单片机实现音乐的节拍 (3)2.4音频功放 (4)3 硬件设计 (4)3.1结构框图 (4)3.2主要器件 (5)3.3 电路原理图及说明 (6)4 软件设计 (6)5 小结 (13)..................................................................................单片机实现简单音乐发生器1 设计任务与要求本设计将实现一种由单片机控制的简单音乐发生器,它具有16个音的键盘,我们可以根据乐谱在键盘上进行演奏,通过扬声器将音乐播放出来。

本次课程设计的任务是,设计一种由单片机控制的简单音乐发生器,要求键盘有16个键,能过用51单片机C语言编写程序来实现音乐发生器的发音。

要求:1.设计思路切明确;2.对各个芯片的功能要有所了解;3.对设计中的各个电路图能够要有所说明。

4.对设计的、中的源程序要有所注释。

5.在按音乐发生器的16个键的同时能够听到不同的音乐。

2设计方案进行本设计的设计之前,首先需要了解音乐的一些相关知识。

2.1 音乐相关知识在人类还没有产生语言时,就已经知道利用声音的高低、强弱来表达自己的思想和感情。

声带、琴眩等物体震动时会发出声波,声波通过空气传播进入人耳,人们就听到了声音。

声音有噪音和乐音之分,振动由规律的声音是乐音,如人声带发出的歌声、由琴眩发出的琴音等。

音乐中所有的声音主要是乐音。

乐音听起来有的高,有的低,这就叫音高。

音高是由发音物体震动频率的高低决定的,频率高声音就高,频率低声音就低。

比如,女人唱歌时声带频率振动高,男人唱歌时声带振动频率低,所以男生比女生低。

基于51单片机的音乐发生器的设计

基于51单片机的音乐发生器的设计
根据对应 的音符 , 定时/ 计数器 的初值为 : T H O =( 6 5 5 3 6一 计数次数) / 2 5 6 ;
收 稿 日期 : 2 0 1 4一o 2—1 2
基金项 目: 国家 自然科 学基金 ( 6 0 3 7 5 0 1 0) ; 安徽 省教育厅 自然科学 研究项 目 ( K J 2 0 1 2 Z 3 8 9 ) 。 作者简介 : 柴泉( 1 9 8 9一) , 男, 安徽 省合肥市人 , 在读硕士研究生 , 主要从事软件开发研究 。
c h i p a n d a a u d i o a m p l i f i e r( L M 3 8 6 ) , a n d i t a l s o p r o v i d e s c o r r e s p o n d i n g h a r d w a r e he t o r y s c h e me a n d s o f t w a r e
Ab s t r a c t : T h i s a r t i c l e i n t r o d u c e s a s y s t e m d e s i g n me t h o d . w h i c h i s t o r e a l i z e mu s i c p l a y e d b y MCS一5 1 mi c r o :
C H A I Q u a n , L I Y u e —b a n ’
( 1 . S c h o o l o f S o f t w a r e E n g i n e e r i n g o f U S T C, S u z h o u 2 1 5 1 2 3 , C h i n a ;
中表示音高关 系的最 小计量单位 , 两个半音 构成一个全音 。音符是乐谱 表上 用来表示 音的长短 的符号 , 不 同

单片机音乐发生器的制作

单片机音乐发生器的制作

单片机音乐发生器的制作邢台职业技术学院毕业论文第1章绪论通过音乐发音器的设计方案,掌握了汇编语言的编程方法,并熟练的运用89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律,按下单键可以演奏预先设置的歌曲旋律,最重要的是自己还可以通过程序设计输入自己喜欢的歌曲来演奏,本设计采用简易音阶编码直觉式输入法方便设计音乐旋律,可以扩充其功能如下:1、可设计多个按键操作来选择演奏哪一首歌曲。

2、以随即数方式自动演奏歌曲。

3、设计程序可以以按键来实现前进和后退。

4、修改程序可以演奏伴奏音,或是如手机上播放的和谐铃声。

第1 页共18 页邢台职业技术学院毕业论文第2章单片机概述一台能够工作的计算机要有这样几个部分构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)输入/输出设备(例如:串行口、并行输出口等)。

在个人计算机上这些部分被分成若干块芯片,安装一个称之为主板的印刷线路板上。

而在单片机中,这些部分全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上诉部分外,还集成了其它部分如A/D,D/A等。

单片机的体积也不大,一般用40脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。

MCS51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减改变而来的,所以人们习惯于用8501来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。

INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机。

当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。

北邮 单片机 音乐发生器 程序

北邮 单片机 音乐发生器 程序
CALL ENABLE1
BSF PORTE,RS
MOVLW 55H
MOVWF PORTD
CALL ENABLE1
BSF PORTE,RS
MOVLW 53H
GOTO P11
GOTO P12
GOTO P13
GOTO P14
NOP
P1
MOVLW .131
MOVWF M1
MOVLW .136
MOVWF M2
M2 EQU 23H
COUNT EQU 26H
DATA1 EQU 50H
DATA2 EQU 51H
VALUE EQU 52H
TABLE EQU 40H
RXDATA EQU 53H
MOVWF TRISD
BCF STATUS,5
MOVLW 01H
MOVWF PORTD ;清屏
CALL ENABLE
MOVLW 4DH
MOVWF PORTD
MOVWF TRISC
BCF STATUS,RP0
MOVLW 0DBH ;0
MOVWF 40H
MOVLW 77H ;1
MOVWF 41H
MOVLW 7BH ;2
BSF STATUS,5
MOVLW 000H
MOVWF TRISD
BCF STATUS,5
MOVLW 01H
MOVWF PORTD ;清屏
PORTB EQU 6H
OPTION_REG EQU 81H
RBUP EQU 7
OPTION_REG EQU 81H
OPTION_TEMP EQU 0A6H

单片机音频发生器程序设计

单片机音频发生器程序设计

实验三单片机音频发生器程序设计实验目的1、进一步掌握单片机定时器的用法。

2、了解用单片机的IO口输出方波的方法。

3、理解用单片机产生简单音频的方法。

实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理1、单片机IO口产生音频脉冲的原理我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或“低”电平,则在该口线上就能产生一定频率的方波,接上喇叭就能发出一定频率的声音,若通过程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。

喇叭驱动电路如图4-13所示。

图4-13 喇叭驱动电路例如,要产生中音1。

从下表可知,中音1的频率为523Hz,周期T=1/523=1912μs,其半周期为1912/2=956μs,因此只要在SPEAKER接口上产生半周期为956μs的方波,即可听到持续的1音。

C调部分音符频率与计数初值的对应表如下:表4-1 C调部分音符频率、计数初值与设置简谱码的对应关系注:上表定时器工作于模式12、音乐节拍的生成要唱出一首歌,只产生出音频脉冲还不够,还要考虑发出音频时间的长短(即节拍)。

如果一拍为0.4秒,则1/4拍是0.1秒,只要设定延迟时间就可获得节拍的时间。

我们也可以设1/8拍为1个延迟单位时间,则1拍应该是8个延迟单位时间,以此类推,所以,只要求得1/8拍的DELAY时间,其余的节拍就是它的倍数。

详见下表表4-2 节拍与节拍码对照表3、由前面的分析可知,音符频率有14种,节拍有10种,我们定义每个音节占用一个字节,字节的低4位代表音符的频率,高4位表示该音符的节拍。

定义一个音符频率表、一个音符节拍表。

程序首先读取一个音节,并从音符频率表和节拍表中读取音符频率所对应的定时器初始和节拍对应的延时参数。

利用单片机内部定时器0、1分别产生频率和节拍。

定时器0的初始值由音符的频率决定,定时器1的初始值是50ms对应的值。

每当一个音符输出完成就取出下一个音符,直到取出的是0FFH。

单片机播放音乐的编程方法网络整理版

单片机播放音乐的编程方法网络整理版

我将阐述播放音乐的软件编程方法。

原理:1’要让单片机控制扬声器发出音调只要计算出某一音频的频率,进而计算出周期,然后将这一周期除以二,即为半周期的时间。

利用定时器计数这半个周期。

每当计数到这个时间就将输出I/O口取反,重复这个步骤就可以得到这个音调的脉冲。

2’利用80C51扥内部定时器使用其工作在计数器模式MODE1下,改变计数值TH0,及TL0易产生不同频率的方法。

例如长生频率为532HZ的脉冲,其周期为T=1/523=1912us。

因此只要计数器计数956/1us=956。

在每次计数956次后将I/O口取反,就可得到中音DO(523HZ)。

计数脉冲值与频率的关系公式如下:N=Fi÷2÷Fr N:计算值Fi:内部计数时一次计数为1us,故其频率为1MHZ.3’其计数值的求法如下;T=65536-N=65536-Fi÷2÷Fr 其计数值的求法如下例如:设K=65536,F=1000000=Fi=1MHZ,求低音DO(261HZ),中音DO(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=650594’ C调各音符频率与计数值T的对照表如下所示.在音乐中所谓音调其实就是我们所说的音高,在音乐中我们常把C 调上方的A作为标准音调,其频率等于440HZ。

当两个声音信号的频率相差一倍是也即f1=2f2,则称相差一个倍频程,在音乐中低音1和中音1,低和中2正好相差一个倍频程在音乐上称他们相差一个八度音,一个八音度有12个伴音,即为1-#1,#1-2,2-#2,#2-3,3-4,4-#4,#4-5,5-#5,#5-6,6-#6,#6-7,7-i.如果我们知道了这十二个基本音调的频率,我们就可以根据倍频程的关系得到其他调。

毕业设计论文:基于51单片机的音乐发生器设计

毕业设计论文:基于51单片机的音乐发生器设计

本文是应用MCS-51单片机原理和控制理论技术设计音乐发生器的硬件电路,并利用C语言进行软件开发和程序设计。

通过控制单片机内部的定时器产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟控制发音时间的长短。

把乐谱转化成相应的定时常数,从而达到从发音设备中演奏出悦耳动听的音乐的效果。

该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。

使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计3种。

播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。

本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。

本系统采用C语言进行软件设计。

正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程。

其次阐述了程序的流程和实现过程。

本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。

关键词单片机;音乐;C语言;STC89C51;KEIL;PROTEUSAbstractIn this paper, The music generator and its hardware circuit is designed by MCS-51 single-chip microcomputer principle and control theory, and the Software development and programming are based on C language programming. According to control the MCU internal timer to produce different frequency Square wave to drive the horn sounds of different tones of music, then use the delay to control the length of time. The music Transformationed into the timing constants corresponding so that the sound equipment can play Melodious music.The music box is mainly composed of keypad circuit, reset circuit, clock circuit and a buzzer. Two buttons are used to control the music box, one to switch songs, another is used to switch the 8 LED pattern, the music box has two songs, a total of 3 kinds of pattern light pattern. While the music is playing, the buzzer sounded a tone, and the corresponding LED lights up. The design of programming the music box and debug source code using KEIL programming software, and to save the design time the PROTEUS simulation software is used to simulate the hardware debugging.The system uses C language for software design. Firstly,in the text describes the working principle of the system hardware, and attached to the system block diagram of hardware design to discusse the function and working process of the graduation design and the application of the hardware interface technology and the interface module. Secondly, expound the procedures and processes to achieve process. The main idea of this writing is a combination of software and hardware, on the base of hardware, write to each function module.Key wordsSinglechip; music; C language; STC89C51; KEIL; PROTEUS目录前言.................................. 错误!未定义书签。

「基于单片机的MP3播放器设计_毕业设计」

「基于单片机的MP3播放器设计_毕业设计」

「基于单片机的MP3播放器设计_毕业设计」随着科技的发展,MP3播放器成为了大众日常生活中不可或缺的一部分。

本文将介绍一个基于单片机的MP3播放器的设计,并探讨其在毕业设计中的应用。

首先,我们需要明确设计目标。

该MP3播放器的主要功能是播放音频文件,包括MP3和其他常见格式的音频文件。

除此之外,它还应具备控制播放、暂停、快进、快退等功能。

另外,该MP3播放器还需要具备文件管理功能,能够浏览音频文件,并通过界面进行选择和播放。

接下来,我们将进行硬件设计。

MP3播放器的核心部分是单片机,我们可以选择一款功能强大的单片机,如ARM Cortex-M系列的单片机。

该单片机需要支持音频解码功能,因此可以选择一款集成了音频解码芯片的单片机,这样可以减小外围电路的复杂度。

此外,我们还需要添加音频输入和输出电路,以及LCD显示屏、按键和电源管理电路。

在软件设计方面,我们需要进行音频解码的程序开发。

我们可以选择使用现成的开源解码软件库,如mad(MPEG Audio Decoder)或LAME (LAME Ain't an MP3 Encoder)。

这些库可以实现对MP3格式的音频文件进行解码,并输出数字音频信号。

我们还需要开发一个用户界面程序,实现文件浏览和选择,并与解码软件库进行交互。

最后,我们将介绍该MP3播放器的应用于毕业设计中的可能性。

毕业设计可以从以下几个方面展开:1.性能优化:可以通过对音频解码算法的优化,提高音频文件的解码速度和音质;或者对MP3播放器的界面进行优化,提高用户体验。

2.功能扩展:可以通过添加额外的功能模块,如蓝牙模块、存储卡接口等,实现更多的功能,如无线传输、外部存储扩展等。

3.系统集成:可以将MP3播放器与其他系统进行集成,如车载音频系统、家庭音响系统等,以实现更广泛的应用。

综上所述,基于单片机的MP3播放器设计具有许多潜在的应用领域。

在毕业设计中,我们可以通过对性能优化、功能扩展和系统集成等方面的研究,使MP3播放器的设计更加完善和创新。

基于单片机的音乐发生器设计

基于单片机的音乐发生器设计

本科毕业论文基于单片机的音乐发生器设计The Design of Music generator based on MCU系(院)名称:计算机科学与信息工程系专业班级:10届计算机科学与技术学生姓名:***学生学号:200603010065指导教师姓名:刘爱琴指导教师职称:教授2010 年5月毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解***学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:基于单片机的音乐发生器设计摘要:随着科技的飞速发展,我们的生活越来越需要音乐的融入,单调的声音开始被更换,例如电子琴,闹钟的报铃声,手机的彩铃。

单片机以其自身优势进入这些系统的内部控制,将使其更加人性化。

本课题就intel51系单片机的优势在这些方面的应用,降低经济投资和体积,提高控制系统的可靠性,以求达到完美效果。

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机课程设计—电子音调发生器

单片机课程设计—电子音调发生器

一、设计要求1. 利用开关K0~K7及蜂鸣器、数码管设计电子音调发生器,通过单片机P1.7输出不同频率的脉冲信号驱动蜂鸣器发出不同频率的音调。

拨动开关K0~K7,蜂鸣器依次发出1234567i 音调;2. 编程实现两首音乐,并可进行选择播放;3. 编写程序实现当拨打开关时,数码管显示当前音符。

二、设计目的1. 了解计算机发声原理;2. 熟悉定时器和键盘扫描电路的工作原理及编程方法。

三、设计原理1. 音节由不同频率的方波产生,音节与频率的关系如表(1)所示。

要产生音频方波,只要计算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。

利用计时器及时此半周期,每当计时到后就将输出方波的I/O (P1.7)反相,然后重复及时此半周期时间再对I/O 反相,就可在P1.7脚得到此频率的方波。

将P1.7经过驱动电路与蜂鸣器相连,随着P1.7口输出不同频率的方波,蜂鸣器便会发出不同的声音。

2. 音乐的节拍是由延时实现的,如果1拍的时间为0.4秒,1/4拍是0.1秒。

只要设定延时时间,就可得到节拍的时间。

延时实现基本延时时间,节拍值只能是它的整数倍。

3. 每个音节相应的定时器初值计算公式见公式(1);161112()2f 2X fosc *=*-, 即:16242fosc X f=-* (1)其中,f 是音调频率,当晶振fosc=11.0592MHz 时,音节“1”相应的定时器初值为x ,则可得到x=63777D=F921H ,其它的可同样得到。

表(1) 音节与频率的关系音调 频率(Hz) X(HEX) 音调 频率(Hz) X(HEX) 1 262 F921 5 392 FB68 2 294 F9E1 6 440 FBE9 3 330 FA8C 7 494 FC5B 4 349 FAD8 i 523 FC8F四、硬件电路设计及描述图1为实物连接图。

图1 实物连接图电路连接描述:在实验仪上,P1.7口通过跳线与蜂鸣器的驱动电路相连,分别通过跳线连接P3.0和P3.1,从而可实现串口通信,开关K0-K3分别和引脚P1.2-P1.5相连,K4-K7分别和引脚P3.2-P3.5相连,开关置1为初始值。

基于MCS—51单片机简单音乐发生器的设计 精品

基于MCS—51单片机简单音乐发生器的设计 精品

湖南工业职业技术学院Hunan Industry Polytechnic毕业实践类别毕业设计题目基于MCS—51单片机简单音乐发生器的设计系名称专业及班级学生姓名学号 10指导教师王皑赵俊完成日期 2009年 4月15日湖南工业职业技术学院毕业实践任务书系名称电气工程系专业及班级电信S06-4学生姓名毛浩学号 10毕业实践题目:毕业设计基于MSC-51单片机简单音乐发生器的设计指导教师(签字):教研室主任(签字):系主任(签字):2009年1月10日毕业实践课题及任务课题简介该课题主要利用单片机技术,采用汇编语言或C语言编程来控制音乐发生器实现弹奏音乐的过程。

其目的是培养学生利用单片机控制技术,汇编语言或C语言编程控制技术解决生产、生活中的实际问题,对提高学生的设计能力动手能力和工程实践技能有较重要的意义。

学生在设计该课题时,应具备电路分析、电子技术、电子CAD 技术、单片机控制技术、C语言程序设计等方面的相关知识,掌握电路设计流程图,电子元器件的选择、电路原理图的设计及连线。

熟悉程序的编写,输入,修改和调试等。

课题任务要求1、选择正确的电子元件…………………………………………………………2、画出电气控制系统原理图及PCB板的布线设计……………………………3、用C语言或汇编语言编写出系统控制程序…………………………………4、系统的安装与调试……………………………………………………………进程安排第3周:根据课题要求,查阅相关理论书籍,设计参考书及相关资料,进一步加深对课题的理解和认识。

第4周:根据控制要求,设计控制电路状态流程图,设计系统控制程序,设计系统电气控制原理图。

第5周:选择电子电器元件。

第6周:开始组装电路,上机开始调试控制程序。

第7周:调试,修改,完善设计,撰写毕业设计说明书。

第8周:设计资料的修改、整理、完善。

毕业设计答辩。

毕业实习(第1周—第2周)地点:湘计算机厂、湖南机床厂、长沙电机厂、曙光电子厂、长沙水泵厂或自找实习单位实习内容及要求:了解企业现状及发展趋势,熟悉生产、装配及加工工艺流程,了解企业的新技术、新工艺的应用情况,调查了解企业对专业技术人员人才需求情况及人才特点,写出实习报告(5000字以上)参考资料1、徐仁贵、廖哲智主编《单片微型计算机应用技术》北京:机械工业出版社20032、刘仁宇、施伟主编.《模拟电子技术》北京:机械工业出版社19983、卢庆林主编《数字电子技术》北京:机械工业出版社20054、龙志文主编《电力电子技术》北京:机械工业出版社20055、邱丽芳主编《单片机原理与应用》人民邮电出版社20076、王廷才主编《电子线路CAD Protel99使用指南》机械工业出版社20067、林志琦主编《基于Proteus的单片机可视化软硬件仿真[M]》北京航天航空大学出版20068、徐仁贵主编《单片微型计算机应用技术[M]》北京:机械工业出版社20009、戴佳戴卫恒主编《51单片机C语言应用程序设计实例精讲[M]》北京:电子工业出版社2007湖南工业职业技术学院毕业实践开题报告书电气工程系电子信息工程专业学生姓名毛浩班级电信S06-4 学号10 课题名称基于MSC-51单片机简单音乐发生器的设计课题准备情况在动手做设计之前,我们在网上查找了一些设计的思路和方法,再与之关联的知识,在图书馆查阅了单片微型计算机应用技术、电力电子技术、电路分析、电子线路CAD、微机原理与应用技术、等与音乐发生器有关书籍资料。

单片机课程设计电子音调发生器

单片机课程设计电子音调发生器

单片机课程设计实验报告电子音调发生器姓名:日期:2009年6月29日星期一目录(一)实验目的 (1)(二)设计任务及要求 (2)(三)工作原理及设计思路 (2)(四)实现功能设计 (2)(五)软件设计 (3)(六)电路设计 (35)(七)调试 (36)(八)实验体会 (37)(一)实验目的1.了解计算机发声原理。

2.熟悉定时器和键盘扫描电路的工作原理及编程方法。

(二)设计任务及要求利用实验平台上的开关k0-k7和蜂鸣器设计电子音调发生器,要求:1.利用实验平台上开关k0-k7进行音调选择,即拨动不同的开关产生不同的音调,依次拨动K0~K7,蜂鸣器发出1234567i八个音调。

2.编写2支歌曲,并可进行选择播放。

(三)工作原理及设计思路音节由不同频率的方波产生,音节与频率的关系如表1所示。

要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。

利用计时器计时此半周期时间,每当计时到后就将输出方波的I/0反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。

在ZKS-03实验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP1将单片机的P1.7与蜂鸣器的驱动电路相连。

这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。

另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。

只要设定延时时间,就可求得节拍的时间。

延时作为基本延时时间,节拍值只能是它的整数倍,每个音节相应的定时器初值X可按下法计算:(1/2)*(1/f)=(12/fose)*(216-x)即x=216-(fose/24f)其中f:音调频率,当晶振fose=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x=63777D=F921H 其它的可同样求得。

(四)实现功能设计实现两个主要功能:电子琴与音乐播放;一个辅助功能:在液晶上显示相关信息。

单片机音乐发生器_毕业设计说明书(论文)(1)(最新整理)[管理资料]

单片机音乐发生器_毕业设计说明书(论文)(1)(最新整理)[管理资料]

目录摘要 (1)第1章绪论 (2)第2章音乐基础知识 (3)音乐基础 (3)音频脉冲和音乐节拍的实现 (3)音频脉冲的产生 (3)音乐节拍的产生 (5)第3章系统方案设计 (6) (6)设计目的 (6)设计过程 (6)设计思想 (6)方案设计与选择 (7)第4章硬件电路设计 (10)电路组成及工作原理 (10)工作原理 (10)AT89C52单片机介绍 (10)发声驱动电路 (13)显示电路 (13)控制电路 (14)第5章软件设计 (15) (15)程序流程图 (15)第6章系统调试 (16)常用调试工具 (16)Proteu仿真软件介绍 (16)Keil编译环境介绍 (16)系统调试方法 (16)结论 (18)致谢 (19)参考文献 (20)附录 (21)附录1 程序清单 (21)附录2 单片机音乐发生器电路原理图 (33)摘要在电子技术日月更新、不断换代,计算机程序设计语言应用广泛,特别是单片机技术日趋发达的情况下,为了培养并增强设计自主性和动手能力强的人才,了解单片机强大的设计功能,我们进行了此次设计。

为了实现一首音乐的播放,选择了用单片机来实现音乐的播放,因为它有很多优点,如:外部结构简单、实现起来比较方便等。

对于单片机产生音乐,关键是控制频率的输出。

我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音。

音乐中,有7个基本音符:do﹑re ﹑mi﹑fa﹑so﹑la﹑si,七个不同的音符对应着不同的频率。

只要我们对照音符输出相对应的频率,就可以产生美妙的音乐了。

在此次设计中主要采用单片机AT89C52和一个SOUNDER(喇叭)来实现音乐的播放,在单片机AT89C52的18号和19号引脚(外接晶振端子,分别是片内反相放大器输入端、片内反相放大器输出端)上外接振荡电路,以此来提供时钟频率(时钟频率为12MHz);;、、、下一曲及音乐播放的开始或暂停;与此同时我们还在P1口端接一个八段数码管来显示当前所放歌曲的曲数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图4-13喇叭驱动电路
例如,要产生中音1。从下表可知,中音1的频率为523Hz,周期T=1/523=1912μs,其半周期为1912/2=956μs,因此只要在SPEAKER接口上产生半周期为956μs的方波,即可听到持续的1音。C调部分音符频率与计数初值的对应表如下:
表4-1 C调部分音符频率、计数初值与设置简谱码的对应关系
i=0;
这些语句也要占用时间。
2、如何产生占空比可调的方波?
答:void keyscan() interrupt 0 //外部中断0
{float TF0,TZ1;
EX0=0; //关中断
delay(10); //延时消抖
if(P1 !=0x0f) //判断是否有键按下
{ if(KEY1==0) freq+=100; //按键为1号,频率加100
if(KEY2==0) freq+=10; //按键为2号,频率加10
if(freq>500) freq=50; //频率大于500Hz,重新赋50Hz
if( KEY3==0) zkb+=10; //按键为3号,占空比加10
if( KEY4==0) zkb++ ; //按键为4号,占空比加1
if(zkb>99) zkb=1; //占空比大于99,重新赋值为1
bit flag;
void init()
{
TMOD=0x11;
EA=1;
ET0=1;
ET1=1;
}
void main()
{
init();
while(1)
{
TH0=chuzhi[gepu[i]]/256;
TL0=chuzhi[gepu[i]]%256;
times=jiepai[i];
flag=0;
TR0=1;
64820,64898,64968,65030,65058,65110,65157,65178,65217};//各个音调的初始值
uint8 code jiepai[]={4,8,1,2,14,10,20,24,8,1,2,4,2,1,2,8,24,16,4,6,6,2};//节拍
uint8 times,i;
typedef unsigned int uint16;
typedef unsigned char uint8;
sbit laba=P1^2;
uint8 code gepu[]={5,3,7,5,5,4,3,2,8,2,2,4,5,6,2,4,1,1,1,2,3,5};//歌谱
uint16 code chuzhi[]={64400,64524,64580,64684,64777,
TF0=(65536-fosc/(12.0*freq)); //频率定时初值
TZ1=(65536-(fosc*zkb)/(12.0*100*freq)); //占空比定时初值
TIMER0_H=(uint)TF0/256; //计算定时器0和定时器1的初值
TIMER0_L=(uint)TF0%256;
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
times--;
if(times==0)
{
flag=1;
TR1=0;
}
思考题
1、根据实验内容1,说明输出频率与理论有什么差别?
答:频率会比理论大,因为delay(1000);
TR0=0;
beef=1;
i++;
if(i==5)
表4-2 节拍与节拍码对照表
节拍数
1/8拍
1/4拍
2/4拍
3/4拍
1拍
延迟数
1
2
4
6
8
时间
0.05秒
0.1秒
0.2秒
0.3秒
0.4秒
节拍数
1又1/4拍
1又1/2拍
2拍
2又1/2拍
3拍
延迟数
10
14
16
20
24
时间
0.5秒
0.6秒
0.8秒
1秒
1.2秒
3、简谱发生器程序设计
由前面的分析可知,音符频率有14种,节拍有10种,我们定义每个音节占用一个字节,字节的低4位代表音符的频率,高4位表示该音符的节拍。定义一个音符频率表、一个音符节拍表。程序首先读取一个音节,并从音符频率表和节拍表中读取音符频率所对应的定时器初始和节拍对应的延时参数。利用单片机内部定时器0、1分别产生频率和节拍。定时器0的初始值由音符的频率决定,定时器1的初始值是50ms对应的值。每当一个音符输出完成就取出下一个音符,直到取出的是0FFH。代表所有音符全部输出完成。程序停止或重新开始。程序流程图如图4-14所示。
TR1=1;
while(flag==0);
i++;
if(i==22)
i=0;
}
}
void timer0() interrupt 1
{
TH0=chuzhi[gepu[i]]/256;
TL0=chuzhi[gepu[i]]%256;
if(flag==1)
TR0=0;
else
laba=~laba;
}
void timer1() interrupt 3
EA=1;
ET0=1;
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
init();
beef=1;
while(1)
{
TH0=table[i]/256;
TL0=table[i]%256;
TR0=1;
TIMER1_H=(uint)TZ1/256;
TIMER1_L=(uint)TZ1%256;
}
P1=0x0f; //给键盘扫描口赋初值
EX0=1; //开中断
}
3、用STC单片机的可编程时钟模块如何实现上述功能,请分析并写出程序。
心得体会:
通过这次实验,认识到单片机功能的强大性,不仅有控制功能,显示功能等,还能控制蜂鸣器的发声。通过本次试验,了解到音调和节拍都可以通过控制频率来实现的,这次实验自己受益匪浅。
delay(1000);
TR0=0;
beef=1;
i++;
if(i==5)
i=0;
}
}
void time0() interrupt 1
{
TH0=table[i]/256;
TL0=table[i]%256;
beef=~beef;
}
程序二:
include<reg51.h>
#include<intrins.h>
音符
1
2
3
4
5
频率Hz
440
494
523
578
659
698
784
初值T
64400
64524
80
64684
64777
64820
64898
简谱码
2
3
4
5
6
7
8
音符
6
7
频率Hz
880
988
1046
1175
1318
1397
1568
初值T
64968
65030
65058
65110
65157
65178
65217
实验三
实验目的
1、进一步掌握单片机定时器的用法。
2、了解用单片机的IO口输出方波的方法。
3、理解用单片机产生简单音频的方法。
实验仪器
单片机开发板、万利仿真机、稳压电源、计算机
实验原理
1、单片机IO口产生音频脉冲的原理
我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或“低”电平,则在该口线上就能产生一定频率的方波,接上喇叭就能发出一定频率的声音,若通过程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。喇叭驱动电路如图4-13所示。
#define uint unsigned int
sbit beef=P1^2;
uint code table[]={65036,65286,65436,65486,65258};//1KHz,2KHz,5KHz,10KHz,1.8KH
uint i;的初值
void init()
{
TMOD=0x01;
简谱码
9
A
B
C
D
E
F
注:上表定时器工作于模式1
2、音乐节拍的生成
要唱出一首歌,只产生出音频脉冲还不够,还要考虑发出音频时间的长短(即节拍)。如果一拍为0.4秒,则1/4拍是0.1秒,只要设定延迟时间就可获得节拍的时间。我们也可以设1/8拍为1个延迟单位时间,则1拍应该是8个延迟单位时间,以此类推,所以,只要求得1/8拍的DELAY时间,其余的节拍就是它的倍数。详见下表
图4-14音频发生器程序流程图
实验内容
1、在单片机P1.2口产生下列频率方波
1KHz,2KHz,5KHz,10KHz,学号后两位*100
2、在P1.2口产生简谱对应频率方波(简谱频率如上文)
3、在P1.2口播放简谱音乐。
程序一:
#include "reg52.h"
#define uchar unsigned char
相关文档
最新文档