基于单片机的简易电子琴设计(C语言编程)

基于单片机的简易电子琴设计(C语言编程)
基于单片机的简易电子琴设计(C语言编程)

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

摘要

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机作为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

关键词:单片机键盘扬声器电子琴

Abstract

Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM has powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, design of a electronic organ. SCM as a host to the core, with the keyboard, speaker and other core modules. In the main control module has 16 keys and a speaker. The system is steady, its simple hardware circuits, software functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.

Key words : SCM keyboard speaker electronic organ

目录

摘要

Abstract

目录

1 引言

2 原理图

2.1 系统板硬件连线

3 主要芯片简介

3.1 AT89S51简介

3.1.1 主要功能特性

3.1.2 引脚功能

3.2 LM386

3.2.1 LM386的引脚图

3.2.2 音频放大器电路

3.3 LED数码管

4 模块原理

4.1 4X4行列式键盘识别及显示

4.1.1 系统板上硬件连线设计

4.1.2 程序设计内容

图4-2 行列式键盘电路

4.1.3 I/O并行口直接驱动LED显示

4.1.4 键盘识别程序

4.2 音乐产生的方法

4.2.1 原理

4.2.2 程序框图

4.2.3源程序:

5 结束语

致谢

参考文献

1 引言

单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

2 原理图

图2-1 电子琴电路图

2.1 系统板硬件连线

系统板硬件连线如图2-1所示,发生模块,键盘模块,及LED显示模块连接如下

1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;

2.把“单片机系统“区域中的P

3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上;

3.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。

3 主要芯片简介

3.1 AT89S51简介

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚(引脚图如图3-1所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

图3-1 管脚图

3.1.1 主要功能特性

·兼容MCS-51指令系统· 32个双向I/O口

· 2个16位可编程定时/计数器·全双工UART串行中断口线

· 2个外部中断源·中断唤醒省电模式

·看门狗(WDT)电路·灵活的ISP字节和分页编程

· 4k可反复擦写ISP Flash ROM · 4.5-5.5V工作电压

·时钟频率0-33MHz · 128x8bit内部RAM

·低功耗空闲和省电模式· 3级加密位

·软件设置空闲和省电功能·双数据寄存器指针

3.1.2 引脚功能

VCC(40):+5V;

GND(20):接地;

P0口(39-32):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL 门电流;

P1口(1-8):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流;

P2口(21-28):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流;

P3口(10-17):P3口是8个带内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口;

RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;

ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲;

PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现;

EA/VPP(31):当EA保持低电平时,外部程序存储器地址为(0000H-FFFFH)不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP);

XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入;

XTAL2(18):来自反向振荡器的输出;

3.2 LM386

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。

LM386内部与通用型集成运放相类似,它是一个三级放大电路。

第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。

第二级为共射放大电路,T7为放大管,恒流源作有源负载,以增大放大倍数。

第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2为输出级提供合适的偏置电压,可以消除交越失真。

引脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为OTL电路。输出端(引脚5)应外接输出电容后再接负载。

电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。

3.2.1 LM386的引脚图

图3-3 LM386的外形和引脚的排列

LM386的外形和引脚的排列如图3-3所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10μF。

3.2.2 音频放大器电路

图2.3 音频放大器电路

3.3 LED数码管

图3-4 7段数码管

数码管(如图3-4所示)使用条件:

a、段及小数点上加限流电阻

b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定

c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA

上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。

数码管使用注意事项说明:

(1)数码管表面不要用手触摸,不要用手去弄引角;

(2)焊接温度:260度;焊接时间:5S

(3)表面有保护膜的产品,可以在使用前撕下来。

4 模块原理

4.1 4X4行列式键盘识别及显示

组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。

编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如ASCII码)送往CPU。所以,编码键盘接口简单、使用方便。但由于硬件电路较复杂,因而价格较贵。

非编码键盘:键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。目前微机系统中,一般为了降低成本大多数采用非编码键盘。

用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键的“0-F”序号。

4.1.1 系统板上硬件连线设计

键盘模块硬件连线如图4-1所示:

图4-1 键盘模块连线图

(1)把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上;

(2)把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。

4.1.2 程序设计内容

1. 4×4矩阵键盘识别处理

2.每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。

图4-2 行列式键盘电路

4.1.3 I/O并行口直接驱动LED显示

LED显示模块如图4-3所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。在数码管上循环显示0-9数字,时间间隔0.2秒。

系统板上硬件连线:(如图4-3所示)

把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;要求:P0.0/AD0与a相连,P0.1/AD1与b相连,P0.2/AD2与c相连,……,P0.7/AD7与h相连。

图4-3 电路原理图

程序设计内容:

(1).LED数码显示原理: 七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。 LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码表(如表4-1所示)表4-1 字形码表

