汽车速度里程表的设计_第1页
汽车速度里程表的设计_第2页
汽车速度里程表的设计_第3页
汽车速度里程表的设计_第4页
汽车速度里程表的设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

汽车速度里程表的设计摘要:在车辆高速行驶的过程中,车速里程表是为驾驶员及时提供动态驾驶信息的重要仪表,它的好坏直接影响到车辆行驶安全。而传统的车速里程表存在两大缺陷:一是用软轴驱动的传统车速里程表在车辆高速行驶状态下,软轴高速旋转,由于软轴钢丝应力极限的限制,常常造成钢丝软轴的疲劳断裂,从而使车速里程表失效;二是由于软轴布线过长,出现形变过大和运动迟滞现象,导致动态指示迟钝或指示错误。为了更加及时可靠的为驾驶员提供动态驾驶信息,保证车辆行驶安全,客服传统软轴驱动车速里程表故障率高、动态指示迟钝等问题,运用先进的电子技术、传感器测量技术和计算机智能技术,改进传统的里程表是非常必要的。关键字:单片机,霍尔传感器,车速里程表Abstract:Intheprocessofhigh-speedvehicles,vehiclespeedodometerisimportantinstrumentdrivertoprovidedynamicdrivinginformation,whichdirectlyaffectstherunningsafetyofvehicles.Thespeedometertraditionhastwodefects:oneisthetraditionalspeedometerflexibleshaftdrivingthevehiclehighspeedrunningcondition,theshaftrotatingspeed,theflexibleshaftsteelwirestresslimit,oftenresultinginfatiguefractureofthewireflexibleshaft,sothatthespeedometerfailure;twoisaflexiblewiringistoolongduetodeformation,appeartoolargeandthemotionlag,leadtodynamicindicatingsloworindicationerror.Inordertobemorereliableandtimelytothedriver'sdrivingdynamicinformation,guaranteethedrivingsafety,theproblemofhighfailurerate,thespeedometerdynamicindicatingslowservicetraditionalflexibleshaftdriving,theuseofelectronictechnology,sensortechnologyandcomputerintelligencetechnologyadvanced,theimprovementofthetraditionalodometerisverynecessary.Keywords:Themicrocontroller,hallsensors,memory,Thespeedometer目录TOC\o"1-3"\h\u11106前言 1321111系统概述 2139042基本原理与设计方案 2285502.1霍尔传感器简介 314152.2AT89C2051芯片简介 4304732.3液晶显示模块SED1520芯片介绍 5242262.3.1SED1520芯片介绍 5121392.3.2SED1520的特性 6129282.3.3SED1520指令与显示RAM结构 6256972.4定时器/计数器的结构 728322.5定时计数器的原理 7227832.6频率测量 811313系统硬件设计 8289083.1信号预处理电路 850663.2施密特触发器 951223.3液晶显示电路和数据存储电路 10130794系统软件设计 11102554.1电机转速控制模块程序设计 12323044.2频率测量模块程序设计 1265574.3液晶显示程序的设计 15304854.4速度、里程显示程序的设计 15296664.5模块程序设计 1842375软件调试 20187605.1程序的查错手段 20233145.2源程序的检测 21310285.3源程序的调试 21199706设计总结 221259参考文献 23前言汽车是现代生活中不可或缺的一种重要交通工具,传统的指针式里程表伴随着汽车的诞生就一直为人们喜爱,不过,新生事物不会因传统的存在而停止它前进的步伐。数码科技在今天已渗透到工业,农业,民用等产品的点点滴滴。新概念的车速里程表最直观的变化就是用大屏幕的液晶取代指针式表盘,直接用数字显示速度和里程,以及其他一些诸如油耗、时钟、环境温度等参数,直观的呈现给使用者。同时,它还具有成本低廉,显示清晰,稳定可靠等优点。由于单片机体积小,可以把它做到产品的内部,取代老式机械零件,缩小产品体积,增强功能,实现智能化。因此被广泛地用在智能产品中。Intel公司的MCS-51系列单片机近年来得到了广泛流行。本文即介绍一种基于AT89C2051单片机的汽车速度与里程表的设计和实现。本设计以AT89C2051为核心,利用单片机的运算和控制功能,采用串口液晶显示模块实时显示所测汽车的速度和里程设计方案。由于使用了串口液晶显示模块和E2PROM,以及高效快速算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性。本文先对里程表设计中所需设备作详细介绍,再对设计中存在的问题进行了说明,对硬件部分和软件部分的设计和实现作认真的分析。

