毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc

上传人:来看看 文档编号:3283225 上传时间:2019-08-08 格式:DOC 页数:37 大小:832.02KB
返回 下载 相关 举报
毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc_第1页
第1页 / 共37页
毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc_第2页
第2页 / 共37页
毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc_第3页
第3页 / 共37页
毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc_第4页
第4页 / 共37页
毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于MCS-51单片机的多功能音乐盒设计.doc(37页珍藏版)》请在三一文库上搜索。

1、中南民族大学工商学院毕业论文(设计)系: 电子信息工程 专业: 电信 年级:2006 题目: 基于单片机的多功能音乐盒设计 学生: 学号: 指导教师: 职称:副教授 年 月 日中南民族大学工商学院本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名: 年 月 日目 录摘要1关键词1Abstract1Key words11. 绪论2 1.1 概论2 1.2 单片机的特点及应用2 1.2.1 单片机的特点

2、2 1.2.2 单片机的应用3 1.3 本设计预计目的32. 51系列单片机AT89C51的介绍32.1 AT89C51的功能特性32.2 AT89C51的引脚功能描述43 硬件设计63.1 总体设计框图63.2 各部分硬件设计及其原理63.2.1 键盘设计与原理63.2.2 LED显示电路设计与原理73.2.3 LCD显示器的选择73.2.4 时钟震荡电路设计与原理83.3 硬件电路图及功能84 节拍编码的确定方法104.1 音调的确定104.2 节拍的确定114.3 编码115 软件程序设计125.1 软件设计概述125.2 主程序流程图126 程序调试中出现的问题及解决的办法14结 论1

3、4参 考 文 献15附录:16基于单片机的多功能音乐盒设计摘要:本文是应用MCS-51单片机原理和控制理论设计音乐盒演奏控制器的硬件电路,并利用汇编语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。这种控制电路结构简单,可用性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。对单片机和音乐爱好者有一定的借鉴价值。关键词:单片机;音乐;汇编语言Based On Monolithic Integrated Circuits Mus

4、ical Box DesignAbstract:This paper introduces a design of music controller which is applied by the principle of MCS-51 and control system .Then use the assembly language to design program. The princile is that driving trumpet to send out different tone to produce different frequency, then make use o

5、f the delay to control the length of the pronunciation time .Convert the note into pronunciation time homologously and then the pronunciation equipments can broadcast musical a pleasing music. This conrol system is simple, dependable and extensive applied. If you want a different music you only need

6、 to change the pronunciation time.This paper has a good value for the music and the single-chip computer fan to read.Key words:Single-chip processor ;Music ;Assembly language1 绪论1.1 概论随着信息技术革命的深入和计算机技术的飞速发展,单片机的应用越来越广泛,并逐渐发展成为一门关键的技术学科。单片机具有一些突出优点:体积小、重量轻、耗电少、电源单一、功能强、价格低、运行速度快、抗干扰能力强、可用性高,所以在通信、家电、

7、工业控制、仪器仪表、汽车等产品中都可以看到单片机的身影。目前国内单片机的应用仍以MCS-51系列为主。本案是以AT89C51芯片的电路为基础,外部加上功率放大器、放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大单片机和音乐爱好者提供了很好的借鉴。1.2 单片机的特点及应用1.2.1 单片机的特点一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某

8、些应用领域中,它承担了大中型计算机和通用的微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,因此在各个领域中都得到了迅猛的发展。单片机的特点可以归纳为以下几个方面:1) 具有优异的性能价格比单片机的这种高性能、低价格是它最显著的一个特点。单片机尽可能把应用所需要的储存器,各种功能的I/O口都集成在一块芯片内,使之成为名副其实的单片机。有的单片机为了提高速度和执行效率,开始采用了RISC流水线和DSP的设计技术。使单片机的性能明显优于同类型的微处理器,有的单片机的ROM可达64KB(式中B表示字节),片内RAM可达2KB,单片机的寻址已突破64KB的限制,八位和十六位单片机寻址可达1M

