8086指令系统“处理浮点数”把5V电压转化为‘0.00’格式
时间:2010-12-21
来源:互联网
具体是这样:
0到5V的模拟电压,经ADC0809(模数转化器)转化为八位二进制,对应十进制0到255.
问题是有什么方法把转化后的数 变成‘0.00’格式
比如,3.75V的电压,经ADC转化后为:1100 0000B【192D】。
现在要把 192D 转化为‘3.75’,可以先转各位,在转小数点后第一第二位。。
有什么好的点子啊??
本来我打算用野蛮的乘法指令,比如:
5V电压分成256份,一份就是src=0.01953125 V
AL=192D;
mul src
.......8086好像没得浮点数处理能力····杯具··
0到5V的模拟电压,经ADC0809(模数转化器)转化为八位二进制,对应十进制0到255.
问题是有什么方法把转化后的数 变成‘0.00’格式
比如,3.75V的电压,经ADC转化后为:1100 0000B【192D】。
现在要把 192D 转化为‘3.75’,可以先转各位,在转小数点后第一第二位。。
有什么好的点子啊??
本来我打算用野蛮的乘法指令,比如:
5V电压分成256份,一份就是src=0.01953125 V
AL=192D;
mul src
.......8086好像没得浮点数处理能力····杯具··
作者: gucheng789 发布时间: 2010-12-21
8086 没有浮点能力,8086 这个型号的 cpu 是没有浮点能力,但你这里是确实在这个型号的 cpu 上的吗?系统没有浮点处理器?一般不会吧,现在都是可以使用浮点指令的。
如果确实不能使用浮点指令,你这里的浮点的数据表示是怎样的?比较简单的,恐怕是直接查表。要是计算的话,就是先乘以 5,形成一个 word 比如在 AX 中,这时 ah 就是整数部分,al 就是小数部分。如 192D*5=3C0H,AH=3,AL=C0H=11000000B即小数的 0.1100B=0.5+0.25=0.75,这个的具体表示看你数据格式了。
如果确实不能使用浮点指令,你这里的浮点的数据表示是怎样的?比较简单的,恐怕是直接查表。要是计算的话,就是先乘以 5,形成一个 word 比如在 AX 中,这时 ah 就是整数部分,al 就是小数部分。如 192D*5=3C0H,AH=3,AL=C0H=11000000B即小数的 0.1100B=0.5+0.25=0.75,这个的具体表示看你数据格式了。
作者: zara 发布时间: 2010-12-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28