在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數(shù)碼管神奇的小數(shù)點顯示程序詳解

2oON_changxuemc ? 2017-12-12 09:46 ? 次閱讀

數(shù)碼管的小數(shù)點單獨有一位來控制,這就是物理世界和數(shù)字世界的神奇之處,數(shù)碼管用來顯示數(shù)字和字母的led段有7個,再加上小數(shù)點共8個,正好對應一個字節(jié)的位數(shù),這樣使用單片機的一個口正好可以全部操作,比如顯示2.,只需將數(shù)字2對應的二進制數(shù)第1位改為1即可,在實際中,我們將要帶點顯示的數(shù)字和0x80相或就可以,其原理如下:

共陰極(1亮0滅): DP G F E D C B A

0 1 0 1 1 0 1 1 = 0x5B

1 0 0 0 0 0 0 0 = 0x80

兩組二進制數(shù)進行或運算后結果為:

1 1 0 1 1 0 1 1 = 0xDB

可以發(fā)現(xiàn),進行或運算后,原來顯示數(shù)字2的部分(綠色碼)不變,但原來控制點顯示的部分(紅色)為1,正好達到了不影響數(shù)字又能點亮點的效果。下面的代碼,實現(xiàn)了顯示0-999縮小10倍的顯示效果。

#include

sbit LATCH1=P2^2;//段鎖存

sbit LATCH2=P2^3;//位鎖存

unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9

unsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分別對應相應的數(shù)碼管點亮,即位碼

unsigned char TempData[8]; //存儲顯示值的全局變量

void Delay(unsigned int t); //函數(shù)聲明

void Display(unsigned char FirstBit,unsigned char Num);

main()

{

unsigned int num;

unsigned int j;

while(1)

{

j++;

if(j==200) //檢測當前數(shù)值顯示了一小段時間后,需要顯示的數(shù)值加1,實現(xiàn)數(shù)據(jù)顯示的變化

{

j=0;

num++;

if(num==1000)//用于顯示0~999

num=0;

}

TempData[0]=DuanMa[num/100];//分解顯示信息 123/100=1

TempData[1]=DuanMa[(num%100)/10]|0x80; //23/10=2. 倒數(shù)第2位加點,實現(xiàn)數(shù)字縮小10倍

TempData[2]=DuanMa[(num%100)%10]; //23%10=3

Display(2,3);

}

}

void Delay(unsigned int t)

{

while(--t);

}

/*------------------------------------------------

顯示函數(shù),用于動態(tài)掃描數(shù)碼管

輸入參數(shù) FirstBit 表示需要顯示的第一位,如賦值2表示從第三個數(shù)碼管開始顯示

如輸入0表示從第一個顯示。

Num表示需要顯示的位數(shù),如需要顯示99兩位數(shù)值則該值輸入2

------------------------------------------------*/

void Display(unsigned char FirstBit,unsigned char Num)

