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