(2).由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。这样我们按着数字0-9的顺序,把每个数字的笔段代码按顺序排好!建立的表格如下所示:TABLEDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH。

程序框图:

程序框图如图4-3所示:

R1内容=10 ?

图4-3 数码显示程序框图

C语言源程序:

#include

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char dispcount; void delay02s(void) {

unsigned char i,j,k; for(i=20;i>0;i--)

for(j=20;j>0;j--)

for(k=248;k>0;k--);

}

void main(void) {

while(1)

{

for(dispcount=0;dispcount<10;dispcount++)

{

P0=table[dispcount];

delay02s();

}

}

}

4.1.4 键盘识别程序

C语言源程序:

#include

unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};

unsigned char temp;

unsigned char key;

unsigned char i,j;

void main(void)

{

while(1)

{

P3=0xff;

P3_4=0;

temp=P3;

temp=temp & 0x0f;

if (temp!=0x0f)

{

for(i=50;i>0;i--)

for(j=200;j>0;j--);

temp=P3;

temp=temp & 0x0f;

if (temp!=0x0f)

{

temp=P3;

temp=temp & 0x0f;

switch(temp)

case 0x0e:

key=7;

break;

case 0x0d:

key=8;

break;

case 0x0b:

key=9;

break;

case 0x07:

key=10;

break;

}

temp=P3;

P1_0=~P1_0;

P0=table[key]; temp=temp & 0x0f; while(temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; }

}

}

P3=0xff;

P3_5=0;

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3;

temp=temp & 0x0f; if (temp!=0x0f)

temp=P3;

temp=temp & 0x0f; switch(temp)

{

case 0x0e:

key=4;

break;

case 0x0d:

key=5;

break;

case 0x0b:

key=6;

break;

case 0x07:

key=11;

break;

}

temp=P3;

P1_0=~P1_0;

P0=table[key]; temp=temp & 0x0f; while(temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; }

}

}

P3=0xff;

P3_6=0;

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

for(i=50;i>0;i--)

for(j=200;j>0;j--); temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; switch(temp)

{

case 0x0e:

key=1;

break;

case 0x0d:

key=2;

break;

case 0x0b:

key=3;

break;

case 0x07:

key=12;

break;

}

temp=P3;

P1_0=~P1_0;

P0=table[key]; temp=temp & 0x0f; while(temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; }

}

}

P3=0xff;

P3_7=0;

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; switch(temp)

{

case 0x0e:

key=0;

break;

case 0x0d:

key=13;

break;

case 0x0b:

key=14;

break;

case 0x07:

key=15;

break;

}

temp=P3;

P1_0=~P1_0;

P0=table[key]; temp=temp & 0x0f; while(temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; }

}

}

}

}

4.2 音乐产生的方法

4.2.1 原理

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。

利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T =1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系式(如式4-1所示)是:

N=fi÷2÷fr 4-1

式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。

其计数初值T的求法如下:

T=65536-N=65536-fi÷2÷fr

例如:设K=65536,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/1046=65059

单片机12MHZ晶振,高中低音符与计数T0相关的计数值如表4-2所示

表4-2 音符频率表

我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据低音0-19之间,中音在20-39之间,高音在40-59之间TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0

DW 0,63731,63928,0,64185,64331,64463,0,0,0

DW 0,64580,64684,64777,64820,64898,64968,65030,0,0

DW 0,64633,64732,0,64860,64934,64994,0,0,0

DW 0,65058,65110,65157,65178,65217,65252,65283,0,0

DW 0,65085,65134,0,65198,65235,65268,0,0,0

DW 0

音乐的音拍,一个节拍为单位(C调)(如表4-3所示)

表4-3 曲调值表

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

下面用AT89S51单片机产生“生日快乐”歌来说明单片机如何产生的。

在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。

4.2.2 程序框图

音乐发声程序框图如图4-5所示:

中断返回

图4-5 音乐发声程序框图

4.2.3源程序:

#include

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char temp; unsigned char key; unsigned char i,j; unsigned char STH0; unsigned char STL0; unsigned int code tab[]={64021,64103,64260,64400, 64524,64580,64684,64777,

64820,64898,64968,65030, 65058,65110,65157,65178}; void main(void) {

TMOD=0x01;

ET0=1;

EA=1;

while(1)

{

P3=0xff;

P3_4=0;

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

for(i=50;i>0;i--)

for(j=200;j>0;j--);

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; switch(temp)

{

case 0x0e: key=0;

break;

case 0x0d: key=1;

break;

case 0x0b: key=2;

break;

case 0x07: key=3;

break;

}

temp=P3;

P1_0=~P1_0;

P0=table[key];

STH0=tab[key]/256;

STL0=tab[key]%6;

TR0=1;

temp=temp & 0x0f; while(temp!=0x0f)

{

temp=P3;

temp=temp & 0x0f; }

TR0=0;

}

}

