




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
....40/41病房無線呼叫系統(tǒng)的設(shè)計[摘要]隨著人們對醫(yī)院病房呼叫系統(tǒng)的無線傳輸距離和穩(wěn)定性的要求越來越高,因此設(shè)計一款穩(wěn)定度高,并且傳輸距離遠(yuǎn)的病房無線呼叫系統(tǒng)就很有必要了。本設(shè)計就是針對這種需要而設(shè)計的一個系統(tǒng),它采用AT89S52單片機作為主控芯片,通過PT2262和PT2272來編碼解碼,利用MAX公司成產(chǎn)的MAX7044和MAX7033設(shè)計無線發(fā)射和超外差式接收電路來傳遞信號,呼叫信息能夠通過液晶1602顯示出來,并啟動音樂報警電路,提醒醫(yī)護人員處理。通過測試,穩(wěn)定性和傳輸距離都達到了設(shè)計要求。 [關(guān)鍵詞]無線發(fā)射和接收編碼解碼音樂報警 [Abstract]Asthewirelesstransmissiondistanceandstabilityofhospitalwardcallsystemishigher,itisnecessarytodesignawirelesswardcallsystem.Thisdesignusessingle-chipmicrocomputerAT89S52asthemasterchip,andusesthePT2262andPT2272asthechipofcodinganddecoding,andusesMAX7044andMAX7033designedbytheMAXcompanyasthechipofdeliveringsignalsthroughspecializedwirelesstransmittingandsuperheterodynetypeofreceivingcircuit,usesliquidcrystal1602todisplaycallsignalsandcanstartmusic,whichcanwarmhealthcareprovidertohandle.Thestabilityandthetransmissiondistancemeetthedesignrequirementsthroughthetest. [Keywords]Wirelesstransmittingandreceiving,Coding,Decoding,Musicalarm目錄TOC\o"1-2"\h\z\u第1章緒論21.2課題意義21.3本論文的主要容3第2章系統(tǒng)概述42.1系統(tǒng)總體設(shè)計方案42.2發(fā)射和接收模塊的設(shè)計原理42.3編碼和解碼模塊的設(shè)計原理72.4CPU方案選擇92.5液晶模塊102.6溫度采集模塊112.7音樂報警模塊12本章小結(jié)12第3章硬件設(shè)計133.1單片機最小系統(tǒng)133.2無線收發(fā)電路的設(shè)計143.3編碼解碼電路的設(shè)計153.4液晶顯示電路173.5溫度采集電路173.6音樂報警電路18本章小結(jié)18第4章病房無線呼叫系統(tǒng)的軟件設(shè)計194.1程序總流程圖194.2液晶顯示子程序214.3中斷子程序21本章小結(jié)22第5章無線呼叫系統(tǒng)的調(diào)試和結(jié)果235.1實物整體外觀235.2測試結(jié)果與展望23結(jié)束語25參考文獻25致語26附錄一:原理圖27附錄二:單片機程序28第1章緒論1.1課題背景與來源目前,隨著人們生活水平的不斷提高,國外很多服務(wù)性行業(yè)迅速發(fā)展,人們對服務(wù)性行業(yè)的要求也越來越高,行業(yè)間的競爭也越來越激烈,而很多服務(wù)性企業(yè)由于本身的發(fā)展跟不上時代而逐漸被無情的淘汰掉了。當(dāng)今國各種大大小小的醫(yī)院絕大多數(shù)還是在使用有線的呼叫系統(tǒng),有些小醫(yī)院甚至連有線的都沒有,這不僅影響了醫(yī)院的聲譽,也就給病人與家屬帶來了諸多不變。有時甚至出現(xiàn)病人遇到突發(fā)事情時,如打完點滴了,其家屬到處亂跑找醫(yī)生的情況,有些甚至在醫(yī)院里大呼小叫的叫喚護士,擾亂了醫(yī)院安靜的環(huán)境,破壞了其他病人靜養(yǎng)的心情,也吵醒了不少正在休息的病人,給醫(yī)院制造了很多不必要的噪音,也帶來了不少抱怨。而有線的呼叫系統(tǒng)由于布線復(fù)雜,代價昂貴,不可移動,有礙美觀,難修復(fù)等弊端而逐漸跟不上服務(wù)質(zhì)量,已經(jīng)落后時代。醫(yī)院急需一款便捷,高性能的呼叫系統(tǒng)。對講機的出現(xiàn)給人們帶來了不少方便,它是一種雙向移動通信工具,在不需要任何網(wǎng)絡(luò)支持的情況下就可以通話,沒有話費產(chǎn)生,它呼叫與時方便,在一定區(qū)域也有著廣泛的應(yīng)用。但是,對講機本身制造麻煩,代價昂貴,耗電量大,信道少,容易受干擾,不能顯示,查尋呼叫功能,只能語音通信,務(wù)必給周圍其他人帶來了噪音污染。由于它本身的局限與不足,注定了對講機無法適用于服務(wù)性的行業(yè)中,最終也不是一個讓人十分滿意的呼叫系統(tǒng)。如何集有線呼叫系統(tǒng)和對講機各自的優(yōu)點于一身,開發(fā)一款新的能很好的適用于服務(wù)性行業(yè)的呼叫系統(tǒng),經(jīng)過人們幾年的探索與努力,已經(jīng)初露頭角,開始服務(wù)于市場,服務(wù)于人們。1.2課題意義一款新的能滿足人們要求,適合服務(wù)性行業(yè)的無線呼叫系統(tǒng),對人們生活的改善,對企業(yè)形象的提升起著十分重要的作用。對醫(yī)院單位而言,在同類行業(yè)中,安靜清雅的環(huán)境更具有競爭優(yōu)勢,快而準(zhǔn)的服務(wù)極提高了工作人員的辦事效率,便捷的呼叫系統(tǒng)節(jié)約了大量的人力,財力。對醫(yī)務(wù)人員而言,不需要時刻去查房、巡邏,更不需要高聲應(yīng)答病人或家屬,免去了無數(shù)次的來回奔波,維護了醫(yī)院良好的安靜環(huán)境,與時而準(zhǔn)確的給病人帶來需要和服務(wù)。語音報警提示更親切自然,溫和的聲音讓工作人員避免了嘟嘟嘟的噪音騷擾,心情更放松。對病人與其家屬而言,不必在醫(yī)院大聲喧嘩地呼叫醫(yī)務(wù)人員,也不用親自走到護士房告知護士,更不用在各個病房到處尋找護士。即使病人在沒有家屬陪伴的情況下,也能與時呼叫得到護理。只需輕輕一按從機的按鈕,無論是在床上還是走廊,還是廁所,都能傳達呼叫的信號。護士只要在總機旁觀察就能看到呼叫的房間,呼叫的次數(shù),按鍵回復(fù)便能立刻派護士去查看和護理。該系統(tǒng)的設(shè)計主要分主機和從機兩部分,集無線16路數(shù)據(jù)收發(fā),液晶顯示,語音報警于一體,具有施工快捷、簡單、故障率低、移動方便,使用無線呼叫器的病人,無需四處望尋找,也無需高聲喊叫,只需輕松地按一下呼叫器的按鈕,所需要的服務(wù)就會得到與時的解決。優(yōu)雅、安靜、舒適的環(huán)境無不令人向往;低功耗,微型化,環(huán)保、美觀,高效的無線通信系統(tǒng)在醫(yī)院等方面的應(yīng)用將越來越備受人們的關(guān)注。1.3本論文的主要容本文設(shè)計主要是通過MAX公司生產(chǎn)的MAX7044和MAX7033來實現(xiàn)發(fā)射和超外差式接收電路,PT2262對信號進行編碼,通過無線傳輸,再通過PT2272對收到的信號進行解碼,單片機對信號進行處理,相應(yīng)的信息通過液晶顯示,并啟動音樂報警電路。本論文的主要容分為五章。第一章介紹了課題的背景和來源以與意義,第二章介紹超外差式收發(fā)的理論設(shè)計方案,第三章介紹了硬件電路的設(shè)計過程,包括發(fā)射電路,接收電路,單片機最小系統(tǒng),液晶顯示模塊,溫度采集模塊以與音樂報警模塊,第四章介紹了軟件設(shè)計的思路和流程圖,第五章介紹作品的實現(xiàn)過程,包括實物圖和調(diào)試結(jié)果圖,并對數(shù)據(jù)進行了分析和總結(jié)。第2章系統(tǒng)概述本章將介紹系統(tǒng)的工作過程,系統(tǒng)的總體設(shè)計方案,以與各個模塊的設(shè)計原理,包括無線發(fā)射和接收模塊,編碼解碼模塊,溫度采集模塊,液晶顯示模塊和音樂報警模塊,并對主控芯片進行了簡單的介紹。2.1系統(tǒng)總體設(shè)計方案本系統(tǒng)由主機和從機兩部分組成,從機上有編碼模塊,發(fā)射模塊,主機上有接收模塊,解碼模塊,溫度采集模塊,CPU,液晶顯示模塊,音樂報警模塊,當(dāng)用戶按下從機上的按鍵后,經(jīng)過編碼后生成脈沖,對高頻載波信號進行調(diào)制,通過天線發(fā)射出去,主機上的接收模塊接收到調(diào)制信號,進行解調(diào),解調(diào)后的信號交給解碼模塊進行解碼,最終的數(shù)字信號交給CPU處理,相關(guān)呼叫信息能通過液晶顯示出來,當(dāng)有人呼叫時,可以啟動音樂報警電路,主板上的溫度采集系統(tǒng)還能實時獲得當(dāng)前環(huán)境的溫度信息,和呼叫信息一起在液晶上顯示。系統(tǒng)的總體框圖如圖2-1所示發(fā)射天線發(fā)射模塊發(fā)射天線發(fā)射模塊編碼模塊按鍵CPU液晶顯示模塊音樂報警模塊溫度采集模塊接收模塊解碼模塊從機部分主機部分接收天線圖2-1病房呼叫系統(tǒng)組成框圖2.2發(fā)射和接收模塊的設(shè)計原理數(shù)字信號有兩種傳輸方式,一種是基帶傳輸,因為在某些有線信道中,特別是在傳輸距離不太遠(yuǎn)的情況下,數(shù)字信號可以直接傳輸,這種傳輸方式被稱為數(shù)字信號的基帶傳輸;另一種是頻帶傳輸或稱為調(diào)制傳輸。由于大多數(shù)實際信道都是帶通型的,因此必須先用數(shù)字基帶信號對載波進行調(diào)制,形成數(shù)字調(diào)制信號后再進行傳輸,這種傳輸方式被稱為數(shù)字信號的頻帶傳輸或調(diào)制傳輸。由于本設(shè)計要求傳輸?shù)木嚯x盡可能遠(yuǎn),又是無線傳輸,所以只能選擇調(diào)制傳輸了。在通信系統(tǒng)中實際使用的信道多為帶通型,而數(shù)字基帶信號往往具有豐富的低頻成分,只適合在低通型信道中傳輸。為了使數(shù)字信號能在帶通信道中傳輸,必須使用數(shù)字調(diào)制方式。數(shù)字調(diào)制所用的載波一般是連續(xù)的正弦型信號,但調(diào)制信號為數(shù)字信號。數(shù)字調(diào)制可分為三種基本方式:幅移鍵控(ASK),頻移鍵控(FSK)和相移鍵控(PSK),本設(shè)計采用的是幅移鍵控的方式來傳輸數(shù)字信號的[1]。數(shù)字調(diào)制系統(tǒng)的基本結(jié)構(gòu)如圖2-2所示:調(diào)制器調(diào)制器信道解調(diào)器數(shù)字基帶信號輸出數(shù)字基帶信號輸入圖2-2數(shù)字調(diào)制系統(tǒng)結(jié)構(gòu)2.2.1發(fā)射與接收電路方案選擇發(fā)射電路部分由振蕩電路、ASK電路、高頻功率放大器、天線構(gòu)成。振蕩電路可以看做將直流電能轉(zhuǎn)變?yōu)榻涣麟娔艿膿Q能器,圖中的載波發(fā)生器就具備這一功能。是無線電發(fā)送電路的基本單元。ASK就是將要傳送的數(shù)字基帶信號加在高頻電流上,是一種調(diào)制過程。高頻功率放大器是為了提高輸出功率,達到發(fā)射功率要求后,通過天線輻射出去。信號的發(fā)射過程如圖2-3所示要發(fā)送的數(shù)據(jù)要發(fā)送的數(shù)據(jù)載波發(fā)生器ASK調(diào)制高頻功率放大圖2-3信號發(fā)射過程接收電路里面主要有:天線、高頻小信號放大器、ASK解調(diào)電路等幾部分組成,如圖2-4所示。在接收處,先用天線將收到的電磁波轉(zhuǎn)變?yōu)橐颜{(diào)波電流,然后從已調(diào)波電流中檢出原始的信號。由于天線接收到的電磁波很微弱,需要在解調(diào)之前加一級至幾級高頻小信號放大器,然后再解調(diào)。經(jīng)解調(diào)后,再經(jīng)過適當(dāng)?shù)牡皖l放大就可以得到原始信號了[2]。高頻小信號放大器高頻小信號放大器ASK解調(diào)數(shù)據(jù)輸出圖2-4信號接收過程方案選擇方案一:獨立元件搭建。如發(fā)射電路用電阻,電感,電容,三極管S9018與發(fā)射天線等元器件來搭建,接收電路用電阻,電感,電容,二極管IN4148,三極管S9018,LM358與接收天線等元器件來搭建。方案二:專用發(fā)射和接收芯片。用于發(fā)射電路的MAX7044芯片里集成了高頻發(fā)射電路必備的振蕩器,鎖相環(huán),功率放大器等功能部件;用于接收電路的MAX7033芯片里集成了高頻接收電路所需的放大器,混頻器,鎖相環(huán),晶體振蕩器,濾波器和自動增益控制等功能部件。經(jīng)過比較,方案一設(shè)計比較麻煩,電路復(fù)雜。方案二設(shè)計簡單,易于實現(xiàn)。所以系統(tǒng)中發(fā)射和接收模塊選擇方案二。2.2.2MAX7044和MAX7033簡介MAX7044部包含功率放大器(PA),晶體振蕩器,驅(qū)動器,數(shù)據(jù)有效監(jiān)測電路,鎖定監(jiān)測電路,鎖相環(huán),分頻器等電路。(1)晶體振蕩器:通過外接晶振,經(jīng)過倍頻后可以產(chǎn)生高頻載波信號。(2)鎖相環(huán)(PLL):除了晶振,PLL不需要其他外部元器件?;鶞?zhǔn)頻率和載波頻率的關(guān)系為fXTAL=fRF/32。在PLL鎖定前,鎖定檢測電路防止功率放大器發(fā)射。另外,如果失去載波頻率,器件將關(guān)閉功率放大器。(3)功率放大器(PA):MAX7044的功率放大器是一個高效率的、漏極開路、C類放大器,使用合適的輸出匹配網(wǎng)絡(luò),功率放大器能夠驅(qū)動簡單的PCB環(huán)行天線和各種形式的50Ω天線。MAX7033部包含低噪聲放大器,差分鏡像抑制混頻器,PLL,VCO,10.7MHzIF限幅放大器,AGC,RSSI,模擬基帶數(shù)據(jù)信號恢復(fù)等電路。(1)低噪聲放大器低噪聲放大器是一個nMOS的共基共射放大器,需要使用片外的電感,具有3.0dB的噪聲系數(shù)和-12dBm的IIP3。增益和噪聲系數(shù)與在天線與LNA輸入端之間的匹配網(wǎng)絡(luò)和在LNA輸出與混頻器之間的LC諧振網(wǎng)絡(luò)有關(guān)。需要從LNASRC引腳端連接一個電感到地(AGND)。這個電感設(shè)置在LNAIN引腳端的輸入阻抗的實部,可以實現(xiàn)更多靈活的阻抗匹配,如使用PCB導(dǎo)線得到天線形式。對于50Ω的輸入阻抗,這個電感值為15nH。注意這個電感值會受PCB導(dǎo)線長度的影響。(2)混頻器MAX7033采用獨特的鏡像抑制混頻器(Mixer)結(jié)構(gòu),可以不使用價格高的SAW濾波器?;祛l器單元是一個雙平衡的混頻器對,完成射頻信號到10.7MHzIF的IQ下變頻,本振(LO)頻率采用低端注入形式。電路具有44dB的鏡像抑制能力。IF輸出阻抗330Ω,可以采用330Ω的瓷濾波器。IRSEL引腳端是一個邏輯電平輸入,可用來選擇3個鏡像抑制頻率中的一個。當(dāng)VIRSEL=0V時,鏡像抑制頻率調(diào)諧在315MHz。VIRSEL=VDD5/2,鏡像抑制頻率調(diào)諧在375MHz;當(dāng)VIRSEL=VDD5,鏡像抑制頻率調(diào)諧在433MHz;當(dāng)IRSEL引腳端不連接時,在部設(shè)置到VDD5/2,不需要外部VDD5/2電壓。(3)鎖相環(huán)除了晶振,PLL不需要其他外部元器件。VCO產(chǎn)生低端LO?;鶞?zhǔn)頻率、RF頻率和IF頻率的關(guān)系為:fREF=(fRF-fIF)/32×M式中:M=1(VXTALSEL=VDD5),或者M=2(VXTALSEL=0V)。(4)中頻和RSSIIF部分提供差分330Ω輸出阻抗,可以與片外的瓷濾波器匹配。6個部AC耦合限幅放大器提供大約65dB增益,IF帶通濾波器的中心頻率10.7MHz,3dB帶寬大約為10MHz。RSSI電路解調(diào)IF信號,產(chǎn)生與IF信號電平成比例的直流電壓輸出,大約為14.2mV/dB。(5)晶體振蕩器在MAX7033中的晶體振蕩器(crystaloscillator),在XTAL1和XTAL2引腳端之間呈現(xiàn)的電容大約為3pF。使用不同的負(fù)載電容,將改變晶振的標(biāo)準(zhǔn)基準(zhǔn)頻率,如4.7547MHz的晶振使用10pF的負(fù)載電容。MAX7033的振蕩器頻率為4.7563MHz,有大約100kHz誤差。也可以使用外部基準(zhǔn)振蕩器驅(qū)動VCO,使用一個1000pF的電容交流耦合連接到XTAL2引腳端。(6)數(shù)據(jù)濾波器數(shù)據(jù)濾波器(datafilter)是一個二階低通Sallen2Key濾波器,需要2個片上的電阻和外部電容組合。調(diào)節(jié)外部電容的數(shù)值,可以改變?yōu)V波器的截止頻率,以適應(yīng)不同的數(shù)據(jù)速率。(7)自動增益控制當(dāng)AC引腳端是低電平時,AGC(AutomaticGainControl)電路監(jiān)控RSSI輸出。RSSI的輸出達到1.98V時,對應(yīng)的射頻輸入電平為-62dBm,AGC開關(guān)通過減少電阻控制LNA增益;當(dāng)RSDSI電平下降到低于1.39V時,對應(yīng)的射頻輸入電平為-70dBm,LNA恢復(fù)高增益模式。當(dāng)AC引腳端是高電平時和SHDN轉(zhuǎn)向高電平時,AGC電路不使能,LNA總是在高增益模式;當(dāng)AC引腳端是低電平時和SHDN是高電平時,AGC功能恢復(fù)。2.3編碼和解碼模塊的設(shè)計原理在通常使用中,我們一般采用8位地址碼和4位數(shù)據(jù)碼,這時編碼電路PT2262和解碼PT2272的第1~8腳為地址設(shè)定腳,有三種狀態(tài)可供選擇:懸空、接正電源、接地三種狀態(tài),只有發(fā)射端PT2262和接收端PT2272的地址編碼完全一樣,才能配對使用,用戶如果想改變地址編碼,只要將PT2262和PT2272的1~8腳設(shè)置一樣即可,當(dāng)兩者地址編碼完全一致時,接收機對應(yīng)的D1~D4端輸出約4V互鎖高電平控制信號,同時VT端也輸出解碼有效高電平信號。用戶可將這些信號加一級放大,便可驅(qū)動繼電器、功率三極管等進行負(fù)載遙控開關(guān)操縱。設(shè)置地址碼的原則是:同一個系統(tǒng)地址碼必須一致;不同的系統(tǒng)可以依靠不同的地址碼加以區(qū)分。至于設(shè)置什么樣的地址碼完全隨客戶喜歡。地址碼和數(shù)據(jù)碼都用寬度不同的脈沖來表示,兩個窄脈沖表示“0”;兩個寬脈沖表示“1”;一個窄脈沖和一個寬脈沖表示“f”也就是地址碼的“懸空”。表示方法如圖2-5所示:圖2-5PT2262/2272地址碼和數(shù)據(jù)碼這里,a=2*時鐘振蕩周期,位“f”僅對地址碼有效。同步位的長度是4個AD位的長度,含一個1/8AD位寬度的脈沖。2262每次發(fā)射時至少發(fā)射4組字碼,2272只有在連續(xù)兩次檢測到一樣的地址碼加數(shù)據(jù)碼才會把數(shù)據(jù)碼中的“1”驅(qū)動相應(yīng)的數(shù)據(jù)輸出端為高電平和驅(qū)動VT端同步為高電平。因為無線發(fā)射的特點,第一組字碼非常容易受零電平干擾,往往會產(chǎn)生誤碼,所以程序可以丟棄處理。2.3.1編碼模塊編碼芯片PT2262發(fā)出的編碼信號由:地址碼、數(shù)據(jù)碼、同步碼組成一個完整的碼字,解碼芯片PT2272接收到信號后,其地址碼經(jīng)過兩次比較核對后,VT腳才輸出高電平,與此同時相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當(dāng)發(fā)射機沒有按鍵按下時,PT2262不接通電源,其17腳為低電平,所以315MHz的高頻發(fā)射電路不工作,當(dāng)有按鍵按下時,PT2262得電工作,其第17腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號,當(dāng)17腳為高電平期間315MHz的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當(dāng)17腳為低平期間315MHz的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262的17腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅。接口說明如下表2-1所示表2-1PT2262管腳功能表名稱管腳說明A0~A111~8,10~13地址管腳,進行地址編碼,可置為“0”“1”“f”(懸空)D0~D57~8,10~13數(shù)據(jù)輸入端Vcc18電源正端(+)Vss9電源負(fù)端(-)TE14編碼啟動端,用于數(shù)據(jù)的編碼發(fā)射,低電平有效OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率OSC2V15振蕩電阻振蕩器輸出端Dout17編碼輸出端(正常時為低電平)在具體的應(yīng)用中,外接振蕩電阻可根據(jù)需要進行適當(dāng)?shù)恼{(diào)節(jié),阻值越大振蕩頻率越慢,編碼的寬帶越大,發(fā)碼一幀的時間越長。2.3.2解碼模塊解碼芯片PT2272有不同的后綴,表示不同的功能,有L4/M4/L6/M6之分,其中L表示鎖存輸出,數(shù)據(jù)只要成功接收就能一直保持對應(yīng)的電平狀態(tài),直到下次遙控數(shù)據(jù)發(fā)生變化時改變。M表示非鎖存輸出,數(shù)據(jù)腳輸出的電平是瞬時的而且和發(fā)射端是否發(fā)射相對應(yīng),可以用于類似點動的控制。后綴的6和4表示有幾路并行的控制通道,當(dāng)采用4路并行數(shù)據(jù)時(PT22722M4),對應(yīng)的地址編碼應(yīng)該是8位,如果采用6路的并行數(shù)據(jù)時(PT22722M6),對應(yīng)的地址編碼應(yīng)該是6位。接口說明如下表2-2所示表2-2PT2272管腳功能表名稱管腳說明A0~A111~8,10~13地址管腳,用于進行地址編碼,可置為“0”“1”“f”(懸空)D0~D57~8,10~13地址或者數(shù)據(jù)管腳Vcc18電源正端(+)Vss9電源負(fù)端(-)DIN14數(shù)據(jù)信號輸入端,來自接收電路輸出端OSC116振蕩電阻輸入端,與OSC2接收電阻決定振蕩頻率OSC215振蕩電阻振蕩器輸出端VT17解碼有效確認(rèn)2.4CPU方案選擇方案一:采用普通8位單片機AT89S52。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。方案二:采用嵌入式ARM的32位單片機LPC2138。LPC2138功能龐大,不但具有一般單片機的所有功能,還置了PWM,具有很強的串行通信功能,引腳非常豐富,如GPIO、UART、I2C從本系統(tǒng)要求角度來考慮,系統(tǒng)所需資源不多,并不要求控制芯片要有龐大的功能,但從系統(tǒng)的資源利用率來比較,單片機有較高的資源利用率;從造價出發(fā),ARM芯片的價格昂貴,而單片機的價格低,綜合以上分析,本系統(tǒng)設(shè)計采用方案一的AT89S52為主控芯片。功能特性:AT89S52是一種低功耗、高性能CMOS8位微控制器,與MCS-51單片機產(chǎn)品兼容,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片晶振與時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。2.5液晶模塊這個模塊采用LCD1602液晶,1602由5V電壓驅(qū)動,帶背光,可以顯示兩行,每行16個字符,不能顯示漢字,置128個字符的ASCII字符集字庫,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。只有并行接口,無串行接口。1602液晶接口說明如下表2-3所示表2-31602管腳使用說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2DataI/O2VDD電源正極10D3DataI/O3VL液晶顯示偏壓信號11D4DataI/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5DataI/O5R/W讀寫選擇端(H/L)13D6DataI/O6E使能信號14D7DataI/O7D0DataI/O15BLA背光源正極8D1DataI/O16BLK背光源負(fù)極基本操作時序基本操作時序包括讀狀態(tài),寫指令,讀數(shù)據(jù),寫數(shù)據(jù)等,實現(xiàn)方法如下表2-4所示表2-41602的操作時序讀狀態(tài)輸入:RS=L,RW=H,E=H輸出:D0-D7=狀態(tài)字寫指令輸入:RS=L,RW=L,D0-D7=指令E=高脈沖輸出:無讀數(shù)據(jù)輸入:RS=H,RW=H,E=H輸出:D0-D7=數(shù)據(jù)寫數(shù)據(jù)輸入:RS=H,RW=L,D0-D7=數(shù)據(jù),E=高脈沖輸出:無RAM地址映射圖控制器部帶有80×8位(80字節(jié))的RAM緩沖區(qū),對應(yīng)關(guān)系如下圖2-6所示:圖2-6地址映射圖當(dāng)我們向上圖中的00~0F,40~4F地址中的任一處寫入顯示數(shù)據(jù)時,液晶都可立即顯示出來,當(dāng)寫入到10~27,或50~67地址處時,必須通過移屏指令將它們移入可顯示區(qū)域,方可正常顯示。2.6溫度采集模塊這個模塊采用的是DS18B20溫度傳感器,它是美國DALLAS半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的使用方法由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。2.7音樂報警模塊這個模塊采用的是置16首音樂的芯片TQ33A。這個芯片可以通過按鍵來控制播放和切換歌曲,外接一個揚聲器來播放音樂,音樂芯片TQ33A的芯片k1管腳具有選音功能,k2控制什么時候放音,SPEAK-和SPEAK+外接揚聲器,播放音樂。本章小結(jié)本章簡要介紹了系統(tǒng)的工作原理,它的組成的框架,介紹了各個系統(tǒng)模塊的實現(xiàn)原理。詳細(xì)介紹了發(fā)射和接收的實現(xiàn)過程,電路的設(shè)計原理,介紹了用于制作發(fā)射和接收電路芯片的部結(jié)構(gòu)。介紹了編碼和解碼原理。并簡單介紹了一下其他系統(tǒng)模塊,如液晶顯示模塊,溫度采集模塊,以與音樂報警模塊。通過這一章的原理分析和方案選擇。為后面軟硬件的具體設(shè)計提供了方向和依據(jù)。第3章硬件設(shè)計本章將詳細(xì)闡述硬件制作的基本過程,單片機最小系統(tǒng)的設(shè)計,包括無線收發(fā)的設(shè)計,編碼解碼電路的設(shè)計,液晶部分的設(shè)計,溫度采集部分的設(shè)計,以與音樂報警電路的設(shè)計。3.1單片機最小系統(tǒng)此單片機最小系統(tǒng)由AT89S52單片機、時鐘電路與復(fù)位電路組成,時鐘電路采用部時鐘,利用單片機部一個高增益的反向放大器,把一個晶振和兩個電容器組成的自激振蕩電路接到XTAL1(19腳)和XTAL2(18腳)之間。振蕩器發(fā)出的脈沖直接送入部時鐘電路。本最小系統(tǒng)中晶振采用12M,起振電容采用30pF。CPU第9管腳復(fù)位(RST)功能,本設(shè)計具有上電復(fù)位、按鍵手動復(fù)位兩種功能。按鍵(S1)為復(fù)位按鍵,在單片機最小系統(tǒng)上電或按下S1鍵時,利用R1和C1充放電原理,從外部給RST腳2個機器周期以上的高電平,以達到實現(xiàn)的單片機最小系統(tǒng)的復(fù)位。原理圖如圖3-1所示:圖3-1單片機最小系統(tǒng)3.2無線收發(fā)電路的設(shè)計本部分選用的是MAX公司生產(chǎn)的MAX7044和MAX7033芯片來設(shè)計的無線發(fā)射和接收。3.2.1發(fā)射電路設(shè)計這個電路選擇的頻點是315MHz,通過XTAL1和XTAL2接入晶振,要發(fā)射的基帶數(shù)據(jù)經(jīng)過DATA端(6管腳)輸入,通過高頻載波的調(diào)制,生成ASK信號從PA端(4管腳)發(fā)射出去。由MAX7044設(shè)計的高頻發(fā)射電路如圖3-2所示圖3-2發(fā)送電路3.2.2接收電路設(shè)計接收電路收到的數(shù)據(jù)經(jīng)LANIN端(3管腳)輸入,經(jīng)過解調(diào),數(shù)字基帶信號由DATAOUT端(25管腳)輸出,送到解碼芯片進行解碼。由MAX7033設(shè)計的超外差式接收電路如圖3-3所示圖3-3接收電路3.3編碼解碼電路的設(shè)計本節(jié)介紹編碼和解碼電路的設(shè)計,信號要經(jīng)過編碼后發(fā)射出去,信號要通過接收并解碼后才被CPU處理。3.3.1編碼電路設(shè)計將地址端(1~8管腳)接地,即對地址編碼,全部置為0,二進制的數(shù)據(jù)通過數(shù)據(jù)輸入端(10~13管腳)輸入,在這里,是通過把4個數(shù)據(jù)管腳通過跳線柱接出來,然后通過跳線帽連接,可以接在+5V上(代表編碼1),也可以接地(代表編碼0)地址碼和數(shù)據(jù)碼通過數(shù)據(jù)輸出端(17管腳)輸出到高頻電路的數(shù)據(jù)輸入端。編碼原理圖如圖3-4所示圖3-4編碼電路圖3.3.2解碼電路設(shè)計要想解碼,地址碼必須設(shè)置成和編碼地址碼一致,所以地址端全部接地,VT端(17管腳)與單片機的P1.6腳相連,單片機通過它獲得解碼是否有效的信息,超外差式接收電路收到的數(shù)據(jù)通過DIN端(14管腳)輸入送給PT2272解碼,解碼后的數(shù)據(jù)通過數(shù)據(jù)輸出端(10~13管腳)送到單片機進行處理。解碼電路原理圖如圖3-5所示圖3-5解碼電路圖3.4液晶顯示電路將液晶模塊的D0~D7(7~14號管腳)通過排阻連接到單片機P0口,實現(xiàn)數(shù)據(jù)傳輸。將R/W(5管腳)接地,表示一直往液晶里寫命令或者數(shù)據(jù),將RS(4管腳)接到單片機的P2.6,控制是寫命令還是寫數(shù)據(jù),將VO(3管腳)接一個滑動變阻器,可以調(diào)節(jié)液晶的顯示亮度。要通過液晶來顯示相關(guān)信息,它與單片機接口電路如圖3-6所示:圖3-6液晶顯示電路3.5溫度采集電路DS18B20與單片機的數(shù)據(jù)交換只通過一條信號線。單總線通常要求外接一個約為5K∩的上拉電阻,在這里我選用的是4.7K∩的電阻,將它與單片機的P2.0口相連,傳輸數(shù)據(jù)。溫度采集模塊電路原理圖如圖3-7所示:圖3-7溫度采集模塊3.6音樂報警電路音樂報警電路采用16首曲目的門鈴芯片TQ33A,該芯片置音頻驅(qū)動電路,可以直接連接揚聲器播放音樂。它通過按鍵S2控制曲目切換,通過單片機的P3.2管腳控制是否播放音樂。聲音需要通過外接的揚聲器發(fā)出,電路原理圖如圖3-8所示。圖3-8音樂報警電路本章小結(jié)本章詳細(xì)的介紹了硬件電路的設(shè)計過程,首先是單片機的最小系統(tǒng)設(shè)計,然后無線收發(fā)的電路設(shè)計,再就是編解碼電路的設(shè)計,最后是一些單片機外圍器件的設(shè)計,比如溫度采集電路,液晶顯示電路和音樂報警電路的設(shè)計。為硬件的制作準(zhǔn)備了充分的條件。第4章病房無線呼叫系統(tǒng)的軟件設(shè)計系統(tǒng)功能的實現(xiàn)是依靠硬件和軟件良好的結(jié)合,硬件決定了系統(tǒng)基本結(jié)構(gòu)和特性,而軟件則是驅(qū)動系統(tǒng)的靈魂,兩者缺一不可,相輔相成。主機工作的基本軟件實現(xiàn)方法是:主機開機后,先對芯片和器件進行各種初始化操作,然后進入數(shù)據(jù)等待接受模式,如接到從機信號,首先對其進行處理和儲存,將信息通過液晶顯示,并控制音樂報警,提醒醫(yī)務(wù)人員。本設(shè)計的軟件程序是用C語言編寫的,它包括主程序、中斷子程序、無線收發(fā)子程序、液晶顯示程序,報警音樂切換子程序等等。4.1程序總流程圖下面是主程序流程圖,如圖4-1所示,基本流程是:首先顯示開機畫面,然后判斷是否有人呼叫,在無人呼叫的狀態(tài)下,顯示當(dāng)前溫度和無人呼叫信息,當(dāng)有人呼叫時,顯示呼叫人數(shù)和呼叫床號,并音樂報警,當(dāng)按下切換鍵時,啟動外部中斷,更換曲名,當(dāng)有醫(yī)護人員去處理呼叫事件時,按下清除鍵,液晶上的呼叫信息清除,恢復(fù)到起始時的只顯示溫度和無人呼叫的狀態(tài)。系統(tǒng)初始化系統(tǒng)初始化是否有人呼叫醫(yī)護人員是否采取措施液晶顯示開機畫面并顯示當(dāng)前溫度音樂提示是否切換播放音樂液晶顯示哪位呼叫和呼叫人數(shù)切換提示音樂清除呼叫信息是否是否是否開始結(jié)束圖4-1單片機主程序流程圖4.2液晶顯示子程序液晶部分用于顯示溫度和呼叫信息等容,開機時,會出現(xiàn)開機畫面,進入穩(wěn)定工作狀態(tài)后,會涉與到溫度變化和呼叫信息的變化與清除,流程圖如圖4-2所示:液晶初始化開機畫面液晶初始化開機畫面開始修改液晶上的溫度值顯示當(dāng)前無人呼叫顯示當(dāng)前溫度溫度是否發(fā)生變化否是是否有人呼叫顯示呼叫床號顯示呼叫總數(shù)按鍵是否按下顯示無人呼叫是否圖4-2液晶顯示流程圖4.3中斷子程序本設(shè)計用到了定時器中斷T0和外部中斷INT0。定時器T0主要用于實現(xiàn)軟件延時,在本設(shè)計中,如讀寫溫度傳感器,往液晶里寫數(shù)據(jù)或命令,都要用到軟件延時;外部中斷INT0用于處理音樂切換,當(dāng)切換鍵按下,觸發(fā)外部中斷,進入外部中斷處理程序。它們的流程圖如圖4-3所示:設(shè)置T0為模式1設(shè)置T0為模式1設(shè)置ET0=1打開定時器T0賦初始值啟動定時器T0是否發(fā)生中斷中斷處理程序ISR是否設(shè)置外部中斷0的觸發(fā)方式設(shè)置EX0=0打開外部中斷INT0切換音樂按鍵是否按下外部中斷0處理程序ISR是否定時器T0流程圖外部中斷0流程圖圖4-3定時器中斷和外部中斷子程序本章小結(jié)本章了軟件設(shè)計的基本過程,給出了程序流程圖,包括程序總流程圖,液晶顯示流程圖和中斷流程圖,通過繪制流程圖,為單片機程序的編寫提供了方向和思路,有利于軟件的快速編寫。第5章無線呼叫系統(tǒng)的調(diào)試和結(jié)果本章節(jié)主要說明本課題設(shè)計的作品,對整體作品的實物與各部分功能模塊實物作了全面的介紹,并對本課題設(shè)計的作品結(jié)果作了全面的分析與評價。5.1實物整體外觀通過前面的理論分析和軟件硬件的設(shè)計,制作的實物如下圖5-1所示。左邊為從機,可以通過跳冒來選擇要發(fā)送的數(shù)據(jù),它有16種數(shù)據(jù)組合,從0000~11111。按鍵控制是否發(fā)送數(shù)據(jù)。右邊為主機,當(dāng)接受到數(shù)據(jù)并解調(diào)得到后,首先核對地址碼是否匹配,當(dāng)匹配時,將解碼得到的數(shù)字信號交給單片機處理。呼叫信息通過液晶顯示,啟動音樂報警電路。圖5-1整體實物圖注:左邊為發(fā)射板右邊為接收板5.2測試結(jié)果與展望當(dāng)無人呼叫時,顯示如下圖5-2所示;當(dāng)有1人呼叫時,顯示如下圖5-3所示圖5-2無人呼叫時圖5-31人呼叫時當(dāng)有2人呼叫時,如下圖5-4所示圖5-42人呼叫時圖中看以看出,當(dāng)無人呼叫,一人呼叫和兩人呼叫時,液晶上都能準(zhǔn)確的顯示呼叫信息。下面是是否能正常無線傳輸?shù)臏y試結(jié)果沒障礙物時(測10次的有效次數(shù))距離(M)電壓(V)204060801001201401601802003V1010998887656V10101099988879V1010101099998812V1010101010109999有障礙物時(測10次的有效次數(shù))距離(M)電壓(V)204060801001201401601802003V109987765426V1010998776659V101010999887712V10101010999988測試結(jié)果經(jīng)測試,無線收發(fā)的穩(wěn)定性不僅跟跟電源電壓有關(guān),還跟傳輸距離有很大關(guān)系,它可以無線傳輸100M左右的距離,電壓最好選擇12V。展望本系統(tǒng)不僅適用于醫(yī)院病房,稍加改進還可以廣泛應(yīng)用于需要多路防戒備的防盜,大型停車場的管理,酒店客房對總臺呼叫,教學(xué)提問搶答,無線航模,多種動作控制的無線遙控玩具等場合。結(jié)束語到目前,整個系統(tǒng)設(shè)計完畢,本系統(tǒng)利用AT89S52作為主控CPU,從機通過PT2262的編碼和高頻發(fā)射電路的發(fā)送將信號發(fā)送出去,主機通過高頻接收電路和PT2272對信號進行接收,經(jīng)過單片機的處理,通過液晶顯示與音樂報警提醒醫(yī)院人員,很好的實現(xiàn)了醫(yī)院無線呼叫系統(tǒng)。通過測試,達到設(shè)計的預(yù)期要求。通過這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識,專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉.使我在單片機的基本原理,單片機應(yīng)用系統(tǒng)開發(fā)過程,以與在常用編程設(shè)計思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)參考文獻[1]衛(wèi)鋼.通信原理與通信技術(shù)[A].:電子科技大學(xué),2008:134~137[2]蕭文.高頻電子技術(shù)(第五版)[A].:高等教育,2009.05[3]黃智偉.無線發(fā)射與接收電路設(shè)計(第二版)[A].:航空航天大學(xué)2007:567~574[4]郭天祥.51單片機C語言教程[A].:電子工業(yè),2009:342~354[5]秋.利用編解碼芯片的無線收發(fā)電路[J].信息化研究第35卷第9期[6]玲莉.基于PT2262/2272四路遙控接收發(fā)射模塊設(shè)計[J].電子元器件[7]黃智偉,富英.基于MAX7044/7033的300~450MHzASK無線收發(fā)電路[J].新器件新技術(shù)[8]吳文南,胡愛群,宋宇波.短距離無線語音和數(shù)據(jù)傳輸模塊的設(shè)計與實現(xiàn)[J]現(xiàn)代電子技術(shù),2007,(05).[9]夏方林.基于AT89C2051的單戶可視對講門鈴室分機的設(shè)計[J]微計算機信息,2004,(10).[10]洪明.單通道紅外遙控電路[J]電子世界,2000,(02).[11]吳文佳.PT2262/PT2272編解碼IC在無線智能報警系統(tǒng)中的應(yīng)用[J]世界電子元器件,2004,(12).[12]湯青波,朱文虎,周榮瑋.\o"單工無線呼叫系統(tǒng)相似度51%"單工無線呼叫系統(tǒng)[J].理工大學(xué)學(xué)報,2007,(01)[13]曾進輝.基于DTMF的醫(yī)院護理呼叫系統(tǒng)的設(shè)計與實現(xiàn)[D]大學(xué),2007.[14]超,吳占江,鄧亮輝.\o"無線呼叫系統(tǒng)的設(shè)計相似度35%"無線呼叫系統(tǒng)的設(shè)計[J].文理學(xué)院學(xué)報(自然科學(xué)版),2006,(02)[15]吳文佳.PT2262/PT2272編解碼IC在無線智能報警系統(tǒng)中的應(yīng)用[J]世界電子元器件,2004,(12).[16]聶光義.點對多點的多任務(wù)無線通信[J]單片機與嵌入式系統(tǒng)應(yīng)用,2003,(03).致語這次如此龐大的、涉與電子硬件和軟件兩個方面的設(shè)計,是在指導(dǎo)老師的幫助下完成一個項目,深深感到掌握知識要全面,分析問題要細(xì)致,系統(tǒng)設(shè)計要能從原理上加以理解,這樣才有助于對系統(tǒng)設(shè)計的認(rèn)識,并與時解決設(shè)計中出現(xiàn)的問題。它不僅僅的是單純對理論知識的理解,而且是分析問題、解決問題能力的培養(yǎng)。在這幾周里能夠順利地完成畢業(yè)設(shè)計,首先要感我的指導(dǎo)老師付智何教授。本設(shè)計從開題到方案的設(shè)計、具體電路試驗與論文寫作的實施始終是在導(dǎo)師付智何老師的精心指導(dǎo)和周密安排下進行的。在此,謹(jǐn)向付老師致以最衷心的意。其次,我要感我的同學(xué)和舍友,他們對我的幫助和支持,感他們在畢業(yè)設(shè)計階段給予我的無私幫助。再就是,我要特別感我的父母與家人,他們始終如一的關(guān)懷和鼓勵使我能夠順利完成學(xué)業(yè)。最后,感在百忙之中給我審稿的諸位老師。附錄一:原理圖圖附1從機原理圖圖附2主機原理圖附錄二:單片機程序/*********************************************************************文件名:1602.h*描述:液晶顯示部分頭文件***********************************************************************/#include"reg52.H"#defineucharunsignedchar#defineuintunsignedint//這三個引腳參考資料sbitE=P2^5; //1602使能引腳sbitRW=P2^6; //1602讀寫引腳 sbitRS=P2^7; //1602數(shù)據(jù)/命令選擇引腳voiddelay();ucharConvert(uchar);voidenable(uchar);voidwrite(uchar);voidL1602_init(void);voidL1602_char(uchar,uchar,char);voidL1602_string(uchar,uchar,uchar*);voidL1602_int(uchar,uchar,int);/*********************************************************************文件名:DS18B20.h*描述:溫度傳感器部分頭文件***********************************************************************/sbitDQ=P3^3;//定義DQ引腳為P3.3/*******************************延時函數(shù)*********************************功能:在11.059MHz的晶振條件下調(diào)用本函數(shù)需要24μs,然后每次計數(shù)需16μs**************************************************************************/voidDS18_delay(intuseconds){ints;for(s=0;s<useconds;s++);}/*******************************復(fù)位函數(shù)********************************功能:完成單總線的復(fù)位操作。*復(fù)位時間為480μs,因此延時時間為(480-24)/16=28.5,取29μs。*經(jīng)過70μs之后檢測存在脈沖,因此延時時間為(70-24)/16=2.875,取3μs。**************************************************************************/unsignedcharow_reset(void){unsignedcharpresence;DQ=0; //將DQ線拉低DS18_delay(29); //保持480μsDQ=1; //DQ返回高電平DS18_delay(3); //等待存在脈沖presence=DQ; //獲得存在信號DS18_delay(25); //等待時間隙結(jié)束return(presence); //返回存在信號,0=器件存在,1=無器件}/******************************位寫入函數(shù)********************************功能:向單總線寫入1位值:bitval*************************************************************************/voidwrite_bit(charbitval){DQ=0; //將DQ拉低開始寫時間隙if(bitval==1)DQ=1; //如果寫1,DQ返回高電平DS18_delay(5); //在時間隙保持電平值,DQ=1; //DS18_delay函數(shù)每次循環(huán)延時16μs,因此DS18_delay(5)=104μs} /****************************字節(jié)寫入函數(shù)********************************功能:向單總線寫入一個字節(jié)值:val*************************************************************************/voidds18write_byte(charval){unsignedchari;unsignedchartemp;for(i=0;i<8;i++){ //寫入字節(jié),每次寫入一位temp=val>>i; temp&=0x01; write_bit(temp);}DS18_delay(5);}/****************************位讀取函數(shù)*********************************功能:從單總線上讀取一位信號,所需延時時間為15μs,因此無法調(diào)用前面定義*的DS18_delay()函數(shù),而采用一個for()循環(huán)來實現(xiàn)延時。************************************************************************/unsignedcharread_bit(void){unsignedchari;DQ=0; //將DQ拉低開始讀時間隙DQ=1; //thenreturnhighfor(i=0;i<3;i++); //延時15μsreturn(DQ); //返回DQ線上的電平值}/****************************字節(jié)讀取函數(shù)********************************功能:從單總線讀取一個字節(jié)的值*************************************************************************/unsignedcharDSread_byte(void){unsignedchari;unsignedcharvalue=0;for(i=0;i<8;i++){ //讀取字節(jié),每次讀取一個字節(jié)if(read_bit())value|=0x01<<i; //然后將其左移DS18_delay(6); }return(value);}/*******************************讀取溫度函數(shù)******************************功能:如果單總線節(jié)點上只有一個器件則可以直接掉用本函數(shù)。如果節(jié)點上有多個器*件,為了避免數(shù)據(jù)沖突,應(yīng)使用MatchROM函數(shù)來選中特定器件。*注:本函數(shù)是根據(jù)DS1820的溫度數(shù)據(jù)格式編寫的,若用于DS18B20,必須根據(jù)*DS18B20的溫度數(shù)據(jù)格式作適當(dāng)修改。**************************************************************************/unsignedintReadTemperature(void){unsignedcharget[10];unsignedchartemp_lsb,temp_msb;unsignedintt;unsignedchark;ow_reset();ds18write_byte(0xCC); //跳過ROMds18write_byte(0x44); //啟動溫度轉(zhuǎn)換DS18_delay(5);ow_reset();ds18write_byte(0xCC); //跳過ROMds18write_byte(0xBE); //讀暫存器for(k=0;k<2;k++){get[k]=DSread_byte();}temp_msb=get[1];//Signbyte+lsbittemp_lsb=get[0];//Tempdatapluslsbt=temp_msb*256+temp_lsb;t=t&0x0ff0;if(t<0xff&&t>0xf0)t=(-1)*t;returnt>>4;//temp_f=(((int)temp_c)*9)/5+32; //輸出華氏溫度值}/*******************DS18B20測溫程序******************************************運行結(jié)果會在函數(shù)ReadTemperature()保存兩位十進制數(shù)字的溫度值調(diào)用時,要這樣: uchartemp;設(shè)定一個無符號變量temp temp=ReadTemperature();變量temp=函數(shù)值=二位數(shù)的溫度值 然后可以用temp參與顯示工作。***************************************************************************//*********************************端口定義**********************************/sbitDQ=P3^3; //數(shù)據(jù)傳輸線接單片機的相應(yīng)的引腳/*********************************定義全局變量******************************/unsignedchartempL=0; //臨時變量低位(無符號字符變量)unsignedchartempH=0; //臨時變量高位unsignedchartempa; //溫度值(整型變量)/****************************************************************************函數(shù)功能:延時子程序入口參數(shù):k出口參數(shù):****************************************************************************/voidDS18_delay(intuseconds){ints;for(s=0;s<useconds;s++);}/***************************************************************************函數(shù)功能:DS18B20初始化子程序入口參數(shù):出口參數(shù):****************************************************************************/unsignedcharInit_DS18B20(void){ unsignedcharx=0; DQ=0; //發(fā)送復(fù)位脈沖 DS18_delay(29); //延時(>480ms) DQ=1; //拉高數(shù)據(jù)線 DS18_delay(3); //等待(15~60ms)等待存在脈沖x=DQ;
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意店裝修協(xié)議范本
- 2025年商砼站市場拓展聯(lián)營協(xié)議
- 二年級數(shù)學(xué)蘇教版下冊第五單元《分米和毫米》教學(xué)設(shè)計教案
- 光纖鋪設(shè)合同范本
- 2025年度個人肖像權(quán)網(wǎng)絡(luò)直播平臺形象代言授權(quán)協(xié)議書
- 木糖粉行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 健身房裝修延期協(xié)議
- 2025年度教育培訓(xùn)機構(gòu)學(xué)生安全保障協(xié)議
- 滑冰場裝修合同模板及明細(xì)
- 2025年度物業(yè)管理與業(yè)主共建社區(qū)安全防范體系合同
- 數(shù)字化戰(zhàn)略轉(zhuǎn)型-深度研究
- 【上?!康谝淮卧驴季?1【20~21章】
- 2025年東營科技職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年企業(yè)中高層安全第一課:安全責(zé)任意識強化專題培訓(xùn)
- 英語-九師聯(lián)盟2025屆高三年級上學(xué)期1月質(zhì)量檢測試題和答案
- 流行性感冒診療方案(2025年版)
- 2024CSCO免疫檢查點抑制劑相關(guān)的毒性管理指南
- 《影像增強檢查外周靜脈通路三級評價模式應(yīng)用規(guī)范》編制說明
- 2025年社區(qū)計生工作計劃(三篇)
- 2025江西上饒經(jīng)濟技術(shù)開發(fā)區(qū)招商集團限公司招聘29人高頻重點提升(共500題)附帶答案詳解
- 石油行業(yè)海洋石油勘探與開發(fā)方案
評論
0/150
提交評論