例4.3 在一个温度测量装置中,测出的电压与温度为非线性关系。设测得的电压值为X,用10位二进制 //数表示(占二字节)。现要求采用查表法实现线性化处理。
//解决这个问题的方法是通过实验测出电压值X相对应的温度值Y,并按电压由小到大的顺序构造一张表, //表中存有温度值Y,将该表放入程序存储器中。
//设测得的电压值X存放在20H、21H 单元(20H 存高字节),查表得到的温度值Y存放在22H、23H单元 //(22H 存高字节)。温度值表从TAB地址开始存放。存放温度值的单元TAB=(X*2)。
//查表程序:
org 0000h LTB2: mov dptr,#TAB ;表格地址送DPTR mov a,21h ;(20H)(21H)在左移一位,即X*2 clr c ;清Cy进位 rlc a ;低字节X2 mov 21h,a ;存回低字节 mov a,20h ;取高字节 rlc a ;高字节X2 mov 20h,a ;存回高字节 mov a,21h ;表首地址+(X*2) add a,dpl ;低8位针下低字节相加 mov dpl,a ;存入对应的低8位指针 mov a,20h ;表首地址+(X*2) addc a,dph ;高8位针下高字节相加 mov dph,a ;存入对应的高8位指针 clr a ;清A movc a,@a+dptr ;查表得温度值高字节 mov 22h,a ;存放高字节 inc dptr ;指向温度低字节 clr a ;清a=0+dptr指向下一个地址 movc a,@a+dptr ;查表得温度值低字节 mov 23h,a ;存放低字节 ret TAB: dw 1234,2345,3456,4567,5678 ;温度值表 dw 6789,9876,8765,7654,6543
end
我想知道 表格中的 dw 表示什么意思 是什么用法?
|