




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
145/154梧州學(xué)院畢業(yè)論文論文題目基于GSM短消息的LED點(diǎn)陣廣告屏設(shè)計(jì)系不電子信息工程系專業(yè)電子科學(xué)與技術(shù)班級08電科1班學(xué)號200800610101學(xué)生姓名黃桂才指導(dǎo)教師(簽名)完成時(shí)刻2011年12月
摘要本文介紹了一種基于GSM通信模塊及STC89C52單片機(jī)設(shè)計(jì)的LED廣告屏的設(shè)計(jì)過程。該設(shè)計(jì)是由單片機(jī)主控芯片STC89C52、TC35i-GSM模塊、8×8LED點(diǎn)陣、GT21L16S2Y字庫芯片、AMS1117、8位移位鎖存器74HC595、4-16位譯碼器74HC154等單元電路組成。該設(shè)計(jì)的要緊工作原理是通過GSM模塊接收短信息,經(jīng)單片機(jī)進(jìn)行解碼,最終顯示到LED點(diǎn)陣屏上。研究表明該設(shè)計(jì)使用廣泛、方便、安全、有用,具有可靠性高、使用壽命長、性能價(jià)格比高、使用成本低、環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn),廣泛應(yīng)用于金融市場、醫(yī)院、體育場館、機(jī)場、碼頭、車站、高速公路等公共場所的信息顯示和廣告宣傳。關(guān)鍵詞:STC89C52;LED點(diǎn)陣屏;GSM模塊;GT21L16S2YBasedonGSMshortmessageLEDadvertisingscreenAbstractThispassageintroducesadesign,ItdesignedfromSTC89S52microcontrollerLEDadvertisingscreenbaseonGSMdesign.ThedesignismadeupofthemastermicrocontrollerchipSTC89C52,TC35i-GSMmodularizedcircuit,8x8LEDlattice,GT21L16S2Ywordstockchip,AMS1117,eightbitshiftlatch74HC595,4-16codetranslator74HC154.Thisdesign’sprincipleofworkisreceiveshortmessagethroughtheGSM,recodingthecodebyMCU,andfinaldisplaytotheLEDlatticescreen.Researchshowsthatthisdesigniswidelyused,convenient,safe,practical.Ithashighreliability,longservicelife,highcostperformance,theuseoflowcost,strongabilitytoadapttheenvironmentetc,Widelyusedinthefinancialmarket,hospitals,sportsvenues,airports,docks,stations,theexpresswayandotherpublicinformationdisplayandadvertising.Keyword:MCU(MicroControllerUnit);STC89C52;LEDlattice;GSM;GT21L16S2Y
TOC\o"1-3"\h\u10586第一章引言 180501.1課題背景與來源 153631.2課題意義 1318111.3課題設(shè)計(jì)內(nèi)容和方案 216718第二章系統(tǒng)概述 2189252.1系統(tǒng)組成 237732.2系統(tǒng)的功能介紹及操作講明 312916第三章硬件組成與設(shè)計(jì) 416103.1整體電路圖 4198433.2電源電路 5288223.2.1單片機(jī)電源 567423.2.2LED點(diǎn)陣屏電源 6114223.2.3字庫芯片電源 6117363.3主控芯片單片機(jī) 735553.4單片機(jī)最小系統(tǒng) 8242633.5LED點(diǎn)陣顯示屏 1011523.5.18×8LED點(diǎn)陣塊 10183943.5.274HC595引腳及其功能介紹 11100293.5.374HC154譯碼器簡介 12307843.6點(diǎn)陣屏組成方案 13139043.7字符顯示方案 15115073.7.1Unicode碼簡介 15103673.7.2GB2312漢字內(nèi)碼簡介 154293.7.3GT21L16S2Y字庫芯片簡介 1651533.7.4AMS1117 17160033.7.5電平匹配方法 17100003.8GSM模塊 1820347第四章軟件設(shè)計(jì) 1993324.1開發(fā)環(huán)境 1975654.2AT指令 19251224.2.1簡介 19319864.2.3用法 20190144.2.4常用與GSM相關(guān)的AT指令 20170734.3總的程序流程圖 21192424.4LED掃描顯示程序流程圖 2225541第五章設(shè)計(jì)的測試與分析 23118545.1設(shè)計(jì)的過程 23210825.2單個(gè)模塊的調(diào)試 23228335.3系統(tǒng)測試達(dá)到的技術(shù)指標(biāo) 2512775結(jié)束語 2619840參考文獻(xiàn) 27312致謝 2811130附錄(一) 294513附錄(二) 30第一章引言1.1課題背景與來源 現(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。大到導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的操縱,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)操縱和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的操縱,小到程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用講自動(dòng)操縱領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。因此,單片機(jī)以其強(qiáng)大的易用性,可編程性獲得了極大的應(yīng)用。而本設(shè)計(jì)確實(shí)是采納型號為STC89C52的單片機(jī)。傳統(tǒng)電子顯示屏的內(nèi)容由電腦通過數(shù)據(jù)線發(fā)送,信息只能在固定的電腦上發(fā)送,只能固定地顯示所連接電腦一次發(fā)送的信息,且只能在短距離內(nèi)使用,一般只有數(shù)十米,因此它在實(shí)際使用中暴露出一定的問題及弊端。如脫機(jī)屏的方式,有信息治理不方便,更新信息需換芯片等問題,從而白費(fèi)大量的人力和財(cái)力。用連機(jī)屏方式的話,雖講能夠?qū)崟r(shí)監(jiān)控與治理,但假如信息顯示屏離上位機(jī)專門遠(yuǎn)的話(如在高速公路上的顯示屏),僅僅通信線的費(fèi)用就專門大,這是個(gè)迫切需要解決的工程問題。短消息是GSM(全球移動(dòng)通信系統(tǒng))中最簡便的數(shù)據(jù)通信方式之一。隨著短消息業(yè)務(wù)的日益完善,短消息已具備承載重要數(shù)據(jù)信息的能力。而運(yùn)用短信來遠(yuǎn)程操縱LED顯示屏內(nèi)容大大降低了成本,在實(shí)際工作中起到了事半功倍的作用,更具有科研性。1.2課題意義步入信息化快速進(jìn)展時(shí)代,各種宣傳手段日益多元化,設(shè)計(jì)一種方便有用的廣告顯示屏是特不有意義的而且可行的。該設(shè)計(jì)要緊包括單片機(jī)主控模塊、LED點(diǎn)陣模塊、TC35i-GSM通信模塊、字庫模塊等。那個(gè)設(shè)計(jì)大大地為人類提高了辦事效率,簡化了屏幕信息的更新方式,大大降低了顯示成本,節(jié)約許多人力物力,顯示方式靈活多變,更新手段安全可靠。1.3課題設(shè)計(jì)內(nèi)容和方案主體功能:設(shè)計(jì)一個(gè)基于GSM短信顯示的LED點(diǎn)陣屏,包含以下要緊功能:1.上電后,單片機(jī)對GSM等各模塊進(jìn)行初始化,等待短信息的到來。2.GSM收到短信息后,通知單片機(jī),單片機(jī)對GSM發(fā)出讀取短信的命令并讀出GSM的短信,分離提取短信息中表示短信內(nèi)容的Unicode碼。3.單片機(jī)利用讀到的Unicode碼,通過訪問字庫芯片,將Unicode碼轉(zhuǎn)換成為計(jì)算機(jī)系統(tǒng)中常用的標(biāo)準(zhǔn)漢字內(nèi)碼(GB2312),并存儲(chǔ)。4.在無短信息狀態(tài)時(shí),單片機(jī)利用漢字內(nèi)碼,不斷訪問字庫芯片,將上一條短信內(nèi)容的內(nèi)碼轉(zhuǎn)換成可在LED點(diǎn)陣上顯示的字模,依次顯示到屏幕上。5.若字?jǐn)?shù)超過屏幕可顯示的最大容量,則以移屏的方式依次顯示短信內(nèi)容。6.單片機(jī)通過對74HC154和74HC595兩塊芯片配合操縱,以快速掃描的方式實(shí)現(xiàn)漢字和字符的顯示。7.單片機(jī)系統(tǒng)板上配有蜂鳴器,每接收到一條短信就發(fā)出“嘀~”的一聲短鳴以表示短信更新。第二章系統(tǒng)概述2.1系統(tǒng)組成本次設(shè)計(jì)要緊包括單片機(jī)主控模塊、GSM通信模塊、字庫模塊、LED點(diǎn)陣顯示模塊四個(gè)部分。單片機(jī)STC89C52芯片要緊操縱電路功能框圖如圖2-1電源提示LED
電源提示LED
STC89C52 IO口外接插口IO口外接插口RS232串行接口RS232串行接口蜂鳴器蜂鳴器USB電源接口USB電源接口圖2-1設(shè)計(jì)的電路操縱模塊框圖LED點(diǎn)陣模塊其框圖如圖2-2所示,該模塊的差不多單元是8×8LED點(diǎn)陣顯示塊,由于比較清晰地顯示一個(gè)漢字一般需要16×16個(gè)點(diǎn),故將8×8LED點(diǎn)陣拼接起來組成能夠顯示漢字的點(diǎn)陣屏。在本設(shè)計(jì)中,設(shè)計(jì)16×64的點(diǎn)陣,使用74HC154和74HC595聯(lián)合驅(qū)動(dòng)操縱。1616×64點(diǎn)陣74HC15474HC59574HC15474HC595圖2-2LED點(diǎn)陣屏主操縱電路模塊框圖2.2系統(tǒng)的功能介紹及操作講明本系統(tǒng)的特點(diǎn)和可實(shí)現(xiàn)的功能以及具體的操作講明要緊有:1.通電之前,先將SIM卡放入GSM模塊中,打開GSM模塊,并長按數(shù)秒啟動(dòng)鍵,直到GSM指示燈穩(wěn)定閃耀,表示GSM模塊差不多穩(wěn)定工作。2.接上電源并打開電路開關(guān)后,電源顯示燈亮,LED點(diǎn)陣屏顯示狀態(tài)信息。3.開始給插入GSM模塊中的SIM卡的號碼發(fā)送短信。4.當(dāng)GSM接收到短信息后,蜂鳴器發(fā)出短鳴,LED屏上顯示短信內(nèi)容。5.若短信內(nèi)容長度大于四個(gè)漢字,則LED屏以移屏的形式顯示。
第三章硬件組成與設(shè)計(jì)硬件設(shè)計(jì)是本系統(tǒng)的基礎(chǔ),硬件設(shè)計(jì)的可靠性直接阻礙系統(tǒng)的穩(wěn)定性。在敘述上,先介紹了整體的設(shè)計(jì),再分模塊逐次細(xì)致的介紹,其中穿插一些芯片的介紹。3.1整體電路圖整體電路分成三塊板,分不為STC89C52的系統(tǒng)板、LED點(diǎn)陣屏驅(qū)動(dòng)操縱板及TC35i-GSM模塊,STC89C52系統(tǒng)板電路包括單片機(jī)STC89C52芯片、IO口外接插口、RS232串行接口、蜂鳴器、USB電源接口。其電路如下圖圖3-1-1所示。圖3-1-1STC89C52主操縱電路圖LED點(diǎn)陣屏電路板要緊包括16個(gè)8×8拼接成的16×64點(diǎn)陣屏幕,以及用于操縱LED顯示的兩塊74HC595和四塊74HC154。另外,出于節(jié)約空間的考慮,我還將電路不是專門復(fù)雜的用于取字模的字庫芯片GT21L16S2Y一并做到該電路板上。因GT21L16S2Y芯片所需的供電電壓為3.3V,因此電路中加入了5V-3.3V的穩(wěn)壓模塊AMS1117以提供GT21L16S2Y芯片正常工作的電壓。其電路原理圖如圖3-1-2所示圖3-1-2LED點(diǎn)陣屏模塊電路圖由于GSM模塊對電路設(shè)計(jì)及制作要求相當(dāng)嚴(yán)格,一般手工制板的方式容易導(dǎo)致模塊工作不穩(wěn)定,而且市場上GSM模塊應(yīng)用十分成熟而廣泛,性價(jià)比較高,因此本設(shè)計(jì)使用成品的TC35i模塊。3.2電源電路本次電源設(shè)計(jì)中要緊的問題是不同的電路模塊需要的電壓伏值不同。如何讓各個(gè)電源模塊獨(dú)立正常的工作尤為重要。因此關(guān)于不同的電壓值,分不設(shè)計(jì)不同的電源模塊,給單片機(jī)最小系統(tǒng)板電路、LED點(diǎn)陣屏電路、GSM模塊提供穩(wěn)定的電壓。包括如何實(shí)現(xiàn)3.3v和5v的SPI通信設(shè)計(jì)。3.2.1單片機(jī)電源因?yàn)閱纹瑱C(jī)工作電壓為直流+5V,正負(fù)5%。電路功耗不高。因此該部分對電源的要求不是專門高。通常的電源設(shè)計(jì)利用的是7805穩(wěn)壓管做一個(gè)輸出為正5V的直流穩(wěn)壓電源電路,而本設(shè)計(jì)采納應(yīng)用廣泛的USB接口,使用一般的手機(jī)充電器即可供電,方便有用。其電路設(shè)計(jì)如圖3-2-1:3-2-1單片機(jī)電源電路圖3.2.2LED點(diǎn)陣屏電源本設(shè)計(jì)的LED點(diǎn)陣屏所使用的電壓亦是5V,故同樣用USB接口供電。3.2.3字庫芯片電源GT21L16S2Y字庫芯片需要3.3V的電源,故在LED點(diǎn)陣屏的5V電源下,加上一塊5V-3.3V的穩(wěn)壓芯片AMS1117獵取所需電壓值。單片機(jī)操縱繼電器電路如下圖3-2-2:3-2-3GT21L16S2Y字庫芯片供電電源電路3.3主控芯片單片機(jī)STC89系列單片機(jī)是MCS-51系列單片機(jī)的派生產(chǎn)品。它們在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,DIP40封裝系列與8051為pin-to-pin兼容。STC89C52是一種低功耗、高性能CMOS8位微操縱器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式操縱應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,2個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口。另外STC89X52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,同意RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷接著工作。掉電愛護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。3.4單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)是能使單片機(jī)工作起來的最簡單的外圍電路。一個(gè)單片機(jī)最小系統(tǒng)一般要緊有時(shí)鐘電路和復(fù)位電路以及另外一些輔助部分。3.4.1復(fù)位電路設(shè)計(jì)復(fù)位電路圖如圖3-4-1所示。復(fù)位電路一般有2種復(fù)位操作方式:上電位復(fù)位方式和手動(dòng)復(fù)位,兩種復(fù)位的操作電路形式不同。本設(shè)計(jì)采納上電復(fù)位和手動(dòng)復(fù)位并聯(lián)的方式,既可一上電就復(fù)位,又能夠手動(dòng)來復(fù)位。上電自動(dòng)復(fù)位:通過電容充電來實(shí)現(xiàn)的,VCC的上升時(shí)刻不超過1ms,就能夠?qū)崿F(xiàn)上電位復(fù)位。手動(dòng)開關(guān)復(fù)位:手動(dòng)開關(guān)復(fù)位在系統(tǒng)出現(xiàn)操作錯(cuò)誤或程序運(yùn)行出錯(cuò)時(shí)使用。在單片機(jī)系統(tǒng)運(yùn)行過程中,按下復(fù)位鍵,單片機(jī)被強(qiáng)制執(zhí)行復(fù)位操作,系統(tǒng)能夠退出錯(cuò)誤運(yùn)行狀態(tài),恢復(fù)正常工作。圖3-4-1復(fù)位電路圖3.4.2時(shí)鐘電路時(shí)鐘是一切微處理器、微操縱器內(nèi)部電路工作的基礎(chǔ)。單片機(jī)內(nèi)部有一個(gè)自激振蕩電路,它是定時(shí)操縱部件中的一部分,能夠通過內(nèi)部自激振蕩或外部提供振蕩源這兩種方式,驅(qū)動(dòng)內(nèi)部時(shí)鐘電路產(chǎn)生系統(tǒng)時(shí)鐘信號。內(nèi)部方式:在XTAL1、XTAL2跨接定時(shí)元件和兩個(gè)電容就構(gòu)成了自激振蕩器,C1、C2取5-30PF,起微調(diào)和穩(wěn)定作用。晶振頻率:f=1.2-12MHZ,常用頻率為6、12、11、0592MHZ。外部方式:外部振蕩脈沖信號直接由XALT1端輸入,現(xiàn)在,XALT2端懸浮。這種方式常用于多片單片機(jī)系統(tǒng),以使相互的時(shí)鐘信號保持同步。晶振周期:為振蕩器輸出的時(shí)鐘脈沖頻率的倒數(shù)。是單片機(jī)中最小、最差不多的時(shí)刻單位。狀態(tài)周期:也叫時(shí)鐘周期,是振蕩頻率經(jīng)2分頻后獲得的信號周期,稱S,顯然,S為晶振周期的2倍。機(jī)器周期:12個(gè)晶振周期為一個(gè)機(jī)器周期,對應(yīng)計(jì)算機(jī)執(zhí)行一個(gè)差不多操作所需的時(shí)刻。指令周期:執(zhí)行一條指令所需的時(shí)刻,至少包含一個(gè)機(jī)器周期。指令字節(jié):指令占用存儲(chǔ)空間的字節(jié)數(shù),有單字節(jié)、雙字節(jié)、三字節(jié)三類。當(dāng)時(shí)鐘頻率為12MHZ和6MHZ時(shí),晶振周期分不為1/12μs和1/16μs,機(jī)器周期分不為1μs和2μs。由于系統(tǒng)中要使用串行通信,為了便于計(jì)算波特率,那個(gè)地點(diǎn)使用22.1184MHZ晶振和兩個(gè)電容就構(gòu)成的自激振蕩器。如圖3-4-2:圖3-4-2時(shí)鐘電路3.5LED點(diǎn)陣顯示屏本設(shè)計(jì)為一塊可同時(shí)顯示4個(gè)漢字的16×64點(diǎn)的點(diǎn)陣屏,該屏由16塊8×8點(diǎn)陣拼成。點(diǎn)陣屏由兩塊74HC595和四塊74HC154共同操縱,同時(shí)每列點(diǎn)陣用一個(gè)8550三極管驅(qū)動(dòng)以保證LED的亮度。具體設(shè)計(jì)如下。3.5.18×8LED點(diǎn)陣塊點(diǎn)陣內(nèi)部結(jié)構(gòu)及外形如下,8X8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對應(yīng)的某一行置1電平,某一列置0電平,則相應(yīng)的二極管就亮;如要將第一個(gè)點(diǎn)點(diǎn)亮,則9腳接高電平13腳接低電平,則第一個(gè)點(diǎn)就亮了;假如要將第一行點(diǎn)亮,則第9腳要接高電平,而(13、3、4、10、6、11、15、16)這些引腳接低電平,那么第一行就會(huì)點(diǎn)亮;如要將第一列點(diǎn)亮,則第13腳接低電平,而(9、14、8、12、1、7、2、5)接高電平,那么第一列就會(huì)點(diǎn)亮。如圖3-5-1圖3-5-18×8點(diǎn)陣顯示塊內(nèi)部原理圖3.5.274HC595引腳及其功能介紹 74HC595芯片是一種串入并出的芯片,在電子顯示屏制作當(dāng)中有廣泛的應(yīng)用。它是8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻、關(guān)、斷狀態(tài)三種狀態(tài)。移位寄存器和存儲(chǔ)器是分不的時(shí)鐘。數(shù)據(jù)在SCHcp的上升沿輸入,在STcp的上升沿進(jìn)入的存儲(chǔ)寄存器中去。假如兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。移位寄存器有一個(gè)串行移位輸入(Ds),和一個(gè)串行輸出(Q7’),和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。芯片引腳圖如圖3-5-2所示圖3-5-274HC595引腳圖其各個(gè)引腳功能如下:1~15:三態(tài)輸出管腳
8:電源地
9:串行數(shù)據(jù)輸出管腳
10
:移位寄存器清零端
11
:數(shù)據(jù)輸入時(shí)鐘線
12
:輸出存儲(chǔ)器鎖存時(shí)鐘線
13
:輸出使能
14
:數(shù)據(jù)線
15:電源端
74595的操縱端講明:/SRCLR(10腳):低點(diǎn)平常將移位寄存器的數(shù)據(jù)清零。本設(shè)計(jì)中我將它接Vcc。SRCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器數(shù)據(jù)不變。RCK(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個(gè)正脈沖,更新顯示數(shù)據(jù)。/G(13腳):高電平常禁止輸出(高阻態(tài))。假如單片機(jī)的引腳不緊張,用一個(gè)引腳操縱它,能夠方便地產(chǎn)生閃耀和熄滅效果。比通過數(shù)據(jù)端移位操縱要省時(shí)省力。3.5.374HC154譯碼器簡介74HC154是一款高速CMOS器件,74HC154引腳兼容低功耗肖特基TTL(LSTTL)系列。它可同意4位高有效二進(jìn)制地址輸入,并提供16個(gè)互斥的低有效輸出。74HC154的兩個(gè)輸入使能門電路可用于譯碼器選通,以消除輸出端上的通常譯碼“假信號”,也可用于譯碼器擴(kuò)展。該使能門電路包含兩個(gè)“邏輯與”輸入,必須置為低以便使能輸出端。任選一個(gè)使能輸入端作為數(shù)據(jù)輸入,74HC154可充當(dāng)一個(gè)1-16的多路分配器。當(dāng)其余的使能輸入端置低時(shí),地址輸出將會(huì)跟隨應(yīng)用的狀態(tài)。其引腳如圖3-5-3所示。 圖3-5-374HC154的引腳功能:Y0~Y15:輸出(ActiveLOW)低電平G1,G2:使能輸入(低電平)A~D:地址輸入GND:接地VCC:電源正其真值表如下:INPUTS輸入SELECTEDOUTPUT選定輸出(L)G1G2DCBALLLLLLY0LLLLLHY1LLLLHLY2LLLLHHY3LLLHLLY4LLLHLHY5LLLHHLY6LLLHHHY7LLHLLLY8LLHLLHY9LLHLHLY10LLHLHHY11LLHHLLY12LLHHLHY13LLHHHLY14LLHHHHY15XHXXXXNONEHXXXXXNONE3.6點(diǎn)陣屏組成方案本設(shè)計(jì)的點(diǎn)陣屏有16×64點(diǎn),即由16行,64列組成,因此采納行和列分不操縱的方案。用兩個(gè)74HC595級聯(lián)起來操縱16行(圖3-6-1),用四個(gè)74HC154級聯(lián)起來操縱列(圖3-6-2)。單片機(jī)分不同時(shí)操縱這六塊芯片即可實(shí)現(xiàn)對點(diǎn)陣屏上任一個(gè)點(diǎn)的操縱,再通過快速掃描即可顯示圖案。依照有關(guān)資料,當(dāng)每個(gè)LED的掃描頻率達(dá)到50Hz時(shí),人的肉眼就無法分辨其掃描狀態(tài),換句話講,現(xiàn)在眼睛看到的便是一幅“靜止”的圖案。圖3-6-1圖3-6-2注:在此四片154使用了兩個(gè)反相器來實(shí)現(xiàn)類似于存儲(chǔ)器擴(kuò)展的方法,使得單片機(jī)操縱154只需要6根線,即6根線操縱64個(gè)口。3.7字符顯示方案上述方法實(shí)現(xiàn)了點(diǎn)陣中任一點(diǎn)的操縱后,如何顯示一個(gè)字符或漢字便成了關(guān)鍵。漢字在液晶上的顯示事實(shí)上確實(shí)是一些點(diǎn)的顯示與不顯示,這就相當(dāng)于我們的筆一樣,有筆通過的地點(diǎn)就畫出來,沒通過的地點(diǎn)就不畫。每一個(gè)漢字或字符實(shí)際上確實(shí)是一個(gè)圖案,只只是這些“圖案”的大小是規(guī)定好的。而在本設(shè)計(jì)中按常規(guī)要求使用16×16個(gè)點(diǎn)的點(diǎn)陣描述一個(gè)“圖案”,因此一個(gè)漢字需要32個(gè)字節(jié)的編碼來“描繪”。中國的漢字成千上萬,再加上標(biāo)點(diǎn)符號,小小的單片機(jī)是放不下的。事實(shí)上漢字在計(jì)算機(jī)中的存儲(chǔ)也并不是每個(gè)都存放如此的點(diǎn)陣數(shù)據(jù),而是使用內(nèi)碼,GB2312確實(shí)是其中一種。把漢字的點(diǎn)陣數(shù)據(jù)編成一個(gè)字庫,每個(gè)字有自己的“地址”,用這種方法,存儲(chǔ)的時(shí)候只需要存儲(chǔ)漢字的內(nèi)碼(一個(gè)漢字內(nèi)碼為兩個(gè)字節(jié)),顯示的時(shí)候再按那個(gè)字的內(nèi)碼去查詢字庫即可。在本設(shè)計(jì)中也是使用如此的方法,但字庫相對單片機(jī)來講是個(gè)特不大的數(shù)據(jù)庫,想要存放在單片機(jī)的內(nèi)存或Flash中顯示是不可能的。幸運(yùn)的是,人類使用語言差不多幾千年了,早在專門久往常差不多有人把字庫編好,GB2312確實(shí)是一種能夠表示幾千個(gè)簡體漢字的字庫,同時(shí)市場上有專門存放這些字庫的芯片,我們只要使用漢字的GB2312內(nèi)碼去查詢芯片即可獲得所需要顯示的漢字點(diǎn)陣碼。3.7.1Unicode碼簡介盡管GB2312可代表數(shù)千種漢字,但世界上并不是只有漢語一種語言,因此就不僅僅有漢字一種字符。為了能盡可能地表示所有字符,一般GSM模塊返回的信息是以另一種編碼表示的,這確實(shí)是Unicode碼。Unicode是基于通用字符集(UniversalCharacterSet)的標(biāo)準(zhǔn)來進(jìn)展,定義了大到足以代表人類所有可讀字符的字符集。所幸本設(shè)計(jì)中我使用的字庫芯片中帶有由Unicode碼到GB2312的對應(yīng)表。3.7.2GB2312漢字內(nèi)碼簡介GB2312碼是中華人民共和國國家漢字信息交換用編碼,全稱《信息交換用漢字編碼字符集——差不多集》,由國家標(biāo)準(zhǔn)總局公布,1981年5月1日實(shí)施,通行于大陸。新加坡等地也使用此編碼。GB2312標(biāo)準(zhǔn)共收錄6763個(gè)漢字,其中一級漢字3755個(gè),二級漢字3008個(gè);同時(shí),GB2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內(nèi)的682個(gè)全角字符。3.7.3GT21L16S2Y字庫芯片簡介GT21L16S2Y是一款內(nèi)含11X12點(diǎn)陣和15X16點(diǎn)陣的漢字庫芯片,支持GB2312國標(biāo)簡體漢字(含有國家信標(biāo)委合法授權(quán))、ASCII字符及GB2312與Unicode編碼互轉(zhuǎn)表。排列格式為豎置橫排。用戶通過字符內(nèi)碼,可計(jì)算出該字符點(diǎn)陣在芯片中的地址,可從該地址連續(xù)讀出字符點(diǎn)陣信息。以下圖3-7-1是該芯片的引腳圖圖3-7-1GT21L16S2Y的引腳圖圖3-7-2是該芯片的引腳描述圖3-7-2GT21L16S2Y的引腳圖引腳描述:串行數(shù)據(jù)輸出(SO):該信號用來把數(shù)據(jù)從芯片串行輸出,數(shù)據(jù)在時(shí)鐘的下降沿移出。串行數(shù)據(jù)輸入(SI):該信號用來把數(shù)據(jù)從串行輸入芯片,數(shù)據(jù)在時(shí)鐘的上升沿移入。串行時(shí)鐘輸入(SCLK):數(shù)據(jù)在時(shí)鐘上升沿移入,在下降沿移出。片選輸入(CS#):所有串行數(shù)據(jù)傳輸開始于CE#下降沿,CE#在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平。總線掛起輸入(HOLD#):該信號用于片選信號有效期間暫停數(shù)據(jù)傳輸,在總線掛起期間,串行數(shù)據(jù)輸出信號處于高阻態(tài),芯片不對串行數(shù)據(jù)輸入信號和串行時(shí)鐘信號進(jìn)行響應(yīng)。當(dāng)HOLD#信號變?yōu)榈屯瑫r(shí)串行時(shí)鐘信號(SCLK)處于低電平常,進(jìn)入總線掛起狀態(tài)。當(dāng)HOLD#信號變?yōu)楦卟r(shí)串行時(shí)鐘信號(SCLK)處于低電平常,結(jié)束總線掛起狀態(tài)。3.7.4AMS1117AMS1117是一種低壓降壓穩(wěn)壓器。AMS1117有兩個(gè)版本固定輸出版本和可調(diào)版本固定輸出電壓為1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V,具有1%的精度;固定輸出電壓為1.2的精度為2%。AMS1117內(nèi)部集成過熱愛護(hù)和限流電路,是電池供電和便攜式計(jì)算機(jī)的最佳選擇。本設(shè)計(jì)中使用的是固定3.3V的型號。3.7.5電平匹配方法單片機(jī)芯片使用的是5V的TTL電平,而GT21L16S2Y芯片電平為3.3V左右,因此需要將單片機(jī)的工作電平與GT21L16S2Y的電平相匹配。STC89C52的IO口中,P0口屬于開漏輸出,將單片機(jī)與GT21L16S2Y操縱引腳電平匹配的方法如圖3-7-3所示:圖3-7-33.8GSM模塊本設(shè)計(jì)采納的GSM模塊是TC35i。TC35i新版西門子工業(yè)GSM模塊是一個(gè)支持中文短信息的工業(yè)級GSM模塊,工作在EGSM900和GSM1800雙頻段,電源范圍為直流3.3~4.8V,電流消耗——休眠狀態(tài)為3.5mA,空閑狀態(tài)為25mA,發(fā)射狀態(tài)為300mA(平均),2.5A峰值;可傳輸語音和數(shù)據(jù)信號,功耗在EGSM900(4類)和GSM1800(1類)分不為2W和1W,通過接口連接器和天線連接器分不連接SIM卡讀卡器和天線。SIM電壓為3V/1.8V,TC35i的數(shù)據(jù)接口(CMOS電平)通過AT命令可雙向傳輸指令和數(shù)據(jù),可選波特率為300b/s~115kb/s,自動(dòng)波特率為1.2kb/s~115kb/s。它支持Text和PDU格式的SMS(ShortMessageService,短消息),可通過AT命令或關(guān)斷信號實(shí)現(xiàn)重啟和故障恢復(fù).3.9LED驅(qū)動(dòng)電路本設(shè)計(jì)點(diǎn)陣屏的LED比較多,而數(shù)字芯片的驅(qū)動(dòng)能力有限,要保證足夠的亮度,就要加驅(qū)動(dòng)電路。本設(shè)計(jì)的LED功耗不算太高,因此簡單地使用8550三極管即可。具體電路圖如圖3-9-1所示:圖3-9-1第四章軟件設(shè)計(jì)軟件設(shè)計(jì)全部采納C語言編寫,具有移植性強(qiáng),可讀性高的優(yōu)點(diǎn)。本設(shè)計(jì)的軟件程序包括主程序、定時(shí)器中斷子程序、串口中斷服務(wù)子程序、LED掃描程序、短信讀取程序、字模處理程序等等。4.1開發(fā)環(huán)境C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機(jī)上,它能夠作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也能夠作為應(yīng)用程序設(shè)計(jì)語言,編寫不依靠計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備專門強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。本次編程軟件采納keilC。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫治理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。假如你使用C語言編程,那么Keil幾乎確實(shí)是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。4.2AT指令4.2.1簡介AT即Attention,AT指令一般應(yīng)用于終端設(shè)備與PC應(yīng)用之間的連接與通信。AT指令集是從終端設(shè)備(TerminalEquipment,TE)或數(shù)據(jù)終端設(shè)備(DataTerminalEquipment,DTE)向終端適配器(TerminalAdapter,TA)或數(shù)據(jù)電路終端設(shè)備(DataCircuitTerminalEquipment,DCE)發(fā)送的。其對所傳輸?shù)臄?shù)據(jù)包大小有定義:即關(guān)于AT指令的發(fā)送,除AT兩個(gè)字符外,最多能夠接收1056個(gè)字符的長度(包括最后的空字符)。每個(gè)AT命令行中只能包含一條AT指令;關(guān)于由終端設(shè)備主動(dòng)向PC端報(bào)告的URC指示或者response響應(yīng),也要求一行最多有一個(gè),不同意上報(bào)的一行中有多條指示或者響應(yīng)。AT指令以回車作為結(jié)尾,響應(yīng)或上報(bào)以回車換行為結(jié)尾。單片機(jī)與GSM模塊通信是通過串行口用AT指令來實(shí)現(xiàn)的。4.2.3用法AT指令是以AT作首,字符結(jié)束的字符串,AT指令的響應(yīng)數(shù)據(jù)包在中。每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回。其他的一些非預(yù)期的信息(如有人撥號進(jìn)來、線路無信號等),模塊將有對應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。4.2.4常用與GSM相關(guān)的AT指令A(yù)T+CMGCSendanSMScommand(發(fā)出一條短消息命令)AT+CMGDDeleteSMSmessage(刪除SIM卡內(nèi)存的短消息)AT+CMGFSelectSMSmessageformate(選擇短消息信息格式:0-PDU;1-文本)AT+CMGLListSMSmessagefrompreferredstore(列出SIM卡中的短消息PDU/text:0/“RECUNREAD”-未讀,1/“RECREAD”-已讀,2/“STOUNSENT”-待發(fā),3/“STOSENT”-已發(fā),4/“ALL”-全部的)AT+CMGRReadSMSmessage(讀短消息)AT+CMGSSendSMSmessage(發(fā)送短消息)AT+CMGWWriteSMSmessagetomemory(向SIM內(nèi)存中寫入待發(fā)的短消息)AT+CMSSSendSMSmessagefromstorage(從SIN|M內(nèi)存中發(fā)送短消息)AT+CNMINewSMSmessageindications(顯示新收到的短消息)AT+CPMSPreferredSMSmessagestorage(選擇短消息內(nèi)存)AT+CSCASMSservicecenteraddress(短消息中心地址)AT+CSCBSelectcellbroadcastmessages(選擇蜂窩廣播消息)AT+CSMPSetSMStextmodeparameters(設(shè)置短消息文本模式參數(shù))AT+CSMSSelectMessageService(選擇短消息服務(wù))對短消息的操縱共有三種模式:BlockMode、基于AT命令的PDUMode、基于AT命令的TextMode4.3總的程序流程圖總的程序要緊完成設(shè)計(jì)參數(shù)的初始化、鍵值處理、溫度采樣、電路加熱、聲光報(bào)警等,其主程序流程圖如圖圖4-1開始開始初始化初始化GSM模塊、定時(shí)器、串口等,標(biāo)志位flag=0否是否有短信否是否有短信否是否是flag=1flag=1是是截取短信里面的截取短信里面的UNICODE碼將將unicode碼發(fā)給字庫芯片轉(zhuǎn)換成GB2312碼將將GB2312碼發(fā)給字庫芯片,得到點(diǎn)陣二進(jìn)制數(shù)據(jù)循環(huán)掃面顯示點(diǎn)陣數(shù)據(jù)循環(huán)掃面顯示點(diǎn)陣數(shù)據(jù)標(biāo)志位置為flag=1標(biāo)志位置為flag=1圖4-1主程序流4.4LED掃描顯示程序流程圖LED掃描顯示程序的流程圖如圖4-2:開始讀取當(dāng)前列指針,依照列指針從顯示緩存區(qū)中找出列數(shù)據(jù)。開始讀取當(dāng)前列指針,依照列指針從顯示緩存區(qū)中找出列數(shù)據(jù)。將列數(shù)據(jù)寫入74HC595,并顯示列指針自增列指針大于或等于64列指針清零結(jié)束本次掃描是否圖4-2報(bào)警電路流程圖
第五章設(shè)計(jì)的測試與分析5.1設(shè)計(jì)的過程剛拿到設(shè)計(jì)題目的時(shí)候,首先要做的確實(shí)是有一個(gè)總體的設(shè)計(jì)方案,然后對整個(gè)設(shè)計(jì)做一個(gè)打算,把時(shí)刻和工作都合理的安排好。最后再考慮分析解決具體的突擊問題。這次畢業(yè)設(shè)計(jì)讓我更加熟悉了從理論到實(shí)踐的跨越。從當(dāng)初的查閱圖書,到現(xiàn)在的電路板調(diào)試運(yùn)行成功,這中間有專門多值得回味的地點(diǎn)。逐漸了解到了一些要緊芯片的技術(shù)資料和用法。這次的設(shè)計(jì),從選題到實(shí)現(xiàn),幾乎差不多上自己獨(dú)立完成的。第一步使用電路制圖軟件ProtelDXP來設(shè)計(jì)原理圖,然后制作成電路板,最后使用keilC調(diào)試軟件的運(yùn)行。其中有專門多細(xì)節(jié)要考慮周到,比如在通常條件下,所有的元件均應(yīng)布置在印制電路的同一面上,只有在頂層元件過密時(shí),才能將一些高度有限同時(shí)發(fā)熱量小
的器件,如貼片電阻、貼片電容、貼IC等放在底層。在保證電氣性能的前提下,元件應(yīng)放置在柵格上且相互平行或垂直排列,以求整齊、美觀,一般情況下不同意元件重疊;元件排列要緊湊,輸入和輸出元件盡量遠(yuǎn)離。某元器件或?qū)Ь€之間可能存在較高的電位差,應(yīng)加大它們的距離,以免因放電、擊穿而引起意外短路。大部分差不多上關(guān)于PCB布線方面要注意的問題。在軟件調(diào)試部分,如何考慮串口和定時(shí)器的終端優(yōu)先級,字庫芯片資料中的地址講明,最重要的是int和char的長度,經(jīng)常在專門細(xì)小的地點(diǎn)出錯(cuò),導(dǎo)致程序運(yùn)行不正常。在整個(gè)設(shè)計(jì)過程中,通過自己學(xué)習(xí)、探討、而從中學(xué)習(xí)了專門多關(guān)于單片機(jī)和相關(guān)程序等各方面的知識,通過對電路的設(shè)計(jì)、布局、在這過程中還出現(xiàn)了專門多問題。自己不明白的就要虛心向不人學(xué)習(xí),取人之長,補(bǔ)己之短,一步一個(gè)腳印,如此的學(xué)習(xí)過程,使自己受益匪淺,得到專門好的鍛煉。
5.2單個(gè)模塊的調(diào)試制作好硬件之后,就進(jìn)行軟件編程,把兩者結(jié)合起來對每一個(gè)模塊進(jìn)行調(diào)試。各個(gè)模塊包括LED點(diǎn)陣屏的操縱,單片機(jī)與GSM模塊的通信,短信信息的辨認(rèn)和解譯,漢字字庫的轉(zhuǎn)換和讀取,LED亮度的調(diào)試,LED掃描速度的調(diào)試。LED點(diǎn)陣的操縱實(shí)際上確實(shí)是對74HC154和74HC595這兩種芯片的操縱。其中154是譯碼器,電路中采納級聯(lián)的方式,將點(diǎn)陣屏的64列編碼成地址,64個(gè)點(diǎn)需要6位二進(jìn)制代碼表示,四塊154接起來以后只需6根線,接到單片機(jī)的P2口,程序里對P2口賦相應(yīng)的值就能夠選擇64列中的一列,實(shí)際調(diào)試過程十分簡單。而74HC595是串行SPI口輸入的移位寄存鎖存器,能夠串接,本設(shè)計(jì)使用兩片74HC595串聯(lián)以操縱16行LED,它的操縱引腳只有四個(gè),接到P1口的四個(gè)引腳即可。單片機(jī)與GSM是通過串行通信接口進(jìn)行通信的,剛開始的時(shí)候由于對GSM的用法不太熟悉,一般是通過GSM模塊上自帶的RS232串行接口DB9與PC機(jī)連接,利用PC機(jī)對其進(jìn)行調(diào)試。按照資料上一步一步地輸入相應(yīng)的AT指令后,逐漸熟悉了常用AT指令的用法,并了解了GSM模塊在PDU模式下對短信內(nèi)容的編碼格式。因?yàn)橹形亩绦胖挥性赑DU模式下才可讀出,通過用PC的串口對GSM模塊的調(diào)試之后,就明白使用單片機(jī)如何與GSM通信了。關(guān)于短信息的辨認(rèn)和解譯,前提是了解GSM模塊在PDU模式下的的編碼格式,因?yàn)镚SM發(fā)回來給單片機(jī)的信息并不是全是短信內(nèi)容,只有了解其格式后,才能從其返回的一堆數(shù)據(jù)中正解地提取出短信的內(nèi)容。從GSM模塊到單片機(jī)的短信息內(nèi)容是以Unicode碼的形式表示的,本設(shè)計(jì)用的字庫芯片沒法直接從Unicode碼得到字模,因此只能先將Unicode碼轉(zhuǎn)換成GB2312漢字內(nèi)碼。得到表示短信內(nèi)容的內(nèi)碼后,將漢字內(nèi)碼一個(gè)一個(gè)地查詢字庫芯片,字庫芯片的操縱方法也是用串行的SPI協(xié)議,十分簡單。程序把內(nèi)碼一個(gè)一個(gè)地發(fā)給字庫芯片,然后從字庫芯片中讀回所要顯示的漢字的字模,經(jīng)整理后,存放到用于顯示的緩存數(shù)組中即可。單片機(jī)開的定時(shí)器0每當(dāng)定時(shí)溢出就調(diào)用一次LED掃描函數(shù),把緩存數(shù)組中的數(shù)據(jù)掃到LED上,調(diào)整定時(shí)時(shí)刻,讓掃描速度足夠快,即可完成字符的顯示。LED的亮度由流過LED的電流決定,當(dāng)采納掃描的方式顯示時(shí),隨著掃描的速度加快,LED的亮度會(huì)降低。這是因?yàn)閽呙栾@示使每個(gè)LED在每次掃描中得到點(diǎn)亮的時(shí)刻減小了,因此為了提高LED的亮度,我把LED的限流電阻改小,讓LED的亮度達(dá)到令人中意的程度即可。5.3系統(tǒng)測試達(dá)到的技術(shù)指標(biāo)1、LED點(diǎn)陣屏正常顯示2、GSM模塊正常接收到短信3、單片機(jī)正確讀出短信4、短信內(nèi)容正確地顯示在LED點(diǎn)陣屏上5、LED點(diǎn)陣屏可自動(dòng)移屏顯示大于四個(gè)漢字的內(nèi)容
結(jié)束語讀書生活在那個(gè)季節(jié)立即劃上一個(gè)句號,回首這三年以來,有成功也有失敗,就如此在跌跌撞撞中不斷成長起來,而于我的人生卻只是一個(gè)逗號,我將面對又一次征程的開始。三年的求學(xué)生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文立即付梓之際,思緒萬千,心情久久不能平靜。在老師的耐心指導(dǎo)下,以及同學(xué)的熱心關(guān)心下,我終于按期完成了我的畢業(yè)設(shè)計(jì)。通過這次富有意義而又深刻的畢業(yè)設(shè)計(jì),我掌握了一些實(shí)踐性質(zhì)的設(shè)計(jì)的差不多步驟。首先確實(shí)是確定自己的設(shè)計(jì),明確設(shè)計(jì)的要求,然后制定一個(gè)合理的打算去完成設(shè)計(jì)。從查找資料到用Protel畫圖,再到印板、洗板、焊板,最后到調(diào)試,讓該設(shè)計(jì)達(dá)到設(shè)計(jì)預(yù)期的要求。本設(shè)計(jì)采納STC89C52為主控芯片,通過GSM模塊接收短信息,然后通過STC89C52芯片處理,讀出短信內(nèi)容,查詢字庫芯片,翻譯成字模的二進(jìn)制代碼,按一定的算法賦給操縱LED點(diǎn)陣屏的六塊芯片,從而在LED點(diǎn)陣屏上顯示短信內(nèi)容。在這次設(shè)計(jì)的過程中,我也能夠再一次深度學(xué)習(xí)了電路PCB板的設(shè)計(jì)與制作,同時(shí)能夠更加熟練的運(yùn)用Protel軟件,不但鞏固了我們所學(xué)的專業(yè)知識,而且還讓我增長了許多課外的知識,使我受益匪淺。也使我更加深入的了解到了溫度傳感器,液晶顯示,語音芯片,以及52單片機(jī)的結(jié)構(gòu)功能和具體應(yīng)用,讓我對電子知識也變得更加的渴望與喜愛。盡管在制作設(shè)計(jì)的過程中,我遇到了專門多困難,然而通過老師和同學(xué)的關(guān)心,還有自己的努力,一切的問題都迎刃而解。我也明白了,專門多情況要去嘗試了才明白自己到底有沒有那個(gè)能力,想與做相差確實(shí)專門大。相信在今后的生活中,我會(huì)更加的努力學(xué)期各方面的知識,發(fā)揚(yáng)這種樂學(xué)上進(jìn)的精神。本設(shè)計(jì)通過多次嚴(yán)格測試,差不多能專門好的實(shí)現(xiàn)該設(shè)計(jì)的差不多要求。該設(shè)計(jì)的硬件設(shè)計(jì)簡單,軟件也不是專門復(fù)雜,易于開發(fā),成本較低,方便有用,操作方便等特點(diǎn)。總之,本設(shè)計(jì)采納了STC89C52單片機(jī)作為系統(tǒng)的中央操縱單元,并結(jié)合C語言編程,實(shí)現(xiàn)了在LED點(diǎn)陣屏上顯示短信息內(nèi)容的目標(biāo),完成了設(shè)計(jì)要求。
參考文獻(xiàn)[1]康華光電子技術(shù)基礎(chǔ)(模擬部分)[M].北京:高等教育出版社,2006年;[2]閻石數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2006年;[3]譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社.2005年[4]胡壽松自動(dòng)操縱原理(第二版).北京:科學(xué)出版社,2008年;[5]劉海成AVR單片機(jī)原理及測控工程應(yīng)用.北京航空航天大學(xué)出版社,2008年[6]周興華AVR單片機(jī)C語言高級程序設(shè)計(jì).北京:中國電力出版社,2008[7]謝維成,楊加國.單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)(第2版)[M].北京:清華大學(xué)出版社,2009.[8]何立民.《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》.北京航空航天大學(xué)出版社.1990年.[9]王福瑞等.《單片機(jī)測控系統(tǒng)設(shè)計(jì)大全》.北京航空航天大學(xué)出版社.2002年.[10]周明德.《微型計(jì)算機(jī)硬件軟件及應(yīng)用》.清華大學(xué)出版社.1982年.[11]宋宏運(yùn).《單片微機(jī)計(jì)算機(jī)原理及應(yīng)用》.重慶大學(xué)出版社.1990[12]ISD4004SeriesSingle-ChipVoiceRecord/PlaybackDeviceDataBook,WinbondInc.2000.
致謝本論文設(shè)計(jì)在我的指導(dǎo)老師黃容蘭老師的悉心關(guān)懷和耐心指導(dǎo)下順利地完成了。我的敬愛的導(dǎo)師,我不是您最出色的學(xué)生,而您卻是我最尊敬的老師。您治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅同意了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會(huì)了差不多的考慮方式,從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點(diǎn)撥,再經(jīng)考慮后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無路,柳暗花明又一村”。最后再一次感謝所有在畢業(yè)設(shè)計(jì)中曾經(jīng)關(guān)心過我的良師益友和同學(xué),以及在設(shè)計(jì)中被我引用或參考的論著的作者。附錄(一)一、STC89C52操縱主電路包括單片機(jī)STC89C52模塊、溫度采樣模塊、顯示模塊、加熱電路模塊、(LED、蜂鳴器)報(bào)警模塊、功能按鍵模塊電路圖:附錄圖1二、點(diǎn)陣電路圖:附錄圖2附錄(二)/**************************************************字庫芯片:GT21L16S2Y*日期:2012-11-29**************************************************/#include<reg52.h>#include<uart.h>#include<gt21.h>#include<intrins.h>/**************************************************引腳定義*cs:片選信號,拉低有效*so:串行輸出信號,數(shù)據(jù)在時(shí)鐘的下降沿移出*hold:總線掛起,接200歐姆電阻拉高*sclk:串行時(shí)鐘信號*gt_si:串行輸入信號,數(shù)據(jù)在時(shí)鐘的下降沿移入**************************************************/sbitcs=P0^0;sbitso=P0^1;sbithold=P0^2;sbitsclk=P0^3;sbitgt_si=P0^4;/**************************************************函數(shù)功能:串行寫入一個(gè)字節(jié)的數(shù)據(jù),時(shí)鐘的上升沿寫入*參數(shù)講明:w_Data待寫入的字節(jié)數(shù)據(jù)*返回值:無**************************************************/voidwrite_byte(ucharw_Data){ uchari; cs=0; hold=1; //Uart_Send_Byte(w_Data); for(i=0;i<8;i++) { sclk=0; if(w_Data&0x80) gt_si=1; else gt_si=0; w_Data<<=1; sclk=1; _nop_(); }}/**************************************************函數(shù)功能:串行讀入一個(gè)字節(jié)的數(shù)據(jù),時(shí)鐘的上升沿讀入*參數(shù)講明:無*返回值:r_Data讀入的數(shù)據(jù)**************************************************/ucharread_byte(void){ uchari,r_Data; r_Data=0; for(i=0;i<8;i++) { r_Data<<=1; sclk=1; _nop_(); sclk=0; if(so) r_Data|=0x01; else r_Data&=0xfe; _nop_(); } returnr_Data;}/**************************************************函數(shù)功能:把Unic_ode內(nèi)碼轉(zhuǎn)換為GB2312內(nèi)碼*函數(shù)參數(shù):srcCode:輸入U(xiǎn)nic_ode內(nèi)碼串。 destCode:轉(zhuǎn)換后得到的GB2312內(nèi)碼*返回值:0**************************************************/longintUToGb2312Buff=0x67d70;//UToGb2312Buff為Unic_ode到GB2312內(nèi)碼轉(zhuǎn)換表在ROM中的起//始地址ucharUnic_odeToGB2312(uchar*srcCode,uchar*destCode){longintptr; ucharresult=0;uinth;uintc_ode; cs=0; hold=1; c_ode=*srcCode++;c_ode=(c_ode<<8)+*srcCode; if(c_ode<0xa0)result=1;elseif(c_ode<=0xf7)h=c_ode-160;elseif(c_ode<0x2c7)result=1;elseif(c_ode<=0x2c9)h=c_ode-160-463;elseif(c_ode<0x2010)result=1;elseif(c_ode<=0x2312)h=c_ode-160-463-7494;elseif(c_ode<0x2460)result=1;elseif(c_ode<=0x2642)h=c_ode-160-463-7494-333;elseif(c_ode<0x3000)result=1;elseif(c_ode<=0x3017)h=c_ode-160-463-7494-333-2493;elseif(c_ode<0x3220)result=1;elseif(c_ode<=0x3229)h=c_ode-160-463-7494-333-2493-520;elseif(c_ode<0x4e00)result=1;elseif(c_ode<=0x9b54)h=c_ode-160-463-7494-333-2493-520-7126;elseif(c_ode<0x9c7c)result=1;elseif(c_ode<=0x9ce2)h=c_ode-160-463-7494-333-2493-520-7126-295;elseif(c_ode<0x9e1f)result=1;elseif(c_ode<=0x9fa0)h=c_ode-160-463-7494-333-2493-520-7126-295-316;elseif(c_ode<0xe76c)result=1;elseif(c_ode<=0xe774)h=c_ode-160-463-7494-333-2493-520-7126-295-316-18379;elseif(c_ode<0xff00)result=1;elseif(c_ode<=0xff5f)h=c_ode-160-463-7494-333-2493-520-7126-295-316-18379-6027;elseif(c_ode<0xffe0)result=1;elseif(c_ode<=0xffe5)h=c_ode-160-463-7494-333-2493-520-7126-295-316-18379-6027-128;elseresult=1; if(result==0){ptr=UToGb2312Buff+(h<<1); write_byte(0x03); write_byte((ptr&0x00ff0000)>>16); write_byte((ptr&0x0000ff00)>>8); write_byte((ptr&0x000000ff)); *destCode++=read_byte();*destCode=read_byte();}else{*destCode++=0xa1;*destCode=0xa1;} cs=1;return0;}/**************************************************函數(shù)功能:把Unic_ode內(nèi)碼轉(zhuǎn)換為GB2312內(nèi)碼*函數(shù)參數(shù):srcCode:輸入U(xiǎn)nic_ode內(nèi)碼串。 destCode:轉(zhuǎn)換后得到的GB2312內(nèi)碼*返回值:0**************************************************/voidASCII_data(uchar*gbc_ode,uchar*D_ata){ longBaseAdd,Address; uchargb_add[3],i; longASCIICode; cs=0; hold=1; BaseAdd=0x3b7c0; ASCIICode=gbc_ode[1]; if((ASCIICode>=0x20)&&(ASCIICode<=0x7E)) { Address=((ASCIICode-0x20)*16)+BaseAdd; Uart_Send_Byte('d'); } gb_add[0]=(Address&0x00ff0000)>>16; gb_add[1]=(Address&0x0000ff00)>>8; gb_add[2]=(Address&0x000000ff); write_byte(0x03); write_byte(gb_add[0]); write_byte(gb_add[1]); write_byte(gb_add[2]); for(i=0;i<16;i++) { D_ata[i]=read_byte(); } cs=1;}/********************************************函數(shù)功能:依照gbc_ode碼得到二進(jìn)制代碼,只適用漢字。*參數(shù)講明:gbc_ode表示漢字內(nèi)碼,2個(gè)字節(jié)。 Data漢字的二進(jìn)制代碼,32個(gè)字節(jié)。 MSB表示漢字內(nèi)碼GBCode的高8bits。 LSB表示漢字內(nèi)碼GBCode的低8bits。 Address表示漢字或ASCII字符點(diǎn)陣在芯片中的字節(jié)地址。 BaseAdd:講明點(diǎn)陣數(shù)據(jù)在字庫芯片中的起始地址。*返回值:無********************************************/voidgb_Data(uchar*gbc_ode,uchar*D_ata){ longBaseAdd=0; longMSB,LSB; uchari; longAddress=0; uchargb_add[3]; cs=0; hold=1; MSB=gbc_ode[0]; LSB=gbc_ode[1]; if(MSB>=0xA4&&MSB<=0Xa8&&LSB>=0xA1) Address=BaseAdd; elseif(MSB>=0xA1&&MSB<=0Xa9&&LSB>=0xA1) Address=((MSB-0xA1)*94+(LSB-0xA1))*32+BaseAdd; elseif(MSB>=0xB0&&MSB<=0xF7&&LSB>=0xA1) Address=((MSB-0xB0)*94+(LSB-0xA1)+846)*32+BaseAdd; gb_add[0]=(Address&0x00ff0000)>>16; gb_add[1]=(Address&0x0000ff00)>>8; gb_add[2]=(Address&0x000000ff); write_byte(0x03); write_byte(gb_add[0]); write_byte(gb_add[1]); write_byte(gb_add[2]); for(i=0;i<32;i++) { D_ata[i]=read_byte(); } cs=1;}/**************************************************串口程序*日期:2012-11-29**************************************************/#include"uart.h"#include<reg52.h>#include<string.h>voidUart_Init(){ SCON=0X50;//UART方式1;8位UART REN=1;//同意串行口接收數(shù)據(jù) PCON=0x00;//SMOD=0;波特率不加倍 TMOD=0x20;//T1方式2,用于產(chǎn)生波特率 TH1=0xFD;//裝初值 TL1=0xFD; TR1=1;//啟動(dòng)定時(shí)器1 EA=1;//打開全局中斷操縱 ES=1;//打開串行口中斷 }voidUart_Send_Byte(unsignedcharmydata){ ES=0; //關(guān)串口中斷 TI=0; //發(fā)送中斷標(biāo)志清零 SBUF=mydata; while(!TI); TI=0; ES=1;//開串口中斷}voidUart_Send_Str(unsignedchar*s){ intlen=strlen(s); inti; for(i=0;i<len;i++) { Uart_Send_Byte(s[i]); }}/**************************************************GSM程序*日期:2012-11-29**************************************************//********************************************************************************************************文件名稱:短信接收處理.c*摘要:* 單片機(jī)上電后,首先進(jìn)行數(shù)據(jù)數(shù)組和串口的初始化,隨后不斷的*發(fā)送‘AT+XXXX’指令并檢測模塊返回值;共需要四步:** 1、確認(rèn)單片機(jī)與GSM模塊通信連接正常;正常則進(jìn)行下一步,不正常則重復(fù)該步驟;超過固定次數(shù)后報(bào)警!* 2、確認(rèn)GSM模塊的SIM卡網(wǎng)絡(luò)注冊正常;正常則進(jìn)行下一步,不正常則重復(fù)該步驟;超過固定次數(shù)后報(bào)警!* 3、確認(rèn)GSM模塊短信初始化正常;正常則進(jìn)行下一步,不正常則重復(fù)該步驟;超過固定次數(shù)后報(bào)警!* 4、確認(rèn)GSM模塊選擇短信模式正常;正常則進(jìn)行下一步,不正常則重復(fù)該步驟;超過固定次數(shù)后報(bào)警!** 現(xiàn)在能夠確認(rèn)GSM模塊全部初始化結(jié)束!** 接下來單片機(jī)不斷循環(huán)檢測GSM模塊有無來電和短信,遇來電自動(dòng)接聽;*作者:*完成日期*注意:使用GSM模塊前,請確認(rèn)放入模塊的SIM內(nèi)的短信不能超過8條!單片機(jī)只能識不個(gè)位數(shù)的短信條數(shù)********************************************************************************************************/#include<reg52.h>#include<string.h>#include<uart.h>#include<gsm.h>unsignedcharxdatadat[200];//串口接收數(shù)據(jù)數(shù)組unsignedcharnew[2];//存放短信數(shù)目unsignedcharflag=0;unsignedcharn=0;unsignedcharring=0;unsignedcharsm=0;/********************************************************************功能描述:51單片機(jī)ms延時(shí)函數(shù)*參數(shù)描述:Z的值決定了延時(shí)長短*返回講明:無*******************************************************************/voiddelay_1ms(unsignedintz){ unsignedintx; unsignedinty; for(x=z;x>0;x--) for(y=110;y>0;y--);}/*******************************************************************功能描述:將data數(shù)組初始化為內(nèi)部數(shù)據(jù)都為‘Z’*參數(shù)講明:無*返回講明:無******************************************************************/voidData_Init()//data數(shù)組初始化{ unsignedchari; for(i=0;i<200;i++) { dat[i]='Z'; }}/*******************************************************************功能描述:51單片機(jī)的串口中斷處理函數(shù)*參數(shù)講明:無*返回講明:無******************************************************************/voidServe()interrupt4using3//串口中斷函數(shù){ TR0=0; if((SBUF>=65&&SBUF<=90)||(SBUF>=48&&SBUF<=59)) //只存儲(chǔ)‘A-Z’大寫字母和‘0-9’數(shù)字和”:;“ { dat[n]=SBUF; n++; if(n>2) { if((dat[n-1]=='G')&&(dat[n-2]=='N'))//推斷是否為來電"RING" { ring=1; } if((dat[n-1]=='O')&&(dat[n-2]=='N'))//推斷是否為掛斷(NOCARRIER) { delay_1ms(1000); Data_Init();//數(shù)據(jù)數(shù)組初始化
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人學(xué)習(xí)經(jīng)驗(yàn)總結(jié)
- 企業(yè)代培訓(xùn)合同范本
- 公司外包車合同范本
- 主播學(xué)徒合同范本
- 南昌全款購車合同范本
- 化妝師題庫(含參考答案)
- 七年級第二學(xué)期體育教學(xué)計(jì)劃
- 七年級國旗下保護(hù)環(huán)境講話稿
- 醫(yī)院骨科采購合同范本
- 區(qū)別真假租房合同范本
- 2025年煙臺工程職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025年上半年中煤科工集團(tuán)商業(yè)保理限公司招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年新人教版八年級下冊物理全冊教案
- 2025年南京機(jī)電職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 物業(yè)管理消防維保流程優(yōu)化建議
- 電力企業(yè)發(fā)電企業(yè)設(shè)備點(diǎn)檢定修培訓(xùn)教材
- 化學(xué)-浙江省首考2025年1月普通高等學(xué)校招生全國統(tǒng)一考試試題和答案
- 四川省成都市2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(含答案)
- 2025年湖北中煙工業(yè)限責(zé)任公司招聘筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 9生物與非生物課件-四年級下冊科學(xué)人教鄂教版
- 醫(yī)囑或處方的督導(dǎo)檢查、總結(jié)、反饋及改進(jìn)措施
評論
0/150
提交評論