单片机课程设计音乐播放器_第1页
单片机课程设计音乐播放器_第2页
单片机课程设计音乐播放器_第3页
单片机课程设计音乐播放器_第4页
单片机课程设计音乐播放器_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、徐 州 师 范 大 学 科 文 学 院本 科 生 课 程 设 计课 程 名 称: 单片机课程实训 题 目: 播放音乐 专 业 班 级: 08 电信 学 生 姓 名: 学 生 学 号: 日 期: 2011-6-15 指 导 教 师: 科文学院教务部印制一、课程设计目的、任务和内容要求: 单片机在各个领域的应用日趋深入单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,在人们的生活中也随处可见。本课题就单片机的控制应用展开,设计能播放简单音乐的音乐播放器,外部电路能够对单片机进行简单控制。具

2、体设计任务如下:1、了解单片机工作原理;2、掌握单片机外围电路设计;3、掌握单片机程序设计方法;4、提高动手操作能力。 5、写课程设计报告。设计要求:设计播放简单音乐的音乐播放器。要求:一般情况下,接通电源,自动播放音乐。 二、进度安排:第3天: 查找资料,熟悉播放音乐的设计原理,给出设计总体方案;第46天: 各模块的详细设计;第712天: 硬件连线,调试;第1314天:写课程设计报告。三、主要参考文献:1谢自美. 电子线路设计-实验-测试m .武汉:华中科技大学出版社, 20002高峰 单片微机应用系统设计及实用技术 机械工业出版社 20043郑郁正.单片机原理及应用.四川大学出版社,200

3、3。4侯玉宝, 陈忠平,,李成群. 基于proteus的51系列单片机设计与仿真. 北京 电 子工业出版社,20085.张毅刚、彭喜元、姜守达、乔立岩新编mcs-51系列单片机应用设计哈尔滨工业大学出版社,2003.66.马忠梅 单片机c语言应用程序设计 机械工业出版社 1997 指导教师签字: 年 月 日目 录摘 要 iiabstract . ii1 课题背景(或绪论、概述). 11.1 xxxx .11.2 xxxx . x2 设计方案简述 . x2.1 xxxx .x 2.2 xxxx .x 2.3 xxxx .x 3 详细设计. x3.1 xxxx .x 3.1 xxxx .x 4 设

4、计结果及分析. x4.1 xxxx .x 4.2 xxxx .x 4.3 xxxx .x 5总 结 .x 参考文献 .x 附录 主要程序代码 .x 摘 要单片机具有优异的性能价格比,并且具备集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等优点。因此随着单片机技术的发展,单片机正逐步应用到人们生活中的各个方面:1、在智能仪器仪表中的应用:在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。 2、在实时过程控制中的应用:用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。 本次课程设计我们就

5、充分利用所学的单片机技术设计制作一个音乐播放器,通过实际单片机线路设计以及汇编语言程序设计巩固所学知识,锻炼动手能力,体验汇编语言程序设计中可能出现的各种问题,并努力解决。关键词:单片机 ;扬声器 ;音符 ; 音乐 ; i/o接口 abstractscm has excellent performance to price, and have high level of integration, small size, high reliability and control function is strong, low voltage, low power consumption, etc

6、. so with the development of the single chip microcomputer, microcontroller is gradually applied to people living in all aspects: 1, intelligent instruments in the application of all kinds of instruments in introducing a single-chip microcomputer, make instruments intelligent, improve test automatio

7、n degree and precision, simplify the instruments of hardware structure, improve its performance to price. 2, in real time the application process control with single-chip computer: real-time data processing and control, make the system to keep the best working state, and improve the system of work e

8、fficiency and the quality of the products. in this class, we will make full use of my knowledge and design of the single chip microcomputer design a music player, through the actual line design and assembly language chip program design consolidate knowledge, exercise beginning ability, experience in

