新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機的編碼譯碼顯示實驗電路設計

        基于51單片機的編碼譯碼顯示實驗電路設計

        作者: 時間:2011-11-12 來源:網絡 收藏

        2. 1 編碼信號發生器電路

        編碼信號由 內部編程控制, 鍵盤輸入 0~ 8從P0. 0~ P0. 7 口送給編碼器74LS147, 9 從P2. 0 口送給編碼器, 具體編碼見表1。

        表1 編碼信號表
        基于51單片機的編碼譯碼顯示實驗電路設計
        編碼信號表

        2. 2 鍵盤設計

        鍵盤采用4×3 陣列結構設計, P1. 0~ P1. 3 為鍵盤掃描高4 位, P1. 4~ P1. 6 為低4 位。設計有 0 ~ 9 、Rst( 復位) 、S er( 順序) 。列線通過電阻接正電源, 并將行線所接的單片機的I/ O 口作為輸出端, 而列線所接的I/ O 口則作為輸入。當按鍵沒有按下時, 所有的輸出端都是高電平, 代表無鍵按下。行線輸出是低電平,一旦有鍵按下, 則輸入線就會被拉低, 這樣, 通過讀入輸入線的狀態就可得知是否有鍵按下。

        2. 3 顯示電路

        顯示電路主要由編碼器( 74LS147) 、六反相器( 74AC04) 、譯碼器( 74LS247) 、七段LED 數碼管組成。編碼器74LS147 的1~ 5 腳, 10~ 13 腳為編碼輸入端, 低電平有效, 實驗時可用接地作為低電平輸入;14, 6, 7, 9 腳為編碼輸出( 反碼) ; 16, 8 腳為電源正負極。

        譯碼器74LS247 的6, 2, 1, 7 腳為譯碼輸入( 高電平有效) ; 9~ 15 為譯碼輸出; 8, 16 腳為電源正負極。六反相器( 74AC04) 主要是解決編碼器74HC147 和譯碼器74LS247 信號匹配問題, 共有6 組輸入與輸出, 只取其中4 組。七段LED 數碼管主要是顯示譯碼器輸出狀態。

        電路主要原理是在74LS147 的 輸入011111111~ 111111110, 編碼后得到4 位反碼, 經74AC04 反相后送到74LS247, 由74LS247 驅動LED數碼管, 正確時能顯示0~ 9。

        3 系統軟件設計

        軟件設計由初始化、鍵盤掃描、編碼程序三部分組成。開始進行初始化, P0、P2 口按復位狀態附值輸出,LED 無顯示。然后4 ! 3 陣列式鍵盤開始進行掃描, 當判斷有鍵按下時, 延時去鍵抖動, 判斷是否務抖動, 當確定判斷是有鍵按下時, 等待閉合鍵釋放, 保存鍵值。根據鍵值調用編碼程序, 將表1 對應的編碼送到P0, P2口輸出, 主程序流程圖如圖3 所示。

        主程序流程圖
        201012301573194.jpg



        關鍵詞: 89C51 編碼譯碼

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 甘孜| 城市| 新余市| 精河县| 东乡族自治县| 荆州市| 龙泉市| 海城市| 温泉县| 武汉市| 镇雄县| 内丘县| 芦山县| 昂仁县| 山阴县| 烟台市| 巨鹿县| 五大连池市| 苗栗县| 遂平县| 丰城市| 平度市| 驻马店市| 商河县| 平定县| 双城市| 社会| 新和县| 塔城市| 永善县| 兴化市| 清原| 新郑市| 革吉县| 延寿县| 滨州市| 太仆寺旗| 汨罗市| 武定县| 吴桥县| 文成县|