P3=0xff;

P3_5=0;

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

for(i=50;i>0;i--)

for(j=200;j>0;j--);

temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; switch(temp)

{

case 0x0e: key=4;

break;

case 0x0d: key=5;

基于AT89C51单片机的多音阶电子琴的设计

重庆三峡学院 单片机课程设计报告书 学院: 年级专业: 学号: 学生姓名: 指导教师: 教师职称: 成绩: 制作日期2012年11月29日

基于AT89C51单片机的多音阶电子琴的设计 重庆三峡学院 摘要 单片机是电子、计算机及机电专业的一门重要的必修课程。要求我们掌握单片机的基本组成和工作原理、会变程序的一般编写方法、常用接口电路的软硬件设计方法,具备基本的单片机系统应用与开发能力。 随着科技的快速发展,单片机的应用日益普遍。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本单片机系统设计应用单片机控制技术,用AT89C51单片机为核心控制元件根据本学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机、电子琴、AT89C51、独立键盘、

目录 第 1 章引言......................................................................................................................... 1. 1. 1 设计背景 (1) 1.2 设计任务 (1) 1.3 设计目的 (1) 1.4 设计思路 (1) 第 2 章方案论证 (1) 2.1 方案论证 (1) 第 3 章硬件系统设计 (2) 3.1时钟电路 (2) 3.2 复位电路 (3) 3.3 原理框图 (3) 3. 4 显示部分设计 (3) 3.5 按键部分设计 (4) 3.6 发音部分设计 (5) 第 4 章软件系统设计 (5) 4.1 系统分析 (5) 4.2 参数计算 (7) 4.3 程序设计 (8) 第 5 章实验结果 (10) 5.1硬件调试 (10) 5.2 软件调试 (10) 5.3 仿真结果 (10) 5.4 结果分析 (11) 第 6 章总结 (11) 附录一:系统整体电路图 (12) 附录二:元器件清单 (12) 附录三:源程序代码 (13) 参考文献 (19)

基于单片机的简易电子琴设计课程设计

基于单片机的简易电子琴设计课程设计

湖南文理学院 课程设计报告 课程名称:单片机课程设计 专业班级:自动化10102班17号学生姓名:肖葵 指导教师:王南兰 完成时间:2013年 6 月13 日报告成绩: 湖南文理学院制

摘要 随着社会的发展进步,音乐逐渐成为人们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。人们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89S51;音色节拍器;电子琴

ABSTRACT With the development of our society, music has become an important part of life. There’s a saying goes that people who likes music cannot be an evil. During our life, we often enjoy all kinds of music in the world to baptize our spirits. This thesis has designed a simple microcontroller-based electronic key board. We are curious about the foundation of electronic keyboard, such as the choice of timber, the control of volume, the metrononme and automatic playback. The keyboard is a product of modern electronic technology combined with music, it is a new type of keyboard instruments. And it plays an important role in modern music. Single chip has a powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value. Key words : single chip MCU keyboard speaker electronic organ

简易电子琴电路的制作

简易电子琴电路的制作 正文: 一、课程设计的目的 1.了解UA741芯片和DG4102芯片的逻辑功能。 2.学会使用示波器。 3.能够组装复杂的线路并调试。 4.能够熟练地焊接各个元器件到焊接实验板上。 5.了解音调的初步知识。 二、课程设计所用仪器 1.图1运算放大器UA741。 图1 DG4102型单片式集成功放电路结构外形图和管脚1和5为偏置(调零端),2为反向输入端,3为正向输入端,4接负电(-Vcc),6为输出,7接正电源(+Vcc), 8空脚 2.集成功放DG4102。 本实验采用DG4102型单片式集成功率放大电路,此集成电路是带散热片的14脚双列直插式塑料封装结构,其结构外形图和管脚如图2所示: 图2 DG4102型单片式集成功放电路结构外形图和管脚1——输出端, 6——反相输入端, 9——输入端,4、5——补偿电容, 10、

12——旁路电容, 13——自举电容,2、7、8、11——空脚, 3——接地, 14——电源电压(+VCC )。 3. 示波器、数字万用表、扬声器一只、焊接实验板、函数信号发生器、晶体三 极管(9013)、电阻器若干、电容器若干、按键式开关8只、电烙铁、焊锡丝、若干导线 三、课程设计的原理 (一)、简易电子琴电路设计原理 1、简易电子琴电路是将振荡电路与功率放大电路结合的产物。RC 振荡电路(如图3所示)是由RC 选频网络和同相比例运算电路组成,对不同频率的输入信号产生不同的响应。当RC f f π210==时 O U 和i U 同相,并且31==o i U U F 。而同相比例运算电路的电压放大倍数为11R R U U A F i O U +== , 可见,12R R F =时3=U A , 1=F A U 。O U 和i U 同相,也就是电路具有正反馈。起振时F A U >1, U A >3.随着振荡幅度的增大, U A 能自动减小,直到满足3=U A 或1=F A U 时,振幅达到稳定,以后可以自动稳幅。 R R F 图3 RC 振荡电路 2、功率放大电路的任务是将输入的电压信号进行功率放大,保证输出尽可能大的不失真功率,从而控制某种执行机构,如使扬声器发出声音、电机转动或仪表指示等等。

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

《单片机C语言程序设计》课程标准

广州康大职业技术学院 《单片机C语言程序设计》课程标准 一、基本信息 适用对像:应用电子技术专业的学生 课程代码: 学分:2 学时:36 制定人:徐又又 制定时间:2010年9月 所属系部:自动化 批准人:陶甫廷 二、课程的目标 1.专业能力目标 了解单片机C语言的特点、与PC机C语言的异同之处、单片机C语言的开发环境; 熟悉单片机C语言的基本语法规范、Keil C软件的应用及其与硬件平台的连接、C语言程 序结构设计、与单片机相关的设置等方面知识。 2.方法能力目标 了解用单片机C语言进行应用产品软件开发的步骤,具备单片机C语言程序的识读、修改的基本能力;学会使用Keil C软件进行源程序编辑、编译和软、硬件模拟调试的操作方 法与技能。 3.社会能力目标 通过后续课程《单片机应用实训》的学习与强化训练,具有使用单片机C语言进行电子产品、自动检测与控制和高新视听设施等方面的软件开发的职业技能。 三、整体教学设计思路 1.课程定位 该课程是应用电子技术和自动化技术等专业获得专业技能的必修课程之一,该课程属于职业技术课程,以培养电子产品开发相关行业急需的机电类和电子类高级技能应用型人才 为目标。 本课程一般在学生学完模拟电子技术与数字电子技术、计算机技术等专业基础课后再讲授;《单片机应用》等课程可作为先修课程,也可在同一学期开设。 2.课程开发思路

本课程根据“工学结合”的原则,强调对单片机C语言程序设计的理论部分删繁就简,以“实用够用”为度,就是为了便于他们在后续的实训月(四周)以及即将下厂顶岗实习期 (十周),将所学的单片机C语言程序设计的常用原理与实用知识,能够与实训、实习的生 产工位和顶岗工作更紧密地联系起来。 四、教学内容 1.学时分配 学习情境名称子学习情境1 子学习情境2 子学习情境3 子学习情境4 学时 分配 学习情境(单元)1 单片机C语言概述单片机C语言与 PC机C语言的异 同之处 简单的C程序介绍 及上机操作(编译 三个简单C程序) 3 教学时数 1 2 学习情境(单元)2单片机C语言开发环境 建立 Keil软件的使 用(源文件、 工程的建立) 上机操作(用keil 软件进行工程的设 置) 3 教学时数 2 1 学习情境(单元)3数据的类型、运算符和 表达式 用整型和字符型 定义变量 数的溢出 C51中特有的数 据类型 上机操作(用 算术运算符和 算术表达式编 写程序) 6 教学时数 2 1 2 1 学习情境(单元)4C51流程与控制顺序结构程序选择结构程序循环结构程 序(上机操作 编译冒泡排 序法程序) 6 教学时数 2 2 2 学习情 境(单 元)5 C51构造数据类型数组指针结构共用体和枚举 6 教学时数 2 2 1 1 学习情境(单元)6单片机内部资源的组成中断编程上机操作用定时器 /计数器资源 编程并编译 串口编程 6 教学时数 2 2 2 学习情境(单元)7函数函数的定义函数的调用局部变量和全局 变量 变量的存储类 别 6 教学时数 2 2 1 1

简易电子琴课程设计

课程设计任务书学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采用运算放大 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系 统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

简易电子琴电路的设计 (2)

1. 技术指标 (1) 2. 设计方案及其比较 (1) 2.1 方案一 (1) 2.2 方案二 (3) 2.3 方案比较 (6) 3. 实现方案 (6) 4. 调试过程及结论 (10) 5. 心得体会 (16) 6. 参考文献 (16)

简易电子琴电路的设计 1.技术指标 设计一个玩具电子琴,设8个琴键,分别代表1、2、3、4、5、6、7、?八个不同音符,每按下一个琴键,扬声器发出一个音符的声音。演奏时的音量和节拍可以调节。 2.设计方案及其比较 2.1 方案一 选用RC振荡电路和运算放大器构成简易电子琴电路。RC振荡电路的具体电路为文氏桥正弦振荡电路。电路原理图如下图1。 图1 简易电子琴电路原理图

R串联,两者共同构成RC串并联选频网络。由于选其中1C和按键电阻并联,2C和12 频网络的相移为零,这样RC串并联选频网络送到运算放大器同相输入端的信号电压与输 出电压同相,所以RC反馈网络形成正反馈,满足相位平衡条件,因而可以形成振荡。 由于振荡的能量是电源,激励信号源是电路中的噪声,它的频谱丰富,包含频率成分 f;但由于噪声信号极其微弱,在振荡期间应使信号做增幅振荡,为此合理选择电阻使0 ω信号就会通过正反馈而使得输出信号不断增大,使输出幅环路增益大于1,这样频率为0 度越来越大,最后受电路中非线性元件的限制,使振荡幅度自动稳定下来,电路进入等幅振荡。频率0f之外的信号由于不满足振荡平衡条件,将不会在输出信号中出现,RC选频网络实现了信号频率的选择功能。 按键电阻的选择:查阅资料得知八个音阶的频率如下表1: 表1 八个音阶的频率 音符 1 2 3 4 5 6 7 8 f264 297 330 352 396 440 495 528 由于1C的值确定为0.1uF,由公式: fπ2/1 RC =(1) f 0= 并结合表一计算可得电阻阻值分别为(单位:欧姆): 36 R3. k 1=(2) 28 k R7. 2=(3) 23 R3. k 3=(4) 20 k R4. 4=(5) 16 k R2. 5=(6) k 13 R1. 6=(7) R3. 10 k 7=(8) R1.9 k 8=(9)通过阻值选择电阻器件。 电路要求不仅能够振荡,而且能够稳幅。当振荡输出信号小于放大器的最大输出电压时,输出为正弦波。如前所述,环路增益大于1,这样信号幅度在正反馈的作用下不断增

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

简易电子琴的设计与仿真.

proteus 7的使用及调试 定时器、中断、键盘接口数字电路、模拟电路的相关知识2、实现及编程 2.1程序框图 ) 2.2电路原理图

