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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 利用80C31單片機串行口實現多個LED顯示的一種簡單方法

    利用80C31單片機串行口實現多個LED顯示的一種簡單方法

    作者: 時間:2012-03-14 來源:網絡 收藏

    系統中,常常用數碼管()做器。一般的器為4位或8位,即需要4個或8個。這種比較多,也比較。但是,對于顯示,就必須采取必要的措施才能。本文介紹一種設計,設計的多路LED顯示系統具有硬件結構,軟件編程方便,價格低廉的特點,經在儲蓄所大屏幕利率顯示屏中應用,效果很好。

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

    1 硬件電路

    是MCS-51系列的一種,它廣泛應用于各種小型控制系統中。我們知道,單片機有一個口可用于通訊,筆者發現它在方式0狀態下,還可以擴展并行I/O口,從而LED顯示,其硬件原理如圖1所示。其中,74HC164為輸入、并行輸出移位寄存器,74HC164為單向總線驅動器,LED采用5EF1183KR型共陰極數碼管。

    59.jpg

    單片機復位時,串行口為方式0狀態,即工作在移位寄存器方式,波特率為振蕩頻率的十二分之一。參看圖2,器件執行任何一條將SBUF作為目的寄存器的命令時,數據便開始從RXD端發送。在寫信號有效時,相隔一個機器周期后發送控制端SEND有效,即允許RXD發送數據,同時,允許從TXD端輸出移位脈沖。第一幀(8位)數據發送完畢時,各控制信號均恢復原狀態,只有TI保持高電平,呈中斷申請狀態。第一個74HC164把第一幀數據并行輸出,LED1顯示該數據(發送時序如圖2所示)。然后,用軟件將TI清零,發送第二幀數據。第二幀數據發送完畢,LED1顯示第二幀數據,第一幀數據串行輸入給第二個 74HC164,LED2顯示第一幀數據。依此類推,直到把數據區內所有數據發送出去。應該注意,數據全部發送完后,第一幀數據在最后一個LED顯示。由于TXD端最多可以驅動8個TTL門,當LED顯示器超過8個時,我們采用74HC244芯片驅動。每個74HC244有8路驅動,每一路可驅動8個 LED,即每增加一個74HC244,可增加64個LED驅動。

    2 軟件編程

    該軟件程序采用MCS-51系列單片機匯編語言編制,并把顯示程序作為一個子程序,以便在主程序中調用。設LED為共限極顯示器,共有64個,顯示區首地十在內部RAM 20H單元,需顯示的數據以BCD碼依次存放在顯示區,軟件清單如下:


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 壶关县| 金乡县| 江源县| 崇州市| 霍城县| 苏尼特右旗| 宜春市| 新蔡县| 榆林市| 改则县| 若羌县| 资源县| 茌平县| 卫辉市| 九台市| 石楼县| 当阳市| 武安市| 金乡县| 开江县| 沈阳市| 新乡市| 深泽县| 广灵县| 富顺县| 兴海县| 迁西县| 红桥区| 阳曲县| 怀安县| 罗定市| 肥城市| 合作市| 昆明市| 舒兰市| 九江市| 台南市| 高密市| 嘉鱼县| 恩施市| 万荣县|