版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、浙江師范大學(xué)數(shù)理信息工程學(xué)院課程設(shè)計(jì)單片機(jī)控制實(shí)現(xiàn)短信收發(fā) 數(shù)理與信息工程學(xué)院課 程 設(shè) 計(jì) 題 目: 單片機(jī)控制實(shí)現(xiàn)短信收發(fā) 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)(專(zhuān)升本) 班 級(jí): 056 姓 名: 黃丹丹 學(xué)號(hào): 05191112 成 績(jī): ( 2006.6 )24目 錄摘 要 1第1節(jié)引言 1第2節(jié)工作原理及其軟件設(shè)計(jì)2 21串口控制SMS的工作原理 222軟件實(shí)現(xiàn) 323短信數(shù)據(jù)的處理ExecData函數(shù) 6第3節(jié) 系統(tǒng)硬件介紹 631 系統(tǒng)核心部分-閃電存儲(chǔ)型器件AT89C51 632 GSM模塊MZ28 1033 單片機(jī)MSC1210 10 第4節(jié)SMS的體系結(jié)構(gòu) 13第5節(jié)SMS應(yīng)用新領(lǐng)
2、域1551 SMS在銀行中間業(yè)務(wù)領(lǐng)域中的通知功能1552 SMS在保險(xiǎn)公司客戶(hù)服務(wù)體系中的定時(shí)提醒功能1553 SMS在證券交易中的成交回復(fù)與價(jià)格預(yù)警功15第6節(jié) 結(jié)語(yǔ)16參考文獻(xiàn) 17附錄一程序18附錄 二21單片機(jī)控制實(shí)現(xiàn)短信收發(fā)信息科學(xué)與工程學(xué)院 計(jì)算機(jī)專(zhuān)升本 班 黃丹丹【摘 要】借助系統(tǒng)模型,闡明GSM模塊收發(fā)短信的基本概念以及串口控制SMS的基本原理。詳細(xì)介紹用單片機(jī)AT89C51控制GSM模塊工作的硬件和軟件實(shí)現(xiàn)過(guò)程,介紹了單片機(jī)AT89C51和MSC1210內(nèi)部結(jié)構(gòu)和性能,并對(duì)AT89C51和MSC1210的性能、用途進(jìn)行了比較,特別提出了MSC1210在高精度溫度采集中所體現(xiàn)出
3、別的芯片所不及的優(yōu)勢(shì)。對(duì)怎樣用單片機(jī)控制GSM模塊收發(fā)短信進(jìn)行探討,也對(duì)程序設(shè)計(jì)的主體思想作了細(xì)致的分析。大致介紹了SMS的體系結(jié)構(gòu)以及在當(dāng)今社會(huì)中SMS應(yīng)用的新領(lǐng)域.本系統(tǒng)技術(shù)較先進(jìn),科技含量高運(yùn)行速度快,精度高?!娟P(guān)鍵詞】單片機(jī)短信收發(fā)GSMSMS 第1節(jié) 引言中國(guó)聯(lián)通數(shù)字移動(dòng)電話(huà)(GSM)網(wǎng)是向社會(huì)公眾提供通信服務(wù)的公用通信網(wǎng),與中國(guó)電信網(wǎng)同為國(guó)家通信網(wǎng)的有機(jī)組成部分。兩網(wǎng)互聯(lián)互通,自動(dòng)接續(xù),共享國(guó)家通信資源。目前,中國(guó)聯(lián)通數(shù)字移動(dòng)電話(huà)業(yè)務(wù)由GSM網(wǎng)130、131業(yè)務(wù)和CDMA網(wǎng)133業(yè)務(wù)組成。GSM是目前基于時(shí)分多址技術(shù)的移動(dòng)通信體制中,比較成熟完善,且應(yīng)用最廣泛的一種系統(tǒng)。目前已建成
4、的覆蓋全國(guó)的GSM數(shù)字蜂窩移動(dòng)通信網(wǎng),是我國(guó)公眾移動(dòng)通信網(wǎng)的主要方式。基于GSM的短信信息服務(wù),是一種在移動(dòng)網(wǎng)絡(luò)上傳送簡(jiǎn)短信息的無(wú)線應(yīng)用,是一種信息在移動(dòng)網(wǎng)絡(luò)上存儲(chǔ)和轉(zhuǎn)寄的過(guò)程。由于公眾GSM網(wǎng)絡(luò)在全球范圍內(nèi)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,上述系統(tǒng)不需再組建專(zhuān)用通信網(wǎng)絡(luò),所以具有實(shí)時(shí)傳輸數(shù)據(jù)功能的短信應(yīng)用將得到迅速普及。本軟件的設(shè)計(jì)基于GSM網(wǎng)絡(luò)的溫度數(shù)據(jù)采集與無(wú)線傳輸系統(tǒng)正是借助該網(wǎng)絡(luò)平臺(tái),利用短信息業(yè)務(wù)實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)雙向傳遞。系統(tǒng)模型圖如圖1-1所示。本系統(tǒng)由數(shù)據(jù)采集部分、數(shù)據(jù)接收和發(fā)送部分、終端處理部分三個(gè)模塊組成。數(shù)據(jù)采集模塊將采集到的溫度數(shù)據(jù)存入存儲(chǔ)器中。數(shù)據(jù)收發(fā)模塊采用雙單片機(jī)共用EERPOM的
5、方式,單片機(jī)2控制數(shù)據(jù)從存儲(chǔ)器轉(zhuǎn)存入EEPROM中;單片機(jī)1負(fù)責(zé)將數(shù)據(jù)從EEPROM中讀出,并經(jīng)GSM模塊2借助GSM網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送出去。單片機(jī)1不僅控制數(shù)據(jù)的發(fā)送,也控制數(shù)據(jù)的接收。在這里,EEPROM是溫度數(shù)據(jù)臨時(shí)存儲(chǔ)和上傳的中轉(zhuǎn)站。終端處理模塊負(fù)責(zé)將接收到的數(shù)據(jù)交給計(jì)算機(jī)處理,并將處理后的結(jié)果存放到數(shù)據(jù)庫(kù)中,以供查詢(xún)。當(dāng)終端處理模塊需要向GSM模塊2發(fā)送控制命令時(shí),GSM模塊2接收過(guò)程正好與上述過(guò)程相反,從而實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)雙向傳遞。圖1-1系統(tǒng)模型系統(tǒng)中,三個(gè)模塊相互獨(dú)立,彼此又相互依賴(lài),共同完成數(shù)據(jù)的傳輸。數(shù)據(jù)收發(fā)模塊在系統(tǒng)中起著承上啟下的作用,是系統(tǒng)的核心模塊。該模塊以雙單片機(jī)為核心
6、,以RS232通信接口,在物理層上實(shí)現(xiàn)與GSM模塊的連接。由于篇幅的限制,本文主要介紹單片機(jī)控制這一模塊工作的軟件實(shí)現(xiàn)過(guò)程,旨在對(duì)怎樣用單片機(jī)控制GSM模塊收發(fā)短信息進(jìn)行探討。第2節(jié) 工作原理及其軟件設(shè)計(jì)2 1 串口控制SMS的工作原理單片機(jī)與GSM模塊一般采用串行異步通信接口,通信速度可設(shè)定,通常為19200bps。采用這種RSM232電纜方式進(jìn)行連接時(shí),數(shù)據(jù)傳輸?shù)目煽啃暂^好。RS232接口方式連接,通過(guò)串行接口集成電路和電平轉(zhuǎn)換電路與GSM模塊連接,電路比較簡(jiǎn)單,所涉及的芯片包括單片機(jī)89C51和電平轉(zhuǎn)換芯片MAX232,是非常常見(jiàn)的接口電路。需要說(shuō)明的是,該接口通過(guò)I2C總線擴(kuò)展了一個(gè)E
7、EPROM存儲(chǔ)器芯片AT24C64,它的主要作用是存儲(chǔ)數(shù)據(jù),而且斷電信息也不會(huì)丟失,這些特性正是存儲(chǔ)數(shù)據(jù)所必須的。GSM的短信息業(yè)務(wù)SMS利用信令信道傳輸,這是GSM通信網(wǎng)所特有的。它不用撥號(hào)建立連接,把要發(fā)的信息加上目的數(shù)據(jù)發(fā)送到短信息服務(wù)中心,經(jīng)短信服務(wù)中心完成存儲(chǔ)后再發(fā)送給最終的信宿。所以當(dāng)目的GSM終端沒(méi)開(kāi)機(jī)時(shí)信息不會(huì)丟失。每個(gè)短信的信息量限制為160字節(jié)。現(xiàn)在市場(chǎng)上大多數(shù)手機(jī)均支持GSM07.05規(guī)定的AT指令集。該指令集是ETSI(歐洲通信技術(shù)委員會(huì))發(fā)布的,其中包含了對(duì)SMS的控制。利用GSM手機(jī)的串行接口,單片機(jī)向手機(jī)收發(fā)一系列的AT命令,就能達(dá)到控制GSM模塊收發(fā)SMS的目的
8、。必須注意的是,用單片機(jī)實(shí)現(xiàn)時(shí),編程必須注意它發(fā)送指令與接收到的響應(yīng)都是字符的ASCII碼。用單片機(jī)控制GSM模塊收發(fā)短信息所涉及以的AT指令如表21所列。表21 AT指令A(yù)T指令功 能 描 述AT+OFF關(guān)機(jī)并重新啟動(dòng)AT+CSDH=0在TEXT模式下在返回值中不顯示詳細(xì)的頭信息ATE0關(guān)閉回顯AT+CMGF=1選擇短信格式為T(mén)EXT模式AT+CMGS發(fā)送短信息AT+CMGR讀取短信息AT+CMGD=0刪除全部短信息22軟件實(shí)現(xiàn)2. 2. 1 上位機(jī)模塊和下位機(jī)模塊半雙工通信協(xié)議的實(shí)現(xiàn)2.2.1.1應(yīng)答和重發(fā)上位機(jī)模塊和下位模塊的通信雙方遵照半雙工通信方式
9、進(jìn)行,即數(shù)據(jù)傳送是雙向的。但是,任何時(shí)刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù),因?yàn)镋EPROM的讀出和寫(xiě)入不能同時(shí)進(jìn)行。為了避免一方在發(fā)送信息幀時(shí)(這里的信息幀指的是下位機(jī)模塊發(fā)送的數(shù)據(jù)幀和上位機(jī)模塊發(fā)送的命令幀,下同),另一方也會(huì)發(fā)送數(shù)據(jù),必須把信道變成半雙工方式。盡管這樣效率可能不如全雙工方式,但通過(guò)此舉犧牲效率可以換取模塊工作性能的穩(wěn)定。雙方采取的順序是:發(fā)收到應(yīng)答后再發(fā)。按照整個(gè)系統(tǒng)的設(shè)計(jì)思路,上位機(jī)模塊(即圖1-1中的GSM模塊1,下同)發(fā)送的幀包括命令幀、確認(rèn)幀和非確認(rèn)幀;下位機(jī)模塊(即圖1-1中的GSM模塊2,下同)發(fā)送的幀包括數(shù)據(jù)幀、確認(rèn)幀和非確認(rèn)幀。其中確認(rèn)幀和非確認(rèn)幀是
10、發(fā)送數(shù)據(jù)后等待對(duì)方發(fā)送的應(yīng)答幀,以此作為繼續(xù)發(fā)送下一幀和重新發(fā)送上一幀的依據(jù)。命令幀和數(shù)據(jù)幀是信息幀,當(dāng)一方先發(fā)送完信息幀,如果收方接收到對(duì)方的信息幀,而又沒(méi)有信息幀需要發(fā)送,那么情況就比較簡(jiǎn)單,收方將根據(jù)信息幀的正確與否決定發(fā)送確認(rèn)幀還是非確認(rèn)幀,以使對(duì)方?jīng)Q定是繼續(xù)發(fā)送還是重新發(fā)送;如果此刻收方也有信息幀需要發(fā)送,那么收方將不立即發(fā)送應(yīng)答幀,而是立即發(fā)送本方的信息幀給對(duì)方,并等待對(duì)方對(duì)此幀的應(yīng)的應(yīng)答幀,在收到對(duì)方的應(yīng)答幀后,收方將依據(jù)應(yīng)答幀的內(nèi)容(即確認(rèn)幀或者是非確認(rèn)幀,下同)決定是繼續(xù)發(fā)送下一信息幀,還是重新發(fā)送原來(lái)的信息幀。如果由于鏈路本身不可靠等因素造成應(yīng)答幀的丟失,收方將在一定時(shí)間內(nèi)
11、因?yàn)闆](méi)有收到應(yīng)答幀而延時(shí)重發(fā)原來(lái)的信息幀。在收到對(duì)方的應(yīng)答幀后,收方將繼續(xù)發(fā)送下一信息幀,并等待對(duì)方的應(yīng)答幀,如此反復(fù),直到收方全部發(fā)送完信息幀。在本方收到對(duì)方最后一個(gè)應(yīng)答幀后,表明本方全部的信息幀發(fā)送完畢。然后收方將發(fā)送對(duì)方仍然等待的應(yīng)答幀,通知對(duì)方收到的信息幀正確與否。2.2.1.2延時(shí)重發(fā)在雙方通信過(guò)程中,有兩個(gè)時(shí)間t1和t2,分別表示重新發(fā)送信息幀的最大延時(shí)。t1表示一方發(fā)送完信息幀到收到對(duì)方應(yīng)答幀的時(shí)間,如果等待應(yīng)答幀的時(shí)間超過(guò)了t1,則發(fā)方會(huì)重新發(fā)送原來(lái)的信息幀;當(dāng)收方接收到對(duì)方發(fā)送的信息幀,如果收方此時(shí)有需要發(fā)送的信息幀,則收方此時(shí)不發(fā)送應(yīng)答幀,而是發(fā)送信息幀給對(duì)方。也就是說(shuō),利
12、用對(duì)方等待收方應(yīng)答幀的時(shí)間t1內(nèi),收方插入發(fā)送本文的信息幀,同樣本方的發(fā)送也存在一個(gè)延時(shí)重發(fā)的問(wèn)題。在規(guī)定的時(shí)間內(nèi),如果沒(méi)有收到對(duì)方應(yīng)答幀,收方也同樣需要重發(fā)原來(lái)的信息幀,這個(gè)規(guī)定的時(shí)間就是t2。顯然由于收方是利用間隙時(shí)間發(fā)送本方信息幀,所以t2<t1。圖以下位機(jī)模塊先發(fā)數(shù)據(jù)幀為例,闡述雙方通信的具體實(shí)現(xiàn)過(guò)程。圖2-1需要說(shuō)明的是,由于版面的限制,圖2-1所示的通信過(guò)程沒(méi)有涉及到發(fā)送非確認(rèn)幀的情況,如果收方發(fā)送非確認(rèn)幀,發(fā)方的發(fā)送過(guò)程跟發(fā)送數(shù)據(jù)幀是一樣的,只不過(guò)這種情況下需要重發(fā)同一幀號(hào)的數(shù)據(jù)幀。如果上位機(jī)模塊先發(fā)命令幀,雙方通信的實(shí)現(xiàn)過(guò)程跟圖2-1類(lèi)似,所不同的是數(shù)據(jù)幀此時(shí)變成命令幀,
13、命令幀變成數(shù)據(jù)幀。在延時(shí)的時(shí)間上,無(wú)論是下位機(jī)發(fā)送數(shù)據(jù)幀還是上位機(jī)發(fā)送命令幀,t2的大小都應(yīng)該是一樣的,都是利用時(shí)間間隔t2發(fā)送收方信息幀,延時(shí)的時(shí)間是相同的。然而,對(duì)于t1而方,情況就有所不同。因?yàn)橄挛粰C(jī)模塊先發(fā)送數(shù)據(jù)幀時(shí),利用t1的間隔時(shí)間上位機(jī)模塊發(fā)送的命令幀可靠較少,因此當(dāng)下位機(jī)模塊先發(fā)送數(shù)據(jù)幀時(shí)所定義的t1應(yīng)該小于當(dāng)上位機(jī)模塊先發(fā)送命令幀時(shí),所定義的t1。這是因?yàn)楫?dāng)上位機(jī)模塊先發(fā)送命令幀時(shí),利用t1的間隔時(shí)間下位機(jī)模塊發(fā)送的數(shù)據(jù)幀可能比較多。2.2.2 幀格式GSM模塊通過(guò)異步通信接口實(shí)現(xiàn)對(duì)SMS的控制共有三種接入?yún)f(xié)議:Block Mode;基于AT指令的Text Mode;基于AT
14、指令PDU Mode。本系統(tǒng)發(fā)送和接收的數(shù)據(jù)都是基于數(shù)字的溫度數(shù)據(jù)和命令字,為了保證系統(tǒng)的適用性,SMS的收發(fā)采用TEXT模式。TEXT模式是基于字符的,更具體地說(shuō)是基于ASCII碼的一種結(jié)構(gòu)模式。在該模式下,模塊發(fā)送和接收的信息幀格式如下:幀頭幀序號(hào)數(shù)據(jù)校驗(yàn)子信息幀包括數(shù)據(jù)幀和命令幀。幀頭表示數(shù)據(jù)幀的標(biāo)記,是由固定的字符“WQ”構(gòu)成。幀序號(hào)表示數(shù)據(jù)幀的序號(hào),由兩個(gè)字節(jié)組成。幀序號(hào)表示下位機(jī)模塊發(fā)送的遞增數(shù)據(jù)幀序號(hào)和上位機(jī)模塊發(fā)送的命令幀序號(hào)。為了簡(jiǎn)化幀結(jié)構(gòu),命令幀的序號(hào)統(tǒng)一為00H。數(shù)據(jù)字段的長(zhǎng)度為154字節(jié),最多發(fā)送77個(gè)字符(采用TEXT模式,不能發(fā)送漢字)。檢驗(yàn)子為數(shù)據(jù)字段所有字節(jié)累加
15、和的初碼(原碼取反加1),由一個(gè)字節(jié)組成。除了信息幀外,雙向傳遞的還有應(yīng)答幀,它包括確認(rèn)幀和非確認(rèn)幀。確認(rèn)幀是雙方反饋給發(fā)方的應(yīng)答幀,表示收方已經(jīng)正確接收到了發(fā)方發(fā)送的信息幀。確認(rèn)幀格式僅包括兩個(gè)字段,且兩個(gè)字段的內(nèi)容都是固定的,即幀頭“WQ”和數(shù)據(jù)字段“ACK”,確認(rèn)幀格式如下。WQACK非確認(rèn)幀是收方給發(fā)方的應(yīng)答幀,表示收方收到的是無(wú)效的信息幀,其格式與確認(rèn)幀格式類(lèi)似,幀格式如下。WQNACK2.2.3 EEPROM空間的分配采用8KB的EEPROM,按照每77個(gè)字節(jié)為一個(gè)塊進(jìn)行劃分,共106塊,如圖2-2所示。第00、01塊留作系統(tǒng)使用,第02塊第105塊是數(shù)據(jù)塊,用作存放數(shù)據(jù)。圖2-2
16、 EEPROM空間的分配2.2.4 收發(fā)端與采集端的握手協(xié)議收發(fā)端與采集端共用一個(gè)存儲(chǔ)器,即雙CPU對(duì)同一個(gè)EEPROM進(jìn)行操作。實(shí)現(xiàn)方案是分別使兩個(gè)微處理器的一個(gè)I/O腳相連,兩個(gè)CPU采用查詢(xún)方式對(duì)此I/O端進(jìn)行查詢(xún)。如果某時(shí)候收發(fā)端查詢(xún)到本地I/O端為高電平,則單片機(jī)1擁有此存儲(chǔ)器的操作權(quán),可以對(duì)EEPROM進(jìn)行讀寫(xiě)操作。如果采集端查詢(xún)到本地I/O端為高電平,則單片機(jī)2擁有此存儲(chǔ)器的操作權(quán),可以對(duì)它進(jìn)行寫(xiě)操作。一方操作完畢后將I2C總線置為高電平,表明本端已經(jīng)釋放I2C總線,EEPROM目前處于可用狀態(tài)。2.2.5 程序的設(shè)計(jì)2.2.5.1主函數(shù)的設(shè)計(jì)思路開(kāi)機(jī)上電后,程序在主函數(shù)中運(yùn)行,
17、單片機(jī)和GSM模塊分別進(jìn)行初始化。單片機(jī)的初始化包括設(shè)置串口工作方式、波特率,并初始化變量參數(shù)和標(biāo)志位。GSM模塊初始化包括重新啟動(dòng)、關(guān)閉回顯、設(shè)置在TEXT模式下的返回值中不顯示詳細(xì)的頭信息、選擇短信格式為T(mén)EXT模式、開(kāi)發(fā)串口中斷準(zhǔn)備接收數(shù)據(jù)。2.2.5.2 GSM返回參數(shù)的處理SHELL函數(shù)SHELL函數(shù)是進(jìn)入時(shí)鐘中斷程序時(shí)被調(diào)用時(shí),該函數(shù)是對(duì)GSM模塊返回參數(shù)進(jìn)行處理的函數(shù)。根據(jù)系統(tǒng)設(shè)計(jì)的要求,需要對(duì)GSM模塊進(jìn)行下列操作:呼叫對(duì)方模塊號(hào)碼、發(fā)送數(shù)據(jù)、閱讀短信、刪除短信?;谝陨喜僮髦噶?,如果操作成功GSM模塊會(huì)分別返回不同的參數(shù):>、+CMGS、+CMGR、OK。根據(jù)接收到的不
18、同參數(shù),下位機(jī)模塊將轉(zhuǎn)向不同的操作步驟,判斷并改變標(biāo)志位的值。比如,如果某時(shí)刻接收到>,這表明呼叫對(duì)方模塊號(hào)碼獲得成功,接下來(lái)需要發(fā)送數(shù)據(jù)。這時(shí)SHELL函數(shù)將檢查發(fā)送不同數(shù)據(jù)所代表的標(biāo)志位f_sending、f_ack、f_nack,從而決定需要發(fā)送何種類(lèi)型的數(shù)據(jù)。23短信數(shù)據(jù)的處理ExecData函數(shù)進(jìn)入時(shí)鐘中斷調(diào)用SHELL函數(shù)時(shí),如果接收到了返回的參數(shù)+CMTI,表明上位機(jī)模塊向下位機(jī)模塊發(fā)送了短信數(shù)據(jù),可能是命令幀,也可能是確認(rèn)幀或者非確認(rèn)幀。在這種情況下,SHELL函數(shù)需要對(duì)短信內(nèi)容進(jìn)行分析,并根據(jù)短信的內(nèi)容進(jìn)行不同的處理,負(fù)責(zé)完成以上功能的就是ExecData函數(shù),它是被S
19、HELL函數(shù)調(diào)用的,用來(lái)分析并處理短信數(shù)據(jù)。第3節(jié) 系統(tǒng)硬件介紹31系統(tǒng)核心部分-閃電存儲(chǔ)型器件AT89C51單片機(jī)AT89C51有內(nèi)部RAM,可以作為各種數(shù)據(jù)區(qū)使用,內(nèi)部閃電存儲(chǔ)器存放數(shù)字時(shí)鐘的控制程序。它的主要功能是控制74LS138和74LS47,實(shí)現(xiàn)對(duì)LED顯示器的位控和段控,完成時(shí)間的轉(zhuǎn)換計(jì)算,并把計(jì)算的時(shí)間轉(zhuǎn)換到相應(yīng)的顯示段碼,控制LED顯示器以動(dòng)態(tài)掃描方式進(jìn)行時(shí)、分、秒的顯示。AT89系列單片機(jī)是ATMEL公司生產(chǎn)的。這是當(dāng)前最新的一種電擦寫(xiě)8位單片機(jī),與MCS-51系列完全兼容,有超強(qiáng)的加密功能,可完全替代87C51/52和8751/52。與87C51相比,AT89系列的優(yōu)越性
20、在于,其片內(nèi)閃電存儲(chǔ)器的編程與擦除完全用電實(shí)現(xiàn);數(shù)據(jù)不易揮發(fā),可保存10年;編程/擦除速度快,全4K字節(jié)編程只需時(shí)3s,擦除時(shí)間約用10ms;AT89系列了實(shí)現(xiàn)在線編程;也可借助電話(huà)線進(jìn)行遠(yuǎn)距離編程。AT89C51是一種低功耗、高性能內(nèi)含4K字節(jié)閃電存儲(chǔ)器(Flash Memory)的8位CMOS微控制器。這種器件系以ATMEL高密度不揮發(fā)存儲(chǔ)技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和引腳完全兼容。片內(nèi)閃電存儲(chǔ)器的程序代碼或數(shù)據(jù)可在線寫(xiě)入,亦可通過(guò)常規(guī)的編程器編程。例如,MP-100這樣一種經(jīng)濟(jì)型的編程器,它支持通用EPROM等各種存儲(chǔ)器、PAL、GAL以及INTEL、ATMEL和PHILIP
21、S等各公司的全系列51單片機(jī)的編程。ME5103和ME5105仿真器支持AT89系列所有器件的調(diào)試、仿真和編程。3.1.189C51具有下列主要性能: 4KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1,000次的寫(xiě)入/擦除周期)全靜態(tài)工作:0Hz24MHz三級(jí)程序存儲(chǔ)器保密 128 X 8字節(jié)內(nèi)部RAM 32條可編程I/O線 2個(gè)16位定時(shí)器/計(jì)數(shù)器 6個(gè)中斷源可編程串行通道片內(nèi)時(shí)鐘振蕩器另外,89C51是用靜態(tài)邏輯來(lái)設(shè)計(jì)的,其工作頻率可下降到0 Hz,并提供兩種可用軟件來(lái)選擇的省電方式空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM
22、、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。3.1.289C51的引腳及功能3.1.2.1 主要電源引腳 Vcc 電源端 GND 接地端3.1.2.2 外接晶體引腳XTAL1和XTAL2 XTAL1 接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號(hào),既把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。 XTAL2 接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),此引腳應(yīng)
23、懸浮不連接。3.1.2.3 控制或與其它電源復(fù)用引腳RST、ALE/PROG、/PSEN和/EA/Vpp RES 復(fù)位輸入端。 當(dāng)振蕩器運(yùn)行時(shí),在該引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。 ALE/PROG 當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。在對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(/PROG)。如果需要的話(huà),通過(guò)對(duì)專(zhuān)用寄存器(SF
24、R)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會(huì)被激活。另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定禁止ALE位無(wú)效。 /PSEN 程序存儲(chǔ)允許(/PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)80C51由外部程序存儲(chǔ)器取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次/PSEN有效(既輸出2個(gè)脈沖)。但在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/Vpp 外部訪問(wèn)允許端。要使CPU只訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),則/EA端必須保持低電平(接到GND端)。然而要注意的是,如果保
25、密位LB1被編程,復(fù)位時(shí)在內(nèi)部會(huì)鎖存/EA端的狀態(tài)。當(dāng)/EA端保持高電平(接Vcc端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序,并可延續(xù)至外部程序存儲(chǔ)器。在Flash存儲(chǔ)器編程期間,該引腳也用于施加12V的編程允許電源Vpp(如果選用12V編程)。3.1.2.4輸入/輸出引腳 P0.0 P0.7、P10.P1.7、P2.0 P2.7 和P3.0P3.7P0端口(P0.0 P0.7) P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL輸入,對(duì)端口寫(xiě)1時(shí),又可作高阻抗輸入端用。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期
26、間激活了內(nèi)部的上拉電阻。在Flash編程時(shí),P0端口接收指令字節(jié);而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。P1端口(P1.0 P1.7) P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。作輸入口時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在對(duì)Flash編程和程序驗(yàn)證時(shí),P1接收低8位地址。P2端口 (P2.0P2.7) P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)
27、端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX DPIR指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI指令)時(shí),P2口引腳上的內(nèi)容(就是專(zhuān)用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。在對(duì)Flash編程和程序驗(yàn)證期間,P2也接收高位地址和一些控制信號(hào)。P3端口(P3.0P3.7) P3 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4
28、個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在89C51中,P3端口還用于一些專(zhuān)門(mén)功能,這些兼用功能見(jiàn)表3-1表 31 P3端口兼用功能表 端口引腳 兼 用 功 能 P3.0RXD (串行輸入口) P3.1TXD (串行輸出口) P3.2/INT0 (外部中斷0) P3.3/INT1 (外部中斷1) P3.4T0 ( 定時(shí)器/計(jì)數(shù)器0的外部輸入) P3.5T1 (定時(shí)器/計(jì)數(shù)器1的外部輸入) P3.6/WR (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7/RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)在
29、對(duì)Flash編程和程序驗(yàn)證時(shí),P3還接收一些控制信號(hào)。3.1.3Flash存儲(chǔ)器的編程和程序校驗(yàn):AT89C51單片機(jī)內(nèi)部有一個(gè)4K字節(jié)的Flash PEROM。這個(gè)Flash存儲(chǔ)陣列通常是處于已擦除狀態(tài)(既存儲(chǔ)單元的內(nèi)容為FFH),隨時(shí)可對(duì)它進(jìn)行編程。編程接口可接收高電壓(12V)或低電壓(Vcc)的允許編程信號(hào)。低電壓編程方式可很方便地對(duì)AT89C51內(nèi)的用戶(hù)系統(tǒng)進(jìn)行編程;而高電壓編程方式則可與通用的EPROM編程器兼容。AT89C51的程序存儲(chǔ)器陣列是采用字節(jié)寫(xiě)入方式編程的,既每次寫(xiě)入一個(gè)字節(jié)。要對(duì)片內(nèi)的PEROM程序存儲(chǔ)器寫(xiě)入任何一個(gè)非空字節(jié),都必須用片擦除方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。
30、3.1.3.1 對(duì)Flash存儲(chǔ)器編程編程前,必須建立好地址、數(shù)據(jù)和相應(yīng)的控制信號(hào)。編程單元的地址加在P1端口和P2端口的P2.0P2.3(11位地址為0000H0FFFH),數(shù)據(jù)從P0端口輸入。引腳P2.6、P2.7和P3.6、P3.7的電平選擇見(jiàn)表2。/PSEN應(yīng)保持低電平,而RST應(yīng)保持高電平。/EA/VPP是編程電源的輸入端,按要求加入編程電壓。ALE/PROG端輸入編程脈沖(應(yīng)為負(fù)脈沖信號(hào))。編程時(shí),采用420 MHz的振蕩器。對(duì)AT89C51編程的步驟如下:在地址線上輸入要編程單元的地址。在數(shù)據(jù)線上輸入要寫(xiě)入的數(shù)據(jù)字節(jié)。激活相應(yīng)的控制信號(hào)。在采用高電壓編程方式時(shí),將/EA/VPP端
31、的電壓加到12V。每對(duì)Flash存儲(chǔ)陣列寫(xiě)入一個(gè)字節(jié)或每寫(xiě)入一個(gè)程序加密位,加一個(gè)ALE/PROG編程脈沖。改變編程單元的地址和要寫(xiě)入的數(shù)據(jù),重復(fù)上述步驟,直到全部文件編程完畢。每個(gè)字節(jié)寫(xiě)入周期是自動(dòng)定時(shí)的,通常不大于1.5ms。數(shù)據(jù)查詢(xún)方式AT89C51單片機(jī)用數(shù)據(jù)查詢(xún)方式來(lái)檢測(cè)一個(gè)寫(xiě)周期是否結(jié)束。在一個(gè)寫(xiě)周期期間,如果想讀出最后寫(xiě)入的哪個(gè)字,則讀出數(shù)據(jù)的最高位(P0.7)是原來(lái)寫(xiě)入字節(jié)最高位的反碼。寫(xiě)周期一旦完成后,有效的數(shù)據(jù)就會(huì)出現(xiàn)在所有輸出端上,這時(shí)可開(kāi)始下一個(gè)寫(xiě)周期。一個(gè)寫(xiě)周期開(kāi)始后,可在任何時(shí)間開(kāi)始進(jìn)行數(shù)據(jù)查詢(xún)。 準(zhǔn)備就緒/忙信號(hào)字節(jié)編程的過(guò)程也可通過(guò)RDY/BSY輸出信號(hào)來(lái)監(jiān)視。
32、在編程期間,當(dāng)ALE變?yōu)楦唠娖胶螅琍3.4(RDY/BSY)端的電平被拉低,表示忙(正在編程)狀態(tài)。編程完畢后,P3.4的電平變高表示就緒狀態(tài)。3.1.3.2程序的校驗(yàn) 如果加密位LB1和LB2沒(méi)有被編程,那么就可以對(duì)AT89C51內(nèi)部已編好的程序進(jìn)行校驗(yàn)。程序存儲(chǔ)器的地址仍由P1端口和P2端口的P2.0P2.3輸入,數(shù)據(jù)由P0端口輸入。/PSEN保持低電平,而ALE、/EA和RST保持高電平。校驗(yàn)時(shí),在P0端口上要求外接約10K左右的上拉電阻。程序加密位不能直接校驗(yàn)。加密位的校驗(yàn)可通過(guò)觀察它們的功能是否被允許來(lái)進(jìn)行。32 GSM模塊MZ28MZ28是中興通訊推出的GSM無(wú)線雙頻調(diào)制解調(diào)器,主
33、要為語(yǔ)音傳輸、短信發(fā)送和數(shù)據(jù)業(yè)務(wù)提供無(wú)線接口。MZ28集成了完整的射頻電路和GSM的基帶處理器,特別適合于迅速開(kāi)發(fā)基于GSM無(wú)線網(wǎng)絡(luò)的無(wú)線應(yīng)用產(chǎn)品。帶有人機(jī)接口(MMI)界面的應(yīng)用產(chǎn)品內(nèi)部與MZ28的通信可通過(guò)標(biāo)準(zhǔn)的串行接口(RS232)進(jìn)行。MZ28使用簡(jiǎn)單的20-PIN ZIP插座與用戶(hù)自己的應(yīng)用系統(tǒng)相連,此ZIP連接方式提供開(kāi)發(fā)所需的數(shù)據(jù)通信、音頻和電源等接口信號(hào)。MZ28可以作為無(wú)線引擎,嵌入到用戶(hù)自己的產(chǎn)品當(dāng)中,用戶(hù)可以用單片機(jī)或其它CPU的UART口,使用相應(yīng)的AT命令,對(duì)模塊進(jìn)行控制,達(dá)到使其產(chǎn)品可以輕松進(jìn)入GSM網(wǎng)絡(luò)的目的。33單片機(jī)MSC1210在許多傳統(tǒng)行業(yè)中,多路高精度溫
34、度采集系統(tǒng)是不可或缺的。電廠、石化行業(yè)、鋼鐵廠以及制藥廠等企業(yè)使用了大量的各類(lèi)測(cè)溫器件,如熱電阻、熱電偶等,這些器件需要定期校準(zhǔn);在嚴(yán)格執(zhí)行GMP規(guī)范的制藥廠等企業(yè),高溫滅菌需要定期進(jìn)行滅菌率的驗(yàn)證;在某些要求進(jìn)行嚴(yán)格的溫度控制的場(chǎng)合,也需要進(jìn)行多點(diǎn)高精度溫度測(cè)量。這些工作往往需要一多路高精度測(cè)溫系統(tǒng)來(lái)完成。德州儀器(TI)的MSC1210單片機(jī)解決了上述問(wèn)題。它集成了一個(gè)增強(qiáng)型8051內(nèi)核、高達(dá)33 MHz的時(shí)鐘周期、8路24位高精度-A/D轉(zhuǎn)換器、Flash存儲(chǔ)器等.3.3.1MSC1210具有以下主要特性: 3個(gè)16位的定時(shí)器,16位PWM波輸出; 多達(dá)21個(gè)中斷源; 32個(gè)數(shù)字輸入/輸
35、出端口,帶有看門(mén)狗; 8路ADC提供24位分辨率可編程的無(wú)丟失碼解決方案; 可編程增益放大(PGA)在1128之間可調(diào),極大提高了ADC精度; 供電電源2.75.25 V,在3 V時(shí)功耗低于4 mW,停止方式電流小于1A; 內(nèi)核兼容8051,指令與8051完全兼容,可以使用原有8051開(kāi)發(fā)系統(tǒng); 時(shí)鐘頻率可達(dá)33 MHz,單周期指令執(zhí)行速度達(dá)8 MIPS,執(zhí)行速度比標(biāo)準(zhǔn)8051快3倍; 高達(dá)32 KB的Flash存儲(chǔ)器,SRAM達(dá)1.2 KB,外部可擴(kuò)展至64 KB存儲(chǔ)器; Flash在電壓低達(dá)2.7 V時(shí)仍可串行或并行編程,可10萬(wàn)次擦除/寫(xiě)操作; 具有32位累加器; 有電源管理功能,能夠進(jìn)
36、行低電壓檢測(cè),在片上電復(fù)位; 帶FIFO的SPI端口,雙UART; 64TQFP封裝,MSC1210系列的硬件和引腳完全兼容,必要時(shí)可以互換。3.3.2. MSC1210的增強(qiáng)功能作為智能高精度測(cè)溫模塊的核心,MSC1210完成了微弱信號(hào)的多路切換、信號(hào)緩沖、PGA編程放大、24位-A/D轉(zhuǎn)換、數(shù)字濾波、數(shù)據(jù)處理、信號(hào)校準(zhǔn)以及SPI通訊等功能。MSC1210集成了一個(gè)8通道24位-A/D轉(zhuǎn)換器,采用8051兼容內(nèi)核。與ADuC824相比,其有如下增強(qiáng)的功能:3.3.2.1 CPU工作頻率可達(dá)33MHz,每條指令只需4個(gè)時(shí)鐘周期,運(yùn)算速度較快。3.3.2.2采用非常靈活的FLASH與SRAM存儲(chǔ)
37、器配置,可以對(duì)片上FLASH進(jìn)行分區(qū),根據(jù)需要設(shè)定程序FLASH與數(shù)據(jù)SRAM所占的比例。改寫(xiě)次數(shù)可達(dá)一百萬(wàn)次,數(shù)據(jù)可保存100年。3.3.2.3片上RAM為1280B,有34個(gè)高電流驅(qū)動(dòng)I/O,可以設(shè)外部存儲(chǔ)器的存取時(shí)間,使用雙數(shù)據(jù)指針提高存取速度,具有完善的節(jié)電功能,還有電壓監(jiān)視器、21個(gè)中斷源、3個(gè)16位定時(shí)器計(jì)數(shù)器以及內(nèi)部時(shí)間間隔計(jì)數(shù)器(TIC)。3.3.2.4自帶BOOT ROM,可以調(diào)試使用或在程序中調(diào)用內(nèi)置固化程序,完成在線調(diào)試、數(shù)據(jù)采集、UART通訊以及讀寫(xiě)FLASH等工作,方便了編程以及調(diào)試。3.3.2.5片上24位-ADC具有一些增強(qiáng)特性:8位輸入通道可以任意配置為單端或差
38、分輸入;有快速、Sinc2、Sinc3三種數(shù)字濾波,同時(shí)有自動(dòng)數(shù)字濾波功能,可以加快A/D轉(zhuǎn)換輸出;帶PGA偏置DAC,可以不引入額外誤差而擴(kuò)大測(cè)量范圍;自帶一個(gè)32位累加器,可以對(duì)ADC輸出數(shù)據(jù)作快速平均處理。3.3.2.6自帶高精度電壓標(biāo)準(zhǔn),精度為0.2%,漂移為5ppm/,可以節(jié)省空間以及器件成本,也可輸出該電壓標(biāo)準(zhǔn)或外接電壓標(biāo)準(zhǔn)。3.3.2.7片上16位PWM,可以作為DAC輸出來(lái)源。3.3.2.8增強(qiáng)的SPI接口可以使用DMA方式傳輸數(shù)據(jù),在DMA方式下,可以間接尋址RAM,設(shè)定多達(dá)128B的發(fā)送接收FIFO;具有完整的端口驅(qū)動(dòng)以及發(fā)送接收中斷設(shè)定,適合大批量的數(shù)據(jù)傳輸:,同時(shí)點(diǎn)用C
39、3.3.3. 使用注意事項(xiàng)3.3.3.1 MSC1210片內(nèi)FLASH分區(qū)只能通過(guò)對(duì)HCR0以及HCR1這兩個(gè)硬件配置寄存器事先編程來(lái)進(jìn)行,在程序運(yùn)行過(guò)程中無(wú)法設(shè)定或更改分區(qū)比例。在程序運(yùn)行中讀寫(xiě)FLASH時(shí),要注意讀寫(xiě)地址與調(diào)試時(shí)的地址不同,具體應(yīng)參考存儲(chǔ)器分配表;用戶(hù)程序無(wú)法直接讀寫(xiě)FLASH,調(diào)用BOOT ROM中的讀寫(xiě)函數(shù)來(lái)進(jìn)行;與AVR等芯片的EEPROM不同,寫(xiě)入FLASH之前必須先進(jìn)行擦除操作,BOOT ROM中有可調(diào)和場(chǎng)擦除子程序,可以在匯編或C程序中調(diào)用。3.3.3.2 在做A/D轉(zhuǎn)換時(shí),每次更改PGA放大倍數(shù)需要重新校準(zhǔn),在需要頻繁切換輸入通道的場(chǎng)合,建議設(shè)定特殊寄存器AD
40、CON1的SM10位為00,即進(jìn)入自動(dòng)模式數(shù)字濾波。這樣當(dāng)通道切換后,隨著A/D采樣次數(shù)的增強(qiáng),數(shù)據(jù)濾波依次為快速轉(zhuǎn)換、Sinc2、Sinc3數(shù)字濾波,可以最大限度地提高轉(zhuǎn)換速度和轉(zhuǎn)換精度。3.3.3.3 BOOT ROM中固化的程序?qū)τ贛SC1210的編程和調(diào)試非常關(guān)鍵,其中部分可以在用戶(hù)程序中直接調(diào)用,完成數(shù)據(jù)采集、UART輸入輸出等重要功能。可以通過(guò)串口或并口進(jìn)行編程。3.3.3.4使用TI提供的下載工具及調(diào)試終端,可以對(duì)MSC1210實(shí)現(xiàn)在線調(diào)試。這種調(diào)試會(huì)占用UARTO資源,同時(shí)輔助中斷的入口地址也有變化,這在編程時(shí)需要注意。也可以利用Windows自帶的超級(jí)終端進(jìn)行調(diào)試。與TI終端
41、不同,Windows超級(jí)終端不能自動(dòng)初始化MSC1210使之進(jìn)入調(diào)試狀態(tài),需要人工進(jìn)行調(diào)試復(fù)位。3.3.4. 片內(nèi)存儲(chǔ)器MSC1210包括片上1.2 KB SRAM ,256字節(jié)DARAM,2KB啟動(dòng)ROM,32 KB Flash存儲(chǔ)器。MSC1210用內(nèi)存尋址表來(lái)區(qū)分程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間。程序空間由單片機(jī)自動(dòng)讀取,通過(guò)指令MOVC來(lái)讀程序空間;數(shù)據(jù)空間通過(guò)指令MOVX來(lái)讀寫(xiě)。當(dāng)片上存儲(chǔ)使能時(shí),在片內(nèi)范圍內(nèi)的讀寫(xiě)將在片內(nèi)存儲(chǔ)器上進(jìn)行,片外存儲(chǔ)器通過(guò)P0和P2尋址來(lái)實(shí)現(xiàn)。HCR1寄存器的第0位和第1位設(shè)為0就可以訪問(wèn)外部存儲(chǔ)器,此時(shí)可以通過(guò)P0和P2口訪問(wèn)所有片內(nèi)和片外存儲(chǔ)空間。為了安全起
42、見(jiàn),在訪問(wèn)片內(nèi)存儲(chǔ)器期間,P0口全部置位為0。MSC1210包含1.2 KB片上SRAM。SRAM起始地址位“0”,通過(guò)MOVX指令讀寫(xiě)。SRAM也可以從8400H開(kāi)始,既可作程序空間又可作數(shù)據(jù)空間。MSC1210有256字節(jié)DARAM,地址為0000H00FFH,其中128字節(jié)為128個(gè)SFR,地址為0080H00FFH。SFR寄存器用做控制和狀態(tài),標(biāo)準(zhǔn)的8051功能和MSC1210的附加功能是通過(guò)SFR實(shí)現(xiàn)的。從沒(méi)有定義的SFR寄存器將得到“0”,寫(xiě)入沒(méi)有定義過(guò)的SFR得到的結(jié)果無(wú)法確定。DARAM的另一個(gè)用途,是通過(guò)SFR的堆棧指針作為堆棧使用。在串行或并行編程時(shí),有2KB啟動(dòng)ROM控制
43、運(yùn)行。在用戶(hù)模式下,BOOT ROM位于F800HFFFFH;在編程模式下,BOOT ROM位于程序空間的起始2K。Flash存儲(chǔ)器既可用做程序存儲(chǔ)空間又可用做數(shù)據(jù)存儲(chǔ)空間,用戶(hù)可以靈活配置程序和數(shù)據(jù)存儲(chǔ)空間的大小。分區(qū)大小通過(guò)硬件配置位來(lái)確定,可以通過(guò)串行或并行的方式來(lái)編程確定。在用戶(hù)應(yīng)用模式下,程序和數(shù)據(jù)Flash存儲(chǔ)空間都可讀可寫(xiě)。3.3.5Flash編程應(yīng)用可編程的Flash存儲(chǔ)器分為4個(gè)部分:128字節(jié)的配置部分、復(fù)位向量、程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間。Flash編程模式有串行和并行兩種模式,通過(guò)上電復(fù)位過(guò)程當(dāng)中的ALE和信號(hào)狀態(tài)確定。當(dāng)ALE=1,=0時(shí),選擇串行編程模式;當(dāng)ALE=
44、0,=1時(shí),選擇并行編程模式。當(dāng)ALE和都為高電平時(shí),MSC1210運(yùn)行在用戶(hù)模式下;當(dāng)ALE和都為低電平時(shí),MSC1210沒(méi)有定義。MSC1210的Flash存儲(chǔ)器初始值全部為“1”,并行編程模式包括一個(gè)專(zhuān)用的編程器,串行編程方式通常為在線編程,用戶(hù)應(yīng)用模式允許對(duì)Flash程序和數(shù)據(jù)存儲(chǔ)器編程。對(duì)Flash編程的實(shí)際代碼不能從Flash執(zhí)行,而必須從BOOT ROM或RAM處開(kāi)始執(zhí)行。MSC1210有兩個(gè)硬件配置存儲(chǔ)器(HCR0、HCR1),在Flash編程模式下可編程。用戶(hù)通過(guò)對(duì)這兩個(gè)存儲(chǔ)器編程可以在程序存儲(chǔ)空間(PM)和數(shù)據(jù)存儲(chǔ)空間(DM)之間定義分區(qū),如表3-2所列。表3-2 MSC1
45、210的Flash分區(qū)HCR0MSC1210Y2MSC1210Y3MSC1210Y4MSC1210Y5DFSELPM/KBDM/KBPM/KBDM/KBPM/KBDM/KBPM/KBDM/KB0000408-0010408-03201004080161616011040888248100044412428410122621423021103171151311111(缺省)4080160320注:當(dāng)程序空間選擇0KB時(shí),程序在片外執(zhí)行;"一"表示保留。用戶(hù)可以通過(guò)MOVX指令來(lái)讀寫(xiě)Flash存儲(chǔ)器,而不論Flash存儲(chǔ)器是被定義為程序存儲(chǔ)器還是數(shù)據(jù)存儲(chǔ)器。這意味著用戶(hù)可以將全
46、部空間分為程序存儲(chǔ)空間,并將程序空間當(dāng)數(shù)據(jù)存儲(chǔ)空間用。當(dāng)PC指針指向的程序空間實(shí)際上存放的是數(shù)據(jù)時(shí),將會(huì)導(dǎo)致不可預(yù)知的后果。因此,當(dāng)要用Flash存儲(chǔ)數(shù)據(jù)時(shí),一定要求使用Flash分區(qū),F(xiàn)lash分區(qū)禁止在數(shù)據(jù)存儲(chǔ)空間執(zhí)行程序。同樣,也禁止程序空間的擦寫(xiě)而允許在數(shù)據(jù)存儲(chǔ)空間讀寫(xiě)。3.3.6. 內(nèi)核兼容8051但速度更快功能更強(qiáng)MSC1210系列的所有指令功能與標(biāo)準(zhǔn)8051相同,對(duì)位、標(biāo)志和寄存器的影響相同,但時(shí)序不同。MSC120單片機(jī)使用精簡(jiǎn)的8051內(nèi)核,在同樣的外部時(shí)鐘作用下,其執(zhí)行速度比標(biāo)準(zhǔn)8051快1.53倍(每條指令有4個(gè)時(shí)鐘周期與12個(gè)時(shí)鐘周期的區(qū)別)。在同樣的指令和時(shí)鐘下,速度
47、提高到2.5倍以上。因此,一個(gè)時(shí)鐘為33 MHz的MSC1210執(zhí)行速度與一個(gè)時(shí)鐘為82.5 MHz的標(biāo)準(zhǔn)8051相同,其區(qū)別可以從圖2看出;而且MSC1210的定時(shí)器和計(jì)數(shù)器可以選擇每12個(gè)或4個(gè)時(shí)鐘周期計(jì)數(shù)一次。MSC1210提供了雙數(shù)據(jù)指針(DPTR)加速數(shù)據(jù)塊的移動(dòng)速度,它能根據(jù)外部存儲(chǔ)器的速度調(diào)節(jié)讀寫(xiě)速度,在29個(gè)指令周期之間變化;它還提供給外部存儲(chǔ)器16位地址總線(P0和P2)。低位地址通過(guò)P0口復(fù)用得到,硬件可以控制P0和P2口是作為地址線還是作為通用的I/O。為了更好地提高效率,外圍設(shè)備也在8051基礎(chǔ)上作了改進(jìn)。如SPI端口就增加了FIFO,使得傳輸數(shù)據(jù)有了緩沖區(qū)間。32位累
48、加器的使用在處理ADC采樣或其它數(shù)據(jù)源來(lái)的多字節(jié)數(shù)據(jù)時(shí)將大大減輕CPU的負(fù)擔(dān),使得24位加法和移位可以在幾個(gè)指令周期內(nèi)完成,而無(wú)需通過(guò)軟件用數(shù)百個(gè)指令周期來(lái)完成。MSC1210系列的硬件和引腳完全兼容,對(duì)用戶(hù)而言,唯一的區(qū)別在于內(nèi)存配置不同。MSC1210Y2上編寫(xiě)的程序代碼可以直接在MSC1210Y3、MSC1210Y4、MSC1210Y5上執(zhí)行。用戶(hù)可以在軟件功能上增減并配以不同的CPU型號(hào),MSC1210已成為一個(gè)擁有幾個(gè)不同應(yīng)用平臺(tái)的標(biāo)準(zhǔn)設(shè)備。MSC1210的開(kāi)發(fā)工具與8051的開(kāi)發(fā)系統(tǒng)完全兼容,用戶(hù)可以使用原有的8051開(kāi)發(fā)系統(tǒng),也可以使用DEMO板帶的開(kāi)發(fā)系統(tǒng)或者第三方支持者提供的
49、開(kāi)發(fā)工具。第4節(jié) SMS的體系結(jié)構(gòu)GSM標(biāo)準(zhǔn)中定義的點(diǎn)-點(diǎn)短消息服務(wù)使得短消息能在移動(dòng)臺(tái)和短消息服務(wù)中心之間傳遞。這些服務(wù)中心是通過(guò)稱(chēng)為SMS- GMSC的特定MSC同GSM網(wǎng)絡(luò)聯(lián)系的。SME:Short Messaging Entity,短消息實(shí)體。它可以接收或改善短消息,位于固話(huà)系統(tǒng)、移動(dòng)基站或其他服務(wù)中心內(nèi); SMSC:Short Message Service Center,短消息服務(wù)中心,負(fù)責(zé)在基站和SME間中繼、儲(chǔ)存或轉(zhuǎn)發(fā)短消息;移動(dòng)臺(tái)(ME)到SMSC的協(xié)議能傳輸來(lái)自移動(dòng)臺(tái)或朝向移動(dòng)臺(tái)的短消息,協(xié)議名為SMTP(Short Message Transmission Protoco
50、l); SMCGWMS或SMCGMSC:SMS-Gateway MSC,SMS網(wǎng)關(guān)。接收由SMSC發(fā)送的短消息,向HLR查詢(xún)路由信息,并將短消息傳送給接收者所在基站的交換中心; HLR:Home Location Register,歸屬位置寄存器。用于永久儲(chǔ)存管理用戶(hù)和服務(wù)記錄的數(shù)據(jù)庫(kù),由SMSC產(chǎn)生。SMS網(wǎng)關(guān)與HLR之間的協(xié)議使前者可以要求HLR搜索可找到的用戶(hù)地址。它與MSC與HLR之間的協(xié)議一起,能在移動(dòng)臺(tái)因超出覆蓋區(qū)而丟失報(bào)文、隨后又可找到時(shí)加以提示。 MSC:Mobile Switching Center,移動(dòng)交換中心。負(fù)責(zé)系統(tǒng)切換管理并控制來(lái)自或發(fā)向其他電話(huà)或數(shù)據(jù)系統(tǒng)的拔叫。VL
51、R:Visitor Location Register:,訪問(wèn)位置寄存器。含有用戶(hù)臨時(shí)信息的數(shù)據(jù)庫(kù)。交換中心服務(wù)訪問(wèn)用戶(hù)時(shí)需要這些信息。·移動(dòng)起始短消息:Mobile Originated Short Message。 一個(gè)GSM用戶(hù)發(fā)送短消息時(shí),他必須至少在其內(nèi)容中包含最終地址的識(shí)別符,和處理這消息的服務(wù)中心號(hào)碼,然后請(qǐng)求傳遞。 短消息的傳輸要求在移動(dòng)臺(tái)和MSC之間建立信令連接。消息本身的傳遞要求在無(wú)線路徑上建立專(zhuān)用的鏈路層鏈接,并要求采用專(zhuān)用的消息傳遞協(xié)議。在規(guī)定的協(xié)議棧的頂部是所謂的傳輸層協(xié)議,在移動(dòng)起始短消息情形下,它是一條單獨(dú)的報(bào)文,即SMTP(不是TCP/IP的SMTP)
52、短消息傳送報(bào)文,低層處理應(yīng)答的傳送,它只指出SMSC已收到報(bào)文。 ·移動(dòng)終接短消息:Mobile Terminated Short Message。 目的地為GSM用戶(hù)的短消息必須首先從發(fā)送方路由至短消息服務(wù)中心,然后再被路由至實(shí)際地址。 當(dāng)SMSC有短消息需發(fā)送到其某一GSM用戶(hù)時(shí),它建立一條包含各種利于接收者的信息的SMS-DELIVER報(bào)文。此信息包括用戶(hù)的內(nèi)容,最初的發(fā)送者身份及用于批示短消息已被SMSC接收的時(shí)間標(biāo)記。與MO情形相似,SMS-DELIVER報(bào)文將在各種接口上傳送。 在達(dá)到目的地前,報(bào)文的實(shí)際路由必須利用MAP/C查詢(xún)功能獲得,采用的是如下方法:SMSC將短消
53、息傳到與服務(wù)中心相連的SMS網(wǎng)關(guān),網(wǎng)關(guān)的選擇依賴(lài)于它想到在的用戶(hù),因?yàn)橥ǔ>W(wǎng)關(guān)僅能處理某些用戶(hù)(某家營(yíng)運(yùn)商或某個(gè)國(guó)家的用戶(hù))。這樣,用戶(hù)通過(guò)目錄號(hào)(一般同電話(huà)一樣)來(lái)識(shí)別,這些目錄號(hào)最初是由短消息發(fā)送者輸入的,這使得SMS網(wǎng)關(guān)能識(shí)別有關(guān)的HLR并查詢(xún)它。查詢(xún)是通過(guò)發(fā)送一個(gè)專(zhuān)用報(bào)文,即用于短消息的MAP/C SEND ROUTING INFOR報(bào)文來(lái)實(shí)現(xiàn);對(duì)其應(yīng)答既可采用包含用戶(hù)正在訪問(wèn)的MSC/VLR的SS7地址的MAP/C SEND ROUNTING INFO FOR SHORT MESSAGE RESULT報(bào)文,又可當(dāng)已知用戶(hù)此時(shí)不可到達(dá)時(shí)采用拒絕報(bào)文。SMS由幾個(gè)與提交或接收相關(guān)的服務(wù)要
54、素組成,如:有效期(在將短消息成功送達(dá)用戶(hù)前SMSC需要保證的儲(chǔ)存時(shí)間),優(yōu)先性。此外,短消息還提供提交消息的時(shí)間、告訴移動(dòng)臺(tái)是否還有更多消息要發(fā)送,以及還有多少條消息要發(fā)送等。 短消息不可到達(dá) 短消息不可到達(dá)的情況有三種: ·當(dāng)被SMS網(wǎng)關(guān)查詢(xún)時(shí),移動(dòng)臺(tái)不在服務(wù)區(qū)域、未獲得服務(wù)授權(quán)、或有未成功發(fā)送報(bào)文正等待告警,HLR就會(huì)立即知道不能發(fā)送; ·第二種情形是,MSC/VLR已收到報(bào)文但不能傳送的情況。此時(shí),它先向SMS網(wǎng)關(guān)發(fā)送一故障指示,作為MAP/H FORWARD SHORT MESSAGE報(bào)文的應(yīng)答;然后,網(wǎng)關(guān)一方面會(huì)向SMSC發(fā)送否定報(bào)告,另一方面向HLR發(fā)送MAP/C SET MESSAGE WAITING DATA報(bào)文,在收到報(bào)文確認(rèn)后進(jìn)行表格更新。該事件會(huì)儲(chǔ)存在VLR和HLR內(nèi)的用戶(hù)記錄中; 第三種情況是MSC/VLR向用戶(hù)發(fā)送有效報(bào)文后發(fā)現(xiàn)不可送達(dá)。第5節(jié) SMS應(yīng)用新領(lǐng)域隨著社會(huì)不斷進(jìn)步發(fā)展,SMS在各個(gè)領(lǐng)域都起著及其重要的作用,最近,經(jīng)濟(jì)學(xué)家提出了SMS在金融CRM中的應(yīng)用51 SMS在銀行中間業(yè)務(wù)領(lǐng)域中的通知功能商業(yè)銀行在運(yùn)營(yíng)中間業(yè)務(wù)的過(guò)程中,常常會(huì)遇到如下問(wèn)題:客戶(hù)還貸不及時(shí);信用卡用戶(hù)擔(dān)心賬戶(hù)資金安全問(wèn)題;用戶(hù)賬號(hào)出現(xiàn)被盜用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 盲文印刷員發(fā)展趨勢(shì)強(qiáng)化考核試卷含答案
- 間苯二酚裝置操作工崗前技術(shù)創(chuàng)新考核試卷含答案
- 熱帶作物初制工崗前評(píng)審考核試卷含答案
- 護(hù)林員班組協(xié)作測(cè)試考核試卷含答案
- 隔離層制備工安全生產(chǎn)知識(shí)測(cè)試考核試卷含答案
- 船舶氣焊工風(fēng)險(xiǎn)識(shí)別測(cè)試考核試卷含答案
- 2024年浮山縣選聘縣直事業(yè)單位工作人員真題匯編附答案
- 2024年湖北汽車(chē)工業(yè)學(xué)院科技學(xué)院輔導(dǎo)員考試參考題庫(kù)附答案
- 超市運(yùn)營(yíng)管理操作手冊(cè)
- 2024年焦作職工醫(yī)學(xué)院輔導(dǎo)員考試參考題庫(kù)附答案
- 《智慧水電廠建設(shè)技術(shù)規(guī)范》
- GB/T 46275-2025中餐評(píng)價(jià)規(guī)范
- 2025年6月大學(xué)英語(yǔ)四級(jí)閱讀試題及答案
- 信訪工作系列知識(shí)培訓(xùn)課件
- 壓力變送器拆校課件
- 2025年高考真題分類(lèi)匯編必修二 《經(jīng)濟(jì)與社會(huì)》(全國(guó))(原卷版)
- 2026屆高考英語(yǔ)二輪復(fù)習(xí):2025浙江1月卷讀后續(xù)寫(xiě) 課件
- 2.3.2 中國(guó)第一大河-長(zhǎng)江 課件 湘教版地理八年級(jí)上冊(cè)
- 2025貴州省某大型國(guó)有企業(yè)招聘光伏、風(fēng)電項(xiàng)目工作人員筆試備考題庫(kù)及答案解析
- 導(dǎo)致老年人跌倒的用藥風(fēng)險(xiǎn)研究
- GB 21256-2025粗鋼生產(chǎn)主要工序單位產(chǎn)品能源消耗限額
評(píng)論
0/150
提交評(píng)論