以ARM LPC2103为核心的室内环境控制系统的工作原理毕业设计.doc_第1页
以ARM LPC2103为核心的室内环境控制系统的工作原理毕业设计.doc_第2页
以ARM LPC2103为核心的室内环境控制系统的工作原理毕业设计.doc_第3页
以ARM LPC2103为核心的室内环境控制系统的工作原理毕业设计.doc_第4页
以ARM LPC2103为核心的室内环境控制系统的工作原理毕业设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

武汉科技大学本科毕业论文以ARM LPC2103为核心的室内环境控制系统的工作原理毕业设计目 录1 绪论11.1 选题背景11.1.1 温度控制的提出11.1.2 温度控制技术的发展11.2 课题研究目的和研究意义41.3 课题主要研究内容与论文的组织结构42 系统硬件电路设计52.1 主控器件选型52.2.1 ARM 技术52.2.2 ARM处理器LPC210362.2.3 ARM最小系统的实现82.3 功能模块选型及电路设计102.3.1 温度检测模块102.3.2 温度控制模块122.3.3 数码管显示模块122.4 本章小结133 软件设计133.1 编写语言的选择133.2 编译软件的介绍133.3 程序流程图193.3.1 主程序流程203.3.2 温度传感器模块流程图204 总结20参考文献22致 谢23III1 绪论1.1 选题背景1.1.1 温度控制的提出 随着社会的进步,科学技术的发展,将室内环境中的多种参数作为检测和控制对象,在工农业生产、科学研究和日常生活中的应用越来越广泛。室内环境的控制主要是只室内温度的控制。在大力提倡节能减排以及追求高质量生活的今天,冬季供暖系统存在的不足日益显现出来。我国城市大部分采用集中供暖,在整个供暖期内,无论室内有人与无人,系统全天连续供暖;系统热能的输送是不变的,不能根据室内外温度湿度的变化以及个人对室温的不同要求做出相应的调整。这就造成了热能的严重浪费以及供暖不人性化等问题。而在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。 另外,在大部分实际的环境中,增温要比降温方便得多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。1.1.2 温度控制技术的发展近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。温度测控技术包括温度测量技术和温度控制技术两个方面。在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。 目前,国内外在温度监控系统中常用的温度传感与检测方式主要有热电偶、热敏电阻、数字测温芯片等。 (1)热电偶优点是:易使用、投资成本低、它们覆盖非常宽的温度范围,从200到2000。坚固耐用;缺点是:低灵敏度、低稳定性、中等精度、响应速度慢、高温下容易老化和有漂移,以及非线性。 (2)热敏电阻优点是:易于连接、快响应、低成本、高灵敏度、高输出幅度、尺寸小;缺点是:窄温度范围、非线性、固有的自身发热、需要外部电流源。 (3)RTD 精度极高且具有中等线性度。它们特别稳定,并有许多种配置。但它们的最高工作温度只能达到400左右。它们也有很大的TC,且价格昂贵(是热电偶的410 倍),并且需要一个外部参考源。 (4)数字式温度传感器优点是:高精度、极高线性、低成本、高输出幅度、易于系统集成、小尺寸、高分辨率。温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度(即稳态误差)不能超过某允许值。本文所讨论的基于ARM的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。从工业控制器的发展过程来看,温度控制技术大致可分以下几种:定值开关控温法所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。PID线性控温法这种控温方法是基于经典控制理论中的调节器控制原理,控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法来实施调节功能。前者称为模拟控制器,后者称为数字控制器。其中数字控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个参数(比例值、积分值、微分值)。只要参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。智能温度控制法为了克服线性控温法的弱点,人们相继提出了一系列自动调整参数的方法,如参数的自学习,自整定等等。并通过将智能控制与控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应算法的温度控制仪表。目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围温度控制精度比较低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。1.2 课题研究目的和研究意义 温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。本课题的名称是“基于ARM的室内环境控制系统的实现”,主要针对温度控制。通过实时检测室内外温度的变化,合理调节室内温度,降低了热能消耗,提高了人们的生活质量。数字温度计的控制方式很多。本系统采用LPC2000系列ARM芯片和可编程串行I/O接口芯片DS18B20为中心器件来设计数字温度计,实现了设计一个数字温度采集系统,利用LCD液晶屏显示当前温度、时间和日期,并具有温度超限报警功能。课题所设计的温度监控系统可应于各种需要对温度信息进行采集与监控的场合。因此,对课题进行研究并加以设计实现就具有比较重要的实际意义。1.3 课题主要研究内容与论文的组织结构 本系统采用为LM3S101(基于ARMCortex-M3结构)芯片作为现场控制单元的核心芯片,其处理器为ARM LPC2103,利用控制芯片、温度传感器、七段数码管、时钟资源、LED等分别实现:(1)实时显示当前室内温度(2)如果室内的温度不在预先设置的范围内,则通过控制继电器来调节温度(3)若温度长时间超限报警;设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。1. 温度控制的总体方案设计温度控制系统的组成如图l.1所示。报警模块温度控制模块(继电器)ARM LPC 2103温度传感器 数码管显示模块图1.1温度控制系统的组成系统初始化后,如果温度超过预先设定的温度值,八个LED灯会闪烁提示温度超限。2硬件设计设计内容包括:ARM LPC2103芯片、传感器等的选择;使用EDA技术完成系统原理图的设计及PCB的设计进行硬件主电路设计、开发与布线,其中包括显示模块、时钟电路、报警电路等功能模块电路设计。 3.软件设计设计内容包括:主控制程序、温度传感器、数码管显示程序。在CrossWorks开发环境中利用C语言对系统编程实现各个功能,包括测温子程序,控制主程序及液晶显示程序的流程图,程序功能描述以及源程序的编写。最后,在CrossWorks开发环境中对系统进行功能调试,包括系统硬件调试和系统软件调试以及软硬件之间的联调。2 系统硬件电路设计2.1 主控器件选型2.2.1 ARM 技术ARM即AdvancedRISCMachines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1985年月,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州SanJoseVLSI技术公司制造。20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。1990年成立了AdvancedRISCMachinesLimited(后来简称为ARMLimited,ARM公司)。20世纪90年代,ARM32位嵌入式RISC(ReducedlnstructionSetComputer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。目前,采用ARM技术知识产权(IP )核的微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:(1)工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。(2)无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。(4)消费类电子产品:ARM技术在数字音频播放器、数字机顶盒和游戏机中得到广泛采用。(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。2.2.2 ARM处理器LPC2103 2000系列的LPC2101/2102/2103是基于一个支持实时仿真的ARM7TDMI-SCPU,并带有8kB和32kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。这可以使得中断服务程序和DSP算法中重要功能的性能较Thumb模式提高30。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。LPC2101/2102/2103非常小的尺寸和极低的功耗,它们非常适合于那些将小型化作为主要要求的应用,多个UART、SPI到SSP和2个I2C总线组成 的 混 合 串 行 通 信 接 口 和 片 内2kB/4kB/8kB的SRAM一 起 作 用 , 可 使得LPC2101/2102/2103非常适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。而多个32位和16位的定时器、一个经改良后的10位ADC、PWM特性(通过所有定时器上的一个输出匹配来实现)和32个快速GPIO(含有多达9个边沿或电平有效的外部中断管脚)使它们特别适用于工业控制和医疗系统。 本系统处理器选用32位ARM处理器LPC2103。LPC2103微控制器是首款基于ARMCortexTM-M3内核的控制器,其将高性能的32位计算引入到对价格敏感的嵌入式微控制器应用中。LPC2103具有32位RISC性能;2个内部存储器,即8K的单周期Flash和2KB的单周期SRAM;2个通用定时器,其中每个都可以配置为一个32位定时器或2个16位定时器;具有同步串行接口SSI;还配备有UAR串行接口,具有很强的信号传输功能;GPIO端口配置的可编程控制;灵活的复位源。其被广泛的应用于工厂自动化和控制,工业控制的电源设备和楼宇自动化本课题利用ARM处理器LPC2103作为现场控制单元的控制核心。LPC2103的主要特性如下:16/32位ARM7TDMI-S处理器,极小型LQFP48封装。2kB/4kB/8kB的片内静态RAM,8kB/16kB/32kB的片内Flash程序存储器,128位宽的接口/加速器使其实现了70MHz的高速操作。通过片内Boot-loader软件实现在系统/在应用编程(ISP/IAP)。Flash编程时间:1ms可编程256字节,单个Flash扇区擦除或整片擦除只需400ms。EmbeddedICERT通过片内RealMonitor软件来提供实时调试。10位的A/D转换器含有8个模拟输入,每个通道的转换时间低至2.44s专用的结果寄存器使中断开销降到最低。2个32位的定时器/外部事件计数器,具有7路捕获和7路比较通道。2个16位的定时器/外部事件计数器,具有3路捕获和7路比较通道。低功耗实时时钟(RTC),有独立的供电电源和专门的32kHz时钟输入。多个串行接口,包括2个UART(16C550),2个快速I2C总线(400kbits/s)以及带缓冲和可变数据长度功能的SPI和SSP。向量中断控制器,可配置优先级和向量地址。多达32个可承受5V的通用I/O口。高达13个边沿或电平有效的外部中断管脚。通过可编程的片内PLL(可能的输入频率范围:10MHz25MHz)可实现最大为70MHz的CPU时钟频率,设置时间为100s。片内集成的振荡器,工作在1MHz25MHz的外部晶体下。节电模式包括空闲模式、RTC有效的睡眠模式和掉电模式。通过外设功能的单独使能/禁止和调节外设时钟来实现功耗的最优化。通过外部中断或RTC将处理器从掉电模式中唤醒。LPC2103的管脚图,如图2.1所示:图2.1 LPC2103的管脚图2.2.3 ARM最小系统的实现介绍完以上的ARM系统的核心芯片之后,我们采用LPC2103来实现一个ARM系统能运行起来的最小的系统。本课题的主控芯片选用LPC2103 ARM 处理器, LPC2103 ARM 处理器还包括有晶体振荡器和复位电路,其构成了LPC2103 处理器的一个最小系统,只需要提供5V 的电源LM3S101 就可以运行程序。并且还可以向外提供3.3V 至少100mA的电源。晶体振荡电路的两个端口分别连接在LPC2103 ARM 处理器的OSC0和OSC1 两个端口,晶体振荡器标有6.000MHz 的石英晶振,晶振引脚是经过连接器与微处理连接,可以方便地更换晶振。 (1) 晶体振荡电路晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶体振荡电路如图2.2。图2.2 晶体振荡电路(2) 复位电路本设计中采用5V 电源进行供电。电源插座采用2.1mm 插座,供电极性采用外正内负,外部供电电源的电流要求不少于500mA。电源复位电路采用Sipex 公司性价比高的单芯片解决方案SP6201EM5-3.3。5V 电源经过SP6201 可以输出3.3V 最大200mA 电流给微处理器和用户外设供电。SP6201 还有使能输入和ResetNot 输入引脚,通过这些引脚实现对微处理器的复位控制。5V 电源通过插座进入后,先经过二极管D2,该D2 的作用是防止用户提供极性相反的电源烧坏硬件。其中,图中的C1、C2 和C3 电容起到滤波作用,而D3 发光二极管作为电源指示灯,开发套件上电后D3 就会被点亮。电源及复位电路的作用是把5V 的电压转化成3.3V 电压供给ARM 处理器。电源及复位电路原理图如图2.3所示:图2.3 电源及复位电路原理图 (3) JTAG接口电路设计本设计中的JTAG 电路采用标准20 脚的JTAG 仿真调试接口, JTAG 信号定义如下:TCK:JTAG 测试时钟,为TAP 控制器和寄存器提供测试参考。在TCK 的同步作用下通过TDI 和TDO 引脚下串行移入或移出数据及指令。同时,TCK 为TAP 控制器状态机提供时钟。TMS:TAP 控制器的三项式输入信号。TCK 的上升沿时刻TMS 的状态确定TAP 控制器即将进入的工作状态。通常TMS 引脚具有内部上拉电阻,以保证该引脚在没有驱动时处于逻辑1 状态。TDI:JTAG 指令和数据寄存器的串行数据输入端。TAP 控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作由TDI 装入哪个寄存器。在TCK 的上升沿时刻,TDI 引脚状态被除数采样,结果送到JTAG 寄存器组。TDO:JTAG 指令和数据寄存器的串行输出端。TAP 控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作哪个寄存器的内容送到TDO 输出。对于任何已知的操作,在TDI 和TDO 之间只能有一个寄存器(指令或数据)处于有效连接状态。TDO 在TCKR 的下降沿改变状态,并且只在数据通过器件移动过程中有效。该引脚在其它的时间处于三状态下。TRST:测试复位输入信号,低电平有效,为TAP 控制器提供异步初始化信号。POWER:电源接口。GND:参考地接口。其电路原理图如图2.4所示: 图2.4 JTAG接口电路由晶振电路和复位电路,LPC2103芯片组成,构成最小的ARM系统。2.3 功能模块选型及电路设计2.3.1 温度检测模块 (1)DS18B20温度传感器的DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器的优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给ARM处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围55125,可编程为912位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。综上,在本系统中我采用温度芯片DS18B20测量温度,芯片外观如图2.5,内部结构如图2.6。该芯片的物理化学性很稳定,它能用做工业或者家庭测温元件,且此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向ARM传输数字信号,便于ARM处理及控制 图2.5 温度芯片DS18B20 图2.6 芯片内部结构图(2)数据采集模块电路图如图2.7。图2.7 数据采集模块电路图2.3.2 温度控制模块ARM通过三极管控制继电器的通断,最后达到控制电热器的目的。当温度未达到要求时,ARM发送高电平信号使三极管饱和导通,继电器使电源与电热器(制冷器)接通,电热器(制冷器)加热(制冷)。温度慢慢升高(降低)。当温度上升(下降)到预定温度时,ARM发送低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器(制冷器)与电源断开,电热器(制冷器)停止加热。继电器电路中有一个三极管8050的保护电路,即将一个二极管反向接到三机管的两端。连接方法如图2.8所示。其原理是:当继电器突然断电时,继电器产生很大的反向电流。二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用。图2.8 ARM控制信号2.3.3 数码管显示模块本系统需要连接3个七段数码管,以便显示当前温度。实际电路图如图2.9:图2.9 数码管显示模块电路图2.4 本章小结 这一章比较具体的说明了系统硬件设计的内容,通过模块化的设计思想,把一个完整的ARM系统按照功能划分成一个个单独的电路模型,再分别进行设计,最后集中到一起,大大提高系统设计的效率与质量,也方便后续调试。3 软件设计3.1 编写语言的选择 ARM的程序设计主要采用两种语言,一种是汇编语言一种是C语言。汇编语言生成的目标程序占存储空间少、运行速度快,具有效率高、实时性强的优点,适合于编写短小高速的程序。采用高级语言进行程序设计如C语言,编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植对系统的功能描述与实现比用汇编语言简单,程序的阅读、修改和移植比较方便,适合于编写复杂一些的程序。软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能写各个子程序。3.2 编译软件的介绍 ARM开发中除必要的硬件外,也离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了随着ARM开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,ARM的开发软件也在不断发展,CrossWorks软件是目前最流行开发ARM的软件,也是学习ARM入门的最好开发环境。CrossWorks提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,而uVision则是把上述编辑、编译、链接和仿真等模式打包成集成开发环境,且包含项目管理和调试器等非常有用功能。运行界面如图3.1: 图3.1 CrossWorks界面建立工程: 图3.2 CrossWorks工程界面图3.3 CrossWorks工程界面 (1)点击File菜单中的New选项,然后点击New project按钮,将弹出New Project对话框,如图3.2所示。该对话框显示一组项目类型和项目模板。展开“Luminary Micro LM3S”,然后选择里面的Generic LM3S Board。在点击Templates方格中的Executable标签来选择所要添加的项目类型;在Name编辑窗口中键入项目名:gpio;在Location编辑窗口或Browse按钮来决定将项目建于何处;然后点击OK,之后弹出如图3.3所示窗口。 (2)在通用工程设置中选择目标处理器,如选择LM3S102;如果需要输出hex、bin或srec文件可以修改Additional Output Format选项。其它设置通常使用默认即可,直接点击Finish。在软件的工程管理器(Project Explorer)出现工程相关文件,如图3.4所示。图3.4工程管理 (3)添加一个已有的工程文件或添加一个新的文件是必需的操作,在添加一个文件到工程后我们就可以在该文件上编写程序。如示例工程中添加一个名为gpio.c文件,如图3.5所示。 图3.5 添加新文件到工程 (4)写好的文件要经过编译和连接生成目标代码之后才可以烧入开发板进行运行。该软件提供了三种编方式:编译单个文件、编译链接单个工程和编译链接Solution下的所有工程。编译单个文件:选择需要编译的文件,然后点击菜单框上的图标即可以编译单个文件。也可以通过点击主菜单中的Build下的Compile按扭,快捷键Ctrl+F7。编译链接单个工程:选择需要编译的工程,然后点击菜单框上的图标即可以编译所选中的工程。也可以通过点击主菜单中的Build下的Build按扭,快捷键F7。编译链接Solution下的所有工程:点击菜单框上的图标即可以编译链接所有工程。也可以点击主菜单中的Build下的Build Solution按扭,快捷键为Shif+F7。 编译在Output窗口会显示一些编译信息,如果编译正常完成则最后会显示Build complete如图3.6所示,出错则出现Build failed。图3.6 输出窗口(5) 连接目标板:工程编译通过后就可以通过JTAG调试目标硬件,CrossWorks软件支持多种JTAG调试器,如:Macraigor Wiggler(20 Pin)、Macraigor Wiggler(14 Pin)、USB CrossConnect for ARM、Segger J-Link和USB CrossConnect for AMR-RTCK等。使用EasyJTAGE-H调试器可以选用Macraigor Wiggler(20 Pin)的驱动。使用EasyJTAGE-H将目标板(EasyM3-LM3S)与电脑并口连接好,并且给目标板上电。点击CrossWorks软件上主菜单中的Target-Connect Macraigor Wiggler按扭,连接目标板。连接成功后在该软件的最下方的状态框将显示器件的ID如图3.7所示。图3.7 连接成功(6)设置断点:CrossWorks会一直运行程序,除非遇到了端点。我们将在main.c中的delay处设置一个端点。把光标移至delay所在的行,然后执行以下步骤: 在Build工具栏,点击Toggle Breakpoint按钮。或者 使用按键F9。又或者,用户可以直接在对应的那一行的侧槽上双击来进行端点设置,而无需移动光标。设置完成后如图3.8所示。侧槽会在断点处显示一个符号。Breakpoints窗口随之更新,以便显示断点在何处设置,是否设置、禁止或失效。用户所设的断点被储存在与项目关联的会话文件中,也就是说,当用户退出或重新运行CrossWorks时,断点将会被保留。 图3.8设置断点 (7)启动应用程序:现在用户可以执行程序了,只需执行以下任一步骤: 点击Debug菜单中的Start Debugging选项。或者 在Build工具栏,点击Start Debugging按钮。或者 使用键盘按键F5。工作区将由标准Editing(编辑)工作区转为Debugging(调试)工作区。用户可以选择在这些工作区中显示哪些窗口,并对这些窗口进行独立的管理。CrossWorks把有效的项目加载到目标,并放置用户所设的断点。点击DebutGo按扭或图标全速运行程序。程序在断点处停止,黄色箭头表示程序被暂停,如图3.8所示。用户可以选择DebutStep Over,使用按键F10,或在Debug工具栏上点击Step Over按钮来单步运行语句。现在,我们进入下一个函数delay,并跟踪它的执行。进入delay,只需选择DebugStep Into,使用按键F11,或者点击Debug工具栏上的Step Into按钮。现在图1.21显示已经进入delay函数,并且执行在此处暂停。 用户可以选择DebugRun to Cursor选项使程序执行到指定的语句,或者选择DebugGo使程序重新运行,直到下一个有效的断点。图3.9断点暂停图3.10进入函数内部(8)脱机运行 :使用Luminary_LM3S.hzq开发包创建的工程,在默认的情况下程序下载到芯片的Flash脱机并不能运行,只能在Cross Studio for ARM集成开发环境下调试运行。如果需要脱机运行,则只需要在LM3S_Startup.s中定义STARTUP_FROM_RESET宏即可。3.3 程序流程图3.3.1 主程序流程开始 系统初始化数据采集N控制继电器开关,调解温度Y是否超上限 图3.11 主程序流程图结束3.3.2 温度传感器模块流程图开始 将读取的数据转化为温度显示初始化温度传感器读取温度传感器的数据向温度传感器写指令图3.12 温度传感器模块流程图4 总结本系统利用控制芯片、温度传感器、七段数码显示管、LED等分别实现:(1)实时显示当前室内温度(2)温度的检测及控制(4)若温度长时间超限,则通过亮灯报警;系统设计简便、实用性强、操作简单、程序设计简便。 本次设计综合应用了各种技术,对这些技术的学习和应用给了我很多是收获。较系统地了解了如何使用CROSSWORKS开发软件,并且学习了EDA技术并进行实践操作,掌握了该技术的基本要领;通过使用了LPC2103芯片对ARM系列芯片的结构、功能特性有了一定的了解;以及掌握了ARM芯片开发的软件环境ADS的使用和JTAG硬件调试方法;了解了数字式温度传感器的测温功能和原理,学习了C语言的应用。这次毕业设计确实使我受益匪浅,在设计中遇到过许多不能理解的问题和不懂的知识,这时就需要自己去研究,去学习,通过查阅各类相关资料和书籍(利用一切可以利用的资源),找到解决问题的方法,经过深刻的理解,再转化为自己的知识。通过设计也暴露了自己的缺点和不足:专业

温馨提示

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

最新文档

评论

0/150

提交评论