基于单片机的电子琴设计与仿真毕业论文(33页).doc

上传人:1595****071 文档编号:37161285 上传时间:2022-08-30 格式:DOC 页数:33 大小:330KB
返回 下载 相关 举报
基于单片机的电子琴设计与仿真毕业论文(33页).doc_第1页
第1页 / 共33页
基于单片机的电子琴设计与仿真毕业论文(33页).doc_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《基于单片机的电子琴设计与仿真毕业论文(33页).doc》由会员分享,可在线阅读,更多相关《基于单片机的电子琴设计与仿真毕业论文(33页).doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-基于单片机的电子琴设计与仿真毕业论文-第 27 页基于单片机的电子琴设计与仿真作者姓名:任振环专业名称:电子科学与技术指导教师:兰 英 讲师摘要当今世界,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。电子琴是我们常见的电子产品,它是一种键盘乐器,是现代电子科技与音乐的结合。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的

2、控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。该系统是以51系列单片机为主控制器,附有矩阵键盘、LED数码管、扬声器等。系统完成显示输入信息、播放相应音符等基本功能。本文设计的电子琴,体积小,重量轻,使用方便,并有一定的商业价值。关键词:STC89C52单片机 矩阵键盘 LED数码管 扬声器 AbstractIn todays world, electronic technology has obtained the rapid de

3、velopment, under its impetus, the modern electronic products into almost every field of the society, a strong impetus to the development of social productivity and the improvement of social information-based degree. Electronic organ is our common electronic products, it is a keyboard instrument, is

4、combined with modern electronic technology and music.At present, SCM is a high performance and multi variety trend will be further towards the CMOS, low power consumption, small volume, large capacity, high performance, low price and the contents of the external circuit and so on several aspects of

5、development. Microcontroller penetrated into every aspect of our lives, which is almost difficult to find traces of the field without mcu. Missile navigation equipment, aircraft control on a variety of instruments, computer network communications and data transmission, real-time control and data pro

6、cessing of industrial automation process, extensive use of various smart IC card, civilian luxury car security system, video recorder, camera control, full automatic washing machine, and program-controlled toys, electronic pet and so on, these all cannot do without mcu.The system is based on the 51

7、Series MCU based controller, a matrix keyboard, LED digital tube, speakers, etc. To complete the system shows the input information, the basic function such as play corresponding notes. Electronic organ, this design has the advantages of small volume, light weight, easy to use, and have a certain co

8、mmercial value.Keywords:STC89C52 microcontroller,matrix keyboard,digital tube LED ,speaker目录摘要IAbstractII目录III前言11 总体方案介绍21.1 方案一21.2 方案二31.3 系统设计概述42 系统硬件介绍52.1主控模块(STC89C52)52.1.1 STC89C52的主要特性62.1.2 STC89C52的中断系统92.1.3 STC89C52的系统介绍102.2显示模块102.2.1 数码管原理102.2.2 显示模块电路设计122.3 矩阵键盘模块132.4 功率放大模块(LM

9、386)142.4.1 LM386内部原理142.4.2 功率放大器使用事项163 系统软件介绍173.1 系统软件整体设计173.2 定时器产生音乐信号原理183.3 程序设计原理194 调试结果与仿真204.1 调试结果204.2 仿真结果20总结21致谢22参考文献23附件1 系统整体原理图24附件2 元件清单25附件3 系统PCB设计图26附件4 系统源程序27附件5 实物图片35前言近几十年来,单片机技术迅猛发展,在工农业生产,交通运输,国防建设和航空、航天事业等领域中获得广泛的应用。单片机技术至今已渗透到各种科学领域,成为促进当今生产发展和科学技术进步的重要因素。随着科学技术的进步

10、和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。 本文的主要内容是用单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简

11、易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。 1 总体方案介绍依据任务书要求,需要设计一个系统,共需要以下几个模块:供电模块、主控模块、显示模块、按键模块、功率放大模块、声音播放模块等,以下就针对这几个模块的选型和论证进行讨论。1.1 方案一供电模块:采用电池供电,需要三节1.5V电池(常用南孚电池即可),携带时比较麻烦。主控模块: 采用MSP430系列单片机,该单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。其内部集成了很多模拟电路、数字电路和微处理器,提供强大的功能。不过该芯片昂贵不适合一般的设计开发。显示模块:采用LCD

