基于GPRS通信的LED顯示屏_第1頁
基于GPRS通信的LED顯示屏_第2頁
基于GPRS通信的LED顯示屏_第3頁
基于GPRS通信的LED顯示屏_第4頁
基于GPRS通信的LED顯示屏_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、泉 州 師 范 學(xué) 院畢業(yè)論文(設(shè)計(jì))題 目 基于GPRS通信的LED顯示屏 The display of LED base on GPRS communication 物信 學(xué) 院 電子信息科學(xué)與技術(shù) 專 業(yè) 07 級(jí) 1 班學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)教師 職 稱 副教授 完成日期 2011年4月10日 教務(wù)處目錄1.緒論31.1 本文主要研究的內(nèi)容31.2 GPRS特點(diǎn)32. 短信系統(tǒng)關(guān)鍵技術(shù)32.1 AT指令32.2 短信通信關(guān)鍵技術(shù)43. 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)64. 整體電路的各硬件電路的設(shè)計(jì)64.1 GPRS與單片機(jī)接口電路設(shè)計(jì)64.2 單片機(jī)C8051F410外圍電路的設(shè)計(jì)64.3 LED點(diǎn)陣

2、屏單元板的設(shè)計(jì)原理分析74.4 點(diǎn)陣屏主要芯片簡介84.4.1 雙向總線發(fā)送/接收芯片74HC24584.4.2 譯碼器74HC13884.4.3 8位寄存器74HC59584.4.4 功率芯片APM495394.5 GT21L16S2W字庫芯片94.6 北京博創(chuàng)科技GPRS擴(kuò)展板簡介105.軟件設(shè)計(jì)115.1 利用字庫字庫芯片提取點(diǎn)陣代碼的方法115.2 GPRS模塊調(diào)試與軟件設(shè)計(jì)125.2.1 GPRS模塊調(diào)試125.2.1 GPRS模塊與單片機(jī)通信軟件設(shè)計(jì)135.3 LED點(diǎn)陣屏軟件設(shè)計(jì)146總結(jié)與展望157.致謝158.參考文獻(xiàn)17基于GPRS通信的LED顯示屏物信學(xué)院 電子信息科學(xué)與

3、技術(shù) 指導(dǎo)教師 副教授【摘 要】 針對 C8051F410為控制器的點(diǎn)陣LED顯示屏控制系統(tǒng),采用 GPRSGSM通信標(biāo)準(zhǔn),通過GPRS模塊串行接口接收無線模塊的控制命令及顯示數(shù)據(jù),經(jīng)處理后控制LED顯示屏的掃描顯示。本文給出了該系統(tǒng)的設(shè)計(jì)方案,以及軟硬件的詳細(xì)設(shè)計(jì)過程?!娟P(guān)鍵詞】C8051F410單片機(jī);LED顯示屏;GPRS;遠(yuǎn)程控制; 1.緒論1.1本文主要研究的內(nèi)容 本LED點(diǎn)陣屏可顯示字符、圖案等信息,具有可靠性高、使用壽命長、環(huán)境適應(yīng)能力強(qiáng)、性能價(jià)格比高等特點(diǎn),因此在廣告、信息顯示領(lǐng)域得到了廣泛的應(yīng)用。這也帶來了一些管理和維護(hù)這些顯示信息的問題。能多點(diǎn)控制和便攜式可移動(dòng)顯示控制的控

4、制主機(jī)能給LED信息管理帶來極大的方便。本文討論的技術(shù)就是一種克服了以下困難的顯示控制方案。 1.1.1 信息管理的問題 LED顯示屏的內(nèi)容需要即時(shí)適時(shí)地更新。而LED顯示屏跟管理者的距離比較遠(yuǎn),或者顯示屏安裝在較高、或者更改比較頻繁的特殊的位置,或者是在公共交通這種實(shí)時(shí)移動(dòng)的顯示設(shè)備上等。顯示內(nèi)容更新顯然不能通過常規(guī)的連接電腦用下載設(shè)備下載信息到到顯示屏。這時(shí)就需要一種可靠,無線式的更新方式。本文討論的GPRS方式就是一種低成本的傳送方式。顯示屏更新或者顯示方式(左移、右移、上移、下移)的控制參數(shù)的設(shè)置的過程只需要普通具有GPRS功能的手機(jī)通過發(fā)送短信的方式發(fā)出信息指令和控制指令,顯示終端就

5、可以依照指令靈活地更改。這樣不僅能降低管理成本,還能大大地提高 LED 顯示系統(tǒng)的工作效率。 1.12 多點(diǎn)同時(shí)發(fā)布信息的問題 當(dāng)LED顯示屏需要在不同地點(diǎn)顯示相同內(nèi)容的時(shí)候,本文設(shè)計(jì)的這種無線信息傳輸方案可以完成多點(diǎn)同步數(shù)據(jù)更新的功能。這在傳統(tǒng)的下載更新方式是不可能完成的。比如舉行體育賽事時(shí)體育場里,四周有顯示比分(廣告信息)的若干個(gè)LED顯示屏。這時(shí)在不僅省去布線的情況下,還可以實(shí)現(xiàn)低成本的數(shù)據(jù)同步更新。甚至在不同的城市,只要有GPRS網(wǎng)絡(luò)覆蓋,也可以同步實(shí)時(shí)的手機(jī)發(fā)出的相同的顯示內(nèi)容與控制參數(shù)。這樣就大大拓展了LED顯示系統(tǒng)的應(yīng)用地域限制,也提高和系統(tǒng)的利用率。 所以,對于上述存在的問題

6、本文提出了一種基于GPRS通信的無線遠(yuǎn)程控制的LED顯示屏的軟硬件設(shè)計(jì)方案。利用手機(jī)更新點(diǎn)陣屏的數(shù)據(jù)與顯示方式,亮度移動(dòng)速度。 1.2 GPRS的特點(diǎn)GPRS(General Packet Radio Service)是通用分組無線業(yè)務(wù)的縮寫,是介于第二代和第三代網(wǎng)絡(luò)之間的一種技術(shù),因?yàn)樗且粋€(gè)混合體,采用TDMA方式傳輸語音,采用分組的方式傳輸數(shù)據(jù),通常稱為25G。GPRS具有如下一些突出的優(yōu)點(diǎn),如資源利用率高、傳輸速率高、接入時(shí)間短支持IP協(xié)議和X25協(xié)議、無線接人、方便快捷、網(wǎng)絡(luò)覆蓋面廣等1。數(shù)據(jù)中心和每一個(gè)顯示屏保持實(shí)時(shí)連接。而GPRS技術(shù)能很好地滿足數(shù)據(jù)傳輸?shù)男枰?。GPRS網(wǎng)絡(luò)傳送速

