葉惠琴
摘 要:文章介紹了一款以單片機AT89S52為控制器的16×16的漢字顯示系統(tǒng)的軟硬件設(shè)計。該系統(tǒng)可實現(xiàn)中英文字符的顯示和動態(tài)特效顯示,并且可以通過級連的方式來擴大顯示屏幕的尺寸以達到增加顯示內(nèi)容的目的。
關(guān)鍵詞:單片機;16×16點陣;漢字
1 系統(tǒng)說明
文章設(shè)計的是一種有AT89S52單片機控制的16×16的LED漢字顯示屏。當(dāng)掃描周期小于24.15ms時,由于人眼視覺殘留效應(yīng),人眼觀察不到的LED為連續(xù)穩(wěn)定的發(fā)光,文章采用動態(tài)掃描方式顯示漢字,所謂動態(tài)掃描顯示模式簡單概括就是逐行輪流點亮。把所有同一行發(fā)光管的陽極連接在一起,所有同一列發(fā)光管的陰極連在一起,首先送出對應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第一行使其點亮一定的時間,熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其點亮相同的時間,熄滅;直到第十六行顯示完后又重新點亮第一行,這樣反復(fù)輪回。采用掃描方式進行顯示時,每行有一個行驅(qū)動器,各行的同名列共用一個列驅(qū)動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按8位一個字節(jié)的形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都送到相應(yīng)的列驅(qū)動器上。
2 系統(tǒng)結(jié)構(gòu)
整個系統(tǒng)由單片機、74HC595、74HC138、74HC245D和LED點陣組成,顯示由四塊8*8的LED點陣塊組成,以89S52系列單片機為控制核心。單片機的P1.0-P1.3通過74HC245D連接74HC138的輸入口A、B、C及138的使能端(控制H1~H8的74HC138的E1及H9~H16的74HC138的E3端);P2.0-P2.4通過74HC245D連接74HC595的輸入口SHCP、STCP、DS(第一行R1)、DS第二行R2)及EN(控制兩個74HC138的E2)。點陣?yán)锩嫱恍械陌l(fā)光二極管正極接在一起,同一列的負(fù)極接到一起。點陣的16列數(shù)據(jù)線驅(qū)動由2 片74HC595級聯(lián)組成,前一片74HC595的Q7引腳連接下一片的DS引腳,各片的SHcp、STcp引腳分別并聯(lián)。兩塊74HC138譯碼器的16個輸出端連接漢字點陣的16個列線控制端。74HC138通過譯碼選通時輸出端為一個低電平,無法驅(qū)動點陣?yán)锏男?,因此?38與點陣之間連接上4953SS,通過138選通4953SS驅(qū)動點陣。如圖1所示。
圖1 點陣顯示板總原理圖
3 點陣原理說明
8X8點陣共由64個發(fā)光二極管組成,每個發(fā)光二極管是放置在行線和列線的交叉點上,當(dāng)對應(yīng)的某一行置1電平,某一列置0電平,則相應(yīng)的二極管就亮;如要將第一個點紅色點亮,則24腳接高電平20腳接低電平,則第一個點紅點就亮;如果要將第一行點亮,則第24腳要接高電平,而(20、19、18、17、16、15、14、13)這些引腳接低電平,第一行紅色就會全部點亮;如要將第一列點亮,則第20腳接低電平,而(24、23、22、21、4、3、2、1)接高電平,那么第一列紅色就會點亮。(本項目有雙色板及單色板),其硬件接線圖如圖2所示。文章使用點陣顯示漢字是用的16*16的點陣宋體字庫,所謂16*16,是每一個漢字在縱、橫各16點的區(qū)域內(nèi)顯示的。也就是說得用四個8*8點陣組合成一個16*16的點陣。
4 調(diào)試分析
4.1 硬件調(diào)試問題分析
單色板做了改進,通過74HC245D再連接到138的E2端,控制兩塊138的選通譯碼。單色板的反相器接法及使用如圖3所示。單色板在保護方面也做了改進。在控制138選通譯碼的同時控制138有全能端,使它處于譯碼有效狀態(tài)。當(dāng)在高速選通行時對C228進行充放電,只要譯碼選通達到一定頻率,就可以使C228的左端保持一個高電平,E1_2保持低電平,E3_1保持高電平,138處于譯碼狀態(tài)。當(dāng)不需要138譯碼時,LA處于一個靜態(tài)模式,E1_2為高電平,E3_1為低電平,使兩個138處不譯碼狀態(tài)。當(dāng)通電的屏幕處于不工作狀態(tài)時,可以使正個屏幕的行處于不選中狀態(tài),避免第一行在屏幕不工作也處于亮的狀態(tài),起到保護作用。這個電路只適合使用在高頻CPU的控制模式下。
圖3 單色板的反相器接法及使用
改正方案:(1)使用工作頻率更高的CPU。(2)把C228換用容量更大的電容,延長放電時間,達到使E1_2保持低電平,E3_1保持高電平的功能。(3)更改電路控制,斷開LA(取下R7),74HC04的3號腳直接接電源正極。由于條件所限,作者選擇了方案3。
4.2 軟件調(diào)試問題分析
(1)第一次使用雙色板進行調(diào)試時,由于沒有把握好595的時序,在送移位脈沖的同時送鎖存脈沖,在破壞本來傳送在595里面的數(shù)據(jù),再送行顯示時,整個屏幕處于亂碼現(xiàn)象。處理方法:通過模擬串口送完8個字節(jié)(顯示4個字)后,再模擬一個上升沿,形成一個鎖存脈沖,再選中該行。(2)在使用單色板調(diào)試時,把EN接地,無法控制,在漢字顯示時閃爍感太明顯。經(jīng)過測試后,把EN用一個IO口控制,每次送行數(shù)據(jù)之前EN置1,使138處于不選中狀態(tài),送完數(shù)據(jù)后再把EN復(fù)位,再選中行,通過一段延時再循環(huán)操作。通過控制延時的長短可以控制屏幕的亮度,但延時時間不能太長,過長會使屏幕閃爍得更明顯。
5 結(jié)束語
該項目中遇到了兩個問題,總結(jié)如下:(1)點陣的硬件電路中,由于51的主頻不夠高,導(dǎo)致時序不緊密,因此不能實現(xiàn)74hc04電路的控制。又因74hc138的使能端狀態(tài)很不穩(wěn)定,導(dǎo)致顯示不正常。修改電路后,點陣顯示正常了。(2)由于點陣是大功率負(fù)載,需要很大的驅(qū)動電流。而過大的電流會把電壓拉低,因此點陣的電源應(yīng)該獨立,提高系統(tǒng)的穩(wěn)定性會。
參考文獻
[1]陳明螢.8051單片機課程設(shè)計實訓(xùn)教材[M].清華出版社,2004.
[2]康華光,鄒壽彬.電子技術(shù)基礎(chǔ)數(shù)字部分[M].高等教育出版社,2000.
[3]李昌禧.智能儀表原理與設(shè)計[M].化學(xué)工業(yè)出版社,2005.
[4]祁偉.單片微型計算機原理與接口技術(shù)教程[M].2007.