• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)碼管動態(tài)顯示及實現(xiàn)方法

      2016-12-26 16:03張成法孫月興
      電子技術(shù)與軟件工程 2016年22期
      關(guān)鍵詞:數(shù)碼管

      張成法++孫月興

      摘 要

      本文講述利用74HC573鎖存器和定時器來實現(xiàn)對數(shù)碼管的動態(tài)顯示,通過從左向右讓六位數(shù)碼管中的每一位每隔一秒依次顯示123456來闡述數(shù)碼管動態(tài)顯示具體實現(xiàn)方法。

      【關(guān)鍵詞】動態(tài)顯示 數(shù)碼管 鎖存器

      數(shù)碼管由于價格便宜,使用簡單,在電器特別是家電領(lǐng)域(比如空調(diào)、熱水器和冰箱等)得到了極為廣泛的應(yīng)用。在高校電子信息類專業(yè)單片機的教學(xué)過程中,數(shù)碼管動態(tài)顯示及實現(xiàn)方法是學(xué)生普遍反映較難掌握的內(nèi)容。鑒于此,本文通過實際案例詳細闡述了數(shù)碼管的動態(tài)顯示特點及實現(xiàn)方法。

      1 系統(tǒng)整體設(shè)計

      本系統(tǒng)是由AT89C52單片機、2個74HC573鎖存器U3和U4,1個10K的電阻排,6個7段共陰極數(shù)碼管、電源電路和復(fù)位電路組成。

      74HC573鎖存器的鎖存端LE是高電平的時候,它的輸入端D0~D7和輸出端Q0~Q7是直通的,此時輸入端數(shù)據(jù)會直接輸出給輸出端。74HC573鎖存器的鎖存端LE是低電平的時候,輸入端和輸出端斷開,輸出端保持原來的數(shù)值。

      通過2個74HC573鎖存器可以實現(xiàn)對數(shù)碼管的段選和位選的選擇。所謂段選是表示數(shù)碼管中亮的內(nèi)容(比如 1,2,3,4,5.......),而位選是表示讓哪一個數(shù)碼管亮,本系統(tǒng)中同時接入了6個數(shù)碼管,通過對位選的賦值,可以選擇讓哪一個數(shù)碼管亮。

      鎖存器U3的輸出WE1、WE2、WE3、WE4、WE5和WE6用來控制數(shù)碼管的位選,鎖存器U4的輸出a、b、c、d、e、f、g和h用來控制數(shù)碼管的段選,這兩個鎖存器的輸入端全部接在了P0口上,P0口的內(nèi)部無上拉電阻,需在它的外部加一個10K的上拉電阻排P1,這樣的話,單片機一上電后,P0口就是高電平。

      2 數(shù)碼管顯示分析

      如果想讓哪個數(shù)碼管亮,那么先將控制位選的鎖存器U3的鎖存端LE設(shè)為高電平,然后通過P0口送數(shù)值選擇哪一位數(shù)碼管亮,當(dāng)這一位的數(shù)碼管亮了以后,然后把鎖存端LE設(shè)為低電平,鎖存器的數(shù)據(jù)輸出端的位選就保持住了,然后再把控制段選的鎖存器U4的鎖存端LE設(shè)置為高電平,然后通過P0口送數(shù)值,使數(shù)碼管顯示相應(yīng)的數(shù)值,然后再把鎖存器U4的鎖存端LE設(shè)置為低電平,這時候段選和位選都賦上值了,數(shù)碼管就亮了,并且顯示相應(yīng)的數(shù)值。這就是用一個P0端口通過兩個鎖存器U3和U4控制六位數(shù)碼管。

      要在第一個數(shù)碼管上顯示數(shù)字1,可以這樣操作:將鎖存器U3的鎖存端LE設(shè)為高電平,通過P0口送數(shù)0xfe,然后再將鎖存端LE設(shè)為低電平,這時在鎖存器U3的右端就保持住了0xfe這個數(shù)值,不管再怎么改變P0口的數(shù)值,鎖存器U3右端的數(shù)值還是0xfe,不會發(fā)生變化;將鎖存器U4的鎖存端LE設(shè)為高電平,然后給P0口送數(shù)據(jù)0x06(0x06對應(yīng)十進制數(shù)1),然后將鎖存端LE設(shè)為低電平,這樣就把段選數(shù)值鎖存住了,這樣的話在第一個數(shù)碼管上就會顯示十進制數(shù)字1。

      3 動態(tài)顯示實現(xiàn)方法

      通過編寫“從左向右讓六位數(shù)碼管中的每一位每隔一秒依次顯示123456”的程序來講述數(shù)碼管的動態(tài)顯示實現(xiàn)方法。

      在程序中會用到共陰極數(shù)碼管編碼表{0x06,0x5b,0x4f,0x66,0x6d,0x7d },此編碼表中的數(shù)值分別對應(yīng)十進制數(shù)1,2,3,4,5,6,此編碼表的表示可以使用數(shù)組biao[ ],將biao[ ]定義成編碼的格式,利用biao[ ]數(shù)組將編碼表{0x06,0x5b,0x4f,0x66,0x6d,0x7d}中的數(shù)值取出來。利用位選數(shù)組biaowe[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}選擇點亮六位數(shù)碼管中的哪一位。在程序中,利用定時器和中斷服務(wù)程序來控制數(shù)碼管的顯示時間實現(xiàn)了數(shù)碼管的動態(tài)顯示。部分程序如下所示:

      TMOD=0x01; //設(shè)置工作方式為16位定時/計數(shù)器

      EA=1; //開總中斷

      ET0=1; //開定時器0中斷

      TR0=1; //啟動定時器0

      if(aa==40)

      { aa=0;numdu++;

      dula=1;P0=biao[numdu];dula=0;

      wela=1;P0=biaowe[numwe];wela=0;

      numwe++;}

      void timecalculate0() interrupt 1 //中斷

      { TH0=(65536-25000)/256; TL0=(65536-25000)%256; aa++;}

      此程序是讓6個數(shù)碼管中的數(shù)值依次每隔1秒顯示,現(xiàn)在稍微得加快數(shù)碼管顯示速度,通過將程序中的aa==40修改為aa==10讓數(shù)碼管中的數(shù)值依次每隔250毫秒顯示,通過單片機仿真系統(tǒng)原理圖,可以看出數(shù)碼管顯示速度加快;將數(shù)碼管顯示速度進一步加快,通過修改程序讓數(shù)碼管中的數(shù)值依次每隔50毫秒顯示,觀察數(shù)碼管的變化效果,可以看到數(shù)碼管顯示速度加快,6個數(shù)值在數(shù)碼管上隱約全部顯示出來;再讓數(shù)碼管中的數(shù)值依次每隔5毫秒顯示,看看數(shù)碼管的變化效果,可以看到123456這六個數(shù)在數(shù)碼管上完全清晰地顯示出來了。

      4 結(jié)束語

      在本文中,通過對鎖存器功能的介紹、數(shù)碼管顯示的分析和案例程序的編寫,詳細闡述了數(shù)碼管的動態(tài)顯示及實現(xiàn)方法。

      參考文獻

      [1]吳振磊,劉孝趙.74HC595在單片機控制多位數(shù)碼管中的應(yīng)用[J].科技廣場,2013.

      [2]李全利.單片機原理及應(yīng)用技術(shù)[M].高等教育出版社,2009.

      作者簡介

      張成法(1984-),男,山東省青州市人。碩士研究生學(xué)歷。現(xiàn)供職于濰坊工程職業(yè)學(xué)院。主要研究方向為單片機與嵌入式系統(tǒng)。

      作者單位

      濰坊工程職業(yè)學(xué)院 山東省青州市 262500

      猜你喜歡
      數(shù)碼管
      物理項目教學(xué)設(shè)計,用單片機控制四位數(shù)碼管顯示
      藍橋杯樹莓派模擬題解析三:“電子測距儀”
      基于數(shù)碼管故障診斷的算法研究
      基于51單片機的分數(shù)計數(shù)器設(shè)計
      Arduino編程
      Arduino編程
      MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
      單片機控制的四位數(shù)碼管動態(tài)顯示編程
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計與實現(xiàn)
      基于數(shù)碼管顯示教學(xué)實驗設(shè)計
      郎溪县| 富川| 新乐市| 介休市| 孟村| 施甸县| 新源县| 合川市| 永泰县| 吴江市| 科尔| 班玛县| 广宁县| 泰兴市| 华坪县| 肇东市| 溆浦县| 林西县| 大渡口区| 临邑县| 洛川县| 临汾市| 谷城县| 南郑县| 鄂尔多斯市| 临泽县| 杭锦后旗| 大新县| 同心县| 襄汾县| 南靖县| 新乡市| 邓州市| 台东县| 天镇县| 东宁县| 泰州市| 遂溪县| 溆浦县| 泸定县| 阳西县|