单片机电子琴实验报告

  • 格式:docx
  • 大小:165.57 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机及DSP课程设计报告

专业:通信工程

班级:

姓名:

学号:

指导教师:**

时间:2015-06-22~2015-07-03

通信与电子工程学院

基于单片机的电子琴设计

一、课设的目的及内容

本设计主要是用单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有7个按

键和1个复位按键。本系统主要是完成的功能:电子琴弹奏并显示所按的按键对应音

的唱名。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符

的符号只是存在自定义的表中。

总之,本设计的电子琴有以下要求:

(1)用键盘作出电子琴的按键,共7个,每键代表1个音符。各音符按照符合电子琴的按键顺序排列;

(2)达到电子琴的基本功能,可以用弹奏出简单的乐曲;

(3)在按下按键发出音符的同时显示出音符所对应的唱名

即1(dao)、2(ruai)、3(mi)、4(fa)、5(sao)、6(la)、7(xi)。

二、问题分析、解决思路及原理图

本系统采用STC89C52RC为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。其中,输入电路有7

个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理

器通过识别,解码输出音符,在蜂鸣器中发出有效的声音。由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用数码管显示电路负责显示按下的琴键所对应音

符的唱名,这样既节省了成本,又降低了编程难度。

图1

如图1所示基于单片机STC89C52RC的电子琴电路,它主要由琴键控制电路、数码管显示电路、音频功放电路和时钟-复位电路四部分所构成。

三、硬件设计

(一)琴键控制电路

琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重

要组成部分。本设计采用独立式键盘的思路。

独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过

检测I/O输入线的电平状态,可判断出被按下的按键。

显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。适

用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多

的I/O口线。

独立式键盘的7个独立按键分别对应一个I/O口线,当某一按键按下时,对应的

检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线

的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。

(二)数码管显示电路

LED(Light Emitting Diode)发光二极管缩写。LED数码管是由发光二极管构

成的。常见的LED数码管为“8”字型的,共计8段。它由七个条形发光二极管和一

个小圆点发光二极管组成,每一段对应一个发光二极管。一般来说分共阳极和共阴极

两种接法,如图二所示为八段LED数码管结构及外形。

图二

共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个

发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示,如图二a所示。

反之,共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,

发光二极管点亮,如图二b所示。

LED数码管的a至g七个发光二极管因接得电压不同而导致不同亮暗的组合就能

形成不同的字形,这种组合称之为字形码,如表一所示为八段LED数码管的字形码表。

表一

本设计所采用的是共阴二极管。

(三)音频功放电路

本设计采用蜂鸣器作为音频发生的设备,而若将蜂鸣器的正极直接与单片机端

口相连,由于单片机端口的电流值太小而无法驱动蜂鸣器发声,所以本设计采用三极

管放大电流的方法来完成目的的,如图三所示,

图三

(四)时钟、复位电路

1、时钟电路

时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时

钟方式。

STC89C52内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,

构成一个稳定的自激振荡器,图四是STC89C52内部时钟方式的电路,C1和C2

的典型值通常选择为30pF,石英晶体常选6MHz或12MHz的。本设计采用内部

时钟方式做时钟电路

图四

2、复位电路

单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使STC89C52复位。这些操作都是由复位电路来实现。

在单片机的实用系统中,一般有两种复位操作形式:上电复位和手动复位。上

电复位在单片机系统每次通电时执行。上电时,电容C充电加给RST引脚一个

短的高电平信号,此信号随着VCC对电容C的充电过程而逐渐回落,即RST引

脚上的高电平持续时间取决于电容C充电时间。为保证系统可靠复位,RST引

脚上的高电平必须维持足够长的时间。手动复位在系统出现操作错误或程序运

行出错时使用。在单片机系统运行过程中,按下复位键,高电平输入RST引脚,

单片机被强制执行复位操作,系统可以退出错误运行状态,恢复正常工作。

四、软件设计

1、硬件接口定义