2.3程序内容 7个音调的产生方法 按k2让音调逆向输出 如何按k8+k2放出音乐和如何 让音乐停止 2.4汇编源程序 BUZZ EQU P2 BUZZ1 EQU P1.7 ORG OOOOH LJMP MAIN ORG 000BH LJMP INT_T0 ORG 001BH LJMP TIME1 ORG 8000H MAIN: MOV SP,#90H MOV BUZZ,#0FFH MOV TMOD,#11H SETB ET0 SETB ET1 SETB EA CLR TR0 START: MOV R0, BUZZ CJNE R0,#0FFH,KEY1 CLR TR0 SJMP START KEY1: CJNE R0,#0FEH,KEY2 MOV 30H,#0FBH MOV 31H,#0E9H LJMP SET_TIMER KEY2: CJNE R0,#0FDH,KEY3 MOV 30H,#0FCH MOV 31H,#5CH LJMP SET_TIMER KEY3: CJNE R0,#0FBH,KEY4 MOV 30H,#0FCH MOV 31H,#0C1H LJMP SET_TIMER KEY4: CJNE R0,#0F7H,KEY5 MOV 30H,#0FCH MOV 31H,#0EFH LJMP SET_TIMER KEY5: CJNE R0,#0EFH,KEY6 MOV 30H,#0FDH MOV 31H,#045H LJMP SET_TIMER KEY6: 囉* 祖 1IU ■□■1l ? ■CkUJUfiia ▼"■VZ AfiJkAAl ■E * F Wi -54 ■U A JM "bn iunTb —- P XF