7、率理論上可達(dá)171.2kbit/s,目前GPRS實(shí)際數(shù)據(jù)傳輸速率在40Kbps左右,完全能滿足本顯示屏數(shù)據(jù)傳輸速率的需求。2. 短信系統(tǒng)一些關(guān)鍵技術(shù)2.1 AT指令A(yù)T命令集是調(diào)制解調(diào)器通信接口的工業(yè)標(biāo)準(zhǔn),是調(diào)制解調(diào)器可以識(shí)別并執(zhí)行的命令。諾基亞、愛立信、摩托羅拉和惠普共同為GSM 研制了一整套AT指令集,形成了GSM07.05 以GSM07.07 技術(shù)規(guī)范,其中包括對SMS 的控制。PDU模式正是基于 AT 指令集的。表2.1調(diào)試時(shí)常用AT指令A(yù)T指令功能回答AT回車握手OKATE簡化顯示OKAT+CMGF 選擇短消息信息格式,0-PDU;1-文本AT+CLCC來電顯示OK來電話時(shí)串口輸出R

8、INGAT+CNMI=1,1,2設(shè)置收到短消息提示OK +CMTI:“SM”,4 4表示手機(jī)內(nèi)短消息數(shù)量ATD;撥打電話AT+CMGR=X回車 讀取第X條短消息AT+CMGD=X回車刪除第X條短消息AT+CMGL列出SIM卡中的短消息PDU/text:0/R EC UNREAD:未讀;1/REC READ:已讀;2/STO UNSENT:待發(fā);3/STO SENT:已發(fā);4/ALL:全部 AT+CSCA?短消息中心地址 AT+CMGL列出SIM卡中的短消息PDU/text:0/R EC UNREAD:未讀;1/REC READ:已讀;2/STO UNSENT:待發(fā);3/STO SENT:已發(fā);

9、4/ALL:全部的 2.2 短信通信的關(guān)鍵技術(shù)對短消息的控制共有3種實(shí)現(xiàn)途徑: Block Mode、基于A T 命令的 Text Mode 和基于A T 命令的 PDU Mode。使用Block Mode 需要手機(jī)生產(chǎn)廠家提供驅(qū)動(dòng)支持。Text Mode 比較簡單,但這種模式只能發(fā)送 ASCII 碼,不能發(fā)送中文的 Unicode碼。PDU 模式是發(fā)送或接收手機(jī) SMS 信息的一種方法,短信息正文經(jīng)過十六進(jìn)制編碼后被傳送。目前,PDU 已取代Block Mode,因此主要探討PDU 模式2。在PDU模式中,有三種編碼方式來對發(fā)送的內(nèi)容進(jìn)行編碼,它們是 7-bit、8-bit 和 UCS2 編

10、碼。7-bit編碼用于發(fā)送普通的 ASCII 字符,它將一串7-bit 的字符(最高位為 0)編碼成 8-bit 的數(shù)據(jù)。8-bit 編碼通常用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等3;而 UCS2 編碼用于發(fā)送 Unicode 字符。Unicode 是一種所有的字符都使用兩個(gè)字節(jié)編碼的編碼模式。 Unicode 帶來的好處是突破 ASCII 碼字符數(shù)的限制,支持全球多種語言字符集。所以采用 UCS2 編碼后,每個(gè)漢字或英文字母占2個(gè)字節(jié),TP-UD字段最大可以容納 70個(gè)字符,這就是我們常說的每條短信最多容納 70個(gè)漢字。所以在這三種編碼方式下,可以發(fā)送的短消息的最大字符數(shù)分別是 160、140和

11、704。接收短信息的 PDU 編碼包括以下內(nèi)容:短信息中心(SMSC)號(hào)碼、短信息首字節(jié)、發(fā)送者號(hào)碼信息、協(xié)議標(biāo)示符、數(shù)據(jù)編碼方式、短信息時(shí)間戳、短信息長度和內(nèi)容。其中 SMSC 號(hào)碼和發(fā)送者號(hào)碼是以十進(jìn)制半八位字節(jié)編碼,短信息內(nèi)容是以十六進(jìn)制七位字節(jié)或 Unicode 編碼,其他信息是以十六進(jìn)制八位字節(jié)編碼。一條接收到的中文短信息的PDU解碼5見表2.2。表2.2 SMS-DEL IV ER PDUPDU字符串:01705F0040D193FC4F60597DFF0C9 A6C字節(jié)含義 八位字節(jié) 描述 Address of the SMSC 08 短消息中心號(hào)碼長度 91 短消息中心號(hào)碼類型

12、(91表示國際號(hào)碼格式) 5F0 以十進(jìn)制的半八位字節(jié)表示的短信息中心號(hào)碼,由于號(hào)碼長度是奇數(shù)11,所以在最后一位補(bǔ)上F形成正確的格式。這里的實(shí)際號(hào)碼是:00 First Octet 04 短消息的首字節(jié) TP OA 6D 以十六進(jìn)制數(shù)表示的發(fā)送者號(hào)碼的長度 91 發(fā)送者號(hào)碼的地址類型(91表示國際號(hào)碼格式) 3F2 以十進(jìn)制的半八位字節(jié)表示的發(fā)送者號(hào)碼,由于號(hào)碼長度是奇數(shù)11,所以在最后一位補(bǔ)上F形成正確的格式。這里的實(shí)際號(hào)碼是:92 TP PID 00 TP-PID協(xié)議標(biāo)示符 TP DCS 08 TP-DCS數(shù)據(jù)編碼方式,這里設(shè)置的是Unicode解碼 TP SCTS 300 TP-SCT

13、S以半八位字節(jié)表示的短消息時(shí)間戳。這里的時(shí)間是:2007-05-05 23:50:38 TP UDL OC TP-UDL短信息內(nèi)容的長度,由于在TP、DCS中制定了UCS 2編碼,所以這里的長度是八位字節(jié)數(shù)。如果是七位字節(jié)編碼,這將是把七位字節(jié)編碼的字符轉(zhuǎn)換成八位字節(jié)編碼的字節(jié)數(shù)。 TP UD 4F60597DFF0C9 A6C TP-UD短信息內(nèi)容,這里的實(shí)際內(nèi)容是:你好,馬慧。 例如接收:SMSC 號(hào)碼是 + 00,對方號(hào)碼是 ,消息內(nèi)容是“你好 !”。手機(jī)接收到的PDU串可以是:08 91 68 31 08 40 27 05 F0 84 0D 91 68 31 08 74 22 64 F

14、8 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 216-73. 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)主控模塊采用C8051F410作為處理核心,完成的是整個(gè)LED顯示系統(tǒng)的協(xié)調(diào)和數(shù)據(jù)處理。它通過串口負(fù)責(zé)從GPRS通信模塊讀取待顯示的漢字代碼解碼,通過字庫將其轉(zhuǎn)換為字模,送入LED點(diǎn)陣單元板,從中擔(dān)任數(shù)據(jù)通信及處理和定時(shí)送顯示的任務(wù)。 LED點(diǎn)整屏塊采用兩塊1632點(diǎn)陣單元板做字符顯示屏。由于點(diǎn)陣屏本身自帶功率放大行驅(qū)動(dòng)等硬件,所以只需單片機(jī)定時(shí)掃描即可顯示字符。 4.整體電路的各硬件電路的設(shè)計(jì)4.1 GPRS與單片機(jī)接口電路設(shè)計(jì) 圖4.1.1 GPRS模塊的串口電路 圖4

15、.1.2 單片機(jī)串口電路單片機(jī)與GPRS模塊通過串口進(jìn)行通信,GPRS模塊上的使用的是MAX3232,而單片機(jī)上使用過的是MAX232,兩者的差別主要是1.MAX232電壓供電為5V,max3232是5v或3.3V電壓供電。2. MAX232功耗較大,供電電壓5V時(shí),耗電5mA;MAX3232功耗較小,供電電壓5V或3.3V時(shí),耗電 0.3mA。3. MAX232外接4個(gè)1uF電容;MAX3232外接4個(gè)0.1uF電容。4. MAX232一般民用產(chǎn)品應(yīng)用;MAX3232一般軍用。單片機(jī)與GPRS上的串口采用一公一母,對接即可通信。當(dāng)要利用串口調(diào)試助手對GPRS進(jìn)行調(diào)試時(shí)只要用一條串口線一段連接

16、電腦一段連接GPRS模塊的串口就能發(fā)送AT指令進(jìn)行各種功能調(diào)試。4.2 單片機(jī)C8051F410外圍電路的設(shè)計(jì)C8051F410單片機(jī)是美國Silcon Lab公司推出的高性能8位微處理器,F(xiàn)LASH存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ),并允許現(xiàn)場更新8051固件。用戶軟件對所有外設(shè)具有完全的控制,可以關(guān)斷任何一個(gè)或所有外設(shè)以節(jié)省功耗。C8051F410內(nèi)部有一個(gè)串行端口UART0,UART0是一個(gè)異步、全雙工串口,UART0有兩個(gè)相關(guān)的特殊功能寄存器:串行控制寄存器(SCON0)和串行數(shù)據(jù)緩沖器(SBUF0)8。 C8051F410最小系統(tǒng)電路如圖為C8051F410最小系

17、統(tǒng)的周圍電路。在此電路中,。電源從VREGIN引腳輸入到REG0的電壓可高達(dá)5.25V。REG0的輸出可以用軟件選擇為2.1V或2.5V,從引腳6為內(nèi)部穩(wěn)壓器轉(zhuǎn)出電源,引腳1為I/O口電源這各個(gè)I/O提供工作電源,P1.2為外部VREF輸入第二功能腳,在設(shè)計(jì)電路中,這幾處設(shè)置退耦電容,大大減小負(fù)載波動(dòng)對電源的影響。電路中C2接口調(diào)試電路,引腳C2CK為C2調(diào)試接口的時(shí)鐘信號(hào),引腳C2D為C2調(diào)試接口的雙向數(shù)據(jù)信號(hào),引出C2CK和C2D以供芯片下載程序。TXD和RXD分別為UART的TX引腳和RX引腳。4.3 LED點(diǎn)陣屏單元板的設(shè)計(jì)原理分析 點(diǎn)陣單元板原理圖 單元板的列控制主要是74HC595

18、,每塊單元板上有16片,每片分別控制4行8列的點(diǎn)陣小單元,接LED的負(fù)極。行驅(qū)動(dòng)采用的是AMP4953,每塊單元板有4片,每片分別驅(qū)動(dòng)4行.行驅(qū)動(dòng)的控制是由譯碼器74LS138完成,每次使單元板有4行亮,有4種狀態(tài)。即完成了16行的控制,使能信號(hào)采用的是選通74HC138工作,控制信號(hào)OE經(jīng)過反相之后連接74HC138,此時(shí)是高電平有效,這樣能有效的減少快速掃描時(shí)的干擾。單元板引腳接口說明: CLK時(shí)鐘信號(hào):提供給移位寄存器的移位脈沖,每一個(gè)脈沖將引起數(shù)據(jù)移入或移出一位。數(shù)據(jù)口上的數(shù)據(jù)必須與時(shí)鐘信號(hào)協(xié)調(diào)才能正常傳送數(shù)據(jù),數(shù)據(jù)信號(hào)的頻率必須是時(shí)鐘信號(hào)的頻率的1/2倍。在任何情況下,當(dāng)時(shí)鐘信號(hào)有異

19、常時(shí),會(huì)使整板顯示雜亂無章。 STB鎖存信號(hào):將移位寄存器內(nèi)的數(shù)據(jù)送到鎖存器,并將其數(shù)據(jù)內(nèi)容通過驅(qū)動(dòng)電路點(diǎn)亮LED顯示出來。但由于驅(qū)動(dòng)電路受EN使能信號(hào)控 制,其點(diǎn)亮的前提必須是使能為開啟狀態(tài)。鎖存信號(hào)也須要與時(shí)鐘信號(hào)協(xié)調(diào)才能顯示出完整的圖象。在任何情況下,當(dāng)鎖存信號(hào)有異常時(shí),會(huì)使整板顯示雜亂無章。 OE使能信號(hào):連接74HC138整屏亮度控制信號(hào),也用于顯示屏消隱。只要調(diào)整它的占空比就可以控制亮度的變化。當(dāng)使能信號(hào)出現(xiàn)異常時(shí),整屏將會(huì)出現(xiàn)不亮、暗亮或拖尾等現(xiàn)象。 RI數(shù)據(jù)信號(hào):提供顯示圖象所需要的數(shù)據(jù)。必須與時(shí)鐘信號(hào)協(xié)調(diào)才能將數(shù)據(jù)傳送到任何一個(gè)顯示點(diǎn)。一般在顯示屏中紅綠藍(lán)的數(shù)據(jù)信號(hào)分離開來,

20、若某數(shù)據(jù)信號(hào)短路到正極或負(fù)極時(shí),則對應(yīng)的該顏色將會(huì)出現(xiàn)全亮或不亮,當(dāng)數(shù)據(jù)信號(hào)被懸空時(shí)對應(yīng)的顏色顯示情況不定。 ABCD行信號(hào):只有在動(dòng)態(tài)掃描顯示時(shí)才存在,ABCD其實(shí)是二進(jìn)制數(shù),A是最低位營,如果用二進(jìn)制表示ABCD信號(hào)控制最大范圍是16行(1111),1/4掃描中只要AB信號(hào)就可以了,因?yàn)锳B信號(hào)的表示范圍是4行(11)。當(dāng)行控制信號(hào)出現(xiàn)異常時(shí),將會(huì)出現(xiàn)顯示錯(cuò)位、高亮或圖像重疊等現(xiàn)象94.4點(diǎn)陣屏用到的主要芯片功能介紹4.4.1 雙向總線發(fā)送/接收芯片74HC245我們單片機(jī)出來的信號(hào)驅(qū)動(dòng)能力有限。而點(diǎn)陣屏往往是往往是由多塊串接在一起的,在信號(hào)傳遞過程中需要將它的功率進(jìn)行放大。芯片引腳圖第1