1系统概述本系统由信号采集处理模块、单片机AT89C2051、系统化LCD显示模块、系统软件组成。系统软件包括单片机和液晶模块的初始化模块、液晶模块的写数据/命令子模块、周期测量模块、速度里程计算模块、数据存储模块、速度和里程显示数据转BCD码模块、显示数据消多余零模块、数据显示模块以及实时中断服务模块等。其中,信号采集处理模块以霍尔传感器为核心器件,将不同的转速信号转换成相应的脉冲信号,并送到单片机的T1引脚;对单片机进行设置,使内部的定时器/计数器timer0工作在定时状态,timer1工作在计数状态,利用内部定时器T0对脉冲输入引脚T1进行控制,这样就能精确地检测到设定时间内加到T1引脚的脉冲数,一个脉冲即代表着车子前进一个轮长,对脉冲数进行处理就可得到里程和速度的数据;将数据送到LCD显示模块进行显示。速度显示部分采用串口液晶显示模块,所得的数据采用I2C总线并通过E2PROM来存储,因而节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。汽车速度与里程表系统原理框图如图1-1所示。脉冲信号脉冲信号单片机单片机LCDLCD图1-1汽车速度与里程表系统原理框图2基本原理与设计方案该设计能实时地将所测的速度显示出来,同时也能够累计显示总里程数。该速度里程表能将传感器输入到单片机的脉冲信号的宽度(传感器将车速转变成相应宽度的脉冲信号)实时地测量出来,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由串口液晶显示模块实时显示出所测速度。本设计用两个按键来控制显示速度或里程。考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后再输入到单片机进行测速。单片机利用定时器T0的控制功能测出输入信号的周期后,再利用单片机的算术运算功能将周期转换成速度,同时每秒钟进行一次里程累计,从而计算出总里程。最后将得出的速度、里程值存储在E2PROM中,并根据两个按键的选择情况来显示速度或里程。为了方便计算要显示数据值的段码,可再将其转换成压缩的BCD码,然后通过查表将要显示的数据值中每一位的压缩BCD码转换成8段码送到显示缓冲区,最后经串口送至液晶显示模块以显示所测的速度或里程。2.1霍尔传感器简介霍耳效应:1879年E.H.霍尔发现,如果对位于磁场(B)中的导体(d)施加一个电压(v),该磁场的方向垂直于所施加电压的方向,那么则在既与磁场垂直又和所施加电流方向垂直的方向上会产生另一个电压(UH),人们将这个电压叫做霍尔电压,产生这种现象被称为霍尔效应。霍尔效应从本质上讲是运动的带电粒子在磁场中受洛仑兹力作用而引起的偏转。当带电粒子(电子或空穴)被约束在固体材料中,这种偏转就导致在垂直电流和磁场的方向上产生正负电荷的积累,从而形成附加的横向电场。通有电流I的金属或半导体板置于磁感强度为B的均匀磁场中,磁场的方向和电流方向垂直,在金属板的第三对表面间就显示出横向电势差UH的现象称为霍耳效应。UH就称为霍耳电势差。实验测定,霍耳电势差的大小和电流I及磁感强度B成正比,而与板的厚度d成反比。霍尔转速传感器:

霍尔转速传感器的外形图和与磁场的作用关系如图2.1-1所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。霍尔传感器检测转速示意图如图2.1-2所示。在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲。通过单片机测量产生脉冲的频率就可以得出圆盘的转速。霍尔电流传感器本身已经存在滤波电路,输出无须再加装滤波,可直接供单片机的0~5V的AD采集或直接送到单片机的中断输入引脚,信号非常稳定,而且抗干扰能力很强。霍尔电流传感器反应速度一般在7微妙,所以不用考虑单片机循环判断的时间。若在圆盘上贴上多块磁钢,则圆盘每转一圈,输出的脉冲信号将相应增加,单位时间内测到的脉冲数将增多,测出的转速也将更加精细。图2.1-1霍尔转速传感器的外形图图2.1-2霍尔传感器检测转速示意图2.2AT89C2051芯片简介AT89C2051是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C2051提供了高性价比的解决方案。

AT89C2051是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C2051可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C2051具有如下功能特性:★兼容MCS—51指令系统;★32个双向I/O口;★两个16位可编程定时/计数器;★1个串行中断;★两个外部中断源;★4k可反复擦写(>1000次)FlashROM;★128x8bit内部RAM;★6个中断源;★低功耗空闲和掉电模式;★软件设置睡眠和唤醒功能。2.3液晶显示模块SED1520芯片介绍SED1520液晶显示驱动器是一种点阵图形式液晶显示驱动器,它可直接与8位微处理器相连,集行、列驱动器于一体,因此使用起来十分方便,作为内藏式控制器被广泛应用于点阵数较少的液晶显示模块。2.3.1SED1520芯片介绍本设计仿真实验系统采用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两种连接方式。一种为直接访问方式,一种为间接控制方式。本设计采用直接控制方式。直接控制方式就是将液晶显示模块的接口作为存储器或I/O设备直接挂在计算机总线上。计算机通过地址译码控制E1和E2的选通;读/写操作信号R/W由地址线A1控制;命令/数据寄存器选择信号AO由地址线A0控制。实际电路如图2.3.1-1所示。地址映射如表2.3.1-1所示(地址中的X由LCDCS决定,可参见地址译码部分说明)。表2.3.1-1地址映射0X000H0X001H0X002H0X003H0X004H0X005H0X006H0X007H写E1指令写E1数据读E1状态读E1数据写E2指令写E2数据读E2状态读E2数据图2.3.1-1液晶屏显示控制电路2.3.2SED1520的特性内置显示RAM区RAM容量为2560(32行80列)位。RAM中的1位数据控制液晶屏上一个点的亮灭状态:“1”表示亮,“0”表示暗。它具有16个行驱动口和16个列驱动口,并可级联两个SED1520实现32行驱动。还可直接与80系列微处理器相连,亦可直接与68系列微处理器相连。其驱动占空比为1/16或1/32。并可以与SED1520配合使用,以便扩展列驱动口数目。2.3.3SED1520指令与显示RAM结构SED1520指令系统比较简单,共13条,除读状态指令、读显示RAM数据指令外,其他指令均为写操作,并且读写指令均为单字节指令。在送出每条指令时,必须进行控制器状态检测,状态字节的含义如下:

D7:1/0,模块忙/准备就绪;

D5:1/0,模块显示关/开;

D4:1/0,模块复位/正常;

D3-D0:未用。

在指令使用中,关键要分清显示行、列设置和显示页面设置的关系。单片SED1520可驱动61×16液晶屏,其内部显示RAM相对于COM0每8行为一个显示页面。本设计所用的字符液晶模块由两块SED1520级联驱动,其中一个工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的是那一片SED1520。这样两片SED1520级联可驱动122×32图形点阵液晶显示屏,可完成图形显示,也可显示七个半(16×16点阵)汉字。2.4定时器/计数器的结构16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。定时器/计数器的结构原理图如图2.4-1所示。图2.4-1定时器/计数器的结构原理图2.5定时计数器的原理16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs。这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事件的最高计数频率为振荡频率的1/24。例如,如果选用12MHz晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。当CPU用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计满溢出,才可能中断CPU当前操作。CPU也可以重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。2.6频率测量本设计所采用的霍尔传感器是由一个磁钢和一个霍尔器件组成的。磁钢被贴在非磁性圆盘上,跟着圆盘一起旋转。此霍尔器件就固定在圆盘的附近,工作时,圆盘每转动一圈,霍尔器件就会产生一个脉冲。这里的一个脉冲就代表了一个圆盘的周长。在本设计中,霍尔传感器产生的脉冲将被送到单片机的内部定时计数器timer1的T1口。内部的定时计数器Timer0工作在定时状态,Timer1工作在计数状态。Timer0和Timer1均工作在模式1。本设计中,Timer0所产生的是0.5秒的定时。Timer1将对0.5秒内对加到T1脚的脉冲进行计数。假设0.5秒内timer1计数到N个脉冲,则圆盘的转动频率为N/0.5=2N。若是将磁钢贴于汽车的轮轴上,则汽车轮子每转一圈,霍尔器件产生一个脉冲。对脉冲频率进行处理,即可转化为车速。对脉冲数进行累加再乘以轮子的长度,即可得到里程数据。本设计中开辟了两个字节的数据区存储累加脉冲数据,最多能计数65536个脉冲,也即131072米(假设车轮周长2m)。3系统硬件设计3.1信号预处理电路它由二级电路构成,第一级是由开关三极管组成的零偏置放大器,采用开关三极管可以保证放大器具有良好的高频响应。当输入信号为零或负电压时,三极管截止,电路输出高电平;而当输入信号为正电压时,三极管导通,此时输出电压随着输入电压的上升而下降,这使得速度里程表既可以测量任意方波信号的频率,也可以测量正弦波信号的频率。由于放大器的放大功能降低了对待测信号的幅度要求,因此,系统能对任意大于0.5V的正弦波和脉冲信号进行测量。预处理电路的第二级采用带施密特触发器的反相器CT74LS14来把放大器生成的单相脉冲转换成与COMS电平相兼容的方波信号同时将输出信号加到单片机的P3.2口上。系统信号预处理电路如图3.1-1所示。图3.1-1系统信号预处理电路3.2施密特触发器利用施密特触发器状态转换过程中的正反馈,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于VT+,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。从传感器得到的矩形脉冲经传输后往往发生波形畸变。当传输线上的电容较大时,波形的上升沿将明显变坏;当传输线较长,而且接收端的阻抗与传输线的阻抗不匹配时,在波形的上升沿和下降沿将产生振荡现象;当其他脉冲信号通过导线间的分布电容或公共电源线叠加到矩形脉冲信号时,信号上将出现附加的噪声。无论出现上述的那一种情况,都可以通过用施密特反相触发器整形而得到比较理想的矩形脉冲波形。只要施密特触发器的VT+和VT-设置得合适,均能受到满意的整形效果。施密特触发器对脉冲整形图如图3.2-1所示。图3.2-1施密特触发器对脉冲整形图3.3液晶显示电路和数据存储电路本设计的显示部分采用液晶显示模块LCM0825,液晶显示模块与单片机接口电路图如图3.3-1所示。LCM0825是8位段码式液晶显示模块,它内部集成有LCD控制器、LCD驱动器和RAM,因而可方便显示数据的编程。液晶显示模块采用3-4线串行数据输入,可直接与单片机接口。由于串行接口方式节省了所需的口线和系统资源,因而使系统具有较高的资源利用率。该模块可在2.7V-5.2V电压下工作,其低功耗及背光可调特性使得设计更具有经济性和通用性。LCM0825能够显示8位数据,每一个数据均以8段码的形式放在其内部显示RAM区,并用模块内RAM的两个存储地址来放置一个数据的8段码。8位数据共占用内部16个地址。每一个数据位的8段码存放形式及高低地址存放段码的顺序都和表1所列的第8位数据的8段码存放格式一样,只是段码的存放地址不同。所以,编程时一定要考虑数据的存放地址和形式。在使用该液晶显示模块时,VCC与VLCD之间可用一个50KΩ的电位器来调整背光。图3.3-1液晶显示模块与单片机接口电路图4系统软件设计整个程序的设计以GX-ARM-S3C2410试验箱为平台,其中速度和里程的计算都采取了近似处理。本系统软件采用模块化设计方法。整个系统由初始化模块、电机转速控制模块、电机转向显示模块、频率测量模块、速度,里程显示模块、汉字显示模块以及其他功能模块组成。系统程序流程总框图如图3-1所示。程序设计中,以60H、61H、62H三个地址为数据缓冲区,60H(DATA1)用于存储每0.5s计数到的脉冲数,用于计算速度;61H(DATA2)、62H(DATA3)两个地址用于存储计数到的脉冲的累加数据,用于计算里程。开始初始化显示汉字开始初始化显示汉字延时清屏显示汉字电机控制方向显示计数脉冲速度里程显示速度里程显示3-1系统程序流程总框图4.1电机转速控制模块程序设计电机转速的控制模块由指拨开关、单片机、DAC0832数模变换芯片组成。指拨开关K0-K7接单片机的P10-P17(P1口),通过指拨开关可输入数据0-255,单片机将指拨开关输入的数据输出到DAC0832数模变换芯片,通过数模变换,转换成-8V-+8V的电压驱动直流电机。从而达到对电机转速的控制。输入数据等于128时,输出电压为0V;数据大于128时,输出电压大于0V;输入数据小于128时,输出电压小于0V。电机转速控制模块程序设计如下:movp1,#0ffh;设置P1口为输入口movdptr,#cs0832movA,p1movx@dptr,A4.2频率测量模块程序设计霍尔传感器产生的脉冲被送到单片机的内部定时/计数器timer1的T1口。内部定时/计数器Timer0工作在定时状态,Timer1工作在计数状态。Timer0和Timer1均工作在模式1。本设计中Timer0产生0.5秒的定时。Timer1将对0.5秒内对加到T1脚的脉冲进行计数。我们假设0.5秒内timer1计数到了第N个脉冲。这时,圆盘的转动频率就为为N/0.5=2N。频率测量模块程序设计如下:JISHU:MOVIE,#10001010B;打开中断开关MOVTMOD,#MODE;设定内部定时器/计数器的工作模式MOVSP,#70HMOV40H,#00HMOVTH1,#00H;将timer1的计数寄存器赋初值0MOVTL1,#00H;将timer1的计数寄存器赋初值0SETBTR1;启动timer1AA:CLRF1;标志位赋0MOVTH0,#03CH;定时器写入初值MOVTL0,#0B0HSETBTR0;打开定时器timer0JNBF1,$;等待50msINC40HMOVA,40HCJNEA,#09H,AA;定时中断重复10次CLRTR1;关闭计数器timer1MOVDATA1,TL1;取出timer1计数值给DATA1MOVA,DATA1ADDA,DATA2MOVDATA2,A;将计数值累加到DATA2JNCBB;检查计数是否溢出INCDATA3;有溢出则DATA3加1BB:RET;定时中断子程序TIMER:CLRTR0SETBF1RETI当Timer0工作在模式1时,TLO、THO计数寄存器各使用8位,从计算式28=256,可以得出在设置计数初值时,把计数起点的值除以256,再将其余数放入TLO计数寄存器,将商数放入THO计数寄存器。这个实验系统所采用的是12MHz的晶振,定时器所计数的脉冲的周期为1us。由此,我们将这样设计:每50ms产生一次定时中断,就需要计数50000个脉冲,则装入计数寄存器的计数初值就为65536–50000=15536,这时,装入THO计数寄存器的初值就为15536/256=60(03CH),装入TLO计数寄存器的初值为176(0B0H)。Timer0中断子程序流程图如图3.2-1所示。TimerTimer关闭定时器关闭定时器F1=1F1=1返回返回图3.2-1图3.2-1Timer0中断子程序流程图主程序流程图如图3.2-2所示。图3.2-2主程序流程图图3.2-2主程序流程图开始初始化设定计数器初值,并启动F1=0定时器赋初值,并启动F1=0??yesno40H加140H=9?NoYes停止计数,取出计数值将计数值累加到DATA2CY=0?YESNoDATA3加1返回主程序4.3液晶显示程序的设计本设计中速度和里程的数据由液晶显示模块显示,所用的液晶显示模块由SED1520芯片驱动,首先必须对液晶显示模块进行初始化,编写相应的字库,编写读写程序等。液晶显示程序的设计包括了初始化程序、清屏程序、写指令代码子程序、写显示数据子程序、读显示数据子程序、中文显示子程序、数字显示程序以及中文字库和数字字库的编写。4.4速度、里程显示程序的设计本设计中霍尔传感器产生的脉冲被送到单片机的内部定时计数器timer1的T1口。内部定时计数器Timer0工作在定时状态,Timer1工作在计数状态。Timer0和Timer1均工作在模式1。本设计中Timer0产生0.5秒的定时。Timer1将对0.5秒内对加到T1脚的脉冲进行计数。假设0.5秒内timer1计数到N个脉冲。则圆盘的转动频率为N/0.5=2N。若是将磁钢贴于汽车的轮轴上,则汽车轮子每转一圈,霍尔器件产生一个脉冲。对脉冲频率进行处理,即可转化为车速。对脉冲数进行累加再乘以轮子的长度,即可得到里程数据。本程序对汽车运行的实际情况进行模拟。设计程序时假设汽车轮子的周长约为2m,最后在显示屏显示的速度单位是km/h,里程单位是km。速度的计算如下:若0.5秒计数到N个脉冲,则轮子的转动频率为2N,车速为2N×2m/s,也即2N×2×3.6km/h。设计中作近似处理,处理为14Nkm/h。显示时先显示百位,再依次显示十位、个位。程序如下:;速度处理显示子程序SPEED:PUSHAMOVA,DATA1MOVB,#0EH;计数值乘以14MULABMOVB,#64H;除数赋值100DIVAB;得到百位显示数据代码MOVCODE_,A;百位显示字库代码MOVA,BLCALLBB1;调用速度写显示数据程序MOVB,#0AH;除数赋值10DIVAB;得到十位显示数据代码MOVCODE_,A;十位显示字库代码MOVCTEMP,#08H;显示后移8列MOVA,BLCALLBB1;调用速度写显示数据程序MOVCODE_,A;个位显示字库代码MOVCTEMP,#10HLCALLBB1MOVDATA1,#00H;数据缓冲区清零POPARETDATA2,DATA3存储计数到的脉冲总数,DATA2能存储255个脉冲,每次计数溢出,则DATA3加1,DATA3里的数据权重为256.这样两个字节的数据能计数最多65536个脉冲,也即131072米。130多公里。实际制作里程表时只要适当增加数据缓冲区的数量,即可对最大显示里程进行扩充。程序设计过程中,对里程数据的显示作了近似处理。程序如下:;里程处理显示子程序MILAGE:PUSHAMOVA,DATA3MOVB,#0C8H;除以200显示百位里程数据DIVABMOVCODE_,AMOVCTEMP,#00HMOVA,BLCALLBB2MOVB,#014H;显示十位里程数据DIVABMOVCODE_,AMOVCTEMP,#08HMOVA,BLCALLBB2MOVB,#02H;显示个位里程数据DIVABMOVCODE_,AMOVCTEMP,#10HMOVA,BLCALLBB2MOVCODE_,#0AHMOVCTEMP,#17H;显示小数点LCALLBB2CJNEA,#00H,M1MOVA,DATA2;DATA2除以50得到小数点MOVB,#032H后第一位DIVABMOVCODE_,AMOVCTEMP,#1EHMOVA,BLCALLBB2MOVB,#05H;余数再除以5得到小数点后第二位DIVABMOVCODE_,AMOVCTEMP,#26HLCALLBB2POPARETM1:MOVA,DATA2MOVB,#032HDIVABADDA,#05H;显示大于0.50公里时代码加5MOVCODE_,AMOVCTEMP,#1EHMOVA,BLCALLBB2MOVB,#05HDIVABMOVCODE_,AMOVCTEMP,#26HLCALLBB2POPARET;第二行速度数据显示调用子程序BB1:PUSHAMOVPAGE_,#00HMOVA,CTEMPADDA,#3CHMOVCOLUMN,ALCALLDIW_PRPOPARET;第一行里程数据显示调用子程序BB2:PUSHAMOVPAGE_,#02HMOVA,CTEMPADDA,#3CHMOVCOLUMN,ALCALLDIW_PRPOPARET4.5模块程序设计该程序对从指拨开关输入的数据作出反应,若输入的数据为128,则在LCD显示屏上显示“停止”的标志,若输入的数据大于128,则显示“正转”的标志,若输入的数据小于128,则显示“反转”的标志。模块程序如下:fxb:MOVCTEMP,#00HCJNEA,#80h,fxMOVPAGE_,#00H;停止MOVA,CTEMPADDA,#2AHMOVCOLUMN,AMOVCODE_,#09HLCALLCCW_PRMOVPAGE_,#00H;显示“0”MOVA,CTEMPADDA,#3CHMOVCOLUMN,AMOVCODE_,#00HLCALLDIW_PRMOVPAGE_,#00H;显示“0”MOVA,CTEMPADDA,#44HMOVCOLUMN,AMOVCODE_,#00HLCALLDIW_PRMOVPAGE_,#00H;显示“0”MOVA,CTEMPADDA,#4CHMOVCOLUMN,AMOVCODE_,#00HLCALLDIW_PRRETfx:ANLa,#80hCJNEa,#80h,fx1MOVPAGE_,#00H;正转MOVA,CTEMPADDA,#2aHMOVCOLUMN,AMOVCODE_,#07HLCALLCCW_PRRETfx1:MOVPAGE_,#00H;反转MOVA,CTEMPADDA,#2aHMOVCOLUMN,AMOVCODE_,#08HLCALLCCW_PRRET5软件调试程序的调试过程是一个比较复杂的过程,有些需要高度的技巧和一定的方法。一般的编程软件都提供单步、单步越过、断点、运行到光标处等基本方法,一般掌握这几种基本方法就可以解决绝大部分问题。经过长时间的调试实践之后自然就可以掌握一定的调试技巧,即熟能生巧。5.1程序的查错手段单片机的应用系统均需借助对应的开发系统(或装置)进行在线仿真,对应用系统的软、硬件进行全面地检测与调试。各种开发系统或装置均提供以下查错手段。首先有单步执行。采用单步执行操作可对应用程序每步执行一条指令,可逐条检查这一段程序的执行过程是否符合原设计要求。可直接查出错误所在。宏单步可执行一段程序,如一步就可执行完整个循环程序段。再次,有断点设置全速运行可在程序有疑虑的地方设置断点,从设置的起始地址开始,以全速或非全速方式向设定的断点处运行。如果这段程序无语法或逻辑上的错误,则连续运行到设置的断点处停止运行,返回监控状态。如果有错误,则在错误处停止运行,如果进入死循环或者程序跑飞,就永远不会停止运行。全速断点运行为检查实时性及中断响应处理等提供了方便。另外,还有显示器窗口检查和实时跟踪记录等。除上述之外,还有以下功能:★符号化调试★程序的运行。★自动生成目标代码和固化5.2源程序的检测在源程序进行调试之前,硬件系统必须基本正确,重点对源程序进行检测。首先是对照程序流程图,先对相对独立的功能模块,子程序,中断服务程序等进行仔细地检查,然后对整个主程序按其功能划分成若干程序段进行分段检查,逐步扩大到整个程序系统。检查时重点检查程序的逻辑功能、结构和算法,有关参量和初始值是否完善,正确,关键性指令的选择是否合理,特别是借助开发系统也较难调试正确的隐患,只有通过细心的检查加以排除。再次是硬件系统检查,硬件系统必须排除电源短路和碰线故障,然后空板(没有插上芯片等器件)进行上电检查各电源点是否正确,有关逻辑电平及信号是否正确。确认无误之后逐次插上芯片等器件,借助开发系统可检查出是否有硬件故障。一旦有故障时,开发系统的监控程序将出现不能正常工作的现象。故可采用此法排除硬件系统的一般性故障。有些故障只有通过软件调试才能排除,有时还需通过软件调试修改硬件设计。5.3源程序的调试源程序的调试一般可分为分调,联调和考机3步进行。首先,分调;将基本独立的子程序调试正确,符合原设计要求,用模拟的方法将中断服务程序初调,然后将主程序按相对独立的功能程序段,遵照应用系统运行的逻辑顺序逐段进行调试。设置并输入一组符合要求的参量,启动程序段运行,观察运行情况或故障的影响及现象。对出现的问题进行仔细地分析,合理推测,借助开发系统的调试手段,逐步缩小疑点范围,直至找出问题所在进行修改。分析故障原因。再次是联调;在分调基本完成的基础上进行联调,它将与整个系统的硬件,软件,环境密切相关,必须联合在线调试。调试的重点在于主程序与各功能模块程序段之间的连接处,按照整个软件系统的执行顺序,逐个相连进行调试。最后一个环节是考机。6设计总结本设计的车速里程表是以AT89C2051为核心的智能化仪器,主要工作包括硬件和软件的设计。总结可得一下结论。该仪表的原理简单,系统设计和PCB设计中充分考虑了电磁的兼容性问题。该仪表的显示采用液晶显示器,人的视觉不容易引起疲劳。采用集成芯片,使仪表的结构简单,降低了成本,并增加了系统的可靠性。在设计与调试过程中,我自己查找了相关资料,拟订了设计思路和方案,在硬件与软件联调时出现的不少问题,经过研究讨论,不断排除各方面的困难,最后解决了这些问题。最后完成了该设计。经过这次课程设计,我接触到了更多平时没有接触到的仪器设备、元器件以及相关的使用调试经验,学会了怎样查阅资料和利用工具书。这次课程设计对以前学过的理论知识起到了回顾复习作用,并对其加以进一步消化和巩固。在此,我要向梁老师致以我真诚的感谢。并感谢我所有的老师对我的教育培养。最后,向诸位老师深深地鞠上一躬,聊表谢意。

