八按键简易电子琴的设计制作.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
八按键简易电子琴的设计制作 1.功能分析和方案论证说明 (1)功能分析 a.采用AT89C2051CPU,设计时钟电路和复位电路,上电复位和手动复位,3V供电(2节电池); b.具有电子琴输入按键8个,包含1~7和高音1; c.具有手动复位键1个,播放音乐和弹奏切换功能按键1个,在PCB图上标注“复位”、“功能切换”字样,这两个键在PCB图上分别布局于左右上角; d.有发光二极管显示程序运行状态(用1个发光二极管指示对应的1个按键,实际是8个发光二极管,只用1个代表); e.采用扬声器输出声音信号; f.实现电子琴功能并且至少有一首存储歌曲。 g.发挥部分 即时编辑音乐并且可回放,可实现实现定时器功能,产生和弦音。 (2)方案论证说明 a.设计思路 1)选择AT89C2051单片机,通过T0定时中断,并配合P3.4引脚输出音频频率; 2)P3.4引脚输出接扬声器; 3)通过P1.0-P1.7接入八个按键,包含1~7和高音1,通过查询方式,获取输入; 4)P3.7引脚接入一个指示灯,每有按键按下指示灯就亮一次; 5)通过P3.2引脚接入功能按键,实现播放音乐和弹奏的切换,中断方式接入。 b.硬件电路设计 电子琴的硬件电路由4部分组成:单片机、时钟与复位电路、选择按键输入电路和扬声器组成电路框图如下所示。 c. AT89C2051单片机性能、特点 在我国MCS-51系列单片机尤其是hilip公司的80C51及其派生产品受到普遍欢迎。美国ATMEL公司生产的与MCS-51系列完全兼容的内含闪电存储器型单片机AT89C2051后来居上,大有取代MCS-51系列中EPROM之势。其中AT89C2051单片机是AT89C51系列中结构最紧凑,体积最小的单片机,它的片内有2k字节闪烁存储器,管脚封装为20引脚,与8751 图1 电子琴硬件电路设计框图 相比只去掉P0口、P2口,片内多一个模拟电压比较器。用它设计产品,外围元器件少,接口技术简单,缩小电路板面积,成本低,开发容易,可广泛应用于小型简单不需很多I/O口控制的各种智能产品设计,现已得到开发人员广泛认可。 1硬件结构 1.189C2051主要特点   1)指令与MCS-51芯片兼容。2)内含2k字节的可反复电气烧录及擦除内存。3)工作电压2.7V至6V。4)工作频率最高至24 MHz。5)内含128字节RAM。6)15条可编程控制I/O线。7)一个模拟电压比较器。1.2 硬件结构  硬件结构如图1所示。 图1 AT89C2051管脚图 引脚电性能T89C2051单片机的P口特点????P1口:P1口是一个8位双向I/O端口,其中P1.2~P1.7引脚带有内部上拉电阻,P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流,并能直接驱动LED显示。????对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。????P3口:P3.0~P3.5、P3.7是带有内部上拉电阻的7个双向I/O端口。P36是比较器输出端用于固定输入片内比较器的输出信号并且它作为一通用I/O口引脚而只读。P3.6位用于内部比较器输出控制,无法做一般I/O控制P3口输出缓冲器可吸收20mA电流。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。????在稳定的状态条件下Io 低被外部限制如下1)每个管脚的最大IOL 15mA 注85 规格 2)每个8 位口的最大IOL 26 mA 3)IOL 输出最大总和 71mA 4)如果IOL 超过测试条件VOL 可能会超过相应规格不能保证超过测试电流内部单元1)算术/逻辑部件ALU:用以完成+、-、*、/ 的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器PSW的某些位,从而为判断、转移、十进制修正和出错等提供依据。 2)累加器A:在算术/逻辑运算中存放一个操作数或结果,在与外部存储器和I/O接口打交道时,进行数据传送都要经过A来完成。 3)寄存器B:在 *、/ 运算中要使用寄存器B 。乘法时,B用来存放乘数以及积的高字节;除法时,B用来存放除数及余数。不作乘除时,B可作通用寄存器使用。 4)程序状态标志寄存器PSW:用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。????????? Cy????? AC???? ? F0?? ??? RS1 RS0 OV????? —????? P Cy:进

文档评论(0)

新起点 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档