21、腳DIR,為輸入輸出端口轉(zhuǎn)換用,DIR=“1”高電平時(shí)信號(hào)由“A”端輸入“B”端輸出,DIR=“0”低電平時(shí)信號(hào)由“B”端輸入“A”端輸出。 第29腳“A”信號(hào)輸入輸出端,A1=B1、A8=B8,A1 74HC245引腳圖 與B1是一組,如果DIR=“1”G=“0”則A1輸入B1輸出,其它類同。如果DIR=“0”G=“0”則B1輸入A1輸出,其它類同。 第1118腳“B”信號(hào)輸入輸出端,功能與“A”端一樣,不再描述。第19腳G,使能端,若該腳為“1”A/B端的信號(hào)將不導(dǎo)通, 245內(nèi)部結(jié)構(gòu)圖只有為“0”時(shí)A/B端才被啟用,該腳也就是起到開關(guān)的作用。 第10腳GND,電源地。第20腳VCC,電源

22、正極。4.4.2 譯碼器74HC138的作用:八位二進(jìn)制譯碼器74HC138的作用是用來選擇顯示行,在16*32單元板中一個(gè)74HC138可以選擇16行中的四行,所以單元板/模塊上有1塊74HC138,這樣就可以在16行中選擇4行顯示。芯片引腳圖 第8腳GND,電源地。 第15腳VCC,電源正極 第13腳A、B、C,二進(jìn)制輸入腳。 第46腳片選信號(hào)控制,只有在4、5腳為“0”6腳為“1”時(shí),才會(huì)被選通,輸出受A、B、C信號(hào)控制。其它任何組合方式將不被選通,且Y0Y7輸出全為“1”。通過控制選通腳來級(jí)聯(lián),使之?dāng)U展到十六位。 4.4.3 8位移位74HC595:LED驅(qū)動(dòng)芯片,8位移位鎖存器,用于

23、驅(qū)動(dòng)顯示列,每片74HC595可以驅(qū)動(dòng)8列,多片74HC595串接在一起,串行列數(shù)據(jù)信號(hào)RI(DATA)、鎖存信號(hào)STB、串行時(shí)鐘信號(hào)CLK都在這個(gè)芯片上 第8腳GND,電源地。 第16腳VCC,電源正極 第14腳DATA,串行數(shù)據(jù)輸入口,顯示數(shù)據(jù)由此進(jìn)入,必須有時(shí)鐘信號(hào)的配合才能移入。 第13腳EN,使能口,當(dāng)該引腳上為“1”時(shí)QAQH口全部為 74hc595引腳圖“1”,為“0”時(shí)QAQH的輸出由輸入的數(shù)據(jù)控制。第12腳STB,鎖存口,當(dāng)輸入的數(shù)據(jù)在傳入寄存器后,只有供給一個(gè)鎖存信號(hào)才能將移入的數(shù)據(jù)送QAQH口輸出。 第11腳CLK,時(shí)鐘口,每一個(gè)時(shí)鐘信號(hào)將移入一位數(shù)據(jù)到寄存器。 第10腳

24、SCLR,復(fù)位口,只要有復(fù)位信號(hào),寄存器內(nèi)移入的數(shù)據(jù)將清空,顯示屏不用該腳,一般接VCC。 第9腳DOUT,串行數(shù)據(jù)輸出端,將數(shù)據(jù)傳到下一個(gè)。 第15、17腳,并行輸出口也就是驅(qū)動(dòng)輸出口,驅(qū)動(dòng)LED。 4.4.4 功率芯片4953的作用:行驅(qū)動(dòng)管,功率管,每一顯示行需要的電流是比較大的,要使用行驅(qū)動(dòng)管,每片4953可以驅(qū)動(dòng)2個(gè)顯示行。 其內(nèi)部是兩個(gè)CMOS管,1、3腳VCC,2、4腳控制腳,2腳控制7、8腳的輸出,4腳控制5、6腳的輸出,只有當(dāng)2、4腳為“0”時(shí),7、8、5、6才會(huì)輸出,否則輸出為高阻狀態(tài)。 4593引腳圖4.5 GT21L16S2W字庫芯片 圖4.5.1主機(jī)與SPI接口電路示

25、意圖 圖4.5.2字庫芯片芯片引腳 GT21L16S2W是一款內(nèi)含多種點(diǎn)陣代碼的漢字庫芯片,支持GB2312國標(biāo)簡體漢字(含有國家信標(biāo)委合法授權(quán))、ASCII字符及GB2312與Unicode編碼互轉(zhuǎn)表。排列格式為橫置橫排。計(jì)算出該字符點(diǎn)陣在芯片中的地址,就可從該地址連續(xù)讀出字符點(diǎn)陣信息。 1. CS# 片選輸入; 2. SO 串行數(shù)據(jù)輸出; 4. GND 地; 5. SPI串行數(shù)據(jù)輸入; 6 .SCLK 串行時(shí)鐘輸入 ;7. HOLD# 總線掛起 ; 8. VCC 電源(+ 3.3V);15X16 點(diǎn)漢字的信息需要 32 個(gè)字節(jié)(BYTE 0 BYTE 31 )來表示。該15X16 點(diǎn)漢字的

26、點(diǎn)陣數(shù)據(jù)是 橫置橫排的,其具體排列結(jié)構(gòu)如下圖:3.5.3漢字點(diǎn)陣排列格式每個(gè)漢字在芯片中是以漢字點(diǎn)陣字模的形式存儲(chǔ)的,每個(gè)點(diǎn)用一個(gè)二進(jìn)制位表示,存 1 的點(diǎn),當(dāng)顯示時(shí)可以在屏幕上顯示亮點(diǎn),存 0 的點(diǎn),則在屏幕上不顯示。點(diǎn)陣排列格式為橫置橫排:即一個(gè)字節(jié)的高位 表示左面的點(diǎn),低位表示右面的點(diǎn),排滿一行的點(diǎn)后再排下一行。這樣把點(diǎn)陣信息用來直接在顯示器上按上述規(guī)則顯示,則將出現(xiàn)對應(yīng)的漢字。4.6博創(chuàng)科技GPRS擴(kuò)展板介紹本設(shè)計(jì)采用的模塊是北京博創(chuàng)科技UP-TECH GPRS MODULE模塊,GPRS 擴(kuò)展板采用 SIMCOM 公司的SIM300 GPRS 模塊,并配以相關(guān)電路而構(gòu)成。SIM300

