储油罐的液位高度信息以及它所对应的累计脉冲计数值都是储油罐容积表自动标定系统中需要的重要信息,所以对获得的信息要存储待用。为了方便以后对应的液位信息和累计脉冲信息的提取,我们在存储的时候选择使用测量得到的液位高度值作为存储的地址,在地址对应的单元存入累计脉冲值"具体的做法是:把一个液位高度值对应成四个地址,四个地址中对应的一个地址保留,先存储0值,作为以后扩充时使用"其他三个分别按顺序存入与这个液位高度值对应的在寄存器TL0、TH0、T000中的累计脉冲值"比如:当前得到的液位高度为newlever,则在存储器的newlever*4+3地址存入0, newlever*4+2地址存入寄存器TL0中的值,newlever*4+l地址存入寄存器TH0中的值,newlever*4地址存入寄存器t000中的值。
对于存储器需要注意的是:SST29EE020存储器在写入页的时候,要连续写入一页的值,也就是要连续写入128字节,但是我们的数据采集工作不是连续的,是依据加油站的工作量来决定的,所以我们要设定一个128字节的存储单元FlashNum[128]作为中间存储站,当128字节写满后,再调用存储器写命令函数依次把值写入存储器相应的页"另外,由于我们是使用液位的高度作为存储器的地址,写入的地址不一定是一页的起始地址,所以我们还需要计算一下当前地址在这一页的位置,其它的单元补0。