怎样将12位AD转换器输出的二进制码用十进制数码管显示???

2025-03-14 01:08:47
推荐回答(1个)
回答1:

这个问题看似复杂,其实简单。先说基本概念:
单片机 一般都是8位,如果用十进制显示一个8位最大二进制数(十六进制为FF),换算为十进制(2的8次方)最大值256,因此3位数码管就够了。如果明白这个,下面就好办了。
12位为FFF即2的12次方,为4096,4位数码管即可。
但你忽略了最关键的问题,12位AD,8位,16位AD转换器,它们的差别是精度,不是位数。要检测一个5V以内的电压,8位的梯度=5/256=0.0195V,12位的=5/4096=0.00122,就是分辨率,如果要检测一个3V的电压,8位为256×3/5=153.6,12位为4096×3/5=2817.6,经过换算都会显示3V,其难点在于8位的计算机(任何),每条指令最大除理8位数据,因此超过8位的数学计算,要进行多字节运算才能实现。而多字节运算的编程要比单字节难得多,特别是科学运算,如果要实现浮点运算,定点显示(十进制),还要编制浮点运算库,其编程量要大5-10倍(汇编)。不过有了C51,编程省劲了,但硬件接口(得看接口方式及协议)不会变。
说道次,明白??