仪表基础知识流量仪表资料 物位仪表资料 数显仪表资料 压力仪表资料 温度仪表资料 校验仪表资料 仪表阀门资料 电线电缆资料 控制系统资料
返回首页
当前位置: > 仪表技术 > 流量仪表资料 >

基于AT89C2051单片机的智能涡轮流量计的设计

时间:2014-04-30 13:38来源:未知 作者:流量计 点击:
基于 AT89C2051 单片机的智能智能涡轮流量计的设计 谢 川 , 张纯伟 , 刘志峰 ( 北京工业大学机械工程与应用电子技术学院 , 北京 100022) 摘要 : 给出了以 AT89C2051 为核心 , 利用单片机的运算和控制功能 , 并采用串口液晶显示模块实时显示所测流速和流量的

基于AT89C2051单片机的智能智能涡轮流量计的设计

 ,张纯伟,刘志峰

(北京工业大学机械工程与应用电子技术学院,北京 100022)

摘要: 给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用串口液晶显示模块实时显示所测流速和流量的智能涡轮流量计设计方案。同时,该方案还提供了可以更改智能涡轮流量计参数的功能,根据不同的油料采取不同的参数适应相应的变化,使油速和油量的测量的精确性得到了很大的提高。该方案由于使用了串口液晶显示模块和E2PROM,因而可在节约系统资源的基础上保证测量精度和系统实时性。

关键词: 智能涡轮流量计;单片机;串行液晶显示 中图分类号:TP216   文献标识码:B   文章编号:1002-1841(2007)10-0007-03

系统概述

1.1   系统组成

智能涡轮流量计由涡轮传感器、信号处理电路、AT89C2051单片机、串口液晶显示电路、串口数据存储电路和系统软件组成。系统框架图如图1所示。信号处理电路通过放大器用于对待测信号进行放大;通过单片机的设置能够对内部定时器 T0的工作进行控制,这样能精确地测出加到T1引脚的单位时 间内的脉冲个数;流速和流量显示部分采用串口液晶显示模块,所得的数据采用I2C总线,并通过E2PROM来存储,节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。

 

智能涡轮流量计
 

 

系统软件包括单片机和液晶模块的初始化模块、液晶模块的写数据/命令子模块、信号测量模块、流速和流量计算模块、数据存储模块、显示数据消多余零模块、数据显示模块以及定时中断服务模块等。

1.2 系统工作原理

该设计能实时地将所测的流量速度显示出来,同时也能够累计显示累计流量和分段流量。智能涡轮流量计能将传感器输入到单片机的脉冲信号的个数(传感器将涡轮叶片转过的个数转变成相应的脉冲信号的个数)实时地测量出来,然后通过单片机计算出流速和流量,再将所得的数据存储到串口数据存储器,并由串口液晶显示模块实时显示出所测流速或流量。本设计用一个按键来控制显示即时流速或累计流量或分段流量。考虑到信号的衰减、强弱等影响,在信号送入单片机前应对其进行放大,然后再输入到单片机进行计算。

单片机利用定时器T1的计数功能测出输入信号的个数后,再利用单片机的算术运算功能将个数转换成速度,同时每秒钟进行一次流量累计,从而计算出累计流量。最后将得出的流速、分段流量值和累计流量值存储在E2PROM,并根据按键的按下情况来显示流速或流量。为了方便计算要显示数据值的段码,可以通过查表的方式将要显示的数据值中每一位的BCD码转换成8段码送到显示缓冲区,最后经串口送至液晶显示模块以显示所测的流速或流量。本设计的流速和流量值采用8位显示,流量用1个小数位,流速用2个小数位。

2系统硬件设计

2.1 单片机的选择

 流速和流量测量电路选用AT89C2051作为信号处理核心。 AT89C2051包含2K字节的可重擦写闪存、128字节的内部RAM15个可编程的I/O口线、两个16位定时/计数器、一个5向量两级中断结构和一个全双工的串行通信口,同时支持2 种软件可选的节电工作模式。设计中用到了AT89C2051T0 T1定时器,以及P1端口的8个口线。由于该单片机与89C51 相兼容,因此在硬件电路设计和软件编程方面更加方便。由 AT89C2051本身固有的特点,设计时需注意以下几点:首先,它的程序存储器空间为2KB,因此所有的跳转和分支转移指令都要限制在这个范围内。其次,它没有MOVX指令,不支持外部存储器操作,这一点设计时一定要考虑到。此外, AT89C2051自身还有一些其它特点,譬如可以使用命令使其工 作在低功耗模式等。

