基于mcs—51单片机简单音乐发生器的设计_第1页
基于mcs—51单片机简单音乐发生器的设计_第2页
基于mcs—51单片机简单音乐发生器的设计_第3页
基于mcs—51单片机简单音乐发生器的设计_第4页
基于mcs—51单片机简单音乐发生器的设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南工业职业技术学院HUNANINDUSTRYPOLYTECHNIC毕业实践类别毕业设计题目基于MCS51单片机简单音乐发生器的设计系名称专业及班级学生姓名学号10指导教师王皑赵俊完成日期2009年4月15日湖南工业职业技术学院毕业实践任务书系名称电气工程系专业及班级电信S064学生姓名毛浩学号10毕业实践题目毕业设计基于MSC51单片机简单音乐发生器的设计指导教师(签字)教研室主任(签字)系主任(签字)2009年1月10日毕业实践课题及任务课题简介该课题主要利用单片机技术,采用汇编语言或C语言编程来控制音乐发生器实现弹奏音乐的过程。其目的是培养学生利用单片机控制技术,汇编语言或C语言编程控制技术解决生产、生活中的实际问题,对提高学生的设计能力动手能力和工程实践技能有较重要的意义。学生在设计该课题时,应具备电路分析、电子技术、电子CAD技术、单片机控制技术、C语言程序设计等方面的相关知识,掌握电路设计流程图,电子元器件的选择、电路原理图的设计及连线。熟悉程序的编写,输入,修改和调试等。课题任务要求1、选择正确的电子元件2、画出电气控制系统原理图及PCB板的布线设计3、用C语言或汇编语言编写出系统控制程序4、系统的安装与调试进程安排第3周根据课题要求,查阅相关理论书籍,设计参考书及相关资料,进一步加深对课题的理解和认识。第4周根据控制要求,设计控制电路状态流程图,设计系统控制程序,设计系统电气控制原理图。第5周选择电子电器元件。第6周开始组装电路,上机开始调试控制程序。第7周调试,修改,完善设计,撰写毕业设计说明书。第8周设计资料的修改、整理、完善。毕业设计答辩。毕业实习(第1周第2周)地点湘计算机厂、湖南机床厂、长沙电机厂、曙光电子厂、长沙水泵厂或自找实习单位实习内容及要求了解企业现状及发展趋势,熟悉生产、装配及加工工艺流程,了解企业的新技术、新工艺的应用情况,调查了解企业对专业技术人员人才需求情况及人才特点,写出实习报告(5000字以上)参考资料1、徐仁贵、廖哲智主编单片微型计算机应用技术北京机械工业出版社20032、刘仁宇、施伟主编模拟电子技术北京机械工业出版社19983、卢庆林主编数字电子技术北京机械工业出版社20054、龙志文主编电力电子技术北京机械工业出版社20055、邱丽芳主编单片机原理与应用人民邮电出版社20076、王廷才主编电子线路CADPROTEL99使用指南机械工业出版社20067、林志琦主编基于PROTEUS的单片机可视化软硬件仿真M北京航天航空大学出版20068、徐仁贵主编单片微型计算机应用技术M北京机械工业出版社20009、戴佳戴卫恒主编51单片机C语言应用程序设计实例精讲M北京电子工业出版社2007湖南工业职业技术学院毕业实践开题报告书电气工程系电子信息工程专业学生姓名毛浩班级电信S064学号10课题名称基于MSC51单片机简单音乐发生器的设计课题准备情况在动手做设计之前,我们在网上查找了一些设计的思路和方法,再与之关联的知识,在图书馆查阅了单片微型计算机应用技术、电力电子技术、电路分析、电子线路CAD、微机原理与应用技术、等与音乐发生器有关书籍资料。思路和方法本次设计的核心器件是单片机芯片和音频功放芯片。单片机采用的是ATMEL公司的51单片机芯片AT89C51,音频功放芯片使用的是国家半导体公司的LM386,键盘使用44布局,用户可通过键盘上对应的音符键弹奏乐曲,编程语言使用语言。拟重点解决的问题课程设计中重点需要解决的有控制电路状态流程图的设计、汇编系统控制程序、电气控制系统原理图设计、上机调试控制程序。计划进度该设计我们准备用八个星期完成,前三周用来查阅相关理论书籍,设计参考书,进一步加深对课题的理解和认识,再拟好整体设计方法与思路。第四周根据控制要求,设计控制电路状态流程图,设计系统控制程序,设计系统电气控制原理图。第五到七周用C语言编写号系统运行的控制程序,选择电子电器原件,设计电路,上机开始调试控制程序,第八周设计资料的修改、整理、完善。撰写毕业设计说明书。指导教师意见签名年月日湖南工业职业技术学院毕业实践考核表电气工程系电子信息工程专业学生姓名毛浩班级电信S064学号10课题名称基于MSC51单片机简单音乐发生器的设计课题完成情况及自我评价经过查找资料对音乐发生器的工作原理有了一定的了解与认识,在设计的过程中也遇到过不少问题,但是本着“世上无难事,只怕有心人”的心态,同时在指导老师的指导、同学之间的相互讨论下,最终按计划进度完成了课题。通过设计使我对以前所学的知识进行了一次系统的整合与掌握,对系统的设计、产品的工艺流程也有了更进一步的了解认识。评语评分(共40分)指导教师评价签名年月日评语评分(共30分)评阅教师评价签名年月日评语评分(共30分)答辩小组评价组长签名年月日毕业实践评审组审核经综合考核该学生毕业实践得分分,评定为组长签名年月日摘要本文是应用MCS51单片机原理和控制理论设计音乐发生器的硬件电路,并利用C语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。首先在绪论中介绍了本课题的课题背景、研究意义及完成的功能。本系统是以单片机的基本语言C语言来进行软件设计。正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,并介绍了单片机微处理器的发展史,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程。其次阐述了程序的流程和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现音乐发生器的设计思想作了详细的论述。关键词单片机,音乐,C语言,AT89C51,LM386目录第一章前言111单片机技术的特点及应用1111单片机的特点1112单片机的应用112单片机实现音乐发生器的意义2第二章系统总体分析321音乐的基本知识322单片机产生音频脉冲323单片机实现音乐节拍524建立音乐的步骤625音频功放6第三章硬件电路的设计731结构框图732主要器件7331LM3867332AT89C51833电路原理图及说明11第四章系统主要程序的设计1341程序语言的选择1342C语言程序设计13第五章调试与检测2151硬件的焊接2152硬件的调试机器故障排除22总结24致谢25参考文献26第一章前言11单片机技术的特点及应用随着大规模和超大规模集成电路技术的发展和计算机微型化的需要,将微型计算机的基本部件中央处理器(CPU)、存储器、输入/输出(I/O)接口、定时器/计数器等多种资源集成在一个半导体芯片上,使得一块集成电力芯片就能构成一个完整的微型计算机。这种集成电路芯片被称为单片微型计算机(SINGLECHIPMICROCOMUPER),简称单片机。单片机在结构设计上,他的软、硬件系统及I/O接口控制能力等方面都有独到之处,具有较强而有效的功能。从其组成、逻辑功能上来看,单片机具备了微型计算机系统的基本部件。目前,8位高档机和16位机在单片机应用中占主导地位,产品众多,已有几十个系列、几百个型号,除了通用单片机以外,集成更多资源,如A/D转换器、D/A转换器、“看门狗”(WATCHDOG)电路、LCD控制器、网路控制模块等,将单片机嵌入式系统和INTENET连接起来已是一种趋势。还有专用单片机产品,如专门用于数据处理(图像和语言处理等)的单片机。总之,单片机正在向微型化、低功耗、高速、集成、高集成度、多资源、网络化、专用型方向发展。111单片机的特点单片机在一块芯片上集成了一台微型计算机所需要的基本部件。它在硬件结构、指令功能等方面均有独到之处,其特点如下性价比高。单片机性能稳定,功能强大,价格便宜。体积小,集成度高、可靠性高。单片机将一台计算机所需要的基本部件集成在一块芯片上,减少了各部件间的连线,能大大地提高运行速度和抗干扰能力。控制功能强。为了,满足工业控制的需要,单片机有很强的位处理功能。在其他的逻辑控制功能等方面,也都优于一般的8位微处理。单片机系统配置灵活、方便。由于单片机带有一定数量的接口电路,容易构成各种规模的应用系统。单片机类型多。单从ROM类型来说,单片机的只读存储器有ROM、EPROM、EEPROM、FLASHMEMORY等多种,可以根据实际需要进行选择。112单片机的应用由于单片机具有如上所述的特点,因此在工业生产、日常生活等诸多领域,得到了日益广泛的应用,单片机的主要应用领域有工业控制,如在工业生产过程中参数(如温度、压力、流量、液位等)的控制,数据处理功能于一体,如转速测试仪、噪声测试仪、振动测试仪及电子秤等。计算机网络与通信,单片机上有并行I/O接口角儿串联I/0接口,可用于通信接口,如单片机控制的自动呼叫应答系统、列车无线通信系统、遥测遥控系统等。家用电器,由于单片机体积小,控制能力强,且片内与定时器/计数器,所以广泛应用于家用设备中。如空调、洗衣机、微波炉及防盗报警等。本设计是单片机在音乐发生器方面的应用。12单片机实现音乐发生器的意义本设计是以AT89C51芯片的电路为基础,外部加上功率放大器、放音设备,以此来实现音乐发生器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大单片机和音乐爱好者提供了很好的借鉴。为了完成音乐发生器的设计,我将进行以下工作1分析音乐实现方法,选择合适设计的芯片。2进行硬件电路的设计,绘制音乐发生器电路原理图。3进行软件设计,设计程序代码。4调试硬件和软件电路,验证整个设计。第二章系统总体分析21音乐的基本知识在人类还没有产生语言时,就已经知道利用声音的高低、强弱等来表达自己的思想和感情。声带、琴弦等物体振动时会发出声波,声波通过空气传播入人耳,人民就听到了声音。声音有噪音和乐音之分,振动有规律的声音是乐音,如人发出的歌声、有琴弦发出的琴音等,音乐中所用的声音主要是乐音。乐音听起来有的高有的低,这就叫高音。高音是由发音物体振动频率的高低决定的,频率高的就声音高,频率低的声音低。比如男人唱歌时声带振动频率低,声音女人唱歌时声带振动频率高,所以男声比女声低。音乐中所用乐音的范围从每秒钟振动16次的最低音到每秒钟振动4186次的最高音,大约97个。现在最大的钢琴可以演奏除其中的88个音,是乐音范围最大的乐器,人唱歌时因受生理限制,所能唱出的乐音只是其中的一部分。不同的高音的乐音是用C、D、E、F、A、B来表示,这7个字母就是乐音的音名,他们依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7、相当于汉字“多来米阀梭拉西”的读音,这是唱曲时乐音的发音,所以叫唱名。把C、D、E、F、A、B这一组音的距离分成12个等分,每一个等分叫一个“半音”两个音之间的距离有两个“半音”的,就叫“全音”。在钢琴键盘乐器上,CD、DE、FG、GA、AB两音之间隔着一个黑键,它们之间的距离就叫做全音;EF、BC两音之间没有黑键相隔,它们之间隔的距离就是半音。通俗地说,那些唱成1、2、3、4、5、6、7的音叫做自然音,那些左上角加上号的(如4、1)或者或者B号(如B7、B3)的叫变化音。叫升记号,表示把音在原来的基础上升高半音;B叫降记号,表示在原来的基础上降低半音。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是有许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。22单片机产生音频脉冲要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T1/5231912US,因此只要令计数器计时956US/1US956,在每计数956次时将I/O反相,就可得到中音DO(523HZ)。计数脉冲值与频率的关系公式如下NFI2FRN计数值;FI内部计时一次为1US,故其频率为12MHZ;FR要产生的频率;其计数值的求法如下T65536N65536FI2FR例如设K65536,F1000000FI1MHZ,求低音DO(261MHZ)、中音DO(523MHZ)、高音DO(1046MHZ)的计数值。T65536N65536FI2FR6553610000002FR65536500000/FR低音DO的T65536500000/26263627中音DO的T65536500000/52364580高音DO的T65536500000/1047650595C调各音符频率与计数值T的对照表如表11所示表11C调各音符频率与计数值T的对照表频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)音符低1DO262636284FA740648601DO27763731中5SO78464898294638355SO83164934低2RE2RE31163928中6LA88064968低3M33064021693264994低4FA34964103中7SI988650304FA37064185高1DO104665058低5SO392642601DO1109650855SO41564331高2RE117565110低6LA440644002RE124565134646664463高3M131865157低7SI49464524高4FA139765178中1DO523645804FA1480651981DO55464633高5SO156865217中2RE587646845SO1661652352RE62264732高6LA176065252中3M659647776186565268中4FA69864820高19676528323单片机实现音乐节拍除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是因持续时间的长短,在单片机系统中可以用延时来实现。如果1/4拍的延时设为04秒,则一拍的延时是04秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的倍数。表12所示的为节拍与节拍码对照。表13所示的为各调1/4节拍的时间设定各调1/4节拍的时间设定表12节拍与节拍码对照节拍码节拍数节拍码节拍数11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍41/2拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍表13各调1/4节拍的时间设定各调1/4节拍的时间设定曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒1/4拍的延迟时间187毫秒DELAYMOVR7,02D2MOVR4,187别的延迟值,只需修改这儿的值为相应值,即可。D3MOVR3,248DJNZR3,DJNZR4,D3DJNZR7,D2DJNZR5,DELAY节拍值放在R5,决定节拍RET24建立音乐的步骤1)先把乐谱的音符找出,然后建立T值表的顺序。2)把T值表建立在TABLE1,构成发音符是计数值放在“TABLE”。3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。25音频功放在一定频率范围内,具有固定频率的振动就能产生乐音,但是单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。本次设计使用国家半导体公司的低压高频功率放大器LM386实现音频功放电路。LM386具有以下功能特性适合于电池工作;使用外部元件少;供电范围宽412V或者518V;低静态电流消耗4MA;电压增益范围20200V;LM386的增益可调,它广泛应用与各种音频电路中。第三章硬件电路的设计这次设计的硬件电路较为简单,主要由键盘、单片机、音频功放及扬声器组成。31结构框图系统硬件的结构框图如图11所示图31系统硬件结构框图32主要器件本次设计的核心器件是单片机芯片和音频功放芯片。单片机采用的是ATMEL公司的51单片机芯片AT89C51,它完全可以满足本次设计的需求,而且使用方便,价格便宜,易于获取。音频功放芯片使用的是国家半导体公司的LM386。331LM386LM386的引脚分布图如图23所示图32LM386引脚分布图其引脚功能说明如下GAIN(一脚、8脚)增益控制引脚,如果两脚悬空,则增益为20V;如果两脚之间接一个大的极性电容,则增益可达到200V;如果再和电容串一个电阻;增益可设置为20200V之间。IN(2脚)负极性输入脚。在单极性输入时,此引脚接地。IN(3脚)正极性输入脚。在单极性输入时,此引脚接输入信号。GND(4脚)接地端。VOUT(5脚)电压输出脚,此引脚为音频功放电路的输出。VS(6脚)电源脚。供电范围415V或者518V。BYPASS(7脚)旁路脚,此引脚可悬空或者旁边接一个大电容接地。332AT89C51如图26所示。图33引脚图1、电源引脚VCC40电源端GND20接地端工作电压为5V,另有AT89LV51工作电压则是276V,引脚功能一样。2、外接晶振引脚如图27所示。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHZ,时钟频率就为6MHZ。晶振的频率可以在1MHZ24MHZ内选择。电容取30PF左右。型号同样为AT89C51图34外接晶振引脚的芯片,在其后面还有频率编号,有12,16,20,24MHZ可选。大家在购买和选用时要注意了。如AT89C5124PC就是最高振荡频率为24MHZ,40P6封装的普通商用芯片。3、复位RST9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低图35常用复位电路图电平时,芯片为ROM的00H处开始运行程序。常用的复位电路如图28所示。4、输入输出引脚1P0端口P00P07P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部FLASH程序存储器编程时,接收指令字节校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址低8位/数据总线,访问期间内部的上拉电阻起作用。如图29所示。图36P0口一位结构图2P1端口P10P17P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部FLASH程序存储器编程时,接收低8位地址信息。如图210所示。图37P1口一位3P2端口P20P27P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部FLASH程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。4P3端口P30P37P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。除此之外P3端口还用于一些专门功能。如图211所示。图38P3口一位结构图P13端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。P3口也可作为AT89C51的一些特殊功能口,如下所示P3口管脚备选功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。8051单片机的内部高128个字节为专用寄存器区,其中51子系列有21个(52子系列有26个)特殊功能寄存器(SFR),它们离散的分布在这个区中,分别用于CPU并行口、串行口、中断系统、定时/计数器等功能单元及控制和状态寄存器。8051系列单片机在物理上有四个存储空间片内程序存储器空间和片外程序存储器空间,片内数据存储器空间和片外数据存储器空间。8051单片机内部有256字节的数据存储空间RAM和4KB的程序存储器ROM。除此外还可以在片外扩展RAM和ROM,并且各自有64KB的寻址空间。64KB的程序存储器ROM中,有4KB地址区对于片内ROM和片外ROM是公用的。这4KB的地址为0000HFFFH而1000HFFFFH地址为外部ROM专用。CPU的控制器专门提供一个控制信号EA,用来区分内部ROM和外部ROM的公用地址区当EA接高电平时,单片机从片内的4KB存储区取出指令,当指令地址超过0FFFH后,就自动地转向片外ROM取指令;当EA接低电平时CPU只从片外ROM取指令。程序存储器的某些单元是保留给系统使用的0000H0002H单元是所有执行程序的入口地址,复位后,CPU总是从0000H单元开始执行程序;0003H002A单元均匀地分为五段,用来做五个中断服务程序的入口。数据存储器RAM也有64KB的寻址空间,在地址上与ROM重叠。8051通过不同的信号来选择ROM或RAM;当从外部ROM取指令时用选通信号PSEN;当从外部RAM读写数据时采用读写信号线RD或W来选通。因此不会因地址重叠而出现混乱。对于片内RAM的低128字节(00H7FH),还可以分为三个区。第一个区从00H1FH安排了四组工作寄存器,每组占8个RAM字节,记为R0R7。在某一时刻CPU只能用其中一组寄存器,工作寄存器的选择是有PSW中的两位来决定。第二个区域是可位寻址的区,占用20H2FH共16个字节(128位),这个区域除了作一般的RAM区还可以进行位操作。第三个区域就是一般的RAM区,地址为30H7FH共80个字节。33电路原理图及说明单片机音乐电路原理图如图24所示;图中单片机工作时钟为20HZ,其中P1口为键盘接口,P20为音频脉冲的输出脚。VS6GND4GAIN85BYP7GAIN11LM386R4470R310KC310UC201U347UC92SPEAKERC400047UVCCC630PFC530PFRSTC110UF/16VR282KVCCRXDTXDRSTXT2XT1P32VCCP00P01P02P03P04P05P06P07P10P11P12P34P14P15P16P17P20P21P22P23P24P25P26P27P33P13P35P36P37L2L3L1L4L8L7L5L612345678161514131211109R1680VCC124XTALGNDGND123J1123456789PR1103J123J2VCCRSTGNDXT1XT2GNDVCCKGNDP32P10P00P01P02P03P04P05P06P07单片机音乐原理图P101P112P123P134P145P156P167P178RST/VPD9RXD/P3010TXD/P3111INT0/P3212INT1P3313T0/P3414T1/P3515WRP3616RD/P3717XTAL218XTAL119GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/PROT30EA/VPP31P0732P0633P0534P0435P0336P0237P0138P0039VCC40U1STC89C516RD图39单片机音乐电路原理图本次设计的44键盘布局如图25所示;用户可通过键盘上对应的音符键弹奏乐曲3456712345671234第四章系统主要程序的设计41程序语言的选择51的编程语言常用的有二种,一种是汇编语言,一种是C语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,我在学习时选择了C语言指令的执行速度快,节省存储空间。42C语言程序设计此程序用了外中断INT0,用于换歌曲,当有键按下时,产生中断,演奏下一首歌。没有中断时,循环演奏此曲。INCLUDE“REG51H“DEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARTABLECODEUINTTABLE11564260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217CODEUCHARSONG/1迟来的爱/00X08,0X08,/10X02,0X12,0X42,0X62,0X52,0X42,0X21,11,0X18,0X18,0X02,0X22,0X42,0X82,0X92,0X82,0X61,0X51,0X42,0X58,0X58,/20X66,0X51,0X61,0X84,0X62,0X82,0X52,0X62,0X42,0X52,0X28,0X52,0X42,0X52,0X62,0X94,0X81,0X91,0X81,0X61,0X1C,0X12,0X82CODEUCHARSONG1/2两只蝴蝶/00X08,0X08,/13260X51,0X61,0X81,0X61,0X94,0X8C,0X02,0X42,0X51,0X41,0X21,0X41,0X02,0X42,0X51,0X41,0X21,0X51,0X04,0X03,0X11,0X21,0X41,0X52,0X51,0X41,0X21,0X41,0X62,0X82,0X02,0X62,0X62,0X52,0X62,0X82,/20X94,0X93,0X81,0X86,0X81,0X91,0XB2,0XB2,0XB2,0XC2,0XC2,0XB2,0XB4,0X04,0X02,0X82,0X71,0X61,0X51,0X61,0X51,0X41,0X21,0X41,0X42,0X52,0X62,0X82,0X84,0X62,0X52CODEUCHARSONG2/3祝你平安/00X08,0X08,/10X62,0X82,0X81,0X62,0X81,0X88,0X62,0X42,0X42,0X21,0X41,0X48,0X62,0X82,0X81,0X93,0X88,0X51,0X61,/20X52,0X62,0X82,0X51,0X61,0X58,0X62,0X42,0X42,0X21,0X61,0X66,0X51,0X61,0X62,0X42,0X42,0X21,0X61,0X68CODEUCHARSONG3/4一个师傅三个徒弟/00X08,0X08,/10XD2,0XE2,0XD2,0XE2,0XD2,0XE2,0XD2,0XB2,0XA8,0X68,0XD2,0XE2,0XD2,0XE2,0XD2,0XC2,0XB2,0XA2,/20XD8,0XD8,0XD8,0XD8,0X64,0X64,0X28,0X44,0X22,0X12,0X24,0X04CODEUCHARSONG4/5梦醒时分/00X08,0X08,/10X21,0X41,0X81,0X61,0X62,0X21,0X41,0X81,0X62,0X81,0X81,0X91,0XA1,0XB1,0X82,0X81,0X81,0X81,0X93,0X68,/20X21,0X41,0X81,0X61,0X62,0X21,0X41,0X81,0X62,0X81,0X91,0XA1,0XA1,0X91,0XC6,0X91,0X91,0X86CODEUCHARSONG5/6祈祷/00X08,0X08,/10X84,0X92,0XF2,0XD8,0XC4,0XB2,0XA2,0X98,0XC4,0XB2,0XF2,0XD2,0XC4,0XD8,0XD8,0X14,0X22,0X82,0X68,0X54,0X42,0X32,0X28,/20X14,0X22,0X42,0X44,0X14,0X28,0X28,0X28,0X28,0X14,0X22,0X42,0X54,0X52,0X62CODEUCHARSONG6/7春天的故事/00X08,0X08,/10X02,0X12,0X22,0X12,0X68,0X02,0X12,0X22,0X12,0X58,0X02,0X12,0X22,0X12,0X58,0X52,0X52,0X62,0X92CODEUCHARSONG7/8好大一棵树/00X08,0X08,/10XDC,0XC2,0XD2,0XC2,0X92,0XB2,0XA2,0XA2,0X82,0X22,0X92,0XB2,0XD2,0XD2,0XC4,0X92,0X94,0XD2,0XC2,0XB2,0XC2,0XC4,/20XE2,0XF2,0XFC,0X62,0X82,0X83,0X61,0X86,0X02,0X92,0XB2,0XB3,0X91,0X86,0X02CODEUCHARSONG8/9爱就一个字/00X08,0X08,/10X82,0X81,0X81,0X82,0XB1,0XB1,0XB2,0X92,0X93,0X91,0X82,0X91,0X81,0X82,0X71,0X61,0X72,0X82,0X84,/20X82,0X81,0X81,0X82,0XB2,0XB2,0X92,0X03,0X91,0X82,0XC2,0XC2,0XA1,0XB1,0XB4,0XD2,0XC2CODEUCHARSONG9/大约在冬季/00X08,0X08,/10XB6,0XA1,0X91,0XA8,0X96,0X82,0X66,0X61,0X81,0X94,0XA4,0XB4,0XC4,0XF8,0XF8,/20X41,0X42,0X41,0X02,0X41,0X51,0X62,0X81,0X81,0X02,0X61,0X81,0X92,0X61,0X61,0X52,0X51,0X61,0X64,0X02,0X61,0X51CODEUCHARSONG0/10生日快乐/00X08,0X08,/10X83,0X81,0X94,0X84,0XB4,0XA8,0X83,0X81,0X94,0X84,0XC4,0XB8UCHARHJSZUCHARLJSZUCHARJPMUCHARYFMUCHART00UINTI0SBITSPEAKERP10UINTKVOIDDELAY1FORK0K10T00I0SWITCHT0CASE0TABLESONGBREAK/选择第1首CASE1TABLESONG1BREAK/选择第2首CASE2TABLESONG2BREAK/选择第3首CASE3TABLESONG3BREAK/选择第4首CASE4TABLESONG4BREAK/选择第5首CASE5TABLESONG5BREAK/选择第6首CASE6TABLESONG6BREAK/选择第7首CASE7TABLESONG7BREAK/选择第8首CASE8TABLESONG8BREAK/选择第9首CASE9TABLESONG9BREAK/选择第10首VOIDSONGSING/发音程序I0WHILETABLEIJPMTABLEI/节拍值YFMTABLEI0X04/简谱值IFYFM/简谱为1,取计数值YFMYFM1HJSZUCHARTABLE1YFM0X08/取计数值高字节TH0HJSZLJSZUCHARTABLE1YFM/取计数值低字节TL0LJSZTR01/启动TIMER0ELSETR00/简谱为0,不发音DELAYJPM/节拍延时IVOIDMAINVOIDTMOD0X01/设TIMER0在MODE1TCON0X01/外部中断INT0,下降沿触发IE0X83/开中断(INT0,TIMER0)IP0X00/设置中断优先级TABLESONG0WHILE1LIGNTSONGSING/调用发音程序TR00/停止TIMER0DELAY21TABLESONG0SONGSING第五章调试与检测调试与检测是毕业设计中重要的环节,用的工具很简单电烙铁、焊丝和镊子。因为我们选用的是实验板,所以要用导线把各个元器件连接起来,这就要有一定的技术基础,幸好这个在我们以前的电装实习中已经掌握。焊接要细心,还要有耐心。焊接前要对照电路图对元器件有一个合理的布局,那样的话就会使电路简洁明朗,而且不易出错,即使出错也容易检查。下面就来介绍元器件的焊接方法和过程。51硬件的焊接511底座的焊接我的电路板有两个底座,一个是单片机AT89C51的,另一个是数码显示管的。我们用的是40脚的双排直插式的,在焊接时,要先把底座插到电路板上再进行焊接,底座脚的焊点要小,以免脚之间导通,还不能形成虚焊,虚焊会导致电路不通,底座要焊接牢固,不能和电路板距离太远,以免导致虚焊。底座还要放在公共线的两边,因为那两条线是火线和地线。焊接好后要对照电路仔细检查,再用万用表检测,看焊接是否良好。512按键的焊接我的电路中用到了5个按键,一个复位键、一个发射键、两个置数键,还有我自己加的一个计数控制键。我虽然做的是发射机,但只要对软件进行一些改动,也可以作为接收机,那时发射控制键就变成接收控制键了。我所用的按键是普通的断开按键,有4个脚,两边各两个,其中每边的两个脚是导通的,在焊接的时候要特别注意,我就是不小心,把相连的两个脚焊接当成不连的脚用来作开关,结果按键按下后不起作用。所以在焊接前一定要用万用表测出那两个脚是导通的,焊接完后再检测,看焊接是否良好。513时钟电路的焊接我们的电路中时钟电路包括一个晶震,两个电容。晶震是6M的,电容是普通电容,焊接前要刮腿,以免接触不好。晶震和电容要尽量靠近芯片,这样有利于时钟电路的稳定,减少干扰。焊接好后要用万用表检测。514导线的焊接导线的焊接比较麻烦。因为导线比较多,就要先对导线进行布局,找好于元器件相对的管脚,焊接前先要检测导线是否导通。焊接完成后要检测是不是连接良好。515电路板的检测和故障排除电路板完成后要进行全面检测,包括以下几个方面1、火线和底线的检测检测单片机底座的VC(40脚)是否与火线相连,检测数码管的功用端是否与火线连接,手动复位开关是否连接上火线。地线检查其他按键接地是否良好,时钟电路接地端的检测,单片机GND端(20脚)是否接地。检查完后再用万用表检查火线和地线是否导通。2、元器件之间的连接的检查参照电路图,用万用表仔细检查各个元器件连接是否良好,是否对应。52硬件的调试机器故障排除硬件的调试在上电后的工作是不是正常,主要包括不插单片机的调试和插上单片机的检测。521无单片机的调试无单片机调试主要检查电路工作是否正常,调试数码管是否点亮,显示数据是否正确,具体步骤如下A打开电源,将输出电压调到5伏,然后关闭电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论