• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 以從0開始做4位8段共陰數碼管3461AS驅動

    以從0開始做4位8段共陰數碼管3461AS驅動

    作者: 時間:2017-01-16 來源:網絡 收藏

      1)問題產生

    本文引用地址:http://www.czjhyjcfj.com/article/201701/342939.htm

      在上一篇“ 以控制直流電機為例建一個簡單的51工程框架”中已向大家介紹了一個封裝好的8位8段的驅動(如下圖中FUNC文件夾下led8.c文件)。

        

     

      但是該驅動電路是要有一定的硬件基礎的(如下圖):如2片74HC573。而我這里只有幾個4位8段共陰又沒有74HC573,所以就得尋求用51直接驅動的方案了!

        

     

      2)失敗嘗試

      失敗操作:直接在相應的引腳間加5伏電壓來測試該是否正常

      結果:燒壞了2個3461AS

      分析:被第二張圖騙了,以為3461AS可以承受01電平產生的壓差,而真實情況如下圖:在P0口有10K的排阻,然后測量一下電壓終于恍然大悟!

        

     

      3)最終方案

      在第二步到第三步之間還找到一個例子:他采用3-8譯碼器然后串聯電阻進行保護。

        

     

      因為有3-8譯碼器的例子我的直驅的想法得到進一步的驗證,于是綜合上面的分析給出了下面的方案:

        

     

      4)使用方法

      同樣的我把關于3461AS封裝起來(如下)

        

     

      在要使用該功能的文件中首先包含頭文件,然后引用DuanMa數組、TempData數組以及用于顯示的Display函數。

        

     

      然后在想要顯示數據前把數據存儲在TempData中(TempData[0]表示要顯示的第一個數字,這里把共陰8段數碼管顯示從0~F的值存儲在DuanMa數組中。因此要讓第一個數字顯示2則只要TempData[0]=DuanMa[2])。當在TempData中設置好要顯示的信息后就可以調用Display函數進行刷新數碼管顯示(Display的第一個參數表示從第幾個數碼管開始顯示,例如FirstBit=0表示從第一個數碼管開始顯示num位數據)

        

     

      注:要保證Display有比較快的刷新頻率

      5)知識共享

      https://github.com/beautifulzzzz/stc89c51-or-stc89c52

        



    關鍵詞: PWM 數碼管

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 如皋市| 东乌| 仪征市| 剑川县| 赣榆县| 安溪县| 城固县| 溧阳市| 雷山县| 平安县| 元朗区| 黔西县| 五指山市| 清涧县| 连云港市| 佳木斯市| 长岭县| 纳雍县| 冀州市| 苏尼特左旗| 泽普县| 吉安市| 通化市| 郸城县| 河南省| 竹北市| 黄大仙区| 普格县| 肃北| 奉节县| 如皋市| 贵阳市| 新乡县| 黔西| 应城市| 曲松县| 抚顺市| 淮安市| 莲花县| 淮安市| 响水县|