课程设计简易电子琴

课程设计 课程名称 题目名称 专业班级 学生姓名 学号 指导教师 二○--年月日

目录 1 设计任务书 (1) 2 电路总体设计 (2) 3 各部分电路设计 (3) 3.1 R、C选频网络电路的设计 (3) 3.2 波形产生电路 (4) 4 Multisim仿真与数据分析 (7) 5总结 (9) 6致谢 (10) 参考文献 (11) 附录A 总原理图 (12) 附录B 系统元器件清单 (13)

1 设计任务书 设计目的 (1)熟悉数字电子技术课程设计的方法和思想 (2)熟悉仿真软件Multisim使用 (3)进一步理解555多谐振荡器在设计过程中的使用 (4)熟悉555多谐振荡器的应用 (5)熟悉简易电子琴的设计方法和过程 设计思路 (1)先查询简易电子琴的七个音(各包括低、中、高三个音)的频率 (2)再设置充电电阻和固定电容,根据公式算出每个音阶对应电阻的阻值,从而确定R C选频网络电路。 (3)用多谐振荡器产生矩形脉冲驱动蜂鸣器发出不同声音 (4)用仿真软件中的虚拟仪器示波器和频率计测量每一个音阶的波形和频率。

2 电路总体设计 本电路主要是由RC选频网络电路和555定时器构成的多谐振荡器组成。因为设计要实现电子琴dou、ruai、mi、fa、suo、la、si七个音的发声。而每一个音都对应一个频率和电阻,所以通过设计不同的电阻和电容组成R、C选频电路。每一个频率经过多谐振荡器都会产生一个矩形脉冲。因为是在仿真软件中无法实现电子琴发声,采用示波器测量矩形波形和用频率计测量每一个选频网络中对应的每一个频率,再和实际数据相比较来判定发出的声音是否准确。该电路实现了dou、ruai、mi、fa、suo、la、si(各包括低、中、高三个音)的发声仿真。实现了简易电子琴的设计。电路整体框图如下: 图2.1 基本方框图 该电路具有原理简单、容易制作、调试方便等特点。能实现二十一种频率的方波且能驱动喇叭C调的二十一个音阶。其中,稳压电源可以由电脑提供。

