《车用智能数字仪表系统的设计自动化102侯文标(共30页).doc》由会员分享,可在线阅读,更多相关《车用智能数字仪表系统的设计自动化102侯文标(共30页).doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上郑州轻工业学院课 程 设 计 任 务 书题目 车用智能数字仪表系统的设计 专业、班级 自动化10-2班 学号 11 姓名 侯文标 主要内容、基本要求、主要参考资料等:主要内容:l 功能要求:可实现语音播报气压、油压等情况,并在紧急情况发出报警信号的多功能、高精度、高灵敏度、读数直观的智能数字仪表。l 硬件要求:器件根据功能要求选择以单片机为主控器,以气压、油压、温度、霍尔元件等传感器为主要外围元件,可视化的智能车用数字仪表系统。上述内容为基本要求,可按照自己的理解增加功能使之更完善。基本要求:l 明确课程设计任务,复习与查阅有关资料。l 按要求对设计进行简要说明,总体
2、设计方案,设计电路,使用计算机绘图,画出详细的电路接线图,列出元器件清单。电路图要求工整、清楚、正确,并标明管脚。l 软件编程必须有流程图,程序必须加注释,各程序段的开始要注明该段功能和作用。l 写出体会和总结。要求使用B5打印稿或16开纸手写,不少于5000字。格式遵照学校规定。 主要参考资料:l “单片机与控制技术” 杨宁主编,北京航空航天大学出版社。l “单片机应用程序设计技术” (修订版) 周航慈主编,北京航空航天大学出版社。l “电子技术应用”、“电子设计应用”、“单片机与嵌入式系统应用”等期刊l (单片机和元器件资料)l www.ICBASE.com (元器件资料)l (电子产品世
3、界)完 成 期 限: 2014年1月8日 指导教师签名: 课程负责人签名: 摘要汽车仪表是驾驶员与汽车进行信息交流的重要接口界面,对汽车的安全与经济行驶起着重要的作用,近年来,随着汽车电子技术的不断发展,汽车仪表板上显示的信息不断增加,传统的机械指针式汽车组合仪表越来越无法满足使用的需要,特别是计算机和通讯技术的广泛应用,以嵌入式微处理器为核心的智能化数字式仪表将是汽车仪表发展的必然趋势。本文介绍了汽车行驶过程中主要参数的测量原理,针对我国目前微型车及农车普遍使用的机械式仪表现状,寻求一种低成本、高可靠性、采用以嵌入式微处理器为核心的智能数字式汽车组合仪表解决方案,不仅能很好地克服了机械式仪表
4、的无法回避的缺点,而且具有外形美观、结构简洁、体积小、实时性好、功能扩展方便等优点。关键词 微处理器 汽车仪表 车用数字仪表专心-专注-专业目录第1章 引言1.1 课题的背景和意义由于汽车排放、节能、安全和舒适性等使用性能不断提高,使得汽车电子控制程度也越来越高。汽车电子控制装置必须迅速、准确地处理各种信息,并通过电子仪表显示出来,使驾驶员通过视觉与听觉获取道路和交通状况等车外信息的同时,也可获得汽车本身的有关信息,以便做出可行的判断, 正确驾驶汽车。因此,仪表便是驾驶员通过视觉了解汽车状态的必备部件之一。目前,汽车仪表正向“综合信息系统”的方向发展,其功能将不局限于现在的车速、里程、发动机转
5、速、油量、水温、方向灯指示,还可能增添一些功能,比如带ECU的智能化汽车仪表,能指示安全系统运行状态,如轮胎气压、制动装置、安全气囊等,这对汽车仪表技术提出了更高要求。现代汽车正逐步采用ABS、ASR、安全气囊、发动机电控喷射技术等,各种信息数据的处理正在不断增加,对所需各项行驶信息的精度和信息种类也提出了更高要求,这就需要开发与汽车仪表同步匹配的、以各种新型材料制成的高技术、高精度和高灵敏度传感器,并实现传感器与汽车仪表同时规模经济生产和产品配套系列化。目前汽车仪表有两种技术,一是传统的模拟显示,目前在中国市场上应用份额还较大,但大多数用在前期引进的车型或货车、微型车上等;二是数字式仪表,数
6、字式仪表采用步进电机结构形式,所有传感器的模拟或数字信号全部转化成驱动步进电机的数字信号,由中央处理器CPU处理完后,将驱动信号输送到各自的步进电机式指示仪表并使之工作,这种用全数字技术驱动的指示仪表精度高、统一机芯结构成本低。1.2 本课题研究内容本课题研究内容是基于STM32F103单片机的车用数字仪表设计与实现,车辆仪表是驾驶员与汽车进行信息交流的重要接口和界面,是车辆安全行驶的重要保证。随着电子技术的广泛应用,传统汽车仪表逐渐被微处理器为核心的电子控制数字仪表取代已成为必然趋势。然而,目前国内车辆仪表数字化水平还不高,绝大部分仪表还是模拟式的,而大多数模拟仪表表头的体积较大、数量多,使
7、得显示系统拥挤不堪,影响美观;另外一些模拟仪表故障率高,增加了用户的经济负担,减小了车辆行使的安全系数。为克服这些缺点,文中提出用单片机、模/数转换器件及数字式温度传感器DS18B20,霍尔传感器等对其进行技术改进,设计并实现了新型全数字仪表系统,该仪表系统有显示直观准确、灵敏度高、使用寿命长、灵巧美观、成本低等优点。题目来源于工程生产,指导教师对设计系统的方案、软、硬件结构等具备一定的实际经验和技术基础,学生对相关基础理论的掌握也已具备,在现有实验条件下,通过模拟方式,能够实现系统要求的基本功能。设计条件及相关技术资料已准备就绪。通过对基于STM32单片机的车用数字仪表设计要求的分析,经切题
8、资料查询和调研工作,首先确定系统的总体设计方案,根据方案,采用单片机最小系统,显示,经信号检测,数据采集及处理等的硬件及软件设计来完成。其研究内容如下:(1)设计控制系统的总体方案,画出整个系统的原理框图;(2)系统硬件设计:包括CPU型号的选择、检测电路的设计、电源电路等;(3)系统软件设计:要求设计系统的主程序流程图及主要的子程序流程图和相关软件设计。第2章 总体方案设计本次设计主要是基于单片机控制的车用数字仪表,此仪表系统要求显示直观、准确,使用方便、可靠,具有信息语音播报、告警等特点,同时展现车用仪表系统未来的发展趋势和广阔开发空间。在第一章论述基础之上,本章主要论述车用数字仪表系统的
9、两种设计方案,并将这两种设计方案进行对比论证分析,已确定本系统的最终设计方案。2.1 方案一方案一是CAN总线式全数字仪表系统。系统分为CAN通信模块、数据处理模块、数据显示模块等几个部分。系统作为汽车CAN总线系统上的一个节点CAN总线网络提取车速、发动机转速、燃油量、冷却水温度及报警等各种脉冲、模拟量和开关信号, 以SM89516A微处理器为控制主体,对数据进行实时分析处理后,送至数据显示模块,采用数字式及动态模式LCD液晶显示,既利用了现代电子技术的优势,使仪表具有多功能、智能和高精度的特点,又照顾到了驾驶员的使用习惯。与传统车用仪表相比,方案一具有以下优点:(1)基本设计规范要求具有高
10、位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。(2)大大减少了车身布线,并且具有反应快,可靠度高的特性,同时具有较好的扩展性,是汽车仪表数字化智能化的必然发展趋势。(3)基于信息技术的车辆运行管理系统,有利于更好地消除行车中的安全隐患,可以提高行驶的舒适性。(4)增大了仪表显示的信息量,还便于扩充其他功能,满足了汽车新技术包括汽车电子技术迅速发展的需求。基于CAN总线式全数字汽车仪表,其系统原理框图见图2-1。图2-1 方案一系统框图2.2 方案二方案二是单片机控制的车用仪表系统,该系统是针对目前广泛使用的电子式车用仪表机心存在多方面不足,在其工作原理上做出的技术创新,即彻底放弃了普通
11、电子式车用仪表机心 “ 动磁式”或 “ 动圈式”形式,靠电磁转矩驱动指针的工作原理。其系框图见图2-2。从方案二框图可见,其主要组成包含以下几个部分:信息检测模块,语音模块,液晶显示模块,单片机最小系统模块等。该车用智能仪表与普通电子式车用仪表相比,其技术性能有质的提高,主要体现在方面。(1)指示精度远远高于现行国家标准。(2)重复性好,分度均匀。(3)响应速度快、无抖动。(4)产品品质的稳定性和可靠性有根本保证。(5)适用范围广,基本上能满足所有车型。图2-2 车用数字仪表系统机构框图2.3 方案论证及确定如果采用方案一,通过资料查询得知,利用CAN总线构建的车用数字仪表,需要解决的关键技术
12、问题有以下几个方面:(1)整车的系统设计以及总线通信协议比较复杂,硬件上的要求比较高,需要有强大的数据处理能力,而且系统成本比较高。(2)总线传输信息的速率、容量、优先等级、节点容量等技术问题。(3)高电磁干扰环境下的可靠数据传输 。(4)确定最大传输时的延时大小及实时控制网络的时间特性。(5)安装与维护中的布线 。(6)网络节点的增加与软硬件更新(可扩展性)。经分析,由于本设计面向的是大众化的传统汽车,成本成为器件选用的最重要标准。尽管方案一具备许多方案二没有的特点,但是由于其技术还不十分成熟以及存在的技术瓶颈。还有其昂贵的价格,使其仅在一些中高档轿车得到应用。而单片机控制的车用数字仪表其卓
13、越的性能价格比已引起我国车用仪表界的广泛关注。与此同时,采用基于单片机控制的车用数字仪表,可以避免出现上述问题,这种基于单片机技术设计、制造的汽车仪表,具有集成度高、功能强、体积小、速度快、存储量大、指令丰富、抗干扰性强、通用性好、推广范围大、工作可靠、指示准确、易于匹配、使用寿命长、标准化系数高等一系列优势和特点,完全可以代替传统汽车仪表。基于此,本系统中采用方案二作为本系统的最终总体设计方案。第3章 车用数字仪表系统的硬件设计3.1 单片机最小系统单片机作为微型计算机的一个重要分支,应用面很广,发展很快。目前主要有: AT系列单片机、STC系列单片机、STM32系列单片机。本系统采用的是S
14、TM32F103RBT6单片机,由于STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。STM32F103RBT6内部有FLASH程序存贮器,既可用常规的编程器编程,也可在线使之处于编程状态对其编程。变成编程速度快,擦除时也无需紫外线,非常方便。3.1.1 STM32F103RBT6芯片功能简介STM32F103单片机使用的是ARM为要求性能高、成本低、功耗低的嵌入式应用专门设计的32位的ARMCortex-M3内核。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。STM32F103拥有可达128KB
15、的嵌入式闪存、20kB的SRAM和十分丰富的外设:两个1s的12位ADC,一个全速USB(OTG)接口,一个CAN接口,三个4M/S的UART,两个18M/S的SPI,两个I2C等。内部还集成了复位电路、低电压检测、调压器、精确的RC振荡器等,大大方便了用户的开发。该系列单片机不仅功能强大而且功耗相当低,在72MHz时消耗36mA(所有外设处于状态),相当于0.5mA/MHz,待机时下降到2A,是32位市场上功耗最低的产品。综上STM32F103系列单片机的性能完全可以满足车用数字仪表系统的所有控制需要,内置A/D可以用于模拟传感器的信号采集,丰富的I/O接口可以用于与5110液晶屏模块的通信
16、,并且其本身自带CAN控制器可以作为与外界通信接口,用STM32F103做主控制器可以减少使用器件从而简化整体电路。图3-1 STM32F103RBT6最小系统3.2 信号检测及处理电路的硬件设计3.2.1 温度传感器DS18B20及其硬件接口电路设计一、温度传感器DS18B20简介DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2
17、根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。主要特点有:1、用户可自设定非易失性的报警上下限温度值。2 、需要外部组件,能测量-55+125范围内的温度。3 、-10+85范围内的测温准确度为0.5。4 、通过编程可实现912位的数字读数方式,可在至多750ms内将温度转换成12b的数字,测温分辨率可达。5 、独特的单总线接口方式,与微处理器连接时仅需要一条口线即可实现与微处理器双向通讯。温度传感器技术指标(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条
18、线即可实现微处理器与DS18B20的双向通讯。(2)可用数据线供电,电压范围:+3.0+5.5V。(3)测温范围:-55+125,在-10+85范围内,精度为0.5固有测温分辨率为0.5。(4)通过编程可实现912位的数字读数方式。(5)用户可自设定非易失性的报警上下限值。(6)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。(7)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20的内部结构DS18B20内部功能模块,主要由4部分组成:64位光刻ROM、温度传感器、非易失性的温度报警触发器TH和TL、配置寄存器。ROM中的64位序列号是出
19、厂前被光刻好的,他可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。高低温报警触发器TH和TL ,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对TH,TL或配置寄存器写入。配置寄存器中R1,R0决定温度转换的精度位数:R1R0=“00”,9 位精度,最大转换时间为93175ms;R1R0=“01”,10位精度,最大转换时间为18715ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。DS18B20温度传感器的内部存储器包括一个高速暂2存RAM和
20、一个非易失性的可电擦除ERAM ,后者存放高温和低温触发器TH,TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是TH,TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3个字节的内在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节,校验前面所有8个字节的CRC码,可用来保证通信正确。二、DS18B20与单片机的硬件接口设计DS18B20与STM32F103RBT6的接口电路图如图3-2所示,其中DS18B20工作在外部电源供电方式,单片机STM32F1
21、03RBT6采用PA7和DS18B20通信。通过预先对DS18B20可编程温度传感器的编程,完成转换位数,精度,高、低温报警触发器TH , TL的温度设置。进入测温模式后,DS18B20可编程温度传感器将所测的温度值直接转换成数字量,通过其独有的单总线协议,实现与单片机的数据传输,完成数据采集,再结合软件及相应外围电路进行实时监控。图3-2 DS18B20与单片机接口电路3.2.2 测速传感器及其他模拟传感器一、测速传感器简介二、 基于速度传感器的车速计算过程(1)测量车速脉冲周期本设计中使用定时器2通道的捕获功能来检测车速脉冲(下降沿有效).将连续两次的捕获到的定时器计时值相减,便可以获取一
22、个完整脉冲的计时时间(周期)。为了加快中断进程,避免中断占用系统太多时间,在中断程序只是先将两次捕获的值分别保存,并通过标志位(收到新车速脉冲标志)去通知后台程序进行处理。(2)根据脉冲周期求车速测量到输入的脉冲周期后,就可以根据下面两个公式计算即时车速。= (1-1)车速(km/h)=脉冲频率 (1-2)实际上:为了提高后面计算的精度,系统车速的表示值为实际车速的8倍。也就是说在计算车速时还要乘以放大倍数(8)。因此,公式(1-2)演变成(1-3)。 车速(km/h)=放大倍数脉冲频率 (1-3)将公式(1-1)和(1-3)合并后推到出公式(1-4)。车速(km/h)=放大倍数 (1-4)在
23、(1-4)中:总线频率=Hz;分频因子=16;每小时秒数=3600s;放大倍数=8.把这些参数代入公式,最后推导出下面简单的公式(1-5)。车速(km/h)= (1-5)气压、油压、油量等参数的测量采用模拟传感器,其输出的模拟信号通过STM32单片机模数转换后经过相应软件处理后输出。其与单片机的接口电路如图3-3所示。图3-3 各模拟传感器与单片机的接口电路3.3 液晶显示模块3.3.1 液晶显示模块okia5110简介该车用数字仪表系统使用okia5110作为显示模块,okia5110具有以下特点:1.采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9
24、条。支持多种串行通信协议(如AVR 单片机的SPI、MCS51 的串口模式等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。2.可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。3.LCD 控制器驱动器芯片已绑定到LCD 晶片上,模块的体积很小。4.采用低电压供电,正常显示时的工作电流在200A 以下,且具有掉电模式。液晶模块与单片机的接口电路如图3-4所示。图3-4 okia与单片机的接口电路3.4 电源电路硬件电路设计汽车蓄电池提供12V左右的电源,而该仪表板需要两路电源:+5V和+3.3V电源。+3.3V电源用于给S
25、TM32F103RBT6单片机等供电,+5V蜂鸣器等供电。考虑到成本和易购性,我们选用7805和REG1117芯片作为电源转换芯片。如图3-5所示。图3-5 电源模块第4章 软件设计本章节在上一章介绍硬件基础上设计了汽车智能数字仪表系统的软件部分。这一章主要介绍了程序的整体构架以及主程序流程图等。4.1 开发语言简介在开发一个单片机应用系统时,系统程序的编写效率在很大程度上决定了目标系统的研制成效。早期在研制单片机应用系统时,大多以汇编语言作为软件工具。但由于汇编语言不是一种结构化语言,汇编语言程序较难编写和调试,程序本身的编写效率较低。随着单片机硬件性能的提高,其工作速度越来越快。因此在编写
26、单片机应用系统程序时,更着重于程序本身的编写效率。为了适应这种要求,现在的单片机开发系统,除了配备有汇编语言软件之外,很多还配备了高级语言软件C51语言。4.2 汽车数字仪表系统主控程序结构主程序包括两部分,一部分为初始化段,另一部分为循环主体段。在主程序循环体中,并不是直接执行程序,而是去调用一个个任务模块。每个任务都是一个子函数,这些任务的调度机制为轮循机制。即:子函数功能的执行与否取决于其条件标志是否满足。比如:当某个子函数被主程序调用时,会先判断其执行条件是否成立(标志位是否有效),如果有效就执行实际功能语句,否则不执行任何动作直接返回。为了避免各个任务为了抢占系统时钟资源,造成时间冲
27、突,采取以下一些措施:(1)根据任务的轻重缓急分别予以不同的时间调度,比如LCD显示屏刷新处理只需要500ms调用一次即可;实用性较高的任务如里程更新刷新则每循环一次都要调用一次。(2)对于实时性要求更高的任务,采用这种主程序轮循方式往往还是显示的不够及时。那么就干脆放在中断函数中去执行。不过,为了不影响后台程序执行,中断程序必须简练,能不再中断中做的事情就不要在中断程序中做。对于实时性不是很强的功能,可以先在中断中设置标志,然后让后台程序根据标志再去执行具体功能。有关时间调度程序的流程图,见图4-1:系统主程序流程图如下,见图4-2:图 4-1 1ms定时处理程序流程图图4-2 系统主程序流
28、程图4.3 显示流程图程序中每10ms执行一次显示处理子程序,在该程序中先查询“显示更新使能标志”。如果该标志为“0”,则说明不需要更行显示,直接退出子程序;如果该标志为“1”时,则先对显缓区进行刷新,再将刷新后的显缓区内容复制到LCD模块的专用RAM区中去。这个“显示更新使能标志”是由其他子程序根据实际情况进行设置的。显示流程图,见图4-3:图4-3显示流程图第5章 全文总结本文的主要是数字车用仪表系统的设计。针对实时显示汽车车速、发动机温度、燃油油量等项目的要求,本文通过各类传感器对汽车车轮转速,发动机温度和油量进行检测,在检测中需要不间断地测量车轮的速度,从而确定了整个仪表系统的显示参量
29、,根据需显示的参量和显示的实时性要求设计了硬件系统,介绍了各个部分的工作原理,最后根据检测项目和功能的要求设计了软件。软件的可靠性设计主要从数字滤波的角度进行讨论,介绍了几种比较常用的软件滤波技术,最后是现场实验部分。根据测量数据证明软、件设计是正确的,抗干扰措施是有力的,数字滤波的方法是有效的,达到了国标的要求。归纳起来,本文的工作如下:一、对数字车用仪表系统的关键技术、发展和研究进行了综述,指出了数字车用仪表技术对未来汽车工业发展的重要性。对数字车用仪表系统进行了概述,根据要求确定了技术参数。二、完成了数字车用仪表系统的软、硬件设计。1、通过车用数字仪表系统的总体方案的研究,提出基于单片机
30、控制的车用数字仪表系统的总体方案,并采用高性能信号调理电路组成信号传输系统,提高了信号传输通道的稳定性和抗干扰能力。2、利用现在流行的针对单片机的高级语言C51语言设计了软件。这种语言使软件的开发效率大大提高,而且能够支持浮点数运算,使一些复杂的算法能在单片机系统中很方便的实现。总之,本文设计的车用数字仪表系统具有精度高、可靠性好、实时性好等优点。 随着电子技术的广泛应用,车用仪表显示屏的液晶化必将成为一种发展趋势。文中通过采用STM32单片机、新型传感器和液晶显示等对车用仪表系统进行整体性改进设计,使新型数字仪表系统显示功能更强大、可靠性更高、使用更便捷; 同时,也为今后车用仪表显示系统扩充
31、显示和控制的信息种类,进一步丰富其综合信息显示内容,打开了广阔的空间。参考文献1 杨忠敏. 现代汽车仪表及其发展趋势J.汽车情报,2003,(18):20-22,24.2 张武 ,顾凯.基于51单片机的车用数字仪表的设计与实现.今日电子,2005,(01)3 宋汉冲.我国汽车仪表工业现状与发展前景分析J.中国仪器仪表,1995,(1):9-10.4 赵国军,计时鸣.一种具有行车工况记忆功能的智能汽车仪表J.中国仪器1996,22-25.5 刘浩,王向周.基于MB90F428的汽车仪表的设计J.世界电子元件,2006,(1):46-49.6 黄正权. 单片机技术的汽车仪表J. 汽车与配件,200
32、2,(2):157 张毅刚,彭喜源,谭晓昀等.MCS-51 单片机应用设计M.哈尔滨工业大学出版社.19978 张培仁,孙占辉,张村峰等.MCS-51单片机原理及应用M.清华大学出版社.20029 张煜 ,舒华 ,董素荣 ,刘金华.粗识车用传感器.汽车运用,2002,(02)10 刘迎春,叶湘宾.现代新型传感器原理与应用.国防工业出版社.199811 徐爱钧.智能化测量控制仪表原理与设计.北京航空工业大学出版社.200312 张毅刚,彭喜元,董继成.单片机原理及应用.高等教育出版社:200613 张俊.匠人手记.北京航空航天大学出版社.200814 邵贝贝.单片机系统可靠性技术及发展.电子产品
33、世界,1998,8:20-2115 陈粤初等.单片机应用系统设计与实践. 北京航空工业大学出版社.1991致 谢经过几个月的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的课程设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。本论文是在导师的悉心指导下完成的。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。本论文从选
34、题到完成,每一步都是在导师的指导下完成的,倾注了导师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!本论文的顺利完成,还要感谢大学近4年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。谢谢各位老师、同学和朋友的关心、支持和帮助。最后感谢我的母校四年来对我的大力栽培。附录1 车用智能数字仪表原理图附录2 车用智能数字仪表程序主程序:#include stm32f10x.h#include hardware.h/#include usart.h#include 5110.h#include SysTickDelay.h/#include RTC
35、.h#include adc.h#include common.h#include key.h#include DA5616.h#include pwm.h#include ds18b20.h/*函数以及变量声明*/void GPIO_Configuration(void);/*函数名称: main功能描述: 主函数入口*/int main(void)SystemInit(); /配置系统时钟72M(包括clock, PLL and Flash configuration)SysTick_Initaize();/滴答定时器初始化GPIO_Configuration();/ 引脚配置LCD_in
36、it(); /初始化LCD模块 LCD_clear(); /清屏幕adc_Init();/ad初始化DA_Config();PWM_Configuration();/pwm初始化DS18B20_Init();/DS18B20初始化/while(DS18B20_Init()/初始化DS18B20,兼检测18B20/LCD_write_String(0,0,DS18B20 Check Failed!);/delay_ms(500); /LCD_write_String(0,1,Please Check!);/delay_ms(500);/LCD_write_String(0,0,DS18B20 C
37、heck Ready!);/GPIO_SetBits(GPIOC,GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 );/if(BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5)/检测是不是第一次配置RTC,是的话写入日期/ RTC_Configuration(); /实时时钟配置/RTC_Set(2013,8,24,10,18,0); /设置年月日时分秒/ BKP_WriteBackupRegister(BKP_DR1, 0xA5A5); /LCD_write_String(0,2,Ch8_D=);L
38、CD_write_String(0,3,Ch8_A= V);LCD_write_String(0,4, vref= );LCD_write_String(0,5, Temp: );/LCD_write_String(0,0, . . );/LCD_write_String(0,1,Time: : : );while (1) key_scan(); /独立按键扫描display_adc(); /显示AD转换值函数SUPER_LCD_PrintValueI(42,4,vref,4); /显示通道1的数字量 /display_riqi(); /显示日期函数Write_DA(0,vref); /写DA
39、值到TLV5616TIM_SetCompare1(TIM1,vref); /对应PA8displayTemp();/* 函数名称: GPIO_Configuration* 功能描述: 配置IO口*/void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1| RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);/ 使能端口时钟,重要! /
40、* 配置 LED引脚的功能 */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/通用推挽输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;/输出最大频率为50MHz GPIO_Init(GPIOA, &GPIO_InitStructure);/初始化PA6/PA0,PA1 映射到通道0,1作为模拟输入引脚 ,ADC转换 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GP
41、IO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure);/PB0 映射到通道8作为模拟输入引脚 ,ADC转换 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOB, &GPIO_InitStructure);/spi数据与5110的接口数据传输GPIO_InitStructure.GPIO_Pin = GPIO_
42、Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_8; /设置GPIOB0、GPIOB1、GPIOB12 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; /设置GPIO速度为10MHZ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /设置以上三个GPIO为输出 GPIO_Init(GPIOB, &GPIO_InitStructure);/PWM产生通道,TIM1_CH1,2,3,4对应PA8,9,10,11,GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;/复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);