陳凱
數字電路是計算機科學與技術專業的基礎課程。雖然在基礎教育階段,一般不要求學生能獨立地實現從數字電路的邏輯分析到數字電路架設和調試的整個過程,但在相當多地區的物理課程和勞動技術課程中,會涉及數字電路相關知識,只是側重點有所不同。物理課程強調的是門電路輸入條件和輸出結果之間的邏輯關系,勞動技術課程強調的是電子裝置制作的整個過程中材料的選取、工具的選用以及集成電路元件的組合應用。相對而言,許多地區信息技術課程教學內容中完全不涉及數字電路,這多少是讓人感覺奇怪的事情。畢竟,數字邏輯電路是當前任何數字計算機的物質基礎。筆者試著在信息技術課程中補充了一些關于數字電路,尤其是邏輯門方面的知識,并圍繞信息技術的教學內容,設計了一些簡單的數字電路實驗。本文主要對數字電路實驗項目的選擇與實驗設備的架設做一些簡單的介紹,希望能激發出更多的討論和教學探索。
數字電路實驗項目的選擇
數字電路的實驗項目可分為教師的演示實驗和學生的動手實驗。而動手實驗,又可分為使用軟件模擬器虛擬實驗與真實的數字電路搭建實驗,圍繞信息技術教學,可安排實驗的內容主要集中在以下幾個地方。
1. 編碼與解碼
集成電路中,有許多種芯片可用于演示編碼或解碼的過程。比如,有用于各種進制間轉換的芯片、有用于控制數碼管顯示的芯片、有用于將時間長度編碼成數據的芯片等。最容易架設和演示的,大概要算是數據選擇器芯片,如74LS153,或是數控模擬開關芯片,如CD4052。利用這些芯片,教師可以通過輸入不同的二進制數據,實現控制多個電子元件的目標。比如,通過二進制數據控制LED的亮和滅,一位二進制數可選中兩個顯示終端中的某一個,兩位二進制數則可選中四個顯示終端中的某一個,依此類推,n位二進制數可選中2的n次方個顯示終端中的某一個,這樣就可以直觀地將二進制編碼的作用顯現出來。
2. 二進制運算
利用簡單的數字電路,就可以演示或實踐用二進制數進行數字與邏輯運算的過程。最簡單的邏輯運算,就是只涉及一個邏輯門,如非門、與門、或門、異或門等邏輯門的運算;而最簡單的數字運算,是利用一個與門和一個異或門實現兩個一位二進制數的加法。學生通過實際動手操作,能真切地領會到,何以說在計算機中,數字運算本質上來說都是邏輯運算。
3. 存儲程序思想
講到存儲程序思想時,可以將完全用門電路構成的計算機裝置與使用了單片機的計算機裝置兩者進行對比,用來展現可編程的通用計算機與不可編程的專用計算機的區別。比如,同樣是用四個輸入端和四個輸出端,如果配合異或門,就可搭建出一個簡易的加密裝置。然而,加密過程也被固定下來無法變化,若配合單片機,就可以通過編寫程序改變加密過程。單片機可選擇51系列單片機,也可使用Arduino。
除以上提到的之外,信息技術教學內容中還有許多概念可借助數字電路得以直觀地顯現出來,例如,在講到信息傳輸時,可演示不同終端電平信號的發送和接收;在講到信息數字化時,可演示采樣及模數轉換;在講到電子計算機的技術發展相關內容時,可以用來展現計算機硬件由晶體管到集成電路,再到大規模集成電路的飛躍,等等。
數字電路實驗室的架設
那么,應該如何架設一個數字電路實驗室?一方面,希望籌備能夠用于信息技術教學的演示或實驗;另一方面,因為涉及的課時并不多,恐怕沒有必要為此專門準備一個專用的實驗室。如果預算有限,完全可以利用現有的計算機房,架設起簡易的數字電路的演示與動手實驗設備。具體要求有:實驗設備和器材使用、檢測和調試方便,價格便宜、占空間小、可反復使用、收放容易。
經過綜合考慮,最終確定每一組學生使用器材清單如下:
實驗用面包板一塊及連接線若干,供反復插線及臨時固定各種電子元件。
面包板電源一個,為面包版供電。
USB轉電源連接線一條,可以從計算機的USB口引電源到面包板電源,這樣就不用買電池了。
74LS04芯片一塊,內含6個非門。
74LS86芯片一塊,內含4個異或門。
74LS10芯片兩塊,內含3個與非門。
微動開關若干,用來手動輸入電平信號。
LED若干,用來輸出邏輯門運算后的結果。
電阻若干,用來限定LED和微動開關的電流,延長電子元件使用壽命。
邏輯門芯片的使用非常簡單,一般左上角引腳是電源輸入,右下角引腳是接地,其他引腳一般不是信號輸入,就是信號輸出,參考具體的產品說明書即可。
這些器材在網絡上都可以輕松購買到,價格非常低,通常只有十幾元、幾元乃至幾角錢。因為很容易在一個與非門后串接一個非門實現與門,所以清單里就沒有列與門。由于一塊集成電路芯片里包含有多個邏輯門,所以雖然芯片數量不多,但可實施的實驗種類卻很豐富。
數字電路實驗的實施問題
筆者在課堂上,借助簡單的數字電路,對二進制編碼與運算作了直觀的演示,效果比較好。但是,相對教師演示實驗而言,更難處理的,是學生的動手實驗。實驗難點主要有兩點,其一,實際操作比理論學習要復雜得多,比如,對陌生實驗器材的使用需要認識和熟悉的過程。對一張電路圖,要能識別其中符號并領會其設計意圖,對于未如預期的實驗結果,需要判別究竟是電路圖的問題,還是器材和線路的問題,等等。其二,將邏輯電路轉變為真實的數字電路,還需要增加用于輸入和輸出的電子元件,這些額外的工作,可能會使得原定教學目標有所偏移。
對于第一個問題,解決方法是,在使用真實器材動手實驗之前,先借助計算機軟件進行模擬實驗,比如Logisim,就是一款開源的數字電路模擬器軟件。不僅可以方便地畫出數字電路圖,還可以模擬運行并觀察運行結果。
至于第二個問題,解決方法是,由教師將數字電路的輸入和輸出部分搭建好,比如,下圖所示的,是用兩個微動開關來控制邏輯門的兩個輸入,用一個LED來顯示邏輯門的輸出。紅色線條表示電源輸入,黑色線條表示接地,而黃色線條表示信號線。
(圖3:輸入端,微動開關按鈕按下代表數字信號1,不按代表數字信號0。圖4:輸出端,LED亮起代表數字信號1,不亮代表數字信號0。)
有了輸入和輸出這兩部分,留給學生的,是集中精力完成中間的邏輯門的搭建。學生只要將微動開關輸入的信號線(即左圖中標為黃色的線)連接到邏輯門芯片的信號輸入引腳,然后將邏輯門芯片的信號輸出引腳連接線路至LED的信號線(即右圖中標為黃色的線),就可以觀察單個邏輯門,或多個邏輯門組合后,輸入信號和輸出信號相互的關系。
盡管如此,一個比較簡單的驗證性的實驗,比如搭建一個兩輸入一位二進制數的加法器,即半加器,至少也需要整整一個課時的時間。實際上,圍繞簡單的邏輯門,有著眾多值得挖掘的素材,供學生在拓展課或研究性學習中自主探索。
(作者單位:上海位育中學)