版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、泉 州 師 范 學 院畢業(yè)論文(設(shè)計)題 目 基于gprs通信的led顯示屏 the display of led base on gprs communication 物信 學 院 電子信息科學與技術(shù) 專 業(yè) 07 級 1 班學生姓名 學 號 070303009 指導(dǎo)教師 職 稱 副教授 完成日期 2011年4月10日 教務(wù)處目錄1.緒論31.1 本文主要研究的內(nèi)容31.2 gprs特點32. 短信系統(tǒng)關(guān)鍵技術(shù)32.1 at指令32.2 短信通信關(guān)鍵技術(shù)43. 系統(tǒng)結(jié)構(gòu)設(shè)計64. 整體電路的各硬件電路的設(shè)計64.1 gprs與單片機接口電路設(shè)計64.2 單片機c8051f410外圍電路的設(shè)計
2、64.3 led點陣屏單元板的設(shè)計原理分析74.4 點陣屏主要芯片簡介84.4.1 雙向總線發(fā)送/接收芯片74hc24584.4.2 譯碼器74hc13884.4.3 8位寄存器74hc59584.4.4 功率芯片apm495394.5 gt21l16s2w字庫芯片94.6 北京博創(chuàng)科技gprs擴展板簡介105.軟件設(shè)計115.1 利用字庫字庫芯片提取點陣代碼的方法115.2 gprs模塊調(diào)試與軟件設(shè)計125.2.1 gprs模塊調(diào)試125.2.1 gprs模塊與單片機通信軟件設(shè)計135.3 led點陣屏軟件設(shè)計146總結(jié)與展望157.致謝158.參考文獻17基于gprs通信的led顯示屏物信
3、學院 電子信息科學與技術(shù) 指導(dǎo)教師 副教授【摘 要】 針對 c8051f410為控制器的點陣led顯示屏控制系統(tǒng),采用 gprsgsm通信標準,通過gprs模塊串行接口接收無線模塊的控制命令及顯示數(shù)據(jù),經(jīng)處理后控制led顯示屏的掃描顯示。本文給出了該系統(tǒng)的設(shè)計方案,以及軟硬件的詳細設(shè)計過程?!娟P(guān)鍵詞】c8051f410單片機;led顯示屏;gprs;遠程控制; 1.緒論1.1本文主要研究的內(nèi)容 本led點陣屏可顯示字符、圖案等信息,具有可靠性高、使用壽命長、環(huán)境適應(yīng)能力強、性能價格比高等特點,因此在廣告、信息顯示領(lǐng)域得到了廣泛的應(yīng)用。這也帶來了一些管理和維護這些顯示信息的問題。能多點控制和便攜
4、式可移動顯示控制的控制主機能給led信息管理帶來極大的方便。本文討論的技術(shù)就是一種克服了以下困難的顯示控制方案。 1.1.1 信息管理的問題 led顯示屏的內(nèi)容需要即時適時地更新。而led顯示屏跟管理者的距離比較遠,或者顯示屏安裝在較高、或者更改比較頻繁的特殊的位置,或者是在公共交通這種實時移動的顯示設(shè)備上等。顯示內(nèi)容更新顯然不能通過常規(guī)的連接電腦用下載設(shè)備下載信息到到顯示屏。這時就需要一種可靠,無線式的更新方式。本文討論的gprs方式就是一種低成本的傳送方式。顯示屏更新或者顯示方式(左移、右移、上移、下移)的控制參數(shù)的設(shè)置的過程只需要普通具有g(shù)prs功能的手機通過發(fā)送短信的方式發(fā)出信息指令和
5、控制指令,顯示終端就可以依照指令靈活地更改。這樣不僅能降低管理成本,還能大大地提高 led 顯示系統(tǒng)的工作效率。 1.12 多點同時發(fā)布信息的問題 當led顯示屏需要在不同地點顯示相同內(nèi)容的時候,本文設(shè)計的這種無線信息傳輸方案可以完成多點同步數(shù)據(jù)更新的功能。這在傳統(tǒng)的下載更新方式是不可能完成的。比如舉行體育賽事時體育場里,四周有顯示比分(廣告信息)的若干個led顯示屏。這時在不僅省去布線的情況下,還可以實現(xiàn)低成本的數(shù)據(jù)同步更新。甚至在不同的城市,只要有g(shù)prs網(wǎng)絡(luò)覆蓋,也可以同步實時的手機發(fā)出的相同的顯示內(nèi)容與控制參數(shù)。這樣就大大拓展了led顯示系統(tǒng)的應(yīng)用地域限制,也提高和系統(tǒng)的利用率。 所以
6、,對于上述存在的問題本文提出了一種基于gprs通信的無線遠程控制的led顯示屏的軟硬件設(shè)計方案。利用手機更新點陣屏的數(shù)據(jù)與顯示方式,亮度移動速度。 1.2 gprs的特點gprs(general packet radio service)是通用分組無線業(yè)務(wù)的縮寫,是介于第二代和第三代網(wǎng)絡(luò)之間的一種技術(shù),因為它是一個混合體,采用tdma方式傳輸語音,采用分組的方式傳輸數(shù)據(jù),通常稱為25g。gprs具有如下一些突出的優(yōu)點,如資源利用率高、傳輸速率高、接入時間短支持ip協(xié)議和x25協(xié)議、無線接人、方便快捷、網(wǎng)絡(luò)覆蓋面廣等1。數(shù)據(jù)中心和每一個顯示屏保持實時連接。而gprs技術(shù)能很好地滿足數(shù)據(jù)傳輸?shù)男枰?/p>
7、。gprs網(wǎng)絡(luò)傳送速率理論上可達171.2kbit/s,目前gprs實際數(shù)據(jù)傳輸速率在40kbps左右,完全能滿足本顯示屏數(shù)據(jù)傳輸速率的需求。2. 短信系統(tǒng)一些關(guān)鍵技術(shù)2.1 at指令at命令集是調(diào)制解調(diào)器通信接口的工業(yè)標準,是調(diào)制解調(diào)器可以識別并執(zhí)行的命令。諾基亞、愛立信、摩托羅拉和惠普共同為gsm 研制了一整套at指令集,形成了gsm07.05 以gsm07.07 技術(shù)規(guī)范,其中包括對sms 的控制。pdu模式正是基于 at 指令集的。表2.1調(diào)試時常用at指令at指令功能回答at回車握手okate簡化顯示okat+cmgf 選擇短消息信息格式,0-pdu;1-文本at+clcc來電顯示o
8、k來電話時串口輸出ringat+cnmi=1,1,2設(shè)置收到短消息提示ok +cmti:“sm”,4 4表示手機內(nèi)短消息數(shù)量atd05133082087;撥打05133082087電話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:已
9、讀;2/sto unsent:待發(fā);3/sto sent:已發(fā);4/all:全部的 2.2 短信通信的關(guān)鍵技術(shù)對短消息的控制共有3種實現(xiàn)途徑: block mode、基于a t 命令的 text mode 和基于a t 命令的 pdu mode。使用block mode 需要手機生產(chǎn)廠家提供驅(qū)動支持。text mode 比較簡單,但這種模式只能發(fā)送 ascii 碼,不能發(fā)送中文的 unicode碼。pdu 模式是發(fā)送或接收手機 sms 信息的一種方法,短信息正文經(jīng)過十六進制編碼后被傳送。目前,pdu 已取代block mode,因此主要探討pdu 模式2。在pdu模式中,有三種編碼方式來對發(fā)送
10、的內(nèi)容進行編碼,它們是 7-bit、8-bit 和 ucs2 編碼。7-bit編碼用于發(fā)送普通的 ascii 字符,它將一串7-bit 的字符(最高位為 0)編碼成 8-bit 的數(shù)據(jù)。8-bit 編碼通常用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等3;而 ucs2 編碼用于發(fā)送 unicode 字符。unicode 是一種所有的字符都使用兩個字節(jié)編碼的編碼模式。 unicode 帶來的好處是突破 ascii 碼字符數(shù)的限制,支持全球多種語言字符集。所以采用 ucs2 編碼后,每個漢字或英文字母占2個字節(jié),tp-ud字段最大可以容納 70個字符,這就是我們常說的每條短信最多容納 70個漢字。所以在這三種
11、編碼方式下,可以發(fā)送的短消息的最大字符數(shù)分別是 160、140和704。接收短信息的 pdu 編碼包括以下內(nèi)容:短信息中心(smsc)號碼、短信息首字節(jié)、發(fā)送者號碼信息、協(xié)議標示符、數(shù)據(jù)編碼方式、短信息時間戳、短信息長度和內(nèi)容。其中 smsc 號碼和發(fā)送者號碼是以十進制半八位字節(jié)編碼,短信息內(nèi)容是以十六進制七位字節(jié)或 unicode 編碼,其他信息是以十六進制八位字節(jié)編碼。一條接收到的中文短信息的pdu解碼5見表2.2。表2.2 sms-del iv er pdupdu字符串:0891683108701705f0040d91683179684193f20008705050320583000c4
12、f60597dff0c9 a6c61673002字節(jié)含義 八位字節(jié) 描述 address of the smsc 08 短消息中心號碼長度 91 短消息中心號碼類型(91表示國際號碼格式) 683108701705f0 以十進制的半八位字節(jié)表示的短信息中心號碼,由于號碼長度是奇數(shù)11,所以在最后一位補上f形成正確的格式。這里的實際號碼是:8613800771500 first octet 04 短消息的首字節(jié) tp oa 6d 以十六進制數(shù)表示的發(fā)送者號碼的長度 91 發(fā)送者號碼的地址類型(91表示國際號碼格式) 683179684193f2 以十進制的半八位字節(jié)表示的發(fā)送者號碼,由于號碼長度
13、是奇數(shù)11,所以在最后一位補上f形成正確的格式。這里的實際號碼是:8613978614392 tp pid 00 tp-pid協(xié)議標示符 tp dcs 08 tp-dcs數(shù)據(jù)編碼方式,這里設(shè)置的是unicode解碼 tp scts 70505032058300 tp-scts以半八位字節(jié)表示的短消息時間戳。這里的時間是: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 a
14、6c61673002 tp-ud短信息內(nèi)容,這里的實際內(nèi)容是:你好,馬慧。 例如接收:smsc 號碼是 + 8613800472500,對方號碼是,消息內(nèi)容是“你好 !”。手機接收到的pdu串可以是:08 91 68 31 08 40 27 05 f0 84 0d 91 68 31 08 74 22 64 f8 00 08 30 30 21 80 63 54 80 06 4f 60 59 7d 00 216-73. 系統(tǒng)結(jié)構(gòu)設(shè)計主控模塊采用c8051f410作為處理核心,完成的是整個led顯示系統(tǒng)的協(xié)調(diào)和數(shù)據(jù)處理。它通過串口負責從gprs通信模塊讀取待顯示的漢字代碼解
15、碼,通過字庫將其轉(zhuǎn)換為字模,送入led點陣單元板,從中擔任數(shù)據(jù)通信及處理和定時送顯示的任務(wù)。 led點整屏塊采用兩塊1632點陣單元板做字符顯示屏。由于點陣屏本身自帶功率放大行驅(qū)動等硬件,所以只需單片機定時掃描即可顯示字符。 4.整體電路的各硬件電路的設(shè)計4.1 gprs與單片機接口電路設(shè)計 圖4.1.1 gprs模塊的串口電路 圖4.1.2 單片機串口電路單片機與gprs模塊通過串口進行通信,gprs模塊上的使用的是max3232,而單片機上使用過的是max232,兩者的差別主要是1.max232電壓供電為5v,max3232是5v或3.3v電壓供電。2. max232功耗較大,供電電壓5v
16、時,耗電5ma;max3232功耗較小,供電電壓5v或3.3v時,耗電 0.3ma。3. max232外接4個1uf電容;max3232外接4個0.1uf電容。4. max232一般民用產(chǎn)品應(yīng)用;max3232一般軍用。單片機與gprs上的串口采用一公一母,對接即可通信。當要利用串口調(diào)試助手對gprs進行調(diào)試時只要用一條串口線一段連接電腦一段連接gprs模塊的串口就能發(fā)送at指令進行各種功能調(diào)試。4.2 單片機c8051f410外圍電路的設(shè)計c8051f410單片機是美國silcon lab公司推出的高性能8位微處理器,flash存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)
17、場更新8051固件。用戶軟件對所有外設(shè)具有完全的控制,可以關(guān)斷任何一個或所有外設(shè)以節(jié)省功耗。c8051f410內(nèi)部有一個串行端口uart0,uart0是一個異步、全雙工串口,uart0有兩個相關(guān)的特殊功能寄存器:串行控制寄存器(scon0)和串行數(shù)據(jù)緩沖器(sbuf0)8。 c8051f410最小系統(tǒng)電路如圖為c8051f410最小系統(tǒng)的周圍電路。在此電路中,。電源從vregin引腳輸入到reg0的電壓可高達5.25v。reg0的輸出可以用軟件選擇為2.1v或2.5v,從引腳6為內(nèi)部穩(wěn)壓器轉(zhuǎn)出電源,引腳1為i/o口電源這各個i/o提供工作電源,p1.2為外部vref輸入第二功能腳,在設(shè)計電路中
18、,這幾處設(shè)置退耦電容,大大減小負載波動對電源的影響。電路中c2接口調(diào)試電路,引腳c2ck為c2調(diào)試接口的時鐘信號,引腳c2d為c2調(diào)試接口的雙向數(shù)據(jù)信號,引出c2ck和c2d以供芯片下載程序。txd和rxd分別為uart的tx引腳和rx引腳。4.3 led點陣屏單元板的設(shè)計原理分析 點陣單元板原理圖 單元板的列控制主要是74hc595,每塊單元板上有16片,每片分別控制4行8列的點陣小單元,接led的負極。行驅(qū)動采用的是amp4953,每塊單元板有4片,每片分別驅(qū)動4行.行驅(qū)動的控制是由譯碼器74ls138完成,每次使單元板有4行亮,有4種狀態(tài)。即完成了16行的控制,使能信號采用的是選通74h
19、c138工作,控制信號oe經(jīng)過反相之后連接74hc138,此時是高電平有效,這樣能有效的減少快速掃描時的干擾。單元板引腳接口說明: clk時鐘信號:提供給移位寄存器的移位脈沖,每一個脈沖將引起數(shù)據(jù)移入或移出一位。數(shù)據(jù)口上的數(shù)據(jù)必須與時鐘信號協(xié)調(diào)才能正常傳送數(shù)據(jù),數(shù)據(jù)信號的頻率必須是時鐘信號的頻率的1/2倍。在任何情況下,當時鐘信號有異常時,會使整板顯示雜亂無章。 stb鎖存信號:將移位寄存器內(nèi)的數(shù)據(jù)送到鎖存器,并將其數(shù)據(jù)內(nèi)容通過驅(qū)動電路點亮led顯示出來。但由于驅(qū)動電路受en使能信號控 制,其點亮的前提必須是使能為開啟狀態(tài)。鎖存信號也須要與時鐘信號協(xié)調(diào)才能顯示出完整的圖象。在任何情況下,當鎖存
20、信號有異常時,會使整板顯示雜亂無章。 oe使能信號:連接74hc138整屏亮度控制信號,也用于顯示屏消隱。只要調(diào)整它的占空比就可以控制亮度的變化。當使能信號出現(xiàn)異常時,整屏將會出現(xiàn)不亮、暗亮或拖尾等現(xiàn)象。 ri數(shù)據(jù)信號:提供顯示圖象所需要的數(shù)據(jù)。必須與時鐘信號協(xié)調(diào)才能將數(shù)據(jù)傳送到任何一個顯示點。一般在顯示屏中紅綠藍的數(shù)據(jù)信號分離開來,若某數(shù)據(jù)信號短路到正極或負極時,則對應(yīng)的該顏色將會出現(xiàn)全亮或不亮,當數(shù)據(jù)信號被懸空時對應(yīng)的顏色顯示情況不定。 abcd行信號:只有在動態(tài)掃描顯示時才存在,abcd其實是二進制數(shù),a是最低位營,如果用二進制表示abcd信號控制最大范圍是16行(1111),1/4掃描
21、中只要ab信號就可以了,因為ab信號的表示范圍是4行(11)。當行控制信號出現(xiàn)異常時,將會出現(xiàn)顯示錯位、高亮或圖像重疊等現(xiàn)象94.4點陣屏用到的主要芯片功能介紹4.4.1 雙向總線發(fā)送/接收芯片74hc245我們單片機出來的信號驅(qū)動能力有限。而點陣屏往往是往往是由多塊串接在一起的,在信號傳遞過程中需要將它的功率進行放大。芯片引腳圖第1腳dir,為輸入輸出端口轉(zhuǎn)換用,dir=“1”高電平時信號由“a”端輸入“b”端輸出,dir=“0”低電平時信號由“b”端輸入“a”端輸出。 第29腳“a”信號輸入輸出端,a1=b1、a8=b8,a1 74hc245引腳圖 與b1是一組,如果dir=“1”g=“0
22、”則a1輸入b1輸出,其它類同。如果dir=“0”g=“0”則b1輸入a1輸出,其它類同。 第1118腳“b”信號輸入輸出端,功能與“a”端一樣,不再描述。第19腳g,使能端,若該腳為“1”a/b端的信號將不導(dǎo)通, 245內(nèi)部結(jié)構(gòu)圖只有為“0”時a/b端才被啟用,該腳也就是起到開關(guān)的作用。 第10腳gnd,電源地。第20腳vcc,電源正極。4.4.2 譯碼器74hc138的作用:八位二進制譯碼器74hc138的作用是用來選擇顯示行,在16*32單元板中一個74hc138可以選擇16行中的四行,所以單元板/模塊上有1塊74hc138,這樣就可以在16行中選擇4行顯示。芯片引腳圖 第8腳gnd,電
23、源地。 第15腳vcc,電源正極 第13腳a、b、c,二進制輸入腳。 第46腳片選信號控制,只有在4、5腳為“0”6腳為“1”時,才會被選通,輸出受a、b、c信號控制。其它任何組合方式將不被選通,且y0y7輸出全為“1”。通過控制選通腳來級聯(lián),使之擴展到十六位。 4.4.3 8位移位74hc595:led驅(qū)動芯片,8位移位鎖存器,用于驅(qū)動顯示列,每片74hc595可以驅(qū)動8列,多片74hc595串接在一起,串行列數(shù)據(jù)信號ri(data)、鎖存信號stb、串行時鐘信號clk都在這個芯片上 第8腳gnd,電源地。 第16腳vcc,電源正極 第14腳data,串行數(shù)據(jù)輸入口,顯示數(shù)據(jù)由此進入,必須有
24、時鐘信號的配合才能移入。 第13腳en,使能口,當該引腳上為“1”時qaqh口全部為 74hc595引腳圖“1”,為“0”時qaqh的輸出由輸入的數(shù)據(jù)控制。第12腳stb,鎖存口,當輸入的數(shù)據(jù)在傳入寄存器后,只有供給一個鎖存信號才能將移入的數(shù)據(jù)送qaqh口輸出。 第11腳clk,時鐘口,每一個時鐘信號將移入一位數(shù)據(jù)到寄存器。 第10腳sclr,復(fù)位口,只要有復(fù)位信號,寄存器內(nèi)移入的數(shù)據(jù)將清空,顯示屏不用該腳,一般接vcc。 第9腳dout,串行數(shù)據(jù)輸出端,將數(shù)據(jù)傳到下一個。 第15、17腳,并行輸出口也就是驅(qū)動輸出口,驅(qū)動led。 4.4.4 功率芯片4953的作用:行驅(qū)動管,功率管,每一顯示
25、行需要的電流是比較大的,要使用行驅(qū)動管,每片4953可以驅(qū)動2個顯示行。 其內(nèi)部是兩個cmos管,1、3腳vcc,2、4腳控制腳,2腳控制7、8腳的輸出,4腳控制5、6腳的輸出,只有當2、4腳為“0”時,7、8、5、6才會輸出,否則輸出為高阻狀態(tài)。 4593引腳圖4.5 gt21l16s2w字庫芯片 圖4.5.1主機與spi接口電路示意圖 圖4.5.2字庫芯片芯片引腳 gt21l16s2w是一款內(nèi)含多種點陣代碼的漢字庫芯片,支持gb2312國標簡體漢字(含有國家信標委合法授權(quán))、ascii字符及gb2312與unicode編碼互轉(zhuǎn)表。排列格式為橫置橫排。計算出該字符點陣在芯片中的地址,就可從該
26、地址連續(xù)讀出字符點陣信息。 1. cs# 片選輸入; 2. so 串行數(shù)據(jù)輸出; 4. gnd 地; 5. spi串行數(shù)據(jù)輸入; 6 .sclk 串行時鐘輸入 ;7. hold# 總線掛起 ; 8. vcc 電源(+ 3.3v);15x16 點漢字的信息需要 32 個字節(jié)(byte 0 byte 31 )來表示。該15x16 點漢字的點陣數(shù)據(jù)是 橫置橫排的,其具體排列結(jié)構(gòu)如下圖:3.5.3漢字點陣排列格式每個漢字在芯片中是以漢字點陣字模的形式存儲的,每個點用一個二進制位表示,存 1 的點,當顯示時可以在屏幕上顯示亮點,存 0 的點,則在屏幕上不顯示。點陣排列格式為橫置橫排:即一個字節(jié)的高位 表
27、示左面的點,低位表示右面的點,排滿一行的點后再排下一行。這樣把點陣信息用來直接在顯示器上按上述規(guī)則顯示,則將出現(xiàn)對應(yīng)的漢字。4.6博創(chuàng)科技gprs擴展板介紹本設(shè)計采用的模塊是北京博創(chuàng)科技up-tech gprs module模塊,gprs 擴展板采用 simcom 公司的sim300 gprs 模塊,并配以相關(guān)電路而構(gòu)成。sim300具有較小的體積即插即用。模塊中完善的三頻gsm/gprs解決方案,使用工業(yè)標準界面,性能更加穩(wěn)定。并且提供了多種接口包括用于arm開發(fā)時的直插式和9針串口模式。sim300 gprs 模塊的默認波特率是 115200。at 命令集大部分和 sim100 模 塊兼容
28、。sim100-e 提供標準的 rs-232 串行接口,用戶可以通過串行口使用 at 命令完成對模塊的操作。串行口支持以下通信速率:300,1200,2400,4800,9600,19200,38400,57600,115200(起始默認) 當模塊上電啟動并報出rdy 后,用戶才可以和模塊進行通信,用戶可以首先使用模塊默認 速率 115200 與模塊通信,并可通過 at+ipr=命令自由切換至其它通信速率。在應(yīng)用 設(shè)計中,當mcu 需要通過串口與模塊進行通訊時,可以只用三個引腳:txd,rxd 和gnd。本擴展板上采用 max3232 芯片完成gprs 模塊的ttl 電平到 rs232 電平的
29、轉(zhuǎn)換10。 gprs模塊模式選擇當gprs模塊要與單片機通信時需在板上“sim300 module uart select”上選擇“rs232 db9 port up3000/to pc”模式,用0歐電阻焊接rj7跟rj8。同時焊接母口db9串口跟max3232電平轉(zhuǎn)換芯片,板上如果有焊接16c550(可編程串行接口芯片)需去掉。因為會使其輸出的modem信號錯誤控制sim300的uart接口而無法通過rs3232通信。5軟件部分5.1利用字庫字庫芯片提取點陣的方法首先把片選信號(cs#)變?yōu)榈?,緊跟著的是1 個字節(jié)的命令字(03 h)和3 個字節(jié)的地址和通 過串行數(shù)據(jù)輸入引腳(si)移位輸入
30、,每一位在串行時鐘(sclk)上升沿被鎖存。 然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(so)移位輸出,每一位在串行時鐘(sclk)下降沿被移出。讀取字節(jié)數(shù)據(jù)后,則把片選信號(cs#)變?yōu)楦?,結(jié)束本次操作。 如果片選信號 (cs#)繼續(xù)保持為底,則下一個地址的字節(jié)數(shù)據(jù)繼續(xù)通過串行數(shù)據(jù)輸出引腳(so)移位輸出11。 圖5.1.1 spi方式讀取點陣時序圖5.1.2 點陣數(shù)據(jù)一般讀取時序圖從ucs2編碼通過軟件讀取點陣代碼時,首先將16位unicode編碼經(jīng)過地址計算程序算出在點陣芯片的首地址(unicode 到gb2312 內(nèi)碼轉(zhuǎn)換表的地址范圍為67d70 7278f,軟件設(shè)計時如果沒有在地址范
31、圍則表示輸入的ucs2編碼出錯)。在將得到的2字節(jié)地址位通過spi接口讀出2字節(jié)的gb2312編碼。再將gb2312編碼送入地址計算程序算出32位點陣信息的首地址(15x16 點陣地址范圍000003b7bf,超出范圍則判斷出錯)。再次通過spi接口讀出32位點陣信息。5.2 gprs模塊調(diào)試與軟件設(shè)計5.2.1 gprs模塊調(diào)試首先把sim卡插到模塊的卡槽,在給gprs上電(不能上電后在插卡,因為本擴展板是用阻容充電和施密特觸發(fā)器整形獲得上電后約1.5秒低電平延時用來啟動simcom300)。如果出現(xiàn)大約75ms 亮 / 3s 滅,則表明網(wǎng)絡(luò)已注冊成功。如果出現(xiàn)亮滅時間一樣則主要原因是未插入
32、sim卡,或則找不到網(wǎng)絡(luò)(可能是天線、信號弱等問題)。 在與單片機通信之前可首先使用串口調(diào)試助手做如下調(diào)試,因為以下設(shè)置只要設(shè)置一次模塊就會自動保存設(shè)置的信息不用每次都有單片機設(shè)置。設(shè)置波特率,初始時的波特率為11250,改為9600 發(fā)送 at 返回 ok 發(fā)送 at+apr=9600 返回 ok波特率設(shè)置完成設(shè)置本地的短信中心號碼發(fā)送 at 返回 ok發(fā)送 at+cmgf=1 返回 ok發(fā)送 at+csca=+8613800595500/本地短消息中心號碼返回 ok短信中心號碼設(shè)置完成。可實現(xiàn)收發(fā)短信功能。5.2.2 gprs模塊與單片機通信軟件設(shè)計發(fā)送at指令讀取數(shù)據(jù) ascll編碼轉(zhuǎn)十
33、進制 取核心數(shù)據(jù)存ram十進制轉(zhuǎn)十六進制第一字節(jié)與定密碼相同否主程序是十六進制數(shù)據(jù)送flash存儲 刪除短信內(nèi)容準備下次接收 ucs2解碼主要流程圖 單片機開機是就啟動串口中斷,當有收到短信或者電話彩信等是gprs模塊就會發(fā)送提示信息這是就會進入串口中斷,單片機利用串口讀取信息,讀取數(shù)據(jù)完成之后標志位置1,進入數(shù)據(jù)處理,發(fā)送at+cmgr=1r;讀取第一條短信。在進行數(shù)據(jù)辨別,如果是電話大入則串口讀取的數(shù)據(jù)為“ring”,而如果為短信時就會讀取“+cmgl: 1 ok”。而收到彩信時沒有消息頭只是一連串的代碼。所以根據(jù)這一特征就可設(shè)一判斷來去除干擾。因為編碼傳輸?shù)母袷蕉际窍嗤?,所以判斷如果?/p>
34、短信時則讀取相應(yīng)的信息字節(jié)代碼,而舍去無用的信息。因為接受到的是一位一位的ascll代碼所以,還要對其進行代碼進制轉(zhuǎn)換。轉(zhuǎn)換成十六進制的信息才能利用字庫進行漢字編碼轉(zhuǎn)換跟點陣代碼提取。完成之后將信息存儲在flash存儲器中。5.3 led顯示屏軟件設(shè)計采用1/4掃描方式,當ab為00時1、5、9、13行驅(qū)動選通。當ab 為01時2、6、10、14行驅(qū)動選通。當ab為10時3、7、11行驅(qū)動選通。當ab為11時3、7、11行驅(qū)動選通。在軟件設(shè)計時先將的數(shù)據(jù)通過74hc595送到對應(yīng)的行數(shù),在選通對應(yīng)的行數(shù),依次循環(huán)就可在整個顯示屏上顯示出完整的圖文信息。本設(shè)計采用的16x32點陣單元板,根據(jù)硬件
35、電路74hc595的分布,可將單元板分為64個字節(jié)。每個字節(jié)分別對應(yīng)8個led燈。每個74hc595連接四個字節(jié)的點整即4x8點陣數(shù)據(jù)從圖5.3.2中33字節(jié)對應(yīng)的595從右往左送入數(shù)據(jù)。5.3.1led單元板接口示意圖 0 1 32 33 第1行 第一個74hc5952 3 34 35 4 5 36 37 6 7 38 39 8 9 40 41 第5行第二個74hc59510 11 42 43 12 13 44 45 14 15 46 47 .16 17 48 49 第9行第三個74hc59518 19 50 51 20 21 52 53 22 23 54 55 24 25 56 57 第1
36、3行第四個74hc59526 27 58 59 28 29 60 61 30 31 62 63 5.3.2點陣控制分布圖根據(jù)分析編寫了下面的程序:for(num=0;num4;num+) uchar i; oe=0; /關(guān)使能信號即關(guān)閉譯碼器74hc138 i=24; /數(shù)據(jù)從右往左送入所以最后一個595的數(shù)據(jù)要先送 send_8byt(); / num=0時,將對應(yīng)字節(jié)的點陣數(shù)據(jù)寫入24 、25、16、17、 8、9 、0、1字節(jié)對應(yīng)的595,num累加時字節(jié)數(shù)對應(yīng)加一 i=56; send_8byt(); / num=0時,將對應(yīng)字節(jié)的點陣數(shù)據(jù)寫入56 、57、48、49、40、41、32
37、、33 、字節(jié)對應(yīng)的595芯片, num累加時字節(jié)數(shù)對應(yīng)加一 k+; p2=num; /行選03,每次列顯示送完后在選通行驅(qū)動 stb=1; /輸出74hc595鎖存器中的數(shù)據(jù),下降沿 stb=0; oe=1; /開使能信號,啟動譯碼器工作選通相應(yīng)行驅(qū)動 delay(); /控制oe高電平的時間即調(diào)整oe的占空比來調(diào)節(jié)顯示屏的亮度 void send_8byt() uchartemp; temp=i; /送奇數(shù)字節(jié)數(shù)據(jù) for(a=0; a4; a+ ) /送出四個字節(jié)數(shù)據(jù)給74hc595 writebyte(tablenum+i+k); i-=8; /減8為將數(shù)據(jù)寫入前一個74hc595 i
38、=temp+1; /送偶數(shù)字節(jié)數(shù)據(jù) for(a=0; a4; a+ ) /送出四個字節(jié)數(shù)據(jù)給74hc595 writebyte(tablenum+i+k); i-=8; /減8為將數(shù)據(jù)寫入前一個74hc595 軟件中要注意的是oe信號控制時,須在數(shù)據(jù)送入時置低等數(shù)據(jù)送完之后再置高,才能使點陣屏的顯示亮度均勻。因為如果一直將oe置高時在送數(shù)據(jù)給74hc595時亮度會有所變化。導(dǎo)致每個字節(jié)8個led之間會亮度不均?;蛘遫e直接接脈寬調(diào)制信號時,會使整屏點陣屏時暗時亮一直在閃動,因為用定時器定時刷屏時stb鎖存信號與oe信號不同步就會時有的數(shù)據(jù)顯示的時間比較長有的數(shù)據(jù)顯示的比較短,這就使字節(jié)與字節(jié)之
39、間亮度產(chǎn)生不同了。要擴展板的數(shù)量時只要變量在上述函數(shù)中變量“i”累加就可以了,例如如有兩塊點陣單元板時“i”的值就要在56加兩次32送入send_8byt();就可以了。本程序可擴展性較高可根據(jù)板的數(shù)量簡單的修改程序即可。在led顯示屏動態(tài)移位顯示方式下,顯示屏的顯示內(nèi)容每隔一定時間循環(huán)左移、右移、上移、下移一列或一行,動態(tài)移位顯示的效果是由一幅幅不同內(nèi)容的屏幕畫面組成。在軟件上只要改變顯示緩沖區(qū)的內(nèi)容即左移、右移、上移或者下移等一行(一列)之后延時一定的時間等待定時器定時時間到送屏顯,即可實現(xiàn)動態(tài)移位顯示的效果。但是顯示緩沖區(qū)所有數(shù)據(jù)左移一列需要一定時間,不可能在兩次定時中斷間隔內(nèi)實現(xiàn)這個過
40、程。試驗發(fā)現(xiàn),設(shè)置兩個顯示緩沖區(qū),可以很好地解決這一問題,這兩個顯示緩沖區(qū)一個用于保存當前屏幕顯示的數(shù)據(jù),另一 個用于對當前數(shù)據(jù)左移右移、上移、下移一列或一行,達到左移時間間隔后,切換當前顯示緩沖區(qū)到已經(jīng)左移、右移、上移、下移一列或一行的緩沖區(qū),然后對另一緩沖區(qū)綜合性左移一列的操作在左移之前,把當前顯示緩沖區(qū)的內(nèi)容復(fù)制到要進行左移的緩沖區(qū)內(nèi),保證這兩個緩沖區(qū)數(shù)據(jù)的一致性。就能實現(xiàn)顯示屏的動態(tài)移位顯示。5.4 總程序流程圖 6 總結(jié)與展望本次畢業(yè)設(shè)計是針對指導(dǎo)老師提供的硬件模塊博創(chuàng)科技gprs擴展板。來實現(xiàn)短信收發(fā)的功能而進行軟件的設(shè)計,此次設(shè)計基本上達到了預(yù)期的目的,實現(xiàn)了其基本的短信收發(fā)功能
41、。但在設(shè)計中為了減小成本省去了gprs模塊向手機發(fā)短信的功能,另外由于此次設(shè)計實現(xiàn)的功能簡單,還有許多功能可以進行在此基礎(chǔ)上進行擴展。比如可以擴展傳輸?shù)膬?nèi)容,把單一的文字數(shù)字字母向多媒體擴展,傳輸圖像,聲音等。因為gprs具有較高的傳輸速率,并支持多媒體業(yè)務(wù)。還有另外一個是實現(xiàn)設(shè)備的簡單智能診斷,就是led顯示系統(tǒng)出了問題時能實時通知管理者,實現(xiàn)簡單功能的無人執(zhí)守顯示系統(tǒng)設(shè)備。通過本次設(shè)計,我對gprs模塊的控制編程有了深刻的認識,也對數(shù)字移動通信的短消息服務(wù)有了一定的理解。7 致 謝本次畢業(yè)設(shè)計的完成,首先感謝我的指導(dǎo)老師蔡植善老師,在本次畢業(yè)設(shè)計中給予了我充分的幫助與支持在我遇到困難時盡心
42、地進行指點與解答。我對電子行業(yè)的興趣加上蔡老師對我們的關(guān)心使我在大學最后兩年里學到了很多知識與實踐經(jīng)驗,為以后走向工作崗位奠定了基礎(chǔ)。8參考文獻1 韓斌杰. gprs原理及其網(wǎng)絡(luò)優(yōu)化m. 北京:機械工業(yè)出版社,20032 etsi gsm 03.40. technical realization of the short message.3 李保風,郭新志.手機短信編解碼分析及其c+程序?qū)崿F(xiàn)j.安陽工學院,2009.(2).4 吳剛,朱一.短信服務(wù)pdu收發(fā)技術(shù)研究j.裝備指揮技術(shù)學院.2008.(2.).5 馬慧,陳陽平,謝強.基于gsm modem終端的短信系統(tǒng)研究與實現(xiàn)j.南京航空航天大
43、學、信息科學與技術(shù)學院,2008.(6).6 孫英.短信收發(fā)中的pdu編碼分析j.內(nèi)蒙古科技大學, 2007,1(13).7 吳剛,朱一.短信服務(wù) pdu 收發(fā)技術(shù)研究j.裝備指揮技術(shù)學院,北京.裝備制造技術(shù)2008.(8).8 c8051f410中文數(shù)據(jù)手冊eb/ol新華龍電子有限公司20069 星辰光電. led顯示屏控制信號與顯示接口解析./shownews.asp?id=94&bigclass=%bc%bc%ca%f5%d7%ca%c1%cf 10 gprs sim300硬件說明書eb/ol 北京博創(chuàng)科技.11 gt21l16s2w用戶手冊v30. /brief/gt21l16s2w_
44、web31.pdfthe display of led base on gprs communicationthe college of physics and information engineering electronic information science and technology,070303009,lin rong-le faculty adviser,cai zhi-shan,associate professor【abstract】: in this paper,a lattice leds panel display system controlled by ami
45、crocomputer 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 the scanning of data display by way of an other serial interface of gprs modu- le.the main p
46、oints 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 /掉電存儲庫文件#include intrins.h#define sysclk 24500000 /先用24.5m的晶振#define baudrate 9600 /采用9600的波
47、特許接收數(shù)據(jù)#define uchar unsigned char#define uint unsigned int#define blkn 2 /點陣屏顯示的漢字采用16*16形式存儲uchar code cmgr1 = at+cmgr=1r; /讀取第一條短信gprs指令/uchar code cmgr2 = at+cmgr=2r;/uchar code cmgr3 = at+cmgr=3r;uchar code cmgd1 =at+cmgd=1r; /刪除第一條短信gprs指令uchar code cmgd2 =at+cmgd=2r; /刪除第一條短信gprs指令/uchar *call
48、num /傳送主機號碼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=0 x554a;xdata uchar a_dot32,a_dot_1128,u120;xdata uchar dispram64;sbit
49、clk=p00;sbit mosi=p02;/主出從入sbit cs=p17;/scksbit miso=p01;/主入從出;點陣屏傳輸接口定義;sbit clkled=p10; / 時鐘信號 sbit stb=p11; / 鎖存信號,上升沿sbit r=p12; /數(shù)據(jù)輸入端口sbit oe=p13; / 使能信號,高電平有效;void delay_l(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);單片機的初始化設(shè)置;void c8051f410_init(void) pca0md &= 0 x40; pca0md = 0 x00;/關(guān)看門狗o
50、scicn = 0 x87;/設(shè)置系統(tǒng)時鐘 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 1) th1 = -(sysclk/baudrate/2); ckcon |= 0 x08; / t1m = 1; sca1:0 = xx el
51、se 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 if (sysclk/baudrate/2/256 48) th1 = -(sysclk/baudrate/2/48); ckcon &= 0 x
52、0b; / 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通信的發(fā)送數(shù)據(jù)子程序;void send(uchar *ta) while(*ta)!= 0) sbuf0 =*ta; /待發(fā)數(shù)據(jù)寫入寄存器 wh
53、ile(ti0 =0); /等待發(fā)送完成 ti0 = 0; ta+; ;void delay() unsigned int i,j; for(i=0;i2;i+) for (j=0;j3;j+); ; 采用spi接口讀取字庫點陣芯片gw12t的點陣信息保存在a_dot;void save() for(j=0;j32;j+) for(i=0;i8;i+) temp=temp1; clk = 0; clk = 1; if(!miso) temp+; a_dotj=temp; ; spi初始化;void spi_init() spi0cfg=0 x77; /上升沿時鐘 ,工作在主方式; spi0ck
54、r=0 xdf; /spi0時鐘頻率; 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) result=1;else if(code1=0 xf7) h=code1-160;else if(code10 x2c7) result=
55、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;else if(code1=0 x3017) h=code1-160-463-7494-333-2493;else if(code10 x3220)
56、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-7494-333-2493-520-7126-295;else if(code10 x9e1f) result=1;else if(code1
57、=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-160-463-7494-333-2493-520-7126-295-316-18379-6027;else if(code10 xffe0) re
58、sult=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;ucsadd3=ptr%256; /發(fā)送首地址進行g(shù)b2312編碼讀取/ cs=1; cs=0; spi0dat=0 x03; while (!spif);
59、 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進行g(shù)b2312編碼讀取 for(j=0;j2;j+) for(i=0;i8;i+) temp=temp=0 xa4 & msb =0 xa1) address = 0; else if(msb =0 xa1 & msb =0 xa1) address =(unsigned long
60、)( (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 編碼在點陣字庫芯片的首地址/ delay(); /延時確保正確 寫入數(shù)據(jù) for(j=0;j32;j+) a_dotj=0; cs=1; cs=0; spi0dat=0 x03; while (!spif); spif=0; spi0dat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年云南輕紡職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年樂山職業(yè)技術(shù)學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年烏蘭察布醫(yī)學高等??茖W校高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年臨夏現(xiàn)代職業(yè)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 有監(jiān)督學習中的選擇結(jié)構(gòu)改進-洞察分析
- 藝術(shù)品牌形象塑造-洞察分析
- 2025年三峽旅游職業(yè)技術(shù)學院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 遙感設(shè)備耐久性測試-洞察分析
- 維修行業(yè)標準化研究-洞察分析
- 醫(yī)學圖像質(zhì)量優(yōu)化算法-洞察分析
- 2023-2024學年度人教版一年級語文上冊寒假作業(yè)
- 軟件運維考核指標
- 空氣動力學仿真技術(shù):格子玻爾茲曼方法(LBM)簡介
- 對表達方式進行選擇與運用
- GB/T 18488-2024電動汽車用驅(qū)動電機系統(tǒng)
- 投資固定分紅協(xié)議
- 高二物理題庫及答案
- 職業(yè)發(fā)展展示園林
- 2024版醫(yī)療安全不良事件培訓講稿
- 中學英語教學設(shè)計PPT完整全套教學課件
- 移動商務(wù)內(nèi)容運營(吳洪貴)項目五 運營效果監(jiān)測
評論
0/150
提交評論