基于单片机freescale处理器Labview_PM系统设计毕业论文.doc_第1页
基于单片机freescale处理器Labview_PM系统设计毕业论文.doc_第2页
基于单片机freescale处理器Labview_PM系统设计毕业论文.doc_第3页
基于单片机freescale处理器Labview_PM系统设计毕业论文.doc_第4页
基于单片机freescale处理器Labview_PM系统设计毕业论文.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

东北石油大学东北石油大学 毕业设计报告毕业设计报告 题 目: 院 系: 信息与控制学院 (黑三) 专 业: 通信工程 (黑三) 班级学号: 093041 07 (黑三) 学生姓名: 张 三 (黑三) 指导教师: (黑三) 成 绩: 2014 年 06 月 25 日 i 摘摘 要要 本设计分析了测控系统的结构和特点,结合现代控制技术、微机技术以及单片机 freescale 处理器为代表的微电子技术设计了基于 labview 的空气 pm2.5 检测系统,阐 述了系统设计要求、设计方案和实现方法。加入了人机交互功能,使得系统操作更具 有人性化。 系统是以单片机 freescale 为最小系统作为控制系统,整个设计是运用灰尘颗粒传 感器对当前环境进行检测采集到的电压信号,将其发送到单片机控制模块,数据处理 完成后将其通过串口通信发送到 labview 上位机软件界面上显示出当前传感器检测到 的变化电压数据值,以及电压变化的曲线图。通过最后的操作表明,系统完全达到了 设计要求,最终达到人机交互的目的。 系统的软硬件设计都采用了模块化的设计思想。硬件方面详细介绍了各个电路功能 模块及系统扩展所需要的其他一些外围电路的设计,软件方面以硬件电路为基础分别 进行了模块化设计。为使系统控制更准确、应用的场景更大,在数据传输的过程中采 用了串口通信的数据传输方法。同时设计中考虑到可能存在的各种干扰因素,采用了 软硬件结合的抗干扰技术,提高系统的稳定性。最后对系统进行了模拟性能测试,测 试结果表明,系统性能良好。系统的个别环节还有待进一步优化和完善。 关键词:freescale;灰尘颗粒传感器;labview 上位机;人机交互 ii abstract the design structure and characteristics of the measurement and control system are analyzed combining with modern control technology, computer technology and microcontroller freescale processor as a representative of the microelectronics technology to design the air pm2.5 detection system based on labview, expounds the system design requirements, design scheme and realization method. add the function of human-computer interaction, makes the system operation more humanized. system based on microcontroller freescale minimum system as the control system, the design is to use dust particle sensor to test the current environment to voltage signal and send it to the single-chip microcomputer control module, data processing after the completion of the sent via a serial port communication in labview pc software shows on the surface of current sensor detects the change of the voltage data points, and voltage change curve. after the last operation, the system meets the design requirements, and reaches the purpose of human-computer interaction. design of the software and hardware adopts the idea of modularization. for hardware part, it introduced every circuit module and some other peripheral circuit needed by system extending in detailed; for software part, it was designed based on hardware. in order to make the system control more accurate, application scene more, during the course of the data transmission it uses wireless serial communication data transmission method. at the same time, in consideration of the possible interference factors the design uses a combination of hardware and software anti-interference technology, to improve the stability of the system. finally it performed simulation testing; results show that, the system has good performance. the some parts of the system still need further improvement and optimization. keywords: freescale. dust particle sensor; labview pc; the human-computer interaction iii 目 录 1 绪论绪论.1 1.1 设计意义和要求 1 1.2 课题的设计目的.1 1.3 本系统主要设计指标 2 2 系统的方案设计概况系统的方案设计概况.1 2.1 系统各单元的方案论证 1 2.1.1 控制模块的论证与选择.1 2.1.2 电源模块的论证与选择.1 2.1.3 灰尘传感器模块的论证与选择.2 2.2.4 显示模块的论证与选择2 2.2 系统总体设计方案 3 3 系统的硬件设计系统的硬件设计.4 3.1 单片机模块 4 3.2 程序下载电路模块 5 3.3 电源电路模块.6 3.4 灰尘传感器电路模块 7 3.5 串口通信模块 7 3.6 libview上位机界面显示模块 8 3.7 protel硬件开发软件.9 3.7.1 protel 软件组成.9 3.7.2 pcb 板设计.10 4 系统的软件设计系统的软件设计.1 4.1 ide 开发环境和用法.1 4.2 系统的软件部分设计.4 5 系统的调试过程系统的调试过程.6 5.1 测试的方法及内容 6 5.2 测试的目的 6 5.3 测试的结果记录 6 结论结论.2 iv 致致 谢谢.3 参考文献参考文献.4 附录附录 系统的总电路图系统的总电路图v 东北石油大学2014 届本科生毕业设计 1 1 绪论 1.1 设计意义和要求 细颗粒物又称细粒、细颗粒、pm2.5。细颗粒物指环境空气中空气动力学 当量直径小于等于 2.5 微米的颗粒物。它能较长时间悬浮于空气中,其在空气 中含量浓度越高,就代表空气污染越严重。虽然 pm2.5 只是地球大气成分中含 量很少的组分,但它对空气质量和能见度等有重要的影响。与较粗的大气颗粒 物相比,pm2.5 粒径小,面积大,活性强,易附带有毒、有害物质(例如,重 金属、微生物等),且在大气中的停留时间长、输送距离远,因而对人体健康 和大气环境质量的影响更大。 pm2.5 可以由硫和氮的氧化物转化而成。而这些气体污染物往往是人类对 化石燃料(煤、石油等)和垃圾的燃烧造成的。在发展中国家,煤炭燃烧是家 庭取暖和能源供应的主要方式。没有先进废气处理装置的柴油汽车也是颗粒物 的来源。燃烧柴油的卡车,排放物中的杂质导致颗粒物较多。 在室内,二手烟是颗粒物最主要的来源。颗粒物的来源是不完全燃烧、因 此只要是靠燃烧的烟草产品,都会产生具有严重危害的颗粒物,使用品质较佳 的香烟也只是吸烟者的自我安慰,甚至可能因为臭味较低,而造成更大的危害; 同理也适用于金纸燃烧、焚香及燃烧蚊香。但是炒菜 5 分钟,pm2.5 增加 20 倍 系误读。 目前,随着社会生活的工、农、商业的不断发展排出大量的浓烟以及及人 们农村焚烧秸秆等等,这一系列的举措都产生了大量的烟尘颗粒,进而就是现 在常说的 pm2.5,根据这样的现象发生,本课题设计制作了一款基于 labview 的空气 pm2.5 检测系统,满足人们的迫切需求。 1.2 课题的设计目的 1. 巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识 解决工业控制的能力。 2. 培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力, 提高组成系统、编程、调试的动手能力。 东北石油大学2014 届本科生毕业设计 2 3. 通过对课题设计方案的分析、选择、比较、熟悉 freescale 单片机用系 统开发、研制的过程,软硬件设计的方法、内容及步骤。 1.3 本系统主要设计指标 本设计分析了测控系统的结构和特点,结合现代控制技术、微机技术以及 单片机 freescale 处理器为代表的微电子技术设计了基于 labview 的空气 pm2.5 检测系统,主要技术指标有如下几点: 1、运用 freescale 单片机作为主控制器,进行数据处理 2、灰尘颗粒传感器检测产生其电压值 3、labview 上位机软件界面的编写设计 4、具有实时记录当前的电压值数据参数和电压变化曲线图的功能 东北石油大学2014 届本科生毕业设计 1 2 系统的方案设计概况 本系统以单片机 freescale 为主控核心,a/d 采样电路模块、灰尘传感器模块、 labview 上位机显示模块、电源电路模块等,实现了基于 labview 的空气 pm2.5 检测系 统的设计功能。 2.1 系统各单元的方案论证 2.1.1 控制模块的论证与选择 方案 1:采用通用的 52 单片机。由于 52 单片机内部的 rom 和随机存取储存器都比 较小,而本系统需要大量的液晶显示和数据处理,所以就需要占用大量的 rom 资源, 考虑到实现本系统需要大量的数据处理及液晶显示需占用大量的 rom 资源等,用 52 单片机实现本系统就需外扩随机存取储存器和 rom ,实现起来比较麻烦。而且该并没 有自带 a/d 转换功能端口,得做外围电路, 51 单片机不能满足要求。 方案 2:atmega16 单片机与其他型号的单片机相比,有以下优点:(a)该芯片内 部的 sram、flash、eeprom 的容量比较大;(b)该单片机的驱动能力比较强,每个 i/o 口都可以用驱动的方式输出高电平和低电平;(c)该芯片应有汇编语言,与 c 语 言风格差不多,该芯片的汇编函数可以与 c 语言函数互相调用,使整个系统更加简单; (d)该单片机的运行速度比其他型号单片机的运行速度快;(e)该芯片所有型号的 eeprom、flash 都支持在线编程并且可以反复烧写;(f)该芯片的内部资源比较丰富, 比如:有丰富的中断源、spi、twi、pwm、usart、ad 和 da 模数器 i2c 通信口等; (g)该芯片的零外围电路也可以工作.但是该系统的设计对 a/d 转换要求比较高,得 采用 24 位的 ad 芯片进行操作。 方案三:采用 9s12xs128 系列 freescale 单片机,该单片机是 16 位的单片机,其 最高总线速度 40mhz 64kb、128kb 和 256kb 闪存选项,均带有错误校正功能 (ecc)带有 ecc 的、4kb 至 8kb dataflash,用于实现数据或程序存储可配置 8- 、10- 或 12- 位模数转换器(adc),转换时间 3s 支持控制区域网(can)、本地 互联网(lin)和串行外设接口(spi)协议模块带有 16-位计数器的、8-通道定时器出 色的 emc,及运行和停止省电模式,可以满足该课题的设计要求。 因此采用方案三,可以满足本课题的设计目的要求。 2.1.2 电源模块的论证与选择 系统需要电源供电,而该单片机系统需 3.3v 电源。 东北石油大学2014 届本科生毕业设计 2 方案一:采用变压器将 220 交流电变压成直流电再经过整流桥后,经三端稳压集 成 lm7805 得到 5v 的稳压电压,再经 lm317 芯片稳压调整到 3.3v 电压。利用该方法方 便简单,工作稳定可靠。价格低廉,便于使用。 方案二:采用变压器将 220 交流电变压成直流电再经过整流桥后,经稳压集成 lm2596 芯片得到 5v 的稳压电压,在利用稳压芯片 lm1117 稳压成 3.3v 电压,该芯片的 集成度高,应用方便简捷,工作稳定可靠,输入的电压值可在(740)v 范围内可变, 灵活性强,性价比高,耐电流值大。 方案三:直接采用的是 5v 电源适配器输入 5v 电压,再经电容滤波一下,从而得 到 5v 电压,再经稳压芯片 lm1117 稳压成 3.3v 电压以供整个系统的主控模块供电运行 工作。 综上所述,选择方案三,采用来给系统的主控模块进行工作供电。 2.1.3 灰尘传感器模块的论证与选择 方案一:可以采用正常现成的灰尘传感器模块,可以直接进行运用检测空气的 pm2.5,无需在进行电路制作,操作简单易懂,虽然成本不是很低廉,但其效率高。 方案二:采用人为设计制作的灰尘传感器模块,虽然成本低廉,但是其电路设计 制作繁琐,传感器的测试精度不高,无法满足课题的设计要求。 故而综上所述,选择方案一,采用现成的灰尘传感器模块来进行对当前检测空气 的 pm2.5 产生的电压数据值。 2.2.4 显示模块的论证与选择 方案一:采用 led 数码管显示。使用多个数码管进行动态显示。由于显示的内容 较多,过多地增加数码管的个数显然不可行,进行轮流显示则控制复杂 ,加上数码管 需要较多的连线,使得电路复杂,功耗比较大。 方案二:采用字符型 lcd 显示。lcd 具有低功耗、长寿命、高可靠性等特点,可显 示英文、汉字及数字。利用单片机来驱动液晶显示模块,设计简单,且界面美观舒适, 耗电少。 方案三:采用的是 libview 上位机界面显示,可以实时动态的显示电压值,并有 电压变化形成的动态曲线图,更加的直观的看清。 综上所述,选择方案三,采用 libview 上位机界面显示当前传感器检测输出的电 压数据值,以及电压变化的曲线图。 东北石油大学2014 届本科生毕业设计 3 2.2 系统总体设计方案 本系统的设计采用的是单片机 freescale 为最小系统作为控制系统,整个设计是 运用灰尘颗粒传感器对当前环境进行检测采集到的电压信号,将其发送到单片机控制 模块,数据处理完成后将其通过串口通信发送到 labview 上位机软件界面上显示出当 前传感器检测到的变化电压数据值,以及电压变化的曲线图。整个系统的框图,如图 2.1 所示。具体的电路原理图,见附录。 freescale 单片机 控制模块 电源模块 灰尘传感 器模块 串口通信 模块 labview 上 位机显示 复位电路 图 2.1 系统的总框架图 东北石油大学 2014 届本科生毕业设计(论文) 4 3 系统的硬件设计 该系统设计由单片机模块、灰尘传感器模块、程序下载电路模块、串口通信模 块、电源模块和 labview 上位机界面模块部分组成,该系统的核心部分采用 9s12xs128 系列 freescale 单片机,下面分步介绍各硬件部分的具体设计分析。 3.1 单片机模块 本设计采用 9s12xs128 系列 freescale 单片机作为主控芯片。该芯片是一种 16 位微控制器( mcu)系列针对广泛的低成本汽车车身电子应用进行了优化。提 供 64k 到 256k flash 和 48 到 112 个管脚。freescale mc9s12 系列 mcu 是以高 速 cpu12 内核为基础的微控列,简称 s12 系列2。典型的 hc12 总线频率为 8mhz,而典型的 s12 总线频率为 25mhz。hc12 与 s12 指令完全兼容,故统称为 hcs12 系列微控制器。 s12 系列微控制器主要有 a、b、c、d、e、f、g、h、l 等系列,分为以下几大类: (1)mc 9s12a 系列和 b 系列 16 位微控制器; (2)带 can 总线的 mc 9s12d 系列 16 位微控制器; (3)带液晶驱动的 mc 9s12h 系列和 mc 9s12l 系列 16 位微控制器; (4)低供电电压的 mc 9s12e128 和 mc 9s12e64 系列 16 位微控制器; (5)带 usb 接口的 mc 9s12uf32 系列 16 位微控制器; (6)带以太网接口的 mc 9s12ne 系列 16 位微控制器。 s12 系列微控制器有以下优点: (1)s12 系列具有 flash 存储器; (2)s12 系列采用的 c 语言已进行了最优化设计,编码方式效率高; (3)s12 系列具有低成本调试功能。 具体的单片机控制模块的电路图,如下图 3.1 所示。 东北石油大学 2014 届本科生毕业设计(论文) 5 图 3.1 单片机主控模块的电路图 3.2 程序下载电路模块 程序下载电路模块主要由晶振、电容、电阻、电感组成。单片机工作的时间基 准是由时钟电路提供的。本设计中单片机的程序下载,是由该电路执行的,其电路 中的电容器选用的 10nf 的容量,电感选用的是 100mh。该电路运行的电压是 3.3v。 具体的程序下载电路模块的电路图,如下图 3.2 所示。 图 3.2 程序下载电路的电路图 东北石油大学 2014 届本科生毕业设计(论文) 6 3.3 电源电路模块 电源模块由稳压部分、滤波部分和电源指示部分组成。电源部分的稳定对整个 系统的是否能够可靠的工作起着至关重要的作用,基于 labview 空气检测系统根据 各部件正常工作的需求,对其进行整体系统的供电电压调节。主控装置部分采用的 是直接的 5v 电源适配器来给其供电的,再利用电容滤波滤去不稳定的因素,保证变 压后的电压量。其在经稳压芯片 lm1117 稳压后得到 3.3v,以供该装置的核心系统 供电,采用这样的供电方式可以减轻成本,提高系统运行的安全性,以降低其系统 运行时供电产生的干扰性,能够满足节能和高效的要求。具体的电源电路模块的电 路图,如图 3。3 所示。 lm1117 是一个低压差电压调节器系列。其压差在 1.2v 输出,负载电流为 800ma 时为 1.2v。它与国家半导体的工业标准器件 lm317 有相同的管脚排列。lm1117 有可 调电压的版本,通过 2 个外部电阻可实现 1.2513.8v 输出电压范围。另外还有 5 个固定电压输出(1.8v、2.5v、2.85v、3.3v 和 5v)的型号。 图 3.3 电源电路模块的电路图 东北石油大学 2014 届本科生毕业设计(论文) 7 3.4 灰尘传感器电路模块 灰尘传感器电路模块是对整个环境空气中的灰尘颗粒进行检测,也就是对 pm2.5 进行检测,将采集到的数据,经单片机 a/d 数据转换处理,在发给上位机显 示,已达到本课题系统的设计目的要求。具体的灰尘传感器电路模块的电路图,如 图 3.4 所示。 图 3.4 按键设定模块的电路图 3.5 串口通信模块 串口通信模块能够准确的将信号电平转换,以使得 pc 机和单片机之间进行通信, 达到实时的将灰尘传感器检测到的电压数据,经单片机 a/d 数据转换处理后传输到 pc 机上的目的。串口通信模块的电路图,如图 3.5 所示。 东北石油大学 2014 届本科生毕业设计(论文) 8 图 3.5 串口通信模块电路图 3.6 libview 上位机界面显示模块 libview 上位机界面显示模块是采用 libview 软件编辑的上位机界面,能够很 好的显示灰尘传感器检测到灰尘颗粒后产生的电压的数据参数值,并有电压变化形 成的动态曲线图,界面设计美观,便于用户的观察。具体的界面图,如图 3.6 所示。 东北石油大学 2014 届本科生毕业设计(论文) 9 图 3.6 libview 界面显示图 3.7 protel 硬件开发软件 protel 是现在国内正常的通用的 eda 软件,它包括 pcb 板图设计、电路 仿真、pld 设计和电路原理图设计等多个具体的实用的工具软件组合而构成的 eda 工作平台。它集成了 pld 设计、软件界面和仿真功能以及信号完整性的 分析,在原有的 eda 软件基础上 protel 99se 软件增加了不少的新功能,用户 操作使用更加灵活方便。 protel 的功能十分强大,在电子电路设计领域占有极 其重要的地位。它以其强大功能和实用性,逐渐获得广大硬件设计人员的青睐, 是目前众多 eda 设计软件中用户最多的产品之一。 3.7.1 protel 软件组成 protel 软件主要由电路原理图设计模块、印制电路板设计模块(pcb 设计 模块)、电路信号仿真模块和pld 逻辑器件设计模块等组成,各模块具有强大 的功能,可以很好的实现电路设计与分析。 (1) 原理图设计模块(schematic 模块) 电路原理图是表示电气产品或电路工作原理的重要技术文件,电路原理图 主要由代表各种电子器件的图形符号、线路和结点组成。图4.1 所示为一张电 路原理图。该原理图是由 schematic 模块设计完成的。 schematic 模块具有如 下功能:丰富而灵活的编辑功能、在线库编辑及完善的库管理功能、强大的设计 自动化功能、支持层次化设计功能等。 (2) 印制电路板设计模块( pcb 设计模块) 印制电路板( pcb)制板图 是由电路原理图到制作电路板的桥梁。设计了 电路原理图后,需要根据原理图生设计成印制电路板的制板图,然后在根据制板 图制作具体的电路板。印制电路板设计模块具有如下主要功能和特点:可完成复 杂印制电路板( pcb)的设计;方便而又灵活的编辑功能;强大的设计自动化 功能;在线式库编辑及完善的库管理;完备的输出系统等。 (3) 电路信号仿真模块 电路信号仿真模块是一个功能强大的数字 /模拟相互混合的信号电路仿真 器,能提供离散的数字信号和连续的模拟信号仿真。它运行在protel 的 eda/client 集成的操作环境下,与 protel advanced schematic 原理图输入程序 东北石油大学 2014 届本科生毕业设计(论文) 10 的操作相互工作,作为 advanced schematic 的扩展,能够为用户提供了完整的 电路设计再到电路验证仿真设计环境。 3.7.2 pcb 板设计 电路的 pcb 板设计包括以下的标准要求执行: (1) 定元件的封装; (2) 建立 pcb 板框; (3) 载入网络表; (4) 布局; (5) pcb 设计遵循的规则; 东北石油大学 2014 届本科生毕业设计(论文) 1 4 系统的软件设计 4.1 ide 开发环境和用法 1. codewarrior 简介 codewarrior 系列集成开发环境(ide)是 metrowerks 公司为嵌入式微处理器设计 的软件开发工具。该开发工具在商用嵌入式软件开发工具的使用率方面排名第一。 codewarrior 包括构建平台和应用所必需的所有主要工具:ide、编译器、调试器、 编辑器、链接器、汇编程序等。codewarrior 将尖端的调试技术与健全开发环境的简易 性结合在一起,将 c/c+源级别调试和嵌入式应用开发带入新的水平。开发工作提供 高度可视且自动化的框架,可以加速甚至是最复杂应用的开发,因此对于各种水平的 开发人员来说,创建应用都是简单而便捷的。 codewarrior 能够自动地检查代码中的明显错误,然后编译并链接程序以便计算机 能够理解并执行你的程序。使用 codewarrior 进行编程,你必须已经能够比较熟练地使 用汇编语言和 c/c+语言。 1. codewarrior 的用法 freescale 网站提供 codewarrior 软件免费下载,一般 pc 机基本上均可满足安装要 求。安装过程也很简单,根据提示操作即可。使用免费版本的 codewarrior 时,如果你 的软件代码量很大,编译可能会受限制,你需要去网站申请 license 来延长你的使用期 限。 codewarrior 是一个复杂的应用程序,你必须花点时间来了解它的各种各样的组件 和功能。启动 codewarrior 后,在屏幕上方的菜单下面有一个工具条。这个工具条包含 了一些常用菜单项的快捷方式。 (一)创建工程 为了使用 codewarrior 来创建一个应用程序,你必须创建许多文件来构成一个工程 (project)。该工程的设置和所有这些文件都被存放在一个工程文件中。这些设置包括编 译和链接设置、源文件、库文件以及它们之间用于产生最终程序的相互关系。 创建工程过程很简单,你只需按照提示操作即可。其中有几点需要注意: (1)选择 s12x 系列 cpu,则会提示是否需要使用 xgate 协处理器,并且选择它 的代码存放区域,因为 xgate 代码存放在 ram 中比在 flash 中运行速度更快,但是 会占用 ram 空间。xgate 适合干一些短小精悍的工作,例如定时中断、串口通信等, 但是一定要用 c 语言写,用汇编写实在太不方便。 东北石油大学 2014 届本科生毕业设计(论文) 2 (2)选择编辑语言类型。有时因具体项目要求,除了 c 编程外还需要编写独立的 汇编语言模块,那就再加选汇编。也可以只选择 c,需要时嵌入汇编即可。 (3)选择处理器专家(processor expert),它是 codewarrior 在自带的可实现芯 片内部各种资源模块配置并自动生成相关代码的一个软件工具。不过只有专业版的 codewarrior 才支持该功能。通过处理器专家,用户可以快速实现芯片初始化代码的自 动生成工作,而且还提供了大量的软件库可供用户开发时嵌入或调用。 (4)选择启动代码。编译器会自动生成一些启动代码。单片机复位后的指令运行 将首先执行这些启动代码,然后再进入到你自己的程序模块 main 函数。这些启动代码 主要完成堆栈指针初始化、全局和静态变量自动清零或赋初值、调用 main 函数等。 (5)选择浮点运算。当你的程序设计决定用浮点运算时就应该选择加入浮点运算 库。毋庸置疑其运算精度将增加,但代码量也将增加,运算时间也会更长。用户可以 按实际计算需求酌情选取。 (6)选择内存模式。当程序量较小时,小于 64k,可以选择 small 类型,这时生 成的代码和普通的代码一样,都是 16 位地址的。一般情况下,我们都是选择 banked(分页)类型。 (7)选择调试方式。一般选择前两项就可以了。软仿真模式(full chip simulation)。是芯片全功能模拟仿真,即无需任何目标系统的硬件资源,直接在你的 pc 机上模拟运行单片机的程序。硬件调试模式(p&e multilink/cyclone pro)实现实时 在线硬件调试。选这种模式需要另外购买 bdm 调试头,进行嵌入式应用开发,这个工 具是必需的。 最后,点击“完成”,即完成了一个工程的创建。剩下的一些项目设定将自动用 缺省配置。如果你要自己需要调整,可以再进行相关菜单操作。 (二)工程文件 打开工程文件,可以看到里面包含有很多文件。一般情况下,你只需要在 sources 里添加或直接编写程序代码,其它文件都是系统自动生成,不需要修改。 (1)sources 下包含所有你的源程序文件,可以是 c,也可以是 asm,或 c+。你 可以在此栏下点击鼠标右键在弹出菜单中选择 add files 添加其他源程序文件。文件后 面的“code”表示代码长度,“data”表示变量长度。 (2)startup code 下包含系统启动文件 start12.c。是刚才建项目时自动生成的启动 文件,你可以打开观察具体的程序代码,也可以在必要时自己添加或修改这些启动代 码。 (3)libraries 所包含的是本项目开发用到的代码库,可以是目标代码型式或 c 源 程序型式。 东北石油大学 2014 届本科生毕业设计(论文) 3 (4)prm 所包含的是用于编程器下载的代码文件格式配置(bbl 文件)、机器代 码连接定位用的内存说明和配置文件(prm 文件,见后面介绍)。 (5)map 所包含的是目标代码在内存中的映射文件。这个文件可以方便用户在编 译后,查看程序代码和变量在内存中的分配情况。 (三)编写代码 工程文件建立好以后,就可以编写程序代码了,在实际编写代码过程中有几个小 技巧。 (1)在单片机程序设计中对于变量类型的选择能用短的变量就不用长的,能用无 符号数就不用有符号数,这在很大程度上决定你代码的长度和效率。codewarrior 的头 文件已经将最常用的一些无符号变量类型做了类型名简化替换,这样在程序编写是可 以节约点敲键盘的时间。 (2)单片机程序设计中经常会用到的位变量作为一些标志。codewarrior 中没有 特别的位变量定义关键词,位变量是用结构体和联合体的型式来定义的,这一点可以 参考头文件中有关寄存器定义的范例。 (3)在工程编译后所定义的函数名和变量名,以及系统自带的关键字,按照默认 的选项,都会变成浅蓝色。这时如果在这些名称上点击鼠标右键,选择“go to”可 以直接跳到定义的地方,非常方便。 (4)点击在代码编辑器工具栏里的前两个按钮,可以实现文件跳转,快速切换到 当前编辑的文件,而不需要到工程窗口去找。特别是当文件复杂,函数多的情况下, 函数的跳转功能更为实用。 (5)在嵌入式应用中经常需要访问 cpu 寄存器等物理地址,这时可以在 c 代码 中嵌入汇编指令,有以下几种方法: ?asm 汇编指令; ?asm (汇编指令); ?asm 汇编指令; 汇编指令; (四)编译和链接 选择“compile”按钮和“make”按钮进行编译和链接。编译后会看到错误和警告 信息。双击这些信息,一般都会跳到错误或警告出处。 如果编译和链接成功,最后将生成用于源程序符号调试的 abs 文件,用于芯片烧 写的 s19 文件,所有变量和函数模块在内存中的映射 map 文件。 东北石油大学 2014 届本科生毕业设计(论文) 4 (五)调试及仿真 在 codewarrior 主窗口中,选择“debug”按钮就进入调试窗口。可以先使用软仿 真模式测试应用程序,检查一下程序功能是否能正确实现,然后连接硬件,在线下载 和调试程序。 软仿真模式(full chip simulation),是芯片全功能模拟仿真,即无需任何目标系 统的硬件资源,直接模拟运行单片机的程序,在模拟运行过程中可以观察调试程序的 各项控制和运行流程,分析代码运行的时间,观察各种变量。 硬件调试模式(p&e multilink/cyclone pro),是基于 p&e 公司的硬件调试工具实 现实时在线硬件调试。实际就是我们经常说的 bdm 调试。bdm 调试是基于芯片本身 内含的在线调试功能,可实现程序下载,单步全速运行,可以设若干个断点,可以 观察和修改任意寄存器或 ram 内存空间。bdm 调试几乎是开发 freescale 单片机的标 准调试模式,运用最为广泛。 调试窗口中有许多小的子窗口,包括源程序窗口、函数窗口、数据窗口、寄存器 窗口、内存窗口等。调试窗口左上角的那些按钮,它们是用于帮助你进行调试工作的, 包括运行、单步进入、单步跳过、单步跳出、汇编单步、停止和复位等,是调试软件 最常用的几个按钮。 4.2 系统的软件部分设计 系统软件设计采用模块化、结构化设计思想,使程序便于移植。系统程序机构主 要包括主程序、系统宏定义、延时函数、a/d 转换函数、灰尘传感器检测函数、串口通 信函数。 如图 4.1 所示为系统的总程序控制流程图,首先系统上电后启动系统功能,此时会 有指示灯进行提示,然后系统根据当前环境情况自主运行进入相应的功能模式。 系统的整个设计是运用灰尘颗粒传感器对当前环境进行检测采集到的电压信号, 将其发送到单片机控制模块,数据处理完成后将其通过串口通信发送到 labview 上位 机软件界面上显示出当前传感器检测到的变化电压数据值,以及电压变化的曲线图。 东北石油大学 2014 届本科生毕业设计(论文) 5 系统初始化 开始 串口通信函数 a/d转换函数 数据处理 检测到电压值 控制数据传输 灰尘传感器 检测函数 图 4.1 系统的程序结构框图 东北石油大学 2014 届本科生毕业设计(论文) 6 5 系统的调试过程 5.1 测试的方法及内容 本设计应用 proteus6 及 ide 软件,首先根据自己设计的电路图用 proteus6 软 件画出电路模型,进行简单的电路仿真测试,关于这个软件的使用通过查一些 资料和自己的摸索学习;然后我们用 ide 软件对所编写的程序进行编译、链接, 如果没有错误和警告便可生成程序的 hex 文件,将此文件加到电路图上使软硬 件结合运行,最后进行端口电压的对比测试。 本系统的设计采用的是 9s12xs128 系列 freescale 单片机作为主控芯片, 整个设计是运用灰尘颗粒传感器对当前环境进行检测采集到的电压信号,将其 发送到单片机控制模块,数据处理完成后将其通过串口通信发送到 labview 上 位机软件界面上显示出当前传感器检测到的变化电压数据值,以及电压变化的 曲线图。完全达到了本课题系统的设计目的要求。 5.2 测试的目的 测试的目的是为了验证硬件电路设计和软件部分设计,是否能够完成设计 要求,并能够很好的完成查找设计过程中出现的问题。 5.3 测试的结果记录 系统上电测试,测试有线串口模块是采用串口通信使用串口调试助手如图 5.1 所示,检测发送与接收到的通信协议是否与程序中编辑的一致。 东北石油大学 2014 届本科生毕业设计(论文) 1 图 5.1 串口模块测试软件图 对串口通信模块测试正常,没有问题,将硬件控制端与 pc 上位机控制中心连接上, 进行上位机与下位机主控装置系统测试通信,上位机界面如图 5.2 所示。 图 5.2 串口模块测试软件图 东北石油大学 2014 届本科生毕业设计(论文) 2 结论 在这段时间里对所选课题的设计、制作、调试、总结,基本完成了基于 labview 的空气 pm2.5 检测系统的设计,整体的实现了空气 pm2.5 的检测系统的设计效果,运 用灰尘颗粒传感器对当前环境进行检测采集到的电压信号,将其发送到单片机控制模 块,数据处理完成后将其通过串口通信发送到 labview 上位机软件界面上显示出当前 传感器检测到的变化电压数据值,以及电压变化的曲线图。整个系统的运行,都是以 单片机控制为核心,可以简便的完成控制任务。本论文分析了系统设计的结构和特点, 总结全文,主要的研究工作有以下几个方面: 1、对于空气 pm2.5 的检测,采用的灰尘颗粒传感器模块进行检测的,对其电压数 据进行 a/d 转换采集电压数字值,其效率高,能够更准确的采集当前的负载电压值, 达到本设计的目的要求; 2、利用其 libview 上位机界面进行 pm2.5 空气检测到的电压数据和电压变化曲线 图的显示,界面美观,直接说明,达到本设计的目的要求; 3、以 9s12xs128 系列 freescale 单片机最小系统板为控制系统,进行并完成了系 统要求所需的各硬件模块的原理图,并做了相应的硬件电路制作与调试; 4、完成了系统的电路设计和各功能模块的应用设计,实现了基于 labview 的空气 pm2.5 检测系统的功能设计要求。整个软件的设计采用结构化、模块化设计思想,使程 序部分化,便于整个程序的移植; 5、分析了基于 labview 的空气 pm2.5 检测系统设计中可能存在的各种不同的干扰 源影响,在设计该控制器系统时,采用硬件和软件抗干扰的技术方案,利用相结合的 方法进行了具体的抗干扰设计,保证了整个系统运行的可靠性; 在整个毕业论文设计过程中,从方案的制定到软件的编写我都经过反复的思考, 并且查看了很多的参考书籍和参考资料,以及得到了指导老师的从旁指导和大力支持。 在本次毕业设计中,我进一步加强了自己的动手能力和运用专业知识的能力,从中学 习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻 体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。通过这次毕业设 计,我既巩固了专业知识,又学到了在电路设计过程中的许多流程和该注意的事项, 增强了产品开发的意识,是我在大学时期很好的一次实践和锻炼机会。 东北石油大学 2014 届本科生毕业设计(论文) 3 致 谢 经过一个多月的辛苦和努力,我的毕业设计基本完成本次设计完成,硬件实物也焊

温馨提示

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

评论

0/150

提交评论