測量儀表的非線性處理技術

相關專題: 芯片
王有一



  摘 要:介紹在匯編語言中進行非線性處理的編程技術。


  關鍵詞:非線性處理;結構化程序設計;單片機
 


  單片機結構的測量儀表,經常需要對測量變量進行非線性處理。比如,工業(yè)測量中經常使用的熱電阻感溫元件的電阻(電壓)與溫度的關系就是非線性的。計算機對這類測量變量進行工程值轉換時,通常是將它們的電壓/電流信號值及對應工程值的非線性列表(表1)存入計算機中,然后,當檢測該變量時,通過查表比較,換算出對應的工程值。當然,查表換算所需的分段轉換斜率也應存入計算機。





  查表法用高級程序語言很容易處理,但在匯編語言中實現(xiàn)卻比較困難。我們注意到,MCS-51單片機指令系統(tǒng)雖然沒有單獨的比較指令,但設計了多條比較轉移指令,它們既有比較功能,又能根據比較結果控制程序轉移。特別是CJNEA,direct,rel指令,具有A和direct兩個可變參數的單元,可以說是這類指令中功能最強的指令。將測量信號的A/D轉換值放入直接地址單元direct,累加器A用來依次取查表值,就可以很方便地實現(xiàn)查表比較,我們設計查表循環(huán)結構就以該指令為核心來實現(xiàn)。


  對程序的數據結構進行合理設計,也可以大大簡化和優(yōu)化程序。為了便于讀取表值,可在程序初始化時,就將Xi表值從外部存儲器讀入8031片內RAM工作區(qū),并使其地址碼與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”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息