9、B和16MB。单片机另一个显著特点是量大面广,因此世界上各大公司在提高单片机性能的同时,进一步降低价格,性能/价格之比是各公司竞争的主要策略。2) 集成度高、体积小、可靠性高单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连续,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境工作。3) 控制功能强单片机是电子计算机这个庞大家庭中的一个特殊品种,体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。为了满足工业控制要求,一般单片机的指令系统中有极其丰富的转移指令,I/O口的逻辑操作以及位处理器功能。单片机的逻辑控制功能及

10、运行速度均高于同一档次的微型计算机。4) 低电压、低功耗单片机大量应用于携带式产品和家用消费类产品,低电压和低功耗的特性尤为重要。许多单片机已可以在2.2V的电压下运行,有的已能在1.2V或0.9V下工作;功耗至微安级,一粒纽扣电池就可以使之长期使用。1.2.2 单片机的应用现在单片机的应用日益广泛深入,诸如在智能仪器仪表、家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着越来越重要的角色,具有广阔的应用前景。以下大致介绍一些典型的应用领域和应用特点。1)家用电器领域目前国内各种家用电器已普遍采用单片机控制取代传统的控制电路,而做成单片机控制系统。例如洗衣机、电冰箱、空调机、微波

11、炉、电饭煲、电视机、录像机、手机、摄像机及其它视频音像设备的控制器。还有儿童玩具以及机器人控制等。2 )办公自动化领域现代办公室中所使用的大量通信、信息产品多数都采用了单片机,如通用计算机系统中的键盘译码、磁盘驱动、打印机、绘图仪、复印机、电话、传真机、考勤机等。3 )商业营销领域在商业营销系统已广泛使用的电子称、收款机、条形码阅读器、仓储安全监测系统、商场保安系统、空气调节系统、冷冻保鲜系统等中,目前已纷纷采用单片机构成专用系统,主要由于这种系统有明显的抗病菌侵害、抗电磁干扰等高可靠性能的保证。4 )工业自动化如工业过程控制、过程监测、工业控制器及机电一体化控制系统等,这些系统除一些小型工控

12、机之外,许多都是由单片机为核心的单机或多机网络系统。如工业机器人的控制系统是由中央控制器、感觉系统、行走系统、擒拿系统等节点构成的多机网络系统。5 )智能仪表与集成智能传感器传统的控制电路目前各种变送器、电气测量仪表普遍采用单片机应用系统替代传统的测量系统,使测量系统具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音功能等。将单片机与传感器相结合可以构成新一代的智能传感器,它将传感器初级变换后的电量作进一步的变换、处理,输出能满足远距离传送、能与微机接口的数字信号。例如,将压力传感器与单片机集成在一起的微小型压力传感器可随钻机送至井下,以报告井底的压力状况。6 )汽车电子与航空航天电

13、子系统通常在这些电子系统中的集中显示系统、动力监测控制系统、自动驾驭系统、通信系统以及运行监视器(黑匣子)等都要构成冗余的网络系统。1.3 本设计预计目的本设计中用到了AT89C51单片机,44键盘,蜂鸣器,162 LCD,七段显示数码管LED。以AT89C51芯片为主芯片的控制电路需要达到如下的设计要求:1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)。2)采用LCD显示信息。3)开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。4)可通过功能键选择乐曲,暂停,播放。5)显示乐曲播放时间或剩余时间。2 51系列单片机AT89

14、C51的介绍2.1 AT89C51的功能特性AT89C51是一个低电压,高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强功能的AT89C51单片机能够被应用到控制领域中。AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,AT89C51还可以进行0

15、HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。2.2 AT89C51的引脚功能描述图2-1 AT89C51的引脚图VCC:电源电压 GND:地RST:复位输入。当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。P0口:P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个TTL电路。当“1”被写入P0口时,每个管脚都能够作为高阻抗输入

16、端。P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和程序校验时,P1口接收低8位地址。P2口:P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内

17、部有电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。闪烁编程或校验时,P2口接收高位地址和其它控制信号。P3口:P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。对P3口写 “1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示:表2-1 P3口第二功能端口引脚第二功能P3.0P3.1P3.2P3.3P3.4P3.5