2.2 液晶显示电路和数据存储电路 设计的显示部分采用液晶显示模块LCM0825该模块与单片机的接口电路如图2所示。

 

智能智能涡轮流量计
 

LCM08258位段码式液晶显示模块,它内部集成有LCD 控制器、LCD驱动器和RAM,因而可方便显示数据的编程。液晶显示模块采用34线串行数据输入,可直接与单片机接口。由于串行接口方式节省了所需的口线和系统资源,因而使系统具有较高的资源利用率。模块可在217512V电压下工作,其低功耗及背光可调特性使得设计更具有经济性和通用性。LCM0825能够显示8位数据,每一个数据均以8段码的形式放在其内部显示RAM,并用模块内RAM的两个存储地址来放置一个数据的8段码。8位数据共占用内部16个地址。每一个数据位的8段码存放形式及高低地址存放段码的顺序都和表1所列的第8位数据的8段码存放格式一样,只是段码的存放地址不同。所以,编程时一定要考虑数据的存放地址和形式。在使用该液晶显示模块时,VCCVLCD之间可用一个50k Ω的电位器来调整背光。

 

智能智能涡轮流量计
 

数据存储电路采用I2C总线的E2PROM存储器 CAT24WC04CAT24WC04是串行的E2PROM存储器,其存储容 量为4KB,SCL为时钟线,SDA为数据线。流量数据保存在 CAT24WC04,因此可保证掉电时数据不丢失。

3系统软件设计

3.1 数据处理过程

待测信号经信号处理电路后加至单片机的P315(T1)引脚可为单片机测量信号数量提供有效的输入信号。单片机通过T0定时器来决定测量数量的时间。测量时,首先将零赋给 TH1TL12个寄存器,将计数器T1的运行控制位TR1置位, 同时也将ET1置位以允许计数器T1中断。一旦出现低电平,则立即复位TR1以终止计数器,以结束计数程序。根据信号的数量和智能涡轮流量计的参数即可计算出此时的流速。

s进行一次流量数累加,用当前的速度值加上1s前的流量数即可得出当前的总流量值,得出的流速和流量值放到 E2PROM,通过键盘显示键可显示流速或流量值。要显示的 流速或流量放到R1R2R33个寄存器后即可调用转换BCD代码模块,以将数据值显示处理。数据转变成相应的BCD代码后,可调用显示消多余零和显示数据存储模块,并将要显示的数据值通过查表转换成相应数据的8段码放到显示缓冲区以备显示。编程时要把十进制数据的相应8段码放在表格中,以便能进行查表以得到相应数值的段码。此过程的另一个重要目的是消除最高有效位前面的多余零,以使多余零的段码处于不显示状态,从而保证数据以正常的格式显示出来。最后,将显示缓冲区的88段码经串口送至液晶显示模块进行显示。

3.2 系统软件框图

 系统软件采用模块化设计方法。整个系统由系统初始化 模块、信号处理模块、定时器处理模块、流量和流速计算和存储模块、显示数据处理模块、数据显示模块以及其它功能模块组成,3给出了其软件框图。上电后,首先进入系统初始化模块,此后系统软件将开始运行,以实时地将所测数值显示在液晶模块上。

智能智能涡轮流量计
 

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

 另外,写命令和写数据程序应分别编写,因为它们的命

 

智能智能涡轮流量计
 

令格式及时序不同,见图4。由时序图可见,编写传输子程序时,所传数据的高位先移入模块,否则模块不能正常工作或显示。同样,为了能正确读/写命令或数据,必须在时序中加入相应的延时;此外,为保证系统的低功耗,每次读/写命令或数据之后,都应将CSRDWRDATA引脚置高电平。

结束语

介绍了一种基于单片机AT89C2051智能涡轮流量计的设计方法。由于该方案中使用了串口段码液晶显示模块E2PROM储存器,因而节省了硬件资源,提高了系统性价比。

参考文献:

[1] 何立民.单片机应用系统设计.北京:北京航空航天大学出版 ,1990.

[2] 周坚.单片机轻松入门.北京:北京航空航天大学出版社, 2004.

[3] 深圳市中源单片机发展有限公司.AT89C2051Datasheets.

[4] 北京青云创新科技发展有限公司.LCM082588段液晶显示 模块技术说明书

(责任编辑:admin)
分享到:
------分隔线----------------------------
热门商品