参考文献[1]程周:可编程序控制器原理与应用,高等教育出版社,2006.4[2]李科杰:新编传感器技术手册,国防科技出版社,2002.2[3]赵健领,51系列单片机开发宝典,电子工业出版社,2003.3[4]何立民:MCS-51单片机应用系统设计,北京航空航天大学出版社,2002.2[5]赵建领:Protel99SE设计宝典,电子工业出版社,2009.7[6]邱光源:电路原理,高等教育出版社,1996.6[7]张富:C及C++程序设计,人民邮电出版社,2005.7[8]屈召贵、刘强:电子系统设计与制作实验指导书,四川师范大学成都学院实验中心,2007.8[9]段纯爽、刘强、汪光宅:单片机原理与接口技术实验指导书,四川师范大学成都学院实验中心,2008.附录资料:不需要的可以自行删除预应力锚索桩板墙施工工法一、前言在山岭陡峭、地形复杂、山高谷深的地区,高等级公路通过的地段造成大量的高填深挖,高桥及隧道处处可见。在山谷深、地面横坡陡峭的地段,路基难于填筑,旱桥跨越在经济和技术上造成较大的浪费,同时也给路基稳定及桥梁的桥桩、墩柱带来隐患。采用新型高挡墙跨越不仅开挖面小,也可消耗废方,起到安全、经济和环保的作用。个旧至冷墩二级公路预应力锚索桩板墙工程是采用40米高预应力锚索桩板墙进行边坡治理的项目,稳定了高填方路基,减少了陡坡旱桥,预应力锚索结构由于其合理的受力机理以及在软弱岩体中能更有效的发挥土体承载力而提供了较大锚固力,通过施工经总结形成本工法。二、工法特点1.采用MG-50A型潜孔冲击钻跟套管无水干钻,能有效的预防塌孔,保证水泥浆与孔壁岩体的粘结强度。2.锚索材料选用低松弛环氧喷涂无粘结钢绞线(ASTMT416-88a标准270级,强度Rby=1860Kpa,松弛率为3.5%,Φj=15.24mm),配套OVM15型锚具,钢绞线强度高,性能好,可以在张拉结束后有效的进行放张或补偿张拉且弥补了钢绞线在特殊环境下中长久防腐的问题。3.该体系能主动提供抗滑力,有效的控制岩体的位移,在锚索的锚固范围内产生亚应力带,从而从根本上改善岩体的力学性能。4.根据现场实际地质情况,大吨位锚索主要锚于碎石土、亚粘土中,鉴于土体破碎,抗剪强度低,在锚索结构上,通过对拉力型锚索与分散压缩型锚索工作性能的比较,采用分散压缩型锚索结构有突出优点。拉力型锚索与分散压缩型锚索工作性能的比较见表1。表1拉力型锚索与分散压缩型锚索工作性能的比较项目拉力型锚索分散压缩型锚索岩体—水泥浆体间的粘结摩阻应力分布状况沿锚固体长度分布极不均匀,应力集中严重,易发生渐进性破坏沿锚固长度分布较均匀岩体—水泥浆体间的粘结摩阻应力值总拉力大,粘结摩阻应力值大总拉力可分散成几个较小的压力,粘结摩阻应力值显著减小粘结摩阻强度灌浆体受拉不会引起水泥浆体横向扩张而增大粘结摩阻强度灌浆体受压产生横向扩张而使粘结摩阻强度增大锚索承载力锚固长度超过一定值后,承载力增长极其微弱锚索承载力随锚固段长度增加而增加耐久性灌浆体受拉,易开裂,防腐性差灌浆体受压,不易开裂,预应力筋外有油脂、PVC涂层及水泥浆体多层防腐,耐久性好三、适用范围本工法适用于公路、铁路、水利、城市建设等相关领域的浅、中、深层土石混合滑坡、土滑坡、岩石滑坡的防治工程。四、工艺原理穿过边坡滑动面的预应力锚索,外端固定于抗滑桩上,另一端锚固在稳定整体岩体土石混合体中。锚索的预应力使不稳定岩体处于较高围压的三向应力状态,岩体强度和变形比在单轴压力及低围压条件下好的多,结构面处于压紧状态,使结构面对岩体变形消极影响减弱,显著提高了岩体的整体性,锚索的锚固力直接改变了滑动面上的应力状态和滑动稳定条件。五、施工工艺(一)施工工艺流程(见图1)锚索预应力施作、桩位监测锚索预应力施作、桩位监测回填土压密、桩位监测坡面整修桩位定位放样工作平台搭设挖孔、浇桩、放板回填土压密至一定高度、桩位监测桩上锚孔造孔、制索桩上锚孔钻孔、制索锚索安装、注浆锚索安装、注浆锚索预紧锚索预应力施作、桩位监测回填土到位、桩上锚索张拉锁定封锚图1预应力锚索桩板墙施工工艺流程(二)施工要点1.桩板墙施工(1)桩基施工时,应准确核对平面位置,结合地形做好桩区地面截、排水及防渗工作。(2)桩基采用挖孔桩施工,施工方法主要有:碎石土开挖用洋镐和钢钎;软、风化岩石用风镐,;灰岩、板岩人工用钢钎硬凿;有地下水用7.5KW,20—40米扬程的浅水泵抽水人工凿后,整体板岩和弧石用静态爆破进行凿除。提升采用人工辘轳和电动葫芦。挖孔及支撑护壁连续作业,护壁1米为一节,采用孔内现浇,一天后拆模,严格按隔桩开挖的方法进行。(3)挖孔到位后,清理孔底,重新进行桩位放样,复查准确后开始绑轧钢筋。在绑扎过程中若发现钢筋笼位置偏差,应及时将其调整准确。(4)钢筋的焊接和绑扎应严格按照技术规范要求进行。绑扎成型经检验合格后,转入下道工序——模板安装。(5)由于桩板墙结构的特殊性,采用标准化的组合钢模。模板支架与脚手架分离,避免引起模板变形。在混凝土浇筑之前,用同一种脱模剂涂刷模板,且不得污染钢筋。安装完毕后,对其平面位置、顶部标高、节点联系及纵横向稳定性进行检查。浇筑时发现模板有超过允许变形值的可能时,及时纠正。(6)桩板墙桩长均大于10米,为防止离析,利用串桶倾卸,且在中途设置一至两道减速装置。由于钢筋密度大,用4台插入式振动器同时进行捣固,浇筑层厚度15cm左右。浇筑混凝土,必须一次性全桩浇成,否则视为断桩。当浇筑至预留锚孔处时,仔细振捣,以保证锚孔处的强度。在混凝土浇筑期间,设专人检查支架、模板、钢筋和预埋件等稳固情况,发现松动、变形、移位时及时处理。专人填写混凝土浇筑记录。(7)挡土板为钢筋混凝土矩形板,预制时两侧留有吊装孔,同时作为泄水孔。挡土板采用直接搭接桩身的形式,桩、板连接的缝隙不用处理,若缝隙过大可采用沥青麻絮填塞。挡土板采用平面堆放,受力面朝上(受力面按设计图纸标识),其堆积高度不宜超过5块,板块间用木块等支垫,并置于设计支点位置,运输过程要轻搬轻放。安装时,应竖向起吊,用手牵引,防止与桩相撞,将挡土板正确就位,同时应做好防排水设施及填筑墙被填料,挡土板顶面不齐时,可用砂浆或现浇混凝土调整。2.桩后回填桩板墙段路基填土严格按照公路工程技术规范和设计标准施工,在填料选材和路基填筑工程中加强了试验工作,从长远考虑,在填土与桩板之间填一层50cm厚的碎石深水层,从而使渗入填土路基中的雨水从挡板泄水孔排出,以保证锚索长久不受雨水的侵蚀,从而保证路基的工程质量。3.预应力锚索施工(1)施工准备将预应力的造孔设备、注浆设备、张拉设备调至工作面附近,待工作面完成后,马上吊运至工作面,所有施工材料均应由出厂证明、合格证,钢绞线应检测合格,做好施工场地的排水工作,材料、机械的防雨、防水工作,水、电等在前期施工中已接到位,稍做处理即可满足施工要求。(2)回填土、压密至一定高度。填土高度按锚索张拉控制程序施工。随时进行桩位监测。(3)钻孔钻孔是预应力锚索施工中控制工期的关键工序,为提高钻孔效率和保证钻孔质量,采用MG-50A潜孔冲击钻机。该钻机所配钻杆是统一规格,按锚索设计长度将钻机所需钻杆摆放整齐,钻杆用完孔深也恰好到位,由于钻杆长度均有±5mm的误差,要求实际钻孔深度超出设计孔深0.5m左右。为防止恶化边坡岩体的工程地质条件和降低孔壁的粘结性,严禁开水钻进。钻进过程中应对每个孔的地层变化,钻进状态(钻进、钻压)地下水及一些特殊情况做好现场记录,如遇地层松散、破碎时应用跟套管钻进技术,以使钻孔完整不坍。如遇坍孔或地下水丰富时,应立即停钻,进行固壁灌浆处理(灌浆压力0.2~0.4Mpa),待水泥浆凝固后,再重新扫孔钻进。钻孔到位后,用高压风(风压大于0.4Mpa)将孔内的岩粉清干净,然后,用预先做好的探孔装置,进行深孔,若探孔时轻松将探孔器送入孔底,钻孔深度符合设计要求,经验收同意后即可转入下道工序——锚索安装。(4)锚索制作锚索制作工艺流程编束通知单下料、清洗安装承载体、挤压P锚编束安装支撑环安装注浆管验收库存穿束在预先平整好的下料场地上(场地要求宽4m、长40m左右)按下料长度进行下料,每根绞线长度误差控制在10cm左右。下料长度计算L下=∑Li+Lf+Lw式中L下——下料长度Li——各分段锚固长度Lf——锚索自由段长度Lw——锚索工作段长度下料要求用砂轮切割机切割好以后,钢绞线一端剥除PE15cm,对剥除部分绞线除污洗净,下好料以后,按要求设置承压板、支撑环,支撑环每1m放1个,用GYJ60A型挤压机对剥除部分挤压上P锚。索体要求绑扎牢固,绞线应平行顺直。对不同位置处的承载体相应的绞线外露端做出临时和永久性标记。灌浆管绑扎在锚索体上,灌浆管头部距孔底5~10cm,灌浆管使用前,要检查有无破裂、堵赛。绑扎好的锚索顶部要安装导向帽,以方便穿索。锚索制好后应将承压板、P锚外部涂上防腐油漆。检查合格后的锚索标识好以后分区存放,同时做好防雨、防晒工作。(5)锚索安装向锚索孔安索前,要核对锚索编号是否与孔号一致,确认无误后,即可将锚索用人工抬至工作面,用人工将锚索平顺穿入锚孔,当外露部分满足工作长度时即到位,停止穿索。锚索往孔内穿时,索体必须平顺,不得扭绞,同时应避免损伤PE管及支撑环脱落。锚索安装工作结束后即可进行灌浆工作。(6)注浆注浆采用3SNS系列注浆泵,搅拌采用灰浆搅拌机进行。浆液要搅拌均匀,随绞随用,并在初凝前用完。严防石块等杂物混入浆液。注浆材料为纯水泥浆,水泥选用普通硅酸盐525#,水灰比为0.38,外加10%UEA-Z型复合膨胀剂和0.6%的高效早强减水剂。浆体强度不小于40MPa,注浆压力大于0.3MPa。边注浆边缓慢抽拔注浆管,保证注浆管口处于浆液面一下。并保证浆体密实、饱和,达到设计浆体强度。待孔口溢出清晰的浆体即可停止注浆。注浆过程中要做好相关记录,并做好试验块。(7)锚索的张拉待锚孔注浆体强度达到设计要求后,(按上述配合比施工一般七天就可达到40MPa以上)根据回填土的高程(一般高于相应锚孔4米)和监理工程师书面通知即可进行张拉。张拉前须对张拉机具进行配套标定,计算出千斤顶受力与油压的线性方程,用于张拉油压与张拉力的控制。安装锚板前,要用棉纱擦净锚板内的泥沙油污。钢绞线穿入锚板的顺序,力求与钢绞线束绑扎的顺序一致,防止交叉缠绕。张拉前,钢绞线外包的PE护管用锯条割掉(注意不要伤着钢绞线),不得用火烧钢绞线,剥除PE后要清除防腐油脂。锚索张拉应根据填土情况、锚孔数分次分级进行。张拉方式用小千斤顶对每个承载体按由内向外的顺序对称进行张拉,第一级观测时间需稳定10分钟外,其余每一级需稳定2—5分钟,分别记录每一级钢绞线的预应力施作情况。张拉过程中必须进行桩位监测和锚索应力的测试工作。张拉结束后,将锚板外的钢绞线处理好,不能松散,以备再进行张拉。为防止外锚头的长期暴露,每次结束后应作相应的防护。每级张拉的稳定时间必须保证,张拉时以张拉油压为主,伸长值进行校核。当出现异常情况时,必须停止作业进行检查,查明原因后方可继续进行作业。预应力施作时,对每一次控制应力Nji应进行如下施作方式:①对每一孔锚索的每一次Nji的施作均应按承载体由内向外的顺序进行。且每一次的施作Nji针对每一个承载体上的钢绞线又须按两步来完成:(设控制应力为Nji)测量、记录持续2min第一步:00.1Nji0.25Nji0.5Nji(测量记录后不顶压锁定)每根锚索的每一个承载体上的钢绞线采用小千斤顶按第一步的步骤对称张拉结束后进行第二步的操作。测量、记录持续2min测量、记录第二步:00.5N

温馨提示

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

评论

0/150

提交评论