测量仪表的非线性处理技术

相关专题: 芯片
王有一



  摘 要:介绍在汇编语言中进行非线性处理的编程技术。


  关键词:非线性处理;结构化程序设计;单片机
 


  单片机结构的测量仪表,经常需要对测量变量进行非线性处理。比如,工业测量中经常使用的热电阻感温元件的电阻(电压)与温度的关系就是非线性的。计算机对这类测量变量进行工程值转换时,通常是将它们的电压/电流信号值及对应工程值的非线性列表(表1)存入计算机中,然后,当检测该变量时,通过查表比较,换算出对应的工程值。当然,查表换算所需的分段转换斜率也应存入计算机。





  查表法用高级程序语言很容易处理,但在汇编语言中实现却比较困难。我们注意到,MCS-51单片机指令系统虽然没有单独的比较指令,但设计了多条比较转移指令,它们既有比较功能,又能根据比较结果控制程序转移。特别是CJNEA,direct,rel指令,具有A和direct两个可变参数的单元,可以说是这类指令中功能最强的指令。将测量信号的A/D转换值放入直接地址单元direct,累加器A用来依次取查表值,就可以很方便地实现查表比较,我们设计查表循环结构就以该指令为核心来实现。


  对程序的数据结构进行合理设计,也可以大大简化和优化程序。为了便于读取表值,可在程序初始化时,就将Xi表值从外部存储器读入8031片内RAM工作区,并使其地址码与Yi表对应,这样可以共用一个地址指针。如图1所示。Xi/Yi表各包含16个参数,由于查表时读取Xi的操作最频繁,将Xi表调入片内RAM无疑会提高程序的运行效率。







  为了提高计算精度,我们在外部存储器中除保存转换表外,还存储了Xi+1-Xi的差值,没有直接使用转换斜率Ki。


   在此数据结构的基础上,该程序流程图设计如图2。





  入口:被测信号经数字滤波后的计数值→RAM6AH单元


  出口:经过非线性转换的工程值→RAM6BH单元该程序清单如下:

  






  可以在仪表面板设置一个“参数设定”键,用于输入和保存转换表的参数。保存参数的外部存储器可以选用6264RAM。目前各种非易失存储器芯片已获得广泛应用,其中DS1225芯片与6264完全兼容,它自带锂电池,保存数据的有效期为10年。将转换表存储在该芯片中就更加方便实用,同时DSl225还可用于保存历史数据。



参考文献


[1]孙涵芳,徐爱卿.MCS-51/96系列单片机原理及应用[M].北京:北京航空航天出版社,1988.



 
摘自 仪表技术
   

微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子