




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
145/154梧州學院畢業論文論文題目基于GSM短消息的LED點陣廣告屏設計系不電子信息工程系專業電子科學與技術班級08電科1班學號200800610101學生姓名黃桂才指導教師(簽名)完成時刻2011年12月
摘要本文介紹了一種基于GSM通信模塊及STC89C52單片機設計的LED廣告屏的設計過程。該設計是由單片機主控芯片STC89C52、TC35i-GSM模塊、8×8LED點陣、GT21L16S2Y字庫芯片、AMS1117、8位移位鎖存器74HC595、4-16位譯碼器74HC154等單元電路組成。該設計的要緊工作原理是通過GSM模塊接收短信息,經單片機進行解碼,最終顯示到LED點陣屏上。研究表明該設計使用廣泛、方便、安全、有用,具有可靠性高、使用壽命長、性能價格比高、使用成本低、環境適應能力強等特點,廣泛應用于金融市場、醫院、體育場館、機場、碼頭、車站、高速公路等公共場所的信息顯示和廣告宣傳。關鍵詞:STC89C52;LED點陣屏;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課題設計內容和方案 216718第二章系統概述 2189252.1系統組成 237732.2系統的功能介紹及操作講明 312916第三章硬件組成與設計 416103.1整體電路圖 4198433.2電源電路 5288223.2.1單片機電源 567423.2.2LED點陣屏電源 6114223.2.3字庫芯片電源 6117363.3主控芯片單片機 735553.4單片機最小系統 8242633.5LED點陣顯示屏 1011523.5.18×8LED點陣塊 10183943.5.274HC595引腳及其功能介紹 11100293.5.374HC154譯碼器簡介 12307843.6點陣屏組成方案 13139043.7字符顯示方案 15115073.7.1Unicode碼簡介 15103673.7.2GB2312漢字內碼簡介 154293.7.3GT21L16S2Y字庫芯片簡介 1651533.7.4AMS1117 17160033.7.5電平匹配方法 17100003.8GSM模塊 1820347第四章軟件設計 1993324.1開發環境 1975654.2AT指令 19251224.2.1簡介 19319864.2.3用法 20190144.2.4常用與GSM相關的AT指令 20170734.3總的程序流程圖 21192424.4LED掃描顯示程序流程圖 2225541第五章設計的測試與分析 23118545.1設計的過程 23210825.2單個模塊的調試 23228335.3系統測試達到的技術指標 2512775結束語 2619840參考文獻 27312致謝 2811130附錄(一) 294513附錄(二) 30第一章引言1.1課題背景與來源 現代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。大到導彈的導航裝置,飛機上各種儀表的操縱,計算機的網絡通訊與數據傳輸,工業自動化過程的實時操縱和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的操縱,小到程控玩具、電子寵物等等,這些都離不開單片機。更不用講自動操縱領域的機器人、智能儀表、醫療器械以及各種智能機械了。因此,單片機以其強大的易用性,可編程性獲得了極大的應用。而本設計確實是采納型號為STC89C52的單片機。傳統電子顯示屏的內容由電腦通過數據線發送,信息只能在固定的電腦上發送,只能固定地顯示所連接電腦一次發送的信息,且只能在短距離內使用,一般只有數十米,因此它在實際使用中暴露出一定的問題及弊端。如脫機屏的方式,有信息治理不方便,更新信息需換芯片等問題,從而白費大量的人力和財力。用連機屏方式的話,雖講能夠實時監控與治理,但假如信息顯示屏離上位機專門遠的話(如在高速公路上的顯示屏),僅僅通信線的費用就專門大,這是個迫切需要解決的工程問題。短消息是GSM(全球移動通信系統)中最簡便的數據通信方式之一。隨著短消息業務的日益完善,短消息已具備承載重要數據信息的能力。而運用短信來遠程操縱LED顯示屏內容大大降低了成本,在實際工作中起到了事半功倍的作用,更具有科研性。1.2課題意義步入信息化快速進展時代,各種宣傳手段日益多元化,設計一種方便有用的廣告顯示屏是特不有意義的而且可行的。該設計要緊包括單片機主控模塊、LED點陣模塊、TC35i-GSM通信模塊、字庫模塊等。那個設計大大地為人類提高了辦事效率,簡化了屏幕信息的更新方式,大大降低了顯示成本,節約許多人力物力,顯示方式靈活多變,更新手段安全可靠。1.3課題設計內容和方案主體功能:設計一個基于GSM短信顯示的LED點陣屏,包含以下要緊功能:1.上電后,單片機對GSM等各模塊進行初始化,等待短信息的到來。2.GSM收到短信息后,通知單片機,單片機對GSM發出讀取短信的命令并讀出GSM的短信,分離提取短信息中表示短信內容的Unicode碼。3.單片機利用讀到的Unicode碼,通過訪問字庫芯片,將Unicode碼轉換成為計算機系統中常用的標準漢字內碼(GB2312),并存儲。4.在無短信息狀態時,單片機利用漢字內碼,不斷訪問字庫芯片,將上一條短信內容的內碼轉換成可在LED點陣上顯示的字模,依次顯示到屏幕上。5.若字數超過屏幕可顯示的最大容量,則以移屏的方式依次顯示短信內容。6.單片機通過對74HC154和74HC595兩塊芯片配合操縱,以快速掃描的方式實現漢字和字符的顯示。7.單片機系統板上配有蜂鳴器,每接收到一條短信就發出“嘀~”的一聲短鳴以表示短信更新。第二章系統概述2.1系統組成本次設計要緊包括單片機主控模塊、GSM通信模塊、字庫模塊、LED點陣顯示模塊四個部分。單片機STC89C52芯片要緊操縱電路功能框圖如圖2-1電源提示LED
電源提示LED
STC89C52 IO口外接插口IO口外接插口RS232串行接口RS232串行接口蜂鳴器蜂鳴器USB電源接口USB電源接口圖2-1設計的電路操縱模塊框圖LED點陣模塊其框圖如圖2-2所示,該模塊的差不多單元是8×8LED點陣顯示塊,由于比較清晰地顯示一個漢字一般需要16×16個點,故將8×8LED點陣拼接起來組成能夠顯示漢字的點陣屏。在本設計中,設計16×64的點陣,使用74HC154和74HC595聯合驅動操縱。1616×64點陣74HC15474HC59574HC15474HC595圖2-2LED點陣屏主操縱電路模塊框圖2.2系統的功能介紹及操作講明本系統的特點和可實現的功能以及具體的操作講明要緊有:1.通電之前,先將SIM卡放入GSM模塊中,打開GSM模塊,并長按數秒啟動鍵,直到GSM指示燈穩定閃耀,表示GSM模塊差不多穩定工作。2.接上電源并打開電路開關后,電源顯示燈亮,LED點陣屏顯示狀態信息。3.開始給插入GSM模塊中的SIM卡的號碼發送短信。4.當GSM接收到短信息后,蜂鳴器發出短鳴,LED屏上顯示短信內容。5.若短信內容長度大于四個漢字,則LED屏以移屏的形式顯示。
第三章硬件組成與設計硬件設計是本系統的基礎,硬件設計的可靠性直接阻礙系統的穩定性。在敘述上,先介紹了整體的設計,再分模塊逐次細致的介紹,其中穿插一些芯片的介紹。3.1整體電路圖整體電路分成三塊板,分不為STC89C52的系統板、LED點陣屏驅動操縱板及TC35i-GSM模塊,STC89C52系統板電路包括單片機STC89C52芯片、IO口外接插口、RS232串行接口、蜂鳴器、USB電源接口。其電路如下圖圖3-1-1所示。圖3-1-1STC89C52主操縱電路圖LED點陣屏電路板要緊包括16個8×8拼接成的16×64點陣屏幕,以及用于操縱LED顯示的兩塊74HC595和四塊74HC154。另外,出于節約空間的考慮,我還將電路不是專門復雜的用于取字模的字庫芯片GT21L16S2Y一并做到該電路板上。因GT21L16S2Y芯片所需的供電電壓為3.3V,因此電路中加入了5V-3.3V的穩壓模塊AMS1117以提供GT21L16S2Y芯片正常工作的電壓。其電路原理圖如圖3-1-2所示圖3-1-2LED點陣屏模塊電路圖由于GSM模塊對電路設計及制作要求相當嚴格,一般手工制板的方式容易導致模塊工作不穩定,而且市場上GSM模塊應用十分成熟而廣泛,性價比較高,因此本設計使用成品的TC35i模塊。3.2電源電路本次電源設計中要緊的問題是不同的電路模塊需要的電壓伏值不同。如何讓各個電源模塊獨立正常的工作尤為重要。因此關于不同的電壓值,分不設計不同的電源模塊,給單片機最小系統板電路、LED點陣屏電路、GSM模塊提供穩定的電壓。包括如何實現3.3v和5v的SPI通信設計。3.2.1單片機電源因為單片機工作電壓為直流+5V,正負5%。電路功耗不高。因此該部分對電源的要求不是專門高。通常的電源設計利用的是7805穩壓管做一個輸出為正5V的直流穩壓電源電路,而本設計采納應用廣泛的USB接口,使用一般的手機充電器即可供電,方便有用。其電路設計如圖3-2-1:3-2-1單片機電源電路圖3.2.2LED點陣屏電源本設計的LED點陣屏所使用的電壓亦是5V,故同樣用USB接口供電。3.2.3字庫芯片電源GT21L16S2Y字庫芯片需要3.3V的電源,故在LED點陣屏的5V電源下,加上一塊5V-3.3V的穩壓芯片AMS1117獵取所需電壓值。單片機操縱繼電器電路如下圖3-2-2:3-2-3GT21L16S2Y字庫芯片供電電源電路3.3主控芯片單片機STC89系列單片機是MCS-51系列單片機的派生產品。它們在指令系統、硬件結構和片內資源上與標準8052單片機完全兼容,DIP40封裝系列與8051為pin-to-pin兼容。STC89C52是一種低功耗、高性能CMOS8位微操縱器,具有8K在系統可編程Flash存儲器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得STC89C52為眾多嵌入式操縱應用系統提供高靈活、超有效的解決方案。具有以下標準功能:8k字節Flash,512字節RAM,32位I/O口線,看門狗定時器,內置4KBEEPROM,MAX810復位電路,2個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口。另外STC89X52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,同意RAM、定時器/計數器、串口、中斷接著工作。掉電愛護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。3.4單片機最小系統單片機最小系統是能使單片機工作起來的最簡單的外圍電路。一個單片機最小系統一般要緊有時鐘電路和復位電路以及另外一些輔助部分。3.4.1復位電路設計復位電路圖如圖3-4-1所示。復位電路一般有2種復位操作方式:上電位復位方式和手動復位,兩種復位的操作電路形式不同。本設計采納上電復位和手動復位并聯的方式,既可一上電就復位,又能夠手動來復位。上電自動復位:通過電容充電來實現的,VCC的上升時刻不超過1ms,就能夠實現上電位復位。手動開關復位:手動開關復位在系統出現操作錯誤或程序運行出錯時使用。在單片機系統運行過程中,按下復位鍵,單片機被強制執行復位操作,系統能夠退出錯誤運行狀態,恢復正常工作。圖3-4-1復位電路圖3.4.2時鐘電路時鐘是一切微處理器、微操縱器內部電路工作的基礎。單片機內部有一個自激振蕩電路,它是定時操縱部件中的一部分,能夠通過內部自激振蕩或外部提供振蕩源這兩種方式,驅動內部時鐘電路產生系統時鐘信號。內部方式:在XTAL1、XTAL2跨接定時元件和兩個電容就構成了自激振蕩器,C1、C2取5-30PF,起微調和穩定作用。晶振頻率:f=1.2-12MHZ,常用頻率為6、12、11、0592MHZ。外部方式:外部振蕩脈沖信號直接由XALT1端輸入,現在,XALT2端懸浮。這種方式常用于多片單片機系統,以使相互的時鐘信號保持同步。晶振周期:為振蕩器輸出的時鐘脈沖頻率的倒數。是單片機中最小、最差不多的時刻單位。狀態周期:也叫時鐘周期,是振蕩頻率經2分頻后獲得的信號周期,稱S,顯然,S為晶振周期的2倍。機器周期:12個晶振周期為一個機器周期,對應計算機執行一個差不多操作所需的時刻。指令周期:執行一條指令所需的時刻,至少包含一個機器周期。指令字節:指令占用存儲空間的字節數,有單字節、雙字節、三字節三類。當時鐘頻率為12MHZ和6MHZ時,晶振周期分不為1/12μs和1/16μs,機器周期分不為1μs和2μs。由于系統中要使用串行通信,為了便于計算波特率,那個地點使用22.1184MHZ晶振和兩個電容就構成的自激振蕩器。如圖3-4-2:圖3-4-2時鐘電路3.5LED點陣顯示屏本設計為一塊可同時顯示4個漢字的16×64點的點陣屏,該屏由16塊8×8點陣拼成。點陣屏由兩塊74HC595和四塊74HC154共同操縱,同時每列點陣用一個8550三極管驅動以保證LED的亮度。具體設計如下。3.5.18×8LED點陣塊點陣內部結構及外形如下,8X8點陣共由64個發光二極管組成,且每個發光二極管是放置在行線和列線的交叉點上,當對應的某一行置1電平,某一列置0電平,則相應的二極管就亮;如要將第一個點點亮,則9腳接高電平13腳接低電平,則第一個點就亮了;假如要將第一行點亮,則第9腳要接高電平,而(13、3、4、10、6、11、15、16)這些引腳接低電平,那么第一行就會點亮;如要將第一列點亮,則第13腳接低電平,而(9、14、8、12、1、7、2、5)接高電平,那么第一列就會點亮。如圖3-5-1圖3-5-18×8點陣顯示塊內部原理圖3.5.274HC595引腳及其功能介紹 74HC595芯片是一種串入并出的芯片,在電子顯示屏制作當中有廣泛的應用。它是8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻、關、斷狀態三種狀態。移位寄存器和存儲器是分不的時鐘。數據在SCHcp的上升沿輸入,在STcp的上升沿進入的存儲寄存器中去。假如兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態的總線輸出,當使能OE時(為低電平),存儲寄存器的數據輸出到總線。芯片引腳圖如圖3-5-2所示圖3-5-274HC595引腳圖其各個引腳功能如下:1~15:三態輸出管腳
8:電源地
9:串行數據輸出管腳
10
:移位寄存器清零端
11
:數據輸入時鐘線
12
:輸出存儲器鎖存時鐘線
13
:輸出使能
14
:數據線
15:電源端
74595的操縱端講明:/SRCLR(10腳):低點平常將移位寄存器的數據清零。本設計中我將它接Vcc。SRCK(11腳):上升沿時數據寄存器的數據移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器數據不變。RCK(12腳):上升沿時移位寄存器的數據進入數據存儲寄存器,下降沿時存儲寄存器數據不變。當移位結束后,在RCK端產生一個正脈沖,更新顯示數據。/G(13腳):高電平常禁止輸出(高阻態)。假如單片機的引腳不緊張,用一個引腳操縱它,能夠方便地產生閃耀和熄滅效果。比通過數據端移位操縱要省時省力。3.5.374HC154譯碼器簡介74HC154是一款高速CMOS器件,74HC154引腳兼容低功耗肖特基TTL(LSTTL)系列。它可同意4位高有效二進制地址輸入,并提供16個互斥的低有效輸出。74HC154的兩個輸入使能門電路可用于譯碼器選通,以消除輸出端上的通常譯碼“假信號”,也可用于譯碼器擴展。該使能門電路包含兩個“邏輯與”輸入,必須置為低以便使能輸出端。任選一個使能輸入端作為數據輸入,74HC154可充當一個1-16的多路分配器。當其余的使能輸入端置低時,地址輸出將會跟隨應用的狀態。其引腳如圖3-5-3所示。 圖3-5-374HC154的引腳功能:Y0~Y15:輸出(ActiveLOW)低電平G1,G2:使能輸入(低電平)A~D:地址輸入GND:接地VCC:電源正其真值表如下:INPUTS輸入SELECTEDOUTPUT選定輸出(L)G1G2DCBALLLLLLY0LLLLLHY1LLLLHLY2LLLLHHY3LLLHLLY4LLLHLHY5LLLHHLY6LLLHHHY7LLHLLLY8LLHLLHY9LLHLHLY10LLHLHHY11LLHHLLY12LLHHLHY13LLHHHLY14LLHHHHY15XHXXXXNONEHXXXXXNONE3.6點陣屏組成方案本設計的點陣屏有16×64點,即由16行,64列組成,因此采納行和列分不操縱的方案。用兩個74HC595級聯起來操縱16行(圖3-6-1),用四個74HC154級聯起來操縱列(圖3-6-2)。單片機分不同時操縱這六塊芯片即可實現對點陣屏上任一個點的操縱,再通過快速掃描即可顯示圖案。依照有關資料,當每個LED的掃描頻率達到50Hz時,人的肉眼就無法分辨其掃描狀態,換句話講,現在眼睛看到的便是一幅“靜止”的圖案。圖3-6-1圖3-6-2注:在此四片154使用了兩個反相器來實現類似于存儲器擴展的方法,使得單片機操縱154只需要6根線,即6根線操縱64個口。3.7字符顯示方案上述方法實現了點陣中任一點的操縱后,如何顯示一個字符或漢字便成了關鍵。漢字在液晶上的顯示事實上確實是一些點的顯示與不顯示,這就相當于我們的筆一樣,有筆通過的地點就畫出來,沒通過的地點就不畫。每一個漢字或字符實際上確實是一個圖案,只只是這些“圖案”的大小是規定好的。而在本設計中按常規要求使用16×16個點的點陣描述一個“圖案”,因此一個漢字需要32個字節的編碼來“描繪”。中國的漢字成千上萬,再加上標點符號,小小的單片機是放不下的。事實上漢字在計算機中的存儲也并不是每個都存放如此的點陣數據,而是使用內碼,GB2312確實是其中一種。把漢字的點陣數據編成一個字庫,每個字有自己的“地址”,用這種方法,存儲的時候只需要存儲漢字的內碼(一個漢字內碼為兩個字節),顯示的時候再按那個字的內碼去查詢字庫即可。在本設計中也是使用如此的方法,但字庫相對單片機來講是個特不大的數據庫,想要存放在單片機的內存或Flash中顯示是不可能的。幸運的是,人類使用語言差不多幾千年了,早在專門久往常差不多有人把字庫編好,GB2312確實是一種能夠表示幾千個簡體漢字的字庫,同時市場上有專門存放這些字庫的芯片,我們只要使用漢字的GB2312內碼去查詢芯片即可獲得所需要顯示的漢字點陣碼。3.7.1Unicode碼簡介盡管GB2312可代表數千種漢字,但世界上并不是只有漢語一種語言,因此就不僅僅有漢字一種字符。為了能盡可能地表示所有字符,一般GSM模塊返回的信息是以另一種編碼表示的,這確實是Unicode碼。Unicode是基于通用字符集(UniversalCharacterSet)的標準來進展,定義了大到足以代表人類所有可讀字符的字符集。所幸本設計中我使用的字庫芯片中帶有由Unicode碼到GB2312的對應表。3.7.2GB2312漢字內碼簡介GB2312碼是中華人民共和國國家漢字信息交換用編碼,全稱《信息交換用漢字編碼字符集——差不多集》,由國家標準總局公布,1981年5月1日實施,通行于大陸。新加坡等地也使用此編碼。GB2312標準共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時,GB2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個全角字符。3.7.3GT21L16S2Y字庫芯片簡介GT21L16S2Y是一款內含11X12點陣和15X16點陣的漢字庫芯片,支持GB2312國標簡體漢字(含有國家信標委合法授權)、ASCII字符及GB2312與Unicode編碼互轉表。排列格式為豎置橫排。用戶通過字符內碼,可計算出該字符點陣在芯片中的地址,可從該地址連續讀出字符點陣信息。以下圖3-7-1是該芯片的引腳圖圖3-7-1GT21L16S2Y的引腳圖圖3-7-2是該芯片的引腳描述圖3-7-2GT21L16S2Y的引腳圖引腳描述:串行數據輸出(SO):該信號用來把數據從芯片串行輸出,數據在時鐘的下降沿移出。串行數據輸入(SI):該信號用來把數據從串行輸入芯片,數據在時鐘的上升沿移入。串行時鐘輸入(SCLK):數據在時鐘上升沿移入,在下降沿移出。片選輸入(CS#):所有串行數據傳輸開始于CE#下降沿,CE#在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平。總線掛起輸入(HOLD#):該信號用于片選信號有效期間暫停數據傳輸,在總線掛起期間,串行數據輸出信號處于高阻態,芯片不對串行數據輸入信號和串行時鐘信號進行響應。當HOLD#信號變為低同時串行時鐘信號(SCLK)處于低電平常,進入總線掛起狀態。當HOLD#信號變為高并時串行時鐘信號(SCLK)處于低電平常,結束總線掛起狀態。3.7.4AMS1117AMS1117是一種低壓降壓穩壓器。AMS1117有兩個版本固定輸出版本和可調版本固定輸出電壓為1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V,具有1%的精度;固定輸出電壓為1.2的精度為2%。AMS1117內部集成過熱愛護和限流電路,是電池供電和便攜式計算機的最佳選擇。本設計中使用的是固定3.3V的型號。3.7.5電平匹配方法單片機芯片使用的是5V的TTL電平,而GT21L16S2Y芯片電平為3.3V左右,因此需要將單片機的工作電平與GT21L16S2Y的電平相匹配。STC89C52的IO口中,P0口屬于開漏輸出,將單片機與GT21L16S2Y操縱引腳電平匹配的方法如圖3-7-3所示:圖3-7-33.8GSM模塊本設計采納的GSM模塊是TC35i。TC35i新版西門子工業GSM模塊是一個支持中文短信息的工業級GSM模塊,工作在EGSM900和GSM1800雙頻段,電源范圍為直流3.3~4.8V,電流消耗——休眠狀態為3.5mA,空閑狀態為25mA,發射狀態為300mA(平均),2.5A峰值;可傳輸語音和數據信號,功耗在EGSM900(4類)和GSM1800(1類)分不為2W和1W,通過接口連接器和天線連接器分不連接SIM卡讀卡器和天線。SIM電壓為3V/1.8V,TC35i的數據接口(CMOS電平)通過AT命令可雙向傳輸指令和數據,可選波特率為300b/s~115kb/s,自動波特率為1.2kb/s~115kb/s。它支持Text和PDU格式的SMS(ShortMessageService,短消息),可通過AT命令或關斷信號實現重啟和故障恢復.3.9LED驅動電路本設計點陣屏的LED比較多,而數字芯片的驅動能力有限,要保證足夠的亮度,就要加驅動電路。本設計的LED功耗不算太高,因此簡單地使用8550三極管即可。具體電路圖如圖3-9-1所示:圖3-9-1第四章軟件設計軟件設計全部采納C語言編寫,具有移植性強,可讀性高的優點。本設計的軟件程序包括主程序、定時器中斷子程序、串口中斷服務子程序、LED掃描程序、短信讀取程序、字模處理程序等等。4.1開發環境C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它能夠作為工作系統設計語言,編寫系統應用程序,也能夠作為應用程序設計語言,編寫不依靠計算機硬件的應用程序。它的應用范圍廣泛,具備專門強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適于編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。本次編程軟件采納keilC。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫治理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。假如你使用C語言編程,那么Keil幾乎確實是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。4.2AT指令4.2.1簡介AT即Attention,AT指令一般應用于終端設備與PC應用之間的連接與通信。AT指令集是從終端設備(TerminalEquipment,TE)或數據終端設備(DataTerminalEquipment,DTE)向終端適配器(TerminalAdapter,TA)或數據電路終端設備(DataCircuitTerminalEquipment,DCE)發送的。其對所傳輸的數據包大小有定義:即關于AT指令的發送,除AT兩個字符外,最多能夠接收1056個字符的長度(包括最后的空字符)。每個AT命令行中只能包含一條AT指令;關于由終端設備主動向PC端報告的URC指示或者response響應,也要求一行最多有一個,不同意上報的一行中有多條指示或者響應。AT指令以回車作為結尾,響應或上報以回車換行為結尾。單片機與GSM模塊通信是通過串行口用AT指令來實現的。4.2.3用法AT指令是以AT作首,字符結束的字符串,AT指令的響應數據包在中。每個指令執行成功與否都有相應的返回。其他的一些非預期的信息(如有人撥號進來、線路無信號等),模塊將有對應的一些信息提示,接收端可做相應的處理。4.2.4常用與GSM相關的AT指令AT+CMGCSendanSMScommand(發出一條短消息命令)AT+CMGDDeleteSMSmessage(刪除SIM卡內存的短消息)AT+CMGFSelectSMSmessageformate(選擇短消息信息格式:0-PDU;1-文本)AT+CMGLListSMSmessagefrompreferredstore(列出SIM卡中的短消息PDU/text:0/“RECUNREAD”-未讀,1/“RECREAD”-已讀,2/“STOUNSENT”-待發,3/“STOSENT”-已發,4/“ALL”-全部的)AT+CMGRReadSMSmessage(讀短消息)AT+CMGSSendSMSmessage(發送短消息)AT+CMGWWriteSMSmessagetomemory(向SIM內存中寫入待發的短消息)AT+CMSSSendSMSmessagefromstorage(從SIN|M內存中發送短消息)AT+CNMINewSMSmessageindications(顯示新收到的短消息)AT+CPMSPreferredSMSmessagestorage(選擇短消息內存)AT+CSCASMSservicecenteraddress(短消息中心地址)AT+CSCBSelectcellbroadcastmessages(選擇蜂窩廣播消息)AT+CSMPSetSMStextmodeparameters(設置短消息文本模式參數)AT+CSMSSelectMessageService(選擇短消息服務)對短消息的操縱共有三種模式:BlockMode、基于AT命令的PDUMode、基于AT命令的TextMode4.3總的程序流程圖總的程序要緊完成設計參數的初始化、鍵值處理、溫度采樣、電路加熱、聲光報警等,其主程序流程圖如圖圖4-1開始開始初始化初始化GSM模塊、定時器、串口等,標志位flag=0否是否有短信否是否有短信否是否是flag=1flag=1是是截取短信里面的截取短信里面的UNICODE碼將將unicode碼發給字庫芯片轉換成GB2312碼將將GB2312碼發給字庫芯片,得到點陣二進制數據循環掃面顯示點陣數據循環掃面顯示點陣數據標志位置為flag=1標志位置為flag=1圖4-1主程序流4.4LED掃描顯示程序流程圖LED掃描顯示程序的流程圖如圖4-2:開始讀取當前列指針,依照列指針從顯示緩存區中找出列數據。開始讀取當前列指針,依照列指針從顯示緩存區中找出列數據。將列數據寫入74HC595,并顯示列指針自增列指針大于或等于64列指針清零結束本次掃描是否圖4-2報警電路流程圖
第五章設計的測試與分析5.1設計的過程剛拿到設計題目的時候,首先要做的確實是有一個總體的設計方案,然后對整個設計做一個打算,把時刻和工作都合理的安排好。最后再考慮分析解決具體的突擊問題。這次畢業設計讓我更加熟悉了從理論到實踐的跨越。從當初的查閱圖書,到現在的電路板調試運行成功,這中間有專門多值得回味的地點。逐漸了解到了一些要緊芯片的技術資料和用法。這次的設計,從選題到實現,幾乎差不多上自己獨立完成的。第一步使用電路制圖軟件ProtelDXP來設計原理圖,然后制作成電路板,最后使用keilC調試軟件的運行。其中有專門多細節要考慮周到,比如在通常條件下,所有的元件均應布置在印制電路的同一面上,只有在頂層元件過密時,才能將一些高度有限同時發熱量小
的器件,如貼片電阻、貼片電容、貼IC等放在底層。在保證電氣性能的前提下,元件應放置在柵格上且相互平行或垂直排列,以求整齊、美觀,一般情況下不同意元件重疊;元件排列要緊湊,輸入和輸出元件盡量遠離。某元器件或導線之間可能存在較高的電位差,應加大它們的距離,以免因放電、擊穿而引起意外短路。大部分差不多上關于PCB布線方面要注意的問題。在軟件調試部分,如何考慮串口和定時器的終端優先級,字庫芯片資料中的地址講明,最重要的是int和char的長度,經常在專門細小的地點出錯,導致程序運行不正常。在整個設計過程中,通過自己學習、探討、而從中學習了專門多關于單片機和相關程序等各方面的知識,通過對電路的設計、布局、在這過程中還出現了專門多問題。自己不明白的就要虛心向不人學習,取人之長,補己之短,一步一個腳印,如此的學習過程,使自己受益匪淺,得到專門好的鍛煉。
5.2單個模塊的調試制作好硬件之后,就進行軟件編程,把兩者結合起來對每一個模塊進行調試。各個模塊包括LED點陣屏的操縱,單片機與GSM模塊的通信,短信信息的辨認和解譯,漢字字庫的轉換和讀取,LED亮度的調試,LED掃描速度的調試。LED點陣的操縱實際上確實是對74HC154和74HC595這兩種芯片的操縱。其中154是譯碼器,電路中采納級聯的方式,將點陣屏的64列編碼成地址,64個點需要6位二進制代碼表示,四塊154接起來以后只需6根線,接到單片機的P2口,程序里對P2口賦相應的值就能夠選擇64列中的一列,實際調試過程十分簡單。而74HC595是串行SPI口輸入的移位寄存鎖存器,能夠串接,本設計使用兩片74HC595串聯以操縱16行LED,它的操縱引腳只有四個,接到P1口的四個引腳即可。單片機與GSM是通過串行通信接口進行通信的,剛開始的時候由于對GSM的用法不太熟悉,一般是通過GSM模塊上自帶的RS232串行接口DB9與PC機連接,利用PC機對其進行調試。按照資料上一步一步地輸入相應的AT指令后,逐漸熟悉了常用AT指令的用法,并了解了GSM模塊在PDU模式下對短信內容的編碼格式。因為中文短信只有在PDU模式下才可讀出,通過用PC的串口對GSM模塊的調試之后,就明白使用單片機如何與GSM通信了。關于短信息的辨認和解譯,前提是了解GSM模塊在PDU模式下的的編碼格式,因為GSM發回來給單片機的信息并不是全是短信內容,只有了解其格式后,才能從其返回的一堆數據中正解地提取出短信的內容。從GSM模塊到單片機的短信息內容是以Unicode碼的形式表示的,本設計用的字庫芯片沒法直接從Unicode碼得到字模,因此只能先將Unicode碼轉換成GB2312漢字內碼。得到表示短信內容的內碼后,將漢字內碼一個一個地查詢字庫芯片,字庫芯片的操縱方法也是用串行的SPI協議,十分簡單。程序把內碼一個一個地發給字庫芯片,然后從字庫芯片中讀回所要顯示的漢字的字模,經整理后,存放到用于顯示的緩存數組中即可。單片機開的定時器0每當定時溢出就調用一次LED掃描函數,把緩存數組中的數據掃到LED上,調整定時時刻,讓掃描速度足夠快,即可完成字符的顯示。LED的亮度由流過LED的電流決定,當采納掃描的方式顯示時,隨著掃描的速度加快,LED的亮度會降低。這是因為掃描顯示使每個LED在每次掃描中得到點亮的時刻減小了,因此為了提高LED的亮度,我把LED的限流電阻改小,讓LED的亮度達到令人中意的程度即可。5.3系統測試達到的技術指標1、LED點陣屏正常顯示2、GSM模塊正常接收到短信3、單片機正確讀出短信4、短信內容正確地顯示在LED點陣屏上5、LED點陣屏可自動移屏顯示大于四個漢字的內容
結束語讀書生活在那個季節立即劃上一個句號,回首這三年以來,有成功也有失敗,就如此在跌跌撞撞中不斷成長起來,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。三年的求學生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文立即付梓之際,思緒萬千,心情久久不能平靜。在老師的耐心指導下,以及同學的熱心關心下,我終于按期完成了我的畢業設計。通過這次富有意義而又深刻的畢業設計,我掌握了一些實踐性質的設計的差不多步驟。首先確實是確定自己的設計,明確設計的要求,然后制定一個合理的打算去完成設計。從查找資料到用Protel畫圖,再到印板、洗板、焊板,最后到調試,讓該設計達到設計預期的要求。本設計采納STC89C52為主控芯片,通過GSM模塊接收短信息,然后通過STC89C52芯片處理,讀出短信內容,查詢字庫芯片,翻譯成字模的二進制代碼,按一定的算法賦給操縱LED點陣屏的六塊芯片,從而在LED點陣屏上顯示短信內容。在這次設計的過程中,我也能夠再一次深度學習了電路PCB板的設計與制作,同時能夠更加熟練的運用Protel軟件,不但鞏固了我們所學的專業知識,而且還讓我增長了許多課外的知識,使我受益匪淺。也使我更加深入的了解到了溫度傳感器,液晶顯示,語音芯片,以及52單片機的結構功能和具體應用,讓我對電子知識也變得更加的渴望與喜愛。盡管在制作設計的過程中,我遇到了專門多困難,然而通過老師和同學的關心,還有自己的努力,一切的問題都迎刃而解。我也明白了,專門多情況要去嘗試了才明白自己到底有沒有那個能力,想與做相差確實專門大。相信在今后的生活中,我會更加的努力學期各方面的知識,發揚這種樂學上進的精神。本設計通過多次嚴格測試,差不多能專門好的實現該設計的差不多要求。該設計的硬件設計簡單,軟件也不是專門復雜,易于開發,成本較低,方便有用,操作方便等特點。總之,本設計采納了STC89C52單片機作為系統的中央操縱單元,并結合C語言編程,實現了在LED點陣屏上顯示短信息內容的目標,完成了設計要求。
參考文獻[1]康華光電子技術基礎(模擬部分)[M].北京:高等教育出版社,2006年;[2]閻石數字電子技術基礎(第五版)[M].北京:高等教育出版社,2006年;[3]譚浩強.C程序設計.北京:清華大學出版社.2005年[4]胡壽松自動操縱原理(第二版).北京:科學出版社,2008年;[5]劉海成AVR單片機原理及測控工程應用.北京航空航天大學出版社,2008年[6]周興華AVR單片機C語言高級程序設計.北京:中國電力出版社,2008[7]謝維成,楊加國.單片機原理與應用及C51程序設計(第2版)[M].北京:清華大學出版社,2009.[8]何立民.《單片機應用系統設計》.北京航空航天大學出版社.1990年.[9]王福瑞等.《單片機測控系統設計大全》.北京航空航天大學出版社.2002年.[10]周明德.《微型計算機硬件軟件及應用》.清華大學出版社.1982年.[11]宋宏運.《單片微機計算機原理及應用》.重慶大學出版社.1990[12]ISD4004SeriesSingle-ChipVoiceRecord/PlaybackDeviceDataBook,WinbondInc.2000.
致謝本論文設計在我的指導老師黃容蘭老師的悉心關懷和耐心指導下順利地完成了。我的敬愛的導師,我不是您最出色的學生,而您卻是我最尊敬的老師。您治學嚴謹,學識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅同意了全新的思想觀念,樹立了宏偉的學術目標,領會了差不多的考慮方式,從論文題目的選定到論文寫作的指導,經由您悉心的點撥,再經考慮后的領悟,常常讓我有“山重水復疑無路,柳暗花明又一村”。最后再一次感謝所有在畢業設計中曾經關心過我的良師益友和同學,以及在設計中被我引用或參考的論著的作者。附錄(一)一、STC89C52操縱主電路包括單片機STC89C52模塊、溫度采樣模塊、顯示模塊、加熱電路模塊、(LED、蜂鳴器)報警模塊、功能按鍵模塊電路圖:附錄圖1二、點陣電路圖:附錄圖2附錄(二)/**************************************************字庫芯片:GT21L16S2Y*日期:2012-11-29**************************************************/#include<reg52.h>#include<uart.h>#include<gt21.h>#include<intrins.h>/**************************************************引腳定義*cs:片選信號,拉低有效*so:串行輸出信號,數據在時鐘的下降沿移出*hold:總線掛起,接200歐姆電阻拉高*sclk:串行時鐘信號*gt_si:串行輸入信號,數據在時鐘的下降沿移入**************************************************/sbitcs=P0^0;sbitso=P0^1;sbithold=P0^2;sbitsclk=P0^3;sbitgt_si=P0^4;/**************************************************函數功能:串行寫入一個字節的數據,時鐘的上升沿寫入*參數講明:w_Data待寫入的字節數據*返回值:無**************************************************/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_(); }}/**************************************************函數功能:串行讀入一個字節的數據,時鐘的上升沿讀入*參數講明:無*返回值:r_Data讀入的數據**************************************************/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;}/**************************************************函數功能:把Unic_ode內碼轉換為GB2312內碼*函數參數:srcCode:輸入Unic_ode內碼串。 destCode:轉換后得到的GB2312內碼*返回值:0**************************************************/longintUToGb2312Buff=0x67d70;//UToGb2312Buff為Unic_ode到GB2312內碼轉換表在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;}/**************************************************函數功能:把Unic_ode內碼轉換為GB2312內碼*函數參數:srcCode:輸入Unic_ode內碼串。 destCode:轉換后得到的GB2312內碼*返回值: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;}/********************************************函數功能:依照gbc_ode碼得到二進制代碼,只適用漢字。*參數講明:gbc_ode表示漢字內碼,2個字節。 Data漢字的二進制代碼,32個字節。 MSB表示漢字內碼GBCode的高8bits。 LSB表示漢字內碼GBCode的低8bits。 Address表示漢字或ASCII字符點陣在芯片中的字節地址。 BaseAdd:講明點陣數據在字庫芯片中的起始地址。*返回值:無********************************************/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;//同意串行口接收數據 PCON=0x00;//SMOD=0;波特率不加倍 TMOD=0x20;//T1方式2,用于產生波特率 TH1=0xFD;//裝初值 TL1=0xFD; TR1=1;//啟動定時器1 EA=1;//打開全局中斷操縱 ES=1;//打開串行口中斷 }voidUart_Send_Byte(unsignedcharmydata){ ES=0; //關串口中斷 TI=0; //發送中斷標志清零 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*摘要:* 單片機上電后,首先進行數據數組和串口的初始化,隨后不斷的*發送‘AT+XXXX’指令并檢測模塊返回值;共需要四步:** 1、確認單片機與GSM模塊通信連接正常;正常則進行下一步,不正常則重復該步驟;超過固定次數后報警!* 2、確認GSM模塊的SIM卡網絡注冊正常;正常則進行下一步,不正常則重復該步驟;超過固定次數后報警!* 3、確認GSM模塊短信初始化正常;正常則進行下一步,不正常則重復該步驟;超過固定次數后報警!* 4、確認GSM模塊選擇短信模式正常;正常則進行下一步,不正常則重復該步驟;超過固定次數后報警!** 現在能夠確認GSM模塊全部初始化結束!** 接下來單片機不斷循環檢測GSM模塊有無來電和短信,遇來電自動接聽;*作者:*完成日期*注意:使用GSM模塊前,請確認放入模塊的SIM內的短信不能超過8條!單片機只能識不個位數的短信條數********************************************************************************************************/#include<reg52.h>#include<string.h>#include<uart.h>#include<gsm.h>unsignedcharxdatadat[200];//串口接收數據數組unsignedcharnew[2];//存放短信數目unsignedcharflag=0;unsignedcharn=0;unsignedcharring=0;unsignedcharsm=0;/********************************************************************功能描述:51單片機ms延時函數*參數描述:Z的值決定了延時長短*返回講明:無*******************************************************************/voiddelay_1ms(unsignedintz){ unsignedintx; unsignedinty; for(x=z;x>0;x--) for(y=110;y>0;y--);}/*******************************************************************功能描述:將data數組初始化為內部數據都為‘Z’*參數講明:無*返回講明:無******************************************************************/voidData_Init()//data數組初始化{ unsignedchari; for(i=0;i<200;i++) { dat[i]='Z'; }}/*******************************************************************功能描述:51單片機的串口中斷處理函數*參數講明:無*返回講明:無******************************************************************/voidServe()interrupt4using3//串口中斷函數{ TR0=0; if((SBUF>=65&&SBUF<=90)||(SBUF>=48&&SBUF<=59)) //只存儲‘A-Z’大寫字母和‘0-9’數字和”:;“ { 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();//數據數組初始化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 韻母課件介紹
- 音名唱名課件介紹
- 2025年其它核材料及相關特殊材料項目合作計劃書
- 城市污水管網建設工程投標書(參考模板)
- 2025年SPI環氧乙烷銀催化劑項目合作計劃書
- 2025年石英玻璃纖維布項目合作計劃書
- 2025年ZRO2陶瓷磨介項目合作計劃書
- 《GBT3533.3-1984評價和計算標準化經濟效果數據資料的收集和處理方法》深度解析
- 2025年智能輸電系統項目建議書
- 2025年廢舊電子產品回收利用產業鏈上下游市場分析報告
- 2025-2030中國遙控武器站行業現狀調研與前景趨勢預測報告
- 內蒙古呼倫貝爾能源投資開發有限責任公司招聘筆試真題2024
- WST821-2023托育機構質量評估標準
- 2025至2030中國循環腫瘤細胞(CTC)行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025至2030中國大型連鎖超市行業發展趨勢分析與未來投資戰略咨詢研究報告
- T-GDMDMA 0044-2025 一次性使用血液灌流器的臨床使用指南
- 2025-2030年中國鱈魚腸行業市場發展分析及發展前景與投資策略研究報告
- 2025-2030年中國智慧應急行業市場深度調研及市場前瞻與投資策略研究報告
- 2025年全國統一高考語文試卷(全國一卷)含答案
- T/ISEAA 006-2024大模型系統安全測評要求
- T/DZJN 03-2019即熱式飲水電加熱器具能效限定值及能效等級
評論
0/150
提交評論