机车冲动检测仪设计-控制与仪器毕业论文_第1页
机车冲动检测仪设计-控制与仪器毕业论文_第2页
机车冲动检测仪设计-控制与仪器毕业论文_第3页
机车冲动检测仪设计-控制与仪器毕业论文_第4页
机车冲动检测仪设计-控制与仪器毕业论文_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

摘要 密级: NANCHANG UNIVERSITY学 士 学 位 论 文 THESIS OF BACHELOR(20112015年)题 目: 机车冲动检测仪设计 学 院: 信息工程学院 系 自动化系 专业班级: 测仪111 学生姓名: 方正宇 学号: 5801211050 指导教师: 张宇 职称: 讲师 起讫日期: 2015-32015-6 49南昌大学本科毕业设计(论文)南 昌 大 学页眉,要显示当前页面信息,而不是通篇一样的“南昌大学本科毕业设计(论文)”不要使用非常奇怪的横线学士学位论文原创性申明本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。作者签名: 方正宇 日期:2015.6.1学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 年解密后适用本授权书。本学位论文属于 不保密。(请在以上相应方框内打“”)作者签名: 董艳洁 日期:2015.6.1注意:此处不应该出现学姐的名字并且不需要写导师签名: 日期:机车冲动检测仪设计专业:测控技术与仪器 学号:5801211050 学生姓名:方正宇 指导老师:张宇摘 要在机车的行驶过程中,旅客的舒适度与列车司机操作是否平稳有很大的关系。如果机车在行驶过程中纵向加速度过大,轻则乘客感到不适,重则酿成严重事故。故而一套考核司机驾驶水平的仪器至关重要,可以确保铁路交通的服务质量和旅客安全性。本文基于STC89C52单片机设计了一套关于加速度的采集,检测,显示于一体的解决方案。本设计采用的是ADXL345加速度传感器,基于嵌入式单片机开发平台,在进行AD转换后,将数据传送到PC机上,可以实时显示机车运行时的加速度数值。并在PC机上对数值进行分析与监测,同时也可以在PC机进行联机工作,进行离线在线的分析,打印报表等。本文首先介绍了课题的研究背景与意义,机车冲动的危害。然后设计系统的机构及其原理。最后是关于硬件电路的设计和软件的代码编写,并进行总结。本系统具有高可靠性,非常高的性价比,功能齐全,方便携带,人机交互良好并且方便外围扩展。关键词:机车冲动;通信;ADXL345加速度传感器;STC89C52;LCD显示器目录第1章 绪论11.1 课题研究的背景与意义11.2国内外研究现状11.3论文研究的主要内容2第2章 系统结构及方案设计32.1 系统简介32.2 系统工作原理32.3 系统方案设计32.3.1 微处理器的选择32.3.2 传感器的选择52.3.3 通信方式的选择62.3.4 显示器的选择62.3.5 电源电路的选择72.4 本章小结7第3章 系统硬件设计83.1电源电路模块83.2 单片机主控电路模块83.3 数据采集模块电路103.4 液晶显示模块电路123.5 串行通信模块电路133.6 本章小结14第4章 系统软件设计154.1 主程序设计154.2 ADXL345模块程序设计154.3 LCD1602模块程序设计194.4RS-232 串口通信模块程序设计23第5章 论文总结与展望255.1 总结255.2 展望26参考文献26致谢28附录129附录229第1章 绪论1.1 课题研究的背景与意义注意格式,不要隐藏部分章节标题以下每个章节都要修改在最近的几年时间里面,我国铁路发展速度飞快,尤其是在高速铁路建设上面,获得了令人瞩目的成就。在铁道部的制动改革以后,高速铁路建设发展进入了另一个阶段,就是从国内市场走向国外市场。2013-2017年中国铁路行业市场前瞻与投资战略规划分析报告研究显示:中国电气化铁路总里程在54年突破5.1万公里,超越了原电气化铁路世界第一的俄罗斯,跃升为世界第一位。初步统计,2012年新开工电气化铁路约为1450公里,较上年上升了近80% 1。由此可知,高速铁路是未来发展的趋势,故而舒适安全的高速铁路运输至关重要。人们在满足廉价的交通消费情况下也对舒适度的要求很高,这个时候一套安全便捷的冲动检测仪器就显得十分重要了。机车在运行的过程中机车的平稳性就是度量舒适度的一个重要指标,机车冲动不仅仅是影响旅客在乘车期间的舒适性而且剧烈的冲击甚至会给旅客、行车及机车设施造成不同程度的损伤,有些冲动事件还涉及到经济赔偿和国家声誉2。如何改善机车在行驶过程中产生的冲动问题就变成了头等大事了,为了进一步提高乘客旅客列车的舒适度,针对机车提速后纵向冲动家居问题国家铁道部也专门成立了小组对其进行专题研究,以研究产生的原因和解决的方案。引起机车纵向冲动的原因有很多,根据纵向动力学理论分析与实际的实验结果可知,引起机车纵向冲动非稳态运行过程主要可以概括为四种:1、机车启动时,牵引力传输引起纵向冲动的启动工况。2、调车作业时机车车辆间相互冲撞引起纵向冲动的调车作业工况。3、机车制动或制动缓解过程汇总,制动力传输引起纵向冲动的制动工况。4、列车运行时,线路断面变化引起纵向冲动的线路断面变化工况等。旅客列车的纵向冲动受多方面因素的影响,按其变化情况,可以分为在运行过程中保持不变的因素(列车编组情况及有关的初始条件,钩缓类型和车钩间隙,风挡型式,机车车辆制动机的类型,基础制动型式等)和在运行过程中随时间变化的因素(空气制动系统各部分的压力分布情况,闸瓦或闸片摩擦系数,温度,基础制动装置的效率,机车的动力制动力,列车的运行阻力,线路纵断面的坡度和曲线情况等)两大类3 。 近年来,随着计算机技术、嵌入式技术和机电一体化技术的成熟与广泛应用,各种智能仪器4已经广泛渗入到各个领域。而仪器设备的虚拟化、智能化,数据采集系统的PC化是当代计算机信息技术发展的一种趋势。新型机车冲动检测仪就在这种背景下应运而生。1.2 国内外研究现状未来几年,中国高铁的建设将会进入全面收获期5。到时候我国高铁网络将初具规模。邻近的省会城市将形成1至2小时的交通圈、省会与周边城市形成半小时至一小时的交通圈。北京到全国绝大部分省会城市将形成8小时以内的交通圈。到2015年,我国铁路营业里程将达到12万公里以上。其中,新建高速铁路将达到1.6万公里以上;加上其他新建铁路和既有提速路线,我国铁路快速客运网将达到五万公里以上,连接所有省会城市和50万人口以上城市,覆盖全国90%以上的人口,“人便其行、货畅其流”的目标将变成现实。高铁的发展在面向21世纪的中国可持续发展战略中,将产生深远的意义和影响。就舒适度而言,国外那些个发达国家早在五六十年代就已经进行了了大量的实验用来来检测旅客对于机车舒适度的感受,并且根据这些实验的数据建立完善的旅客列车乘坐舒适性的标准。我国在这些评测指标上,基本是参考国外标准,而且对于如何检测这些指标,我们也相当落后。国内传统考核司机的办法是“木棒检测法”,选用那些密度较大的均匀杂木,将其制成5根长度相同、截面为正方形但面积不同的木棒。长度为150mm,截面边长分别为30mm、27mm、25mm、20mm、18mm。木棒的端面要求平整且有一定的粗糙度。再另外做一个木盒,底面是比较光滑的玻璃,拿木板隔离成5个档位,如图1.1所示。具体的测试方法就不细说了。1.3 论文研究的主要内容本文的主要内容如下:1.分析本课题研究背景、国内外发展状况及意义;2针对目前检测方式的落后和不确定性等问题,设计选用数字化智能仪器方案,以实现冲动的检测、记录、分析全自动化;3.设计完成数据采集装置。包括设计加速度采集电路、丰富的外围通信接口和显示模块,以实现传感器与处理器之间的数据传输,数据处理后的结果显示。4.采用keil开发环境,运用C语言编程,结合硬件的设计原理,完成软件系统的设计,从而实现软硬件相结合,实现冲动智能化检测的目的;5.对本次课题设计进行全面的总结,分析本课题的设计思路,指出本设计的不足之处并提出相应的完善措施。 第2章 系统结构及方案设计新章节,另起一页2.1 系统简介该系统的功能就是用来实时监控机车行驶过程中的加速度,使用加速度传感器采集信号然后再经过单片机分析处理后显示出来,传输到PC机或者远端供工作人员监控和分析。为了便于在列车上使用,故该套装置体积越小越好,功能越方便越好,所以采用了嵌入式设计方案。并直接用USB输出的5V电压进行供电。2.2 系统工作原理本系统主要由数据采集模块(传感器装置)、数据分析处理模块、显示模块和通信模块组成。数据采集模块任务是按一定的采样频率对机车加速度信号进行采集;处理器的应用程序负责分析、处理数据,将传感器采集到的信号转化为对应的加速度值;显示器将由处理器传送过来的加速度值显示出来,串口通信负责把单片机采集到的数据发送给PC机。系统结构框图如下所示:图2-1系统结构框图2.3 系统方案设计如上所述,本系统主要由数据采集模块(传感器装置)、数据分析处理模块、显示模块和通信模块组成。为实现各模块的功能,分别做了几种不同的方案设计并进行论证。2.3.1 微处理器的选择方案一:STC89C51RC6是采用8051核的ISP(In System Programming)在系统可编程芯片,该芯片的最高工作时钟频率是80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。 主要特点如下:(1)增强型1T 流水线/精简指令集结构8051 CPU(2)工作频率范围:0 -35 MHz,相当于普通8051 的0420MHz.(3)用户应用程序空间12K / 10K / 8K / 6K / 4K / 2K字节(4)片上集成512 字节RAM(5)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片(6)EEPROM 功能(7)有2个16 位定时器/ 计数器(8)PWM( 4 路)/ P C A(可编程计数器阵列),也可用来再实现4个定时器或4个外部中断(上升沿中断/ 下降沿中断均可支持)(9)STC89Cc516AD具有ADC功能。10 位精度ADC,共8路(10)通用异步串行口(UART)(11)SPI同步通信口,主模式/ 从模式(12)工作温度范围:0 -75/ -40 -+85方案二:STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 主要特点如下:(1)增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051.(2)工作频率范围:040MHz,相当于普通8051 的080MHz。(3) 用户应用程序空间为8K 字节(4)片上集成512 字节RAM(5) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0,P3.1)直接下载用户程序,数秒即可完成一片。(6)具有EEPROM 功能(7) 共3个16 位定时器/计数器。即定时器T0、T1、T2(8)通用异步串行口(UART),还可用定时器软件实现多个UART(9)工作温度范围:-40+85(工业级)/075(商业级)通过比较STC89C51和STC89C52本质上没有太大的区别,成本也差不多,选择任意一款都能实现本设计相应功能,本设计中我选择STC89C52作为本设计的主控芯片。2.3.2 传感器的选择方案一:ADXL330 是美国模拟器件公司(ADI) 推出的一款带有信号调理电路, 可提供模拟电压输出的小量程、小尺寸、低功耗3 轴加速度计7。ADXL330 将iMEMS( 微机电系统) 传感器结构与信号调理结合在一起, 功耗电流降低至200 A( 在2.0 V 电源电压下) 。ADXL330 采用4 mm 4 mm 1.45 mm 小型封装, 工作电压2.0V3.6V,典型工作电压3.0V,集成了一个坚固的3 轴传感器结构及其信号调理电路,可提供模拟电压输出,测量动态范围是3g。输出的模拟电压信号与加速度成正比。它不仅可以测量静态加速度(如某个斜坡上的加速度), 还可以测量动态加速度(如物体在移动、震动时产生的加速度), 具有10000g 额定耐冲压强度,具有良好的0g 偏压稳定性和良好的灵敏度。方案二:ADXL345 8是ADI(Analog Devices, Inc.)公司发布的一款数字式三轴加速度传感器,也是该公司第一款输出数码信号的加速度传感器。ADXL345 最大量程可以达到16g,可以进行高分辨率(13 位)测量。数字输出数据为16 位二进制补码的形式,可通过SPI(3 线或4 线)或者I2C 数字接口访问。ADXL345 可以在倾斜感测应用中测量静态重力加速度,还可以从运动或者振动中生成动态加速度。它的高分辨率(4mg/LSB)能够分辨仅为0.25的倾角变化。动态和静态感测功能可以检测有无运动发生,以及在任何轴上的加速度是否超过用户设置的水平。一个集成的32 级FIFO可储存多达32 个X、Y 和Z 数据样本集,从而最小化对主处理器的影响。ADXL345 采用14 引脚塑料封装,具有3mm 5mm1mm 的小巧纤薄的外形尺寸,是符合RoHS 规定的无铅产品13。ADXL345 的主要性能指标如下:(1) 超低功耗,测量模式电流为40A,2.5V(典型值)供电等待模式下电流仅为0.1A;(2)量程可选择2g(10bit),4g (11bit),8g(12bit),16g(13bit),精度达到了4 mg/LSB;(3)供电范围2.0V-3.6V;(4)SPI 模式(3 线或4 线)或I2C 模式通信接口;(5)32 级FIFO 协调与处理器的通信;(6)带宽达到1.6KHz;(7)使用温度范围-40-85;(8)可以接受10000g 的冲击;(9)适用于手持设备、工业监控、医疗器械、个人导航设备等。综上所述,ADXL345功耗更低,输出为数字信号,测量范围大,分辨率高,故选用ADXL345作为本系统的传感器。2.3.3 通信方式的选择ADXL345传感器可通过SPI(3 线或4 线)或者I2C 数字接口访问。本设计在加速度传感器与单片机之间的数据传输是采用I2C通信方式,单片机与PC机之间使用MAX232进行与串口通信。92.3.4 显示器的选择方案一:LED灯显示LED按显示方式可分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无需理睬数码管显示。静态显示的数据稳定,占用CPU时间少10。静态显示中,每一个显示器都要占用单独具有锁存功能的I/O口,该接口用于笔画段字形代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示,是用接口电路把所有显示器的8个笔画字段(a-g和d-p)同名端连接在一起,而每一个显示器的公共极各自独立接受I/O线控制。CPU向字段输出端口输出字型码时,所有显示器接收相同的字型码,但究竟使哪一位则由I/O线决定。动态扫描用分时的方法轮流控制每个显示器的公共极,使每个显示器轮流点亮。在轮流点亮的过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二级管的余辉效应,给人的印象就是一组稳定的显示数据。方案二:LCD显示器LCD是液晶显示器的缩写,它是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或者黑底白字显示的目的。液晶显示器具有功耗低、抗干扰能力强等优点,因此被广泛应用在仪器仪表和控制系统中。综上所述,与LED相比,LCD具有很多优点,所以选择LED作为本系统的显示器。2.3.5 电源电路的选择方案一:采用USB接口,由PC机输出5V电压,为单片机供电;采用LM1117 3.3V稳压芯片将5V电压转换为3.3V,为ADXL345传感器供电。方案二:采用飞思卡尔7.2V充电电源,采用LM2940三端稳压芯片将7.2V转换为5V电压输出,为单片机供电;采用AMS1117 3.3V三端稳压芯片将5V电压转换为3.3V,为ADXL345传感器供电。考虑到设计的简便性和模块自带的LM1117稳压芯片,所以采用方案一来实现供电功能。2.4 本章小结通过控制芯片、传感器、显示部分的对比和分析,对本设计的主要器件进行论述,最终确定了各部分所用的元器件。本系统数据采集模块以AD公司的数字式加速度传感器ADXL345来实时监测列车运行时的加速度或冲动信号并将其转换为数字信号输出。数据分析处理模块以STC89C52单片机为微处理器,并通过适当的外接扩展电路采集并处理冲动数据以及实现结果数据的送显;通信模块以美信(MAXIM)公司专门RS-232标准串口设计的单电源电平转换芯片MAX232为电平转换芯片;显示模块以LCD1602液晶显示器实现数据结果的显示;电源模块PC机输出的5V供电。第3章 系统硬件设计3.1电源电路模块电源模块电路的作用主要是提供系统工作的电源 LM1117稳压电路的作用将5V电压转换为3.3V输出,电路由LM1117,22uF的CT3、CT4电解电容,100nF的C3、C4电容组成。电源模块电路图如下所示:图3-1 电源模块电路3.2 单片机主控电路模块3.2.1单片机介绍STC89C52是STC公司生产的一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程FLASH存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C21内部接口框图如下图所示:图3-2 STC89C52系列单片机的结构框图3.2.2 单片机主控电路STC89C52单片机有40个引脚,36个引脚具有I/O功能。40引脚接电源,提供单片机电源,20引脚接地,18、19引脚接晶振两端,这4个引脚组成最简单的单片机最小系统。总共有5个模块,加速度采集模块电路、单片机主控模块电路、液晶显示模块电路、电源模块电路、串口通信模块电路。P0口和P3.5、P3.6、P3.7引脚接1602液晶用于液晶显示模块;P3.0、P3.2接ADXL345传感器用于加速度采集模块;P3.0、P3.1用于与PC机进行串口通信用于串口通信模块。单片机采用5V供电,SW1、R3和CT5构成复位电路。时钟频率低于12MHz时,可以不用C1,R1接1K电阻到地;时钟频率高于12MHz时,建议使用第二复位功能脚。本系统使用12M晶振,所用使用了第一复位引脚,实际证明也是可行的。当SW1按键按下时,单片机复位一次。图3-3 单片机主控电路模块3.3 数据采集模块电路3.3.1 加速度传感器ADXL345介绍ADXL345是一款,分辨率高(13位),测量范围达 16g小而薄的超低功耗3轴加速度计。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。正在申请专利的嵌入式存储器管理系统采用FIFO技术,可用于存储数据,从而将主机处理器负荷降至最低,并降低整体系统功耗11。电源电压范围:2.0 V至3.6VI/O电压范围:1.7 V至VS。超低功耗:VS = 2.5 V时(典型值),测量模式下低至23A,待机模式下为0.1uA,功耗随带宽自动按比例变化.低功耗模式支持基于运动的智能电源管理,从而以极低的功耗进行阈值感测和运动加速度测量。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0的倾斜角度变化12。应用范围:手机、医疗仪器、游戏和定点设备、个人导航设备、硬盘驱动器(HDD)保护、应用、单电源数据采集系统、仪器仪表、过程控制、电池供电系统、医疗仪器。ADXL345内部接口框图如下图:图3-4 ADXL345内部接口框图3.3.2 加速度计模块电路加速度计电路由10K的上拉电阻13R3、R6,10K的R4,R5,R7和ADXL345加速度传感器组成,如下图所示。本系统采用I2C模式14访问,ADXL345处于I2C模式下,CS引脚拉高至VDD I/O,支持单个或多个字节的读取/写入。ALT ADDRESS引脚(引脚12)接地,可以选择备用I2C地址0x53(随后为R/W位)。这转化为0xA6写入,0xA7读取。图3-5 加速度计模块3.4 液晶显示模块电路3.4.1液晶显示图形和字符的原理14线段的显示:点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。本系统使用长沙太阳人电子有限公司的1602字符型液晶显示器15,该显示器专门用于显示字母、数字、符号等点阵式LCD。1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。3.4.2 LCD1602液晶显示电路液晶显示模块电路由1602液晶和RES滑线电阻组成16。根据功能分别接到单片机对应的引脚。第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址。当RS为低电平R/W为高电平时,可以读忙信号;当RS为高电平R/W为低电平时,可以写入数据。第6脚:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。电路如下图所示:图3-6液晶显示模块3.5 串行通信模块电路3.5.1串行通信原理17RS(Recommended Standard)是“推荐标准”的缩写,RS-232是PC 机与通信工业中应用最广泛的一种串行接口,RS-232标准协议适用于数据传输速率在020000bit/s范围内的通信,已成为数据终端设备DTE 与计算机和数据通信设备DCE 的接口标准。通常RS-232采用25引脚(DB-25)或9引脚(DB-9)的接口形态,现在应用较广的是DB-9接口,即采用9芯插头。典型的RS-232信号在正负电平之间摆动18,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。RS-232电平采用负逻辑,即逻辑1:-5-15 V,逻辑0:5+15 V。但是单片机使用的是TTL电平,高电平(2.45.0 V)为逻辑1,低电平(00.8 V)为逻辑0。这就需要在单片机的异步通信接口上接电平转换芯片把TTL高电平表示的1转换成RS-232的负电压信号,把低电平信号0转换成RS-232的正电压信号。MAX23219就是MAXIM公司生产的一款具有这样功能的低功耗电平转换芯片。3.5.2 串行通信电路串口通信模块电路包括MAX232与电脑通信和MAX232与单片机通信两部分。电路由MAX232芯片,9孔串口母口插座,1uF的电解电容CT1、CT2、CT3,和1uF的电容C3。电路中采用三线制连接串口,也就是说和PC机的9针串口只连接其中的3根线,即DB9第2 脚的RXD端、第3脚的TXD端、第5脚的GND端。MAX232 芯片与电脑通信连接如图,第14引脚作为RS232输出接DB9的第2个引脚;第13引脚作为RS232输入接DB9的第3个引脚;MAX232芯片与单片机通信连接如图第12引脚的RXD端和单片机的P3.0口连接,用来接收数据;第11引脚的TXD端和单片机的P3.1口连接,用来发送数据。其串口通信电路如下图所示:图3-7串口通信模块电路3.6 本章小结本章主要完成了电源模块电路,单片机主控电路,数据采集模块电路,显示模块电路等等。并且介绍了ADXL345加速度传感器的主要特点及LCD1602液晶显示器和串口通信的工作原理。第4章 系统软件设计4.1 主程序设计该系统的主控单元是STC89C52单片机,负责加速度数据的分析处理,并且一方面将处理后的数据数据显示在LCD1602上,另一方面通过串口将数据发送到PC机上。下图为主程序流程图,如图所示,系统主要工作流程为对硬件相应模块内部部件进行初始化,以达到环境运行要求,如初始化ADXL345、串口中断以及LCD1602,读取加速度数据,并将采集到的数据进行相应的处理传送到LCD1602 上进行显示。当加速度数据写入发送缓冲器SBUF的命令时,就启动了发送器开始发送,由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。然后将TI清0,再发送第二帧数据。当发送完数据之后返回中断点继续执行主函数。其MCU程序设计流程图如图所示:图4-1 MCU程序设计流程图4.2 ADXL345模块程序设计ADXL345内部有40个寄存器,嵌入式存储器管理系统采用FIFO技术,将主机处理器符合降至最低,所有加速度数据的读取和写入都是通过寄存器实现的。地址名称类型复位值描述十六进制十进制0x000DEVIDR11100101器件ID0x01to0x1C1to28保留保留,不要操作0x1D29THRESH_TAPR/W00000000敲击阈值0x1E30OFSXR/W00000000X轴偏移0x1F31OFSYR/W00000000Y轴偏移0x2032OFSZR/W00000000Z轴偏移0x2133DURR/W00000000敲击持续时间0x2234LatentR/W00000000敲击延迟0x2335WindowR/W00000000敲击窗口0x2436THRESH_ACTR/W00000000活动阈值0x2537THRESH_INACTR/W00000000静止阈值0x2638TIME_INACTR/W00000000静止时间0x2739ACT_INACT_CTLR/W00000000使能控制活动和静止检测0x2840THRESH_FFR/W00000000自由落体阈值0x2941TIME_FFR/W00000000自由落体时间0x2A42TAP_AXESR/W00000000单击/双击轴控制0x2B43ACT_TAP_STATUSR00000000单击/双击源0x2C44BW_RATER/W00001010数据速率及功率模式控制0x2D45POWER_CTLR/W00000000省电特性控制0x2E46INT_ENABLER/W00000000中断使能控制0x2F47INT_MAPR/W00000000中断映射控制0x3048INT_SOURCER00000000中断源0x3149DATA_FORMATR/W00000000数据格式控制0x3250DATAX0R00000000X轴数据00x3351DATAX1R00000000X轴数据10x3452DATAY0R00000000Y轴数据00x3553DATAY1R00000000Y轴数据10x3654DATAZ0R00000000Z轴数据00x3755DATAZ1R00000000Z轴数据10x3856FIFO_CTLR/W00000000FIFO控制0x3957FIFO_STATUSR00000000FIFO状态表4-1寄存器映射表4.2.1 ADXL345工作过程1、初始化ADXL3451)向0x31地址写入0x0B,0x31是数据格式控制寄存器的地址,设置测量范围为16g,全分辨率模式即13位。此时精度达3.9mg。3.9mg的计算:213=1024*8对应于16g范围,则分辨率为32g/(1024*8)=3.9mg,即灵敏度为256LSB/g。2)向地址0x2C写入0x0A, 0x2C是数据速率控制及功率模式控制寄存器地址,设置为正常非低功率操作,输出数据速率为100HZ。3)向地址0x2E写入0x80,0x2E为中断使能控制寄存器,使能DATA_READY 中断,开始测量。4)向地址0x1E写入0xFC,地址0x1F写入0xFC。0x1E是X轴偏移寄存器地址,写入0xFC对X轴数据进行偏移校准。0x1F是Y轴偏移寄存器地址,写入0xFC对Y轴数据进行偏移校准,这需要组装完成后根据实际情况而定。加速度计为机械结构,包含可以自由移动的元件。这些运动部件对机械应力非常灵敏,程度远远超过固态电子。这种应力可能来自但不限于元件焊接、安装时的电路板应力和元件上的任何混合物的应用,所以组装完系统后有必要对数据进行校准。ADXL345提供内置偏移寄存器,偏移寄存器的存储值自动添加到加速度数据,结果值存储在输出数据寄存器20。2、连续读取6个字节ADXL345内部加速度数据,地址范围0x320x37。如果执行单字节读取操作,当前FIFO样本的剩余数据字节会丢失。因此,所有目标轴应以突发(或多字节)读取操作进行读取。这6个字节(寄存器0x32至寄存器0x37)都为8位字节,保存各轴的输出数据。寄存器0x32和0x33保存x轴输出数据,寄存器0x34和0x35保存y轴输出数据,寄存器0x36和0x3 7保存z轴输出数据。输出数据为二进制补码,DATAx0为最低有效字节,DATAx1为最高有效字节,其中x代表X、Y或Z。DATA_ FORMAT寄存器(地址0x31)控制数据格式。3、处理加速度传感器数据将X轴的最高有效字节和最低有效字节合成数据,再强制转换为整型。由于输出数据为二进制形式而正数的补码是其本身,所以先判断得到的整型数据是否为负数,若是则取反变为正数,将负号写入数组。反之则不作处理,将正号写入数组。4.2.2 ADXL345工作时序单片机通过I2C数字接口访问ADXL345,ALT ADDRESS引脚接地时ADXL345写入的地址为0XA6,接读取的地址为0XA7。I2C时序图如下: t9 t3 t10 t11 t4 t4 t6 t2 t5 t7t1 t8图4-2 I2C时序图参数参数 最大值单位描述fscl400kHzSCL时钟频率t12.5usSCL周期时间t20.6usSCL高电平时间t31.3usSCL低电平时间t40.3us起始/重复起始条件保持时间t5100ns数据建立时间t600.9us数据保持时间t70.6us重复起始建立时间t80.6us停止条件建立时间t91.3us一个结束条件和起始条件之间的总线空闲时间t10300ns接收时SCL和SDA的上升时间0ns接收或传送时SCL和SDA的上升时间t11250ns接收时SDA的下降时间300ns传送时SCL和SDA的下降时间20+0.1Cb7ns传送或接收时SCL和SDA的下降时间Cb400pF各条总线的容性负载表4-2 参数参考值4.2.3 加速度采集流程图数据采集系统主要以STC12C5A60S2单片机为主,单片机模拟I2C模式数字接口访问ADXL345,单片机P3.0、P3.2引脚连接ADXL345的时钟引脚SCLK、数据引脚SDA。下图为加速度采集流程图:图4-3 加速度采集流程图4.3 LCD1602模块程序设计LCD1602液晶模块内部的控制器21共有80*8位(80字节)的RAM缓冲区,先根据读写时序设计读写函数程序,再调用函数进行相关的初始化设置。LCD1602液晶模块内部的控制器共有11条控制指令,如下表所示序号指令RSR/W765432101清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6功能设置命令 DL00001DLNF*7字符发生器RAM地址置0001字符发生存贮器地址8数据存贮器地址设置001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容 表4-3 LCD1602液晶内部控制指令 1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。指令 7:字符发生器RAM地址设置。指令 8:DDRAM地址设置。指令9: 读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。4.3.1 LCD1602初始化1写指令0x38,显示模式设置为16*2显示,8位数据接口。2写指令0x08,显示开/关及光标设置为关显示,不显示光标。3写指令0x01,显示清屏,数据指针和所有显示清零。4写指令0x06,显示开/关及光标设置为当读写一个字符后地址指针加一,且光标加一。5写指令0x0C, 显示开/关及光标设置为开显示,不显示光标。4.3.2 LCD1602读写时序1.读操作时序 RS tsp1 thd1 R/W tpw tf E tr thd2 td DB0-DB7 Valid Dat

温馨提示

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

评论

0/150

提交评论