27、具有較小的體積即插即用。模塊中完善的三頻GSM/GPRS解決方案,使用工業(yè)標(biāo)準(zhǔn)界面,性能更加穩(wěn)定。并且提供了多種接口包括用于ARM開發(fā)時(shí)的直插式和9針串口模式。SIM300 GPRS 模塊的默認(rèn)波特率是 。AT 命令集大部分和 SIM100 模 塊兼容。SIM100-E 提供標(biāo)準(zhǔn)的 RS-232 串行接口,用戶可以通過串行口使用 AT 命令完成對模塊的操作。串行口支持以下通信速率:300,1200,2400,4800,9600,19200,38400,57600,(起始默認(rèn)) 當(dāng)模塊上電啟動(dòng)并報(bào)出RDY 后,用戶才可以和模塊進(jìn)行通信,用戶可以首先使用模塊默認(rèn) 速率 與模塊通信,并可通過 AT+

28、IPR=命令自由切換至其它通信速率。在應(yīng)用 設(shè)計(jì)中,當(dāng)MCU 需要通過串口與模塊進(jìn)行通訊時(shí),可以只用三個(gè)引腳:TXD,RXD 和GND。本擴(kuò)展板上采用 MAX3232 芯片完成GPRS 模塊的TTL 電平到 RS232 電平的轉(zhuǎn)換10。 GPRS模塊模式選擇當(dāng)GPRS模塊要與單片機(jī)通信時(shí)需在板上“SIM300 MODULE UART SELECT”上選擇“RS232 DB9 PORT UP3000/TO PC”模式,用0歐電阻焊接RJ7跟RJ8。同時(shí)焊接母口DB9串口跟MAX3232電平轉(zhuǎn)換芯片,板上如果有焊接16C550(可編程串行接口芯片)需去掉。因?yàn)闀?huì)使其輸出的MODEM信號(hào)錯(cuò)誤控制SI

29、M300的UART接口而無法通過RS3232通信。5軟件部分5.1利用字庫字庫芯片提取點(diǎn)陣的方法首先把片選信號(hào)(CS#)變?yōu)榈?,緊跟著的是1 個(gè)字節(jié)的命令字(03 h)和3 個(gè)字節(jié)的地址和通 過串行數(shù)據(jù)輸入引腳(SI)移位輸入,每一位在串行時(shí)鐘(SCLK)上升沿被鎖存。 然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出,每一位在串行時(shí)鐘(SCLK)下降沿被移出。讀取字節(jié)數(shù)據(jù)后,則把片選信號(hào)(CS#)變?yōu)楦?,結(jié)束本次操作。 如果片選信號(hào) (CS#)繼續(xù)保持為底,則下一個(gè)地址的字節(jié)數(shù)據(jù)繼續(xù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出11。 圖5.1.1 SPI方式讀取點(diǎn)陣時(shí)序圖5.1.2 點(diǎn)陣數(shù)據(jù)

30、一般讀取時(shí)序圖從UCS2編碼通過軟件讀取點(diǎn)陣代碼時(shí),首先將16位UNICODE編碼經(jīng)過地址計(jì)算程序算出在點(diǎn)陣芯片的首地址(Unicode 到GB2312 內(nèi)碼轉(zhuǎn)換表的地址范圍為67D70 7278F,軟件設(shè)計(jì)時(shí)如果沒有在地址范圍則表示輸入的UCS2編碼出錯(cuò))。在將得到的2字節(jié)地址位通過SPI接口讀出2字節(jié)的GB2312編碼。再將GB2312編碼送入地址計(jì)算程序算出32位點(diǎn)陣信息的首地址(15X16 點(diǎn)陣地址范圍000003B7BF,超出范圍則判斷出錯(cuò))。再次通過SPI接口讀出32位點(diǎn)陣信息。5.2 GPRS模塊調(diào)試與軟件設(shè)計(jì)5.2.1 GPRS模塊調(diào)試首先把SIM卡插到模塊的卡槽,在給GPRS

31、上電(不能上電后在插卡,因?yàn)楸緮U(kuò)展板是用阻容充電和施密特觸發(fā)器整形獲得上電后約1.5秒低電平延時(shí)用來啟動(dòng)SIMCOM300)。如果出現(xiàn)大約75ms 亮 / 3s 滅,則表明網(wǎng)絡(luò)已注冊成功。如果出現(xiàn)亮滅時(shí)間一樣則主要原因是未插入SIM卡,或則找不到網(wǎng)絡(luò)(可能是天線、信號(hào)弱等問題)。 在與單片機(jī)通信之前可首先使用串口調(diào)試助手做如下調(diào)試,因?yàn)橐韵略O(shè)置只要設(shè)置一次模塊就會(huì)自動(dòng)保存設(shè)置的信息不用每次都有單片機(jī)設(shè)置。設(shè)置波特率,初始時(shí)的波特率為11250,改為9600 發(fā)送 AT 返回 OK 發(fā)送 AT+APR=9600 返回 OK波特率設(shè)置完成設(shè)置本地的短信中心號(hào)碼發(fā)送 AT 返回 OK發(fā)送 at+cm

32、gf=1 返回 OK發(fā)送 at+csca=+00/本地短消息中心號(hào)碼返回 OK短信中心號(hào)碼設(shè)置完成。可實(shí)現(xiàn)收發(fā)短信功能。5.2.2 GPRS模塊與單片機(jī)通信軟件設(shè)計(jì)發(fā)送AT指令讀取數(shù)據(jù) ASCLL編碼轉(zhuǎn)十進(jìn)制 取核心數(shù)據(jù)存RAM十進(jìn)制轉(zhuǎn)十六進(jìn)制第一字節(jié)與定密碼相同否主程序是十六進(jìn)制數(shù)據(jù)送FLASH存儲(chǔ) 刪除短信內(nèi)容準(zhǔn)備下次接收 UCS2解碼主要流程圖 單片機(jī)開機(jī)是就啟動(dòng)串口中斷,當(dāng)有收到短信或者電話彩信等是GPRS模塊就會(huì)發(fā)送提示信息這是就會(huì)進(jìn)入串口中斷,單片機(jī)利用串口讀取信息,讀取數(shù)據(jù)完成之后標(biāo)志位置1,進(jìn)入數(shù)據(jù)處理,發(fā)送AT+CMGR=1r;讀取第一條短信。在進(jìn)行數(shù)據(jù)辨別,如果是電話大入則