简易电子琴课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采 用运算放大器构成振荡电路,用集成功放电路输出。已知八个基本音阶在C调时所对 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原 理并仿真实现系统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

单片机课程设计---简易电子琴设计

单片机 课程设计 课程设计名称: 专业班级: 学生姓名: 学号: 指导教师: 课程设计时间:

一、需求分析 1.1课题背景 随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。电子科技也在不断的前进,电子技术正在以不同的方式改变着我们的生活,电子琴设计也是希望给人们带来一些生活的乐趣。电子琴可以应用在很多方面,比如一些简易的玩具上或手机上。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 1.2 课题设计的任务与主要内容 本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。 先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

单片机C语言程序设计师试题及答案

单片机C语言程序设计师试题 一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。 2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。 3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。 4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。 5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。 6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。 7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。 8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。 9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。 10、子程序返回指令是________,中断子程序返回指令是_______。 11、8051单片机的存储器的最大特点是____________________与____________________分开编址。 12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。 13、_______是C语言的基本单位。 14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。 15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。 16、一个函数由两部分组成,即______________和______________。 17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。 18、利用8155H可以扩展___________个并行口,___________个RAM单元。 19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。 二、选择题 1、C语言中最简单的数据类型包括(b )。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 2、当MCS-51单片机接有外部存储器,P2口可作为( c )。 A、数据输入口 B、数据的输出口 C、准双向输入/输出口 D、输出高8位地址 3、下列描述中正确的是( d )。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合 4、下列计算机语言中,CPU能直接识别的是( d )。 A、自然语言 B、高级语言 C、汇编语言 D、机器语言 5、MCS-5l单片机的堆栈区是设置在( c )中。

模电课程设计简易电子琴的设计

1. 模电课设概述 现在的电子琴一般使用PCM或AWM采样音源。所谓采样就是录制乐器的声音,将其数字化后存入ROM里,然后按下键时CPU回放该音。甚至有一些高级编曲键盘可以使用外置采样(比如Tyros 3的硬盘音色)。现代电子琴并非“模仿”乐器音色。它使用的就是真实乐器音色。当然,现在力度触感在电子琴里是必备的。而且现代电子琴还加上了老式电子琴的滤波器,振荡器,包络线控制来制造和编辑音色。甚至也带上了老式电子琴的FM 合成机构。 本次课程设计主要是通过对电子琴主体部分的电路进行模仿设计,按下不同琴键改变RC值,发出C调的八个基本音阶,采用运算放大器构成振荡电路,用集成功放电路输出音调,从而达到电子琴固有的基本功能。 2. Proteus软件简介 Proteus软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑器,它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus软件的模拟仿真直接兼容厂商的SPICE模型,采用了扩充的SPICE3F5电路仿真模型,能够记录基于图表的频率特性、直流电的传输特性、参数的扫描、噪声的分析、傅里叶分析等,具有超过8000种的电路仿真模型。 Proteus软件支持许多通用的微控制器,如PIC、AVR、HC11以及8051;包含强大的调试工具,可对寄存器、存储器实时监测;具有断点调试功能及单步调试功能;具有对显示器、按钮、键盘等外设进行交互可视化仿真的功能。此外,Proteus可对IAR C-SPY、KEIL 等开发工具的源程序进行调试。 此外,在Proteus中配置了各种虚拟仪器,如示波器、逻辑分析仪、频率计,便于测量和记录仿真的波形、数据。 3. 简易电子琴基本原理 3.1 音乐产生原理 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我

基于FPGA的简易电子琴实现

基于FPGA的简易电子琴实现 李全 摘要 本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。该电子琴的设计大体可以由三个模块构成,分别是电子琴音调发生器模块、数控分频模块和自动演奏模块。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。能够实现弹琴和自动演奏的功能。系统实现是用硬件描述语言VHDL按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。本系统的功能比较齐全,有一定的现实使用的价值。本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。 关键字 电子琴;EDA;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;音调发生;数控分频; 1引言

