文档库 最新最全的文档下载
当前位置:文档库 › 单片机音频发生器程序设计

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

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

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

实验目的

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调部分音符频率、计数初值与设置简谱码的对应关系

注:上表定时器工作于模式1

2、音乐节拍的生成

要唱出一首歌,只产生出音频脉冲还不够,还要考虑发出音频时间的长短(即节拍)。

如果一拍为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。代表所有音符全部输出完成。程序停止或重新开始。程序流程图如图4-14所示。

图4-14

实验内容

1、在单片机P1.2口产生下列频率方波

1KHz,2KHz,5KHz,10KHz,学号后两位*100

2、在P1.2口产生简谱对应频率方波(简谱频率如上文)

3、在P1.2口播放简谱音乐。

程序一:

#include "reg52.h"

#define uchar unsigned char

#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;

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;

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

#include

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,

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;

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;

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

{

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)

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

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;

TIMER1_H=(uint)TZ1/256;

TIMER1_L=(uint)TZ1%256;

}

P1=0x0f; //给键盘扫描口赋初值

EX0=1; //开中断

}

3、用STC单片机的可编程时钟模块如何实现上述功能,请分析并写出程序。

心得体会:

通过这次实验,认识到单片机功能的强大性,不仅有控制功能,显示功能等,还能控制蜂鸣器的发声。通过本次试验,了解到音调和节拍都可以通过控制频率来实现的,这次实验自己受益匪浅。

基于51单片机的音乐播放器

基于51单片机的音乐播放器 余子健、刘胤、宋亮 摘要:本大作业是基于sst89e52rd2单片机制作的wav音乐播放器。该播放器可以播放存在sd卡中的音乐,通过对sd卡的读取并将数字信号送入单片机中,借助8位DA转换器TLC5620 变成模拟信号,经过放大器TDA2822放大交给扬声器发出最初读取的音频信号,实现音乐播放的功能。 关键词:SD卡,WAV文件,DA,音频放大 1背景 音乐随身听产品经过几年的发展,已经变得相当成熟。市场上可以购买到各类不同的音乐播放器,产品线涵盖了高中低不同档次。作为学习与研究,本作品尝试利用STI51开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在SD卡(或MMC卡、TF卡)的根目录中的某一个WAV 文件。 2硬件设计 该音乐播放器硬件组成如下 本音乐播放器使用容量为2G的SD作为外部存储器 主控制器采用SST公司生产的SST89E58RDA,其40引脚封装的芯片功能模块如图1所示。芯片主要特想如下: ?兼容80C51系列,内置超级FLASH存储器的单片机 ?工作电压VDD=4.5~5V,5V工作电压时0-40MHz频率范围 ?1KB的内部RAM ?两块超级FLASH EEPROM,32KB的基本存储卡和8KB的二级存储块(扇区大小为128字节),二级存储块可用于存放掉电后要保存的数据,放在内部具有极强的抗干扰性?最大片外程序/数据地址空间为64KB ?全双工增强型UART,帧错误检测,自动地址识别 ?9个中断源,4个中端优先级 ?降低EMI模式(通过AUXR SFR不允许ALE输出时钟),确保了单片机的高抗干扰性?双DPTR指针(查表,寻址更方便)

便携式双声道音频信号发生器的制作_图文(精)