18、RXDTXDINT0INT1T0T1P3.6P3.7WRRDP3口还接收一些用于闪烁存储器编程和程序校验的控制信号。ALE/:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可用于输出时钟或定时。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。这个位置后只有一条MOVX和MOVC指令ALE才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。

19、PSEN:程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的PSEN 信号不出现。/VPP:外部访问允许。欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。需要注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:震荡器反相放大器及内部时钟发生器的输入端。XTAL2:震荡器反相放

20、大器的输出端。3 硬件设计3.1 总体设计框图AT89C51LCD显示电路蜂鸣器键盘输入振荡电路LED显示电路 图3-1 总体设计框图3.2 各部分硬件设计及其原理3.2.1 键盘设计与原理键盘是由若干个按键组成的开关矩阵,它是最简单的单片机应用系统的输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通信。本设计采用44的键盘结构,如图3-2图3-2 键盘结构键盘的行线X0X3通过电阻接+5V。当键盘上没有键闭合时,所有的行线和列线都断开,行线都呈高电平。当键盘上某一个键闭合时,该键所对应的行线和列线都被短路。例如6号键被按下闭合时,行线X1和列线Y2被短路,此时X1的电平由Y2的电

21、位决定。如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先使列线Y0为低电平“0”,其余三根列线Y1、Y2、Y3都为高电平“1”,读行线状态。如果X0、 X1、 X2、 X3都为高电平,则Y0这一列上没有键闭合。如果读出的行线不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列上没有键闭合,接着使列线Y1为低电平,其余列线为高电平,用同样方法检查Y1这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。本设计中,涉及到了歌曲的选择,在讲解硬件电路之前,让我们看一看如下的硬件:0123456789ABCDEF图3-3 键盘这是一

22、个键盘,它是用来选择歌曲, 显示画面的有无和控制歌曲的停放的。 其按键功能说明:1A:十首歌曲 C:上一首歌曲 D:下一首歌曲 E:歌曲暂停 F:开机画面 当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。3.2.2 LED显示电路设计与原理 LED显示器是由发光二极管显示字段的显示器,也可称为数码管。它由8个发光二极管构成,通过点亮不同的字段可显示09、AF及小数点等字形。数码管通常有共阴极和共阳极两种结构。LED显示器有静态显示与动态显示两种形式。1)在单

23、片机应用系统中,常采用MC14495芯片作为LED的静态显示接口。其优点是显示稳定,在发光二极管导通电流一定的情况下显示器亮度大,系统在运行过程中,仅仅在需要更新显示内容时CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率;缺点是位数较多时显示口随之增加,硬件费用大。2)所谓动态显示就是一位一位地轮流点亮各位显示器(称为动态扫描)。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度即与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。本设计采用动态显示接口电路,AT89C51的P0.0P0.7口与一个8路驱动器

24、相连,用来接LED显示电路。 图3-4 LED显示电路图P0.0P0.7控制七段码a,b,c,d,e,f,g,用P2.0P2.7为数码管位选信号。3.2.3 LCD显示器的选择液晶显示器件的驱动方式有静态和动态两种,当液晶显示器件上显示像素较多时,如点阵液晶显示器,若使用静态驱动结构将需要很多的电气连接和庞大的硬件驱动电路。从经济性和可靠性而言,都是不取的。为了解决这个问题,在液晶显示器的电极的制作和排布上作一定的修改,采用矩阵结构。即把水平一组显示像素的背电极连在一起引出,称之为行电极,又称之为公共极,用COM表示;把纵向一组显示像素的段电极连在一起,称之为段电极,又称为列电极,用SEG或C

25、OL表示。每个液晶显示像素都由其所在的行和列的位置唯一确定。在驱动方式上采用了类似CRT的光栅逐行扫描的方法,称为动态驱动法,或多路寻址驱动法。本设计中采用动态驱动方式的LCD。AT89C51的P0.0P0.7口与LCD电路直接相连。3.2.4 时钟震荡电路设计与原理AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自然震荡器。 外接石英晶体及电容C1,C2接在放大器的反馈回路中构成并联震荡电路。对外接电容C1,C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡

26、频率的高低、震荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 图3-5 内部振荡电路 图3-6 外部振荡电路3.3 硬件电路图及功能图3-7 硬件电路图硬件电路:本设计中用到了98C51单片机,4*