12、液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是LCD相对价格较贵,而且本设计只需显示简单字符即可。按键模块:采用常见的独立按键输入模式,根据需要一共要用16个按键进行功能输入,而所选用的单片机只有32个IO,占用了总IO数的一般,不利于后续的功能扩展。功率放大模块:利用三极管做一个分立的功率放大器,有点是成本低廉,但是分立元件搭建的电路一般调试麻烦,而且元件较多,因此为了调试方便不适合使用分立元件进行搭建。声音播放模块:采用常见的蜂鸣器,但是声音不真实,易损坏。1.2 方案二供电模块:采用USB借口供电,可在电脑、移动电源等设备上使用,携带方便,操作简洁。

13、主控模块: 采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个IO口,且STC系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。显示模块:采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用单片机口线少。按键模块:采用矩阵键盘作为输入,矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组. 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1.1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P

14、1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。图1.2矩阵键盘电路结构框图功率放大模块:使用集成芯片LM386,该芯片是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少等优点的功率放大器,广泛应用于录音机和收音机之中。声音播放模块:采用扬声器(喇叭)作为声音播放器,声音响亮、真实。综上所述,方案二成本低,操作简单方便且性能稳定,所以我选择方案二。1.3 系统设计概述系统以ST

15、C89C52单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、数码管显示等功能的控制,起到总控和协调各模块之间工作的作用。单片机通过检测键盘输出对应频率的方波,后级通过LM386对功率进行扩大从而驱动扬声器发响。图1.3 系统结构框图2 系统硬件介绍2.1主控模块(STC89C52)主控模块模块在整个系统中起着统筹的作用,需要检测键盘,温度传感器等各种参数,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的STC89C52单片机作为系统的主控芯片。51系列单片机最初是由Intel 公司开发设计的,但后来Intel 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如 S

16、ST、Philip、Atmel 等大公司。因此市面上出现了各式各样的均以51 为内核的单片机。这些各大电子生产商推出的单片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51一致的。STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。STC89C52单片机的基本组成框图见图2.1。图2.1 单片机最小系统2.1.1 STC89C52的主要特性1. 一个8 位的微处理器(CPU)。2. 片内数据存储器RA

