单片机课设设计论文:基于STC89C51单片机的简易电子琴设计.doc
《单片机课设设计论文:基于STC89C51单片机的简易电子琴设计.doc》由会员分享,可在线阅读,更多相关《单片机课设设计论文:基于STC89C51单片机的简易电子琴设计.doc(44页珍藏版)》请在三一办公上搜索。
1、单片机课程设计论文题 目:基于单片机的简易电子琴设计 学 院:机电工程学院 专 业:电气工程及其自动化 姓 名: # # # 指导教师: 完成日期: 2012-12-27 目 录摘要1绪论.21方案论证31.1原理图31.2主体方案31.3系统方案设计及主控芯片介绍41.3.STC89C51简介51.3.1单片机工作原理81.3.2数码管132实现过程142.1.1 程序设计内容142.1.2 I/O并行口直接驱动LED显示142.2 音乐产生的方法152.2.1 原理152.2.2 程序框图163全文总结173.1结束语18参考文献19附录201.电路原理图202.程序框图213.系统流程图
2、224.语言源程序23摘 要在现代各种生活中,电子琴作为一种音乐型玩具 ,广泛用于与人们的日常生活中。市场上有各种各样的电子琴。特别是日本产的,音质优美,它是有专门的音乐控制芯片制造的。由于其价格较贵,无法大面积普及,且功能单一。用89c51作为主控中心,研制一种简易的微型电子琴,尽可能地体现较好的音质来,是一种可做的尝试。 以单片机为核心设计的简易电子琴系统,由按键扫描电路、声音产生驱动电路、复位电路、等模块组成的,是一种比较实用、廉价的电子玩具。 本论文所设计的简易电子琴,它分为两大部分,硬件电路的设计和软件的设计。硬件电路的设计以AT89S51单片机为控制主板,辅以外围的扩展设备蜂鸣器、
3、矩阵键盘、共阳数码管,形成一个可被控制的显示系统。软件设计通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.主要实现 1能够发出1.2.3.4.5.6.7等七个音符。2能自动演奏完,自选的一首歌曲两种功能。 绪 论 本次设计的简易电子琴在其
4、功能上能用单片机控制蜂鸣器发声,拟合出乐曲曲调。能够相应按键,进行简单的乐曲弹奏。 本次设计是以单片机为基础,在论文中大概讲述了一下单片机的原理。 在此次设计中,简易电子琴的外围设备主要有以下二个部分: 1、发声器件的选择:发声器件比较多,例如喇叭、蜂鸣器、电铃等。这次发声元件采用蜂鸣器,蜂鸣器价格便宜,控制简单,广泛用于各种电子产品和玩具。本设计为保证声音的响亮,通过三极管进行电流放大,增加声音的响度。 2、 按键部分的设计:在本电路的按键接口设计,按键数量比较多。 3、数码管显示电路:为指示出当前演奏的曲目标号和显示当前按下的键号,我们采用1位数码管作为显示部件,为了节省成本,采用I/O口
5、直接驱动数码管。这样设计充分利用了单片机的资源,使此设计才功能上很丰富、完善。1 方案论证1.1原理图1.2主体方案 本文就是从单片机STC89C51入手,通过使用STC89C51的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。该简易电子琴通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方
6、波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐显示电路(89C51)主控模块键扫描电路发声电路1.3 主要芯片简介1.3.1 STC89C51简介一、 单片机的主要性能特点ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,欲先进工艺制造,并带有非易失性FLASH程序储存器。它是一它是一种高性能,低功耗的8位CMOS微处理芯片,。主要性能特点有:8KB Flash ROM,可以擦除1000次以上。数据保存10年,256字节内部RAM 电源控制模式:时钟可停止和恢复;空闲模式;掉电模式。6个中断源4个中断优先级4个8位I
7、/O 口全双工增强型UART3个16位定时/计数器,T9,T1和增加的T2全静态工作方式:024MHz二 、单片机的引脚功能89C51单片机的引脚图见图2.2所示,其中有2条主电源引脚,2条外接晶体引脚,4条控制或其他电源复用引脚,32条I/O引脚。下面分别叙述这些引脚的功能。 图2.2 89C51单片机的引脚图VCC(40脚):接电源+5V。VSS(20脚):接地 也就是 GND。XTAL1 (19 脚) 和 XATL2(18 脚):接振荡电路,单片机是一种时序电路 必须有脉冲信号才能工作 在它的内部有一个时钟产生电路。PSEN(29 脚):片外 ROM 选通信号,低电平有效.他同样可以驱动
8、8个LSTTL输入。ALE/PROG(30 脚):地址锁存信号输出端/EPROM 编程脉冲输入端。为了使地址与数据不混淆,通常是先送地址再传送数据。ALE将P0口输出的低8位地址锁存,从而实现低位地址与数据的分离。RST/VPD(9 脚):复位信号输入端/备用电源输入端。当振荡器运行时,在此引脚上出现两个机器周期以上的高电平,将使单片机复位。VCC掉电期间,此引脚可以接上备用电源,以保存内部RAM的数据不丢失;当VCC低于规定水平时,VPD向内部RAM提供备用电源。EA/VPP(31):内/外部 ROM 选择端。当EA端保持高电平时,不管是否有内部程序存储器,只访问外部程序存储器。当EA端保持
9、低电平时,访问内部程序存储器。P0 口(P0.0P0.7共8个引脚,既39-32 脚):双向 三态I/O 口。在访问外部存储器时,可分别用低8位地址线和8位数据线;P0口可以驱动8个LSTTL P1输入。P1 口(P1.0P1.7共8个引脚,既1-8 脚)P1口是一个带有内部上拉电阻的8位双向I/0 口,在EPROM编程和程序验证时,它接受低8位地址,能驱动4个LSTTL输入。P2 口(P2.0P2.7共8个引脚,既21-28 脚):P2口是一个带有内部上拉电阻的8位双向I/0 口, 在EPROM编程和程序验证时,它接受高8位地址,能驱动4个LSTTL输入。P3 口 (P0.0P0.7共8个引
10、脚,既10-17 脚):P3口是一个带有内部上拉电阻的8位双向I/0 口。他是个多用途口。在这8个引脚里,其中P3.2的第二功能是外部中断0申请输入端;P3.3的第二功能是外部中断1申请输入端;P3.4的第二功能是定时器0申请输入端。三 、单片机内部结构及组成结构单片机是由中央处理器(CPU)、片内数据存储器(RAM)、片内程序存储器(ROM)和输入输出接口(I/O口)四大部分组成: CPU是单片机的核心部分。其作用是读入和分析每条指令,根据指令要求控制各个部件执行相应的操作,它包括运算器和控制器两大部分:一是运算器包括算术逻辑部件(ALU)、累加器A、暂存寄存器、寄存器B、程序状态寄存器(P
11、SW),十进制调整电路等。运算器主要用于实现算术/逻辑运算及位操作运算。二是控制器包括时钟发生器,定时控制逻辑,指令寄存器,指令译码器,程序计数器PC,程序地址寄存器,数据指令寄存器DPTR和堆栈指针SP等。控制器是用来统一指挥和控制计算机进行工作的部件。 单片机存储器,单片机在物理上有4个存储空间:片内程序存储器和片外程序存储器, 片内数据存储器和片外数据存储器.8051片内有4KB的程序存储器和256B数据存储器。下面分别介绍程序存储器和数据存储器。程序存储器用于存放编好的程序、表格和常数。8051单片机内部有4KB的片内ROM和64KB的片外ROM,两者是统一编址的。数据存储器8051内
12、部有256B RAM,片外最多可以扩展64KB RAM。片内256 KB RAM按其功能划分两部分:低128B位片内数据RAM区,地址空间为00H7FH;高128B位特殊功能寄存器的区域.地址空间为80HFFH。内部数据存储器低128单元,8051内部低128B RAM是真正的RAM,可用于暂存运算结果及标志位等.按其用途可以分为三部分:工作寄存器区;位寻址区;用户RAM区。内部RAM的高于128单元是供给特殊功能寄存器使用,因此称特殊功能寄存器: 指令寄存器IR和指令译码器ID。指令寄存器是存放指令代码的地方。当执行指令时,CPU把从程序存储器中读取的指令代码送入指令寄存器,然后指令译码器译
13、码后由定时控制电路发生相应的控制信号,最终完成指令所规定的操作。 程序计数器PC是一个16位的计数器。用于存放将要执行的指令地址,CPU每读取指令的一个字节PC便自动加1,指向本指令的下一个字节或下一条指令地址,PC可以寻址64KB范围ROM。 累加器是一个最常用的8位特殊功能寄存器,它可以用于存放操作数,也没有用于来存放运算结果。 寄存器B是一个8位寄存器,主要用于乘法和除法的运算, 状态字寄存器PSW是8位寄存器,用于存放程序运行状态信息,其格式如下图2.3所示 。 图2.3 程序状态字PSWCY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则CY自
14、动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔处理器。AC(PSW.6):辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。F0(PSW.5):用户标志位。用户可用软件对F0位置“1”或清“0”以决定程序的流向。OV(PSW.2):溢出标志位,当运算结果溢出时OV为“1”,否则为“0”,此标志位反映了运算结果是否溢出。P(PSW.0):奇偶标志位。MCS-51单片机采用的是偶校验。当累加器A中“1”的个数为奇数时,P置“1”,否则P置“0”。此位反映累加器A中内
15、容“1”的奇偶性,它常常用于机间通信。RS1(PSW.4)、RS0(PSW.3):工作寄存器区选择位。用来选择当前工作的寄存器区。用户通过改变RS1 、RS0的内容来选择当前工作寄存器区。 堆栈指针SP 数据指针寄存器DPTR是一个16位寄存器,由高位字节DPH和低位字节DPL组成,用来存放16位数据存储器的地址,以便对外部数据存储器RAM数据进行读写。 工作寄存器MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区: 当 RS1 RS000时,0区为工
16、作区, RS1RS001时,1区为工作区 RS1RS010时,2区为工作区 RS1RS011时,3区为工作区这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。 00H07H为0区,分别对应R0R7 08H0FH为1区,分别对应R0R7 10H17H为2区,分别对应R0R7 18H1FH为3区,分别对应R0R7这32个单元为内部数据存储器(即片内RAM)的00H1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微机的通用寄存器只有名称,不占有RAM空间,因此只有名字,没有对应的地址;而MCS-51单片机的工作寄存器R0R7既可以用名字也可以用它
17、的地址来表示。其中R0、R1寄存器除做工作寄存器外还常做间址寻址的地址指针单片机的输入/输出端口C51中有4个位并行输入/输出端口记为P0、P1、P2、P3共32根线。每个并行I/O口都可以用作输入/输出,所以称它们为双向I/O口。P0口有位, P0口有两个用途,一是作为普通I/O口使用;二是作为地址/数据总线使用。P0口作为普通I/O口使用: 当控制线C=0时, MUX开关向下, P0口作通用I/O口。这时与门输入为0,场效应管VT1截止。P0口作为分时复用的地址/数据总线: P0口一般是作为地址/数据总线,这时控制线C=1,MUX开关向上,使数据/地址经反向器与场效应管VT2接通,当数据输
18、入时,数据信号从引脚通过输入缓冲器2进入内部总线。P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,每一位都能设定为输入或输出。P1口的驱动部分与P0口不同,内部有上拉电阻。P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作扩展系统的高8位地址总线。P3口也是一个8位准双向I/O口,不但可以作通用I/O口使用,还具有第二功能。当工作在第二功能时,每位都具有新的功能,当P3口作通用I/O口时,与P1口相同。1.3.2单片机的工作原理一、 振荡器与时钟电路时钟电路用于产生单片机工作所需要的时钟信号。AT89C51的时钟产生方法有以下两种: 内部
19、时钟方式 利用芯片内部的振荡器,然后在引脚XTAL1和引脚 XTAL2两端接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图2.4(在图中的外接线,上面的外接线接引脚XTAL1,下面的外接线接引脚XTAL2)外接晶振时,C1和C2的值通常选择我30pF左右;外接陶瓷谐振器时C1和C2的值大约为47pF。C1、C2对频率有微调作用,晶体或陶瓷谐振器的频率范围可在1.212MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。 图2.4 单片机外接振荡电路外部时钟方式 此方式是利用外部振荡脉冲接入XTAL
20、1或 XTAL2。CHMOS(互补金属氧化物HMOS)是CMOS和HMOS(高密度沟道MOS工艺)的结合,除了保持HMOS高速度和高密度之外,还有CMOS低功耗的特点.两类器件的功能是完全兼容的,区别在CHMOS器件具有低功耗的特点.它所消耗的电流比HMOS器件少很多,主要在于其采用了两种降低功耗的方式:空闲方式和掉电方式.CHMOS器件在掉电方式(CPU停止工作,片内RAM的数据继续保持)下时,消耗的电流可低于10A.采用CHMOS的器件在编号中用一个C来加以区别: 如80C51,80C31等. 外部时钟信号通过一个二分频的触发器而成为内部的时钟信号,要求高、低电平的持续时间都大于20ns,
21、一般为频率低于12Hz的方波。这种方式适用于多块芯片同时工作,便于同步。片内时钟发生器就是上述的二分频触发器,它向芯片提供了一个2节拍的时钟信号。 根据以上两种方式的特点,在次设计中从而采用了第一种方式。第一种方式比第二种更简洁为次设计而变的简单化。其图2.5就是本次设计中时钟信号产生的外部电路图。其中电容值所选用的是30Pf,为了提高秒计时的精确度,采用12MHZ的晶振。二、 单片机的工作方式单片机有三种工作方式:复位方式、程序执行方式以及节电工作方式。单片机复位方式:单片机复位方式有上简单复位电路和采用专用复位电路芯片构成复位电路两种。简单复位电路有上电复位和手动复位。不管那种方式都要保证
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 设计 论文 基于 STC89C51 简易 电子琴

链接地址:https://www.31ppt.com/p-4192347.html