发布于 2006-03-23 09:44:23
0楼
//*检查输入值,并把输入值转换成双字 //?W12 变成双字,VW10,没有转换成VD10 的语句?*// 答:确实如此。 你要去看一下计算机基础里关于二进制补码方面的知识。
(VD18 没有转换成VW20;哪来的VW20输出?) 答:SRD VD18, AC1 这一句是用来求AIW0在(2的AC1次方 ,即等于VW0,也等于VW2)次采样值内的平均值,你知道AIW0是一个有符号字,那么它的平均值肯定也是一个有符号字(即-32768 ~ 32767 ) ,意思就是在执行SRD VD18, AC1语句之前不管VD18为正或者负,在执行这句之后VW20就等于平均值。 可能我表达不清楚这句话,具体你还是要仔细看计算机基础的书,或者你自己就推导一下:假设每一次AIW0 = -100,采样8次。那么 你把-800这个值放到VD18里,再把VD18右移三位(2的3次方=8) ,再看看VW20是不是等于 -100 ?
//* VW20数据输出到AQW0 //为单极输入,所以不检查正负 ?输出是字,如何对应0-10V电压*// 答:同上, 不是不检查正负,实际上在移位后VW20里已经包含了正负了!
I can do it