馮月芹,湯小龍
(1.南京工程學(xué)院,南京211167;2.重慶郵電大學(xué))
隨著電子產(chǎn)品需求與覆蓋面的急劇擴張,信息傳輸(輸入輸出)所涉及的中外文字庫信息解決方案也變得更加重要,一個有多種字庫的顯示/打印電子產(chǎn)品比只具備單一的ASCII碼的產(chǎn)品有更強的競爭力。在現(xiàn)在字庫應(yīng)用解決方案中,電子設(shè)備商、方案商一般會有這樣幾種方案:
①一部分的IC廠商會集成一小部分的字庫信息在IC上;
②設(shè)備商、方案商會自己購買存儲芯片(Flash等),自己獨立編寫點陣信息燒錄;
③采購標準的專業(yè)字庫IC,例如上海高通半導(dǎo)體有限公司生產(chǎn)的專業(yè)字庫芯片。
GT23H32S4W是一款內(nèi)含11×12點陣、15×16點陣、24×24點陣、32×32點陣的漢字庫芯片,支持GB2312國標漢字及ASCII字符。排列格式為橫置橫排。圖1為芯片的引腳圖。字庫芯片與CPU的硬件連接可以是并行方式,也可以是SPI方式。筆者在使用過程中發(fā)現(xiàn),并行連接不能正確讀取漢字的字模,所以這里僅介紹SPI方式。
圖1 GT23H32S4W引腳圖
單片機P89C52X2FN與字庫芯片的連接采用SPI總線的方式,SPI接口引腳描述如下:
①串行數(shù)據(jù)輸出(SO):該信號用來把數(shù)據(jù)從芯片串行數(shù)據(jù)輸入引腳輸出,數(shù)據(jù)在時鐘的下降沿移出。
②串行數(shù)據(jù)輸入(SI):該信號用來把數(shù)據(jù)從串行數(shù)據(jù)輸入引腳輸入芯片,數(shù)據(jù)在時鐘的上升沿移入。
③串行時鐘輸入(SCLK):數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。
④片選輸入(CS#):所有串行數(shù)據(jù)傳輸開始于CS#下降沿,CS#在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平。硬件電路連接圖如圖2所示。
圖2 單片機與GT23H32S4W的電路連接圖
字庫芯片的操作分為一般讀取和快速讀取。這里采用快速讀?。≧EAD_FAST)方式,具體操作步驟如下:
①首先把片選信號(CS#)變?yōu)榈碗娖?,緊跟著的是1個字節(jié)的命令字(0Bh)和3個字節(jié)的地址以及一個字節(jié)Dummy Byte通過串行數(shù)據(jù)輸入引腳(SI)移位輸入,每一位在串行時鐘(SCLK)上升沿被鎖存;Dummy Byte代表無意義的內(nèi)容,是什么值都可以,主要起到填充、隔離數(shù)據(jù)的作用。
②然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出,每一位在串行時鐘(SCLK)下降沿被移出。
③如果片選信號(CS#)繼續(xù)保持為低電平,則下一個地址的字節(jié)數(shù)據(jù)繼續(xù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出。例如讀取一個15×16點陣漢字需要32字節(jié),則連續(xù)32個字節(jié)讀取后結(jié)束一個漢字的點陣數(shù)據(jù)讀取操作。如果不需要繼續(xù)讀取數(shù)據(jù),則把片選信號(CS#)變?yōu)楦唠娖?,結(jié)束本次操作。圖3是快速讀取點陣的時序圖。
字庫芯片GT23H32S4W有多種字型:11×12、15×16、24×24、32×32點陣。這里使用15×16點陣。在GT23H32S4W里,15×16點陣的GB2312標準點陣字庫的地址計算如下。其中,GBCode表示漢字內(nèi)碼;MSB表示漢字內(nèi)碼GBCode的高8位;LSB表示漢字內(nèi)碼GBCode的低8位;Address表示漢字或ASCII字符點陣在芯片中的字節(jié)地址;BaseAdd說明點陣數(shù)據(jù)在字庫芯片中的起始地址。
計算代碼如下:
圖3 快速讀取點陣芯片GT23H32S4W的時序圖
這里的變量Address、MSB、LSB定義數(shù)據(jù)類型時要注意,定義成長整型,以避免計算結(jié)果溢出,造成地址計算錯誤。
根據(jù)芯片的工作時序圖以及字模在GT23H32S4W芯片里的地址,可以實現(xiàn)一個漢字的字模的讀取。代碼如下:
該字庫芯片應(yīng)用到基于GSM的圖文顯示系統(tǒng),即通過手機發(fā)送短信,GSM模塊接收,然后單片機控制GSM模塊解析短信的內(nèi)容,得到漢字的GB碼。由漢字的GB碼,計算漢字在字庫芯片GT23H32S4W中的地址,再由所計算的地址,讀取漢字的字模,送LED屏顯示。圖4為字庫芯片的應(yīng)用系統(tǒng)框圖;圖5為實驗結(jié)果。
圖4 字庫芯片的應(yīng)用系統(tǒng)框圖
圖5 實驗結(jié)果
實驗結(jié)果表明,漢字字模正確,顯示內(nèi)容清晰,可以顯示字符、多種漢字的字型。
[1] 倪曉軍,章韻.單片機原理與接口技術(shù)[M] .北京:清華大學(xué)出版社,2009.
[2] GT23H32S4W標準點陣字庫芯片應(yīng)用手冊V3.7,2011.
[3] 靳桅,鄔芝權(quán),李騏,等.基于51系列單片機的LED顯示屏開發(fā)技術(shù)[M] .北京:北京航空航天大學(xué)出版社,2009.
[4] 馬忠梅.單片機的C語言應(yīng)用程序設(shè)計[M] .北京:北京航空航天大學(xué)出版社,2003.
[5] 馮月芹.基于P89V51RD2單片機LED點陣顯示屏的實現(xiàn)[J] .電子設(shè)計工程,2012(6).