首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   智能速度里程表设计      ★★★ 【字体: 】  
智能速度里程表设计
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:36:37   点击数:[]    

时器T0开始定时;而在其出现低电平时,定时器T0停止工作,并将测量信号的周期保存在定时器的16位寄存器中。系统初始化时,可通过设置使T0 和T1定时器工作在模式1方式。T1定时器主要用于形成1秒钟定时信号,用以为测量里程提供时间条件。

    2.3 液晶显示电路和数据存储电路

本设计的显示部分采用液晶显示模块LCM0825该模块与单片机的接口电路如图3所示。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Ω的电位器来调整背光。

表1 第8位数据段码与LCM0825内部RAM的对应关系

D3D2D1D0ADDR
8A8B8CDP800000
8F8G8E8D00001

数据存储电路采用I2C总线的E2PROM存储器24C64。24C64是串行的E2PROM存储器,其存储容量为8kBSCL为时钟线,SDA为数据线。里程数据保存在24C64,因此中可保证掉电时数据不丢失。此外,使用串口也节省了数据口线。

3 系统软件设计

3.1 数据处理过程

待测信号经预处理电路后加至单片机的P3.2(INT0)引脚可为单片机测量信号周期提供有效的输入信号。单片机通过检测P3.2引脚电平来决定是否启动测量周期程序。当该引脚为高电平时系统处于等待状态,要一直到该引脚出现低电平时才开始测周期。测量时首先将零赋给THO、TL0两个寄存器,以将定时器T0的运行控制位TR0置位,同时也将ET0置位以允许定时器T0中断。然后再判断P3.2引脚是否还为低电平,如为低电平则等待,直到出现高电平再开始判断P3.2引脚是否为低电平,当其不是低电平时再等待。一旦出现低电平,则立即复位TR0以终止定时器,以结束测周期程序。测周期过程中可能会发生定时器T0的中断,每发生一次中断则将R0寄存器加一,因此R0实际上是周期值的高字节。测出的周期值存储在R0、TH0、TL0三个寄存器中,然后将其转换成速度。速度是用车轮的周长除以脉冲周期得到的。由于所测周期的单位是μs,因此在相除转换时应将被除数扩大106倍,以保证得出正确的速度。每秒进行一次里程数累加时,可用当前的速度值加上一秒前的里程数得出当前的总里程数,得出的速度和总里程值放到E2PROM中。通过k1、k2键可显示速度或里程值,k1键为速度键,k2键为里程键,两个键可以随时设置。要显示的速度或里程放到R1、R2、R3三个寄存器后即可调用转换BCD代码模块,以将数据值转换成压缩的BCD代码并显示处理。考虑到对响应时间的要求,BCD代码模块采用快速算法。数据转变成相应的压缩BCD代码后,可调用显示消多余零和显示数据存储模块,并将要显示的数据值通过查表转换成相应数据的8段码放到显示缓冲区以备显示。当然,编程时要把十进制数据的相应8段码放在表格中,这样才能进行查表以得到相应数值的段码。此过程的另一个重要目的是消除最高有效位前面的多余零,以使多余零的段码处于不显示状态,从而保证数据以正常的格式显示出来。最后,将显示缓冲区的8位8段码经串口送至液晶显示模块进行显示。

    3.2 系统软件框图

本系统软件采用模块化设计方法。整个系统由初始化模块、周期测量模块、速度转换模块、里程计算和存储模块、数据转BCD码模块、显示数据处理模块、数据显示模块、定时器中断服务模块以及其它功能模块组成,图4给出了其软件框图。上电后,首先进入系统初始化模块,此后系统软件将开始运行,以实时地将所测数值显示在液晶模块上。

3.3 液晶显示模块的初始化

LCM0825是串行8位8段液晶显示模块。使用时,要在上电后对该模块进行初始化。在初始化之前,应延时200ms以上再送命令。它的初始化工作过程如下:首先定义液晶模块(当其命令代码为:00101001),其次定义振荡器方式(当其命令代码为00011000时,将模块定义为内部RC振荡方式,命令代码为00010100时,定义为外部晶体振荡方式)。然后分别用命令代码00000001和00000011开振荡器和开显示器。以上命令送入后,便可以在需要显示数据时将相应的段码直接送入模块内部的显示RAM中。在送显示数据的段码数据时,要考虑到显示RAM 的高和低地址所对应的数据段码的存放形式。其第8位数据的段码与LCM0825内部的RAM地址的对应关系见表1。以后随地址的增加依次存放第7位至第1位数据段码。为了正确地显示数据,应使要显示的8位字符在显示屏幕中为左起第一位,右止第8位。

图5

   

上一页  [1] [2] [3]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:单片机软硬件联合仿真解决方案

  • 下一篇文章:用PIC单片机实现的IC卡读写器
  • 返回上一页】【打 印】【关闭窗口
    中查找“智能速度里程表设计”更多相关内容 5VAR论文频道
    中查找“智能速度里程表设计”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››智能速度里程表设计
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .