问题标题:
汇编语言小程序求解1.背景:超声测距电路中,S=T*V.公式中速度V与环境温度有关,假定V=34+3C/200(C为环境温度).速度单位为CM/mS则S=34*T+3C*T/200通过温度传感器测到的温度值存放于RAM中30H
问题描述:
汇编语言小程序求解
1.背景:超声测距电路中,S=T*V.公式中速度V与环境温度有关,
假定V=34+3C/200(C为环境温度).速度单位为CM/mS
则S=34*T+3C*T/200
通过温度传感器测到的温度值存放于RAM中30H处.假定为20度(十六进制为14H),根据计数器的计数值算出的时间值T存放于RAM中31H,32H处.假定为400mS(十六进制为0190H,高位存31H,低位存32H).
2.要求:算出此时的距离值S.结果存放于RAM中50H,51H,52H处(高位存50H,低位存52H)
3.说明:①34*T是单字节无符号数与双字节无符号数的乘法.结果放到34h35h36h(从高到低)
②因为C值不超过40度,故认为3*C结果仍为单字节.所以3C*T也是单字节无符号数与双字节无符号数的乘法结果放到38h39h3ah(从高到低).
③3C*T/200是三字节无符号数与单字节无符号数的除法,结果放到50h51h52h(从高到低).
希望除法是用移位相减法来实现.
毕玉展回答:
这算法,是要累死单片机呀.时间假定为400ms,估算出来的路程,大约就是34*400=136m.你怎么能知道,这么长的路程,都是40度?温度补偿,纸上谈兵而已,实际上就是忽悠人的,并没有实际的意义.只要把速度(340m/s),估计正...
查看更多