{

unsigned char i;

for(i=0;i{

P1=0; //清空數(shù)據(jù),防止有交替重影

LATCH1=1; //段鎖存

LATCH1=0;

P1=WeiMa[i+FirstBit]; //取位碼

LATCH2=1; //位鎖存

LATCH2=0;

P1=TempData[i]; //取顯示數(shù)據(jù),段碼

LATCH1=1; //段鎖存

LATCH1=0;

Delay(200); // 掃描間隙延時,時間太長會閃爍,太短會造成重影

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)碼管
    +關注

    關注

    32

    文章

    1883

    瀏覽量

    91340

原文標題:單片機怎么顯示小數(shù)點?數(shù)碼管小數(shù)點顯示程序

文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何給秒表第二位加上小數(shù)點

    怎么給秒表第二位加上小數(shù)點?我只會數(shù)碼管一加就全都有小數(shù)點
    發(fā)表于 08-18 21:21

    基于stm32f1xx的四位數(shù)碼管小數(shù)顯示實驗

    主體2.1實現(xiàn)單個任意數(shù)字的顯示2.1.1定義數(shù)字表以及數(shù)碼管段選表2.1.2 消影2.1.3 主體代碼如下2.2 數(shù)據(jù)處理2.2.1 記錄小數(shù)點位置2.2.2浮點數(shù)變?yōu)檎麛?shù),并限制為四位2.2.3 整數(shù)變?yōu)檎麛?shù)型數(shù)組2.2.4
    發(fā)表于 07-21 08:13

    共陰數(shù)碼管與共陽數(shù)碼管小數(shù)點段碼是怎樣的

    數(shù)碼管主要分為哪幾種呢?有何區(qū)別?共陰數(shù)碼管與共陽數(shù)碼管小數(shù)點段碼是怎樣的?
    發(fā)表于 01-21 07:43

    如何實現(xiàn)帶小數(shù)點數(shù)碼管顯示

    如何實現(xiàn)帶小數(shù)點數(shù)碼管顯示
    發(fā)表于 02-15 06:01

    數(shù)碼管顯示原理是什么呢

    3.1 數(shù)碼管顯示原理這便是數(shù)碼管的圖片,叫做四位數(shù)碼管,當然也有雙位,單位數(shù)碼管,也還有不帶小數(shù)點
    發(fā)表于 02-22 06:45

    【每周一練】盤古1K開發(fā)板+動態(tài)數(shù)碼管+小數(shù)點顯示

    7段數(shù)碼管顯示小數(shù)點沒有用上。我簡單地修改了一下程序,可以讓其中一個數(shù)碼管顯示
    發(fā)表于 12-09 20:30

    數(shù)碼管的分類

    數(shù)碼管的分類     數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管
    發(fā)表于 11-06 11:41 ?7500次閱讀

    34-顯示小數(shù)點

    34-顯示小數(shù)點----------51單片機源程序 用keil直接打開
    發(fā)表于 06-16 15:38 ?11次下載

    如何利用單片機數(shù)碼管程序模擬是時鐘顯示時間?

    數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管
    發(fā)表于 11-17 11:18 ?1.6w次閱讀

    常用共陰極數(shù)碼管型號

    數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極單元,也就是多一
    發(fā)表于 01-28 10:25 ?3.6w次閱讀
    常用共陰極<b class='flag-5'>數(shù)碼管</b>型號

    關于看門狗定時器動態(tài)數(shù)碼管顯示問題

    程序把看門狗當做普通定時器使用,在看門狗中斷中進行數(shù)碼管掃描,另外我加入了顯示的緩沖區(qū),想在數(shù)碼管顯示什么數(shù)字只需要對緩沖數(shù)組中的值進行操
    發(fā)表于 04-23 11:10 ?1444次閱讀
    關于看門狗定時器動態(tài)<b class='flag-5'>數(shù)碼管</b>的<b class='flag-5'>顯示</b>問題

    微雪電子8段數(shù)碼管簡介

    8段數(shù)碼管模塊 4位8段數(shù)碼管模塊 帶小數(shù)點 用于數(shù)值顯示 時間顯示等等 提供測試程序(A
    的頭像 發(fā)表于 12-30 09:03 ?1972次閱讀
    微雪電子8段<b class='flag-5'>數(shù)碼管</b>簡介

    基于51單片機數(shù)碼管顯示

    它們的各個筆劃,公共電極。數(shù)碼管實際上是由七個發(fā)光組成8字形構成的,加上小數(shù)點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示,如圖所示。數(shù)碼管按段數(shù)可分為七段
    發(fā)表于 11-11 19:21 ?18次下載
    基于51單片機<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>顯示</b>

    小數(shù)點數(shù)碼管顯示

    小數(shù)點數(shù)碼管顯示數(shù)碼管的示意圖如上,通過點亮a-g七個led來拼成對應的數(shù)字或字符,數(shù)碼管有共陽極(底電平亮)和共陰極(高電平亮),以上圖的數(shù)字2為例:共陽極(0亮1滅): D
    發(fā)表于 12-16 16:59 ?10次下載
    帶<b class='flag-5'>小數(shù)點數(shù)碼管</b>的<b class='flag-5'>顯示</b>

    數(shù)碼管的工作原理、靜態(tài)顯示及動態(tài)顯示

    ????? 數(shù)碼管是一種利用LED的顯示器件,普通的數(shù)碼管在內部集成了八個數(shù)碼管,分別組成了對應的段,由于數(shù)字只需要七個段就可以,所以有的數(shù)碼管
    的頭像 發(fā)表于 01-16 15:48 ?4.4w次閱讀
    <b class='flag-5'>數(shù)碼管</b>的工作原理、靜態(tài)<b class='flag-5'>顯示</b>及動態(tài)<b class='flag-5'>顯示</b>
    主站蜘蛛池模板: 特黄特色大片免费视频播放 | 日韩欧美伦理 | 国产床戏无遮掩视频播放 | 免费看污黄视频软件 | 男女全黄做爰视频 | 国产精品伦理久久久久 | 日本视频三区 | 你懂的国产精品 | www.亚洲.com | 国产卡1卡2卡三卡网站免费 | 在线激情网 | 91中文在线 | 午夜高清视频在线观看 | 免费看欧美一级特黄a大片一 | 欧美男人天堂网 | 美女被强插 | 国产拍拍 | 天天摸天天做天天爽在线 | 在线天堂中文官网 | 国产网站黄 | 亚洲video | 欧美三级免费观看 | 丁香花在线视频 | 黑色丝袜美女被网站 | 麦克斯奥特曼在线观看 | 美女扒开尿囗给男生桶爽 | 操狠狠 | 日韩成a人片在线观看日本 日韩成人黄色 | a一级黄 | 婷婷网五月天天综合天天爱 | 涩久久 | 奇米第四狠狠777高清秒播 | a毛片成人免费全部播放 | 天天做天天爱天天做天天吃中 | 亚洲精品久久久久久久蜜桃 | 亚洲天堂爱爱 | 丁香婷婷在线观看 | 欧美成人性动漫在线观看 | 欧美日韩一区二区三区视频在线观看 | 久久久久国产精品四虎 | 五月天婷婷网亚洲综合在线 |