17、M(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用。4. 四个8 位并行IO 接口P0P3,每个口既可以用作输入,也可以用作输出。5. 两个定时器

18、计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断源。7. 一个全双工UART(通用异步接收发送器)的串行IO 口,用于实现单片机之间或单机与微机之间的串行通信。8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令

19、的执行速度。图2.2 STC89C52单片机管脚图部分引脚说明:时钟电路引脚XTAL1 和XTAL2:XTAL2(18 脚):接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL2 端是否有脉冲信号输出。XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。2.控制信号引脚RST,ALE,PSEN 和EA:RST/VPD(9 脚):RST 是复位信号输入端,高电平有效。当此输入端保持

20、备用电源的输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将5V 电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST 引脚的第二功能是VPD,即接入RST 端,为RAM 提供备用电源,以保证存储在RAM 中的信息不丢失,从而合复位后能继续正常运行。ALE/PROG(30 脚):地址锁存允许信号端。当8051 上电正常上电正常工作后,ALE 引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC 的1/6。CPU 访问片外存储器时,ALE 输出信号作为锁存低8 位地址的控制信号。平时不访问片外存储器时,ALE 端也以振荡频率的1/6 固定输出正脉冲,因而AL

21、E 信号可以用作对外输出时钟或定时信号。如果想确定8051/8031 芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031 基本上是好的。ALE 端的负载驱动能力为8 个LS 型TTL(低功耗甚高速TTL)负载。此引脚的第二功能PROG 在对片内带有4KB EPROM 的8751 编程写入(固化程序)时,作为编程脉冲输入端。PSEN(29 脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM 的OE 端(见后面几章任何一个小系统硬件图)。PSEN 端有效,即允许读出EPROMROM 中的指

22、令码。PSEN 端同样可驱动8 个LS 型TTL 负载。要检查一个8051/8031 小系统上电后CPU 能否正常到EPROMROM 中读取指令码,也可用示波器看PSEN 端有无脉冲输出。如有则说明基本上工作正常。EA/Vpp(31 脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA 引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051 为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA 引脚接低电平(接地)时,CPU 只访问外部EPROM/ROM 并执行外部程序存储器中的指令,

23、而不管是否有片内程序存储器。对于无片内ROM 的8031 或8032,需外扩EPROM,此时必须将EA 引脚接地。此引脚的第二功能是Vpp 是对8751 片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。3.输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932 脚):P0口是一个漏极开路的8 位准双向I/O口。作为漏极开路的输出端口,每位能驱动8 个LS 型TTL 负载。当P0 口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0 口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU 访问片外存储

24、器时,P0口分时提供低8 位地址和8 位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口(P1.0P1.7,18 脚):P1口是一个带内部上拉电阻的8 位准双向I/O口。P1口每位能驱动4 个LS 型TTL 负载。在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口(P2.0P2.7,2128 脚):P2口是一个带内部上拉电阻的8 位准双向I/O口。P口每位能驱动4个LS 型TTL 负载。在访问片外EPROM/RAM 时,它输出高8 位地址。P3口(P3.0P3.7,1017 脚):P3口是一个带内部上拉电阻的8 位准双向I/

25、O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O 端口有很大的区别,它的每个引脚都有第二功能。2.1.2 STC89C52的中断系统STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以

26、工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。2.1.3 STC89C52的系统介绍图2.3 单片机最小系统电路图图2.3为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用。2.2显示模块2.2.1 数码管原理常见数码管按段数分为七段数码管

27、和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段

28、的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管动态显示接口是单片机中应用最为广泛的一

29、种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并

30、非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.2.2 显示模块电路设计 如下图所示为一位共阳数码管的硬件电路连接图,由于数码管内部实际为8个LED灯,如果把LED的阴级直接单片机的IO的口,会使LED通过的电流过大从而把数码管烧毁,因此在设计的时候在LED的阴级和单片机的IO之间加上了限流电阻从而起到限流作用。根据经验,这里选取了1K电阻。程序编写的时候我们预先根据要显示的字符,编写了个对应要显示的数组,这样可以使程序更加简化。图2.4共阳数码管硬件电路连接图 2.3 矩阵键盘模

31、块图2.5矩阵键盘模块电路图硬件电路设计图如上图所示。把单片机的P3.0P3.7端口通过8联拨动拨码开关连接到“4*4行列式键盘”,其中P3.0-P3.3作为列线,P3.4-P3.7作为行线,系统首先通过CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“1”,则置第一根行线置为“0”状态,以此类推。如读入输入缓冲器的状态不全为“1”,确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。最常见的键盘布局如图2.

32、5所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。表2.1 键盘布局 48C播放歌曲37BF26AE159D矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。2.4 功率放大模块(LM386)功率放大模块我们选用了LM386作为功率放大模块的主要芯片,LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200

33、。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。2.4.1 LM386内部原理图2.6LM386内部结构图LM386内部电路原理图如图所示。与通用型集成运放相类似,它是一个三级放大电路。第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。第二级为共射放

34、大电路,T7为放大管,恒流源作有源负载,以增大放大倍数。第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2为输出级提供合适的偏置电压,可以消除交越失真。引脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为OTL电路。输出端(引脚5)应外接输出电容后再接负载。电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。图2.8 LM386管脚图LM386的外形和引脚的排列如上图所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和

35、8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10F。查LM386的datasheet,电源电压4-12V或5-18V(LM386N-4);静态消耗电流为4mA;电压增益为20-200;在1、8脚开路时,带宽为300KHz;输入阻抗为50K;音频功率0.5W。2.4.2 功率放大器使用事项尽管LM386的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出喇叭上会产生非常讨厌的噪声。(1)通过接在1脚、8脚间的电容(1脚接电容+极)来改变增益,断开时增益为20。因此用不到大的增益,电容就不要接了,不

36、光省了成本,还会带来好处-噪音减少,何乐而不为?(2)PCB设计时,所有外围元件尽可能靠近LM386;地线尽可能粗一些;输入音频信号通路尽可能平行走线,输出亦如此。这是死理,不用多说了吧。(3)好调节音量的电位器。质量太差的不要,否则受害的是耳朵;阻值不要太大,10K最合适,太大也会影响音质,转那么多圈圈,不烦那!(4)可能采用双音频输入/输出。好处是:“+”、“”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。(5)7脚(BYPASS)的旁路电容不可少!实际应用时,BYPASS端必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,

37、减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,这个电容可千万别省啊!(6)少输出耦合电容。此电容的作用有二:隔直+耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率(fc=1/(2*RL*Cout))提高。分别测试,发现10uF/4.7uF最为合适,这是我的经验值。(7)源的处理,也很关键。如果系统中有多组电源,太好了!由于电压不同、负载不同以及并联的去耦电容不同,每组电源的上升、下降时间必有差异。3 系统软

38、件介绍3.1 系统软件整体设计图3.1 主程序流程图主程序流程图如图3.1所示,单片机上电后先进行初始化,清除一些参数的初值,然后单片机通过不断的扫描矩阵键盘从而判断用户按下的是哪个按键,用户按下按键后单片机通过装载不同的值给定时器从而发出不同频率的声音。3.2 定时器产生音乐信号原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。利用AT89C51的内部定时器使其工作

39、计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式(如式2-1所示)是:Nfi2fr2-1式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T65536N65536fi2fr例如:设K65536,fi1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。T65536

40、N65536fi2fr6553610000002fr65536500000/fr低音DO的T65536500000/26263627中音DO的T65536500000/52364580高音DO的T65536500000/1046650593.3 程序设计原理软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系

41、,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分为后台程序(背景程序

42、)和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十ms甚至几百ms也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断)。也可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗干扰。4 调试结果与仿真4.1 调试结果(1)在测试中遇到LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.(2)LED 数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是

43、否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。经过一系列的问题查找后系统最终能正常工作,并完成所有的功能。4.2 仿真结果以下为系统仿真图:图4.1系统仿真总结 通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。但由于仿真系统原因,本设计音频效果不是很好。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Prot

44、el99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。这次在论文撰写以及课题研究的过程中,遇到了许多困难,“书到用时方恨少”的感觉在我身上最为深刻,虽说在老师和同学的帮助下完成了论文和实物,但还是存在很多不足之处。通过这个几个月的学习,我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。致谢历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师

45、的帮助下度过了。尤其要强烈感谢我的论文指导老师兰英老师,她对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。 在此向帮助和指导过我的各位老师表示最衷心的感谢!感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在提供技术支持的同时,还在论文的撰写和排版过程中提供热情的帮助。最后,我要感谢我的母校成都理工大学工程技术学院这四年来对我的培养教育,谢谢你们!参考文献1 彭伟.单片机C语言程序设计实训100例M.电

46、子工业出版社.2009.2 吴运昌模拟电子线路基础M.华南理工大学出版社,2004.3 阎石数字电子技术基础M.高等教育出版社,1997.4 张晓丽等数据结构与算法M.机械工业出版社,2002.5 马忠梅等 ARM&Linux嵌入式系统教程M.北京航空航天大学出版社,2004.6 李建忠单片机原理及应用M.西安电子科技大学,2002.7 韩志军等.单片机应用系统设计M.机械工业出版社,20048 周润景等. Proteus在MCS-51&ARM7系统中的应用百例M.电子工业出版社,20069 马忠梅等.单片机的C语言应用程序设计M.北京航空航天大学出版社,200610 刘树中,孙书膺,王春平.

47、单片机和液晶显示驱动器串行接口的实现M.微计算机信息,2007附件1 系统整体原理图附件2 元件清单名称数量STC89C52130PF电容210UF电容31000UF电容1330欧姆电阻110K电阻110K电位器1DIP40插座1DIP8插座1轻触按键1712M晶振1LM3861扬声器1板子1铜柱4螺帽4数码管1附件3 系统PCB设计图附件4 系统源程序程序如下:#include #include /本程序是电子琴的程序,能够实现单独演奏和放一首歌曲的功能。其中,按键115是用于单独演奏的,按键16是用于播放歌曲的/播放歌曲的时候需要按复位键才能够停止。/共阴极数码管段码表,最后一字节为黑屏unsigned char code DSY_CODE=0x28,0xee,0x34,0xa4,0xe2,0xa1,0x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