Ⅰ 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函數