Ⅰ 51单片机中如何确定ad芯片输出数据的小数点的位置
首先,小数点是给人看的,与显示什么以及单位有关,与程序中的计算无关,更和AD输出无关。
然后,AD输出通常认为是整数,但也完全可以“看成”是小数,而且小数点位置任意(与显示什么以及单位有关)。例如,12位AD的输入范围是0--4.095V,那么当输入电压0.256V时,AD会输出000100000000(十进制256),你把小数点点在2的左边,显示出来就是0.256V;你把小数点点在6的右边,显示出来就是0256mV;你把小数点点在6的左边,显示出来就是025.6(单位是10mV)等等。
当然,通常没这么简单,要显示的数与AD值需要经过一定的换算,但道理是一样的,你换算完之后把小数点放到合适的位置就行了。
Ⅱ 单片机中的段码和位码分别指什么
这个是针对数码管的显示,尤其是动态显示的时候用的。
段码指的字形码,就是数码管上显示的字形。
位码指的多个数码管显示的时候,你要让那个数码管显示,设定对应的公共端的值,选择对应的数码管点亮。这个就是位码,即位置码。
希望对你有用!!!
Ⅲ 51单片机一到九的段码
你是说数码管的段码吗? 共阴极与共阳极不同
共阳极段码:
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e,0xbf};
共阴极段码:
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
Ⅳ 有关51单片机秒表的数码管问题
按正常的电路接法,小数点接在并口最高位引脚上。对于共阴数码管,显示到要显示小数点位时,段码加0x80。共阳数码管,段码与0x7F。
Ⅳ 51单片机小数点后面的数怎么算用什么类型的数
你的问题实质上是如何输入小数。将键盘上某个键定义为小数点,如果检测到这个键被按下,那么后面按的数字键都看成小数就可以了。如,定义星号是小数点,那么按下星号后,再按下2时,就乘以0.1,再按下4时,就乘以0.01,两个数加起来就是0.24了
Ⅵ 51单片机数码管小数点不显示
摘要 您好!可以另制一个带小数点的7段(实际是8段)码表,需小数点时就用这个表格,不要小数点时用另一个表格
Ⅶ 单片机中的段码和位码各指 的是什么
位码是多个数码管显示的时候,尤其是动态显示的时候用的,就是数码管上显示的字形,设定对应的公共端的值。段码是单片机的一个数码管上有八个LED灯,分别为七条线和一个点。这八个LED灯分别由abcdefg和dp代替。
当段码屏做4COM驱动时,常用的偏压比为1/2偏压比跟1/3偏压比,单片机的资源能够支持4COM驱动,然后查看此单片机能够支持哪种偏压比,1/2偏压比还是1/3偏压比。如果单片机的资源只支持1/2偏压比,而段码屏做的是1/3偏压比。
(7)s51单片机小数点段码扩展阅读:
注意事项:
用粗漆包线穿入轴向有几个孔的铁氧体芯,就构成了高频扼制器件。将其串入电源线或地线中可阻止高频信号从电源/地线引入。这种元件特别适用于隔开一块印制电路板上的模拟电路区、数字电路区、以及大功率驱动区的供电。应该注意的是必须放在该区储能电容与电源之间而不能放在储能电容与用电器件之间。
室外使用的单片机系统或电源线、信号线从室外架空引入室内的,要考虑系统的防雷击问题气体放电管TVS,这类元器件要和抗共模和抗差模干扰的电感配合使用以提高抗干扰效果。
Ⅷ C51单片机的数码管(带小数点)哪一位对应哪一段
一般是从上面一横(8位的最低位)开始,顺时针转abcdef再一间一横为g,小数点为最高位。
Ⅸ 关于C51单片机的小数点四舍五入处理
将你需保留的那一位的低一位加5之后舍掉即可
单片机内一般采用整数计算,如果要保留两位小数,需将原数据扩大100倍,小数点该向左移2位
18754/100=187·54 但单片机只能算整数,因此结果只能是187
因此计算时我们我们将被除数扩大100倍 相当于小数点向右移2位,1875400/ 100=18754
然后我们将计算结果的小数点再向左移回来2 位,即变成了 187.54 这就是定点小数的算法
如果18754/100我们只保留一位小数
我们可以这样处理 (18754*100+500)=1875900
1875900/100=18759
小数点左移2位,结果187.59 最后一位不考虑取187.5
但如果18755/100我们只保留一位小数
(18755*100+500)=1876000
1876000/100=18760
小数点左移2位,结果187.60 最后一位不考虑取187.6
看到了吧,4舍去了 5就入上去了
所以要保留三位小数,需将原来数据扩大1000倍,再除1000
所以要保留4位小数,需将原来数据扩大10000倍,再除10000
.......
扩大100倍或1000倍操作要放在除法之前,因除法才会导致小数丢失
需4舍5 入,将要保留的那一位数的低一位加5即可
当然这是低级算法,用C语言编程直接可以用浮点数,结果输出 时会自动四舍5 入
你所要做的是将浮点数转换为字符(用sprint函数)并控制输出数据的位数,格式控制类似于printf函数