33、串口讀取的數(shù)據(jù)為“RING”,而如果為短信時(shí)就會(huì)讀取“+CMGL: 1 OK”。而收到彩信時(shí)沒有消息頭只是一連串的代碼。所以根據(jù)這一特征就可設(shè)一判斷來去除干擾。因?yàn)榫幋a傳輸?shù)母袷蕉际窍嗤?,所以判斷如果是短信時(shí)則讀取相應(yīng)的信息字節(jié)代碼,而舍去無用的信息。因?yàn)榻邮艿降氖且晃灰晃坏腁SCLL代碼所以,還要對其進(jìn)行代碼進(jìn)制轉(zhuǎn)換。轉(zhuǎn)換成十六進(jìn)制的信息才能利用字庫進(jìn)行漢字編碼轉(zhuǎn)換跟點(diǎn)陣代碼提取。完成之后將信息存儲(chǔ)在FLASH存儲(chǔ)器中。5.3 LED顯示屏軟件設(shè)計(jì)采用1/4掃描方式,當(dāng)AB為00時(shí)1、5、9、13行驅(qū)動(dòng)選通。當(dāng)AB 為01時(shí)2、6、10、14行驅(qū)動(dòng)選通。當(dāng)AB為10時(shí)3、7、11行驅(qū)動(dòng)選通

34、。當(dāng)AB為11時(shí)3、7、11行驅(qū)動(dòng)選通。在軟件設(shè)計(jì)時(shí)先將的數(shù)據(jù)通過74HC595送到對應(yīng)的行數(shù),在選通對應(yīng)的行數(shù),依次循環(huán)就可在整個(gè)顯示屏上顯示出完整的圖文信息。本設(shè)計(jì)采用的16X32點(diǎn)陣單元板,根據(jù)硬件電路74hc595的分布,可將單元板分為64個(gè)字節(jié)。每個(gè)字節(jié)分別對應(yīng)8個(gè)LED燈。每個(gè)74HC595連接四個(gè)字節(jié)的點(diǎn)整即4X8點(diǎn)陣數(shù)據(jù)從圖5.3.2中33字節(jié)對應(yīng)的595從右往左送入數(shù)據(jù)。5.3.1LED單元板接口示意圖 0 1 32 33 第1行 第一個(gè)74HC5952 3 34 35 4 5 36 37 6 7 38 39 8 9 40 41 第5行第二個(gè)74HC59510 11 42 4

35、3 12 13 44 45 14 15 46 47 .16 17 48 49 第9行第三個(gè)74HC59518 19 50 51 20 21 52 53 22 23 54 55 24 25 56 57 第13行第四個(gè)74HC59526 27 58 59 28 29 60 61 30 31 62 63 5.3.2點(diǎn)陣控制分布圖根據(jù)分析編寫了下面的程序:for(num=0;num4;num+) uchar i; OE=0; /關(guān)使能信號(hào)即關(guān)閉譯碼器74HC138 i=24; /數(shù)據(jù)從右往左送入所以最后一個(gè)595的數(shù)據(jù)要先送 send_8BYT(); / num=0時(shí),將對應(yīng)字節(jié)的點(diǎn)陣數(shù)據(jù)寫入24 、

36、25、16、17、 8、9 、0、1字節(jié)對應(yīng)的595,num累加時(shí)字節(jié)數(shù)對應(yīng)加一 i=56; send_8BYT(); / num=0時(shí),將對應(yīng)字節(jié)的點(diǎn)陣數(shù)據(jù)寫入56 、57、48、49、40、41、32、33 、字節(jié)對應(yīng)的595芯片, num累加時(shí)字節(jié)數(shù)對應(yīng)加一 k+; P2=num; /行選03,每次列顯示送完后在選通行驅(qū)動(dòng) STB=1; /輸出74HC595鎖存器中的數(shù)據(jù),下降沿 STB=0; OE=1; /開使能信號(hào),啟動(dòng)譯碼器工作選通相應(yīng)行驅(qū)動(dòng) Delay(); /控制OE高電平的時(shí)間即調(diào)整OE的占空比來調(diào)節(jié)顯示屏的亮度 void send_8BYT() uchartemp; tem

37、p=i; /送奇數(shù)字節(jié)數(shù)據(jù) for(a=0; a4; a+ ) /送出四個(gè)字節(jié)數(shù)據(jù)給74HC595 WriteByte(tablenum+i+k); i-=8; /減8為將數(shù)據(jù)寫入前一個(gè)74HC595 i=temp+1; /送偶數(shù)字節(jié)數(shù)據(jù) for(a=0; a4; a+ ) /送出四個(gè)字節(jié)數(shù)據(jù)給74HC595 WriteByte(tablenum+i+k); i-=8; /減8為將數(shù)據(jù)寫入前一個(gè)74HC595 軟件中要注意的是OE信號(hào)控制時(shí),須在數(shù)據(jù)送入時(shí)置低等數(shù)據(jù)送完之后再置高,才能使點(diǎn)陣屏的顯示亮度均勻。因?yàn)槿绻恢睂E置高時(shí)在送數(shù)據(jù)給74hc595時(shí)亮度會(huì)有所變化。導(dǎo)致每個(gè)字節(jié)8個(gè)LE

38、D之間會(huì)亮度不均。或者OE直接接脈寬調(diào)制信號(hào)時(shí),會(huì)使整屏點(diǎn)陣屏?xí)r暗時(shí)亮一直在閃動(dòng),因?yàn)橛枚〞r(shí)器定時(shí)刷屏?xí)rSTB鎖存信號(hào)與OE信號(hào)不同步就會(huì)時(shí)有的數(shù)據(jù)顯示的時(shí)間比較長有的數(shù)據(jù)顯示的比較短,這就使字節(jié)與字節(jié)之間亮度產(chǎn)生不同了。要擴(kuò)展板的數(shù)量時(shí)只要變量在上述函數(shù)中變量“i”累加就可以了,例如如有兩塊點(diǎn)陣單元板時(shí)“i”的值就要在56加兩次32送入send_8BYT();就可以了。本程序可擴(kuò)展性較高可根據(jù)板的數(shù)量簡單的修改程序即可。在LED顯示屏動(dòng)態(tài)移位顯示方式下,顯示屏的顯示內(nèi)容每隔一定時(shí)間循環(huán)左移、右移、上移、下移一列或一行,動(dòng)態(tài)移位顯示的效果是由一幅幅不同內(nèi)容的屏幕畫面組成。在軟件上只要改變顯示緩

39、沖區(qū)的內(nèi)容即左移、右移、上移或者下移等一行(一列)之后延時(shí)一定的時(shí)間等待定時(shí)器定時(shí)時(shí)間到送屏顯,即可實(shí)現(xiàn)動(dòng)態(tài)移位顯示的效果。但是顯示緩沖區(qū)所有數(shù)據(jù)左移一列需要一定時(shí)間,不可能在兩次定時(shí)中斷間隔內(nèi)實(shí)現(xiàn)這個(gè)過程。試驗(yàn)發(fā)現(xiàn),設(shè)置兩個(gè)顯示緩沖區(qū),可以很好地解決這一問題,這兩個(gè)顯示緩沖區(qū)一個(gè)用于保存當(dāng)前屏幕顯示的數(shù)據(jù),另一 個(gè)用于對當(dāng)前數(shù)據(jù)左移右移、上移、下移一列或一行,達(dá)到左移時(shí)間間隔后,切換當(dāng)前顯示緩沖區(qū)到已經(jīng)左移、右移、上移、下移一列或一行的緩沖區(qū),然后對另一緩沖區(qū)綜合性左移一列的操作在左移之前,把當(dāng)前顯示緩沖區(qū)的內(nèi)容復(fù)制到要進(jìn)行左移的緩沖區(qū)內(nèi),保證這兩個(gè)緩沖區(qū)數(shù)據(jù)的一致性。就能實(shí)現(xiàn)顯示屏的動(dòng)態(tài)移

