湖南人文科技学院课程设计报告课程名称:单片机原理及应用课程设计设计题目:电子琴设计系别:通信与控制工程系专业:电子信息工程班级:学生姓名:学号:起止日期:指导教师:教研室主任:摘要单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、蜂鸣器等模块组成核心主控制模块,在主控模块上设有16个按键和蜂鸣器。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。关键词:AT89C52芯片;8255A芯片;蜂鸣器;矩阵键盘;音节-1-目录摘要............................................................-1-1概述..........................................................-3-1.1电子琴技术状况.........................................-3-1.2任务与要求.............................................-3-1.3主要芯片简介............................................-3-1.3.1AT89C52芯片介绍...................................-3-1.3.28255A芯片介绍.....................................-4-2系统总体方案及硬件设计........................................-5-2.1系统总体方案............................................-5-2.2总体硬件组成框图........................................-6-2.2.1子系统模块一.....................................-7-2.2.2子系统模块二.....................................-7-2.2.3子系统模块三.....................................-8-2.2.4AT89C51复位模块.................................-9-2.2.5AT89C52晶振模块.................................-9-3软件设计.....................................................-10-3.1软件设计总流程图流程...................................-10-3.2软件程序..............................................-11-4课程设计体会.................................................-11-5致谢.........................................................-13-参考文献.......................................................-14-附1源程序代码...............................................-15-附2仪器清单.................................................-15-附3系统原理图...............................................-22--2-1概述1.1电子琴技术状况本次设计提出了用AT89C52单片机为核心控制元件,设计一个简易的电子琴.本方案以AT89C52单片机作为主控核心,与键盘、蜂鸣器等模块组成核心主控制模块在主控模块上设有4*4个按键和蜂鸣器。根据使用者的操作随意弹奏想要表达的音乐。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号。1.2任务与要求实现电子琴发声控制系统;要求电路实现如下功能:4*4键盘组成16个按钮,可以随意弹奏想要表达的音乐。设置一个开始键,一个结束键,一个重复键,通过按重复键可以完成之前音乐的重放。说明:单片机的工作时钟频率为12MHz。1.3主要芯片简介1.3.1AT89C52芯片介绍AT89C52(图1-1)为8位低功耗单片机,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和GND(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软-3-件定义,在本设计中,P0端口(32~39脚)定义为双向8位三态I/O接口,它既可以作为通用I/O接口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口;P1端口(1~8脚)定义为准双向I/O接口,内部具有上拉电阻;P2端口(21~28脚)定义为8位准双向I/O接口,内部具有上拉电阻,可直接连接外部I/O设备,同时与地址高8位复用;P3端口(10~17)定义为8位准双向I/O接口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL负载。图1-1AT89C52图1-28255A芯片1.3.28255A芯片介绍8255A(图1-2)是一片使用单一+5V电源的40脚双列直插式大规模集成电路。它的通用性强,使用灵活,通过它CPU可直接与外设相连接。8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种:方式0:基本的输入输出方式,即无须联络就可以直接进行的I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。方式1:选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络-4-线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。2系统总体方案及硬件设计本系统采用单片机AT89C52为电子琴的控制核心,系统主要包括按键弹奏模块、音乐播放模块。下面对各模块的设计逐一进行论证比较。总电路图见附页二。2.1系统总体方案2.1.1定时/计数器的设计和状态字定义:若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P3.3反相,然后重复计时再反相。就可在P3.3引脚上得到此频率的脉冲。利用AT89C52的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是:N=fi÷2÷fr,式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:设K=65536,fi=1MHz,求中音DO(261Hz)。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。-5-单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示:音符频率(HZ)中1DO中2RE中3MI中4FA31163928DO29463835XI高18806496827763731LA中783164934262简谱码(T值)63628SO中678464898中5音符频率(HZ)740简谱码(T值)64860用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。2.2总体硬件组成框图图2-1总体硬件组成框图实验中每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置,通过程序来控制,使喇叭发出不同频率(音调)的声音,声音延迟一段时间,等-6-到按键放开之后,声音停止。然后再继续扫描,看是否有键按下。如此循环,即可实现基本的琴键功能。2.2.1子系统模块一琴键模块如图2-2所示,利用AT89C52单片机的P0端口及P2端口与8255连接。图2-2键盘电路图2.2.2子系统模块二播放模块是蜂鸣器构成。蜂鸣器是一种一体化结构的电子讯响器,采用直流图2-3发声模块电路图-7-电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。2.2.3子系统模块三电子琴设有8个按键,分别代表8个音符,包括中音段的全部音符。通过软硬件设计,按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现各种琴键的声音。矩阵键盘模块图如下:图2-4矩阵键盘模块-8-2.2.4AT89C51复位模块此复位电路是上电/按键复位,按下按键,电源对电容C充电,使RST端快速到达高电平;松开按键,电容向芯片的内阻放电,恢复为低电平,从而使单片机可靠复位,既可上电复位,又可按键复位。图2-5复位电路2.2.5AT89C52晶振模块XTAL1脚为片内振荡电路的输入端,XTAL2脚为片内振荡电路的输入端。8952