9、 assembler language programming possible problems, and work hard to solve.keywords:scm ;speaker notes ;music; i/o interface1 概述1.1课题的背景和意义1.1.1单片机概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 mcs-51单片机是美国intel公司于1980年推出的产品,与mcs- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达11

10、1条,mcs-51单片机可以算是相当成功的产品,一直到现在,mcs-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与msc-51单片机作为代表进行理论基础学习。 mcs-51系列单片机主要包括8031、8051和8751等通用产品。dp-51s单片机仿真实验仪是由广州致远电子有限公司设计的dp系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。1.1.2 单片机的应用领域 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴: 一、在智能仪器仪表的应用 单片机具有体积小、功耗低、控制功能强

11、、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 二、在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。三、在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智

12、能化控制、各种报警系统,与计算机联网构成二级控制系统等。四、在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 五、单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途

13、。1.2 课题目的 基于单片机的音乐播放器可应用于mp3,mp4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括do、re、me-等音阶在内的各种频率声音。将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。基于这个思想,我设计了一款特殊的音乐播放器,本播放器可实现播放、暂停、复位等功能。为了体现乐曲播放过程中的动态效果,增加了1只led,作随机闪烁以指示旋律的节奏。由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用at89c51单片机,本播放器具有电路简单,功能强大,易于拓展等特点。2

14、 设计方案简述2.1 总体流程图主程序实现对单片机进行初始化后,进入曲目识别子程序,进行歌曲曲目判断。确定歌曲曲目后,数码管再进行显示。然后,子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。执行播放后,关闭数码管显示并调用查表子程序进行播放音乐。在播放音乐的过程中,查表子程序循环判断音乐是否结束。当音乐结束时,程序跳转回曲目识别子程序。 图2-1 总体流程图2.2设计方案 图2-2 电路设计原理图设计一个音乐播放器,将要播放的音乐编写成程序,并通过放大电路和喇叭输出声音。电路主要由at89c51芯片,led发光二极管,喇叭,晶振电路组成,由引脚输出定时器产生的各种固定频率的方波信

15、号,然后由喇叭产生各种频率的声音。由于该方案中使用内部振荡电路,xtal1、xtal2引脚外界石英晶体和微调电容构成的晶振电路。总体原理:乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。2.3.总体电路设计 图2-3 总电路图2.4核心器件at89c51介绍at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos 8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可

16、编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示图2-3 at89c51外形图及引脚序列主要特性:与mcs-51 兼容 4k字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0hz-24mhz三级程序存储器锁定1288

17、位内部ram32可编程i/o线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明:vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1

18、口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制

19、信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示表2.1 p3口被选功能管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口

20、同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态al

21、e禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。振荡器特性:xtal1和xtal2分别为反向放大器的输入和

22、输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断

23、系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3 详细设计3.1 at89s52引脚图 89c52单片机拥有4kb的片内rom和128b的片内ram。rom和ram的片外寻址范围都为64kb。单片机拥有32个并行口和1个串行口。在89c51单片机中存在5个中断源,其中有两个外部中断源、两个内部中断源和一个串行中断源。 图3-1 89c51单片机3.2单片机最小系统单片机要想正常工作,必须给出晶振电路,以提供时钟信号;还要有复位电路,因为单片机必须有可靠的复位后才能运行程序;必须有电源供应,以提供电能;要想使用内部程序存储器,还必须有把

24、ea引脚接高电平。图中,c2 ,c3为30pf电容,c1为10uf电容;电阻r1为10,r2为10k;x1为11.0592mhz的晶振。电源电压为正5伏。 图3-2 单片机最小系统3.3 晶振时间电路设计晶振电路由两个22pf的电容和一个6mhz的晶体振荡器组成。节点1与单片机的xtal2相连接,节点2与单片机的xtal1相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位:当晶体振荡频率为6.mhz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为x,则可根据下式计算x: 图3-3 晶振电路3.4 控制电路设计控制电路,键一与p3.2相连、键二与p3.3相连、键3与