口器件与电路 酽囿盯,龟岛囿响四@60,@凹滁 便携式双声道音频信号发生器的制作.产品设计. 齐忠琪 (新疆师范大学教育科学学院。新疆鸟鲁木齐830053 【摘要】音频信号发生器是测量声音信号处理设备性能指标必不可少的仪器,早期音频信号发生器由基本的Lc 振荡电路及外围电路所组成。目前常用的音频信号发生器普遍使用单片机及外围电路所组成。介绍了用多媒体计算机和便携式多媒体播放器制作双声道音频信号发生器的方法。用此方法制作双声道音频信号发生器具有制作方法简单、成本低、携带方便等优点。 【关键词】音频信号发生;双声道;多媒体计算机 【中图分类号】TP37【文献标识码】A Production of Portable Double Channel Audio Signal Generator Qt Zhongqi (College of Education Science,Xinjiang Normal University,Urumqi 830053,China 【Abstract]Audio signal generator is essential equipment to measure the sound signal and deals with equipment performance.Early audio signal generator consists of the basic LC oscillator circuit and external circuit.The audio signal generator currently widely uses microcontroller and external circuit.Equipment has a certain size and weight,certain funds for equipment needs.the method of multimedia computers and portable media players how tO make double-channel audio signal generator are described.This method is simple,low cost and easy to carry?

简单音乐发生器

潍坊学院 单片机原理与应用课程 设计说明书 题目: 系部:信息与控制工程学院 专业: 班级: 学生姓名: 学号: 指导教师:王文成 2009年12月15日

目录 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 小结 (15) 主要参考文献 (16)

单片机实现简单音乐发生器 1 设计任务与要求 本例将实现一种由单片机控制的简单音乐发生器,它具有16个音的键盘,我们可以根据乐谱在键盘上进行演奏,通过扬声器将音乐播放出来。 本次课程设计的任务是,设计一种由单片机控制的简单音乐发生器,要求键盘有16个键,能过用51单片机C语言编写程序来实现音乐发生器的发音。 要求:1.设计思路切明确; 2.对各个芯片的功能要有所了解; 3.对设计中的各个电路图能够要有所说明;。 4.对设计的、中的源程序要有所注释。 5.在按音乐发生器的16个键的同时能够听到不同的音乐。 2设计方案 进行本例的设计之前,首先需要了解音乐的一些相关知识。 2.1 音乐相关知识 在人类还没有产生语言时,就已经知道利用声音的高低、强弱来表达自己的思想和感情。声带、琴眩等物体震动时会发出声波,声波通过空气传播进入人耳,人们就听到了声音。声音有噪音和乐音之分,振动由规律的声音是乐音,如人声带发出的歌声、由琴眩发出的琴音等。音乐中所有的声音主要是乐音。 乐音听起来有的高,有的低,这就叫音高。音高是由发音物体震动频率的高低决定的,频率高声音就高,频率低声音就低。比如,女人唱歌时声带频率振动高,男人唱歌时声带振动频率低,所以男生比女生低。 音乐中所有音乐的范围从每秒中振动16次的最低到每秒中振动4186次的最高音,大约97个。现在最大的钢琴可以奏出其中的88音,是音乐范围最大的乐器,人唱歌时因受生理限制,所能唱出的乐音仅是乐音范围的一小部分。 不同音高的乐音是用C,D,E,F,G,A,G来表示的,这7个字母就是乐音的音名,

51单片机蜂鸣器播放音乐代码

/*生日快乐歌曲*/ #include <> #define uint unsigned int #define uchar unsigned char sbit beep = P1^5; 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 DelayMS(uint x) { uchar t; while(x--) for(t=0;t<120;t++); } void PlayMusic() { uint i=0,j,k; while(SONG_LONG[i]!=0||SONG_TONE[i]!=0) { //播放各个音符,SONG_LONG 为拍子长度 for(j=0;j // 这是单片机音乐代码生成器生成的代码 #define uchar unsigned char sbit beepIO=P1^5; // 输出为可以修改成其它 IO 口uchar m,n;

实验六 音乐发生器接口实验

湖北科技学院计算机科学与技术学院《微机接口技术》实验报告 学号: 124221031 姓名:李亮亮 实验题目:音乐发生器接口实验报告 指导老师:范建军 实验日期: 2014.12.26

一、实验目的 通过音乐发生器实验,学习如何利用8253定时/计数器进行声音控制电路的设计原理与方法。 二、实验内容 基本实验 程序执行,开始演奏儿歌“两只老虎”,歌曲结束或按任意键停止演奏。 三、实验要求 利用MFID 实验平台和音乐发生器模块进行硬件连接,利用MF2KI 集成开发环境进行音乐发生器控制程序设计,调试,直至听到正常的乐曲。 四、实验原理 1.音乐发生器驱动模块电路原理如图2.1.12所示。模块包含喇叭SPK ,LM386A ,74LS08,以及74LS245和LED 等。其中LED 是配合演奏音乐时产生发光效果而设置的。 图2.1.12 音乐发生器模块板电路原理框图 2.利用8253控制发声原理与方法的详细阐述,参考“微机接口技术及应用”教材第3.3节(P43)。 五、实验资源配置 1.电源:机内供电,将平台的电源开关拔到“内”的位置上,并将模块电源JP7接通 2.电缆线:采用单线/20芯扁平线 3.本实验所用到资源:E (8253),F (8255)Q (音乐发生器)L (跳线)四个模块 4.I/O 端口地址:8255的4个端口地址为300H ~303H 。其中A 口=300H ,B 口=301H ,C 口=302H ,命令口=303H 。8253的四个端口地址为304H ~307H 。其中通道0为304H,通道1为305H,通道2为306H,命令口为307H 5.软件资源:MF2KI 集成开发环境软件提供了丰富的汇编语言和C/C++语言程序开发工 20 芯 定 时 器 / 并 行 口 插 座 50 芯 扩 展 总 线 排 阻

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

实验三单片机音频发生器程序设计 实验目的 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调部分音符频率、计数初值与设置简谱码的对应关系 注:上表定时器工作于模式1 2、音乐节拍的生成 要唱出一首歌,只产生出音频脉冲还不够,还要考虑发出音频时间的长短(即节拍)。

如果一拍为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。代表所有音符全部输出完成。程序停止或重新开始。程序流程图如图4-14所示。 图4-14 实验内容 1、在单片机P1.2口产生下列频率方波 1KHz,2KHz,5KHz,10KHz,学号后两位*100 2、在P1.2口产生简谱对应频率方波(简谱频率如上文) 3、在P1.2口播放简谱音乐。

音乐发生器实验

音乐发生器实验 目录 1 前言 (2) 2 需求分析 (2) 2.1原理 (2) 2.2要求 (2) 2.3任务 (2) 2.4运行环境 (2) 2.5开发工具 (2) 3 概要设计 (3) 3.1系统流程图: (3) 3.2音符文件读取程序流程图 (3) 3.3播放子程序 (4) 3.4延时子程序 (4) 4 详细设计 (5) 4.1歌曲编排 (5) 4.2分析和设计 (5) 4.3具体代码实现 (8) 5 课程设计的总结与体会 (13) 6 致谢 (13) 7 参考资料 (13)

前言 编写一个程序来初始化8253定时/计数器和8255并行通信接口芯片。通过接口控制音乐发声器的播放和灯光的闪烁,实现通过运行在MFDI平台运行程序对硬件电路的控制。 1需求分析 2.1 原理 编写程序对8253和8255芯片进行初始化,按照音符来设定频率和8253定时/计数器的延时时间。对8255芯片pc0和pc6口的置0和1来控制扬声器的开关,对pc4口的置0和1控制LED灯的闪烁。 2.2 要求 (1)熟悉电路,理解各个元件之间的控制流程。 (2)熟悉MFDI平台的运行环境。 (3)熟练掌握C语言,调用中断子程序和端口函数对端口进行读写数据的操作。 (4)理解乐谱知识,熟悉音频转换表和节拍的延长时间 2.3 任务 (1)曲谱转换 (2)分析电路图 (3)画出程序流程图 (4)编写代码 (5)程序分析与调试 (6)测试 2.4 运行环境 (1)WINDOWS2000/XP系统 (2)MFDI实验平台 (3)VC编译环境

2.5 开发工具 C语言 2概要设计 3.1 系统流程图(如图3.1): 图3.1 系统流程图3.2 音符文件读取程序流程图(如图3.2):

基于单片机的简单电子琴毕业设计

基于单片机的简单电 子琴毕业设计 目录 1引言 (1) 2 总体设计 (2) 2.1 设计目的与要求 (2) 2.2 电子琴系统的组成 (2) 2.3 系统设计框图 (3) 3 详细设计 (4) 3.1 硬件设计 (4) 3.2 硬件简介 (5) 3.2.1 AT89C51简介 (5) 3.2.2 LED数码管 (10) 3.3整体程序处理流程图设计 (11) 3.4矩阵式键盘的识别和显示与设计 (12) 3.4.1矩阵式键盘的结构与工作原理 (12) 3.4.2矩阵式键盘的按键识别方法 (13) 3.4.3键盘接口必须具有的4个基本功能 (15) 3.5音乐播放设计 (16) 3.5.1音乐发声原理 (16) 3.5.2音乐播放流程图 (18) 3.5.3放歌子程序流程图 (18) 4实现联调 (20) 4.1 Proteus 简介 (20) 4.2 keil 简介 (20) 4.3利用keil与Proteus进行的调试 (21) 5 总结与展望 (23)

参考文献 (25) Abstract: (26) 致谢 (27) 附录A:程序设计 (28) 附录B 印制电路板(PCB)设计 (34)

基于单片机的简单电子琴设计 摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文主要对使用单片机设计简易电子琴进行了分析与设计,并介绍了基于单片机电子琴的系统硬件组成。该文设计是一种基于AT89C51的简单音乐发生器,利用单片机技术、键盘和一组发光二极、SPEARK等实现原理图设计,并用C51语言进行键盘识别程序设计和音频脉冲输出程序的设计。经过软件和硬件的联调,并仿真出来。该音乐发生器不仅能通过键盘弹奏出来简单的乐曲,而且不弹奏时按播放键可以播放置音乐,音调和节拍都由单片机控制实现。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:单片机;键盘;扬声器;电子琴

音频测试-低频信号发生器-使用方法

低频信号发生器的操作方法 第一步骤:低频信号发生器的连接 连接电源线 用220V AC 线把低频信号发生器连上市电。如电源插座旁有控制开关,还须把开关打开。(如上图2) 连接信号线 将输出线插入到低频信号发生器的信号输出(OUTPUT )接口,并顺时针扭动半圈(如下图3)。图 1 图 2 将开关打开

第二步骤:信号电压幅度调节 上述步骤完成后,接下来需要开机预热和调节输出信号的幅度。 1) 开机(POWER ) 按下电源键开机,开机后电源指示灯会亮。电源按钮一般为红色。 图 3 图 4 连接输出线 电源按钮 电源指示灯

