微機原理與接口技術!開放性實驗建設
--- 點陣LED顯示器顯示漢字!實驗
周杰英,?陳曼娜,?王?濤,?林?毅,?郭釗杰
(中山大學信息殼學與技術學院電子與通信工程系,廣東廣州510275)
摘?要:在 TPC?H通用微機接口實驗系統!的基礎上,利用其J7端子的通用插座開發外接實驗電路板,設計出 點陣LED顯示器顯示漢字!實驗電路。該實驗電路可在面包板上實現,實驗者可根據實驗原理和要求,從實驗電路著手,進行面包板上的電路連接、安裝,上機編程調試等操作,有助于實驗者深刻理解實驗原理與電路,提高動手能力。
關鍵詞:微機原理與接口技術;點陣LED顯示器;TPC?H實驗箱;J7端子
1?引?言
微型計算機的發展十分迅速,無論是工作速度,還是存儲容量,都成千倍地提高,而價格又急劇下降。在信息社會,微機成了人們不可缺少的工具。 微機原理與接口技術!成為大學電子類專業一門非常重要的必修課程。
微機系統原理與接口技術是一門應用性、實踐性很強的課程,學習不能只停留在課本上,而應該動手操作,更直觀地學習微機工作原理,并學會對一些常見的微機接口進行設計和調試。 微機原理與接口技術!開放性實驗建設的目的也正在于此。
目前微機原理與接口實驗室使用 TPC?H通用微機接口實驗系統!供學生上機實驗操作,在該系統上,學生可以完成 微機接口實驗!教學大綱中要求的各種實驗。實驗系統不僅讓一些經典的微機接口實驗更加方便,而且具有很強的開發能力和靈活性,可以讓學生動手設計實驗,發揮學生創造能力。
為了讓學生得到更好鍛煉,利用 TPC?H通用微機接口實驗系統!實驗箱上J7口的接線端子外接電路板,在電路板上開發出 點陣LED顯示器顯示漢字!實驗,學生可根據實驗原理和要求,從實驗電路著手,進行面包板上的電路連接、安裝,上機編程調試等操作,有助于實驗者深刻理解實驗原理與電路,提高動手能力。
2?TPC?H通用微機接口實驗系統J7端子
TPC?H通用微機接口實驗系統!上設有7個接線端子,標號為J1?J7。J7端子是一個20芯通用插座,可用于外接用戶開發的實驗板,我們開發的 點陣LED顯示器顯示漢字!實驗電路就是從這個接線端子引出的。J7端子的各引腳順序如表1所示,各引腳功能為:
VCC、GND:電源線(+5V)和地線;
D0?D7:8位數據線;CS:片選信號,當CPU選中地址2B0H?2B7H時,CS將變低,以選中外接板;
A0?A1:2位地址線,可以提供4個地址;IOR、IOW:外設讀、寫信號,低電平有效;IRQ:中斷請求信號,高電平有效;CLK:時鐘脈沖信號;RES:RESET信號。
3?點陣LED顯示電路
設計的點陣發光二極管顯示電路上共有四片LED顯示器,通過軟件編程,每片都可以單獨工作,也可以多片同時顯示。不管是單片還是多片顯示,都必
須采用動態顯示的方法顯示信息。電路上主要采用的器件有:點陣LED顯示器、74HC138譯碼器(用于地址譯碼)、74HC273觸發器(用于鎖存行、列的數據)及一些門電路等。在實驗過程中,學生可以以顯示漢字為例,學習如何利用點陣LED顯示器顯示各種符號,從中掌握微機系統I/O地址譯碼、并行接口等工作原理,以及LED的動態顯示技術的實現方法等。
3.1?電路使用器件
3.1.1?點陣LED顯示器
點陣LED顯示器是由很多的LED縱橫排列成一個顯示矩陣,當點陣中某些LED被點亮的時候,就能顯示出相應的信息,如文字、圖形等。
本實驗板上使用的是4片共陽極8#8點陣LED顯示器(型號為JX?1088BH),組成一個16#16的點陣LED顯示器,用來實現一個16#16漢字的顯示。??
JX?1088BH的點陣結構圖如圖1所示。該器件有16條引腳,其中8條為行線,8條為列線。為使某一個LED發光,只需將其對應的行線加高電平,列線加低電平即可。
3.1.2?74HC138譯碼器
74HC138是一個3?8譯碼器,可以對3位二進制數進行譯碼,被選中的輸出端將輸出低電平,否則輸出高電平。本實驗將使用它來對兩位地址線進行譯碼。74HC138的引腳圖如圖2所示。其真值表如表2所示,其中H表示高電平,L表示低電平,#表示任意輸入,G2=G2A+G2B。由于G2是低電平有效,故常用它來做片選信號,實驗中它將被接至J7端子的CS引腳上。另外,在該電路中,由于J7地址線只有兩根,故輸入端只使用A、B引腳,對應的輸出只用Y0?Y3引腳,引腳輸出為低電平時被選中。
74HC273內部包含8個D觸發器,它們使用公共的時鐘脈沖及異步清零信號,觸發方式為邊沿觸發。其引腳圖如圖3所示。其中VCC、GND:電源線(+5V)和地線;
MR:MasterReset信號,當其為低電平時輸出被清零;
CP:時鐘脈沖信號,上升沿觸發;D0?D7:輸入信號;
Q0?Q7:輸出信號。
74HC273真值表如表3所示,其中H表示高電平,L表示低電平,#表示任意輸入,表示上升沿觸發。
3.2?電路工作原理及電路圖
3.2.1?單片點陣LED顯示器的顯示電路
由于點陣LED顯示器有8位行信號和8位列信號,故需要兩片74HC273鎖存器分別加以鎖存,并需要占用兩個地址空間。其地址分配如圖4所示,當A1A0=00時,D7?D0為列信號,當A1A0=01時為行信號。
工作時,可以讓點陣LED顯示器分8行逐行顯示,也可以逐列顯示。以前者為例,先向行地址輸出數據80H,這時只有第一行為高電平,被選中,再向列地址輸出相應的數據(注意因為點陣LED是共陽極,故列信號為低電平時對應的LED被點亮),就可以顯示第一行。同樣的,逐次向行地址輸出40H,20H,?,01H,選中相應的行,并顯示各行信息,如此循環顯示八個行,注意在顯示兩個行之間加入適當的延時(約1ms),以確保LED被充分點亮,這樣在視覺上就可以顯示出完整的信息。
3.2.2?多片點陣LED顯示器的顯示電路
為實現漢字的顯示,希望有四片點陣LED顯示器同時工作。在電路上不能簡單地按照上一節的方案來實現,這是因為按上述方案,每片顯示器要占用兩個地址空間,四片就需要8個地址,而J7接線端子只能提供4個地址(兩根地址線),顯然地址線不夠用。
為使四片顯示器同時工作,必須重新分配地址,一種方案如圖5所示。
按照電路,當行2地址為00H或10H時,第(3)、(4)片顯示器沒有行被選中,故它們都沒有顯示,這時行1(地址01H)可以用來選中(1)、(2)片的同一行,地址00H和10H用來選擇兩列中的某一列(連D觸發器的CLK引腳),當列1、列2輸入不同數據時,(1)、(2)片被選中的行可以顯示各自的信息。
同樣的,當行1為00H或10H時,第(1)、(2)片顯示器被屏蔽,這時行2(地址11H)用于選中(3)、(4)片的行,地址00H和10H用來選擇兩列中的某一列,列1、列2讓選中的行顯示各自的信息。
按照上述方案,可設計出四片點陣LED顯示器的顯示電路圖如圖6所示。由于電路有兩個8位行數據、兩個8位列數據,所以總共需要四片74HC273來鎖存行、列數據。地址譯碼輸出與IOW相或的結果將作為74HC273的時鐘脈沖信號。74HC32為四個或門的電路。
3.3?匯編語言編程實現LED顯示功能
程序采用逐行顯示的方法,讓四片點陣LED顯示器顯示一個漢字,先逐行顯示第(1)、(2)片顯示器,再顯示第(3)、(4)片,如此循環顯示。之所以采用逐行顯示而不用逐列顯示,是因為這樣跟一般的點陣字庫的結構相似,程序也容易編寫、理解。
在編寫程序中要注意下面這些問題:
(1)在顯示完某一行之后,在顯示下一行之前要把當前的行顯示的信息清除掉。74HC273具有鎖存功能,當選中第(1)、(2)片顯示器的第n行,并置入它們的列數據之后,兩個列上的74HC273將會鎖存第n行的列數據。延時之后,如果立即選中第n+1行,那么在置入新的列數據之前,列數據仍為第n行的數據,這樣會造成在短暫的時間里,第n+1行顯示第n行的信息(這種現象在第(2)片上猶為明顯,因為它的下一行的列數據比第(1)片更慢置入)。顯然這樣的多余顯示是不允許的。為了消除這種現象,必須在選中第n+1行之前,把兩個列的74HC273鎖存器輸出全部置 1!,也即把第n行顯示的信息清掉。
(2)在任意的兩行顯示之間,必須插入適當的延時。如果延時太短,那么LED可能還沒被完全點亮,造成亮度不夠;如果延時太長,又會造成比較明顯的閃爍感。實驗證明,大約延時1000?2000個指令周期,將可以達到很好的效果。
4?結?語
為了讓學生能有機會實際操作微機及其接口,得到更多、更好的鍛煉,利用實驗室現有的 TPC?H通用微機接口實驗系統!實驗箱上J7口的接線端子外接電路板,在電路板上開發出 點陣LED顯示器顯示漢字!實驗,學生可根據實驗原理和要求,從實驗電路著手,進行面包板上的電路連接、安裝,上機編程調試等操作,有助于實驗者深刻理解實驗原理與電路,提高動手能力。實驗者若能從本項目已開發的實驗中得到啟示,靈活運用J7端口的功能,拓展思路,開發更多的實驗,則更有助于加深對微機原理和接口技術課程的理解、應用。