25、p3.5相连。当电键按下时接口接低电平,从而实现对音乐播放器的控制。键一联通实现上一曲更换,键二联通实现下一曲更换,键三联通实现开始暂停操作。键控子程序主要由播放/暂停子程序、上一曲子程序、下一曲子程序组成,分别由一个计数器中断和两个外部中断实现。3.4.1 播放/暂停子程序播放/暂停在程序利用内部中断t0口。将t0口设为计数中断并工作在方式2下。标识符初值赋值为r1=00h,计数初值设为th0=0ffh,tl0=0ffh。当按键第一次产生中断信号时,播放/暂停子程序改变标志符r1,将其赋值为01h。此时播放器由暂停状态进入播放状态。当按键第二次产生中断信号时,播放/暂停子程序判断r1是否为0

26、2h后,将r1再次赋值为00h。此时,播放器由播放状态进入暂停状态。3.4.2 曲目选择子程序曲目选择子程序分为上一曲子程序和下一曲子程序。上一曲和下一曲功能实现方式类似,分别由外部中断和外部中断。下面以实现上一曲功能为例:首先设置标识符r7初始值为00h。当按键产生中断信号,上一曲中断子程序改变标识符r7的值为01h并改变曲目r0的值。播放子程序判断出标识符r7改变后,先将r7赋值为00h,然后跳转到曲目识别子程序。 图3-4 复位电路3.5显示电路设计显示电路是一个8位共阴极led数码管。 单片机的p1.0-p1.7分别与数码管的a、b、c、d、e、f、g、dp相连接。 图3-5 8位共阴

27、极led灯3.6输出电路设计发声电路由数字扬声器连接p2.0接口实现音乐的输出,由控制电路发出操作指令后,单片机调用相应程序,并将音乐信号由p2.0口输出,通过驱动扬声器发出美妙的音乐。 图3-6输出电路3.7 单片机产生不同频率脉冲信号的原理(1)要产生音频脉冲,只要算出某一音频的脉冲1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的i/o反相,然后重复计时此半周期的时间再对i/o反相,就可以在i/o脚上得到此频率的脉冲。 ( 2 ) 利用8051的内部定时器使其工作在计数器模式mode1下,改变计数值th0及tl0以产生不同频率的方

28、法如下:例如,频率为523hz,其周期天/523 s=1912us,因此只要令计数器计时 956us/1us=956,在每计数956次时就将i/o反接,就可得到中音do(532hz)。计数脉冲值与频率的关系公式如下: n=fi/2/fr (n:计数值,fi:内部计时一次为1us,故其频率为1mhz,fr:要产生的频率 )(3)其计数值的求法如下:t=65536-n=65536-fi/2/fr计算举例:设k=65536,f=1000000=fi=1mhz,求低音do(261hz)、中音do(523hz)、高音do(1046hz)的计数值。t=65536-n=65536-fi/2/fr=65536

29、-1000000/2/fr=65536-500000/fr低音do的t=65536-500000/262=63627中音do的t=65536-500000/523=64580高音do的t=65536-500000/1047=65059(4 )c调个音符频率与计数值t的对照表如下表所示:表3-7-1 c调各音符频率与计数值t的对照表音 符频率(hz)简谱码(t值)音 符频率(hz)简谱码(t值)低1do26263628#4fa#74064860#1do#27763731中5so 78464898低2re29463835#5so#83164923#2re#31163928中6la88064968低

30、3m33064103#693264994低4fa34964204中7si98865030#4fa#37064260高1do104665058低5so39264261#1do#110965085#5so#41564400高2re117565110低6la44064443#2re#124565124#646664524高3m131865157低7si49464524高4fa139765178中1do52364331#4fa#148065189(5) 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间

31、就可求得节拍的时间。假设1/4节拍为1delay,则1拍应为4delay,以此类推。所以只要求得1/4拍的delay时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。 表3-7-2 节拍码对照表1/4节拍 1/8节拍节拍码节拍数节拍码节拍数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拍71又3/4拍77/8拍82拍81拍92又1/4拍91又1/8拍a2又1/2拍a1又1/4拍b2又3/4拍b1又3/8拍c3拍c1又1/2拍d3又1/4拍d1又5/8拍e3又1/2拍e1又3/4拍f3又3/4拍f1又7

