導航:首頁 > 操作系統 > 單片機小數顯示

單片機小數顯示

發布時間:2022-09-06 21:38:11

❶ 51單片機顯示小數問題

浮點運算有精度問題,四捨五入呀,像這樣改:

if(t>=0)
a=t*100;//
else
a=(-t)*100;

改為

if(t>=0)
a=(t+0.005)*100;//
else
a=(-t+0.005)*100;

❷ 單片機數碼管顯示小數

我不懂你的電路圖是怎麼接的,但是數碼管的小數點是這樣的
P0=table1[ge];你這個是定址的後面加個點就得了
給為 P0=table1[ge]+0x80;或者P0=table1[ge]|0x80應該都一樣的;
0x80就是那個點亮,不懂你是公陽還是共陰的,
如果是公陽的是0x7f。。。和共陰的相反

❸ 單片機 LCD1602 C語言小數怎麼表示

1.首先你定義的speed是無符號字元型
在執行speed=1.1*ncounter
後speed的值也是整數,小數後面的數會被省略,你需要將speed定義為小數型:float
speed;
2.你的ncounter是多大的數?是否比speed最大范圍值大,如果大可能數據就亂了!
dian=speed*10,dian這個數也要同上考慮
3.小數點的數可以考慮使用:
dian=(speed%1)*10;//取出小數點後一位的數乘以10,變成整數顯示,你要顯示成小數顯示程序里前面加個點的符號隔開就行了!

❹ 單片機數碼管小數點的顯示

程序如下:

#include<reg52.h>

#include<intrins.h>

sbit an=P3^0;

sbit wei=P3^1;

unsigned char code table[] = {

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71 };

void delay(void)

{

unsigned char i,j;

for(i=0;i<10;i++)

for(j=0;j<110;j++);

}

void show6led(float num)

{

unsigned char i;

i=num;

an=1;

P2=table[i]+0x80; //顯示個位和小數點

an=0;

P2=0xff; //先關閉led

wei=1;

P2=0xfb; //段選3

wei=0;

delay();

P2=0xff;

P3=0xff; //這兩句非常重要,主要是清屏消隱

num=num-i;

num=num*10;

i=num;

an=1;

P2=table[i];

an=0;

P2=0xff;

wei=1;

P2=0xf7; //段選4,十分位

wei=0;

delay();

P2=0xff;

P3=0xff;

num=num-i;

num=num*10;

i=num;

an=1;

P2=table[i];

an=0;

P2=0xff;

wei=1;

P2=0xef; //段選5,百分位

wei=0;

delay();

P2=0xff;

P3=0xff;

num=num-i;

num=num*10;

i=num;

an=1;

P2=table[i];

an=0;

P2=0xff;

wei=1;

P2=0xdf; //段選6,千分位

wei=0;

delay();

P2=0xff;

P3=0xff;

}

main()

{

float number;

number=3.718;

while(1)

{

show6led(number);

}

}

(4)單片機小數顯示擴展閱讀:

數碼管工作原理

數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極體單元(多一個小數點顯示)。

按發光二極體單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極體的陽極接到一起形成公共陽極(COM)的數碼管。

共陽數碼管在應用時應將公共極COM接到+5V,當某一欄位發光二極體的陰極為低電平時,相應欄位就點亮。當某一欄位的陰極為高電平時,相應欄位就不亮。

共陰數碼管是指將所有發光二極體的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一欄位發光二極體的陽極為高電平時,相應欄位就點亮。當某一欄位的陽極為低電平時,相應欄位就不亮。

❺ 單片機C語言顯示小數

給你個流程思路吧。ad採集電壓信號,轉換的數據是根據參考電壓比較得到的。如果你的參考電壓是5V,用的是12位AD,現在轉換的結果為0x00ff,那麼當前的電壓就是0xo0ff*5000/4096
(mv)=311mv=0.311V,
至於怎麼顯示,那要看你的數碼管位數以及要顯示的數據范圍。
可以用定小數點顯示,也可以用動態小數點顯示。思路都是把當前小數換成需要的整數,保留固定的有效數字。然後去顯示小數點。思路就是這樣。希望能幫到你。

❻ 單片機數碼管小數點閃爍

假設4個數碼管,每個亮2ms,一輪掃描共亮8ms,我們可以讓其以120次為周期(0.96s),掃描前60次小數點亮,後60次小數點不亮,這樣小數點就 以大約1HZ的速度閃爍。
例如,小數點在第二位,數碼管七段碼table[]中不含小數點
顯示部分如下
if(a<60)
{dataport=(table[a1]);
sm1=0; Delay1ms(2);sm1=1;
dataport=(table[a2])|0x80;//第二位多個小數點

sm2=0; Delay1ms(2);sm2=1;
dataport=(table[a3]);

sm3=0; Delay1ms(2);sm3=1;
dataport=(table[a4]);

sm4=0; Delay1ms(2);sm4=1;
ia++;
}
else {dataport=(table[a1]);
sm1=0; Delay1ms(2);sm1=1;
dataport=(table[a2]); //第二位無小數點
sm2=0; Delay1ms(2);sm2=1;
dataport=(table[a3]);

sm3=0; Delay1ms(2);sm3=1;
dataport=(table[a4]);

sm4=0; Delay1ms(2);sm4=1;
ia++;
}
if(a==120) a=0;//120次後重新歸零

❼ 51單片機數碼管小數點不顯示

摘要 您好!可以另制一個帶小數點的7段(實際是8段)碼表,需小數點時就用這個表格,不要小數點時用另一個表格

❽ 單片機進棧為什麼是小數

常用的波特率有誤差的,用小數表示更准確減少誤差。
單機片進棧顯示小數後期可四捨五入轉換成整數,浮點運算有精度問題。小數在單片機中有一個單獨的分類,我們稱之為浮點型數據。之所以說是浮點型,是因為在小數的顯示過程中,小數點會出現在不同的位置,小數表示用起來也很方便。
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。

❾ 單片機板顯示小數0.0——9.9,應該怎麼做

顯示 00~99,即可。

小數點可以單獨用一個LED表示。

❿ 51單片機ds18b20小數顯示1602

發出存在脈沖。
51單片機ds18b20小數顯示1602是因為出現了發出存在脈沖導致的。
1602液晶模塊高精度4位小數顯示,溫度解析度0.0625℃,液晶模塊第一行顯示的是DS18B20的64位激光序列號,液晶模塊第二行顯示的是實際溫度。

閱讀全文

與單片機小數顯示相關的資料

熱點內容
php如何解析xml文件 瀏覽:700
如何改變appstore的語言 瀏覽:460
javahtmlxml 瀏覽:30
單片機啟動文件 瀏覽:811
橙app如何開啟聊天 瀏覽:899
訪問伺服器公網地址 瀏覽:666
pdf列印底色去掉 瀏覽:463
java快遞介面 瀏覽:397
哪個app可以教新爸爸 瀏覽:210
如何查看伺服器系統版本信息 瀏覽:524
成都市土地出讓金演算法 瀏覽:703
鋼筋加密標記 瀏覽:578
ps中擴展功能在文件夾的什麼位置 瀏覽:905
雙極壓縮機為什麼要先高壓 瀏覽:527
蘋果手機伺服器填什麼 瀏覽:832
android移動動畫效果 瀏覽:692
電子和伺服器是什麼意思 瀏覽:692
phpurl中文亂碼問題 瀏覽:894
程序員那麼可愛大結局陸漓產子 瀏覽:539
java如何從雲伺服器讀取本地文件 瀏覽:924