为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机控制音乐播放器-音乐播放器

2011-12-13 23页 doc 254KB 336阅读

用户头像

is_626324

暂无简介

举报
单片机控制音乐播放器-音乐播放器 高等教育毕业论文 题 目: 单片机控制音乐播放器 姓 名: XX 指导教师: XXX ...
单片机控制音乐播放器-音乐播放器
高等教育毕业论文 题 目: 单片机控制音乐播放器 姓 名: XX 指导教师: XXX 专业、层次: 年 级: 05级 年 月 日 指导教师评语及评分 论文评分 指导教师(签名) 年 月 日 答辩评语及评分 答辩评分 答辩组长(签名) 年 月 日 综合评分 成 绩 评定人 签名 年 月 日 毕业论文(设计)任务书 ( —— 学年) 学院名称: 题 目 学生姓名 专业 层次 学号 指导教师 任务书下达时间 概述: 要求阅读或检索的参考资料及文献(包括指定给学生阅读的外文资料): 目 录 1目 录 2摘 要 3第1章 前 言 4第2章 单片机的基本组成 42.1 单片机的定义 42.2 单片机的几部份 7第3章 硬件系统结构 73.1 SPCE061A结构 73.2 语音采集的硬件电路 9第4章 软件设计与实现 94.1 语音信号的采集压缩与数据传输 94.2 语音采集的硬件连接 104.3 语音数据的传输 12第5章 控制和编译过程 125.1 软件设计结构 135.2 软件控制音乐播放编译过程 16第6章 结论 17致 谢 18参考文献 19附录: 单片机控制音乐播放器 摘 要 现当今,单片机的应用无处不在.利用单片机控制音乐播放也多不胜举,音乐芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛.它有功能多﹑价格优﹑外部电路简单的特点,深受音乐爱好者及音乐芯片制造商的青昧,用80C51 单片机及少数外部点路控制MUSIC播放,产生“生日快乐歌”,并伴有彩灯闪烁.利用软件的功能设置,使音乐和灯光有同步的效果. 对于单片机产生音乐,关键是控制頻率的输出.我们知道,不同的聲音对应不同的頻率,产生有规律的頻率输出就可以得到相应規律的聲音.音乐中,有8个基本音符:do﹑re﹑mi﹑fa﹑so﹑la﹑xi﹑do,八个不同的音符对应著不同的頻率.只要我们对照音符输出相对应的頻率,就可以产生美妙的音乐了.本章中采用了T0中断的产生不同頻率,并用两键控制播放和停止。这里,我用8051单片机控制音乐。由键盘控制播放,用运算放大器的同相放大方式驱动SPEAKER。 关键词:单片机 硬件系统 软件系统 控制程序结构 第1章 前 言 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。MCS-51系列单片机有5个中断源,中断分为2个中断优先级,即高优先级和低优先级,每个中断源的优先级都可以由软件来设定. 51单片机中断系统的组成:它由4个与中断有关的特殊功能寄存器(TCON、SCON的相关位作中断源的标志位)、中断允许控制寄存器IE、中断优先级管理(IP寄存器)和中断顺序查询逻辑电路等组成。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成,还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 第2章 单片机的基本组成 2.1 单片机的定义 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成,还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 2.2 单片机的几部份 一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址才能用,分配地址也是以电信号的形给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。 二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的—数字,或者说都是串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯设计者规定好,不可更改,外部的单元可以由单片机开发者自行决,但有一些地址单元是一定要有的。数据:这是由微理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 1、地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。 2、方式字或控制字(如MOV TMOD,#3),3即是控制字。 3、常数(如MOV TH0,#10H)10H即定时常数。 4、实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实 际输出的值。 理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来行了。 三、P0口、P2口和P3的第二功能用法初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动,不需要指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口 时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从 P3. 或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不能将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。 四、程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’个单元,并且在‘0000’单元中存放的一定是一条指令。 五、堆栈:堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特的数据传输指令,即‘PUSH’和甈OP’,有一个特殊的专为其服务的单元,即堆栈指针SP每当执一次 PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值基础上)动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元 开始往后8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数的浑乱。不作编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情下编程者不会把它当成通内存用了。 六、单片机的开发过程这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDIT、CCED 等)写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够 识别种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一说明:ORG 0000H LJMP START ORG 040H START:MOV SP,#5FH;设堆栈LOOP:NOP LJMP LOOP;循环 END。 第3章 硬件系统结构 3.1 SPCE061A结构 SPCE061A的内部结构如图3-1,其特点如下: 图3-1 SPCE061A的内部结构 工作电压:VDD为2.6~3.6V(CPU),VDDH为VDD~5.5V(I/O); CPU时钟为0.32~49.152MHz; 内置存储器:SRAM为2KB,内存Flash为32KB; 可编程音频处理; 2个16位可编程定时器/计数器; 7通道10位ADC(内置麦克风放大和自动增益控制功能); 2个10位DAC; 32路可编程通用输入输出端口; 串行输入输出接口; 低电压监测/低电压复位功能; 14个中断源可来自定时器、外部时钟输入、键唤醒等; 内置在线仿真电路ICE。 3.2 语音采集的硬件电路 语音采集的硬件电路如下图3-2所示。MIC采用驻极体电容话筒,这种话筒具有灵敏度高、无方向性、重量轻、体积小、频率响应宽、保真度好等优点。 与PC机的串行通信用SPCE061A的UART接口,用MAX232芯片进行电平转换,即可实现RS232通信。 图3-2 语音采集的硬件电路 第4章 软件设计与实现 4.1 语音信号的采集压缩与数据传输 语音信号处理的基础是对语音信号进行数字化,并采样存储。SRCE061A内置专门用于语音信号采集的自动增益控制放大器(AGC)的麦克风输入通道(MIC_IN)。语音信号经麦克转换成电信号,由隔离电容隔掉直流成分,然后输入至内部前置放大器。SPCE061A内部自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增器时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,以便使进入A/D的信号保持在最佳电平,又可使谐波减至最小。 ADC初始化程序如下: INT OFF; R1=0x0030; [P_TimerA_Ctrl]=R1; 时钟频率为CLKA的fosc/2 R1=0xfa00; [P_TimerA_Data]=R1; 采样率为16kHz R1=0x003d; [P_ADC_Ctrl]=R1;//设置AGC功能 R1=0x00A8; [P_DAC_Ctrl]=R1;//采用自动方式且通过MIC_IN通道输入,通过定时器A的溢出锁存数据,ADC为自动方式 R1=0x1000; [P_INT_Ctrl]=R1;//开中断IRQ1_TM INT IRQ; 4.2 语音采集的硬件连接 语音采集的硬件连接图如下图3-1所示: 图 3-1 语音采集的硬件连接图 波形编码的基本原理是以波形逼近为原则,在时域上把幅度分层量化并用代码表示;特点是语音质量高、抗噪性强编码率高,适于语音及高保真音乐。参数编码是基于某种语音产生模型,在编程端分析出该模型参数选择适当的方式进行编码;特点是语音质量差、抗噪抗弱和编码率低。 凌阳SPCE061A提供了压缩算法库——SACMLIB(见表3-1),其处理的语音信号范围是200Hz~3.4kHz的电话语音,并将A/D、编/解码、存储及D/A做成相应的模块,对于每个模块都有其应用程序接口API。 表4-1 SACM-LIB 库中模块及其算法 模块名称 压缩算法 采样率/kHz 语音压缩编码率/Kb/s 用途 SACM_A2000 子带编码 16 16、20、24 播放语音及高保真音乐 SACM_S480/S720 CELP混合编码 16 4.8、7.2 播音 SACM_S240 参数编码 24 2.4 播音 SACM_MS01 FM音乐合成 16 16、20、24 音乐合成 SACM_DVR 子带编码 16 16Kb/s的传输率,8Ksps采样率 ADC信道录音DAC放音 4.3 语音数据的传输 SPCE061A的通用异步串口(UART)提供了一个8位全双工标准接口,用于完成SPCE061A与外设之间的串行通信。借助于IOB口的特殊功能和UART IRQ中断,可以同时完成UART接口的接收与发送数据的过程。根据应用需求,把UART设置为中断方式接收数据,以查询方式发送数据。 目前,Mircosoft公司的VC++6.0是基于Windows程序设计的主流开发工具之一。VC++不仅秉承了C++简便、灵活及面向对象等优点,而且提供了功能强大的MFC类库,并能自动生成应用程序框架,提供标准化的程序结构和用户接口。特别需要指出的是,为了今后调用低层的音频处理API函数,对由下位上传的音频数据进一步进行语音识别方面的处理,我们使用VC来编写上位机的控制及存储程序。 在实验室和工业应用中,RS232串口是常用的计算机与外部串行设备(单片机)之间的数据传输通道,由于串行通信简单易用,所以应用广泛。通常在VC++中有三种方法可以实现串行通信,使用VC++的标准通信函数_inp和_outp来实现串口通信;把串口看成是一个特殊的设备文件,使用有关文件处理的API函数来实现串口通信;使用ActiveX的串行通信控件MSComm来实现串口通信。 第5章 控制和编译过程 5.1 软件设计结构 主要是实现键盘处理,程序中必须确认是哪一个按键被按下,然后转到相应的处理程序中执行,实际上该程序是一个完整的键盘扫描程序,如果改动其中的处理子程序完全可以应用到其他的控制电路中,下文附有详细的程序和说明供参考,图5-1为软件设计的结构流程图。 图5-1 软件设计的结构流程图流程图 键盘扫描程序的任务简单讲就是:首先确认是否有按键按下,然后通过扫描判断来得到是在哪一行的按键,最后通过比较预先设定的4行表格查找并计算得到具体的按键,从而转到相应的功能程序。 (1)置列线为输入状态(P1.4-P1.7为1),行线(P1.0-P1.3)先为0,即设定的P1.7-P1.0等于F0H并把该状态保存,接这读入当前P1口状态,不难理解,只要有按键(任何一个)按下,P1口的状态肯定不是原来设定的P1.7-P1.0等于F0H,通过判断就可以实现第一步的目的:首先确认是否有按键按下? (2)从第一行(P1.0行)开始一步步扫描,找出并确认按键在哪一行,扫描的方法步骤见表2。行线每次只有一个为0,例如第1次扫描时设定P1.0为0,而P1.1-P1.3为1,显然,在当前扫描过程中按下按键如果不是P1.0行,那么P1口状态始终是FEH,因此表2说明中强调“只有任一次比较P1口不等于该数值,说明当前按键就在该行”就是这样的含义,其余各次比较也是一样道理,通过这样的判断,可以实现查找按键所在得行数。 (3)程序中定义了4个表KEYVALTAB1-KEYVALTAB4,分别存放的数据用来为比较程序服务而指示出各行的按键具体位置,表3列出按键标号和比较数据对应关系,在R2中存放行号的起始值,R0用来存放在每一行中查到按键的具体位置(R0范围是0-3),各行查找时比较的数据见表(3)。读写可以简单分析就可以得到结果,假设通过程序先判断按键在第一行,显然如果S0按下,P1.7-P1.0的状态是11101110(S1连接于P1.0和P1.4),也就是表3中S0→EEH。 (4)KEYCALCU子程序中通过乘3运算用于散转指令JMP,注意LJMP是3字节指令,各按键对应的功能程序安排在一起串LJMP,所以通过乘3运算才能正确对应到各按键的执行目标功能程序。 关于各键的相应处理功能就较简单,只要对应不同的按键输入相应的控制命令,对于S0-S9是控制P3.3-P3.0不同的状态以得到所对应的BCD编码,对于S10-S13则是控制P3.4,P3.5的状态以实现对U3-U6的控制。 5.2 软件控制音乐播放编译过程 软件控制音乐播放编译过程如下程序所示 ORG 0000H LJMP START ORG 000BH INC 20H;中断服务,中断计数器加1 MOV TH0,#0DBH MOV TL0,#0FFH;11.0592M晶振,形成10毫秒中断 RETI START:MOV SP,#50H MOV TH0,#0DBH MOV TL0,#0FFH MOV TMOD,#01H MOV IE,#82H MUSIC0:NOP MOV DPTR,#DAT;表头地址送DPTR MOV 20H,#00H;中断计数器清0 MUSIC1:NOP CLR A;A清零 MOVC A,@A+DPTR;查表取代码 JZ END0;是00H,则结束 CJNE A,#0FFH,MUSIC5;如果不是休止符,往下执行,以R6作为音符频率控制,唱R7节拍那么久。 LJMP MUSIC3 MUSIC5:NOP MOV R6,A;R6=18H音符的频率 INC DPTR;DPTR加1 MOV A,#0 MOVC A,@A+DPTR;取节拍代码送R7 MOV R7,A;R7=30H音符发音的时间 SETB TR0;启动计数 MUSIC2:NOP CPL P3.2;P3.2是音乐输出引脚 MOV A,R6 MOV R3,A;R3=R6=18H LCALLDEL MOV A,R7 CJNE A,20H,MUSIC2;中断计数器(20H)=R7否;不等,则继续循环。 MOV 20H,#00H;等于,则取下一代码 INC DPTR LJMP MUSIC1 MUSIC3:NOP;休止100毫秒 CLR TR0 MOV R2,#0DH;R2=13 MUSIC4:NOP MOV R3,#0FFH;R3=255 LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 END0:NOP MOV R2,#0FFH;歌曲结束,延时1秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL:NOP DEL3:MOV R4,#02H DEL4:NOP DJNZ R4,DEL4 NOP DJNZ R3,DEL3 RET NOP DAT: DB 18H,30H,1CH,10H,20H,40H,1CH,10H DB 18H,10H,20H,10H,1CH,10H,18H,40H DB 1CH,20H,20H,20H,1CH,20H,18H,20H DB 20H,80H,0FFH,20H,30H,1CH,10H,18H DB 20H,15H,20H,1CH,20H,20H,20H,26H DB 40H,20H,20H,2BH,20H,26H,20H,20H DB 20H,30H,80H,0FFH,20H,20H,1CH,10H DB 18H,10H,20H,20H,26H,20H,2BH,20H DB 30H,20H,2BH,40H,20H,20H,1CH,10H DB 18H,10H,20H,20H,26H,20H,2BH,20H DB 30H,20H,2BH,40H,20H,30H,1CH,10H DB 18H,20H,15H,20H,1CH,20H,20H,20H DB 20H,10H,1CH,10H,20H,20H,26H,20H DB 2BH,20H,30H,20H,2BH,40H,20H,15H DB 1FH,05H,20H,10H,1CH,10H,20H,20H DB 26H,20H,2BH,20H,30H,20H,2BH,40H DB 20H,30H,1CH,10H,18H,20H,15H,20H DB 1CH,20H,20H,20H,26H,40H,20H,20H DB 2BH,20H,26H,20H,20H,20H,30H,30H DB 20H,30H,1CH,10H,18H,40H,1CH,20H DB 20H,20H,26H,40H,13H,60H,18H,20H DB 15H,40H,13H,40H,18H,80H,00H END 第6章 结论 现当今,单片机的应用无处不在.利用单片机控制音乐播放也多不胜举,音乐芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛.它有功能多﹑价格优﹑外部电路简单的特点,深受音乐爱好者及音乐芯片制造商的青昧,二十世纪跨越了三个“电”的时代,即电气时代,顾名思义,计算机成为我们生活的主流已是家喻户晓的事情,然而,单片机也随之飞速的发展,单片机以完成某一个逻辑功能的芯片而得名,具体一点说是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件,为单片机的灵活,方便,结构简单奠定了基础,自身通过程序的编写,测试,运行,来完成一个具体的功能,便此,单片机运用到了各个领域。单片机控制音乐播放只是单片机的一个小小的利用。 通过以上的分析不难发现,整个单片机控制音乐播放程序便不复杂,函数之间相互牵扯。标志位在程序的实现过程中扮演着非常重要的角色,正是依靠这些标志位,程序才能很好地实现各个功能之间的切换,而标志位的值是通过软件模块返回的参数修改的。因此程序的实现过程应该是阅读参数→修改标志位→发送指令→翻译→控制发生器→驱动扬声器发声,整个过程一气呵成。 致 谢 本文从拟定题目到定稿,历时数月。在本论文完成之际,首先要向我的导师林稳章致以诚挚的谢意。在论文的写作过程中,指导老师给了我许许多多的帮助和关怀。老师学识渊博、治学严谨,待人平易近人,在金江老师的悉心指导中,我不仅学到了扎实的专业知识,也在怎样处人处事等方面收益很多,同时他对工作的积极热情、认真负责、有条不紊、实事求是的态度,给我留下了深刻的印象,使我受益非浅。在此我谨向指导老师表示衷心的感谢和深深的敬意。 参考文献 [1]方沂.电梯故障与维修.电子工业出版社.2003年版 [2]陈家盛.电梯结构原理及安装维修.机械工业出版社.2002年版 [3]胡友树.现代电梯技术.合肥工业大学出版社,2004年版 [4]梁荣光.基于PLC原理下电气控制系统.华南理工大学出版社.2003年 附录: 1
/
本文档为【单片机控制音乐播放器-音乐播放器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索