27、4键盘,蜂鸣器,16*2 LCD,七段显示数码管LED。原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。总体硬件电路实现功能如下1) 电路中用P1.0P1.7控制按键,其中P1.0P1.3扫描行,P1.4P1.7扫描列。2) 用P0.0P0.7,P2.0P2.7控制LED,其中P0.0P0.7控制七段码a,b,c,d,e,f,g,用P2.0P2.7为数码管位选信号。3) 用P2.0P2.2作为LCD的RS,R/W,E的控制信号。用P0.0P0.7作

28、为LCD的D0D7的控制信号。4) P3.7口控制蜂鸣器。5) 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。4 节拍编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 4.1 音调的确定1) 要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再

29、对I/O反相,就可在I/O脚上得到此频率的脉冲。2) 利用AT89C51的内部定时器使其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法。此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。3) 例如频率为523Hz,其周期T1/5231912us,因此只要令计数器计时956us/1us956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz).计数脉冲值与频率的关系公式如下:NFi2Fr N: 计算值;Fi: 内部计时一次为1us, 故其频率为1MHz;4) 其计数值的

30、求法如下:T65536-N65536-Fi2Fr例如: 设K65536, F1000000Fi1MHz, 求低音DO(261Hz).中音DO (523Hz). 高音的DO (1046Hz)的计算值T65536-N65536-Fi2Fr65536-10000002Fr65536-500000/Fr 低音DO的 T65536-500000/26263627中音DO的 T65536-500000/52364580高音DO的 T65536-500000/1047650595) C调各音符频率与计数值T的对照表如表4-1所示.表4-1 C调各音符频率与计数值T的对照表音符频率简码值(T值)音符频率简码值

31、(T值)低1DO#1DO#低2RE#2RE#低3M低4FA#4FA#低6SO#5SO#低6LA#6低7SI中1DO#1DO#中2RE#2RE#中3M中4FA262277294311330349370392415440466494523554587622659698636286373163853639286402164103641856426064331644006446364524645806463364684647326477764820#4FA#中5SO#5SO#中6LA#6中7SI高1DO#1DO#高2RE#2RE#高3M高4FA#4FA#高5SO#5SO#高6LA#6高7SI 7407

32、8483188093298810461109117512451318139714801568166117601865196764860648986493464968649946503065058650856511065134651576517865198652176523565252652684.2 节拍的确定 表4-2 节拍与节拍码对照节拍码 节拍数 节拍码 节拍数1 1/4拍 1 1/8拍2 2/4拍 2 1/4拍3 3/4拍 3 3/8拍4 1拍 4 1/2拍5 1又1/4拍 5 5/8拍6 1又1/2拍 6 3/4拍8 2拍 8 1拍A 2又1/2拍 A 1又1/4拍C 3拍 C 1又

33、1/2拍F 3又3/4拍每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表4-2为节拍与节拍码的对照.如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY时间(1/4拍的延迟时间187毫秒),其余的节拍就是它的倍数,如表4-3为1/4和1/8节拍的时间设定。 表4-3 各调1/4节拍的时间设定 各调1/8节拍的时间设定曲调值 DELAY 曲调值 DELAY调4/4 125毫秒 调4/4 62毫秒 调3/4 187毫秒 调3/4 94毫秒调2/4 250毫

34、秒 调2/4 125毫秒4.3 编码建立音乐的步骤1. 先把乐谱的音符找出,然后建立T值表的顺序。2. 把T值表建立在TABLE1,构成发音符的计数值放在TABLE。3. 简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的TABLE处。表4-4 简谱对应的简谱码.T值.节拍数简谱发音简谱码T值节拍码节拍数567123456712345低音SO低音LA低音TI中音DO中音RE中音MI中音FA中音SO中音LA中音TI高音DO高音RE高音MI高音FA高音SO不发音123456789ABCDEF064260 64400645246458064684647776482064898649

