欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    电特性测量系统软件设计毕业论文.doc

    • 资源ID:2056194       资源大小:648.01KB        全文页数:90页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电特性测量系统软件设计毕业论文.doc

    1 本科毕业设计本科毕业设计(论文论文) 题目:电特性测量系统软件设计题目:电特性测量系统软件设计 院(系)院(系) 电子信息工程学院电子信息工程学院 专专 业业 自自 动动 化化 班班 级级 姓姓 名名 学学 号号 导导 师师 20122012 年年 6 6 月月 1 1 日日 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教 师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别 加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过 的研究成果,也不包含我为获得 及其它教育机构的学位 或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人 或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论 文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和 电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并 提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其 它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论 文的部分或全部内容。 作者签名: 日 期: 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行 研究所取得的研究成果。除了文中特别加以标注引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 注 意 事 项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300 字左右) 、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论) 、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于 1 万字(不包括图 纸、程序清单等) ,文科类论文正文字数不少于 1.2 万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件) 。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错 别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所 有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工 程字书写,不准用徒手画 3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装 订 指导教师评阅书指导教师评阅书 指导教师评价:指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 指导教师:指导教师: (签名) 单位:单位: (盖章) 年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价:评阅教师评价: 一、论文(设计)质量一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 二、论文(设计)水平二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 评阅教师:评阅教师: (签名) 单位:单位: (盖章) 年年 月月 日日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价:教研室(或答辩小组)评价: 一、答辩过程一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格 3、学生答辩过程中的精神状态 优 良 中 及格 不及格 二、论文(设计)质量二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评定成绩:评定成绩: 优优 良良 中中 及格及格 不及格不及格 教研室主任(或答辩小组组长):教研室主任(或答辩小组组长): (签名) 年年 月月 日日 教学系意见:教学系意见: 系主任:系主任: (签名) 年年 月月 日日 三相电特性测试软件设计三相电特性测试软件设计 摘摘 要要 近年来随着社会对电力需求量的不断增长,电能紧缺问题日趋严重,极大 地制约着社会经济的发展。我国电力工业的迅速发展,电能质量对于电网的安 全经济运行,保证工业产品质量和科学实验的正常进行以及降低能耗等均有重 要意义。 为做到节约电能并合理高效地利用电能,这就需要对电力参数进行准确、 实时地监测;此外,对于电力参数进行高精度、多参数的测量,又是充分了解 电网的运行状况,寻找并解决电力系统中出现问题的重要途径。因此,对于电 力参数的测量,尤其是高精度、多参数、低价格、便携、稳定的实时测量就显 得尤为重要,也一直是人们研究的一个重要的方向。 为解决以上问题,本设计选用 ARM7 核的 LPC2124 芯片为测量系统的核 心,主要针对我国电力系统供配电的实际情况,通过 ARM7 单片机为核心,配 以相应的外围电路和功能软件,采用交流采样技术实现多种电力参数的在线实 时测量和数据分析,为电网的安全经济运行提供可靠保证。以提高三相电参数 的测量速度和精度。 关键字:关键字:三相电;交流采样;实时测量 Three phase electric characteristic measurement software design Abstract In recent years along with the social demand of electric power increasing, energy shortage is becoming more and more serious, which restricts the development of social economy.The rapid development of power industry, power quality for power system safe and economic operation, ensure quality of industrial products and scientific experiment with normal and reduced energy consumption has important significance. In order to achieve energy saving and high efficient use of energy, which is needed for power parameters for accurate, real-time monitoring; in addition, the electric parameters with high accuracy, multi parameter measurement, and fully understand the operation of power system, find and solve emerging in power system the important way of the problem.Therefore, for the measurement of electric power parameters, especially high accuracy, multi parameter, low price, portable, stable and real-time measurement is particularly important, people has always been an important direction in the study. In order to solve the problem above, this design uses ARM7 nuclear LPC2124 chip measurement system for the core, mainly for the power system of our country distribution of the actual situation, through the ARM7 single-chip microcomputer as the core, with a corresponding peripheral circuit and software, adopting AC sampling technology to achieve a variety of electrical parameter on-line real-time measurement and data analysis, as the power system safe and economic operation to provide a reliable guarantee.In order to improve the electric parameter measuring speed and accuracy. Keywords: three-phase;AC sampling;measurement 1 目目 录录 摘摘 要要I I ABSTRACTIIII 1 1 绪论绪论1 1 1.1 前言 1 1.2 本课题的研究背景、研究意义及国内外相关研究情况 1 2 2 三项电特性测量软件设计方案三项电特性测量软件设计方案1 1 2.1 基本功能要求 1 2.2 总体方案设计 1 2.2.1 硬件平台.1 2.2.2 开发环境与仿真1 2.2.3 开发语言1 2.2.4 软件总体结构1 3 3 系统的初始化系统的初始化1 1 3.1 系统的初始化的含义 1 3.1.1 初始化的执行顺序1 3.1.2 系统的启动代码1 4 4 数据采集程序和数据处理数据采集程序和数据处理1 1 4.1 数据采集技术简介 1 4.2A/D 寄存器的描述 .1 4.2.1A/D 控制寄存器 ADCR.1 4.2.2A/D 数据寄存器 ADDR.2 4.3A/D 的基本操作 .3 4.4 数据处理 3 4.5A/D 采集功能介绍及软件编程 .7 2 5 5 键盘显示模块键盘显示模块1212 5.1 关于键盘使用的简单介绍 .12 5.2 键盘控制模块的功能介绍及程序 .13 5.2.1 键盘扫描头文件 Keyboard.h14 5.2.2 按键扫描去抖程序14 6 6 液晶显示模块液晶显示模块1717 6.1 液晶简介 .17 6.1.1LCD 介绍17 6.1.2LCD 显示的原理17 6.1.3LCD 的分类18 6.2 液晶显示模块 .18 6.2.1 点阵式液晶显示器 LM12864 简介18 6.2.2 液晶显示流程图以及 LCD 驱动19 6.3 LCD 显示的应用程序29 6.3.1LCD 的简单 GUI 实现.29 6.3.2LCD 实时时钟显示模块30 6.3.3LCD 的实时时钟软件编程31 6.3.4 外部扩展 I2C.35 6.3.5LCD 显示电特性参数37 7 7 电特性参数的计算电特性参数的计算4141 7.1 电特性参数 .41 7.2 采用过零点检测测量周期的软件编程 GUOLINDIAN.C.42 7.3 电特性参数软件程序 .44 8 8 PROTEUSPROTEUS 仿真仿真 4545 8.1PROTEUS简介 45 8.2 电路仿真 .45 3 8.3 分散加载文件 .46 8.4 系统的电路图以及PROTEUS中的仿真结果 .48 8.4.1 系统的电路图48 8.4.2proteus 中的仿真结果48 结束语结束语5151 致谢致谢5252 参考文献参考文献5353 毕业设计(论文)知识产权声明毕业设计(论文)知识产权声明5454 毕业设计(论文)独创性声明毕业设计(论文)独创性声明5555 1 绪论 1 1 1 绪论绪论 1.11.1 前言前言 能源是人类社会赖于生存和发展的基础,电能作为能源的第二次形式,具 有简单、方便、可靠等特点,是现代社会运行的主要能源之一。充足、可靠的 能源是提高经济高速发展、社会正常运行的基本前提。 上世纪六十年代以来,微电子、计算机、电力电子技术在各个领域 广泛应 用,位现代工业的自动化、提高劳动生产率开辟了广阔的前景。近年来随着大 功率电力电子技术的发展以及它们的广泛应用,使得非线性负载大量的增加, 给供电设备造成了很大的影响。 本文主要研究基于数字采样测量的三相电参数测量系统,主要包括电压、 电流、频率、相位、功率因数、有功功率、无功功率,视在功率,电能等的测 量。 1.21.2 本课题的研究背景、研究意义及国内外相关研究情况本课题的研究背景、研究意义及国内外相关研究情况 电力是国家经济发展的命脉,随着社会对电力需求量的不断增长,工业、 农业、商业、居民用电的日益增长,供电量日益增加,电能作为一种具有多种 参数指标、直接反映电力企业经济效益的商品备受重视。随着工业技术的不断 进步,对电力的需要越来越大,电能紧缺问题日趋严重,极大地制约着社会经 济的发展。 近年来,我国电力负荷急剧增大,各种非线性负载,特别是新型电力电子 器件在电力系统、工业各部门和家用电器产品中的日益广泛应用,给供电设备 的电能质量造成了极大的影响。因此,在大多数情况下,电力信号己不是标准 的正弦信号,而是一种复杂的周期信号。 国内电力参数检测技术的研究和开发起步较晚,目前对电力参数测量的方 式基本上可分为芯片转化为有效值测量,直接离散时序测量和多谐波测量等。 相对国内而言,国外对电能质量的研究起步就比较早,也已经取得了很多关于 这方面的研究和应用成果,世界对电能质量的认识程度也越来越高,每隔两年 就召开一次电能质量与电力谐波学术会议。在电能质量检测产品研究领域,尤 其是这些领域的高端产品在全球市场的份额,几乎是被美国的 FLUKE 公司、 瑞士的 LEM 公司、瑞典的 UNIPOWER 公司等国际知名公司占据,这些公司的 1 绪论 2 技术水平为国际最先进,当然价格也非常昂 西安工业大学毕业设计(论文) 1 电能质量对于电网的安全经济运行,保证工业产品的质量和科学实验的正常 进行以及降低能耗等均有重要意义。为了改善这一状况,对电力系统进行完整 分析和监测是成功的关键。此外,对于电力参数进行高精度、多参数的测量, 又是充分了解电网的运行状况,寻找并解决电力系统中出现的问题的重要途径。 因此,对于电力参数的测量,尤其是高精度、多参数、低价格、便携、稳定的 实时测量就显得尤为重要,也一直是人们研究的一个重要方向。在我国电力工 业领域,电网质量的问题已经成为关键,电力参数的分析和监测已经成为国际 上讨论和研究的重点。 2 三相电特性测量软件设计方案 1 2 三项电特性测量软件设计方案三项电特性测量软件设计方案 2.1 基本功能要求基本功能要求 (1) 熟悉工厂供电技术; (2) 熟悉测量系统硬件电路原理; (3) 设计软件结构; (4) 掌握 ADS1.2 开发工具; (5) 熟练运用 PROTEUS 仿真; (6) 编写程序代码及调试; (7) 软、硬件系统联调。 2.2 总体方案设计总体方案设计 2.2.1 硬件平台硬件平台 课题主要研究电特性测量系统的软件程序设计。选用的是 ARM 为核的 LPC2000 系列的芯片,LPC2000 系列是 NXP 公司生产的以 ARM7TDMI-S 核为 基础的嵌入式处理器,在芯片内部配置了大量的接口及功能模块。本设计选用 的是 LPC2124 芯片,LPC2124 具有较小的 64 引脚封装,低功耗的特点,以及 多个片内外设(如 32 位定时器、A/D 转换器、外部中断等) ,多个 32 位定时器, 4 路 10 位 ADC,内置多种串行通信接口以及多达 9 个外部中断,因此特别适用 于工业控制、医疗系统访问控制、通信网关、协议转换器、嵌入式 MODEM 等 各种类型的应用。 2.2.2 开发环境与仿真开发环境与仿真 本课题选用的是 ADS1.2 开发工具,ADS1.2 是 ARM 公司推出的 ARM 集 成开发工具,具有用户多、编译效率高、支持的 ARM 内核多的特点。ARM ADS 全称为 ARM developer Suite,是 ARM 公司推出的 ARM 集成开发工具, 成熟版本为 ADS1.2,他的前身是 SDT,SDT 是 ARM 公司几年前的开发环境软 件。ADS1.2 支持 ARM10 之前的所有 ARM 系列微控制器,支持软件调试,支 持汇编、C 语言、C+源程序,具有编译效率高、系统库功能强等特点。本课 题用 ADS1.2 开发工具围绕 LPC2124 片上的基本功能模块实现三相电特性的测 2 三相电特性测量软件设计方案 2 试,最终通过了 西安工业大学毕业设计(论文) 1 PROTEUS 的仿真验证。 PROTEUS 是英国 Labcenter 公司推出的适合嵌入式设计仿真与开发的仿真 软件,使用 PROTEUS 软件可以完全脱离硬件平台来学习嵌入式系统,可以说 是嵌入式学习的一次革命。 2.2.3 开发语言开发语言 本课题软件用的语言主要有 C 语言,还有启动代码中所用到的汇编语言。 本文选用 C 语言主要是由于 C 语言有以下优点: (1) 寄存器分配,数据类型等由编译器管理; (2) 编程及调试的时间减少,大大缩短开发周期; (3) 明显增加软件可读性,便于改进和扩展。 2.2.4 软件总体结构软件总体结构 本系统主要针对我国电力系统供配电的实际情况,通过 ARM7 单片机为核 心,配以相应的外围电路和功能软件,采用交流采样技术实现多种电力参数的 在线实时测量和数据分析,为电网的安全经济运行提供可靠保证。 本课题主要研究电特性测量系统的软件程序设计。本课题的软件部分主要 是通过实时采样电流电压的瞬时值,以及过零检测,进而计算出电流电压的有 效值、频率值、有用功率、无用功率、视在功率、功率因数等电力参数。本测 量系统的软件设计主要分为以下几个模块: (1) 主程序模块 (2) 电压、电流采集程序 (3) 频率采集程序 (4) 数据处理程序 (5) 时钟日历程序 (6) 键盘服务程序 (7) 显示服务程序 本设计拟采用 ADS1.2 集成开发工具编写 C 语言程序实现测量系统的相关 功能。数据的处理与计算是程序设计的主要部分。系统基本测量的参数主要包 括:电流有效值、电压有效值、有功功率、无功功率、视在功率、功率因数等。 首要环节是对输入的电气信号进行离散化,即采样。根据被采集信号的不同, 数据采集可分为直流采样和交流采样两大类。对比分析后,系统选用交流采样, 数值的计算采用离散的电压电流有效值计算公式来实现。 为了提高 ARM7 核的 LPC2124 芯片程序编写效率,系统软件采用了分模 块编写的方法,用 C 语言和汇编语言混合编写。对于 LPC2124 和各模块的初始 化、数据采集程序采用汇编编程,对于主程序、键盘显示等通用性较强程序, 西安工业大学毕业设计(论文) 2 采用 C 语言编写。本系统的主要功能模块有数据采集模块、数据处理模块、时 钟模块,按键显示模块等。所有软件模块的功能都在主控模块的调配下协调执 行,主控模块首先对系统进行初始化操作,包括 CPU 初始化、I/O 初始化、 A/D 初始化、LCD 初始化、时钟初始化、异步通讯初始化等。随即对数据进行 采集、处理、显示。然后判断是否有键按下,根据判断结果,执行相应按键服 务程序。 系统的主要电特性参量介绍: (1) 电压有效值:让恒定电压和交变电压分别加在阻值相等的电阻上,使它 们在相同时间内产生的热量相等,就可以把该恒定电压的数值规定为这个交变电 压的有效值. (2) 电流有效值:将一直流电与一交流电分别通过相同阻值的电阻,如果 相同时间内两电流通过电阻产生的热量相同,就说这一直流电的电流值是这一 交流电的有效值。 (3) 有功功率:在交流电路中,电源在一个周期内发出瞬时功率的平均值 (或负载电阻所消耗的功率),称为“有功功率“。 (4) 无功功率:在正弦电流电路中,复功率的虚部: ,且供给电感的无 功功率为正值。 (5) 视在功率:在电工技术中,将单口网络端钮电压和电流有效值的乘积, 称为视在功率(apparent power) ,记为 S=UI。 (6) 功率因数:在交流电路中,电压与电流之间的相位差()的余弦叫做功 率因数,用符号 cos 表示,在数值上,功率因数是有功功率和视在功率的比值, 即 cos=P/S 。 系统主程序流程图如 2.1 图所示。 西安工业大学毕业设计(论文) 3 一 一 一 一 一 一 一 一 一 一 一 一 A/ D一 一 一 一 A/ D一 一 一 一 一 一 一 一 一 一 一 A/ D一 一 一 一 一 一 一 一 一 一 一 一 A/ D一 一 一 一 N N 一 一 A/ D一 一 Y Y keyA一 一 一 Y Y keyC一 一 一keyB一 一 一N NN N Y YY Y 一 kyeA一 一 一一 kyeC一 一 一一 kyeB一 一 一 一 一 0一 一 一 一 一 一 一 一 一 一 1 一 一 EI NT0一 一 一 一 一 一 一 1一 一 一 一 一 一 一 一 一 一 1 一 一 EI NT1一 一 一 一 一 一 一 2一 一 一 一 一 一 一 一 一 一 1 一 一 EI NT2一 一 一 一 一 3 系统初始化 1 3 系统的初始化系统的初始化 3.1 系统的初始化的含义系统的初始化的含义 首先来讲讲系统初始化,什么是系统初始化呢? 初始化就是把变量(variable)赋为默认值,把控件设为默认状态,把没准备 的准备好。但是如果是整个系统初始化那就不一样了。每个软件,或是工具, 系统等都有一个初始化。如系统的初始化就是将你的系统还原到一开始做的备 份的状态。 把设置等都还原至那个位置。如果是一个软件的初始化,基本都是将一些 功能的设置都还原为开始设置,意思就和恢复默认设置差不多。 3.1.1 初始化的执行顺序初始化的执行顺序 每一个初始化部分里面的代码在程序运行后,或库的 begin-end 块运行之前。 delphi 使用对单元相关树的深度优先遍历来运行初始化部分。换句话说,就只 在一个单元的初始化代码运行前,delphi 就运行了特他使用的每一个单元的初 始化部分。每一个单元仅初始化一次 。 程序代码当中可以有 Initialization 声明部分。这部分里面的代码的执行, 是在 windows 加载包含该单元(指 Initialization 所属单元)的模块(应用程序, DLL 或者包)时运行的。一般来说是:先 Initialization 单元,然后 interface 单 元,然后 implementation 单元。 程序中 Intialize 过程。可以在这里初始化字符串、动态数组、接口和 Variants 系统为什么要初始化呢? 第一,信息系统是以数据库为主的软件系统,是数据库应用系统,必须设 定数据库应用的安全体系否则无法保证数据安全; 第二,信息系统是组织的管理方法,必须具备组织使用的共享数据才能供 组织使用; 第三,初始化的核心是数据准备,没有历史数据不能实现系统切换,无法 使用; 第四,数据必须定期存档和更新才能使信息系统有较高的运转效率; 西安工业大学毕业设计(论文) 1 3.1.2 系统的启动代码系统的启动代码 系统初始化主要是由软件来完成的,一般在 32 位 ARM 应用系统中,大多 数软件采用 C 语言来进行编程,并且以嵌入式操作系统作为平台,这样能大大 提升开发效率及软件性能。但是,由于 C 语言生成的代码不能上电后立马运行 的,因为此时还不具备运行条件,比如全局变量还没有初始化,系统堆栈还没 有设置等。因此从系统上电,到正式运行用户的 main 函数之前,要运行一段代 码,这段代码就称为启动代码。 启动代码大部分由汇编指令构成,它可以实现向量表定义、堆栈初始化、 系统变量初始化、中断初始化、外围初始化、地址重映射等操作。见图 2-2。 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 l pc2124一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 m ai n一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 St ar up. s Tar get . c 图 2.2 首先是应该完成头文件的编写,下面就是系统初试化的头文件(target.h) 和系统的初始化软件(target.c) 、 (Startup.s) 。 (1) 系统初试化的头文件(系统初试化的头文件(target.h) #ifndef _TARGET_H #define _TARGET_H #ifdef _cplusplus extern “C“ 西安工业大学毕业设计(论文) 2 #endif #ifndef IN_TARGET extern void Reset(void); extern void TargetInit(void); #endif #ifdef _cplusplus #endif #endi (2) 系统的初始化软件(系统的初始化软件(Startup.s) ;define the stack size ;定义堆栈的大小 SVC_STACK_LEGTH EQU 0 FIQ_STACK_LEGTH EQU 0 IRQ_STACK_LEGTH EQU 256 ABT_STACK_LEGTH EQU 0 UND_STACK_LEGTH EQU 0 NoInt EQU 0x80 NoFIQEQU0x40 USR32Mode EQU 0x10 SVC32Mode EQU 0x13 SYS32Mode EQU 0x1f IRQ32Mode EQU 0x12 FIQ32Mode EQU 0x11 ; IMPORT _use_no_semihosting_swi ;The imported labels ;引入的外部标号在这声明 IMPORT FIQ_Exception ;快速中断异常处理程序 IMPORT _main ;C 语言主程序入口 IMPORT TargetResetInit ; 目标板基本初始化 ;The emported labels ;给外部使用的标号在这声明 EXPORT bottom_of_heap EXPORT StackUsr EXPORT Reset EXPORT _user_initial_stackheap CODE32 AREA vectors,CODE,READONLY 西安工业大学毕业设计(论文) 3 ENTRY ;interrupt vectors ;中断向量表 Reset LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0xb9205f80 LDR PC, PC, #-0xff0 LDR PC, FIQ_Addr ResetAddr DCD ResetInit UndefinedAddr DCD Undefined SWI_Addr DCD SoftwareInterrupt PrefetchAddr DCD PrefetchAbort DataAbortAddr DCD DataAbort Nouse DCD 0 IRQ_Addr DCD 0 FIQ_Addr DCD FIQ_Handler ;未定义指令 Undefined B Undefined ;软中断 SoftwareInterrupt ; B SoftwareInterrupt CMP R0, #4 LDRLO PC, PC, R0, LSL #2 MOVS PC, LR SwiFunction DCD IRQDisable ;0 DCD IRQEnable ;1 DCDFIQDisable ;2 DCDFIQEnable ;3 IRQDisable ;关 IRQ 中断 MRS R0, SPSR ORR R0, R0, #NoInt 西安工业大学毕业设计(论文) 4 MSR SPSR_c, R0 MOVS PC, LR IRQEnable ;开 IRQ 中断 MRS R0, SPSR BIC R0, R0, #NoInt MSR SPSR_c, R0 MOVS PC, LR FIQDisable ;关 FIQ 中断 MRS R0, SPSR ORR R0, R0, #NoFIQ MSR SPSR_c, R0 MOVS PC, LR FIQEnable ;开 FIQ 中断 MRS R0, SPSR BIC R0, R0, #NoFIQ MSR SPSR_c, R0 MOVS PC, LR ;取指令中止 PrefetchAbort B PrefetchAbort ;取数据中止 DataAbort B DataAbort ;快速中断 FIQ_Handler STMFD SP!, R0-R3, LR BL FIQ_Exception LDMFD SP!, R0-R3, LR SUBS PC, LR, #4 InitStack MOV R0, LR ;Build the SVC stack ;设置管理模式堆栈 MSR CPSR_c, #0xd3 西安工业大学毕业设计(论文) 5 LDR SP, StackSvc ;Build the IRQ stack ;设置中断模式堆栈 MSR CPSR_c, #0xd2 LDR SP, StackIrq ;Build the FIQ stack ;设置快速中断模式堆栈 MSR CPSR_c, #0xd1 LDR SP, StackFiq ;Build the DATAABORT stack ;设置中止模式堆栈 MSR CPSR_c, #0xd7 LDR SP, StackAbt ;Build the UDF stack ;设置未定义模式堆栈 MSR CPSR_c, #0xdb LDR SP, StackUnd ;Build the SYS stack ;设置系统模式堆栈 MSR CPSR_c, #0xdf LDR SP, =StackUsr MOV PC, R0 ResetInit BL InitStack ;初始化堆栈 BL TargetResetInit ;目标板基本初始化 ;跳转到 c 语言入口 B _main _user_initial_stackheap LDR r0,=

    注意事项

    本文(电特性测量系统软件设计毕业论文.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开