抱歉,想标题有点吃力。
基本上,我有一段代码从我的嵌入式板(8051)上的比较器读取一个值。这将是一个 0-255 之间的值,其中 0 是 0V,255 是 5V。
我需要将这些值输出到一组八个 LED,每个 LED 在变量 P1 上分配一个位,以人类可读的方式(IE 像电平表)。因此,输入值必须四舍五入,以便从 16 到 32 的任何值输出为 1、33 到 48 为 2、49 到 80 为 4、81 到 112 为 8 等。
到目前为止,我知道的唯一可行的解决方案是一串 if-else 语句,但是在意识到它不会削减它之前,我深入了两层。
有谁知道如何做到这一点?我的大脑已经变得糊涂,试图弄清楚如何在数学上做到这一点。
谢谢!乔
编辑:这是我计算的快照,我希望它更清楚一点。http://i.imgur.com/r3n8Ila.png