35、686503065058651106515765178652171234568ACF1/4拍2/4拍3/4拍1拍1又1/4拍1又1/2拍2拍2又拍1/2拍3拍3又3/4拍5 软件程序设计5.1 软件设计概述软件的设计是控制单片机内部的定时器使其演奏出优美动听的音乐的另一个重要方面,它的好坏直接关系到演奏的成功与否。此次设计我是用汇编完成的,需要能熟练地掌握汇编语言。5.2 主程序流程图本程序可以实现课程设计的基本要求,并可以通过按键播放六首歌曲,程序流程图如下:主程序开始初始变化量及LCD接口初始化计数器T0,定时器T1LCD显示英文欢迎字符等待按键,是否有按键?包括播放键,暂停键,停止键NY

36、歌曲号及播放时间显示在LCD上根据按键码演奏对应的歌曲6 程序调试中出现的问题及解决的办法1.出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。2.程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。3.编程时要注意,在程序开始时,要写入各定时器中断的入口地址。4.编写程序过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。5.程序的结构要

37、设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。6.编程前要加流程图,这样会使思路清晰。7.LCD计时正常显示的解决办法:1)两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁,使CPU负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观,但还有问题。2)当音乐为全4拍起始时,此时音乐节奏与定时器T1中断频率错开,LCD显示和音乐播放都会好一些。3)另外,在歌曲中,当遇到一个音符发音为4拍,在编曲中为*CH,托音时间较长,当定时器T1此时来中断时,就会对

38、歌曲播放产生影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果变差。4)改进方案:若采用可以定时时间更长的单片机,可以避免所有问题。结 论通过这次的毕业设计,我最大的收获就是自己做出来一个东西,结果如何不重要,因为这完全是通过自己制作的,并且本设计涉及的大部分内容是我以前所没有接触过的。但无论是软件还是硬件,仍有许多需要改进和完善的地方,也有许多可以扩展的地方。这次毕社给我的感受很深刻,总结起来可有一下几个方面:以前的学习多重于理论方面,而且知识面不够宽,通过这次毕业设计,使我第一次系统全面的回顾了大学四年所有的课程:模拟电路、数字电路、编程等等。从中我还体会到了所学理论知识的重要性,知

39、识掌握得越多,设计得就更全面、更顺利、更好。再有学会了怎样查阅资料和利用工具书。由于一个人不可能什么都学过,什么都懂,更加不可能一学就通,因此,在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料。我经过这次系统的毕业设计,大致地了解了对一设计进行系统研究、设计及制作的全过程。这些认识使我在将来的工作和学习当中都会有很大的帮助。在往后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识补充最新的知识。毕业设计培养了严肃认真和实事求是的科学态度,而且培养了吃苦耐劳的精神以及严谨的作风,提高了交流沟通和团体协作能力,这些对我以后的工作都非常有帮助的。参 考 文 献1 何立民.单片机

40、应用系统设计M.北京航空航天大学,19962 闫玉德.MCS-51单片机原理及应用.北京:机械工业出版社,20013 李广第.单片机基础.北京:北京航空航天大学出版社,20034 张毅刚.MCS-51单片机应用设计.哈尔滨工业大学出版社,19925 康化光.电子技术基础.北京:高等教育出版社,20016 王建校.杨建国,51系列单片机及C51程序设计.科学出版社,20027 赵晓安.MCS-51单片机原理及应用.天津:天津大学出版社,20018 马春燕.微机原理与接口技术(基与32位机)。电子工业出版社,20079 曹薇,谢云敏.单片机原理及应用.北京:中国水利水电出版社,200410 张迎新

41、.单片机初级教程.北京:北京航空航天大学出版社,199911刘德望,韦穗林.电子制作实训.北京:中国水利水电出版社,200412 伍学珍,刘光明.模拟电子技术.北京:中国水利水电出版社,200413 曹巧媛.单片机原理及应用.北京:电子工业出版社,199714 蔡美琴主编.MCS-51单片机原理及应用.北京:高等教育出版社,1992附录:汇编程序清单:RS BIT P2.0;定义液晶显示端口标号RW BIT P2.1E BIT P2.2;*L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63H;*org 0000h ljmp mainORG 000BHLJMP TT0ORG 001BHLJMP T1INT org 1000hmain: ;-;液晶初始化MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示 lCALL ENABL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1