版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄第一章緒論 31.1課題研究背景 31.2智能門禁系統(tǒng)在國內(nèi)外的研究現(xiàn)狀 41.3課題主要研究內(nèi)容及結(jié)構(gòu) 4第二章系統(tǒng)總體設(shè)計方案及論證 52.1門禁系統(tǒng)工作原理 52.2門禁系統(tǒng)的總體結(jié)構(gòu)圖 52.3門禁系統(tǒng)方案選擇 62.3.1主控芯片的選擇 62.3.2顯示器的選擇 62.3.3溫度傳感器的選擇 7第三章門禁系統(tǒng)主要硬件電路設(shè)計 73.1系統(tǒng)主控芯—MSP430F149 73.1.1MSP430主要性能 73.1.2MSP430x14x引腳功能 83.1.3電源電路 113.1.4時鐘電路 133.1.5復(fù)位電路 143.1.6異步通信 143.2通信模塊—USR_WIFI232 173.2.1模塊功能描述 173.2.2模塊設(shè)置及使用 193.3顯示電路 283.3.1LCD12864的基本參數(shù)及引腳說明 283.3.2LCD12864的指令說明及時序 303.3.3LCD12864屏幕與DDRAM地址的對應(yīng)關(guān)系 313.3.4LCD12864與單片機接口電路 313.4溫度讀取電路 323.4.1DS18B20主要特性 323.4.2DS18B20的引腳功能 323.4.3DS18B20的測溫原理 333.4.4DS18B20與單片機的接口電路 373.5開鎖控制電路 373.5.128BYJ48電機驅(qū)動方法及參數(shù) 373.5.2電機主要參數(shù)特性 383.5.3ULN2003驅(qū)動芯片簡介 383.5.4電機與單片機的接口電路 40第四章軟件設(shè)計 414.1軟件設(shè)計的流程 414.2開發(fā)環(huán)境 424.3部分程序代碼 43第五章 結(jié)語 59參考文獻 60第一章緒論1.1課題研究背景出入口門禁安全管理系統(tǒng)是新型現(xiàn)代化安全管理系統(tǒng),它集微機自動識別技術(shù)和現(xiàn)代安全管理措施為一體,它涉及電子,機械,光學(xué),計算機技術(shù),通訊技術(shù),生物技術(shù)等諸多新技術(shù)。它是解決重要部門出入口實現(xiàn)安全防范管理的有效措施。使用各種機要部門,如銀行,賓館,機房,軍械庫,機要室,辦公室,智能化小區(qū),工廠等。在數(shù)字技術(shù)網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天門禁技術(shù)得到了迅猛的發(fā)展。門禁系統(tǒng)早已超越了單傳的門道以及鑰匙管理,它已經(jīng)逐漸發(fā)展成為一套完整的出去管理系統(tǒng)。它在工作環(huán)境安全,人事考勤管理等行政管理工作中發(fā)揮著巨大的作用。門禁,又稱出入管理控制系統(tǒng),是一種將信息技術(shù)、電子技術(shù)和機械鎖有機地結(jié)合在一起,對進出人員進行適當(dāng)級別的權(quán)限鑒別,并進行相應(yīng)控制的數(shù)字化管理系統(tǒng)。目前門禁系統(tǒng)是基于非接觸式感應(yīng)IC卡識別技術(shù),由管理系統(tǒng)、控制器、感應(yīng)式讀卡器、電子鎖等組成的一個功能強大的智能型網(wǎng)絡(luò)門禁系統(tǒng),人員手持一張合法的感應(yīng)式IC卡即可通過IC卡識讀設(shè)備自動控制授權(quán)允許開啟的電子鎖??墒荌C卡也很容易丟失,而且到了小區(qū)門口還要停下來刷卡,浪費汽油,況且下雨天這樣會很麻煩。1.2智能門禁系統(tǒng)在國內(nèi)外的研究現(xiàn)狀門禁系統(tǒng)是隨著自動識別技術(shù)的發(fā)展而迅速發(fā)展起來的,國外門禁系統(tǒng)的知識品牌有美國的休斯(HID)、西屋(WSE)、洛泰克(NTK),以色列的DDS、英國的集寶等品牌。國內(nèi)從事門禁系統(tǒng)有深圳紅門、門吉利、捷順、北京青云等公司。目前,國內(nèi)外研制和使用的門禁系統(tǒng)主要集中在感應(yīng)門禁系統(tǒng)和生物識別門禁系統(tǒng)。在生物識別門禁系統(tǒng)中又以指紋門禁系統(tǒng)應(yīng)用最為廣泛。隨著計算機圖像處理和模式識別理論以及大規(guī)模集成電路技術(shù)的不斷發(fā)展與成熟,指紋自動識別系統(tǒng)的體積不斷縮小,其價格也不斷降低。據(jù)國際生物認證團(IBG)的預(yù)測:美國生物認證市場2002年突破7億美元,其中指紋識別占近50%,虹膜識別占8%。美國生物認證市場到2005年將達到19億美元,指紋識別占近40%,虹膜識別占10%左右。美國生物識別市場在未來幾年中仍將會保持高速增長的趨勢,縱觀門禁市場發(fā)展,預(yù)計未來1-3年中國門禁市場的平均增長比例將達20%以上。目前國外生產(chǎn)的門禁系統(tǒng)安全性較高,但是價格昂貴,感應(yīng)式門禁系統(tǒng)控制器的價格從4000到3萬元不等,包括讀卡器、門鎖、控制器、軟件在內(nèi)的一套系統(tǒng)報價在萬元以上。國內(nèi)生產(chǎn)的感應(yīng)式門禁系統(tǒng)和指紋門禁系統(tǒng)價格較國外同類產(chǎn)品價格低大約10%-50%,但系統(tǒng)的可靠性稍差。高級智能型門禁控制系統(tǒng)是當(dāng)前門禁系統(tǒng)的重要發(fā)展方向,高級智能型門禁系統(tǒng)是一種聯(lián)網(wǎng)式門禁系統(tǒng),功能也比較完善。但對于一般的企業(yè)住宅小區(qū)來說,并不是最理想的選擇。這種門禁系統(tǒng)常用于國防、軍事等單位。1.3課題主要研究內(nèi)容及結(jié)構(gòu)本課題主要研究基于wifi的簡易門禁系統(tǒng)的設(shè)計,應(yīng)用wifi模塊實現(xiàn)車載控制端對道閘的開關(guān),系統(tǒng)主要包括發(fā)送模塊,顯示模塊,道閘模塊等,這些模塊構(gòu)成一個綜合的系統(tǒng),能夠滿足普通小區(qū)停車場車輛不停車狀態(tài)下的出入。課題結(jié)構(gòu)如下:第一章緒論介紹了課題的背景知識,智能門禁系統(tǒng)在國內(nèi)外的研究現(xiàn)狀以及研究的意義。第二章系統(tǒng)總體設(shè)計方案及論證本章對設(shè)計前的方案進行了選擇和分析,最終確定一種方便,可行的實施方案。第三章門禁系統(tǒng)主要硬件電路設(shè)計本章對系統(tǒng)中的主要硬件模塊做了闡述,并且給出了各部分的電路圖。第四章軟件設(shè)計本章對系統(tǒng)軟件開發(fā)環(huán)境已經(jīng)部分源程序做了解釋,給出整個系統(tǒng)的軟件流程圖。第二章系統(tǒng)總體設(shè)計方案及論證2.1門禁系統(tǒng)工作原理 基于wifi的門禁系統(tǒng)主要依靠PC或手機終端對無線模塊發(fā)送開鎖信號,wifi模塊接收到信號之后傳遞給主控模塊進行分析處理,若信號有效,則打開道閘,在道閘打開的前提下,系統(tǒng)會在道閘打開之后5S自動將道閘關(guān)閉,若車輛出門,則置于內(nèi)部的紅外對管會獲取車輛信息,并且在無需開門信號的前提下自動將道閘打開。若信號無效,則不打開道閘,在一般狀態(tài)之下系統(tǒng)給出當(dāng)前溫度以及時間信息。2.2門禁系統(tǒng)的總體結(jié)構(gòu)圖2.3門禁系統(tǒng)方案選擇2.3.1主控芯片的選擇方案一:采用AT89S51作為系統(tǒng)控制器。它的功耗低,技術(shù)成熟,成本低,引腳較少,硬件布線較簡單。但實時性不好,復(fù)雜的控制算法難以實現(xiàn);另外,增加的外圍電路數(shù)據(jù)轉(zhuǎn)換速度慢,因此放棄此方案。方案二:采用MSP430單片機,430系列是一個16位的,具有精簡指令集的,超低功耗的混合型單片機,另外430系列單片機集成了豐富的片內(nèi)外設(shè),由于本設(shè)計需要較多的I/O口,因此430具有強大的綜合優(yōu)勢。綜上,此方案選用MSP430F149作為系統(tǒng)主控芯片。2.3.2顯示器的選擇方案一:LED數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,結(jié)構(gòu)簡單,顯示亮度高,價格便宜,使用簡單,可是顯示效果會受外部環(huán)境影響較大,加上單片機掃描顯示會導(dǎo)致亮度不均勻等情況,短時間的電流過載也可能會發(fā)光管造成永久性的損壞,由于本次設(shè)計需要顯示的內(nèi)容較多,因此此方案局限性太大。方案二:LCD12864液晶顯示器畫質(zhì)高并且不會閃爍,和單片機系統(tǒng)的借口簡單可靠,操作方便。而且12864作為128*64點陣的液晶屏可以顯示數(shù)字,字母和漢字等,適合本設(shè)計。綜上,此系統(tǒng)選用LCD12864作為顯示器。2.3.3溫度傳感器的選擇方案一:數(shù)字溫度傳感器DS18B20具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。測溫范圍為-55℃~+125℃,固有測溫分辨率是0.5℃。最為重要的是單片機可以直接讀取溫度,方便,高效。方案二:集成溫度傳感器AD590實質(zhì)上是一種半導(dǎo)體集成電路,線性好、精度中、靈敏度高、體積小,常用于測溫和熱電偶的冷端補償。測溫范圍為-55℃~+150℃。非線性誤差為±0.3℃??墒菧囟戎狄ㄟ^A/D轉(zhuǎn)換器才能被單片機讀取,且線路連接比較麻煩。綜合上述,選擇方案一。第三章門禁系統(tǒng)主要硬件電路設(shè)計3.1系統(tǒng)主控芯—MSP430F1493.1.1MSP430主要性能MSP430F149具有如下主要性能:功耗低。典型功耗是:2.2V時鐘頻率1MHZ時,活動模式為0.2MA,關(guān)閉模式僅為0.0001MA,且具有5種節(jié)能方式。高效16位RISC-CPU,27條指令,8MHZ時鐘頻率時,指令周期時間125ns,絕大多數(shù)指令一個時鐘周期完成;32KHZ時鐘頻率時,16位MSP430單片機的執(zhí)行速度高于典型的8位單片機20MHZ時鐘頻率時的執(zhí)行速度。低電壓供電、寬工作電壓范圍:1.8V-3.6V。靈活的時鐘系統(tǒng)(兩個外部時鐘和一個內(nèi)部時鐘)低時鐘頻率可實現(xiàn)高速通信。具有串行在線編程能力。強大的中斷能力。喚醒時間短,從低功耗模式下喚醒僅需0.006ms。ESD保護,抗干擾能力強。3.1.2MSP430x14x引腳功能如圖3-1為MSP430F149的引腳圖。引腳具體說明,如下表所示:3.1.3電源電路本系統(tǒng)需要5V供電,因此供電電路利用LM2576設(shè)計5V穩(wěn)壓電路。LM2576的特性如下:(1)有3.3V、5V、12V、15V和可調(diào)電壓輸出多種系列。(2)輸出電壓可調(diào)的范圍為1.23V~37V(HV型號的可達57V),負載電壓的輸出容差最大為±4%。(3)最少只需要4個外圍元件,可達3A的輸出電流。(4)寬的輸入電壓范圍,HV型號甚至可達40V~60V。(5)內(nèi)部振蕩器產(chǎn)生52KHz的固定頻率。(6)可用TTL電平關(guān)閉輸出,低功耗待機模式,典型待機電流為50μA。(7)BUCK式降壓器,較高的轉(zhuǎn)換效率。(8)過熱和過流保護。(9)可實現(xiàn)Buck-Boost式正-負電壓轉(zhuǎn)換器。5V穩(wěn)壓電路外圍元件的選擇:(1)輸入電容CIN1電容作為旁路電容,防止在輸入端出現(xiàn)大的瞬態(tài)電壓。還有,當(dāng)你的輸入電壓波動較大,輸出電流有較高,容量一定要選用大些,470μF--10000μF都是可行的選擇;電容的電流均方根值至少要為直流負載電流的1/2;基于安全考慮,電容的額定耐壓值要為最大輸入電壓的1.5倍。千萬不要選用瓷片電容,會造成嚴重的噪聲干擾。(2)續(xù)流二極管首選肖特基二極管,因為此類二極管開關(guān)速度快、正向壓降低、反向恢復(fù)時間短。(3)儲能電感LM2576既可工作于連續(xù)型也可非連續(xù)型,流過電感的電流若是連續(xù)的為連續(xù)型,電感電流在一個開關(guān)周期內(nèi)降到零為非連續(xù)型。(4)輸出端電容COUT推薦使用1μF--470μF之間的低ESR的鉭電容。若電容值太大,反而會在某些情況(負載開路、輸入端斷開)對器件造成損害。COUT用來輸出濾波以及提高環(huán)路的穩(wěn)定性。如果電容的ESR太小,就有可能使反饋環(huán)路不穩(wěn)定,導(dǎo)致輸出端振蕩。這幾乎是穩(wěn)壓器的共性,包括LDO等也有這一現(xiàn)象。利用LM2576芯片實現(xiàn)5V電源電路的設(shè)計如下圖所示:3.1.4時鐘電路MSP430x14X系列單片機基礎(chǔ)時鐘模塊結(jié)構(gòu)如下圖:從圖中可以看出,它有3個時鐘源輸入端:LFXT1CLK低頻時鐘源,按低頻時鐘晶體,也可接高頻時鐘晶體,陶瓷諧振器或直接外接時鐘信號源。XT2CLK高頻時鐘源,按標準高頻晶體,也可接陶瓷諧振器或直接外接450kHz~8MHz時鐘信號源。DCOCLK片內(nèi)可以數(shù)字控制的RC振蕩器。本系統(tǒng)使用XT2高頻時鐘源,晶振電路如下圖:3.1.5復(fù)位電路在單片機系統(tǒng)中,為了保證系統(tǒng)上電時進行初始化,上電后REST管腳被CR1上拉電阻為高電平,當(dāng)按鍵CS1被按下時REST被置低電平。復(fù)位電路如下圖所示。3.1.6異步通信異步通信寄存器MSP430系列有些型號的期間中有兩個通信硬件模塊USART0和USART1,因此它們有兩套寄存器,如MSP430F149。USART0的寄存器如下表所列:MSP430USART模塊配置為異步模式時的結(jié)構(gòu)如下圖:波特率的產(chǎn)生所謂波特率,是指單位時間內(nèi)傳送的二進制數(shù)據(jù)位數(shù),以bit/s為單位,是衡量串行數(shù)據(jù)傳送速度快慢的重要指標和參數(shù)。在異步串行通信時,波特率的產(chǎn)生是必須的。MSP430單片機的波特率產(chǎn)生部分如下圖所示,由時鐘源輸入選擇與分頻,波特率產(chǎn)生器,調(diào)整器和波特率寄存器等構(gòu)成。其中,整個模塊的時鐘源輸入通過控制寄存器UxTCTL中的SSEL0和SSEL1選擇來自內(nèi)部的3個時鐘或外部輸入時鐘,以決定最終進入模塊的時鐘信號BRCLK的頻率,時鐘信號BRCLK進入一個15位分頻器,通過一系列的硬件控制,當(dāng)計數(shù)器的計數(shù)值減到0的時候,輸出觸發(fā)器翻轉(zhuǎn),最終輸出兩個移位寄存器使用的移位時鐘BITCLK信號,所以BITCLK信號周期的一半就是定時器,即分頻計數(shù)器的定時時間。圖波特率產(chǎn)生器結(jié)構(gòu)圖MSP430的波特率發(fā)生器首先使用一個16位計數(shù)器和一個比較器,當(dāng)發(fā)送和接受數(shù)據(jù)時,計數(shù)器裝載著INT(N/2),其中N是UxBR1和UxBR0存儲值。計數(shù)器重新裝載為版周期的計數(shù)值INT(N/2),從而給出一個N個BRCLK時鐘的周期。對于給定的BRCLK時鐘源,分頻因子N由送到分頻計數(shù)器的時鐘頻率(BRCLK)和所需的波特率來決定,即如果使用常用的波特率與常用晶體產(chǎn)生的BRCLK,則一般得不到整數(shù)的N,分頻計數(shù)器可實現(xiàn)分頻因子N的整數(shù)部分,其次,調(diào)整器可使得小數(shù)部分盡可能準確,那么分頻因子N可定義如下:其中,N為目標分頻因子,UxBR為UxBR1和UxBR0中的16位數(shù)據(jù)值;n為總字符位數(shù),m為調(diào)整器寄存器UXMCTL中的各數(shù)據(jù)位(1或0)波特率由下式計算:3.2通信模塊—USR_WIFI2323.2.1模塊功能描述1.無線組網(wǎng)HF-A11x的無線模塊即可以配置成一個無線STA,也可以配置成AP。所以HF-A11x邏輯上支持2個無線接口,一個作為STA,另一個接口相當(dāng)于一個AP,其它STA可以通過這個模塊的AP接口連入無線網(wǎng)絡(luò)。所以,利用HF-A11x可以提供十分靈活的組網(wǎng)方式和網(wǎng)絡(luò)拓撲。HF-A11x的功能模塊如下圖所示:HF-A11x的功能結(jié)構(gòu)說明:AP:即無線接入點,是一個無線網(wǎng)絡(luò)的中心節(jié)點。通常使用的無線路由器就是一個AP,其它無線終端可以通過AP相互連接。STA:即無線站點,是一個無線網(wǎng)絡(luò)的終端,如筆記本電腦、PDA等。2.安全機制HF-A11x模塊支持多種無線網(wǎng)絡(luò)加密方式,能充分保證數(shù)據(jù)的安全傳輸,包括:①WEP②WAP-PSK/TKIP③WAP-PSK/AES④WAP2-PSK/TKIP⑤WAP2-PSK/AES3.地址綁定HF-A11x模塊支持在聯(lián)網(wǎng)過程中(作為STA,去連接AP過程中)綁定目的網(wǎng)絡(luò)的BSSID的功能。根據(jù)802.11協(xié)議規(guī)定,不同的無線網(wǎng)絡(luò)可以具有相同的網(wǎng)絡(luò)名稱(即SSID/ESSID),但是必須對應(yīng)一個唯一的BSSID地址(即MAC地址)。非法入侵者可以通過建立具有相同的SSID/ESSID的無線網(wǎng)絡(luò)的方法,是的網(wǎng)絡(luò)中的STA連接到非法的AP上,從而造成網(wǎng)絡(luò)的泄密。通過BSSID地址綁定,可以防止STA接入到非法的網(wǎng)絡(luò)上,從而提高無線網(wǎng)絡(luò)的安全性。4.以太網(wǎng)接口功能HF-A11x模塊提供一個100M以太網(wǎng)接口,通過這個100M以太網(wǎng)接口,用戶可以實現(xiàn)WIFI口,串口,以太網(wǎng)口,三個接口互通。在組網(wǎng)方面,HF-A11x模塊支持橋接模式和路由模式來對應(yīng)不同的具體應(yīng)用。5.工作模式HF-A11x模塊支持兩種工作模式:透明傳輸模式和協(xié)議傳輸模式。透明傳輸模式可以實現(xiàn)串口即插即用,從而最大程度的降低用戶使用的復(fù)雜度。協(xié)議傳輸模式可以實現(xiàn)用戶數(shù)據(jù)的準確傳輸。用戶可以根據(jù)實際需要設(shè)置不同的工作模式,并保存在Flash中,上電起動后模塊會自動進入該工作模式。HF-A11x模塊上電起動后,會根據(jù)用戶預(yù)先設(shè)置好的參數(shù),自動的去連接無線網(wǎng)絡(luò)及服務(wù)器,并且進行設(shè)置的工作模式,按預(yù)設(shè)的串口參數(shù)打開串口。用戶需要預(yù)設(shè)的參數(shù)有:☆無線網(wǎng)絡(luò)參數(shù)■網(wǎng)絡(luò)名稱(SSID)■安全模式■密鑰☆默認TCP/UDP連接參數(shù)■協(xié)議類型■連接類型(server或client)■目的端口■目的IP地址☆串口參數(shù)■波特率■數(shù)據(jù)位■校驗位■停止位■硬件流控☆工作模式■透明傳輸■協(xié)議傳輸模式6.網(wǎng)絡(luò)協(xié)議HF-A11x模塊支持TCP/UDP網(wǎng)絡(luò)協(xié)議,協(xié)議端口可以通過web方式或串口的AT+命令設(shè)置。HF-A11x網(wǎng)絡(luò)側(cè)的接口可以是server,也可以是client,通過web方式或串口的AT+命令設(shè)置。7.參數(shù)設(shè)置HF-A11x模塊支持web方式的參數(shù)設(shè)置,用戶可以使用IE瀏覽器十分方便的進行設(shè)置。如果模塊已經(jīng)連接到某個無線網(wǎng)絡(luò),則只要PC機也連入同一個網(wǎng)絡(luò)就可以進行設(shè)置,另外因為HF-A11x同時也是一個AP,所以PC機也可以連接到需要設(shè)置的模塊上進行設(shè)置。8.固件升級HF-A11x模塊支持web方式的在線固體升級9.GPIO功能HF-A11x模塊最多可以提供7個GPIO。其中包括3個指示引腳,4個UART引腳,根據(jù)需要都可以制定為GPIO引腳。作為GPIO時,可以從網(wǎng)絡(luò)發(fā)送幾個特定指令控制GPIO的輸出高、低電平,也可以讀入GPIO狀態(tài)。3.2.2模塊設(shè)置及使用模塊設(shè)置1.網(wǎng)頁配置保持WIFI網(wǎng)絡(luò)連接,登錄54,即可進入設(shè)置網(wǎng)頁,默認用戶和密碼均為admin2.配置軟件通過串口配置將模塊的串口連接到計算機串口,安裝設(shè)置軟件運行庫,然后運行All_Config_serial_cn.exe,點擊連接模塊,成功后點讀取設(shè)置,即可進入配置3.配置軟件通過WIFI配置運行A11_Config_net_cn.exeWIFI模塊上電,等待WIFI模塊啟動完成,讓W(xué)IFI網(wǎng)卡加入HF-All_AP這個無線網(wǎng)絡(luò),WIFI建立連接成功后,模塊會自動和配置軟件建立連接,點擊讀取設(shè)置,即可進行設(shè)置。4.手工AT指令配置發(fā)送三個加號+++,注意無回車換行等任何其他字符,收到字符a,三秒之內(nèi)回應(yīng)字符a,收到+ok的提示,即進入了AT命令模式,發(fā)送AT+H加回車,可以獲得幫助提示,發(fā)送AT+ENTM加回車回到數(shù)據(jù)透明傳輸模式。更詳細AT指令說明請參考詳細手冊文檔,測試過程截圖如下(發(fā)送的內(nèi)容看不到,只看到返回的內(nèi)容)模塊加入普通路由器的網(wǎng)絡(luò)登錄WIFI路由器了解一些信息,SSID名稱,用戶名和密碼,加密方式。輸入WIFI模塊默認的IP地址54進入配置界面,選擇模塊工作在終端模式進入無線終端接口設(shè)置子界面,根據(jù)要連入的WIFI路由器的信息設(shè)置SSID(無線網(wǎng)絡(luò)名稱),用戶名和密碼,選擇加密方式。4.進入模塊管理子頁面,重啟模塊,也可以斷電重啟完成之后,從無線路由器的DHCP列表里面能找到模塊已經(jīng)主動連入路由器創(chuàng)建的網(wǎng)絡(luò)模塊測試硬件連接關(guān)于串口的連接,模塊的引腳引出為3.3TTL電平,不能直接和計算機相連,需要帶底板或者用戶有TTL轉(zhuǎn)RS232的轉(zhuǎn)接線再連接到計算機上。硬件連接妥當(dāng)后,給模塊供電,紅色電源指示燈亮,等待大約20秒(內(nèi)部LINUX系統(tǒng)啟動),Ready燈亮起,表示系統(tǒng)啟動完成,可以操作了,進入下一步。網(wǎng)絡(luò)連接搜索網(wǎng)絡(luò),如下圖的HF-Allx_AP即是模塊的默認網(wǎng)絡(luò)名稱(SSID)加入網(wǎng)絡(luò),選擇自動獲取IP,WIFI模塊支持DHCPServer功能并默認開啟此時模塊的Link指示燈亮起。收發(fā)測試打開測試軟件USR-TCP232-Test.exe,選擇硬件連接到的計算機的串口號,這里是COM3,選擇波特率57600,此為WIFI模塊內(nèi)部串口默認的波特率,點打開串口。網(wǎng)絡(luò)設(shè)置區(qū)選擇TCPclient模式,服務(wù)器IP地址輸入54,此為WIFI模塊默認的IP地址,服務(wù)器端口號8899,此為模塊默認監(jiān)聽的TCP端口號,點擊連接建立TCP連接。至此,就可以在串口和網(wǎng)絡(luò)之間進行數(shù)據(jù)收發(fā)測試了,串口到網(wǎng)絡(luò)的數(shù)據(jù)流向是:計算機串口->模塊串口->模塊WIFI->計算機網(wǎng)絡(luò),網(wǎng)絡(luò)到串口的數(shù)據(jù)流向是:計算機網(wǎng)絡(luò)->模塊WIFI->模塊串口->計算機串口。測試過程可以看到模塊的TXD和RXD指示燈在有數(shù)據(jù)通過時閃爍。4.安卓手機和串口通訊保持計算機上的測試軟件開啟狀態(tài),鏈接也依然開啟。手機開啟WIFI功能,找到并加入HF-AllX的WIFI網(wǎng)絡(luò)。在手機上啟動有人網(wǎng)絡(luò)助手軟件,切換到TCPClient界面,點擊增加,創(chuàng)建一個到54的8899端口的TCP連接,創(chuàng)建成功后,會建立和WIFI模塊的TCP連接。建立連接成功后,手機發(fā)送數(shù)據(jù),計算機上的串口會收到信息,計算機的串口發(fā)送信息,計算機上測試軟件的網(wǎng)絡(luò)部分會收到信息,同時手機上的網(wǎng)絡(luò)助手也會收到信息。3.3顯示電路3.3.1LCD12864的基本參數(shù)及引腳說明帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面。可以顯示8×4行16×16點陣的漢字.也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。基本特性:(1)低電源電壓(VDD:+3.0~+5.5V)(2)顯示分辨率:128×64點(3)內(nèi)置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選)(4)內(nèi)置128個16×8點陣字符(5)2MHZ時鐘頻率(6)顯示方式:STN、半透、正顯(7)驅(qū)動方式:1/32DUTY,1/5BIAS(8)視角方向:6點(9)背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5~1/10(10)通訊方式:串行、并口可選(11)內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負壓(12)無需片選信號,簡化軟件設(shè)計(13)工作溫度:0℃~+55℃,存儲溫度:-20℃~+60℃芯片管腳:管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3~5V電源正3V0-對比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7——DB0為顯示數(shù)據(jù)RS=“L”,表示DB7——DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動電壓19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負端(見注釋3)*注釋1:如在實際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。*注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。3.3.2LCD12864的指令說明及時序指令說明:模塊控制芯片提供兩套控制命令,基本指令和擴充指令如下圖讀寫操作時序:寫操作時序讀操作時序3.3.3LCD12864屏幕與DDRAM地址的對應(yīng)關(guān)系第一字第二字……第七字第八字第一行80H81H……86H87H第二行90H91H……96H97H第三行88H89H……8EH8FH第四行98H99H……9EH9FH3.3.4LCD12864與單片機接口電路3.4溫度讀取電路3.4.1DS18B20主要特性適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)1.5、溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。3.4.2DS18B20的引腳功能DS18B20的引腳定義:(1)DQ為數(shù)字信號輸入/輸出端;(2)GND為電源地;(3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。3.4.3DS18B20的測溫原理DS18B20通過使用在板溫度測量專利技術(shù)來測量溫度。通過門開通期間內(nèi)低溫系數(shù)振蕩器經(jīng)歷的時鐘周期個數(shù)計數(shù)來測量溫度,而門開通期由高溫系數(shù)振蕩器決定。計數(shù)器予置對應(yīng)于-55℃的數(shù)值—將增量,指示溫度高于-55℃。同時,計數(shù)器用鈄率累加器電路所決定的值進行予置。為了對遵循拋物線規(guī)律的振蕩器溫度特性進行補償,這種電路是必需的。時鐘再次使計數(shù)器計值至它達到零。如果門開通時間仍未結(jié)束,那么此過程再次重復(fù)。鈄率累加器用于補償振蕩器溫度特性的非線性,以產(chǎn)生高分辨率的溫度測量。通過改變溫度每升一度,計數(shù)器必須經(jīng)歷的計數(shù)個數(shù)來實行補償。因此,為了獲得所需的分辨率,計數(shù)器的數(shù)值以及給定溫度處每一攝氏度的計數(shù)個數(shù)(鈄率累加器的值)二者都必須知道。此計算的DS18B20內(nèi)部完成以提供0.5℃的分辨率。溫度讀數(shù)以16位,符號擴展的二進制補碼讀數(shù)形式提供。表2-6說明輸出數(shù)據(jù)對測量溫度的關(guān)系。數(shù)據(jù)在單線接口上串行發(fā)送。DS18B20可以以0.5℃的增量值,在-55℃至+125℃的范圍內(nèi)測量溫度。對于應(yīng)用華氏溫度的場合,必須使用查找表或變換系數(shù)。注意,在DS18B20中,溫度是以1/2℃LSB(最低有效位)形式表示時,產(chǎn)生以下9位格式:111001110圖存儲器幀格式最高有效(符號)位被復(fù)制到存儲器內(nèi)兩字節(jié)的溫度寄存器中較高MSB的所有位,這種“符號擴展”產(chǎn)生了如表2-6所示的16為溫度讀數(shù)。以下的過程可以獲得較高的分辨率。首先,讀溫度,并從讀得的值截去0.5℃(最低有效位)。這個值便是TEMP_READ。然后可以讀留在計數(shù)器內(nèi)的值。此值是門開通期停止之后計數(shù)剩余(COUNT_REMAIN)。所需的最后一個數(shù)值是在該溫度處每一攝氏度的計數(shù)個數(shù)(COUNT_PER_C)。于是用戶可以使用下式計算實際溫度:溫度/數(shù)據(jù)關(guān)系DS18B20初始化時序:(1)先將數(shù)據(jù)線置高電平“1”。(2)延時(該時間要求的不是很嚴格,但是盡可能的短一點)(3)數(shù)據(jù)線拉到低電平“0”。(4)延時750微秒(該時間的時間范圍可以從480到960微秒)。(5)數(shù)據(jù)線拉到高電平“1”。(6)延時等待(如果初始化成功則在15到60微妙時間之內(nèi)產(chǎn)生一個由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制)。(7)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。(8)將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。DS18B20的寫操作(1)數(shù)據(jù)線先置低電平“0”。(2)延時確定的時間為15微秒。(3)按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。(4)延時時間為45微秒。(5)將數(shù)據(jù)線拉到高電平。(6)重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。(7)最后將數(shù)據(jù)線拉高。DS18B20的讀操作(1)將數(shù)據(jù)線拉高“1”。(2)延時2微秒。(3)將數(shù)據(jù)線拉低“0”。(4)延時3微秒。(5)將數(shù)據(jù)線拉高“1”。(6)延時5微秒。(7)讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進行數(shù)據(jù)處理。(8)延時60微秒。注:3.4.4DS18B20與單片機的接口電路由于DS18B20只有一根數(shù)字信號輸出/輸入端,因此和單片機的接口電路很簡單,如下圖:3.5開鎖控制電路3.5.128BYJ48電機驅(qū)動方法及參數(shù)28BYJ48簡介:步進電機28BYJ48型四相八拍電機,電壓為DC5V—DC12V。當(dāng)對步進電機施加一系列連續(xù)不斷的控制脈沖時,它可以連續(xù)不斷地轉(zhuǎn)動。每一個脈沖信號對應(yīng)步進電機的某一相或兩相繞組的通電狀態(tài)改變一次,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個步距角)。當(dāng)通電狀態(tài)的改變完成一個循環(huán)時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。四相步進電機可以在不同的通電方式下運行,常見的通電方式有單(單相繞組通電)四拍(A-B-C-D-A),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB-),八拍(A-AB-B-BC-C-CD-D-DA-A)28BYJ48驅(qū)動方法:按照圖示時序,通過單片機的I/O口給步進電機脈沖。3.5.2電機主要參數(shù)特性電機主要參數(shù):電機主要特性:1.步進電機必須加驅(qū)動才可以運轉(zhuǎn),驅(qū)動信號必須為脈沖信號,沒有脈沖的時候,步進電機靜止,如果加入適當(dāng)?shù)拿}沖信號,就會以一定的角度(稱為步角)轉(zhuǎn)動。轉(zhuǎn)動的速度和脈沖的頻率成正比。2.28BYJ48是5V驅(qū)動的4相5線的步進電機,而且是減速步進電機,減速比為1:64,步進角為5.625/64度。如果需要轉(zhuǎn)動1圈,那么需要360/5.625*64=4096個脈沖信號。3.步進電機具有瞬間啟動和急速停止的優(yōu)越特性。4.改變脈沖的順序,可以方便的改變轉(zhuǎn)動的方向。3.5.3ULN2003驅(qū)動芯片簡介ULN2003特點:1.ULN2003的每一對達林頓都串聯(lián)一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路2.直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。ULN2003工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關(guān)態(tài)時3.承受50V的電壓,輸出還可以在高負載電流并行運行。4.ULN2003采用DIP—16或SOP—16塑料封裝。ULN2003作用:ULN2003是大電流驅(qū)動陣列,多用于單片機、智能儀表、PLC、數(shù)字量輸出卡等控制電路中。可直接驅(qū)動繼電器等負載。輸入5VTTL電平,輸出可達500mA/50V。ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。該電路的特點如下:ULN2003的每一對達林頓都串聯(lián)一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。ULN2003是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。ULN2003引腳介紹:引腳1:CPU脈沖輸入端,端口對應(yīng)一個信號輸出端。引腳2:CPU脈沖輸入端。引腳3:CPU脈沖輸入端。引腳4:CPU脈沖輸入端。引腳5:CPU脈沖輸入端。引腳6:CPU脈沖輸入端。引腳7:CPU脈沖輸入端。引腳8:接地。引腳9:該腳是內(nèi)部7個續(xù)流二極管負極的公共端,各二極管的正極分別接各達林頓管的集電極。用于感性負載時,該腳接負載電源正極,實現(xiàn)續(xù)流作用。如果該腳接地,實際上就是達林頓管的集電極對地接通。引腳10:脈沖信號輸出端,對應(yīng)7腳信號輸入端。引腳11:脈沖信號輸出端,對應(yīng)6腳信號輸入端。引腳12:脈沖信號輸出端,對應(yīng)5腳信號輸入端。引腳13:脈沖信號輸出端,對應(yīng)4腳信號輸入端。引腳14:脈沖信號輸出端,對應(yīng)3腳信號輸入端。引腳15:脈沖信號輸出端,對應(yīng)2腳信號輸入端。引腳16:脈沖信號輸出端,對應(yīng)1腳信號輸入端。3.5.4電機與單片機的接口電路第四章軟件設(shè)計4.1軟件設(shè)計的流程開始開始是否有當(dāng)前時間數(shù)據(jù)輸入否系統(tǒng)運行,顯示當(dāng)前溫度以及時間是否有密碼數(shù)據(jù)是密碼正確?是開門否是是4.2開發(fā)環(huán)境軟件開發(fā)通常遵循4-9圖所示的流程:(1)安裝IAREmbedded3.1軟件。(2)創(chuàng)建一個新的工程。雙擊IAR軟件圖標彈出如圖4-10所示的對話框選擇“Createnewprojectincurrentworkspace”。然后會彈出如圖4-11所示的對話框選擇“Emptyproject”然后點擊OK。然后輸入新的工程名字(不包含中文字符)。圖4-10(2)編寫C程序源文件。點擊File——>new——>File,然后在空白的頁面里編寫C語言的源文件。編寫完后保存程序源文件文件名以點C結(jié)尾。(3)在工程中添加C程序源文件在IAREmbedded3.1環(huán)境下右擊workspace中的工程名。選擇add—>addfiles找到編寫的C源程序,點擊ok。(4)鏈結(jié)程序在IAREmbedded3.1環(huán)境下右擊workspace中的工程名,選擇options將會彈出如圖3—5所示的對話框。通過選擇GeneralOptions—>Target—>選擇MSP430F149。通過選擇GeneralOptions—>Setup—>Driver—>FETDebugger。(5)編譯下載程序Project——>compile初步編譯源程序如有報錯修改后保存在進行保存。Project——>make——>makeanddebug深層編譯遠程序。Project——>GO下載到硬件設(shè)備。4.3部分程序代碼溫度讀取函數(shù):#include<msp430x14x.h>#include"temp.h"unsignedcharq;voidDelayNus(unsignedintn){while(n--);}/*******************************************函數(shù)名稱:Init_18B20功能:對DS18B20進行復(fù)位操作參數(shù):無返回值:初始化狀態(tài)標志:1--失敗,0--成功********************************************/unsignedcharInit_18B20(void){unsignedcharError;DQ_out;_DINT();DQ0;DelayNus(700);DQ1;DelayNus(40);DQ_in;_NOP();if(DQ_val){Error=1;//初始化失敗}else{Error=0;//初始化成功}DQ_out;DQ1;_EINT();DelayNus(400);returnError;}/*******************************************函數(shù)名稱:Write_18B20功能:向DS18B20寫入一個字節(jié)的數(shù)據(jù)參數(shù):wdata--寫入的數(shù)據(jù)返回值:無********************************************/voidWrite_18B20(unsignedcharwdata){unsignedchari;_DINT();for(i=0;i<8;i++){DQ0;DelayNus(6);//延時6usif(wdata&0X01)DQ1;elseDQ0;wdata>>=1;DelayNus(50);//延時50usDQ1;DelayNus(10);//延時10us}_EINT();}/*******************************************函數(shù)名稱:Read_18B20功能:從DS18B20讀取一個字節(jié)的數(shù)據(jù)參數(shù):無返回值:讀出的一個字節(jié)數(shù)據(jù)********************************************/unsignedcharRead_18B20(void){unsignedchari;unsignedchartemp1=0;_DINT();for(i=0;i<8;i++){temp1>>=1;DQ0;DelayNus(6);//延時6usDQ1;DelayNus(8);//延時9usDQ_in;_NOP();if(DQ_val)temp1|=0x80;DelayNus(45);//延時45usDQ_out;DQ1;DelayNus(10);//延時10us}_EINT();returntemp1;}/*******************************************函數(shù)名稱:Skip功能:發(fā)送跳過讀取產(chǎn)品ID號命令參數(shù):無返回值:無********************************************/voidSkip(void){Write_18B20(0xcc);}/*******************************************函數(shù)名稱:Convert功能:發(fā)送溫度轉(zhuǎn)換命令參數(shù):無返回值:無********************************************/voidConvert(void){Write_18B20(0x44);}/*******************************************函數(shù)名稱:Read_SP功能:發(fā)送讀ScratchPad命令參數(shù):無返回值:無********************************************/voidRead_SP(void){Write_18B20(0xbe);}/*******************************************函數(shù)名稱:ReadTemp功能:從DS18B20的ScratchPad讀取溫度轉(zhuǎn)換結(jié)果參數(shù):無返回值:讀取的溫度數(shù)值********************************************/unsignedintReadTemp(void){unsignedchartemp_low;inttemp;temp_low=Read_18B20();//讀低位temp=Read_18B20();//讀高位if(temp&0x80){temp=(temp<<8)|temp_low;temp=((~temp)+1);temp=(int)(0.625*temp);}else{temp=(temp<<8)|temp_low;temp=(int)(0.625*temp);}returntemp;}/*******************************************函數(shù)名稱:ReadTemp功能:控制DS18B20完成一次溫度轉(zhuǎn)換參數(shù):無返回值:測量的溫度數(shù)值********************************************/unsignedintDo1Convert(void){unsignedchari;do{i=Init_18B20();}while(i);Skip();Convert();for(i=20;i>0;i--)DelayNus(600);//延時800ms以上do{i=Init_18B20();}while(i);Skip();Read_SP();returnReadTemp();}LCD顯示函數(shù)#include<msp430x14x.h>#include"lcd.h"#include"temp.h"#include"time.h"http://unsignedchartime_buf[]={0,0,0,0,0,0};/********************************************函數(shù)名稱:LCD_busy函數(shù)功能:測試LCD忙碌狀態(tài)函數(shù)參數(shù):無函數(shù)返回:無*********************************************/unsignedcharLCD_busy(){ unsignedcharresult; RS_0;RW_1;DATA_IN;EN_1;_NOP();_NOP();_NOP();_NOP(); if((P5IN&0x80)!=0)result=1;elseresult=0; EN_0; returnresult;}/********************************************函數(shù)名稱:write_command()函數(shù)功能:寫入指令數(shù)據(jù)到LCD函數(shù)參數(shù):cmd:指令代碼函數(shù)返回:無*********************************************/voidwrite_command(unsignedintcmd){ while(LCD_busy()); DATA_OUT;RS_0;RW_0; DATAPORT=cmd;EN_1;_NOP(); EN_0;}/********************************************函數(shù)名稱:write_data()函數(shù)功能:寫入顯示數(shù)據(jù)到LCD函數(shù)參數(shù):dat:顯示數(shù)據(jù)函數(shù)返回:無*********************************************/voidwrite_data(unsignedintdat) { while(LCD_busy()); DATA_OUT;RS_1;RW_0;DATAPORT=dat;EN_1;_NOP();EN_0;}/********************************************函數(shù)名稱:LCD_init函數(shù)功能:LCD初始化函數(shù)參數(shù):無函數(shù)返回:無*********************************************/voidLCD_init(){ CTRL_OUT;PSB_1; //LCD初始化設(shè)定 RESET_1; write_command(0x30); //基本指令集 write_command(0x02); //地址歸位 write_command(0x0c); //顯示開關(guān) write_command(0x01); //清除LCD的顯示內(nèi)容 write_command(0x06); //輸入方式 write_command(0x80); //設(shè)定顯示的起始地址:第0行}/********************************************函數(shù)名稱:DISP_num功能:顯示多位數(shù)字參數(shù):x--顯示的位置num--要顯示的數(shù)字32位返回值:無*********************************************/voidDISP_numSP0(unsignedcharx,unsignedintnum){unsignedcharBuff[4];//最多顯示32個數(shù)字unsignedintAtemp=num; Buff[3]=Atemp%10; Buff[2]=((Atemp%1000)%100)/10; Buff[1]=(Atemp%1000)/100; Buff[0]=Atemp/1000;write_command(x|0x80);//顯示的位置(第X個地址,80H~9FH)//write_data(0x3A);//顯示“:”write_data(0x30+Buff[0]);write_data(0x30+Buff[1]);//write_data(0x2E);write_data(0x30+Buff[2]);write_data(0x30+Buff[3]);}/*****************************************************函數(shù)名稱:DISP_temp函數(shù)功能:顯示漢字指定編碼的漢字函數(shù)參數(shù):x:顯示起始位置w:漢字個數(shù)dat:顯示的漢字編碼函數(shù)返回:無*****************************************************/voidDISP_temp(unsignedcharx,unsignedintdat){unsignedchardisdata[4];disdata[0]=dat/1000;disdata[1]=dat%1000/100;disdata[2]=dat%100/10;disdata[3]=dat%10;write_command(x|0x80);//顯示的位置(第X個地址,80H~9FH)write_data(disdata[0]+0x30);write_data(disdata[1]+0x30);write_data(disdata[2]+0x30);write_data(0x2e);write_data(disdata[3]+0x30);}/*****************************************************函數(shù)名稱:DISP_time函數(shù)功能:顯示實時時間函數(shù)參數(shù):x:顯示起始位置函數(shù)參數(shù):w:時間存儲數(shù)組的起始位置函數(shù)返回:無*****************************************************/voidDISP_time(unsignedcharx,unsignedintw,unsignedchar*buf){write_command(x|0x80);//顯示的位置(第X個地址,80H~9FH)write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;write_data(buf[w++]);if(w==30)w=0;}/*****************************************************函數(shù)名稱:DISP_word函數(shù)功能:顯示漢字指定編碼的漢字函數(shù)參數(shù):x:顯示起始位置w:漢字個數(shù)dat:顯示的漢字編碼函數(shù)返回:無*****************************************************/voidDISP_word(unsignedcharx,unsignedcharw,unsignedchar*dat){write_command(0x80|x);//寫DDRAM起始地址unsignedcharj;for(j=0;j<w*2;j++){write_data(dat[j]);}}/********************************************函數(shù)名稱:DISP_clear()函數(shù)功能:清除顯示屏函數(shù)參數(shù):num:往后清除多少個字符區(qū)域site:當(dāng)前所在的區(qū)域*********************************************/voidDISP_clear(unsignedcharnum,unsignedcharsite){unsignedcharclear[]={0x20,0x20};for(unsignedchari=num;i>0;i--){DISP_word(site,1,clear);site++;}}時鐘函數(shù)#include<msp430x14x.h>#include"time.h"#include"Uart_rx.h"#include"main.h"chartransform(unsignedintx);unsignedintyear;unsignedintmonth;unsignedintday;unsignedinthour;unsignedintmin;unsignedintsec;unsigned chartime_buf[30]={0,0,0,0,0xC4,0xEA,0,0,0xD4,0xC2,0,0,0xC8,0xD5,0X20,0X20,0,0,0X3A,0,0,0x3A,0,0,0x20,0x20,0x20,0x20,0x20,0x20};unsignedchartime_setting[];charreturned;voidtime(){sec++;if(sec==60){min++;sec=0;if(min==60){hour++;min=0;if(hour==24){sec=0;min=0;hour=0;day++;//判斷是否為閏年if((year%4==0)&&(year%100!=0)||(year%400==0)){//判斷大小月,確定天數(shù)if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){if(day==32){day=1;month++;if(month==13){month=1;year++;}}}if(month==4||month==6||month==9||month==11){if(day==31){day=1;month++;if(month==13){month=1;year++;}}}if(month==2){if(day==30){day=1;month++;if(month==13){month=1;year++;}}}}if(!((year%4==0)&&(year%100!=0)||(year%400==0))){//判斷大小月,確定天數(shù)if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){if(day==32){day=1;month++;if(month==13){month=1;year++;}}}if(month==4||month==6||month==9||month==11){if(day==31){day=1;month++;if(month==13){month=1;year++;}}}if(month==2){
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大干120天丨建投公司綜合快訊專項合同4篇
- 2025年度打字員與翻譯公司勞動合同范本4篇
- 2025年度定制化門窗產(chǎn)品設(shè)計與安裝服務(wù)合同4篇
- 二零二五年度個人創(chuàng)業(yè)貸款合同編制指南4篇
- 2025版煤炭運輸合同-煤炭運輸安全責(zé)任保險合同4篇
- 礦山礦長聘用合同二零二五年度標準范本3篇
- 2024-2030年中國眼科器械行業(yè)發(fā)展運行現(xiàn)狀及投資潛力預(yù)測報告
- 二零二五年度個性化定制汽車質(zhì)押借款合同樣本4篇
- 2025年度新能源企業(yè)臨時聘用人員勞動合同4篇
- 二零二五年度教育軟件產(chǎn)品全國代理權(quán)授權(quán)合同4篇
- 機械點檢員職業(yè)技能知識考試題庫與答案(900題)
- 成熙高級英語聽力腳本
- 北京語言大學(xué)保衛(wèi)處管理崗位工作人員招考聘用【共500題附答案解析】模擬試卷
- 肺癌的診治指南課件
- 人教版七年級下冊數(shù)學(xué)全冊完整版課件
- 商場裝修改造施工組織設(shè)計
- (中職)Dreamweaver-CC網(wǎng)頁設(shè)計與制作(3版)電子課件(完整版)
- 統(tǒng)編版一年級語文上冊 第5單元教材解讀 PPT
- 中班科學(xué)《會說話的顏色》活動設(shè)計
- 加減乘除混合運算600題直接打印
- ASCO7000系列GROUP5控制盤使用手冊
評論
0/150
提交評論