1、存档日期: 存档编号: 本科生毕业设计(论文) 论 文 题 目: 车辆行驶记录仪的设计 姓 名: 学 院: 电气工程及自动化学院 专 业: 测控技术与仪器 班 级 、 学 号: 指 导 教 师: 江苏师范大学教务处印制摘 要随着我国国民收入的逐渐增长,汽车也逐渐走进了庞大的家庭消费市场,汽车的迅速普及,给车辆行驶记录仪带来了很大的发展空间。本设计就记录仪的功能实现与拓展进行深入的研究。设计首先实现对行车速度等行驶参量的实时测量、显示与存储的功能,并结合了应用前景广泛的GPS(全球卫星定位系统)技术、无线通讯技术等,实现为车辆用户提供远程监控、实时定位、超速报警以及防盗报警等实用的拓展功能。设计
2、首先概述了车辆行驶记录仪的设计要求,并给出系统软件设计和硬件设计的实现方法。设计首先介绍了测量行驶记录仪的行业发展动态与趋势,并对国内外的相关产品的功能优缺点进行了概括,并在整个行业产品现状的基础上提出了本设计的目标。硬件部分设计采用了TI公司MSP430F149单片机为微控制器,根据车辆行驶记录仪的要求对系统的主控模块、液晶显示模块、行车数据采集测量模块、GPS接收定位模块、GSM/GPRS无线通信模块以及防盗报警等模块进行了设计1。软件设计以IAR for MSP430为开发平台,结合430系列单片机强大的在线调试能力,以C语言为编程语言编写出实用程序。软件设计部分根据要实现的功能给出了系
3、统各个部分的程序流程图,并对重难点程序设计部分给出了实际调试成功的设计程序。结尾部分从技术角度对设计进行了总结性的探讨。关键词:MSP430F149单片机 GPS GSM/GPRS 低功耗AbstractIn recent years, as the economy continues to develop, car gradually into the huge market of household consumption, personal automobile consumption has become mainstream, the rapidly growing populari
4、ty of car consumption of the car, the vehicle traveling data recorder is a big space for development . Now vehicle traveling data recorder on the market presents a state of vigorous development, therefore, the design of the vehicle traveling data recorder were studied.Design and implementation of ve
5、hicle speed, other status information time, mileage and vehicle-related basic functions of recording, storage, etc., and the integration of GPS (Global Positioning System) technology, GSM / GPRS communications technology and other high-tech, implemented as user provide real-time positioning, video s
6、urveillance, speed alarm, burglar alarm and other useful advanced features.Design discusses in detail the design and implementation of vehicle recorder system hardware and software. Design introduces the research background, research status and domestic and foreign cars recorder summarized, on the b
7、asis of the contents of the proposed research topic. The hardware design uses TIs low-power Americas MSP430F149 single chip microcontroller, vehicle traveling data recorder based on the requirements of the systems control module, speed module, GPS positioning module receives, GSM / GPRS communicatio
8、n module and burglar alarm and other modules of the design, and the final plan was described and details of implementation with the principles of the major functional components. Software designed to IAR for MSP430 development platform, with C language programming language with powerful debugging ca
9、pabilities msp430 microcontroller design utility. Software design flow chart of the detailed description of each module, and part of the heavy and difficult module gives the design process. Finally, from a technical point of view the design are summarized.Keywords: MSP430F149 microcontroller GPS GSM
10、 / GPRS Low power consumption目 录摘 要IAbstractII1 绪论11.1课题研究背景及意义11.2 国内外研究现状11.3 本论文的主要工作22系统总体设计32.1 系统功能32.2微控制器的选择32.3 系统方案确定43 系统硬件设计53.1 主控模块设计53.1.1 SD卡接口设计53.1.2 电源模块53.2 温度数据的采集与处理63.3 交互电路设计73.3.1液晶显示电路设计73.3.2 按键控制电路设计83.4 GPS定位电路设计83.5 无线通讯模块设计93.5.1无线通讯方案选择93.5.2无线通讯方案方案确定93.6 速度测量模块电路设计1
11、13.6.1 车辆行驶记录仪的车速测量要求113.6.2 车速测量原理113.7 汽车报警模块124 系统软件设计134.1 软件整体设计思想134.2 主程序流程图134.3 子程序程序设计144.3.1 测速子程序设计144.3.2 基于GPS接收系统的软件设计154.3.3 GSM/GPRS软件子程序设计164.3.4 LCD12864显示子程序设计174.3.5温度测量子系统设计194.3.6 报警模块的软件流程图215 结论22致 谢23参考文献24附录一:电路图26附录二:系统实物28附录三:元器件清单29IV江苏师范大学本科生毕业设计 车辆行驶记录仪的设计1 绪论1.1 课题研究
12、背景及意义随着我国国民收入的逐渐增长,个人汽车市场也日益繁荣,对于人们出行来说,是一个极大的便利。但是与此同时,我国的汽车交通事故也在逐年增加,随着技术手段的不断发展,车辆行驶记录仪被认为是一种可以有效降低交通事故发生率的车载设备。车辆行驶记录仪能够对车辆行驶速度、里程等行车参量实时测量2,还能对驾驶员进行超速提醒,这对降低汽车交通事故发生率起到了积极的作用,配合卫星定位系统(GPS)和无线通讯网络,还可以实现车辆远程监控、远程防盗报警以及运输公司可以远程了解和监控各个车辆的实时位置与状态,优化运营配置,进行远程动态管理。目前车辆行驶记录仪已经在个人用户和商业用户中逐渐被广泛使用。目前国内车辆
13、行驶记录仪市场上还主要有低端的车辆行驶记录仪为主,这些记录仪一般只有简单的测量行车速度、里程等简单的功能,而高端行车记录仪虽然功能丰富,但造价昂贵、安装复杂不变,限制了其市场推广速度,本设计的目的即在于设计一种能够实现远程无线通讯功能和GPS定位功能与一体的车辆行驶记录仪的一套完整方案。1.2 国内外研究现状二十世纪三十年代初期,德国首先制造出了人类历史上第一台行驶记录仪,这台车辆行驶记录仪是纸盘式的记录仪。随后欧洲国家逐步明确要求在要害行业和汽车运输行业必须安装车辆行驶记录仪,这些都促进了车辆行驶记录仪的普及工作。由于建国初期中国的汽车制造业基底较薄,因此国内汽车的辅助设备车辆行驶记录仪的应
14、用的更晚,大约在1990年,国内车辆行驶记录仪的使用才逐渐推广开来。随着汽车电子行业的迅猛发展,车辆行驶记录仪也逐渐随着技术的发展潮流不断改进,由最初的简单的纸盘式行驶记录仪,到如今的高精度、多功能的电子式记录仪,从最初的仅记录速度、里程等功能单一的记录仪到如今的和汽车导航、远程监控、智能监控等高级功能结合在一起的高端车辆行驶记录仪。但受制于高端车辆行驶记录仪的高昂价格,目前个人汽车市场的中低端车辆行驶记录仪的市场占有率较高,而配备有GPS定位导航、远程终端控制等高级功能的车辆行驶记录仪市场占有率较低,一般用于交通运输行业。目前国内市场常见的车辆行驶记录仪总体上来说有两种类型:一种是独立式行车
15、记录仪和另一种是将行车记录仪与GPS定位系统合二为一的,它们基本上用SD卡录制,采集的车辆行驶数据可以方便的用电脑读出,方便查看,都能满足一般的行车记录需求,安装简单方便。目前市面上大部分行车记录仪除了能实现诸如行车速度、里程和温度等基本的车辆行驶参量的实时测量显示外,很多高端的行车记录仪还具有防盗报警、远程监控等实用的高级作用。但目前市场上的车辆行驶记录仪的功能多种多样、质量参差不齐、价格也高低不同,诸多设计上达不到行车记录仪的国家标准,还缺乏统一的规范,系统的稳定性有待提高、相关软硬件设计还有优化提高的空间。1.3 本论文的主要工作 设计主要的研究内容:(1)按照行业标准测量车辆行驶里程、
16、温度、速度等行车信息;(2)对相关行车信息进行存储、显示、既可以通过无线通讯网络传输行车数据也可以通过SD接口输出数据;(3)结合GPS技术和无线通讯技术,实现远程防盗报警和远程数据传输等功能;(4)能辅助事故记录与分析,能够记录汽车事故发生的汽车各种行车信息等情况,为交警处理汽车交通事故提供判断依据;(5)可对汽车司机疲劳驾驶、车辆行驶超速等违章问题进行报警提示3,对预防道路交通事故发生,保障行车安全,起到非常关键的作用;(6)采用micro SD卡拓展作为行车信息的存储与更新;2系统总体设计2.1 系统功能中华人民共和国在2003年实行汽车行驶记录仪标准规定车辆行驶记录仪应具有以下功能4:
17、(1)自检功能;(2)能够对行驶车辆的行驶速度、里程等车辆进行测量与存储 5;(3)能够识别车辆驾驶员的身份,实现防盗报警、疲劳驾驶报警功能;(4)测量数据可以通过液晶等显示屏显示;(5)具有人机交互的功能,可以通过按键控制执行的功能;(6)数据通信功能。2.2微控制器的选择(1)方案一:采用MCS51系列单片机作为微控制器采用STC89C52作为微控制器,STC89C52是STC公司早年生产的一种拓展型的8位微控制器。其主要优点是价格低廉且MCS-51系列是最早引入国内的单片机系列,在国内有着极其广泛的应用,设计范例经典,设计方案成熟,国内市场上的低端行车记录仪产品大多采用这一微控制器。但是
18、其CPU运算能力较差、不易拓展、外围接口模块不足且I/O口不能满足本设计的系统要求,显然不能满足此设计的要求。(2)方案二:采用TI公司的MSP430系列单片机采用MSP430F149单片机为微处理器,msp430系列单片机是由是美国德州仪器(TI)九十年代推出的主打超低功耗的十六位单片机 ,具有丰富的片内片外接口。其主要特点是处理能力强、运算速度快及超低功耗等特点。内部的看门狗定时器可以保证在程序跑飞时自动的复位使程序重新开始执行,确保系统的稳定性;硬件USART串行总线接口可以进行UART异步串行通信方式和I2C同步串行通信方式;本设计需要较多的通讯接口和较多的 I/O 端口连接外围拓展模
19、块,如USB通讯接口、SD卡接口、显示交互模块、按键交互模块、声光报警模块、GPRS通讯模块等。另外,MSP430 系列单片机有较多的中断,有不同的优先级,利用这些中断源可以在软件上采用中断触发机制,这样可以实现超低功耗的特点。综上考虑了设计的硬件要求以及MSP430F149使用广泛、性价比高等特点,最终设计选用MSP430系列的MSP430F149单片机作为系统的微控制器。2.3 系统方案确定设计采用MSP430F149单片机为微处理器,通过外接电路包括霍尔测速模块、USB通讯接口、SD卡接口、LCD显示模块、声光报警模块、按键交互模块、GPS接收机定位模块6和无线通讯通讯模块组成具有实用价
20、值的低功耗的行车记录仪系统。系统总体框图如图2-1所示:图2-1 系统总体框图293 系统硬件设计以MSP430F149单片机为核心,与集成霍尔元件模块组成测速模块、与液晶LCD12864组成系统显示模块、与DS18B20组成车温测量模块、与SD卡接口组成系统存储模块、与蜂鸣器和三极管组成的报警电路组成系统的报警模块、与SIM900A组成系统的GSM/GPRS通讯模块以及与GARMIN公司的GPS15组成定位接收模块构成整个系统。3.1 主控模块设计3.1.1 SD卡接口设计本设计采用外接SD卡进行行车相关信息的存储与定期更新。MSP430F149单片机通过串行外设协议总线与SD卡插槽进行连接
21、,串行外设协议总线只需四根线即可完成通讯,串行外设协议总线以主从方式工作,在单片机与SD卡通讯为点对点通讯,所以不需要进行寻找操作,所以便于读取各种SD卡的数据信息。SD卡接口电路图如图3-1所示:图3-1 SD卡接口电路图3.1.2 电源模块车辆行驶记录仪一般使用车载电源来提供整个系统的电源,而一般的车载电源大都为12V直流电源。本系统中MSP430处理器的正常工作电压为l.8V-3.6V,GPS15芯片的工作电压为3.0V-5.5V,SIM900A芯片的工作电压要求为3.2-4.8V,电流应大于2A,所以需要设计出由12V车载电源供电的电源电路7。本设计采用降压型稳压芯片LM2596,LM
22、2596能够输出高达3A的驱动电流,与此同时还具有很好的线性和负载调节特性。LM2596分为固定输出电压和可调输出电压两种类型,其中固定输出电压有3.3V、5V和12V,而可调输出电压可以输出1.2V到37V的各种电压。LM2596实现12V转3.3V电压原理图如图3-2所示:图3-2 电源电路电路图3.2 温度数据的采集与处理采用集成的DALLAS18B20温度传感器,该传感器是集成的数字式温度传感器,全部电路和元器件都集成在形如一只普通三极管大小的集成电路内。且仅需占用两个I/O口资源,转换速度快,抗干扰能力强,测量精度也满足要求本设计的精度要求,且其测量分辨率可以调节,按照需要的精度要求
23、选择不同的分辨率,可选择9到12位不同的分辨率,分辨率越高,测量精度越高,但转换速度也相应的越慢,选择任意分辨率都能完全满足系统测量环境温度的精度要求。由于其可用3.05.5V的宽供电电压范围,方便系统的供电电源设计,若用寄生电源供电方式可以直接通过与微处理器I/O口的数据线供电,这样外接连线更加便捷。DS18B20与MSP430F149连接的电路图如图3-3所示:图3-3 DS18B20接口原理图3.3 交互电路设计3.3.1液晶显示电路设计器件选择:采用8位并行、带中文字库LCD12864作为显示输出模块,LCD12864最低至3.0V电源电压供电,可以直接其显示分辨率为12864, 内置
24、8192 个16*16 点汉字,足以显示本设计中需要的全部数据与提示汉字等, MSP430F149单片机片内外围接口电路可以直接连接LCD12864。MSP430单片机与液晶LCD12864的连接电路图如图3-4所示:图3-4 LCD12864连接电路图3.3.2 按键控制电路设计本设计中使用按键实现基本的系统复位、控制显示和执行选择操作等功能。按键通过一个5.1K的电阻连接到3.3V,当按键没有按下时,I/O检测到电平,当有按键被按下时,I/O检测到低电平,通过软件延时去抖电路判断是否有按键按下,并执行相应的程序。键盘的接口电路图如图3-5所示:图3-5 按键接口电路图3.4 GPS定位电路
25、设计GPS是全球卫星定位系统的简称。GPS定位系统组成部分主要包括用户接收机、空间卫星和地面控制部分8。本系统采用了GPS接收芯片,将得到的包含位置的信息通过UART异步串行通信协议传输给MSP430F149处理器进行处理,获得实时车辆行驶经度、纬度和方向等信息。本系统中GPS接收模块使用GARMIN公司的GPS15接收模块。GPS15有FLASH闪存,不需要在程序中设计时初始化。目前商用的GPS模块,大都支持12通道,采用C/A编码和NMEAO183协议,通过RS232接口控制7。GPS15与MSP430F149的连接框图如图3-6所示: 图3-6 GPS接口原理框图3.5 无线通讯模块设计
26、3.5.1无线通讯方案选择(1)方案一:采用蓝牙传输近场无线通讯模块蓝牙通信方式是一种应用十分广泛的通讯方式,在手机、电脑等电子产品中应用十分广泛,无需移动通讯网络支持、无需客户付费和低功耗是蓝牙传输的主要优点。但是蓝牙通讯技术距离比较短,手机内蓝牙通讯接收距离一般为十五米以内。虽然传输速度可以满足一般的传输要求,而车载无线通讯的目的是实现远程通讯,监控中心与车辆的位置一般很远且不固定,故蓝牙通讯模块不适合本设计。(2)方案二:采用基于GSM/GPRS网络的无线通讯模块GPRS是通用分组无线服务技术(General Packet Radio Service)简称 9,属于2.5G通讯技术,介于
27、第二代和第三代移动通讯技术之间。GPRS是GSM的延续, GPRS的传输速率可提升至56甚至114Kbps,可以满足车辆行驶信息、位置信息和报警信号的传输,且实用性高,不过使用者需要支付一定的传输费用。综合系统的实际需求以及不同通讯技术的技术特性,本设计采用GSM/GPRS无线通讯技术作为系统进行无线通讯与数据传输的通讯模块。测量行驶记录仪需要通过无线通讯模块与外界通讯实现将行车信息和GPS定位信息等发送至远程终端实现远程监控功能、远程防盗报警等功能,并根据设计需要还可以实现接收远程终端发出的短消息或远程命令,满足远程监控的要求,按服务中心或用户的需求完成控制要求。3.5.2无线通讯方案方案确
28、定无线通信模块采用SIMCom公司的SIM900A芯片,SIM900A是专为中国和印度市场设计的一款双频GSM/GPRS模块。其性能稳定、性价比高。SIM900A有通讯接口、SIM卡接口、语音接口、键盘接口和显示接口,可以实现短信息收发、数据传输通讯等功能。SIM900A模块结构如图3-7所示:GSM/GPRS无线通讯模块电路由SIM900A芯片及其外围接口电路组成,外围电路主要包括电源部分、音频接口电路、串口通信电路及SIM卡接口电路10。电源部分需要2A以上的供电电流,以保证模块正常工作。MSP430F149通过串口UART1与SIM900A进行异步串行通信, 程序上通过发送的标准AT指令
29、,实现收发短信、传输数据的功能7。GSM/GPRS无线通讯需要连接有效的SIM卡才能正常的工作,且通过SIM卡进行资费的清算。SIM900A支持并不支持电信卡的WCDMA网络。SIM900A与SIM接口电路图如图3-8所示:图3-7 GSM/GPRS模块结构图图3-8 SIM900A与SIM接口电路3.6 速度测量模块电路设计3.6.1 车辆行驶记录仪的车速测量要求中华人民共和国汽车行驶记录仪国家标准(GB/T190562003)对车速采集测量有如下强制规定:记录仪应能以1s的时间间隔持续记录并存储车辆行驶状态数据。标准单位为千米每小时,最大测量速度应大于220km/h,行驶速度误差应小于1k
30、m/h。分析上述的规定,得到记录仪的速度数据采集要求为: (1) 以一秒为时间间隔进行速度数据的采集; (2) 行驶速度的测量范围为0km/h220km/h; 3.6.2 车速测量原理器件选择:采用3144霍尔传感器和LM393电压比较器组成的开关量霍尔传感器,配合磁钢通过对汽车车轮的旋转配合磁钢的作用,使霍尔测速传感器产生频率量的信号,在通过MSP430F149单片机的中断I/O进行检测处理。测速模块电路图如图3-9所示:图3-9 测速模块电路图测量原理:用霍尔传感器检测两次高电平信号,算出时间间隔,即可得出采集汽车车轮转一圈的时间T。MSP430单片机用中断处理的方式,通过两次中断间隔计算
31、出两次频率量间的时间间隔并得出时间差T。通过设立一个标志位flag即可实现。根据C/T,便可以计算出车的速度。3.7 汽车报警模块汽车报警分为防盗报警与常规报警。常规报警包括车辆超速报警、疲劳驾驶报警等;防盗报警是基于无线通讯技术的新型报警方式,是在未经认证人员强行启动汽车或车辆被盗情况下的自动报警。报警方式包括声光报警和通过GSM/GPRS无线通讯模块将异常情况通知车主和监控中心,给出车辆异常原因,所在位置等信息,结合了无线通讯功能的防盗报警模块的将安全性大大提高。这一新型的防盗报警机制也有助于警方追踪被盗车辆,提高破案效率。本设计中报警装置主要由车载声光报警器、GPRS网络以及用户接收器组
32、成。蜂鸣器报警电路如图3-10所示:图3-10 蜂鸣器报警电路图4 系统软件设计 4.1 软件整体设计思想选择 C语言作为系统的软件编程语言,以IAR for MSP430作为开发环境。先初始化定时器、DS18B20、液晶、串口通信和SIM900A等模块,然后再主程序中调用各个模块函数,输出到LCD12864上显示。整体以中断方式为整个系统的驱动。4.2 主程序流程图系统先进行主控模块设计,进行MSP430单片机的初始化、各个模块初始化和各个串口初始设置。首先都是对MSP43O的设置,包括430的时钟源的选择,各个模块的时钟的选择,各个内部模块的初始化,以及外部设备的初始化,然后开启总中断,进
33、入到主循环中,由于整个系统被设置为中断驱动,因此进入主循环后,就立即进入了低功耗模式LPMO,等待中断唤醒MCU,如无中断产生,就保持LPMO的状态。系统总体流程由中断驱动,再进行各个模块的通讯操作,读取相关数据,完成数据交换。系统主程序流程图如图4-1所示:图4-1主程序流程图4.3 子程序程序设计4.3.1 测速子程序设计车速程序设计采用MSP430单片机的TIMER_B的定时器捕获模式,当车轮转动时,速度测量模块产生开关量的高低电平,TIMER_B的定时器捕获到一次电平变化时,进入定时器中断,将此时的CCR0的值与上次定时器中断发生时的CCR0值进行做出,从而算出车轮旋转一周所需时间,再
34、经过简单的数据处理,即可得到此时的车辆行驶速度。测速子程序框图如下图4-2所示:图4-2 测速子程序框图测速核心子程序如下:#pragma vector= TIMERA0_VECTOR_interrupt void TIMER_A(void) if(CCR0lastCCR0) k=CCR0-lastCCR0; else k=65536-lastCCR0+CCR0; lastCCR0=CCR0; flag+;4.3.2 基于GPS接收系统的软件设计同样由于MSP430内部资源有限的原因,采用了MSP43O内部的Timer_A0模拟UART来接受GPS信息。采用MSP430F149单片机内部的定时
35、器TIMERB来实现整个系统的定时功能,采用MSP430F149单片机的TIMERA的捕获比较功能实现速度信号的采集,而采用MSP430F149单片机的UART0来进行与SIM900A的异步串行通信,而采用MSP430F149单片机的UART1来与GPS进行的异步串行通信操作。GPS模块的主要实现功能是对导航卫星信息的接收实现对车辆的定位。该模块的主要涉及思路:通过GPS接收机接收卫星信号,运算获得精度、纬度、卫星星历、速度和方向等信息,再将计算结果与航迹推算系统进行联邦滤波,获得较精确的定位信息12。MSP430F149单片机与GPS15通讯成功后,GPS15通过UART1将包含位置、测量精
36、度以及实时时间等信息发送给MSP430F149,在进单片机的信息处理后将相关行车信息进行显示与存储。导航模块的流程图如图4-3示:图4-3 导航模块程序图4.3.3 GSM/GPRS软件子程序设计SIM900A支持标准的符合GSM07.07规范AT命令。常用的AT命令如表所示:表4-1 常用AT命令常用AT命令指令功能AT+IPR波特率的设置ATH挂机AT+CMGFPDU及Text格式选择AT+CMGR短信的读取AT+CMGD短信的删除AT+CMGS短信的发送AT&F格式化为了降低功耗,在设计中,数据的接收是以中断方式进行处理。短信的发送通过移动的SIM卡提供服务。SIM900A模块与MSP4
37、30F149单片机采用UART0的异步串行通讯进行连接,异步串行通讯UART0初始化设置程序:Void UART_Set(void) P3SEL |= 0x30; / 选择P3.4和P3.5做UART通信端口1100 /开始SWRST默认高电平(在此状态下设置串口才有效) ME1 |= UTXE0 + URXE0; / 使能USART0的发送和接收 UCTL0 |= CHAR; /采用 8位字符发送方式 UTCTL0 |= SSEL0; / 选择32Khz的辅助系统时钟为时钟源 UBR00 =0x03; / 设置串口波特率为9600 UBR10 =0x00; UMCTL0 =0x4A; /调整
38、值 UCTL0 &= SWRST; / 初始化UART IE1 |= URXIE0; / 使能接收中断 _BIC_SR(GIE); / _EINT(); / *Initialize USCI state machine*基于MSP430F149的AT指令发送子程序设计:void Uart0Sends(uchar *data) while(*data!=0)while (!(IFG1 & UTXIFG0); TXBUF0=*data+; 基于SIM900A模块的发送短信的实现:Uart0Sends(AT+CSCS=GSMrn); Delay_ms(300); /延时300msUart0Sends
39、(AT+CMGF=1rn); /短消息格式 文本Delay_ms(300); /延时300msUart0Sends(AT+CMGS=18051363710rn); /此处为短信接收方电话号Delay_ms(300); /延时300ms Uart0Sends(yusheng);TXBUF0=0X1A; / TXBUF_0 Delay_ms(20000); /延时2s4.3.4 LCD12864显示子程序设计LCD12864模块有并行和串行两种连接方法,参考其芯片手册时应注意到LCD12864与单片机串行连接方式与并行连接方式对应不同的控制时序,本设计中因为只需要向LCD12864写入数据与命令而
40、无需读取数据,因此只需设计出写命令函数与写数据函数即可实现本设计的显示要求,写命令函数与写数据函数如下:/写命令子函数void write_command(unsigned char command) LCD_DATA_DIR=0XFF; LCD_CON_DIR |=LCD_RW+LCD_RS+LCD_EN; LCD_CON_OUT &=(LCD_RW+LCD_RS); delay(); LCD_CON_OUT &=LCD_EN; LCD_CON_OUT |=LCD_EN; delay(); LCD_DATA_OUT=command; delay(); LCD_CON_OUT &=LCD_EN
41、; delay();/写数据子函数void write_data(uchar data) LCD_DATA_DIR=0XFF; LCD_CON_DIR |=LCD_RW+LCD_RS+LCD_EN; LCD_CON_OUT |=LCD_RS; delay(); LCD_CON_OUT &=LCD_RW; delay(); LCD_CON_OUT &=LCD_EN; LCD_CON_OUT |=LCD_EN; delay(); LCD_DATA_OUT=data; delay(); LCD_CON_OUT &=LCD_EN; delay();4.3.5温度测量子系统设计根据DS18B20芯片手册
42、,因为DS18B20对读写时序有着严格的时序要求,只需严格按手册控制读写时间,采用通过定时器实现延时极为精确的us级延时就可以按照芯片手册给出的读写时序完成温度测量系统的程序设计。首先需要设定计时器时钟频率为1MHZ。确定时钟频率后,可以较准确地实现us 级别延时,延时函数如下:/功能:us 级别延时/ n=10,则延时10*5+6=56us/-void DelayNus(unsigned int n)while(n-);延时函数确定后,根据DS18B20芯片手册,编写出DS18B20读写函数,完成这一步骤,之后在函数中对得到的数据进行简单的处理与校验,即可配合显示模块实现温度的测量。DS18
43、B20的读函数和写函数如下:/写函数void Write_18B20(unsigned char data)unsigned char x;for(x=0;x1;DelayNus(9);/延时50us DQ1;/读函数unsigned char Read_18B20(void data) uchar b; unsigned char flag; for(b=0;b= 1; DQ0; _NOP();_NOP(); /延时5us _NOP();_NOP();_NOP(); /延时6us DQ1; DelayNus(1); /延时9us P1DIR= P1DIR&( BIT6); _NOP(); if(P1IN&BIT6) flag = flag|0x80; DelayNus(8); /延时45us P1DIR= P1DIR|BIT6; DQ1; DelayNus(1); /延时10us if(temp=0xff) write_data(0x30+6);return temp;4.3.6 报警模块的软件流程图报警模块采用中断处理机制,当单片机检测到报警信号满足报警条件时,MSP430F149单片机自动进入报警中断处理子函数,如汽车超速时,一方面蜂鸣器报警提示汽车超速行驶,另一方面在LCD12864液晶显