我们生活在一个信息高速发达的时代,各种各样电子产品层出不穷。对于广大老百姓来说,电子琴可以说已经不再是什么“新鲜玩意”了,它现在作为一种休闲和娱乐的产品早就推出市面,面向百姓,进入了我们的生活。作为一个电子信息科学与技术专业的学生,了解这些电子产品的基本的组成和设计原理是十分必要的,我们学习过了计算机组成的理论知识,而我所做的课程设计正是对我学习的理论进行实践和巩固。本设计主要介绍的是一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴;集科学性,先进性,创新性,实用性于一体,其理论基础源自于计算机组成原理的时钟分频器。 1.1 设计的目的 本次设计的目的就是在掌握计算机组成原理理论相关的基础上,了解EDA技术,掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,例如本课程设计就是基于所学的计算机原理中的时钟分频器和定时器的基础之上的,通过本课程设计,达到巩固和综合运用计算机原理中的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机相关的实际问题的能力。 1.2设计的基本内容

单片机设计矩阵键盘电子琴

课程设计任务书 课程名称单片机原理及应用课程设计 1.课程设计应达到的目的 本课程是继《单片机原理及应用B》课程之后,训练学生综合运用上述课程知识,进行单片机软件、硬件系统设计与调试,使学生加深对单片机结构、工作原理的理解,提高学生综合应用知识的能力、分析解决问题的能力和单片机最小应用系统的设计技能。通过课程设计,达到理论与实际应用相结合,增强学生对综合电子系统设计的理解,掌握单片机原理就应用的设计方法以及C51编程的能力,并能够在这个基础上进行实际项目的程序设计及软硬件调试,增强学生的工程实践能力。 2.课程设计题目及要求

带存储播放功能的简易电子琴设计 要求:利用行列式键盘和数码管,来控制并显示和产生不同频率的声音。其他扩展功能学生可自己添加,功能不限定与此。 3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕(1)了解相关理论知识,掌握基本的原理,理解相关特殊功能寄存器的设置。 (2)完成电路板的组装 (3)完成硬件电路的测试、以及软件的编程 (4)最终完成具体的课设任务。 4.主要参考文献 1.张洪润等.单片机应用设计200例.北京:北京航空航天大学出版社,2006 2. 胡汉才.单片机原理及其接口技术. 北京:清华大学出版社,2010 3.夏继强等.单片机实验与实践教程.北京:北京航空航天大学出版社,2006 4. 倪晓军等.单片机原理与接口技术教程.北京:清华大学出版社,2007 5(1)硬件方面:单片机。4*4行列式键盘,蜂鸣器,独立数码管,独立建。硬件部分采用逐列扫描,16个键位对应16个音,不断检测16键位,当某个键位被按下,先检测哪一列再检测哪个按键被按下,同时设置四个功能键,p1.0,p1.1播放歌曲,p1.2暂停,p1.3复位,可控制歌曲的播放。 插入图片 (2)音乐频率 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。单片机12MHZ晶振,高中低音符与单片机计数T0相关的计数值如下表所示: 音符频率简码值(T值) 低3 M 330 64021 低4 FA 349 64103 低5 SO 392 64260 低6 LA 440 64400 低7 SI 494 64524 中 1 DO 523 64580 中 2 RE 587 64684 中 3 M 659 64777 中 4 FA 698 64820 中 5 SO 784 64898 中 6 LA 880 64968

51单片机C语言程序设计复习资料

