在单片机的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卡插入,如有卡插入,则根据卡上的标志字确定是参数卡还是数据卡。不同的卡采用不同的读/写流程。不论何种卡,在读/写操作时都要启动定时器,使讯响器发出均匀的“嘟-嘟”读/写讯号。