周江
摘要: 針對目前語文教學(xué)設(shè)備落后的現(xiàn)狀,利用現(xiàn)代電子技術(shù),使用單片機(jī)、大容量NAND Flash存儲器和LED顯示屏等設(shè)計出適合小學(xué)低年級語文教學(xué)使用的漢語教學(xué)機(jī)。該機(jī)能進(jìn)行漢語拼音、普通話音節(jié)、詞組和課文的教學(xué)。大容量NAND Flash存儲器里存儲的內(nèi)容與教材一致,能有效地提高語文教學(xué)的效率和效果,特別是該機(jī)特有的漢字筆順的顯示功能,對學(xué)生漢字書寫的規(guī)范性有極大的幫助。
關(guān)鍵詞: 漢語教學(xué)機(jī); 單片機(jī); NAND Flash; LED; 漢字筆順
中圖分類號:TN912
文獻(xiàn)標(biāo)志碼:A
文章編號:2095-2163(2017)04-0111-04
0引言
在當(dāng)今的國內(nèi)國際環(huán)境下,漢語學(xué)習(xí)贏得廣泛關(guān)注,對漢語學(xué)習(xí)手段的現(xiàn)代化要求也日益迫切。而“漢語教學(xué)機(jī)”的研制開發(fā)正是順應(yīng)了這一廣闊鮮明的市場需要。
查閱中小學(xué)教學(xué)儀器的配備標(biāo)準(zhǔn),理科課程的教學(xué)儀器明顯帶有更多新技術(shù)的痕跡,而語文教學(xué)基本上還都是采用掛圖的形式。與語文教學(xué)有關(guān)的只有“漢語拼音示教儀”,其功能也僅僅涉及聲母、韻母、整體認(rèn)讀(以下簡稱整認(rèn))音節(jié)的發(fā)音,而并未提供視像顯示。另有研究指出,學(xué)生僅靠聽可以記住全部信息的15%,僅靠看可以記住25%,而視聽結(jié)合則可使學(xué)生記住全部信息的64%以上[1]。為此,視聽結(jié)合的漢語教學(xué)機(jī)即已成為該領(lǐng)域研究的發(fā)展方向。
[JP2]另外,由于計算機(jī)的普及,明顯擠占了國人書寫漢字的機(jī)會,這就造成了對漢字書寫在規(guī)范掌握上的難題。在一些與漢字書寫有關(guān)的電視節(jié)目中,雖然參與者均是學(xué)生中的佼佼者,但卻依然存在諸多不規(guī)范的情況,這與目前漢字書寫規(guī)范較為落后的教學(xué)手段有一定關(guān)系?!皾h語教學(xué)機(jī)”特有的漢字筆順顯示功能,則能對漢字的書寫發(fā)揮有效的教學(xué)規(guī)范作用。[JP]
1漢語教學(xué)機(jī)功能分析
“漢語教學(xué)機(jī)”主要有以下6個功能:
1)漢語拼音的23個聲母、24個韻母、16個整認(rèn)音節(jié)[2]的讀音和顯示。
2)普通話1 204個拼讀音節(jié)的讀音和顯示。
3)普通話拼讀音節(jié)所對應(yīng)的漢字(一、二級字庫,共6763個)[3]顯示。
4)一級字庫漢字(共3 755個)[3]的書寫筆順顯示。
5)詞組的朗讀和顯示。最初的設(shè)計是,詞組的聲音由構(gòu)成該詞組的每個漢字的聲音拼接而成,比如,詞組“中國”的發(fā)音,分別輸出“中”和“國”的聲音,兩者之間稍微有點延時就行了,但實際做出來后發(fā)現(xiàn)效果很差,沒有抑揚頓挫的感覺,不象正常人說的話,后改為使用完整的詞組的聲音。
6)課文(句子)的朗讀和顯示。因為顯示屏容量的原因,使得課文的朗讀和顯示實際上是由句子構(gòu)成的,這樣顯示屏的容量只要能滿足一個句子的顯示就可以了。
2系統(tǒng)硬件構(gòu)成
“漢語教學(xué)機(jī)”的系統(tǒng)框圖如圖1所示。
2.1顯示單元
采用紅色高亮LED,分辨率128*48,使用16*16的漢字點陣,每屏可顯示24個漢字。小學(xué)低年級語文課文的句子一般比較短,這能滿足使用者的需求。
2.2輸入單元
輸入單元可以是標(biāo)準(zhǔn)鍵盤、紅外遙控器或自己設(shè)計的矩陣鍵盤??傻藐U釋分析如下:
首先,使用標(biāo)準(zhǔn)鍵盤無疑是最省事的,輸入方式同電腦上的拼音輸入法類似,但與漢語拼音的教學(xué)不同步。比如,輸入chang,用標(biāo)準(zhǔn)鍵盤需要輸入5個字母,但從拼音的角度看,chang是由聲母ch和韻母ang構(gòu)成的。雖然也可以有解決辦法,比如定義標(biāo)準(zhǔn)鍵盤上某個鍵為ch等,但這樣需要定義的太多(23個聲母、24個韻母、16個整認(rèn)音節(jié),共有63個),并不直觀,而且與平常的習(xí)慣差別太大,使用者會覺得不方便而不愿意使用。
其次,采用紅外遙控器的最突出優(yōu)點,是教師無需鄰近教學(xué)機(jī)的旁邊才能操作,但缺點也很明顯,紅外遙控器比較小,在上面配有幾十個按鍵,在使用上將增加一定難度。
最后,用自己設(shè)計的專用矩陣鍵盤,完全按照聲母、韻母、整認(rèn)音節(jié)的排列方式設(shè)計,雖然按鍵數(shù)量同樣也多,但可以排列得較為直觀、方便。在“漢語教學(xué)機(jī)”中實際使用的是8*9的矩陣鍵盤。
有一部分的鍵是復(fù)用的。比如,韻母的前10個(a~ao)分別是數(shù)字0~9,用于在詞組或句子功能下輸入詞組或句子的編號,1聲聲調(diào)鍵也是回車鍵,用于對輸入編號的確認(rèn)。這樣,用4個聲調(diào)鍵可以分別實現(xiàn)重復(fù)、前一個句子(詞組)、后一個句子(詞組)、連續(xù)等功能。
2.3存儲單元
選用NAND FLASH芯片。
人的語音的頻率大致在300~3 400 Hz之間[4],根據(jù)奈奎斯特定理,采用8 KHz的采樣頻率,也能做到無失真的回放,考慮到保留一定的泛音能夠使音色更好一些,應(yīng)該采用更高的采樣頻率,比如,電話的語音一般就是單聲道、8 bit、11.025 KHz的采樣[4]。由于連續(xù)的語音比單個的語音在音效上更容易聽得清楚,所以在漢語教學(xué)機(jī)中使用單聲道、8 bit、采樣頻率22.05 KHz就能做到無失真的回放。漢語平舌音的頻率高于翹舌音,根據(jù)經(jīng)驗,翹舌音采用11.025 KB/s的采樣頻率也能做到基本無失真的回放。如果選用8 Gb的NAND FLASH芯片(比如SAMSUNG的K9G8G08U0M[5]),即使全部使用22.05 KHz的采樣頻率,在不采用任何語音壓縮技術(shù)的情況下,也能存儲800 min左右的聲音信息,完全能滿足一般的需要。近幾年來,NAND FLASH的容量越來越大、價格越來越低,所以在這種不需要對語音信號進(jìn)行傳輸?shù)膽?yīng)用中,完全不需要采用語音壓縮技術(shù)了,可以直接使用WAV格式的語音數(shù)據(jù)。另外,存儲在NAND FLASH芯片中的信息,格式可以自行定義,可以輕松獲得較高的保密性。endprint
2.4控制單元
由單片機(jī)和外圍電路構(gòu)成,是本系統(tǒng)的核心。
單片機(jī)的選擇主要考慮系統(tǒng)對硬件資源的需求。LED點陣屏一般采用串行的驅(qū)動方式,所以單片機(jī)要有SPI(Serial Peripheral Interface,串行外設(shè)接口)的功能;點陣屏的大小為128*48,需要的顯示緩沖區(qū)為768字節(jié)(128*48/8),這樣單片機(jī)內(nèi)部的RAM至少需要2 KB以上;輸入單元是8*9的矩陣鍵盤,需要17條I/O口線,存儲單元選用NAND FLASH,需要14條I/O口線(數(shù)據(jù)線8條,控制線6條),所以單片機(jī)至少要有4個以上的8位I/O口。由于需要輸出聲音信息,單片機(jī)內(nèi)部即需配備D/A轉(zhuǎn)換器。另外,因為NAND FLASH的工作電壓是2.7 ~ 3.6 V[6],為使接口電路簡單方便,應(yīng)該選用低工作電壓的單片機(jī)。
根據(jù)以上分析,實際選用的芯片是TI的MSP430F1611。該芯片工作電壓1.8~3.6 V,配有48 KB的ROM和10 KB的RAM、2個SPI接口、6個8 bit I/O口、2個12 bit電壓輸出型的D/A(可設(shè)置為8 bit的分辨率)和2個16 bit的定時器等[7-8],完全能夠滿足系統(tǒng)的需要。
3電路框圖
語言教學(xué)機(jī)中所使用的電路比較常見,以下主要闡述MSP430F1611與K9G8G08的接口電路和128*48 LED屏的控制驅(qū)動電路。
3.1MSP430F1611與K9G8G08的接口電路
K9G8G08采用48腳的TSOP封裝形式,實際使用19個引腳。圖2即是MSP430F1611與K9G8G08的電路連接圖。其中,K9G8G08的19腳是寫保護(hù),具體到本次設(shè)計中,只需要對K9G8G08進(jìn)行讀的操作,沒有擦除和寫的操作,為此在實際電路中是固定接地的(寫保護(hù)有效)。
3.2128*48 LED屏的控制驅(qū)動電路
128*48的LED屏實際并沒有接成128*48的矩陣,而是接成64*96的矩陣,因為前者對應(yīng)的連接需要176(128+48)條控制線,后者所需要的控制線是160(64+96)條,少16條控制線。其中的64條是掃描線,分接的是LED點陣的負(fù)端;96條是數(shù)據(jù)線,另接的是LED點陣的正端。64條負(fù)端的掃描線是由4片4-16譯碼器4514產(chǎn)生的,任何時刻有且只有1條為“1”(高電平),再經(jīng)過8片ULN2803作為驅(qū)動,連接到LED屏的64個負(fù)端。96條數(shù)據(jù)線是用12片級聯(lián)的74HC595產(chǎn)生的,該組器件將由單片機(jī)SPI口輸出的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),送到LED屏的96個正端。圖3就是LED屏的控制驅(qū)動電路的框圖。
圖3中,MSP430F1611的P3.4、P3.5分別連接二進(jìn)制計數(shù)器的時鐘和復(fù)位信號;二進(jìn)制計數(shù)器是4024,電路中要用到其7位輸出中的6位,最高位不用,低4位連接到4片4514的輸入端,高2位經(jīng)過3-8譯碼器74HC138后輸出4條控制線,分別接到4片4514的INH(禁止端,23腳),這樣將可保證任何時刻只有1片4514有效;P3.1、P3.3、P3.6分別是12片級聯(lián)的74HC595的數(shù)據(jù)、時鐘和鎖存信號,其中數(shù)據(jù)信號只接第一片74HC595。
3.3電路的其它部分
8*9的矩陣鍵盤分別連接到P4、P5和P6.0,其中P4口是鍵盤的8條輸入線,P5和P6.0是9條掃描線。D/A使用DAC0,對應(yīng)的引腳是P6.6,語音信號從這里輸出。
4軟件設(shè)計
4.1聲音輸出程序設(shè)計
這部分程序設(shè)計中最關(guān)鍵的是對K9G8G08的操作。在本設(shè)計中,程序只需要對K9G8G08進(jìn)行讀的操作。從K9G8G08的器件手冊中,可以查到該操作的程序流程,此處將不再贅述。
[LL]
對K9G8G08讀的程序在定時器中斷時調(diào)用。對于22.05 KHz或11.025 KHz的WAV文件,定時器的中斷周期分別為45.35 us或90.7 us。對于單聲道、8 bit的WAV文件,對應(yīng)頻率可以在文件的第0x18、0x19字節(jié)得到,對于22.05 KHz和11.025 KHz的WAV文件,這2個字節(jié)的值分別是0x22、0x56和0x11、0x2B,聲音信息從第0x2C個字節(jié)開始[9]。
聲音輸出的程序流程如圖4所示。對聲音的WAV文件數(shù)據(jù),預(yù)先加入了一些處理:數(shù)據(jù)中的0x00均被改為0x01,再將文件的最后一個字節(jié)改為0x00,這樣就可以用0x00作為聲音文件的結(jié)束標(biāo)志了,而數(shù)據(jù)中的0x00被改為0x01,對聲音幾乎沒有影響。
當(dāng)然完全可以不這樣做,使用對聲音數(shù)據(jù)計數(shù)的辦法也未嘗不可。因為WAV文件中是有聲音數(shù)據(jù)長度信息的,存儲在文件的第0x28 ~ 0x2B這4字節(jié)中,采用小端模式存儲,即第0x28個字節(jié)存儲的是聲音數(shù)據(jù)長度的最低位[9]。
4.2漢字筆順顯示的流程
要能在點陣屏上顯示出漢字的筆順,只需按照書寫的順序,逐個點亮筆畫中的點。以漢字“工”為例,其筆順的顯示過程如圖5所示。
從圖5中可以看出,第1次亮第1個點(左上的點),第2次亮第2個點(第1個點保留),第3次亮第3個點(前2個點保留)……。所以,筆順的顯示實際上是由一幀幀的畫面構(gòu)成的:第1幀顯示第1個點,第2幀顯示前2個點,……,第N幀顯示前N個點……,直到顯示完最后一個點。顯示的漢字有多少個點,其所對應(yīng)筆順顯示就由多少幀的畫面構(gòu)成。這樣,視覺呈現(xiàn)效果即如有一支無形的筆,在屏上“寫”出了漢字。
根據(jù)上面漢字筆順的顯示原理,可以設(shè)計漢字筆順字庫的格式,將需要顯示的點的坐標(biāo),按照書寫的順序遞次排列即可。
比如,以右上角為坐標(biāo)原點(0,0),每個點的坐標(biāo)用一個字節(jié)表示:高半字節(jié)為橫坐標(biāo)、低半字節(jié)為縱坐標(biāo)(也可相反),如圖6所示。endprint