付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于扩散硅的压力计电路系统软件设计与调试分析案例目录TOC\o"1-3"\h\u23857基于扩散硅的压力计电路系统软件设计与调试分析案例 1324771系统软件设计 1152581.1软件设计基本原则 162281.2软件开发语言与开发平台 183921.3软件设计流程图 2259071.4软件抗干扰措施 344911.4.1采用软件拦截技术 399621.4.2设置看门狗模块 3169022系统调试与分析 381202.1总体效果展示 3305902.2调试总结 4系统软件设计软件设计基本原则在软件的设计过程中诞生了众多的软件设计模式和基本原则。遵循这些原则可以较好的保证代码的健壮性和后期代码维护的难度。常用的软件设计原则有:1.自顶向下设计2.模块化设计3.向后兼容的设计思想。自顶向下设计能够将一个大问题分解为若干小问题,在整体理解和把握的基础上进行逐层分解,这种设计实现了从整体到部分的过度,可以较好的避免各个部分单独开发后导致的综合调试不兼容的问题。模块化设计可以将系统代码进行模块划分,设计者可以根据类型或者功能进行划分,将软件以接口的形式暴露出来,实现封装,减少代码冗余。模块化开发可以较好的实现多人协作开发。向后兼容思想是为软件的后续开发维护留下接口,便于进行功能拓展,这对于实现代码升级和功能增添有重要的价值[17]。软件开发语言与开发平台目前主流的编程语言主要可以分为面向对象和面向过程的编程语言。其中C语言作为最早问世的面向过程的高级编程语言在嵌入式系统中有不可替代的地位,常年占据主流编程排行榜的前三位。C语言由贝尔实验室的D.M.Ritchie以B语言为基础设计而来。C语言具有强大的指针工具,可以在硬件编程中直接操作硬件,同时C语言代码非常的简洁,可以直接编译成二进制代码执行,非常适合在资源较为匮乏的硬件设备上执行。C语言在操作系统开发,嵌入式设备驱动领域具有不可撼动的地位,在单片机开发中,C语言更是高效开发的不二人选,汇编语言逐渐被淘汰。因此本系统采用C语言来作为开发工具。在嵌入式软件开发中选择合适的编译器非常重要,编译器是实现交叉编译的基础。目前单片机的开发工具有很多,每个公司都有配套的开发工具。德州仪器公司的MSP430系列的芯片一般采用IAR进行开发,8051单片机一般采用KeiluVision编译器进行开发。该软件具有非常强大的功能,内置了C51模块,同时随着ARM公司收购了KeiluVision软件之后,更是增加了大量的STM32的开发功能,优化了代码提示和包管理,版本管理系统[18]。由于KeiluVision进入中国较早,有着非常完善的开发社区,资料丰富,所以本系统选用KeiluVision进行开发。KeiluVision软件启动界面如REF_Ref70886306\h图4.1所示。图STYLEREF1\s4.SEQ图\*ARABIC\s11Keil5集成开发坏境启动页面软件设计流程图系统在进行上电操作之后,系统会进行初始化,检查管脚和外设电路是否正常,一切就绪之后。默认进入读取水压模式,当水压过大时,系统会在液晶显示屏上提醒用户,而当水压正常之后系统会在显示屏上显示正常。其检测流程图如REF_Ref70886331\h图4.2所示。图STYLEREF1\s4.SEQ图\*ARABIC\s12主程序流程图软件抗干扰措施为了实现更大的控制稳定性,提高系统的易维护性和可扩展性,还需要设计一个软件级干扰系统。为了抵抗软件和单片机本身的不稳定因素,提高可靠性,目前嵌入式开发中主流的软件抗干扰措施主要有以下两种可能:采用软件拦截技术如果系统受到干扰,程序的内部指针很容易指向错误的地址,导致程序进入不可控区域,导致意外的运行结果,最终导致死循环错误,首先受到影响的是内部程序计数器,因此有必要,在软件密钥代码前插入三个或四个字节的空指令,给CPU一个时间周期进行自校正。此外,错误的程序指针会导致程序在未使用的中断区运行,并影响软件的正常运行。在所有未使用的中断响应函数的输入端设置软件浪费,并添加返回声明,将偏离的程序拖回到主程序流中,这两种方法的结合可以从代码层面上达到令人满意的抗干扰效果。设置看门狗模块ST意大利半导体公司的Stm32f103v8芯片包含许多片上资源,包括看门狗(iwdg)模块。它的主要功能是定期从硬件上重启CPU,在软件开发中,我们只需设置看门狗的倒计时定时器,并在每次倒计时归零前重置定时器,这样就可以实现了,如果主程序崩溃或运行,并且看门狗定时器无法重置,看门狗模块可以从硬件重置CPU,并将程序拖回正常工作进程。。系统调试与分析总体效果展示在基于单片机的扩散硅压力计电路的设计与实现中,使用意法半导体公司推出的STM32F103RCT6单片机作为核心控制器,系统搭载了康德立品牌的扩散硅压力计进行水压监测。当水压超过阈值时,在OLED屏幕上显示水压过高的提示。其整体效果图如REF_Ref70886407\h图5.1所示。图STYLEREF1\s5.SEQ图\*ARABIC\s11实物调试整体效果图调试总结在硬件调试过程中出现了以下2个主要的问题:1硬件设计的核心是单个空间计算机最小系统的构建。作为一个综合性的模块,这部分应该具有良好的可扩展性和模块性。因此,本系统选择了单位置计算机的引脚进行引导,使其在使用杜邦电缆进行插接连接时工作得更好,但由于焊接不当,出现了多个与端口P0相对应的引脚,整个端口P0不能正常工作。用电压表测试后,终于发现了问题。2.在程序的第一版设计中,由于缺乏模块化编程的思维,将所有的代码都写在一个文件中,这使得整个文件很长,代码臃肿,同时也缺乏相关的注释。这种代码具有很大的问题,虽然可以实现功能,但是缺乏可维护性。在后续设计中加入了模块化编程思想,把每个模块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建电力职业技术学院《律师实务》2025-2026学年期末试卷
- 安徽新闻出版职业技术学院《普通教育学》2025-2026学年期末试卷
- 厦门城市职业学院《健康管理学》2025-2026学年期末试卷
- 食用菌生产工岗后能力考核试卷含答案
- 文化传播公司年度工作总结报告
- 纸制品公司工作总结报告
- 转化膜工诚信强化考核试卷含答案
- 修脚师安全文明知识考核试卷含答案
- 铁合金原料工岗前标准化考核试卷含答案
- 成功找到理想工作的秘诀-职业指导专家
- 厂级安全教育培训
- 胸痛患者的健康宣教课件
- 氧气瓶安全培训知识
- 足球传球与跑位配合技巧:传跑结合破解对手防线
- 15D502 等电位联结安装
- 就业指导-简历制作课件
- NB/T 11108-2023选煤用起泡剂性能要求
- 子女抚养权协议书
- 2022年全国青少年人工智能创新挑战赛考试题库(含答案)
- 葫芦岛连石化工有限责任公司年产3.5万吨苯二胺项目环评报告
- 部编人教版二年级语文下册《寓言二则》精美课件
评论
0/150
提交评论