基于 MCU 的經典數字電路邏輯功能模擬系統(tǒng)
引 言
目前,數字電子技術課程的學習內容依然基于經典的 74 系列數字邏輯電路,相應的數字電子技術實驗也要使用該系列的芯片,但隨著半導體技術的飛速發(fā)展,集成電路的集成度和性能大大提高,且成本很低 [1],導致經典的 74 系列數字邏輯電路芯片在工程中的使用越來越少 [2],生產廠家也隨之減少,零售價越來越高,使得實驗室的維護成本不斷增加。另一方面,數字電子技術課程教學往往是理論教學與實驗教學分開進行,不利于學生快速理解數字邏輯電路和提高工程應用能力。因此,本文利用 MCU 成本低廉、性能強大的優(yōu)勢 [3],設計了一款基于 MCU 的經典 74 系列數字電路邏輯功能模擬系統(tǒng)。
1 系統(tǒng)硬件設計
本系統(tǒng)以國產增強型 8051 系列 MCU—STC15W4K32S4 為核心 [4],利用撥碼開關控制經典數字邏輯電路的輸入狀態(tài), LED 燈指示經典數字邏輯電路的輸出狀態(tài),構成模擬經典數字邏輯電路的主體。同時,系統(tǒng)的邏輯功能可由按鍵控制, 并通過 LCD1602 液晶顯示屏顯示系統(tǒng)正在模擬的經典數字邏輯電路型號 [5]。系統(tǒng)的硬件組成如圖 1 所示。
撥動開關共 8路,分別控制 MCU8個引腳的輸入電平; LED燈共 8路,其狀態(tài)受 MCU引腳獨立控制,亮表示相應的輸出端為高電平,滅表示相應的輸出端為低電平。按鍵共 兩個,一個用于切換 MCU的工作狀態(tài),使之模擬多個經典數字邏輯電路 ;另一個按鍵用于模擬時序邏輯電路的時鐘脈沖。
此外,硬件系統(tǒng)中加入了基于 CH340 的串口轉 USB 電路 [6],并且使用比較流行的 Micro USB 接口 [7],系統(tǒng)的供電和程序的下載均可通過一條主流智能手機的數據線來完成, 進一步降低了成本,提高了便攜性。
2 系統(tǒng)功能設計
本系統(tǒng)所涉及的邏輯功能利用 C 語言編程實現,在 Keil 軟件中完成代碼的編譯與調試 [8]。系統(tǒng)在一個硬件平臺上, 通過軟件編程實現了多個經典的數字邏輯電路的功能模擬, 見表 1 所列。
由表 1 可知,系統(tǒng)既實現了簡單的組合邏輯電路,又實現了復雜的時序邏輯電路,涵蓋了數字電子技術課程中主要數字電路型號。MCU 具有 32 KB 的片上 FLASH ROM 和4 KB 片上 RAM, 屬于增強型 51 系列 MCU, 在現有邏輯功能的基礎上, 仍可繼續(xù)增加軟件代碼, 以實現其他功能。
3 程序設計
在搭建好的硬件平臺上進行軟件編程以實現所需功能 :
(1) MCU上電后初始化,在 LCD1602上顯示開始信息 ;
(2) 系統(tǒng)實時檢測選擇按鍵的狀態(tài),隨時準備切換功能 ;
(3) 功能選定后,MCU將按照規(guī)劃好的引腳分配相應的軟件代碼,實現對應數字電路的邏輯功能。
3.1 組合邏輯電路的實現
基本邏輯門、譯碼器和數值比較器等屬于組合邏輯電路。組合邏輯電路在邏輯功能上的特點是任意時刻的輸出僅僅取決于該時刻的輸入,與電路原來的狀態(tài)無關。采用掃描方式實現組合邏輯電路。MCU 不斷讀取撥動開關陣列的電平狀態(tài),經 MCU 運算轉換后,將結果通過 LED 燈實時顯示。
3.2 時序邏輯電路的實現
觸發(fā)器、計數器等屬于時序邏輯電路。時序邏輯電路在邏輯功能上的特點是任意時刻的輸出不僅取決于當時的輸入信號,而且還取決于電路原來的狀態(tài),或者說,還與以前的輸入有關,并且時序邏輯電路狀態(tài)的改變發(fā)生在 CP 信號的跳變沿 [9]。采用外部中斷方式實現時序邏輯電路,使用 CCP 捕獲功能檢測跳變沿 [10]。實現時序邏輯電路時,MCU 保存上一次跳變沿時的系統(tǒng)狀態(tài),下一次跳變沿到來后,由已保存的上一次狀態(tài)與當前輸入狀態(tài)共同決定當前時刻的輸出,并將結果通過 LED 燈直觀顯示。
4 結 語
本文設計的經典 74 系列數字電路邏輯功能模擬系統(tǒng)在同一個以 MCU 為核心的硬件平臺上,可實現多款經典數字電路的邏輯功能,并且可根據實際需求隨時通過軟件編程修改系統(tǒng)功能,以完成對所需邏輯電路的模擬。該系統(tǒng)可有效降低高校電子技術基礎實驗室的維護成本。此外,該系統(tǒng)體積小巧,可隨身攜帶,便于在理論課的課堂中同時進行理論學習和實驗研究。