引 言
在日常數(shù)字邏輯電路實(shí)驗(yàn)中編碼譯碼顯示實(shí)驗(yàn)電路是編碼、譯碼、顯示三個(gè)電路的綜合運(yùn)用, 在數(shù)字邏輯實(shí)驗(yàn)電路中具有重要的地位, 在實(shí)驗(yàn)的過程中, 時(shí)常會(huì)出現(xiàn)顯示結(jié)果的抖動(dòng), 經(jīng)研究出現(xiàn)這種現(xiàn)象主要原因是:編碼電路的編碼信號(hào)輸入采用手工撥盤方式, 產(chǎn)生的編碼輸入信號(hào)往往不穩(wěn)定; 另外, 電路控制性能較差,不能達(dá)到自動(dòng)復(fù)位, 為此有必要對(duì)現(xiàn)有電路進(jìn)行改進(jìn),在電路的設(shè)計(jì)上采用89C51 單片機(jī)為控制電路制作而成, 自動(dòng)提供穩(wěn)定編碼輸入信號(hào), 顯示結(jié)果穩(wěn)定性和電路控制性能大大提升, 提高了教學(xué)實(shí)驗(yàn)質(zhì)量。
1 編碼譯碼顯示實(shí)驗(yàn)電路的基本結(jié)構(gòu)
編碼譯碼顯示電路的基本結(jié)構(gòu)如圖1 所示, 主要由控制電路、編碼信號(hào)發(fā)生器、編碼譯碼顯示電路等組成,控制電路產(chǎn)生編碼信號(hào)作為編碼譯碼顯示電路輸入信號(hào), 譯碼電路將編碼信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的七段數(shù)碼顯示信號(hào), 送至LED 數(shù)碼管顯示。
圖1 編碼譯碼顯示實(shí)驗(yàn)結(jié)構(gòu)圖。
2 系統(tǒng)硬件設(shè)計(jì)
控制系統(tǒng)和編碼信號(hào)發(fā)生器采用89C51 單片機(jī)實(shí)現(xiàn)。89C51 性價(jià)比較高, 采用12 MHz 晶振, 其內(nèi)部帶有4 KB 的FLASH ROM, 無須外擴(kuò)程序存儲(chǔ)器。編碼譯碼電路沒有大量運(yùn)算和暫存數(shù)據(jù)。89C51 內(nèi)部的128 B片內(nèi)RAM 已能滿足要求, 無須外擴(kuò)片外RAM。
系統(tǒng)硬件設(shè)計(jì)如圖2 所示。
圖2 編碼譯碼顯示實(shí)驗(yàn)電路。
2. 1 編碼信號(hào)發(fā)生器電路
編碼信號(hào)由89C51 內(nèi)部編程控制, 鍵盤輸入 0~ 8從P0. 0~ P0. 7 口送給編碼器74LS147, 9 從P2. 0 口送給編碼器, 具體編碼見表1。
表1 編碼信號(hào)表
2. 2 鍵盤設(shè)計(jì)
鍵盤采用4×3 陣列結(jié)構(gòu)設(shè)計(jì), P1. 0~ P1. 3 為鍵盤掃描高4 位, P1. 4~ P1. 6 為低4 位。設(shè)計(jì)有 0 ~ 9 、Rst( 復(fù)位) 、S er( 順序) 。列線通過電阻接正電源, 并將行線所接的單片機(jī)的I/ O 口作為輸出端, 而列線所接的I/ O 口則作為輸入。當(dāng)按鍵沒有按下時(shí), 所有的輸出端都是高電平, 代表無鍵按下。行線輸出是低電平,一旦有鍵按下, 則輸入線就會(huì)被拉低, 這樣, 通過讀入輸入線的狀態(tài)就可得知是否有鍵按下。
2. 3 編碼譯碼顯示電路
編碼譯碼顯示電路主要由編碼器( 74LS147) 、六反相器( 74AC04) 、譯碼器( 74LS247) 、七段LED 數(shù)碼管組成。編碼器74LS147 的1~ 5 腳, 10~ 13 腳為編碼輸入端, 低電平有效, 實(shí)驗(yàn)時(shí)可用接地作為低電平輸入;14, 6, 7, 9 腳為編碼輸出( 反碼) ; 16, 8 腳為電源正負(fù)極。
譯碼器74LS247 的6, 2, 1, 7 腳為譯碼輸入( 高電平有效) ; 9~ 15 為譯碼輸出; 8, 16 腳為電源正負(fù)極。六反相器( 74AC04) 主要是解決編碼器74HC147 和譯碼器74LS247 信號(hào)匹配問題, 共有6 組輸入與輸出, 只取其中4 組。七段LED 數(shù)碼管主要是顯示譯碼器輸出狀態(tài)。
電路主要原理是在74LS147 輸入011111111~ 111111110, 編碼后得到4 位反碼, 經(jīng)74AC04 反相后送到74LS247, 由74LS247 驅(qū)動(dòng)LED數(shù)碼管, 正確時(shí)能顯示0~ 9。
3 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)由初始化、鍵盤掃描、編碼程序三部分組成。開始進(jìn)行初始化, P0、P2 口按復(fù)位狀態(tài)附值輸出,LED 無顯示。然后4 ! 3 陣列式鍵盤開始進(jìn)行掃描, 當(dāng)判斷有鍵按下時(shí), 延時(shí)去鍵抖動(dòng), 判斷是否務(wù)抖動(dòng), 當(dāng)確定判斷是有鍵按下時(shí), 等待閉合鍵釋放, 保存鍵值。根據(jù)鍵值調(diào)用編碼程序, 將表1 對(duì)應(yīng)的編碼送到P0, P2口輸出, 主程序流程圖如圖3 所示。
圖3 主程序流程圖。
當(dāng)按Ser( 順序序列) 鍵時(shí), 依次按1~ 9 編碼值送至P0, P2 口, 間隔0. 5 s 輸出。Ser 編碼編碼子程序如下:
4 系統(tǒng)仿真與調(diào)試
Proteus 是一個(gè)基于Pro Spice 混合模型仿真器的,完整的嵌入式系統(tǒng)軟、硬件設(shè)計(jì)仿真平臺(tái)。編碼譯碼顯示電路能很方便地在此平臺(tái)上進(jìn)行調(diào)試和仿真, 延時(shí)時(shí)間同選用的單片機(jī)和所用晶體振蕩器有關(guān), 在調(diào)試時(shí)須注意。
5 結(jié) 語
提出了一款編碼譯碼顯示實(shí)驗(yàn)電路設(shè)計(jì), 其控制系統(tǒng)和編碼信號(hào)發(fā)生器采用89C51 單片機(jī)實(shí)現(xiàn), 經(jīng)Proteus 仿真和實(shí)驗(yàn)調(diào)試結(jié)果來看, 大大改善了電路的性能, 電路制作方便、操作簡(jiǎn)單, 在數(shù)字邏輯電路實(shí)驗(yàn)教學(xué)中具有一定的推廣價(jià)值, 電路主要不足是不能實(shí)現(xiàn)故障自動(dòng)檢查, 如果能對(duì)電路故障進(jìn)行自動(dòng)檢測(cè), 電路性能將更加完善。
-
led
+關(guān)注
關(guān)注
241文章
23136瀏覽量
658447 -
編碼
+關(guān)注
關(guān)注
6文章
935瀏覽量
54762 -
信號(hào)發(fā)生器
+關(guān)注
關(guān)注
28文章
1454瀏覽量
108652
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論