1、目录目录I摘要1第1章引言211电子琴概述212本设计任务313系统主要功能3第2章电子琴硬件设计421系统的硬件构成422AT89S52单片机及其引脚说明5221主要特性7222管脚说明823电子琴实现原理11第3章系统的软件设计1431系统主程序设计流程图1432系统主程序设计(见附录214第4章结束语15参考文献16附录117附录218四川信息职业技术学院毕业设计说明书论文第1页摘要单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系
2、统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的发展潜力越来越被人们所重视。虽然当前市场上的电子琴很完备,也很精美,但是毕竟由于价格原因无法进入平常百姓家,而且庞大的身体也让人的携带变得异常麻烦。所以这里我们可以用单片机芯片实现简单的一个电子琴,虽然功能比不上市场上的,但是至少体积小,便于携带,而且价格便宜。用8个按钮可以表示8个不同的音,互相混淆就可以形成不同的音乐,且可以随便弹奏想要表达的音乐。这种电子琴可以作为玩具供小孩子使用,至少可以让承受不起市场上电子琴的人也可以有一个小小的接触。CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大
3、,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能得到不断地发展。而现在单片机在农业上也有了很多的应用。关键词AT89S52、驱动电路、控制四川信息职业技术学院毕业设计说明书论文第2页第1章引言11电子琴概述虽然当前市场上的电子琴很完备,也很精美,但是毕竟由于价格原因无法进入平常百姓家,而且庞大的身体也让人的携带变得异常麻烦。所以这里我们可以用单片机芯片实现简单的一个电子琴,虽然功能比不上市场上的,但是至少体积小,便于携带,而且价格便宜。用7个按钮可以表示7个不同的音符,互相混淆就可以形成不同的音乐,且可以随便弹奏想要表达的简单音乐。这种电子琴可以
4、作为玩具供小孩子使用,至少让不愿意购买市场上电子琴的人也可以有一个小小的接触。电子乐器的结构较为复杂,音源是由晶体管产生的电振动,并通过音色回路而产生各种音色;同时由周波数调制产生颤音效果,由振幅调制产生各种乐器的音效。电子琴的外形很像普通键盘乐器,只是某些种类多一排脚踏键盘,而且手触键盘也往往分为两层。键盘式电子琴声音丰富、优美,有变音装置,能发出多种不同的音色,可以作为独特的乐器进行演奏,还能代替传统的风琴、钢琴供音乐课教学。传统乐器的声音是通过机械的方法产生的,电子琴的声音是用“电”产生的。振荡器是根据需要产生一定频率的振荡信号,振荡信号通过分频器分解成不同频率的信号输送到放大器,放大器
5、将信号放大,推动扬声器发出声音。键盘实际是一些开关,如果没有键盘,许多种频率的信号一齐进到放大器里,通过扬声器发出的声音就会乱七八糟,不成音乐。按下键盘的一支键,就等于接通一只开关,只允许某一种频率的信号通过到放大器里去,扬声器就发出一个音来。这样,按照一定的演奏规律来按键,就能奏出美妙的音乐来。电源的任务是给各部分供电。这次的电子琴是由7个按按钮,设计成7音符。然后再用一个模拟音频放大模块来使音乐播出的声音变大。用户可通过这7个键的随意组合来产生一首简单的音乐。四川信息职业技术学院毕业设计说明书论文第3页12本设计任务(1)由7个按钮组成电子琴的按钮,设计成7个不同中音符。(2)可随意弹奏想
6、要表达的简单音乐。13系统主要功能这次的电子琴是由AT89S52单片机、7按钮按键构成,设计成7个中音。然后再用一个音频放大模块(用二个三极管和电阻组成模拟电路形成一个简单的模拟放大模块)来使音乐播出的声音变大。用户可通过这7个键的随意组合来产生不再相同的音符。所以使用很简单。四川信息职业技术学院毕业设计说明书论文第4页第2章电子琴硬件设计21系统的硬件构成电子琴硬件仿真图如图21所示。它由以下几个部件组成单片机AT89S52、电源、7个按钮、由三极管以及电阻模拟构成音频放大模块电路。电源部分电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到5V电压,维持系统的正常工作;系
7、统板硬件连线(1)把“单片机系统”区域中的P37端口用导线连接到“音频放大模块”区域中的SPKIN端口上;(2)把“单片机系统”区域中的P10P17端口用8芯排线连接到键盘区域中的按钮端口上;四川信息职业技术学院毕业设计说明书论文第5页图21电子琴硬件仿真图22AT89S52单片机及其引脚说明AT89S52是一个低功耗,高性能CMOS8位单片机,片内含4KBYTESISPINSYSTEMPROGRAMMABLE的可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和I
8、SPFLASH存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点40个引脚,4KBYTESFLASH片内程序存储器,128BYTES的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器四川信息职业技术学院毕业设计说明书论文第6页图22AT89S52引脚图1中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。MCS51的CPU能处理8位二进制数或代码。2内部数据存储器(内部RA
9、M)AT89S52芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。3内部程序存储器(内部ROM)AT89S52共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此称之为程序存储器,简称内部ROM。4定时器/计数器AT89S52共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。5并行I/O口四川信息职业技术学院毕业设计说明书论文第7页AT89S52共有四个8位的I/O口(P0、P1、P2、P3),以实现数据
10、的并行输入输出。在实训中我们已经使用了P1口,通过P1口连接8个发光二极管。6串行口AT89S52单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7中断控制系统AT89S52单片机的中断功能较强,以满足控制应用的需要。AT89S52共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。全部中断分为高级和低级共二个优先级别。此外,AT89S52设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振
11、荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。221主要特性AT89S52CPU与MCS51兼容4K字节可编程FLASH存储器寿命1000写/擦循环全静态工作0HZ24KHZ三级程序存储器保密锁定1288位内部RAM32条可编程I/O线两个16位定时器/计数器6个中断源可编程串行通道低功耗的闲置和掉电模式四川信息职业技术学院毕业设计说明书论文第8页片内振荡器和时钟电路222管脚说明VCC供电电压GND接地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一
12、次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P0口有三个功能A、外部扩展存储器时,当作数据总线(如图1中的D0D7为数据总线接口)B、外部扩展存储器时,当作地址总线(如图1中的A0A7为地址总线接口)C、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉
13、为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。A、扩展外
14、部存储器时,当作地址总线使用B、做一般I/O口使用,其内部有上拉电阻P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL四川信息职业技术学院毕业设计说明书论文第9页门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如表221所示P3口引脚特殊功能P30RXD(串行输入口)P31TXD(串行输出口)P32(外部中断0)P33(外部中断1)P34T0(定时器0外部输入)P35T1(定时器1外部输入)P36WR外部数据存储器写选通P37RD(
15、外部数据存储器读先通)表221AT89S52P3口功能表P3口引脚特殊功能P30RXD(串行输入口)P31TXD(串行输出口)P32(外部中断0)P33(外部中断1)P34T0(定时器0外部输入)P35T1(定时器1外部输入)P36WR外部数据存储器写选通P37RD(外部数据存储器读先通)P3口同时为闪烁编程和编程校验接收一些控制信号。使P3端口各线处于第二功能的条件是四川信息职业技术学院毕业设计说明书论文第10页A、串行I/O处于运行状态RXD,TXDB、打开了处部中断INT0,INT1C、定时器/计数器处于外部计数状态T0,T1D、执行读写外部RAM的指令RD,WREA/VPP访问和存储器
16、控制信号1、接高电平时CPU读取内部程序存储器(ROM),扩展外部ROM当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。2、接低电平时CPU读取外部程序存储器(ROM)。RST复位信号当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。XTAL1和XTAL2外接晶振引脚当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容当使用外部时钟时,用于接外部时钟脉冲信号。AT89S52系列单片机串行端口说明AT89S52系列单片机片内有一个串行IO端口,通过引脚RXDP30和TXDP31可与外设电路进行全双工的串行异步通信。串行
17、端口的基本特点AT89S52单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的IO电路方式1多用于双机之间或与外设电路的通信方式2,3除有方式L的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率每秒传送的位数以及作为中断标志等。串行端口有一个数据寄存器SBUF在特殊功能寄存器中的字节地址为99H,该寄存器为发送和接收所共同。发送时,只写不读接收时,只读不写。在一定条件下,向阳UF写入数据就启动了发送过程读SB
18、UF就启动了接收过程。串行通信的波特率四川信息职业技术学院毕业设计说明书论文第11页可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器TL的定时溢出时间确定,使用十分方便灵活。23电子琴实现原理1主要分为二个部分(1)8个按钮键盘识别;(2)不同音符产生的方法;扬声器发生原理只要让扬声器(SPEAKER)通过会产生大小变化的电流,就能使扬声器发出声音。因此,若以程序不断地输出1010就可令扬声器发出声音。由于MCS51系列的输出端口电流不够头。所以必须加上晶体管把电流放大后再驱动扬声器如图231,只要半周期T的时间,即看可改变输出频率。图231扬声器图2决定程序中延时参数的方法四
19、川信息职业技术学院毕业设计说明书论文第12页一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表232所示音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1DO262636284FA740648601DO27763731中5SO78464898低2RE294638355SO831
20、649342RE31163928中6LA88064968低3M33064021693264994低4FA34964103中7SI988650304FA37064185高1DO104665058低5SO392642601DO1109650855SO41564331高2RE117565110低6LA440644002RE124565134646664463高3M131865157低7SI49464524高4FA139765178中1DO523645804FA1480651981DO55464633高5SO156865217中2RE587646845SO1661652352RE62264732高6L
21、A176065252中3M659647776186565268中4FA69864820高7SI196765283如表232高中低音代码表C调各音的频率如表所列,根据此频率表可计算出程序所需的延时参数。现以中音的DO说明如下(1)DO的频率为262HZ,所以四川信息职业技术学院毕业设计说明书论文第13页周期T1/F1/262S3816US半周期TT/21908US(2)若以程序MOVR6,DATE;用时2USACALLDELAY用时2USDELAYMOVB,R6用时2USMOVR7,06用时2USDLDJNZR7,用时2USDJNZR6,DL用时2USMOVR6,B用时2USRET用时1US来达
22、成延时T的目的,则因T1908US,且MOVR6,DATAACALLDELAYMOVB,R6MOVR6,BRET这5个指令共耗时9US,所以在DELAY子程序中,循环的部分只能是1908US9US1899US循环的部分每执行一次耗时15US,故要延时1899US需要重复执行18899/15126次,即R6126就可以产生所需的DO音调。其它音符的R6值也可以用上述相同方法算出相应的数值。可借用公式R值(500000/F9)/15下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据低音019之间,中音在2039之间,高音在4059之间四川信息职业技术学院毕业设计说明书论文
23、第14页第3章系统的软件设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定闹设置程序三大模块。在程序设计过程中,加强了部分软件抗干扰措施。31系统主程序设计流程图图31系统主程序流程图32系统主程序设计(见附录2判断是那一个键按键按下设定相对应的延时参数R6的值令扬声器通电延时半周起T令扬声器断电延时半周起T开始四川信息职业技术学院毕业设计说明书论文第15页第4章结束语这次的单片机应用系统设计对我们来说真的好难,只学了理论,从未接触任何实践,程序也还没完全得心应手,甚至可以说一些小的程序编写可能还要花费我们很多时间。突然说要自己亲手设计一个硬件应用系统,一下子感觉实在难啊,根
24、本不知道从何下手。后来实没有头绪,只有去网上查找相关的设计或者到书上去找例子,从而来让自己有个如何去做的思路。通过在网上和书上很多例子的参考,基本了解了设计报告的结构和写法,同时也让我知道了单片机的功能真的是如此的强大,几乎应用于我们身边的每时每刻。这次我主要的设计是一个游戏型的基于AT89S52单片机的简单电子琴,采用8个键分别代表8个音,通过对按键的随意按击从而产生不同的音乐,主要是通过每个按键所产生的频率不同来使得发出的各个音不同,从而产生一首简单的音乐,虽然显得单一,但是至少很简单。这次主要参考了网上的一些实例,再加上了一些自己的补充。我主要针对了这个设计的原理和程序的编写以及硬件的设
25、计,从而来更好的提出设计的方法和创新。虽然现在讲创新很难,但是相信对设计看多了,也安全熟悉了,讲创新肯定也就不会再难。本次设计电子琴程序设计不是很难,对于现在的我来说用自己的所学知识以及和同学们一起探讨程序能简单的编译出来,所以主要的还是以基础为主。根据每个程序的功能各不相同来使程序简化。最后,通过这次的自主完成单片机的应用系统设计,虽说不完全是自己完成,但是至少有一点,让我们学会了如何去完成一个设计报告,相信对以后的硬件设计也会有很大的帮助。四川信息职业技术学院毕业设计说明书论文第16页参考文献1樊明龙、任丽静单片机原理与应用化学工业出版社,20052余永权ATMEL89系列单片机应用技术北
26、京航空航天大学出版社,20053付家才单片机控制工程实践技术化学工业出版社,20064蔡朝洋单片机控制实习与专题制作北京航天航空大学出版社,2006四川信息职业技术学院毕业设计说明书论文第17页附录1电路原理图四川信息职业技术学院毕业设计说明书论文第18页附录2全部源程序代码ORG0000HORLP1,11111111B;P1口置1(即开关全部断开)ORLP3,11111111B;P3口置1(即开关全部断开)TESTJNBP10,DO;判断P10开关是否按下,如果按下,则跳到DOJNBP11,RE;判断P10开关是否按下,如果按下,则跳到REJNBP12,MI;判断P12开关是否按下,如果按下
27、,则跳到MIJNBP13,FA;判断P13开关是否按下,如果按下,则跳到FAJNBP14,SO;判断P14开关是否按下,如果按下,则跳到SOJNBP15,LA;判断P15开关是否按下,如果按下,则跳到LAJNBP16,SI;判断P16开关是否按下,如果按下,则跳到SIJNBP17,DOH;判断P17开关是否按下,如果按下,则跳到DOHAJMPTEST;跳到TESTDOMOVR6,127;中音1AJMPOUTPUTREMOVR6,113;中音2AJMPOUTPUTMIMOVR6,100;中音3AJMPOUTPUTFAMOVR6,95;中音4AJMPOUTPUTSOMOVR6,85;中音5AJMPOUTPUT四川信息职业技术学院毕业设计说明书论文第19页LAMOVR6,75;中音6AJMPOUTPUTSIMOVR6,67;中音7AJMPOUTPUTDOHMOVR6,63AJMPOUTPUTOUTPUTCLRP37;清零P37口ACALLDELAY;调用延时SETBP37;P37口置1(开启声音)ACALLDELAYAJMPTESTDELAYMOVB,R6DLMOVR7,6DJNZR7,DJNZR6,DLMOVR6,BRETEND
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。