2011-09-08 24 views
1

即時編程圖片18f到rad按壓傳感器,擺動從+ 1mbar到-1mbar(4-2-ma)4-20mA電流環壓力傳感器,-1mbar至1mbar的值,?彙編代碼用戶

所有好的在這一點上重新編碼,現在需要移動我的8位以更可讀的格式。

轉換公式爲Mbar = Vin * 0.5-1.5,confrimed。

,你可以看到1伏特是-1mbar,3伏特= 0mbar,5伏= + 1毫巴,,,,

任何人都告訴我在哪裏撲打了這一點。試圖擴大方程在十六進制,然後rlcf等,即時通訊變得混亂。

在這裏張開雙臂接受了所有協助/見解和建議!

史蒂夫

回答

1

做的最好的事情是表達僞代碼的問題,然後再轉換到PIC彙編。

// Input value, x, is 8 bit unsigned, 0..255 = 0..5v = 0..20 mA = -1.5..+1.0 mbar 
// Output value, y, is 8 bit signed (two's complement), -127..127 = -1..+1 mbar 
// Temp value, temp, is 16 bit signed 

temp = x - 51;  // subtract 4 mA (= 1V = 0.5 mbar) offset = 255/5 = 51 
temp = temp * 5;  // scale by 5/4 (NB: can do * 5 with 2 bit left shift and add) 
temp = temp/4;  // (NB: can do/4 with a 2 bit right shift) 
temp = temp - 128; // convert to 8 bit signed 
y = temp;    // return 8 bit signed value 
+0

爲協助保羅千恩萬謝, – steven

+0

喜保,一直在研究該文件之前,我承諾的代碼,什麼當x = 255,我得到它在y = 128,它可以出來發生,它可以?我可能會缺少一些東西 – steven

+0

良好的捕獲 - 它需要是臨時的 - 128.我會更新答案。 –