40、位顯示。5.4 總程序流程圖 6 總結(jié)與展望本次畢業(yè)設(shè)計(jì)是針對指導(dǎo)老師提供的硬件模塊博創(chuàng)科技GPRS擴(kuò)展板。來實(shí)現(xiàn)短信收發(fā)的功能而進(jìn)行軟件的設(shè)計(jì),此次設(shè)計(jì)基本上達(dá)到了預(yù)期的目的,實(shí)現(xiàn)了其基本的短信收發(fā)功能。但在設(shè)計(jì)中為了減小成本省去了GPRS模塊向手機(jī)發(fā)短信的功能,另外由于此次設(shè)計(jì)實(shí)現(xiàn)的功能簡單,還有許多功能可以進(jìn)行在此基礎(chǔ)上進(jìn)行擴(kuò)展。比如可以擴(kuò)展傳輸?shù)膬?nèi)容,把單一的文字?jǐn)?shù)字字母向多媒體擴(kuò)展,傳輸圖像,聲音等。因?yàn)镚PRS具有較高的傳輸速率,并支持多媒體業(yè)務(wù)。還有另外一個(gè)是實(shí)現(xiàn)設(shè)備的簡單智能診斷,就是LED顯示系統(tǒng)出了問題時(shí)能實(shí)時(shí)通知管理者,實(shí)現(xiàn)簡單功能的無人執(zhí)守顯示系統(tǒng)設(shè)備。通過本次設(shè)計(jì),我

41、對GPRS模塊的控制編程有了深刻的認(rèn)識(shí),也對數(shù)字移動(dòng)通信的短消息服務(wù)有了一定的理解。7 致 謝本次畢業(yè)設(shè)計(jì)的完成,首先感謝我的指導(dǎo)老師蔡植善老師,在本次畢業(yè)設(shè)計(jì)中給予了我充分的幫助與支持在我遇到困難時(shí)盡心地進(jìn)行指點(diǎn)與解答。我對電子行業(yè)的興趣加上蔡老師對我們的關(guān)心使我在大學(xué)最后兩年里學(xué)到了很多知識(shí)與實(shí)踐經(jīng)驗(yàn),為以后走向工作崗位奠定了基礎(chǔ)。8參考文獻(xiàn)1 韓斌杰. GPRS原理及其網(wǎng)絡(luò)優(yōu)化M. 北京:機(jī)械工業(yè)出版社,20032 ETSI GSM 03.40. Technical realization of the Short Message.3 李保風(fēng),郭新志.手機(jī)短信編解碼分析及其c+程序?qū)崿F(xiàn)J

42、.安陽工學(xué)院,2009.(2).4 吳剛,朱一.短信服務(wù)PDU收發(fā)技術(shù)研究J.裝備指揮技術(shù)學(xué)院.2008.(2.).5 馬慧,陳陽平,謝強(qiáng).基于GSM Modem終端的短信系統(tǒng)研究與實(shí)現(xiàn)J.南京航空航天大學(xué)、信息科學(xué)與技術(shù)學(xué)院,2008.(6).6 孫英.短信收發(fā)中的PDU編碼分析J.內(nèi)蒙古科技大學(xué), 2007,1(13).7 吳剛,朱一.短信服務(wù) PDU 收發(fā)技術(shù)研究J.裝備指揮技術(shù)學(xué)院,北京.裝備制造技術(shù)2008.(8).8 C8051F410中文數(shù)據(jù)手冊EB/OL新華龍電子有限公司20069 星辰光電. LED顯示屏控制信號(hào)與顯示接口解析./shownews.asp?id=94&BigC

43、lass=%BC%BC%CA%F5%D7%CA%C1%CF 10 GPRS SIM300硬件說明書EB/OL 北京博創(chuàng)科技.11 GT21L16S2W用戶手冊V30. /brief/gt21l16s2w_web31.pdfThe display of LED Base on GPRS communicationThe college of Physics and Information Engineering Electronic Information Science and Technology,Lin Rong-le Faculty Adviser,Cai Zhi-shan,Associ

44、ate Professor【Abstract】: In this paper,a lattice LEDS panel display system controlled by amicrocomputer C8051F410 Single Chip was givenThe system received the control command and display data by a way of one serial interface of GPRS module using communication protoco1The microcosm- puter controlled

45、the scanning of data display by way of an other serial interface of GPRS modu- Le.The main points of system design and detail description of hardware and software were also presented【Key words】:C8051F410 Single Chip Microcomputer; the display of LED; GPRS; remotecontrol#include#includec8051_flash.h

46、/掉電存儲(chǔ)庫文件#include intrins.h#define SYSCLK /先用24.5m的晶振#define BAUDRATE 9600 /采用9600的波特許接收數(shù)據(jù)#define uchar unsigned char#define uint unsigned int#define BLKN 2 /點(diǎn)陣屏顯示的漢字采用16*16形式存儲(chǔ)uchar code cmgr1 = AT+CMGR=1r; /讀取第一條短信GPRS指令/uchar code cmgr2 = AT+CMGR=2r;/uchar code cmgr3 = AT+CMGR=3r;uchar code cmgd1

47、=AT+CMGD=1r; /刪除第一條短信GPRS指令uchar code cmgd2 =AT+CMGD=2r; /刪除第一條短信GPRS指令/uchar *callnum=; /傳送主機(jī)號(hào)碼uchar t,x,k,m,a,b,c,d,rec,lig=5,speed,light,direction;uchar ii,ma,mb,mc,md,me,mf;uint iaddress; xdata uchar tab120;bit flag,flag_1,flag_2;uint GBcode,GB_code1,GB_code;uchar i,j,temp,num,temp1;uint Unicode

48、=0 x554a;xdata uchar a_dot32,a_dot_1128,u120;xdata uchar dispram64;sbit CLK=P00;sbit MOSI=P02;/主出從入sbit CS=P17;/scksbit MISO=P01;/主入從出;點(diǎn)陣屏傳輸接口定義;sbit CLKled=P10; / 時(shí)鐘信號(hào) sbit STB=P11; / 鎖存信號(hào),上升沿sbit R=P12; /數(shù)據(jù)輸入端口sbit OE=P13; / 使能信號(hào),高電平有效;void delay_l(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);單片