2013-2014学年上期51单片机C语言程序设计重修复习提纲考试方式:闭卷考试。 考试题型: 填空题(每空1分,共18分);单项选择题(每空2分,共18分);问答及计算题(每题4分,共16分);编程及程序阅读题(5小题,共48分)。 考试分数: 卷面成绩70%+平时成绩15%+实验成绩15%,未缺席、无课堂违纪、作业全交且认真完成的同学平时成绩可获得满分,缺席一次平时成绩扣30分,实验好评次数3次以上且实验报告全优的同学实验成绩可得满分,实验缺席一次扣30分。缺席实验和旷课共3次以上者,无考试资格。 考试时间: 18周周一(12月30日)下午14:00:16:00,考试地点:具体考室另行通知希望大家认真复习,认真听讲,不懂就问,考试成绩不及格允许查卷,如查卷卷面批阅无误成绩不做更改。 编程题为实验或实验类似的题目有3题,其余2题也取自课堂讲授例题,请务必认真复习。第一章单片机概述及单片机知识回顾 掌握什么是单片机、单片机的应用、常见单片机类型、十进制、十六进制、二进制数制转换知识。掌握单片机的硬件组成、CPU的结构、程序计数器PC的功能、存储器结构、机器周期的计算、会画出单片机的最小系统电路图及回答单片机最小系统的组成。 第二章C51语言程序设计基础(本章填空题和选择题比重较大请务必认真复习)掌握C51语言进行软件开发与汇编语言相比的优点、掌握C51的数据类型、特殊功能位的定义、C51的基本运算(位运算重点复习)、数组的定义、C51的结构及函数。 第三章AT89S51片内并行端口及编程(本章有编程题) 掌握P0-P3并行端口的特点,会开关量检测及流水灯程序的编程。 第四章AT89S51单片机的中断系统(本章有编程题) 掌握中断系统的结构、中断请求响应被满足的条件、外部中断的触发选择方式、外部中断的使用与编程。 第五章AT89S51单片机的定时器/计数器(本章有编程器) 掌握定时器的结构,TOMD及TCON的使用,定时器方式0和方式1的特点、会计算定时器初值,会用定时器中断产生PWM波形,会用定时器对外部事件进行计数。 第六章AT89S51单片机的串行口(本章有计算题) 掌握串行通信的基础知识(课本没有的内容请参照课堂讲授笔记或PPT)、串行口的四种工作方式的特点、会计算奇偶校验码、会根据波特率计算T1的初值。 第七章AT89S51单片机与输入/输出外设接口(本章有编程题) 掌握数码管动态显示的原理、掌握矩阵式键盘的原理与编程(矩阵键盘编程必考,但不会考4X4键盘)。 第八章AT89S51单片机与D/A与A/D转换器的接口(本章有编程题) 掌握AD与DA转换的接口、ADC和DAC的技术指标、常用AD和DA转换器。掌握ADC0809和TLC2543的使用与编程(2器件其中之一有编程题)。 第九章AT89S51单片机应用系统与调试(本章有编程题) 掌握单片机应用系统的软件抗干扰方法。

简易电子琴

电子工程学院课外学分设计报告 题目:简易电子琴设计 姓名:学号:35 专业:电子信息工程实验室:开放实验室班级:1211 设计时间:年月日——年月日 评定成绩:审阅教师:

目录 1. 设计任务、目的 (1) 2. 方案设计与论证(或基本原理与论证) (1) 3. 硬软件设计 (1) 4. 实现与测试(或调试) (5) 5.分析与总结 (6)

1. 设计任务、目的 1. 硬件电路设计(制作实物,行列键盘输入,至少21键,扬声器输出) 2. 驱动程序设计:扬声器驱动函数,键盘扫描函数 3. 结合驱动程序设计程序实现如下功能: - 按键发声 - 音乐播放(3首以上 2. 方案设计与论证(或基本原理与论证) 音乐是有由不同的音阶组成的,而不同的音阶又是由不同的频率发出的,那么产生不同的频率,就可以发出不同的音乐了。而利用单片机就可以产生不同的频率的方波,因此选择单片机为为主来设计。通过程序编写实现单片机输出不同的频率,输出的方波信号再通过功放输出声音。同时电子琴加入led用来显示。 本设计的主要工作是程序编写和焊电路板,通过程序让电子琴实现音乐演奏,歌曲播放以及记录已按下的音符,并播放,最后实现led显示。而硬件主要有单片机最小系统,键盘模块,发声模块,还有一个电源模块。 图2.1总体方案图 3. 硬软件设计 3.1硬件电路设计

图3.1硬件电路图 本系统有主控单片机、按键、led显示模块、扬声器模块以及电源组成。 1.单片机最小系统 单片机最小系统由STC89C51芯片、晶振、电容组成。 2.按键设计 按键采用4*6扫描;4根行线接P10-P13,六根列线接P14-P17以及P20,P21口共24个按键,0-20代表音符键,0-6代表低音1,2,3,4,5,6,7;7-13代表中音1,2,3,4,5,6,7; 14-20代表高音1,2,3,4,5,6,7;21号按键表示播放歌曲键,当按下21号键,进入播放歌曲函数,当按下22号键时,播放下一首歌曲,当按下23键时,退出播放返回主程序。而在主程序中时,代表演奏状态,当按下23号键时,进入录音状态,此时有个绿色的指示灯会亮。而进入录音后,再按一次23键,指示灯灭,退出录音状态,返回主程序。 3.Led灯设计 7个绿色的LED代表按键的音符DO,RE,MI...分别接到P0口的各个I端口音符DO 时,一个LED亮,音符MI时,2个LED亮…以此类推。有一个绿色LED指示当前状态,当电子琴处于录音时,LED亮,否则,灭。 4.扬声器模块 扬声器模块由扬声器、三极管和电阻组成。经过三极管的放大作用驱动扬声器发声。 3.2软件设计

相关文档
最新文档