2.2音乐盒的功能结构图及说明
本次设计主要设计了两个标志位,count1、count2,对应按键电路的key1、 key2,key1用来暂停歌曲,并实现 4*4矩阵键盘电子琴弹奏功能,key2用于切换本音
乐盒内的四首歌曲。功能结构图如下图2.2所示。
图2.2 电子音乐盒功能框图
2.3电子琴的功能结构图及说明
电子琴的功能结构如图2.3所示。4*4键盘按下获取相应的键值和音符有DO到XI高低音共16个音。并在数码管上显示。
图2.3电子琴功能结构图
第 4 页 共 32 页
2.4设计软件
本设计主要使用两个软件,proteus、keil。用proteus进行硬件电路设计,用keil进行软件设计,使用proteus和keil进行联调,等程序功能都实现且调试好了之后,实现电子音乐盒的设计与制作。 2.4.1 proteus
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。且在编译方面,它支持IAR、Keil和MPLAB等多种编译器。可以与他们进行联调,结合使用。 2.4.2 keil
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。使用C语言编程,Keil是很好的选择。
Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc公司联合运营。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。Keil公司在2005年被ARM公司收购。而后ARM Keil推出基于uVision界面,用于调试ARM7,ARM9,Cortex-M内核的MDK-ARM开发工具,用于为控制领域的开发。在使用单片机C语言开发时,
第 5 页 共 32 页
大多使用keil编程,与proteus进行联调,达到软硬件结合的目的。
3 硬件设计
本设计主要是以单片机AT89C51芯片为核心,由复位电路,时钟电路,按键电路,蜂鸣器,LED流水灯,LCD1602和数码管电路组成的,实现的功能如下,电路图如图3.1所示。
a) P3.2,P3.3控制按键 b) P1.0-P1.7控制4*4矩阵键盘 c) P3.7控制蜂鸣器 d) P2..0~P2.7数码管显示
e) 电路为11.0592MHZ晶振频率工作,起振电路中C1、C2均为30PF
图3.1 电路图
3.1 AT89C51简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
第 6 页 共 32 页
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。管脚图如图3.2所示。
图3.2 AT89C51管脚
AT89C51的主要特性
a) 与MCS-51 兼容
b) 4K字节可编程FLASH存储器 c) 寿命:1000写/擦循环 d) 数据保留时间:10年 e) 全静态工作:0Hz-24MHz f) 三级程序存储器锁定 g) 128×8位内部RAM h) 32可编程I/O线 i) 两个16位定时器/计数器 j) 5个中断源 k) 可编程串行通道 l) 低功耗的闲置和掉电模式 m) 片内振荡器和时钟电路
3.2 复位电路和时钟电路
时钟电路和复位电路共同组成了单片机的最小系统,即最少的元件组成的单片机可以工作的系统。是单片机应用中不可缺少的一部分,若没有最小系统,好多的设计将不能完美运行。图3.3为本设计的复位电路和时钟电路。
第 7 页 共 32 页
图3.3 复位电路和时钟电路
3.2.1 复位电路
复位电路我们本来在方案选择的时候有两种选择的,上电复位和按扭复位,上电复位是利用电容充电来实现的,而按扭复位是电源对外节电容的充电使RST为高电平,复位松开后,电容通过下拉电阻放电,使RST恢复低电平。为了制作软件的方便我们还是选择用按扭复位,因为它比较直观。 3.2.2 时钟电路
单片机晶振的作用是为单片机系统提供基本的时钟信号,单片机晶振提供的时钟频率越高,单片机的运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
89系列的时钟信号由两种方式产生,一种是利用芯片内部的震荡电路,产生时钟信号的内部方式,一种是时钟信号有外部引入的外部方式。内部时钟方式为:89系列单片机内部有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端,其频率范围为1.2~12MHz,这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。89系列单片机虽然有内部震荡电路,但要形成时钟,必须外接元件.外接晶振以及电容C2,C3构成并联谐振电路,接在放大器的反馈回路中,这种方式称为内部时钟方式。对外接电容C2,C3没有严格的要求,石英晶体的电容值一般使
第 8 页 共 32 页