来源:中国电子网 作者:过幼南 发布时间:2007-10-22 14:09:39 字体:[大 中 小]
关键字:温度表 IC卡 记录式温度表 24C256芯片 热电阻传感器 PC机
摘 要:基于IC卡的温度表是一种新颖的现场仪表。它利用IC卡作为信息载体进行双向数据传送,可以共享PC机的强大功能;利用PC机,可对仪表的测量数据进行记录、分析、处理、存档、打印、绘制曲线等,具有记录波形的功能。
1 一种新颖的记录仪表图1该温度表的硬件接线原理图
DS1302是一片串行时钟日历芯片,可进行秒、分、时、日、月、星期、年的走时;在芯片内部还有31字节的静态RAM可资利用;在2.5V工作时,芯片电流小于300nA;外接备用电池,在外部停电的情况下可长期正常走时可给系统提供记录数据的实时时间。另外,DS1302内部的RAM可以作NVRAM来使用,存储仪表的工作参数。
在单片机的P3.4口线上,接有一只有源讯响器。该讯响器用作IC卡读、写指示和超限报警。在IC卡进行读/写操作时,讯响器发出均匀的“嘟嘟”声。读/写结束后音响停止。如读/写错误,则发出短促报警声。在IC卡未插入的正常工作情况,如温度超过设定值,则发出温度超限报警。
3 存储分配和软件考虑
用于记录式温度表的IC卡有两种:一种用于设定仪表的工作参数,称“参数卡”;另一种用于读取仪表的工作参数和温度数据,称“数据卡”。工作参数包括卡标志字、表号、采样时间、超限设定,时间/日期。标志字用来区别参数卡和数据卡。采样时间可以从1s到1小时任意设定。如按1s的时间间隔进行采样,则最多可存放10小时的数据。如按1次/小时的时间间隔采样温度,则1次可取出8年的温度数据。
在主程序中,单片机的工作是按时读取A/D的输出数字量,将数据存入24C256中;并将该数据与超限报警的设置值进行比较,如超过了设定值,则启动讯响器进行报警。
每存放一个数据,必须修改一次地址指针。该地址指针存放在DS1302的NVRAM中。在系统停电的情况下,地址指针保存在NVRAM中不致丢失,以便在系统恢复送电时,从该地址继续记录数据。该指针在IC卡读取数据时也作为工作参数一起取走,送入PC机。PC机根据该指针来确定IC卡上的有效数据的长度。该指针不能存放在24C256中,因为E2PROM的写操作次数是有限的。另外,在对7107读数时,为防止7107数字量翻转时可能出现的竞争现象,在程序中安排对A/D进行两次取数。只有在两次取数的值相同时,才认为是一次有效数据,否则应重新取数。
在主程序中,单片机扫描RDY信号,判断有无IC卡插入,如有卡插入,则根据卡上的标志字确定是参数卡还是数据卡。不同的卡采用不同的读/写流程。不论何种卡,在读/写操作时都要启动定时器,使讯响器发出均匀的“嘟-嘟”读/写讯号。
4 PC机的管理功能
IC卡取出后,数据传送到PC机中。PC机的IC卡读/写器接在PC机的并行打印口的25针插座上,数据从打印口进入计算机。因一般的PC机打印口只有单向输出数据的能力,为了与串行E2PROM实现双向数据传送,在打印插头上外接一块三态门电路,其线路连接如图2所示。PC机数据输出通过三态门送到SDA上。当PC机输入数据时,三态门关闭,SDA上的信号通过打印插头的15脚进入PC机。因读/写电路和IC卡的电流很小,可以从打印口的空闲数据线上取得电源。只要在读/写过程中,将这些线置成高电平即可。
PC机对数据的管理采用菜单方式进行,其主菜单如下:
①读入IC卡内容并进行数据的分页显示、打印曲线、存档;
②半温度表的工作参数写入IC卡;
③查看记录在磁盘上的各台仪表的数据;
④退出。
该程序采用C语言编制,整个程序包括以下几个主要的功能模块:
读卡程序模块—将IC卡数据读入PC机内存区,如有错误,给出显示;
写卡程序模块—将键盘输入或磁盘上的仪表工作参数写入IC卡,如有错误,给出显示;
数据处理模块—将被压缩的二进制数据解压为按时间排列的数据表;
显示数据模块—显示运行记录表;
显示曲线模块—显示温度-时间曲线,并可根据需要进行X轴放大,Y轴放大。
温度表的工作参数和温度数据,均可在PC机屏幕上显示,也可用打印机打印出来。图3是温度表所记录的某过程的温度曲线。
结语
基于IC卡的记录式温度表是一种具有存储功能的仪表。它在仪表与PC机之间引入了一个简单方便的接口,从而可以利用PC机的强大功能,使仪表成为一个数据采集的黑盒子。只黑盒子里的数据,可以方便地从钥匙孔里取出,从而使温度的实时记录成为可能。这种记录式仪表,不仅适用于温度表,也适用于其它仪表。对于分散在工业现场的各种分立式仪表,这是实现仪表信息化的切实可行的办法。
推荐文章
论坛热帖