嵌入式课程设计论文.doc

上传人:xin****828 文档编号:6620935 上传时间:2020-03-01 格式:DOC 页数:26 大小:1.73MB
返回 下载 相关 举报
嵌入式课程设计论文.doc_第1页
第1页 / 共26页
嵌入式课程设计论文.doc_第2页
第2页 / 共26页
嵌入式课程设计论文.doc_第3页
第3页 / 共26页
点击查看更多>>
资源描述
广西大学行健文理学院嵌入式课程设计报告题目:基于ARM平台实现音乐播放 学 部: 电气信息学部 专 业: 电子科学与技术 班 级: 2011级(1)班 学 号: 1138340107 学生姓名: 梁婷婷 指导教师: 黄江 2014年10月摘 要随着社会的发展,科学的进步,人们的生活水平在逐步的提高。微电子技术的快速发展,使得电子产品无处不在,ARM的应用也越来越贴近人们的生活,用ARM来实现一些电子设计也变得越来越容易。脉宽控制技术(PWM)简称脉宽调制,是非常重要的电力电子控制技术,利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,对提高电力电子装置的性能,促进电力电子技术的发展有着巨大的推动作用。本系统主要介绍了基于LPC2132的PWM信号发生器制作系统,主要功能是对PWM输出波形的频率、占空比的连续调节,并能对运行信号参数用示波器进行实时显示。电路主要分为三个模块,核心模块采用LPC2138中央控制单元,通道选择模块,键盘控制模块采用了五个按键控制,分别调节PWM信号的占空比加和减、频率的加和减、输出PWM通道选择。经测试验证,该信号发生器便于观察和调节,控制精确误差小。本课题的CPU核心芯片采用的是 ARM7 的LPC2138,实现了采用LPC2138的一个I/O口控制speaker发声,实现音乐播放。实验主要通过程序将歌曲简谱和节拍数各自放在一数组中,依次从简谱数组中得到相应频率后放到PWMMR0中,然后进行所存,改变PWM输出频率,并从节拍数组中获得相应的延时参数,两者配合得到音乐输出。改变PWMMR0的值,来改变PWM输出的频率。实验设定PWM输出单边沿PWM方波,控制蜂鸣器BEEP发出声音,以此实现音乐的播放。设计的关键所在,必须熟悉ARM的原理与结构,同时还要对整个设计流程有很好的把握,衔接好各个模块。 关键词:LPC2138;PWM的频率;蜂鸣器;占空比;频率AbstractPulse width control technology (PWM) referred to pulse width modulation, is very important power electronic control technology, the use of the microprocessor digital output to to the analog circuit to control a very effective technology, to improve the performance of the power electronic devices, and promote the development of the power electronic technology has a great push forward.This system mainly introduces the LPC2132 PWM signal generator based on the production system, the main function is to the output waveform, the frequency PWM occupies emptiescompared to continuous adjustment, and can run with an oscilloscope to signal parameter real-time display. Circuit can be divided into three modules, the core module LPC2138 central control unit, channel selection module, the keyboard control module adopted five key control, regulate PWM signal occupies emptiescompared to add and subtract, frequency of addition and subtraction, output PWM channel selection. The results of experiment, this signal generator for observation and regulation, control precise small error.Key words: LPC2132; PWM; Button; Occupies emptiescompared; frequency目录第一章 绪论 11.1 选题背景及意义 11.2 本文主要工作及论文组织结构 1 1.3 方案的论证及比较 2第二章 电路模块设计原理 32.1 系统设计 32.2 系统电路的主要器件及原理 3第三章 LPC2138实现音乐播放的硬件电路设计93.1 整体硬件电路设计 93.2 各模块电路设计 10第四章 软件设计与仿真 114.1 程序设计 114.2 系统的仿真与调试 12参考文献 18附录 19第一章 绪论1.1 选题背景及意义未来对多媒体的研究,主要有以下几个研究方面:数据压缩、多媒体信息特性与建模、多媒体信息的组织与管理、多媒体信息表现与交互、多媒体通信与分布处理、多媒体的软硬件平台、虚拟现实技术、多媒体应用开发。 展望未来,网络和计算机技术相交融的交互式多媒体将成为21世纪多媒体发展方向。所谓交互式多媒体是指不仅可以从网络上接受信息、选择信息,还可以发送信息,其信息是以多媒体的形式传输。利用这一技术,人们能够在家里购物、点播自己喜欢的电视节目。21世纪的交互式多媒体技术的实现将会极大的改变我们的生活。嵌入式系统具有处理速度快、低功耗、体积小、功能强大且易于移植等优点而得到广泛的应用。MP3(Moving Picture Experts Group Audio Layer)全称是动态影像专家压缩标准音频层面3。它设计用来大幅度地压缩音频数据量,并实现重放的音质与原来不经压缩的音频相比没有明显的下降。鉴于MP3编码方式的特点,将其作为音乐播放器的音频文件时,可以在有限的存储空间内存放更多的音频信息。现在的数字音乐播放器市场,采用ARM主控+DSP音频解码芯片+SD存储卡所构成的数字音乐播放系统具有强大的播放能力和较好的性价比,在中、高端音频解码领域内有着较强的生命力。本文针对嵌入式系统的开发特点,设计了基于嵌入式系统的MP3播放器。LPC2138是支持实时仿真和跟踪的1632位ARM7TDMI-STM CPU,并带有64 KB RAM和512 KB的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最高时钟速率下运行。ARM7体系为32位构架,它在处理数据时相对于8位单片机效率明显提高,在处理文件系统所需要的大量的长整形数据的乘除运算时这种优势更为明显。同时它的硬件SPI,SSP总线控制器可以使控制器方便的与外部扩展设备进行连接。而且它的性价比较高,很适合用来做数字音乐播放系统的主控制器。1.2 本文主要工作及论文组织结构1.2.1本文主要工作本次设计基于嵌入式ARM的PWM信号发生器。通过I/O口控制speaker实现音乐播放。实验主要通过改变PWMMR0的值,来改变PWM输出的频率。实验设定PWM输出单边沿PWM方波,控制蜂鸣器BEEP发出声音,改变,发出不同频率的声音,以此实现音乐的播放。1.2.2论文组织结构本论文首先进行方案的论证和比较。通过对方案的论证和比较后,具体突出本论文设计的亮点及优势。经过了进一步的论证和比较确定了本次设计具体实施方案的可行性和优越性;然后对本设计进行系统框图的设计以及对各模块的原理介绍;最后进行硬件电路的设计及调试。具体的各个硬件电路主要工作原理如下:电源电路为单片机以及其模块提供标准5V电源;使系统各部分能工作正常;LPC2138作为主控制器,根据输入信号对系统进行相应的控制最后从蜂鸣器发出原先设定好的音乐。完成电路的设计并调试好了后进入论文的收尾阶段,其中有本论文的结束语,附录及致谢等。1.3 本设计的优势随着人们的生活水平不断提高,精神资料的需求逐渐提高,多媒体已经成为生活中必不可少的一部分。各式各样的多媒体迅速充斥了我们的生活,现在,多媒体正在向便携个人多媒体发展。 我们生活中数字信息的数量在今后几十年中将急剧增加,质量上也将大大地改善。多媒体正在迅速的、意想不到的方式进入人们生活的多个方面,大的趋势是各个方面都将朝着当今新技术综合的方向发展。 他们可以归结为两大类:音频,视频。但是现在多媒体的格式越来越多,比较流行的多媒体格式就有十多种,他们音质画质参差不齐,便携式设备上可用的媒体播放器较PC上的应用还有不小的差距。那些在电脑上运行的播放器经常因为操作环境等原因而不能在我们的机器上运行。这就凸显处软件移植的必要性,现在的手机大部分都带有嵌入式操作系统,这为我们软件的移植提供了一定程度的方便,我们完全可以把一款优秀的多媒体播放器软件如Mplayer移植到手机上,它几乎支持几乎所有的音频视频文件,方便我们享受多媒体的乐趣。第二章 电路模块设计及原理2.1 系统设计本次实验的硬件系统主要包括:LPC2138控制模块,扬声器SPEAKER,三极管,电阻等。大体的设计思路如下图2-1所示。图2-1 基于在ARM平台上的实现音乐播放系统框图2.2 系统电路的主要器件及原理2.2.1 LPC2138基本原理本设计作为一个简单的音乐播放器,只需给出合适的晶振频率以及歌曲乐谱,本设计以Arm芯片作为信息处理中心,通过对LPC2138进行编程,完成信号输入检测、信息分析处理及信息显示。Arm芯片具有结构简单,处理功能强大,相当于小型计算机的特点,有较强的位处理功能,比单片机更容易简单快速实现音乐播放。所以,无论是实用性还是功能上都具有更大的优势,所以本设计采用的是ARM即LPC2138。(1) LPC2138主要特性采用小型64封装。32KB的RAM,512KB的FLASH,16个10位通道,1个10位通道。 LPC2138是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有32kB、64kB、512 kB 的嵌入的高速Flash 存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb?模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和极低的功耗使 LPC2131/2132/2138 可理想地用于小型系统中,如访问控制和POS 机。宽范围的串行通信接口和片内8/16/32kB 的SRAM 使LPC2131/2132/2138 非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。多个32 位定时器、1个或2 个10 位8 路ADC、10 位DAC、PWM 通道和47 个GPIO 以及多达9 个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。(2) IO口分配LPC2138主控制器直接采用了广州周立功公司的EasyARM开发板,减短了开发时间并有效保证了电路部分的稳定性。系统晶振采用11.059 2MHz的外部晶振,通过内置的PLL倍频电路,可以将主频升高到44236 8 MHz,满足系统要求。LPC2138具有片内Flash程序存储器,需3.3V电源、复位电路、晶振电路,P0.14接一个上拉电阻禁止ISP功能。LPC2138的UART0没有完整的Modem接口信号,仅提供TXD、RXD信号引脚,使用UART0与RS-232接口进行串行通信需要一个RS-232转换器(MAX3223芯片)将TTL电平转换成RS-232电平。 小型L64 封装的16/32 位ARM7TDMI-S 微控制器。 8/16/32kB 片内静态RAM。 片内Boot 装载软件实现在系统/在应用中编程(ISP/IAP)。扇区擦除或整片擦除的时间为400ms,1ms 可编程256 字节。 EmbeddeDICE?RT 和嵌入式跟踪接口可实时调试(利用片内RealMonitor 软件)和高速跟踪执行代码。 1 个(LPC2132/2132)或2 个(LPC2138)8 路10 位A/D 转换器共包含16 个模拟输入,每个通道的转换时间低至2.44us。 1 个10 位D/A 转换器,可提供不同的模拟输出(LPC2132/2138) 2 个32 位定时器/计数器(带4 路捕获和4 路比较通道)、PWM 单元(6 路输出)和看门狗。 实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。 多个串行接口,包括2 个16C550 工业标准、2 个高速I2C 接口(400 kbit/s)、SPITM 和SSP(具有缓冲功能,数据长度可变)。 向量中断控制器。可配置优先级和向量地址。 多达47 个5V 的通用I/O 口(LQ64 封装)。 9 个边沿或电平触发的外部中断引脚。 通过片内 可实现最大为60M 的 CPU 操作频率,PLL 的稳定时间为100us。 片内晶振频率范围:130 MHz。 2 个低功耗模式:空闲和掉电。 可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。 通过外部中断将处理器从掉电模式中唤醒。 单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路:CPU 操作电压范围:3.03.6 V (3.3 V+/ 10%),I/O 口可承受5V 的最大电压。(3) LPC2138引脚说明LPC2138的脉宽调制器建立在标准定时器0/1之上,应用可在PWM和匹配功能当中进行选择。PWM基于标准的定时器模块并具有其所有特性。不过LPC2131/2132/2138只将其PWM 功能输出到管脚。定时器对外设时钟(pclk)进行计数,可选择产生中断或基于7个匹配寄存器,在到达指定的定时值时执行其它动作。PWM功能是一个附加特性,建立在匹配寄存器事件基础之上。较小的封装和极低的功耗使 LPC2138 可理想地用于小型系统中。以及简单的引脚图介绍如图2-2所示。图2-2 LPC2138引脚图P0.6 30 I/O I I MOSI0SPI0 主机输出/从机输入,主机到从机的数据传输 CAP0.2定时器0 捕获输入2 AD1.0A/D 转换器1 输入0。该模拟输入总是连接到相应的管脚。P0.7 31 I O I SSEL0SPI0 从机选择,选择SPI 接口用作从机。 PWM2脉宽调制器输出2 EINT2外部中断2 输入。P0.8 33 O O I TxD1UART1 的发送器输出 PWM4脉宽调制器输出4 AD1.1A/D 转换器1 输入1。该模拟输入总是连接到相应的管脚。P0.9 34 I O I RxD1UART1 的接收器输入 PWM6脉宽调制器输出6 EINT3外部中断3 输入。P0.10 35 O I I RTS1UART1 请求发送输出 CAP1.0定时器1 捕获输入0 AD1.2A/D 转换器1 输入2。该模拟输入总是连接到相应的管脚。P0.11 37 I I I/O CTS1UART1 的清零发送输入 CAP1.1定时器1 捕获输入1 SCL1I2C1 时钟输入/输出。开漏输出。P0.12 38 I O I DSR1UART1 的数据设备就绪输入 MAT1.0定时器1 匹配输出0 AD1.3A/D 转换器1 输入3。该模拟输入总是连接到相应的管脚。 P1.0P1.31 I/O P1 口:P1 口是一个32 位双向I/O 口。每个位都有独立的方向控 制。P1 口管脚的操作取决于管脚连接模块所选择的功能。P1 口的P1.0P1.15 不可用。 P1.16 16 O TRACEPKT0跟踪包位0,带内部上拉的标准I/O 口。P1.17 12 O TRACEPKT1跟踪包位1,带内部上拉的标准I/O 口。P1.18 8 O TRACEPKT2跟踪包位2,带内部上拉的标准I/O 口。P1.19 4 O TRACEPKT3跟踪包位3,带内部上拉的标准I/O 口。 P1.20 48 O TRACESYNC跟踪同步。带内部上拉的标准I/O 口。当RESET为低 时,TRACESYNC上的低电平使P1.16P1.25在复位后作为跟踪端口。 P1.27 64 O TDOJTAG 接口测试数据输出。 P1.28 60 I TDIJTAG 接口测试数据输入。 P1.29 56 I TCKJTAG 接口测试时钟。在这里,我们使用的是P0.7端口完成实验。图 2-3 ARM系统结构框图2.2.2三极管蜂鸣器的特性(1)三极管的特性半导体双极型三极管又称晶体三极管,通常简称晶体管或三极管,它是一种电流控制电流的半导体器件,可用来对微弱信号进行放大和作无触点开关。它具有结构牢固、寿命长、体积小、耗电省等一系列独特优点,故在各个领域得到广泛应用。三极管是一种控制元件,主要用来控制电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极接地),当基极电压UB有一个微小的变化时,基极电流IB也会随之有一小的变化,受基极电流IB的控制,集电极电流IC会有一个很大的变化,基极电流IB越大,集电极电流IC也越大,反之,基极电流越小,集电极电流也越小,即基极电流控制集电极电流的变化。但是集电极电流的变化比基极电流的变化大得多,这就是三极管的放大作用。IC 的变化量与IB变化量之比叫做三极管的放大倍数(=IC/IB, 表示变化量。),三极管的放大倍数一般在几十到几百倍。三极管在放大信号时,首先要进入导通状态,即要先建立合适的静态工作点,也叫建立偏置 ,否则会放大失真。在三极管的集电极与电源之间接一个电阻,可将电流放大转换成电压放大:当基极电压UB升高时,IB变大,IC也变大,IC 在集电极电阻RC的压降也越大,所以三极管集电极电压UC会降低,且UB越高,UC就越低,UC=UB。三极管在这里的作用有二:开关作用,控制蜂鸣器电源电路的通断;提供蜂鸣器发声所需的较高电流, 单片机的I/O口驱动能力有限,而我们知道三极管有电流放大的作用,在这里就是利用三极管放大电流来使蜂鸣器获得足够的驱动电流;三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。(2)蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流或者交流供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。根据材料和结构分类根据驱动方式分类用单片机驱动蜂鸣器唱歌,蜂鸣器是一种一体化结构的电子讯响器,主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。 单片机上面使用的蜂鸣器一般都是无源电磁式的蜂鸣器(如下图所示)。它由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。单片机与蜂鸣器连接如图2-4所示。图2-4 单片机与蜂鸣器连接图蜂鸣器的正极接到VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P3.7脚的电平来使蜂鸣器发出声音和关闭。 程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P3.7输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程实验来验证。第三章 整体电路的设计3.1 整体硬件电路设计实验主要通过改变PWMMR0的值,来改变PWM输出的频率。实验设定PWM输出单边沿PWM方波,控制蜂鸣器BEEP发出声音,改变,发出不同频率的声音,以此实现音乐的播放。进行PWM音乐输出设计,需要我们了解一些简谱和频率的关系。在文件music.h中可以得到我们需要的信息,它给出了常用简谱和频率的对应关系,这使我们成功得把歌曲简谱转换成我们需要的歌曲简谱和节拍数。程序将歌曲简谱和节拍数各自放在一数组中,依次从简谱数组中得到相应频率后放到PWMMR0中,然后进行所存,改变PWM输出频率,并从节拍数组中获得相应的延时参数,两者配合得到音乐输出。歌曲简谱、music.h文件和程序清单请看附录。图 3-1 基于LPC2138音乐播放器电路原理图3.2各模块电路设计1 直流蜂鸣器驱动程序直流蜂鸣器的驱动是非常简单的,只要在其两端施加额定工作电压,蜂鸣器就发声。以NPN三极管驱动电路为例,只要在三极管的基极接入高电平,蜂鸣器就能发声。例如:蜂鸣器每秒钟发声100mS时,三极管基极的驱动波形如图所示。2 交流蜂鸣器驱动程序交流蜂鸣器的驱动相对复杂一点,要在蜂鸣器两端施加额定电压的方波。蜂鸣器的工作频率范围通常是很窄的,这意味着一个蜂鸣器通常只能工作在其额定频率才会有良好的发声效果(包括声压和音色等)。有些蜂鸣器的工作频率范围是比较宽的,这样就可以通过调整驱动方波的频率而使蜂鸣器发出音乐,演奏歌曲。例如:蜂鸣器每秒钟发声100mS时,三极管基极的驱动波形如下图所示。第四章 软件设计与仿真4.1 程序设计电路输出的PWM信号,从LPC2138的P0.7管脚输出。由设计要求,可分析得出程序设计一共有以下几个模块:(1)初始化程序设计,即初始化LPC2138芯片,设置P0.7为输出管脚。(2)PWM信号发生设计,初始化LPC2138后,要开启PWM的专用定时器,通过它的匹配功能来产生PWM信号。(3)变量控制,产生PWM信号后,要通过程序设置来调节PWM信号的周期和占空比。(4)屏幕显示,产生PWM信号,送至示波器显示。基于LPC2138音乐播放器程序流程图如图4-1所示图 4-1 基于LPC2138音乐播放器程序流程图4.2 系统的仿真与调试对软硬件部分有了初步的设计后,便需要开始进行软件的编写调试硬件电路的仿真了,系统的仿真对于系统设计来说非常有必要,只有系统的仿真成功之后才能进一步焊接出我们需要的硬件电路。4.2.1 系统软件的调试对于系统的软件这一部分我们采用C语言来进行编写,写出来的源代码我们通过keil-c来进行调试,检查是否有语法上的错误或警告等。软件部分的调试如图4-3所示。这个图显示的是分别进行了编译、连接和运行操作后的结果:图 4-2 keil-c编译4.2.2 系统硬件的仿真完成的系统软件的调试并且没有错误警告之后,我们要进行的是硬件的仿真,在硬件仿真中我们需要用到的是protues仿真软件,之所以选择这个仿真软件,是因为protues里面可以仿真单片机部分。在仿真开始之前,先在protues里面画好单片机和显示部分的硬件电路图,其电路图如图4-3所示。图 4-3 整体电路图在这个硬件仿真电路中,因为设计的是音乐播放器,而其中的声音播放部分是无法实现仿真的,所以只能用一个示波器来观察波形的变化。连接好硬件电路后,双击LPC2138中中导入刚刚所生成的ccy02.hex文件,单机运行按钮,观察声音的变化。本仿真实验的硬件系统主要包括:LPC2138控制模块,扬声器SPEAKER,三极管,电阻等。图 4-4 LPC2138音乐播放器仿真运行图从图中所显示出的小红点来看,整个电路的处理部分和显示部分是没有问题的,是可靠且行得通的硬件电路部件,具体的仿真结果分别如图所示。按上图进行仿真后得到的输出波形如图4-5所示。图 4-5 输出波形图如上图所示的波形图可以得到波形。4.2.3 调试总结调试在仿真调试的过程中,为了能够算出来延时的周期,我决定用protues来进行仿真。具体的方法为:在keil-c中编程生成.hex文件然后倒入单片机中进行仿真。在这过程中由于对protues和keil软件不太熟悉,所以刚开始无从下手,但是经过老师同学的指导按步骤反复练习后就比较熟悉了,自己可以操作完成编译然后系统正常运行了。总结经过这几个星期的努力,我们小组终于顺利完成了本次嵌入式课程设计。 刚开始做这个设计的时候感觉我们什么都不清楚,不知道从哪里下手,脑子里比较浮躁和零乱。但通过一段时间的努力,重温书籍,还有查看相关的设计技术以及一些参考文献,再加之在老师的指导和周围同学的帮助下,使我们对本设计有了基本的掌握,确定基本设计方案,对所用芯片功能有了较清晰的认识。经历了一次次的困难,却积累了很多宝贵的经验。在整个设计的过程中遇到的问题主要有以下三点:第一:对ARM的编译语言与C语言没有清楚的区别,出现了一些难以发现的错误。第二:对proteus软件应用的不熟练,在画电路图和系统的仿真调试的时候,操作不熟练,浪费了很多时间。第三:缺少这种系统设计的经验,相关知识掌握的不够全面,多走了很多弯路。最后,我们要衷心的感谢老师给了我们一次实践的机会,让我们更加深刻地了解和认识到了自己的优点和不足。通过这个课程设计我们发现了我们好多知识都不熟悉甚至有的东西我们根本就不知道,这让我们感到了要学习的东西还有很多很多。因此使我们更坚定了在以后的学习中要扎实好基基础,广阔的知识。参考文献1李驱光等,ARM应用系统开发详解M。北京:清华大学出版社,20032贾智平,张瑞华。嵌入式系统原理与接口技术M.北京:清华大学出版社,20043周立功等,深入浅出ARM7:LPC213x214xM.北京:航天航空大学出版社,2005参考文献4 陶桓齐,张小华,彭其圣.模拟电子技术M.武汉:华中科技大学出版社,2007.45-1025 任为民.电子技术基础课程设计M.北京:中央广播电视大学出版社,1997.58-876 谭浩强.C程序设计M.北京:清华大学出版社, 2005.69-86附录1.程序源代码#include #define TEMPO 8#define _1 TEMPO*4 #define _1d TEMPO*6 #define _2 TEMPO*2 #define _2d TEMPO*3 #define _4 TEMPO*1#define _4d TEMPO*3/2#define _8 TEMPO*1/2#define _8d TEMPO*3/4#define _16 TEMPO*1/4#define _16d TEMPO*3/8#define _32 TEMPO*1/8#define _1DO 1000000/(262*2)#define _1RE 1000000/(294*2)#define _1MI 1000000/(330*2)#define _1FA 1000000/(349*2)#define _1SO 1000000/(392*2)#define _1LA 1000000/(440*2)#define _1SI 1000000/(494*2)#define _DO 1000000/(523*2)#define _RE 1000000/(587*2)#define _MI 1000000/(659*2)#define _FA 1000000/(698*2)#define _SO 1000000/(784*2)#define _LA 1000000/(880*2)#define _SI 1000000/(988*2)#define _DO1 1000000/(1047*2)#define _RE1 1000000/(1175*2)#define _MI1 1000000/(1319*2)#define _FA1 1000000/(1397*2)#define _SO1 1000000/(1568*2)#define _LA1 1000000/(1760*2)#define _SI1 1000000/(1976*2)/* CAI HONG MEI MEI opern */const unsigned int HCMM = _LA, _SO, _MI, _LA, _SO, _MI,_LA, _LA, _SO, _LA,_LA, _SO, _MI, _LA, _SO, _MI,_RE, _RE, _DO, _RE,_MI, _MI, _SO, _LA, _DO1, _LA, _SO,_MI, _MI, _SO, _DO,_MI, _MI, _MI, _MI, _MI,_1LA,_1LA,_1SO,_1LA, ;const unsigned int HCMM_L = _4, _8, _8, _4, _8, _8,_8, _4, _8, _2,_4, _8, _8, _4, _8, _8,_8, _4, _8, _2,_4, _8, _8, _8, _8, _8, _8,_8, _4, _8, _2,_4, _4, _4, _8, _8,_8, _4, _8, _2, ;void Delay(unsigned char dly) unsigned int i; for(; dly 0; dly-) for(i = 0; i 0x7FFF; i+); int main(void) unsigned char i; / VICIntEnClear = 0xffffffff; VICVectAddr = 0; VICIntSelect = 0; PINSEL0 = 0x02 PWM2 /* PWM Init */ PWMPR = 0; / Freq = Fpclk PWMMCR = 0x02; PWMMR0 = 1000000 / 2000; PWMMR2 = PWMMR0/2 ; / 50% PWMPCR = 0x0400; / Enable PWM2 Output, single edge PWM PWMLER = 0x05; PWMTCR = 0x02; / Restart PWMTC PWMTCR = 0x01; / Start PWM output while(1) for(i = 0; i sizeof(HCMM); i+) PWMMR0 = 1000000 / HCMMi; / Set output frequency PWMLER = 0x05; / Latch Delay(HCMM_Li); / Control play speed 2.总体电路图图 2 总体电路
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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