32、/8拍表3-7-3 各调节拍的时间设定表1/4节拍1/8节拍曲调值delay曲调值delay调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒四分之一拍延时代码设计:1/4拍的延迟时间=187毫秒delay: mov r7,#2d2: mov r4,#187d3: mov r3,#248djnz r3,$djnz r4,d3djnz r7,d2ret3.8 音乐代码实现3.8.1音乐代码库的建立方法(1)先找出乐曲的最低音和最高音范围,然后确定音符表t的顺序。(2)把t值表建立在table1,构成发音符的计数值放在“table”。(3)简谱

33、码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“table”处。(4)音符节拍码00h为音乐结束标记。3.8.2选曲在一个程序中,需要演奏两首或两首以上的歌曲时,音乐代码库的建立有两种方法:(1)将每首歌曲建立相互独立的音符表t和发音符计数值table。(2)在建立公用音符表t后,再写每首歌的发音计数值table中的代码不管采用那种方法,每首歌曲结束时,在table中均需加上音乐结束符00h。4 设计结果及分析4.1 电路仿真调试4.1.1 仿真平台 仿真平台为proteus软件。proteus软件是世界上著名的eda工具,能完成原理图布图、代码调试到单片机与外围电路协同仿真

34、,一键切换到pcb设计它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。4.1.2仿真测试开始仿真后,音乐播放器处于暂停状态如图: 点击播放,播放器进入播放状态,数码管显示为一,开始默认从第一首军港之夜开始播放如图: 4.2 设计结果分析音乐播放器很好的实现了播放/暂停、上一曲、下一曲的功能,并满足了数码管显示的特殊要求。 音效良好,能很好听出乐曲的曲名。当然设计的音乐播放器也存在着不足之处。8位led数码管只能显示10以内的歌曲曲目,超过10将无法显示。调试过程中所遇到的问题:运行程序时led4位共阴数码管显示程乱码。原因分析:数码管初

35、始设置有错。解决方案:重新设置数码管显示参数,2)数码管显示的时间与真正的时间进度不一致。原因分析:定时器初值设置有误。本次设计的晶振为6mhz,而程序中的初值却设置成了6mhz晶振所采用的值5000,导致显示的时间比真正的时间要慢。解决方案:将定时器初值改为6mhz晶振初值的一半,及2500即可。5 总结 几周的课程设计结束了,我相信每个人都会又不小的收获。在这几周中,我们一起完成了我们的任务,我学到了很多,也发现了很多不足。现在单片机技术飞速的发展,而且单片机是实现自动化的重要途径。如今,单片机已经深入到了我们生活的各个领域。而这次单片机的课设给了我们一个很好的机会然我们去接触和控制单片机

36、。课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为计算机专业的学生来说掌握单片机的开发技术是十分重要的。 我的题目是单片机播放音乐的设计,对于我们来说,这是一次考验。怎么才能找到课堂所学与实际应用的最佳结合点?怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划。不仅巩固了以前所学过的知识,而且学到了很多

37、在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。虽然前期进行了完备的设计分析和充分的准备工作,在实际操作中我们还是遇到诸多困难。我们花费大量时间对方案进行讨论修改,考虑到制作的简单易行,芯片功能,我们对设计方案进行不断改进,在理论和实践上实现协调统一;课下我们从图书馆和网上查找资料,不断丰富自己的相关知识,并与老师保持沟通,获得宝贵意见。为了尽早完成作品,经过课下大量

