简易电子琴设计报告. 下载本文

技能训练报告 一、设计指标 1.1 设计任务

1.设计一个4X4的16个按键矩阵,并且每个键对应一个音,显示对应音键号。 2.用AT89C51将键盘连接设计成为电子琴。

3.编写电子琴的程序,要达到可以随意弹奏想要表达的音乐的目的。 4.程序的分析与调试,显示波形。 1.2 设计要求

1.用汇编语言编程实现程序设计。 2.利用查表,中断等方式实现目的。 3.系统的各各功能模块要清楚,有序。 4.程序运行时有友好的用户界面。 二、设计方框图

图2.1 系统主程序流程图

技能训练报告 图2.2

三、元器件介绍

该设计主要由以下几个部件组成: 1:单片机AT89C51 :

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效的微控制器。

引脚说明:P0口:P0口为一个8位双向三态I/O口,每脚可驱动8个TTL负载。P0既可作为通用I/O口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,每个引脚可驱动4TTL负载。P1口管脚写入1后,被内部上拉为高,可用作输入, P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,驱动4个TTL门电流。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可驱动4个TTL负载。当P3口写入\后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能,管脚备选功能:P3.0 RXD(串行数据接受口) P3.1 TXD(串行数据发送口) P3.2 /INT0(外部中断0请求输入) P3.3 /INT1(外部中断1请求输入) P3.4 T0(定时器/计数器0外部输入口) P3.5 T1(定时器/计数器1外部输入口) P3.6 /WR(外部数据存储器RAM写选通) P3.7 /RD(外部数据存储器RAM读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

技能训练报告

ALE/PROG:当访问外部存储器时,地址锁存允许ALE的输出电平用于锁存地址的地位字节。当不访问其时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。/PSEN:外部程序存储器ROM的选通信号。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:反向振荡放大器的出及内部时钟工作电路的输出。

2:电源:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。 3:4*4的16个按钮矩阵。

4:模拟示波器:模拟产生的波形。

5:LM386音频功率放大器,LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场 合。

6:74LS244锁存器:74LS244为3态8位地址锁存器, 地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来首先由CPU发出存储器地址,同时发出允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。 四、设计原理 4.1 电路原理

主要分为二个部分:

(1)4X4行列式键盘识别; (2)音乐产生的方法;

①一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同

的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,列出高中低音符与单片机计数T0相关的计数值如表3.1所示. 下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音0-19之间,中音在20-39之间,高音在40-59之间