波形选择(WAVE FORM ) 控制低频信号发生器的输出波形。此按钮未按下去时为正弦波,按下去后为矩形波。中文意思为波形。在音频测试中应选择正弦波。(如上图6) 振幅调节(AMPLITUDE ) 此旋钮用来对信号幅度进行微调。顺时针为调大(MAX ),逆顺针为调小(MIN )。如下图图 6 图 5 波形选择 按钮 衰减度选择 -20dB 档 振幅微 调旋钮 图 7 交流电压 20V 档 信号频率 为50Hz

第四步骤:信号频率调节 当调好低频信号发生器的信号电压时,我们还要调节信号发生器的信号频率。 1) 频率调节(FREQUENCY ) 频率调节旋钮上有刻度盘,刻度盘上的数值从10~100,我们调节时把刻度盘上的数值对准正上方的黑色标志,这个数值就是输出信号的基数值。Frequency 中文为频率的意思。(如上图9个琴键按钮,分别为×1、×10、×100、×1K 、×10K ,它们与频率旋钮配合使用。当按下其中的某一个时,表示频率旋钮上指示的基数值×此按钮的倍数。 图 9 图 8 频率旋钮 倍数选择

(完整版)基于51单片机的自动音乐播放器设计毕业设计

本科毕业论文(设计) 题目: 基于51单片机的自动音乐播放 器设计 院系:电子与通信工程学院 专业:通信工程 姓名:张志顺 指导教师:陈冬云 教师职称:助教

填写日期:2014年4月20日 摘要 为了人们在快节奏的日常生活,优化工厂、事业单位、公司等的计时系统,采用了依靠单片机为基础设计了一种的自动音乐播放器。本设计利用单片机89C58RD+的计数和定时功能,来完成对时间的定时和显示功能。并且,通过对定时器初值的设定来产生不同频率的声音,利用定时器中断来对音乐节拍长度的控制。通过LM386N1音频功率放大器的音频放大功能,将单片机控制输出的信号放大,然后通过扩音器播放乐曲。通过MAX232型芯片,可以转换PC机上的电压和单片机的电源电压,再通过相应串口接入PC机,这样就能从PC机上将用C语言编写的程序代码下载到单片机上。最后可以在数码管上显示时间,当到达之前设定的时间之后,

扩音系统就会自动播放一段连续而美妙动听的音乐。此设计规避了传统闹钟的难听并且刺耳声音,而变成的是美妙动听的音乐,能给处于当前快节奏生活的人们的日常生活提供精确的计时,且因为成本较低,值得推广。 关键词:单片机;自动音乐播放;音频转换;时间显示;LM386N1音频功率放大器。 Abstract

To people in the fast pace of daily life, optimization of factories, institutions, companies such as timing system, based on microcomputer was adopted to design a kind of automatic music player. This design using the single chip microcomputer 89 c58rd + count and timing functions, to complete the regular and display function of time. And, through to the setting of the initial value of timer to generate different frequencies of sound, using a timer interrupt to control of the beat of the music length. Through the audio amplifier function LM386N1 audio power amplifier, the single-chip microcomputer control output signal amplification, and then through loudspeakers. Through MAX232 chip, can convert the voltage of power supply voltage of PC and microcontroller, again through the corresponding access PC serial port, so you can from the PC to download program code written in C language to the single chip microcomputer. Last time can be displayed on the digital tube, when, after arriving in setting the time before the public address system will automatically play a continuous and delightful music. This design to avoid the traditional alarm clock ugly and give in the fast-paced life of the People's Daily life to provide accurate timing, and because of lower cost, is worth promoting. Key words: single chip microcomputer; Automatic music playback; Audio conversion; Time display; LM386N1 audio power amplifier.

音频正弦波信号发生器

目录 引言 (4) 一、设计方案的比较和选定 (4) 1.1 方案比较 (4) 1.2 方案选择 (3) 二、设计思路 (6) 2.1 结构框图 (6) 2.2版块说明 (6) 2.2.1 选频网络 (6) 2.2.2 第一级放大电路 (8) 2.2.3 LM386功率放大 (8) 2.3电源部分 (9) 三、PCB板制作及元件的焊接 (9) 3.1 电路原理图的绘制 (9) 3.2 电路板的制作流程 (10) 3.3 安装焊接 (7) 四、调试 (7) 五、实验数据测量 (12) 六、出现的问题及其解决方案 (8) 七、总结 (9) 参考文献 (9) 附录一 ............................................................................................................ 错误!未定义书签。附录二 .. (17) 附录三 (18) 附录四 (19)

音频正弦波信号发生器设计 引言 随着21世纪的到来,世界将进入信息时代,作为其发展基础之一的电子技术必将以更快的速度发展前进。本系统以LM386,LM358为核心器件制作一种信号发生器,可以产生稳定的正弦波形。该电路是一种基于运算放大器的文氏电桥正弦波发生器。经测试,该发生器能产生频率为10-100Hz、100-1KHz、 1K-10KHz范围内的正弦波,且能在较小的误差范围内限制振幅。最大优点是制作成本较低。LM386是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。 关键字:正弦波、信号发生器、LM386、LM358 一、设计方案的比较和选定 1.1 方案比较 方案一: 本设计主要是文氏电桥产生正弦波,经LM358高输入阻抗运算放大器,通过NPN型三极管放大功率输出波形。接入正负12V电源二极管和电容滤除杂波后给整个电路供电。 方案二: 该方案由RC振荡产生正弦波,经LM358高输入阻抗运算放大器,通过三极管和达林顿管组合进行功率放大。 方案三: 由RC振荡电路产生正弦波,经LM358高输入阻抗运算放大器,和LM386音频集成功放,后输出稳定的正弦波。通过双电源供电和滤波电路滤波以提供单向直流电源。通过外围电路我们可以对产生的信号进行频率,幅度的调节,为此我们设计了三个波段作为频率的粗调,在以开

音乐发生器设计

实验项目五音乐发生器设计 一、实验目的 1、了解普通扬声器的工作原理。 2、使用FPGA产生不同的音乐频率。 3、进一步体验FPGA的灵活性。 1、 二、硬件要求 1、EDA2000实验箱(其他厂家具有同等配置试验箱均可) 2、主芯片:EP1K1OTC100-3 3、计算机与QUARTUS 软件 三、实验原理 1、乐曲的发声原理:组成乐曲的2个基本要素是:每个音符的发音频率值及其持续的时间(节奏)。一般人能听到声音的频率范围约在几十到几千赫兹,可以利用程序控制FPGA 某个引脚输出一定频率的矩形波,接上扬声器后就能发出相应频率的声音,演奏某个音符的音调,同时,若能控制每个音符的持续时间,也就控制了乐曲的节奏,因此只要控制输出到扬声器的信号频率的高低以及每个信号的持续时间长短,即可实现乐曲的演奏。 2、音符的产生:音符的产生是利用计数器对输入的时钟信号进行分频,然后输出不同的频率来控制扬声器发不同的声音。计数器必须是模可变的计数器,也就是其初始计数值可变,这样便可以对其进行初始化,使其从不同的初始值开始计数,实现对输入时钟信号的不同分频。 3、节拍的产生:节拍也是利用计数器来实现,如果某一个音符需要维持的时间比较长,那么就可以在此计数器从计数值A到计数值B之间都维持该音符,很显然,A和B之间的间隔越大,那么该音符维持的时间也就越长。 4、乐谱的存储:乐谱是一个固定的组合电路,根据不同的输入值,然后输出一个固定的值,该值就是音符产生计数器的分频的初始值。 5、适当的选择这些计数器和组合电路,便可完成不同的乐曲和不同节奏。 四、实验内容及步骤 本实验要完成的任务是设计一个驱动扬声器产生梁祝音乐的程序,设计步骤如下: 1、编写音乐输出的VHDL代码。 2、用Quartus II对其进行编译仿真。 3、在仿真确定无误后,选择芯片ACEX1K EP1K10TC100-3。 4、给芯片进行管脚绑定,在此进行编译。 5、根据自己绑定的管脚,在实验箱上对扬声器接口和FPGA之间进行正确连线。 6、给目标板下载代码,观看实验结果。 五、下面为梁祝音乐代码,要求讲其改写为上海滩代码,并在EDA2000上下载验证LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY song IS PORT(

51单片机音乐播放器程序

#include //包含51单片机寄存器定义的头文件 sbit sound=P3^6; //将sound位定义为P3.6 unsigned int C; //储存定时器的定时常数 //以下是C调低音的音频宏定义 #define l_dao 262 //将"l_dao"宏定义为低音"1"的频率262Hz #define l_re 286 //将"l_re"宏定义为低音"2"的频率286Hz #define l_mi 311 //将"l_mi"宏定义为低音"3"的频率311Hz #define l_fa 349 //将"l_fa"宏定义为低音"4"的频率349Hz #define l_sao 392 //将"l_sao"宏定义为低音"5"的频率392Hz #define l_la 440 //将"l_a"宏定义为低音"6"的频率440Hz #define l_xi 494 //将"l_xi"宏定义为低音"7"的频率494Hz //以下是C调中音的音频宏定义 #define dao 523 //将"dao"宏定义为中音"1"的频率523Hz #define re 587 //将"re"宏定义为中音"2"的频率587Hz #define mi 659 //将"mi"宏定义为中音"3"的频率659Hz #define fa 698 //将"fa"宏定义为中音"4"的频率698Hz #define sao 784 //将"sao"宏定义为中音"5"的频率784Hz #define la 880 //将"la"宏定义为中音"6"的频率880Hz #define xi 987 //将"xi"宏定义为中音"7"的频率523H //以下是C调高音的音频宏定义 #define h_dao 1046 //将"h_dao"宏定义为高音"1"的频率1046Hz #define h_re 1174 //将"h_re"宏定义为高音"2"的频率1174Hz #define h_mi 1318 //将"h_mi"宏定义为高音"3"的频率1318Hz #define h_fa 1396 //将"h_fa"宏定义为高音"4"的频率1396Hz #define h_sao 1567 //将"h_sao"宏定义为高音"5"的频率1567Hz #define h_la 1760 //将"h_la"宏定义为高音"6"的频率1760Hz #define h_xi 1975 //将"h_xi"宏定义为高音"7"的频率1975Hz /******************************************* 函数功能:1个延时单位,延时300ms ******************************************/ void delay() { unsigned char i,j; for(i=0;i<300;i++) for(j=0;j<300;j++) ; } /******************************************* 函数功能:主函数 ******************************************/ void main(void) { unsigned char i,j; //以下是《知足》的一段简谱

DSP音频信号发生器概述.

大学课程设计报告 音频信号发生器 设计人:付路 专业:电子信息工程班级:电子111501 学号:201115020104 指导教师:宁爱平 二零一四年

目录 一.引言--------------------------------------------第2页二.系统结构及原理-----------------------------------第2页三.硬件设计----------------------------------------第3页 3.1 MMC/SD卡接口电路-----------------------------第3页 3.2 上位机和单片机通信---------------------------第4页 3.3 信号调理电路---------------------------------第5页四.软件设计----------------------------------------第7页 4.1 系统初始化----------------------------------第7页 4.2 MMC/SD卡初始化------------------------------第7页 4.3 MMC/SD卡单块写数据--------------------------第8页五.结束语-----------------------------------------第11页

一.引言 目前,单片机系统以价格低廉、开发环境完备、开发工具齐全、应用资料众多、功能强大且程序易于移植等优点而得到广泛应用。同时,随着信息化进程、计算机科学与技术以及信号处理理论与方法的迅速发展,需要的数据量越来越大,对数据存储也提出了更高要求。MMC/SD卡以其价格、体积、读取速度等特点成为现今大多数便携式嵌入式设备的首选。 二.系统结构及原理 音频信号发生器的系统结构如图1所示,它主要由8051F330单片机、MMC/SD卡存储器、RS232串行通信接口、上位机、液晶显示、键盘以及信号调理电路等部分组成。将写入MMC/SD卡中的音频数据存储在上位机,单片机通过RS232串行通信接口写入MMC/SD卡,以中断方式读取键盘接口命令,并根据命令控制选择相应的音频信号数据,再由信号调理电路输出不同频率和强度的音频信号,系统通过液晶显示模块显示信号频率、信号强度及信号类型。该系统突出的特点是上位机采用Lab Windows/CVI软件,通过RS232串行通信接口与单片机通讯;以文本格式存储在上位机的音频信息则通过RS232串行通信接口下载到MMC/SD卡。

基于multisim设计的音乐发生器

课程设计题目:音乐发生器 系部: 数理系 姓名: 徐图 学号:080112103 指导老师:栗玉霞 二○一○年十二月三十一日

基于555定时器的音乐发生器 【摘要】本音乐发生器基于M I D I音乐基本原理设计,结合555定时器应用技术原理,以数字电路及模拟电路知识为基础,以555定时器为设计核心。在本设计中,主要是利用555定式器的应用来更好的实现此音乐播放器的功能。 【关键词】数字电路MIDI音乐播放器555定时器

目录 第1章绪论 (1) 1.1题目的背景和意义 (1) 1.2应用及发展前景 (1) 第2章总体设计概述 (2) 2.1 设计思路 (2) 2.2 设计芯片选择 (2) 2.3 设计芯片介绍 (2) 2.4 设计过程 (4) 2.4.1公式计算 (4) 2.4.2音调调节 (5) 2.4.3功率放大电路 (5) 2.5 设计改进方案 (5) 2.6 设计总结 (6) 参考文献 (6)

第一章绪论 1.1题目的背景 随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,音乐发生器的应用越来越广的应用到各个领域。 随着我国的经济发展,人们不在只是追求温饱,而是上升了很大的层次,家长对孩子的教育也是不断的提升,每个家长都希望自己的孩子能全面的发展,于是音乐成为广大家长的首选。广大父母也在寻求最早、最快、操作极为简单的培养音乐兴趣的工具。 1.2应用及发展趋势 就在此背景下,一个操作简单的,不需要一点音乐基础,操作无危险的音乐工具出现,此音乐发生器走进了父母的眼中,走进了千家万户,成为家长培养孩子音乐感的首选。 这将给父母对孩子的早教提供很大的方便。

51单片机实现的音乐闹钟程序代码

功能描述:产品可以显示时间和日期,时间格式为 hh mm ss 日期格式为 yy.mm.dd 时间和日期轮流显示。时间显示5S 日期显示3S。 可以设置5个闹铃,闹铃音乐可以设置两种:毛驴和童年。 三个按键对时间和闹铃进行设置,六个LED进行显示。 计时采用DS1307。继电时间不丢失,设置过的闹铃也不丢失。 闹铃音乐由单片机的两个定时器去产生频率实现。 部分程序如下: //************************************************* //************************************************ //*********************************************** //程序名:DS1307 时钟程序 //功能描述:用六个八段LED 轮流显示时间 // 和日期。有6个闹钟。上电时从DS1307中读出 // 当前时间、日期、闹钟。 // // // // // #include #include #define uchar unsigned char #define uint unsigned int #define LED P2 #define LEDBit P0 #define nop _nop_(>

#define LightCount 40 #define LightMax 80 sbit SCL=P3^1。 sbit SDA=P3^0。 sbit ModeKey=P1^0。 sbit UpKey=P1^1。 sbit DownKey=P1^2。 sbit Speak=P3^6。 code uchar LCD_NUM[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09}。 //0x25, //uchar Clock[]={0x88,0x88,0x88}。 code uint Music_Sound_Long1[]={4,8,4,8,8,4,8,4,4,4, /*童年*/ 8,4,8,4,4,4,4,4,16,4, 4,8,4,4,4,4,4,8,4,4, 4,8,4,4,4,4,4,4,16,4, 4,8,4,4,4,4,4,8,4,4, 4,8,4,4,4,4,4,4,16,4, 8,4,8,4,4,4,8,8,4,4, 4,4,4,4,4,4,4,4,4,16, 4,8,4,8,8,4,8,4,4,4, 8,4,8,4,4,4,4,4,16,4, 8,4,8,8,4,8,4,4,4,8, 4,8,4,4,4,4,4,16,0}, Music_Sound_Long2[]={4,4,4,4,4,4,4,4,4,4, /*小毛驴*/ 4,4,16,4,4,4,4,4,4 ,4, 4,4,4,4,4,8,4,4,4,4, 4,4,4,4,4,4,4,4,4,16, 4,4,4,4,2,2,2,2,4,4, 4,4,4,4,16,0}, Music_Sound_Tone1[]={379,379,379,379,425,477,477,477,425,477, 568,637,637,637,568,637, 425,379,477,719, 637,63 7,719,637,568,568,506,568,568,568, 637,477,477,477,477,568,477,568,637,719, 637,637,719,637,568,568,506,568,568,568, 637,477,477,477,477,568,568,477,851,318,

示波器和信号发生器的使用

实验七示波器和信号发生器的使用 一、实验目的 1.了解示波器的工作原理。 2.掌握示波器和信号发生器的使用方法。 二、实验仪器 双踪示波器信号发生器若干电阻、电容 三、预习要求 1.了解示波器的原理,预习示波器的使用方法。 2.预习信号发生器的使用方法。 四、实验原理 1.示波器。 示波器是一种综合的电信号特性测量仪器,它可以直接显示出电信号的波形,测量出信号的幅度、频率、脉宽、相位、同频率信号的相位差等参数。 2.信号发生器是用来产生不同形状、不同频率波形的仪器,实验中常用作信号源。信号的波形、周期(或频率)和幅值可以通过开关和旋钮加以调节。 五、实验内容 1.寻找扫描光迹。 接通示波器电源(220V),预热1-2分钟。如果仍找不到光点,可调节亮度旋钮,适当调节垂直和水平位移旋钮,将光点移至屏幕的中心位置。调节扫描灵敏度旋钮可使扫描光迹成为一条扫描线。调节辉度(亮度)、聚焦、标尺亮度旋钮,使扫描线成为一条亮度适中、清晰纤细的直线。 2.熟悉双踪示波器面板主要旋钮(或开关)作用。 为了显示稳定的波形,需要注意几个主要旋钮或开关的位置。 ①“触发源方式”开关(SOURCE MODE):通常为内触发。 ②“内触发源方式”开关(INT TRIG):通常置于所用通道位置。当用于双路显 示时,为比较两个波形的相对位置,可将其置于交替(VERT MODE)位置。 ③(扫描)触发方式:通常置于自动位置。 ④显示方式:根据需要可置于CH1、CH2、ALT(交替显示两路高频信号)、 CHOP (断续显示两路低频信号)、 ADD(显示两路信号之和)。 ⑤扫描灵敏度开关:表示横轴方向一个大格的时间。根据被测信号周期确定。 ⑥幅度灵敏度开关:表示纵轴方向一个大格的电压。根据被测信号幅度确定。 ⑦在测量波形的周期和幅值时,应注意将扫描微调旋钮和垂直(Y轴)微调旋钮 置于校准位置。 ⑧当输入波形左右移动、不稳定时,可调节触发电平旋钮使波形稳定。 3.示波器内校准信号的自检 (1)调出校准信号:将示波器内的方波校准信号,通过专用电缆线接入通道1(或通道2),调节示波器各有关旋钮和开关,在屏幕上可以显示出方波。

基于LabVIEW的音频信号发生器的虚拟仪器设计

基于LabVIEW的音频信号发生器的虚拟仪器设计 摘要:随着计算机与微电子技术的发展,出现了虚拟仪器。它以软件为核心,把计算机技术和仪器技术完美结合起来,充分应运飞速发展的计算机技术来实现和增强传统仪器的功能。虚拟仪器开创了仪器使用者可以成为设计者的新时代,代表了仪器发展的方向,它已成为21世纪测试技术和仪器技术发展的主要方向。本设计正是顺应仪器发展的趋势,利用图形化编程软件LabVIEW来实现虚拟音频信号发生器,真正做到“软件即硬件”。在硬件上还提出以PC声卡代替昂贵商用数据采集卡,大大降低了生产成本,实现了基于LabVIEW的常用周期信号的单通道和双通道模拟输出,使设计具有广阔的开发价值和应用前景。论文在简要介绍了虚拟仪器概念、研究现状、发展趋势以及编程软件LabVIEW特点的基础上,概述了音频信号发生器的基本原理,分析了声卡的功能及相关设置,并对构成系统的各模块做了详细叙述。 关键词:虚拟仪器;音频信号发生器;LabVIEW;声卡

Virtual Audio Signal Generator Based on LabVIEW Abstract: With the development of computer and microelectronics technology, virtual instruments appear. Virtual instruments achieve the perfect combination of computer science technology and instrument technology through taking the software as the core technology. Virtual instruments realize and enhance the functions of traditional instruments by developing computer technology .Virtual instruments initiate the new era that the instrument users can be the instrument designers. Virtual instruments represent the direction of instruments and it has become the main direction of technological development in the 21st century testing technology and instruments. This design used graphical programming software LabVIEW to design virtual audio signal generator, exactly adjusting the trend of the instrument development, and truly achieve "software that is hardware". In order to reduce production costs and implement single - channel and dual - channel output of common analog periodic signals based on LabVIEW, the design also bring forward to replace the expensive commercial data acquisition card with PC sound card. It has broad application and development prospect. Based on brief introduction of virtual instruments concept, present conditions ,developing trends and characteristics of programming software LabVIEW ,the basic principles of audio signal generator are outlined , the function and relative configurations of sound card are analyzed, and details of each system composing module is presented. Key words: virtual instrument; audio signal generator; LabVIEW; sound card

相关文档