基于Labview汽车仪表面板(共26页).doc
精选优质文档-倾情为你奉上The research to virtual digital automobile instrument panelCollege:Transportation College Specialty and Grade:Traffic and Transportation of Grade 2006Number: Name: Qu Xue-kai Advisor: Lecturer Sun Da-xin Submitted time: May,2010 专心-专注-专业目录基于Labview汽车仪表面板的研究摘要:针对汽车仪表发展的新趋势,本文对国内汽车仪表行业的现状和发展远景进行了概述,针对性的研究了基于LabVIEW技术和单片机技术而建立虚拟汽车仪表系统的构成,并且系统的给出了一种可行性方案,分别从LabVIEW软件实现方法、单片机程序实现方法和软、硬件的通信三方面进行了阐述。本文设计出来的汽车虚拟仪表系统可以实现日期/时间、总里程、当前速度、转速、温度、油箱存油量等信息的显示。关键词:LabVIEW 单片机 汽车仪表盘 虚拟仪器Abstract:In view of the new development tendency of automobile instrument, this article summarizes the situation and vista of auto dashboard industry in our country. Have a study on the constitution of virtual automobile instrument information system based on PC machine and the LabVIEW technology and propose a feasibility plan. Respectively elaborate the method of the realization of LabVIEW design, single chip program and the communicate software and hardware. Automobile instrument designed in this article can demonstrate the current time,total miles,speed,oil consumption and temperature and so onKey words: LabVIEW ; Single chip ; Car dashboard ; virtual instrument1 引言汽车仪表是汽车与驾驶员进行信息交流的窗口,也是汽车高尖技术的主要部分,各国一直在努力开发汽车仪表技术,并不断取得新的进展。汽车仪表正逐步向数字化和智能化方向发展,用数字化的虚拟仪表取代我国现阶段普遍采用的电器式或电子式仪表已成为实现车辆自动化的一个重要课题。利用虚拟仪器技术模拟汽车仪表盘,设计综合数据采集、信号分析、仪器面板等多项内容的虚拟汽车仪表盘。利用单片机自身产生转速、耗油、速度等模拟和数字信号源,然后再进行模拟和数字信号的采集和分析,通过建立转换函数模型在虚拟仪表盘上显示发动机转速、汽车车速、油耗、温度及转向灯等信息1。利用虚拟仪器技术模拟汽车仪表盘,不仅可以完成先进汽车仪表盘的功能,而且免去汽车机械及电子器件,降低成本,提高可研性,在计算机测控技术、汽车电子技术等课程的教学及开放实验中具有广泛的实用价值。2 研究的目的、意义以及主要内容2.1 研究的目的和意义我国汽车仪表也经历了第一代机械式仪表,第二代电气式仪表,第三代模拟电路电子式仪表,现在正在向第四代全数字汽车仪表迈进2。然而随着电子控制系统单元(ECU)在汽车上广泛应用,汽车电子化程度越来越高。电控系统的增加虽然提高了汽车的动力性、经济性和舒适性,但随之增加的复杂电路,必然导致车身布线庞大而且复杂,安装空间短缺。为了提高电控单元信息利用率,要求大量的数据信息能在不同的电子单元间共享,汽车综合控制系统中大量的控制信号也需要实时交换,不同功能电子控制系统单元间的数据通信变得越来越重要。因此对电子控制系统单元的设计提出了越来越高的要求,不仅要求通信网络应具有通信速率高、准确、可靠性高,在控制模块上也应具有控制实效性高、空间小等优点2。目前国内汽车仪表行业在整体上仍滞后于整车的发展,“散、乱、差”的状况尚未改变,与国外相比有很大的差距,表现在产品技术水平低,造型单调,产品质量可靠性和耐久性差,制造工艺落后,产品检测不完善,数字化程度低等方面3。 当今世界由于汽车排放、节能、安全和舒适性等使用性能不断提高,使得汽车电子控制程度也越来越高。汽车电子控制装置必须迅速、准确地处理各种信息,并通过电子仪表显示出来,使驾驶员及时了解并掌握汽车的运行状态,妥善处理各种情况。现在,汽车的故障诊断、全球导航和定位系统等大量复杂的信息服务系统已开始大量装备到汽车上,汽车电子仪表作为信息显示终端能够完成这些任务。汽车电子仪表显示装置不仅能提供大量复杂的信息服务,而且还有精度高和高可靠性、一表多用、外形设计美观、自由度大、满足小型轻量化要求等特点,因此电子仪表显示装置已成为现代汽车的发展新潮流,具有非常广阔的发展空间3。2.2 研究的主要内容本课题研究的主要内容分为三部分。第一部分为软件设计,根据系统的整体要求,系统的软件设计主要由主界面模块和各功能模块所组成的。第二部分为串口通信设计,以保证上位机和下位机的数据通信过程。第三部分为单片机的程序设计,在单片机的设计中主要考虑到性能、工作效率以及价格等各个方面。3 汽车仪表盘系统功能分析汽车仪表是用以监测汽车各系统工作状况的装置,如当前车速、里程显示、油量消耗、油耗警告等。驾驶员能通过汽车仪表随时掌握汽车各部件的工作状态,为正确使用和维修发动机提供依据和指南。汽车仪表盘主要有以下几大功能:3.1 车速表车速表是用来指示汽车车速的装置。其单位是公里小时(表面上标kmh)。表上的刻度线表示速度,指针指到不同的刻度线表示不同的速度。3.2 里程表总里程表是记录汽车累计行驶里程数的装置,最小单位为米。3.3 燃油表用来指示燃油箱内的存油量,其单位是升(L),表上的刻度线表示存油量,指针指到不同的刻度线表示不同的存油量并在表盘上显示相应的数据。若启动引擎后,指针指向与库存油量相对应的位置,否则指针复零。3.4 转速表转速表是用来指示发动机转速的装置,转速表单位是r/min,即显示发动机每分钟转多少转。为选择正确的换挡时机提供参考,使发动机保持额定转速,以减少发动机的磨损并减少油耗。3.5 温度表汽车冷却系统的功能是使发动机在所有工况下都保持在适当的温度范围内。冷却系统既要防止发动机过热,也要防止冬季发动机过冷,温度表的作用就是为驾驶员及时的提供冷却液温度指标,反映发动机的工况信息。3.6 左右转向灯它有前、后、侧转向信号灯之分,一般位于车辆的四角。汽车转弯时,发出明暗交替的闪光信号,以表示汽车向左或向右转向行驶。3.7 时间 用来显示当前时间。4 车辆虚拟仪表系统4.1 虚拟仪表系统的优势随着汽车需要显示的信息的增加,用传统仪表的显示方法显示,车载的仪表数目将会不断增多,使车辆仪表板显得很拥挤,也会加大驾驶员的操作难度,分散驾驶员的注意力。 用虚拟仪器技术构建的车载虚拟数字式仪表,将这些问题迎刃而解。它将所有的信息显示集合在一个屏幕上,并以分界面的方法显示,这样将使驾驶员查看信息非常便利,取消众多的仪表,也使车内空间变得更加宽敞、舒适和美观4。4.2 虚拟仪表系统的实现步骤在汽车智能数字仪表的开发过程中,数字仪表所需要采集的信息量比较多,各种车型的信息参数又差别较大,这些问题的存在给仪表的实车测试和参数标定带来了困难。为了在开发过程中能够快速有效的测试系统的各项功能,提高系统开发效率,我们设计利用单片机采集产生汽车上的各种参数信息,快速的对设计仪表进行全面的测试,节约时间和成本4。对此设计了两个步骤,包括信号采集与处理、仪表盘输出。4.2.1 信号采集与处理将单片机实际采集到的数据用不同通道经过A/ D转换进入计算机,作为实验的源参量,并计算得汽车仪表盘上显示的相关参数5。4.2.2 仪表盘输出将计算后的转速、速度、油耗、温度、里程等参数通过虚拟仪表盘输出。5 系统软件实现方法5.1 LabVIEW软件简介本设计采用LabVIEW软件进行开发设计。LabVIEW是美国NI公司的一种基于G语言的虚拟仪器软件开发工具。它的显著特点是:采用简单易学的图形化编程,提供众多的设备驱动程序和可供用户直接调用且功能强大的函数库和Windows动态链接库函数,实现多线程编程等高级功能。并提供灵活的程序调试手段,既可以设置断点又可以设置探针,在程序运行中观察数据流的变化6。LabvIEW 编写的程序叫虚拟仪器程序,包括软面板设计和流程图设计2部分。软面板代替常规仪器的控制面板,一般由开关、旋钮、表头、显示器和其他部件组成。仪器流程图的设计,是根据仪器功能的要求,利用虚拟仪器开发平台提供的子模板,确定程序的流程图、主要处理算法和所实现的技术方法5-6。流程图与每个仪器的前面板对应,用户能够通过前面板,用鼠标或控件操作仪器。LabVIEW具有功能强大的函数模块库,特别适用于测试和控制系统的开发。结合NI的硬件模块,能够方便的进行采集和分析相关测试数据。考虑到仪表整体功能测试和模块功能测试的需要,整个系统主要包括界面模块和各个功能测试模块7。根据信号类型将仪表功能测试分为:车速表测试模块、发动机转速表测试模块、燃油表测试模块、水温表测试模块等主要功能模块。5.2 界面模块及各功能模块程序5.2.1 界面模块通过该界面实现车速表、转速表、水温表、燃油表、里程指示以及各种报警信号等信息显示。经过初步设想之后,设计出以下三种界面(图5-1、5-2、5-3所示)。图5-1图5-2图5-3图5-1所示方案界面过于简单,并且各种显示模块过于集中,整体感觉单调,缺少美感。图5-2所示方案布局又过于散乱,排列各种显示模块所需的空间较大,在实践中会大大增加成本。经过综合考虑,只有图5-3所示的方案既兼顾到美观、易读的使用方便性又满足了降低实际生产成本的要求。所以最终决定采用如图5-3所示的界面设计。5.2.2 功能测试模块(1)车速表模块车速表的测试需要预先了解设定目标车型的特征参数,如车辆特征系数、车速传感器的传感系数等,然后通过数据通信卡(CAN总线信号)将特征参数下载到被测仪表,按照测试要求产生脉冲信号。信号的幅值、频率可以通过手动自动进行调整,车速信号具备超速报警提示功能,根据设定的超速门限值,高于该门限值时,通过主界面前面板上的超速报警灯闪烁来提示。测试过程也可以手动自动进行,测试结果存档以备查询7-9。根据实际采集到的数据,将车速表指示范围设定为0300km/h,并设置当速度超过250km/h时发出超速报警,将由单片机传来的数据用函数公式转换成相应的数值显示在速度表中。车速表前面板设计如图5-4所示,车速表程序框图如图5-5所示。图5-4 车速表前面板图5-5 车速表程序框图 (2)发动机转速表模块发动机转速表测试模块类似于车速表测试模块,区别在于它的特征参数不同。根据特定车型的情况,通过数据通信卡(CAN总线信号)将发动机转速比下载到被测仪表,然后对其进行测试7。根据实际采集到的数据将转速表指示范围设定在08000r/min,并设置当速度超过6000r/min时发出转速过高报警,将由单片机传来的数据用函数公式转换成相应的数值显示在转速表中。发动机转速表前面板设计如图5-6所示,发动机转速表部分程序框图如图5-7所示。图5-6 发动机转速表前面板图5-7 转速表部分程序框图 (3)燃油表的模块燃油表的测试需要预先设定目标车型的燃油测试范围以及燃油门限报警值,通过数据通信卡(CAN总线信号)将参数值下载到被测仪表,然后按照测试要求开始测试10。根据设定的燃油门限值,低于该门限值时,通过主界面前面板上的燃油报警灯闪烁提示。测试过程可以手动自动进行。根据实际情况将燃油表表指示范围设定在01,表示不同的油位,并设置当油位低于0.2是发出燃油不足报警,将由单片机传来的数据用函数公式转换成相应的数值显示在油表中。燃油表前面板如图5-8所示,燃油表部分程序框图如图5-9所示。图5-8 燃油表前面板图5-9燃油表部分程序框图 (4)温度表的模块根据实际车型行驶过程中的温度变化采集需要的数据,通过单片机模拟该数据发送到测试仪表。将温度表指示范围设定在50130,并设置当温度超过120或小于50时发出温度异常报警,将由单片机传来的数据用函数公式转换成相应的数值显示在水温表中。温度表前面板设计如图5-10所示,温度表部分程序框图如图5-11所示。图5-10 温度表前面板图5-11 温度表部分程序框图(5)时间显示模块 时间显示模块用来显示当前时间,方便驾驶员读取。 直接采集PC机的系统时间并显示。 时间显示程序部分程序框图如图5-12所示。图5-12 时间显示程序部分程序框图 (6)左右转向灯模块左右转向灯模块如图5-13所示。图5-13 左右转向灯模块5.3 LabVIEW串口通信程序设计主要由两部分组成:上位机程序设计和下位机程序设计,而在编写双方通信程序之前,必须先定义好双方的通信协议,采用相应的数据传输方法,这样才能保证数据的可靠性。串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但由于它占用的通信线路少、成本低、容易实现等优点,在数据通信方式上仍占有重要地位。目前,串口通信程序的开发,在Windows操作系统下一般用VB、VC、VF Delphi等许多高级语言编写。当用VB、VC、VF,开发串行通信程序时,开发人员不得不面对非常烦琐的API函数编程;用文本语言编串口通信程序较为复杂,花费的时间较长11。所以在主机通信程序设计中,我们采用LabVIEW图形化语言作为编程语言,它把高级语言中的函数封装为图形功能模块,图标间的连线表示各个功能模块之间的数据传递12。编程方式简单、直观、便于使用。串口通信功能模块包括串口初始化模块、串口读模块以及串口写模块,通过这些模块就可以实现对单片机的控制。5.3.1 VISA串行通信基本功能模块介绍VISA的调用流程如图5-14所示。通过对VISA节点的调用,可以方便、快速地实现系统上位机对下位机的实时监控。打开仪器资源对仪器进行写操作对仪器缓存读操作关闭仪器资源图5-14 VISA仪器控制简单流程在LabVIEW功能模板的Function>>InstrumentI/O>>VISA程序库中包含进行串行通信操作的一些功能模块:(1)VISA Configure Serial Port节点该节点主要用于串口的初始化,在利用计算机控制串口仪器设备时,会经常用到这个节点在进行串行通信前,首先要配置好串口,即先初始化串口,使计算串口的各种参数设计与仪器设备的串口保持一致,这样才能正确的通信。它的主要参数意义如下:VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。data bits:一帧信息中的位数,LabVIEW中允许5-8位数据,默认值为8位。stop bits:一帧信息中的停止位的位数,可为1位、1位半或2位。Parity:奇偶校验设置。可为无校验、奇校验或偶校验。flow control:该参数数据类型为簇,用于串行通讯中的握手方式。 (2)VISA Read节点(图5-15所示)图5-15 VISA Read节点V该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW 的强大数据处理功能对其进行分析处理。主要参数意义如下:ISA resource name:VISA资源名称,本文指串口号。byte count:用于设置所要读的字符数。由于LabVIEW的串行通讯子V1只允许对字符串的读写,因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换13。此外,若要读入当前串口中的所有字符,则要执行“VISA Sytes at Serial Port”子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISARead节点的输入即可。 (3)VISA Write节点(图5-16所示)图5-16 VISA Write节点VISA Write节点的功能是向VISA resource name所代表的仪器或接口写入信息。输入参数VISA resource name是VISA Open函数所返回的,或者“流过”其他VISA函数的,包含了会话信息的VISA资源名;write buffer为字符串类型的写入数据,输出参数dup VISA resource name为输入参数VISA resource name的一个备份,可用于后继的VISA函数调用。整型输出参数return count返回实际写入数据的字节数13。 (4)VISA Close节点(图5-17所示)图5-17 VISA Close节点主要参数:VISA resource name:VISA资源名称,本文指串口号。本文所用LabVIEW 串口通讯程序的波特率为96O0,无奇偶校验,8位数据位,1位停止位,禁止软、硬件握手。该节点用于将打开的VISA资源关闭,VISA resource name输入参数为包含会话信息的资源名。该函数关闭VISA会话,并释放与之关联的所有资源14。(5) VISA Open节点(图5-18所示)图5-18 VISA Open节点该函数功能为打开一个与VISA resource name所代表仪器资源的会话。会话是VISA resource name参数本身隐含携带的仪器访问逻辑标识,可以同时存在对一个VISA资源的多个访问会话。在调用VISA Open之前VISA resource name参数仅仅是一个资源描述字符串,在函数调用之后,输出参数VISA resource name已经携带了会话信息,可以用于后继的VISA操作。输入参数为包含会话信息的资源名15-16。当完成VISA资源的搜索后,对于搜索到的VISA资源,可以通过VISA Open节点打开,建立计算机与这些VISA资源之间的通信管道。5.3.2 VISA设计方法 (1) LabVIEW串口开发过程在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下:图5-19首先需要调用VISA Configure Serial Port完成串口参数的设置,包括所用串口号、比特率、一帧信息中有效数据的位数、停止位、奇偶校验、数据流量控制等,如下图所示。图5-20如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISARead。如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数16。图5-21图5-22在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O BufferSize;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISAResource Name指定的串口之间的会话。 (2) VISA属性设置及串口实现首先完成串口的初始化,在此设置波特率为9600b/s,8 位数据位, 1 位停止位,无奇偶校验;其次设置Write/ Read 等相应模块的功能。由于硬件在整个工作期间,以9600bit/s的速率连续向外发送数据,为了数据处理方便,可以采用LabVIEW8.6中的Serial Read With Time-out.vi模块,以保证每次从串口缓存中读出等量偶数个数据。6 单片机程序设计本文中所做的研究需要将实际采集到的汽车各种仪表信息存储到单片机中,由单片机提供数据给上位机进而实现数据的显示,再通过PC机的RS-232串行接口与外部设备进行通信,因此需要实现PC机和单片机之间的通信17。本文将论述在LabVIEW环境下PC机与HC08GP32单片机之间实现串行通信的方案。6.1 单片机工作流程下位机的程序包括数据采集模块和串口通信的数据传输模块,数据采集模块首先进行初始化,通过单片机控制A/D 转换模块数据采集功能,A/D 模块将模拟信号转换成数字信号后发出中断,单片机将传输AD 模块采集的信号到缓冲区。串口数据传输模块在串口通信之前,对串口进行初始化,主要包括串口波特率,数据格式,接收中断的设置18。当上位机发送数据给下位机,会引起单片机接收中断,此时进入中断服务程序,单片机接收数据,比较校验和,如果相同,发指令给PC 机确认,最后将采集到的数据通过RS-232串行接口传送到PC 机19。单片机工作流程图如下:图6-16.2 数据采集程序的实现单片机程序用A/D模块进行采集传感器的值,然后用SCI口将采集的值发给PC机。 (1) A/D转换简介在过程控制和仪器仪表中,多由计算机进行实时控制及实时数据处理,计算机所加工的信息总是数字量,而被检测的对象却往往是一些连续变化的模拟量(如温度、压力、速度和流量等),因此需要将模拟量转化成为数字量,以便在计算机中进行运算处理,此过程称为模数(A/D)转换20。进行A/D转换,需要了解以下的基本问题: 采样精度采样精度就是指数字量变化一个最小量是模拟信号的变化量,即通常所说的采样位数。设采样位数为N,则最小的能检测到的模拟量变化值为1/2N。 采样速率采样速率是指完成一次A/D采样所要花费的时间。速率和所选器件的工作频率有很大关系。 滤波为了使采样的数据更准确,必须对采样的数据进行筛选去掉误差较大的数据。通常采用中值滤波和均值滤波来提高采样精度。中值滤波是取3次采样的中间值,均值滤波是取多次采样的算术平均值。 物理量回归在实际应用中,得到稳定的A/D采样值后,还需要把A/D采样值与实际物理量对应起来。A/D转换的目的是把模拟信号转化为数字信号,供计算机进行处理,但必须知道A/D转换后的数值所代表的实际物理量的值,这样才有实际意义21。 (2) A/D转换模块的基本编程方法A/D转换编程主要涉及输入时钟寄存器ADCLK($003E)、状态和控制寄存器ADSCR($003C)、数据寄存器ADR($003D)。 A/D转换初始化在程序初始化时就对A/D转换输入时钟寄存器写入控制字节,决定时钟输入源,决定分频示数,是ADC时钟频率达1MHz,使用内部总线时钟,且fbus=2.4576MHz,则初始化程序为:LDA # % STA ADCLK 启动A/D转换 对A/D转换状态和控制寄存器写入控制字节,选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换:LDA # %STA ADSCR 获A/D转换结果若是中断程序,在A/D中断程序中取得,若是查询方式,通过A/D状态和控制寄存器的第7位取得,本文用到的是查询程序,所以程序如下:BRCLR 7,ADSCRLDA ADR (3) 单片机SCI初始化以下讨论对单片机SCI初始化的具体步骤。 串口波特率的设定通常使用单片机的串口时,选用的晶振比较固定,常用于何微机通信的波特率也相对固定。本设计设定通讯波特率为9600。 串口初始化对单片机SCI初始化程序,具体步骤如下。 定义波特率。一般选择内部总线时钟为串行通信的时钟源,程序如下:/总线频率fbus=2.4576MHz,定义波特率Bt=9600LDA #%STA SCBR 写控制字到SCI控制寄存器1(SCC1)。 设置是否允许SCI、数据长度、输出格式、选择唤醒方法、是否校验等,程序如下:/设置允许SCI,正常码输出、8位数据、无校验LDA #%STA SCC1 写控制字到SCI控制寄存器2(SCC2)。 设置是否允许发送和接受、是中断接受还是查询接收等,程序如下: /设置允许发送、允许接收,查询方式收发 LDA #%STA SCC2用查询方式,可以不对SCI控制寄存器3(SCC3)初始化,另外几个寄存器供后面编程使用,不需要初始化21-22。6.3 单片机程序编写下位机程序采用汇编语言编写。设置单片机串行通信的波特率为9600bit/s,与上位机一致。首先采集通道04,并将转换分别存入以为ADbuffer首地址的连续单元中。然后以$13为首后面紧跟各传感器的值的格式,发送数据给PC机23。程序如下:主程序:/-*/工 程 名:AD.prj */硬件连接: */ (1)PTB7-0/AD7-0 接模拟量输入端(见"AD.s"文件) */ (2)MCU的串口与PC方的串口相连(见"SCI.s"文件) */程序描述:获取8路A/D转换结果,并滤波,通过串口发送出去 */总头文件.include "Includes.h"/主程序.area flash(abs).org FlashStartAddrMainInit: /复位后从此处执行(见Vectors08.s文件末尾处) SEI /关总中断 /1. 堆栈初始化为RAM最高端 LDHX #RAMendAddr + 1 /HX = #RAMEndAddr + 1 TXS /HX - 1 -> SP /2. 芯片初始化 JSR MCUinit /初学时跳过此处 /3. 模块初始化 JSR SCIinit /(1)串行口初始化 LDA #% /(2)A/D初始化(用内部总线时钟,2分频) STA ADCLK LDHX #0x00 /AD0-4分别接转速表、燃油表、油压表、温度表、车速表等传感器 /总里程表由转速表值得到:S=S+nDt/30:其中v=nD/30 /程序总循环入口MainLoop: /设置均值滤波子程序的参数 /依次采集转速、燃油、油压、温度、车速的转换值 TXA PSHH PSHX LDX #20 /均值滤波中进行20次中值滤波 /调A/D转换均值滤波子程序(结果在A中) JSR ADave PULX PULH STA ADbuffer,X AIX #1 CPX #$05 BNE MainLoop /将各表中的值以$13 转速燃油油压温度车速等顺序发给PC机 LDA #$13 /串口发送转换结果 JSR SCIsend1 LDA #0x05 LDHX #ADbuffer JSR SCIsendN LDHX #0x00 BRA MainLoop/包含本工程的其他文件-.include "MCUinit.s" /芯片初始化.include "SCI.s" /串行通信.include "AD.s" /AD转换/包含中断处理子程序与中断向量表文件"Vectors08.s"-/注意:这个包含语句的存放位置必须放在最后.include "Vectors08.s" 7 结束语采用NI的LabVIEW软件系统,使得我们在短期内构建了一套汽车数字仪表产品开发、测试、评估多功能于一体的测试平台,该套测试系统能够快速准确的完成对被测仪表的各项功能测试,并且该系统具备可扩展性,可以很方便的移植到其他产品的测试方案中,为我们后续汽车电子产品的研发积累了测试经验。虚拟数字式汽车仪表的应用,使仪表的读数更加清晰和直观、信息量更大、智能化程度更高、功耗低及开发周期短,相对传统的车载设备成本上有很大优势,因此具有广泛的应用前景。当然这一领域在我国尚处于起步阶段,要成为真正实用阶段还有很多工作要做,但随着技术的成熟,必将对汽车产业产生深远的影响。参考文献1张凯等.Labview虚拟仪器工程设计与开发J北京:国防工业出版社,2004.70-72.234张民,徐迅.用 LabVIEW 和数据采集卡实现信号检测J.北方交通大学学报,2005(6):34-38.5韩惠莲,徐建华,许丽静.虚拟仪器系统集成和软面板设计J.计算机自动测量和控制,1998,(1):46-48.6周奕.车辆虚拟仪表盘系统的分析与设计J.工业控制技术,2006:77-43.7王海宝,吴光杰.基于车载微机系统的虚拟式汽车仪表研究J.中国仪器仪表,2006:40-42.8欧阳琰,王贵槐,陈先桥,初秀民.基于CAN总线的汽车仪表盘电控单元设计J.武汉理工大学学报,2009,(1):78-81.9马银平,宣亮亮,彭如.基于LabVIEW的数据采集系统分析与设计J.电子元器件应用,2009,(10):50-52.10潘明基.于LabVIEW 的氧传感器的测试系统王晓光J.仪表技术与传感器,2009,(9):50-51.11田瑞利.虚拟数字示波器设计及应用J.机电工程技术,2006,(8):41-42.12黄妙华,徐保松,李秀芬.虚拟数字式汽车仪表信息系统的研究与开发J.汽车技术,2006,(5):13-16.13张力展.嵌入式计算机在车辆虚拟仪农中的应用J.计算机工程,2002,(12):17-21.14黄正权.我国汽车仪表产品进行技术升级的必要性J.重型汽车,2001,(6):23-24.15扶碧波樊锐.虚拟仪器软件开发方法的研究J.化工自动化及仪表,2002,29(3):40-43.16Kang Jitao,Gan Yadong,QuaIl QingquanThe Method of Developing Viaual Instrument PlatformJAutomous Decentralized Systems,2000:64-6717邵鹤帅.基于LabVIEW 的单片机串口通信技术的研究J.计算机与网络,2007,(9):619-622.18朱建平,吕春峰.基于LabVIEW 的单片机串口通信实现J.机械工程与自动化,2008,(12):61-62.19周云山,于秀敏.汽车电控系统理论与设计M.北京:北京理工大学出版社,1999.115-118.20赵会兵.虚拟仪器技术规范与系统集成M.北京:清华大学出版社,2003.126-134.21蒋雪玲.对汇编语言的几点建议J.广西师范大学学报,2001,18(4):77- 82.22沈美明,温东婵.IBM- PC 汇编语言程序设计M.北京:清华大学出版社,1991.40-43.23王宜怀,刘晓升.嵌入式技术基础与实践M.北京:清华大学出版社,2007.137-160.附录 MC68HC08系列单片机系统结构图M68HC08 CPUCPU寄存器算术逻辑单元64位控制和状态寄存器32KB片内Flash程序存储器512字节片内RAM307字节监控ROM36字节用户Flash矢量空间时钟发生模块32kHz振荡器锁相环PLLOSC1OSC2CGMXFC8位A/D转换模块VDDAD/VREFHVSSAD/VREFL电源VDDVSSVDDAVSSA上电复位模块时基模块TBM断点模块BRK低电压禁止模块LVI8位键盘中断模块KBI定时器接口模块TIM1定时器接口模块TIM2系统操作正常监视模块COP串行通信接口模块SCI串行外设接口模块SPI监控模块MON数据总线开关模块内存映像模块配置寄存器模块1配置寄存器模块2监视模式入口模块加密模块PORTAPTA7/ PTA0/DDRAPORTBPTB7/AD7 PTB0/AD0DDRBPORTCPTC6 PTC0DDRCPORTDPTD7/T2CH1PTD6/T2CH0P