鉴于所以此次设计预计准备设计中音和高音一共14个音的需要,并且还需要按键进行歌曲的自动播放,所以需要的按键个数比较多,经过权衡决定采用矩阵式键盘实现所需要的功能,这样可以节省单片机的I/O口。
2.2 设计方案
本设计以AT89C51单片机为核心控制器,通过按下不同的键,来实现中音1、2、3、4、5、6、7和高音1、2、3、4、5、6、7一共14个音符的声音。声音的不同本质上是由于振动产生的频率不同造成的,所以,理论上只要利用程序使单片机的相应引脚上发出不同的频率,那么按下不同的14个按键就可以产生14种不同的音符的声音,此时只需要单片机控制蜂鸣器发出声音即可。本设计在原初的要求上增加了自动播放生日快乐歌的功能。系统设计框图如图2-1所示。
图2-1 系统设计框图
3 系统硬件设计
3.1 电路设计应用环境简介
Protel是PORTEL公司在上个世纪80年代末推出的EDA软件,这款软件在电子行业的所有的制图软件中,毫无悬念地成为了EDA软件中最广泛使用的,长期以来都是是电子设计者们的制图必备软件,它在我国的使用已经拥有很长时间了,普及率非常的高。Protel软件在其刚推出来的时候仅仅作为印制板的自动布线工具来用的,在DOS环境中就可以运行,对硬件也没有什么高的要求,在一兆的内存下就能正常运行,因此它的功能也少,只有两个功能,分别是电原理图绘制和印制板设计,同时其印制板自动化布线的通率也不高,而目前的的Protel软件系列已发展到高端的Protel99,已经是一个功能强大的EDA软件,在安装完全的情况下需要好几百兆的内存空间,这款软件工作在WINDOWS95的系统环境下,作为一个完整的全方板级位电子设计系统,其包含了诸如电路原理图绘制、多层次印制电路板的设计(这其中包含了印制电路板的自动布线功能)、模拟电路结合及数字电路产生的混合信号仿真、图表产生、可编程逻辑器件的设计、电子表格的自动生成、支持宏操作等许多功能,并具有了高端的Client/Server (客户/服务器)服务体系结构,与此同时还兼容了相当数量的其它软件的文件格式,如ORCAD,EXCEL,PSPICE,等等,其独创的多层印制线路板所实现的自动布线可以达到百分之百的布通率。
Protel99SE软件一共被分成了5个大模块,他们分别是原理图设计模块、PCB设计(包含信号完整性分析)模块、自动布线器模块、原理图混合信号仿真模块、PLD设计模块。
3.2 按键电路
按键电路如图3-1所示。单片机的P2口完成对矩阵键盘的控制。本设计采用4*4矩阵键盘,S1-S14这14个按键分别代表了14个音阶。矩阵键盘的4条行线接P2.0-P2.3引脚,其余是列线接P2.4-P2.7引脚。先将P2.0-P2.3引脚置为高电平状态,再将P2.4-P2.7引脚依次置为低电平,当系统检测按键没有按下时,P2.0-P2.3口各引脚状态保持不变,一旦发现按键按下,则P2.0-P2.3就会有引脚变为低电平,这样,通过读入P2.0-P2.3的状态就可以计算出哪一个按键按下了。
图3-1 按键电路
3.3单片机控制电路
3.3.1 AT89C51简介
单片机是指将中央处理CPU、随机存储RAM、只读存储器即ROM、输入/输出I/O端口电路集成在一块芯片上的微型处理器,工艺将定时器/计数器等很多的部分都制作在一块小芯片上,从而构成一个功能上完备的计算系统。单片机的内部结构图如图3-2所示。 AT89C51单片机的电子琴设计+电路图+源程序(4):http://www.751com.cn/zidonghua/lunwen_8580.html