49、機(jī)的初始化設(shè)置;void C8051F410_init(void) PCA0MD &= 0 x40; PCA0MD = 0 x00;/關(guān)看門狗OSCICN = 0 x87;/設(shè)置系統(tǒng)時(shí)鐘 P0MDOUT=0 x1D; /MOSI CLK設(shè)置為推挽輸出; MISO設(shè)為漏極輸出 P1MDOUT =0 xff;P2MDOUT =0 xff; XBR0=0 x03;/開 SPI 端口連接 XBR1 = 0 x40;/使能交叉開關(guān); UART初始化;void UART0_Init (void) SCON0 = 0 x10; CKCON =0 x00; if (SYSCLK/BAUDRATE/2/256

50、1) TH1 = -(SYSCLK/BAUDRATE/2); CKCON |= 0 x08; / T1M = 1; SCA1:0 = xx else if (SYSCLK/BAUDRATE/2/256 4) TH1 = -(SYSCLK/BAUDRATE/2/4); CKCON &= 0 x0B; / T1M = 0; SCA1:0 = 01 CKCON |= 0 x01; else if (SYSCLK/BAUDRATE/2/256 12) TH1 = -(SYSCLK/BAUDRATE/2/12); CKCON &= 0 x0B; / T1M = 0; SCA1:0 = 00 else i

51、f (SYSCLK/BAUDRATE/2/256 48) TH1 = -(SYSCLK/BAUDRATE/2/48); CKCON &= 0 x0B; / T1M = 0; SCA1:0 = 10 CKCON |= 0 x02; else while (1); / Error. Unsupported baud rate TL1 = TH1; / init Timer1 TMOD &= 0 xf0; / TMOD: timer 1 in 8-bit autoreload TMOD |= 0 x20; TMOD &= 0 xf0; TMOD |= 0 x20; TR1 = 1; ; 與GPRS通

52、信的發(fā)送數(shù)據(jù)子程序;void send(uchar *ta) while(*ta)!= 0) SBUF0 =*ta; /待發(fā)數(shù)據(jù)寫入寄存器 while(TI0 =0); /等待發(fā)送完成 TI0 = 0; ta+; ;void delay() unsigned int i,j; for(i=0;i2;i+) for (j=0;j3;j+); ; 采用SPI接口讀取字庫點(diǎn)陣芯片GW12T的點(diǎn)陣信息保存在a_dot;void save() for(j=0;j32;j+) for(i=0;i8;i+) temp=temp1; CLK = 0; CLK = 1; if(!MISO) temp+; a_d

53、otj=temp; ; SPI初始化;void SPI_Init() SPI0CFG=0 x77; /上升沿時(shí)鐘 ,工作在主方式; SPI0CKR=0 xdf; /SPI0時(shí)鐘頻率; SPI0CN=0 x03; /SPI使能 ; 漢字編碼轉(zhuǎn)換:UCS2-GB2312 ;uint UnicodeToGB2312(uint code1)unsigned long ptr,result=0;uchar GB2312Code2;unsigned long UToGb2312Buff =0 x67d70;uint h;uchar UCSadd1,UCSadd2,UCSadd3;if(code10 xa0

54、) result=1;else if(code1=0 xf7) h=code1-160;else if(code10 x2c7) result=1;else if(code1=0 x2c9) h=code1-160-463;else if(code10 x2010) result=1;else if(code1=0 x2312) h=code1-160-463-7494;else if(code10 x2460) result=1;else if(code1=0 x2642) h=code1-160-463-7494-333;else if(code10 x3000) result=1;els

55、e if(code1=0 x3017) h=code1-160-463-7494-333-2493;else if(code10 x3220) result=1;else if(code1=0 x3229) h=code1-160-463-7494-333-2493-520;else if(code10 x4e00) result=1;else if(code1=0 x9b54) h=code1-160-463-7494-333-2493-520-7126;else if(code10 x9c7c) result=1;else if(code1=0 x9ce2) h=code1-160-463

56、-7494-333-2493-520-7126-295;else if(code10 x9e1f) result=1;else if(code1=0 x9fa0) h=code1-160-463-7494-333-2493-520-7126-295-316;else if(code10 xe76c) result=1;else if(code1=0 xe774) h=code1-160-463-7494-333-2493-520-7126-295-316-18379;else if(code10 xff00) result=1;else if(code1=0 xff5f) h=code1-16

57、0-463-7494-333-2493-520-7126-295-316-18379-6027;else if(code10 xffe0) result=1;else if(code1=0 xffe5) h=code1-160-463-7494-333-2493-520-7126-295-316-18379-6027-128;else result=1;if(result=0)ptr = UToGb2312Buff + (h1); /UCS2轉(zhuǎn)GB2312在芯片的首地址else ptr=0 x0000a1a1; UCSadd1=ptr/65536; UCSadd2=ptr/256;UCSadd

58、3=ptr%256; /發(fā)送首地址進(jìn)行GB2312編碼讀取/ CS=1; CS=0; SPI0DAT=0 x03; while (!SPIF); SPIF=0; SPI0DAT=UCSadd1; while (!SPIF); SPIF=0; SPI0DAT=UCSadd2; while (!SPIF); SPIF=0; SPI0DAT=UCSadd3; while (!SPIF); SPIF=0; XBR0=0 x01; /關(guān)SPI 端口連接采用模擬SPI進(jìn)行GB2312編碼讀取 for(j=0;j2;j+) for(i=0;i8;i+) temp=temp=0 xA4 & MSB =0 xA

59、1) Address = 0; else if(MSB =0 xA1 & MSB =0 xA1) Address =(unsigned long)( (MSB - 0 xA1)*94 + (LSB - 0 xA1)*32; else if(MSB =0 xB0 & MSB =0 xA1) Address = (unsigned long)(MSB - 0 xB0) * 94 + (LSB - 0 xA1)+ 846)*32; ADH=Address/0 x10000; a_MSB=Address/256; a_LSB=Address%256; /取 GB2312 編碼在點(diǎn)陣字庫芯片的首地址/

60、delay(); /延時(shí)確保正確 寫入數(shù)據(jù) for(j=0;j32;j+) a_dotj=0; CS=1; CS=0; SPI0DAT=0 x03; while (!SPIF); SPIF=0; SPI0DAT=ADH; while (!SPIF); SPIF=0; SPI0DAT=a_MSB; while (!SPIF); SPIF=0; SPI0DAT=a_LSB; while (!SPIF); SPIF=0; XBR0=0 x01; /開 SPI 端口連接 save(); /發(fā)完地址開始接收 CS=1; XBR0=0 x03; ; LED點(diǎn)陣屏寫595子程序; void WriteByte(uchar dat) /寫一個(gè)字節(jié)的數(shù)據(jù) uchar ii; for(ii=0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論