38、的实践操作,我们提高了焊接技能和效率,丰富了各种器件常识,收获了难得的实践经验。通过课设更使我明白了学习是用来服务的,我们不能只学习书上的知识,我们学习是为了更好的生活,要学以致用,要能够理论联系实际。 同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机语言掌握得不够好。这次课程设计通过自己的努力,同学的帮助,还有老师的辛勤指导下,最终顺利完成了。参考文献1谢自美. 电子线路设计-实验-测试m .武汉:华中科技大学出版社, 20002高峰 单片微机应用系统设计及实用技术 机械工业出版社 20043郑郁正.单片机原理及应用.四川大学出版社,2003

39、。4侯玉宝, 陈忠平,李成群. 基于proteus的51系列单片机设计与仿真. 北 京电子工业出版社,20085.张毅刚、彭喜元、姜守达、乔立岩新编mcs-51系列单片机应用设计哈尔滨工业大学出版社,2003.66.马忠梅 单片机c语言应用程序设计 机械工业出版社 1997附录out bit p2.0 ;定义音频输出端口,p2.0n equ 3 ;歌曲总数out_num equ p1 ;数码管显视当前所放歌曲曲数 org 0000h ajmp main org 0003h ajmp last_song ;外部中断0用于接上一曲歌按键 org 000bh ajmp f_t0 ;定时器0用于定时,

40、作音符发生器用 org 0013hq4: ajmp next_song ;外部中断1接下一曲歌按键 org 001bh ajmp start_pause ;定时器1用计数,这里用作中断,接开始/暂停键,初值为0ffh,方式2 org 0030hmain: mov sp,#60h mov dptr,#table ;dprt指向每首歌曲的入口地址的地址。 mov r0,#30h ;r0中存入数据30h,这里在以30h开始的单元存放每首歌曲的入口地址,其中30h,31h存放 ;歌曲的节拍入口地址,32h,33h存放歌曲音符入口地址,每首歌占用四个存储存单元。 mov r5,#00h ;r5中存放表t

41、able中正在执行操作的序号 mov r6,#1 ;r6存放正在设置入口信息的歌曲数set_tab: mov a,r5 ;设置每首歌曲的入口信息,存放在以30h开始的存储单元中。 movc a,a+dptr mov r0,a inc r5 inc r0 mov a,r5 movc a,a+dptr mov r0,a inc r5 inc r0 mov a,r5 movc a,a+dptr mov r0,a inc r0 inc r5 mov a,r5 movc a,a+dptr mov r0,a inc r0 inc r5 inc r6 ;设置完一首歌曲后,歌曲数加一 cjne r6,#n+1

42、,set_tab ;是否设置完,没有便继续,否则进行下面的操作 ;* 对中断,计数器的相关参数进行设置 mov tmod, #61h ;计数器0工作方式1,计数器1工作方式2 mov th1,#0ffh ;给计数器1置初值0ffh,又由于是工作方式2,所以 mov tl1,#0ffh ;计数器计数为1,相当于一外部中断。 setb et1 ;允许计数器1中断 setb et0 ;允许计数器具0中断 clr pt0 ;计数器0为低优先级 setb pt1 ;计数器1为高优先级 setb it0 ;外部中断0为跳沿触发 setb px0 ;高优先级 setb it1 ;外部中断1为跳沿触发 set

43、b px1 ;高优先级 setb ex1 ;允许外部中断1中断 setb ex0 ;允许外部中断定0中断 setb ea ;开中断总开关 setb tr1 ;定时器1开始工作,作中断用 setb out ;音频输出端口初始化 ;* ;设置结束 clr f0 ;设置f0=0,用来作暂停/播放的标置位用 mov 22h,#01h ;22h单元中存放正在播放的歌曲编号 mov dptr,#out_tab ;将正在播放的歌曲编号送数码管显视 mov a,22h movc a,a+dptr mov out_num,a mov r7,#00h ;r7中存放歌曲总信息的入口地址 start0:mov r4,#00h ;r4存放当前正在播放歌曲的第几个节拍数 mov r0,#30h ;30h开始的单元中存放歌曲的入口信息 mov a,r7 ;将歌曲的节拍表的入口地址送到dptr

温馨提示

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

评论

0/150

提交评论