基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)(共23頁(yè))_第1頁(yè)
基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)(共23頁(yè))_第2頁(yè)
基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)(共23頁(yè))_第3頁(yè)
基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)(共23頁(yè))_第4頁(yè)
基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)(共23頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)項(xiàng)目(二級(jí)項(xiàng)目)設(shè)計(jì)說(shuō)明書(shū)(2013/2014學(xué)年第二學(xué)期) 題 目 : 基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì) _專(zhuān)業(yè)班級(jí) : 通信工程11級(jí)1班 學(xué)生姓名 : 學(xué) 號(hào): 指導(dǎo)教師 :賈少銳、王鵬、李曉東 設(shè)計(jì)周數(shù) : 1周 設(shè)計(jì)成績(jī) : 2014年6月27日目錄091、課程設(shè)計(jì)目的無(wú)線射頻技術(shù)作為本世紀(jì)最有發(fā)展前景的信息技術(shù)之一,已經(jīng)得到業(yè)界的高度重視。該技術(shù)利用射頻方式進(jìn)行非接觸雙向通信,可以自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),具有精度高、適應(yīng)環(huán)境能力強(qiáng)、抗干擾強(qiáng)、操作快捷等許多優(yōu)點(diǎn)。現(xiàn)代通信技術(shù)的迅速發(fā)展使得許多應(yīng)用領(lǐng)域都采用無(wú)線的通信方式進(jìn)行數(shù)據(jù)傳輸

2、。F05/J04收發(fā)模塊,由于具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),廣泛應(yīng)用于各類(lèi)的無(wú)線遙控器、無(wú)線報(bào)警器以及玩具等其他小型電器裝置。但是,這種電路極少用在多個(gè)字節(jié)數(shù)據(jù)的通信方面,具有一定的局限性。這次課設(shè)主要介紹利用315 MHz高頻發(fā)射模塊和接收模塊來(lái)制作無(wú)線通信?;趯?duì)課題的理解,本次設(shè)計(jì)要求我們完成一個(gè)基于單片機(jī)控制的簡(jiǎn)易電壓表,要求能監(jiān)測(cè)兩路的輸入電壓值,測(cè)量范圍為05伏的輸入電壓值;用8位串行A/D轉(zhuǎn)換器,8為分辨率,逐次逼近型,基準(zhǔn)電壓5V;能用兩位LED進(jìn)行輪流顯示或單路選擇顯示,顯示精度為0.1V 。2、 總體設(shè)計(jì)方案繼上兩周的課程設(shè)計(jì)結(jié)果,用C語(yǔ)言的編程,做出了STC8

3、9C52RC單片機(jī)上實(shí)現(xiàn)了一個(gè)基于單片機(jī)控制的簡(jiǎn)易電壓表的設(shè)計(jì)。這次我們要應(yīng)用F05/J04無(wú)線收發(fā)模塊,通過(guò)STC89C52RC單片機(jī)的P3.0和P3.1口進(jìn)行串口通信 ,再寫(xiě)出相應(yīng)的發(fā)送端和接收端的程序,分別考入兩個(gè)單片機(jī)中,從而實(shí)現(xiàn)從一個(gè)單片機(jī)發(fā)送到另一單片機(jī)上顯示和報(bào)警。3、設(shè)計(jì)組成及原理分析無(wú)線數(shù)據(jù)傳輸廣泛地運(yùn)用在、遙控、遙測(cè)、小型無(wú)線網(wǎng)絡(luò)、門(mén)禁系統(tǒng)、小區(qū)傳呼、工業(yè)、無(wú)線標(biāo)簽、身份識(shí)別、非接觸RF智能卡、小型無(wú)線數(shù)據(jù)終端、安全防火系統(tǒng)、無(wú)線遙控系統(tǒng)、生物信號(hào)采集、水文氣象監(jiān)控、機(jī)器人控制、無(wú)線232數(shù)據(jù)通信、無(wú)線485/422數(shù)據(jù)通信、數(shù)字圖像傳輸?shù)阮I(lǐng)域中。下面具體介紹 315M無(wú)線

4、發(fā)射接收模塊(不帶編碼發(fā)射接收模塊)。3.1 315M發(fā)射模塊它具有聲表穩(wěn)頻、性能穩(wěn)定、工作電壓范圍寬、產(chǎn)品一致性好,性?xún)r(jià)比高等優(yōu)點(diǎn)。下圖為315M無(wú)線發(fā)射頭實(shí)物圖。圖1 315M無(wú)線發(fā)射頭實(shí)物圖下圖為315M無(wú)線發(fā)射模塊等效電路圖。圖2 DF發(fā)射模塊的等效電路圖主要技術(shù)指標(biāo):(1)通訊方式:調(diào)幅AM(2)工作頻率:315MHZ (可以提供433MHZ,購(gòu)貨時(shí)請(qǐng)?zhí)貏e注明)(3)頻率穩(wěn)定度:±75KHZ(4)發(fā)射功率:500MW(5)靜態(tài)電流:0.1UA(6)發(fā)射電流:350MA(7)工作電壓:DC 312V 無(wú)線數(shù)據(jù)傳輸廣泛地運(yùn)用在車(chē)輛監(jiān)控、遙控、遙測(cè)、小型無(wú)線網(wǎng)絡(luò)、無(wú)線抄表、門(mén)禁系

5、統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無(wú)線標(biāo)簽、身份識(shí)別、非接觸RF智能卡、小型無(wú)線數(shù)據(jù)終端、安全防火系統(tǒng)、無(wú)線遙控系統(tǒng)、生物信號(hào)采集、水文氣象監(jiān)控、機(jī)器人控制、無(wú)線232數(shù)據(jù)通信、無(wú)線485/422數(shù)據(jù)通信、數(shù)字音頻、數(shù)字圖像傳輸?shù)阮I(lǐng)域中。 DF數(shù)據(jù)發(fā)射模塊的工作頻率為315M,采用聲表諧振器SAW穩(wěn)頻,頻率穩(wěn)定度極高,當(dāng)環(huán)境溫度在2585度之間變化時(shí),頻飄僅為3ppm/度。特別適合多發(fā)一收無(wú)線遙控及數(shù)據(jù)傳輸系統(tǒng)。聲表諧振器的頻率穩(wěn)定度僅次于晶體,而一般的LC振蕩器頻率穩(wěn)定度及一致性較差,即使采用高品質(zhì)微調(diào)電容,溫差變化及振動(dòng)也很難保證已調(diào)好的頻點(diǎn)不會(huì)發(fā)生偏移。 DF發(fā)射模塊未設(shè)編碼集成電路,而增

6、加了一只數(shù)據(jù)調(diào)制三極管Q1,這種結(jié)構(gòu)使得它可以方便地和其它固定編碼電路、滾動(dòng)碼電路及單片機(jī)接口,而不必考慮編碼電路的工作電壓和輸出幅度信號(hào)值的大小。DF數(shù)據(jù)模塊具有較寬的工作電壓范圍312V,當(dāng)電壓變化時(shí)發(fā)射頻率基本不變,和發(fā)射模塊配套的接收模塊無(wú)需任何調(diào)整就能穩(wěn)定地接收。當(dāng)發(fā)射電壓為3V時(shí),空曠地傳輸距離約2050米,發(fā)射功率較小,當(dāng)電壓5V時(shí)約100200米,當(dāng)電壓9V時(shí)約300500米,當(dāng)發(fā)射電壓為12V時(shí),為最佳工作電壓,具有較好的發(fā)射效果,發(fā)射電流約60毫安,空曠地傳輸距離700800米,發(fā)射功率約500毫瓦。當(dāng)電壓大于l2V時(shí)功耗增大,有效發(fā)射功率不再明顯提高。這套模塊的特點(diǎn)是發(fā)射

7、功率比較大,傳輸距離比較遠(yuǎn),比較適合惡劣條件下進(jìn)行通訊。天線最好選用25厘米長(zhǎng)的導(dǎo)線,遠(yuǎn)距離傳輸時(shí)最好能夠豎立起來(lái),因?yàn)闊o(wú)線電信號(hào)傳輸時(shí)收很多因素的影響,所以一般實(shí)用距離只有標(biāo)稱(chēng)距離的20甚至更少,這點(diǎn)需要在開(kāi)發(fā)時(shí)注意考慮。 DF數(shù)據(jù)模塊采用ASK方式調(diào)制,以降低功耗,當(dāng)數(shù)據(jù)信號(hào)停止時(shí)發(fā)射電流降為零,數(shù)據(jù)信號(hào)與DF發(fā)射模塊輸入端可以用電阻或者直接連接而不能用電容耦合,否則DF發(fā)射模塊將不能正常工作。數(shù)據(jù)電平應(yīng)接近DF數(shù)據(jù)模塊的實(shí)際工作電壓,以獲得較高的調(diào)制效果。 DF發(fā)射發(fā)射模塊最好能垂直安裝在主板的邊緣,應(yīng)離開(kāi)周?chē)骷?mm以上,以免受分布參數(shù)影晌。DF模塊的傳輸距離與調(diào)制信號(hào)鐸率及幅度,發(fā)

8、射電壓及電池容量,發(fā)射天線,接收機(jī)的靈敏度,收發(fā)環(huán)境有關(guān)。一般在開(kāi)闊區(qū)最大發(fā)射距離約800米,在有障礙的情況下,距離會(huì)縮短,由于無(wú)線電信號(hào)傳輸過(guò)程中的折射和反射會(huì)形成一些死區(qū)及不穩(wěn)定區(qū)域,不同的收發(fā)環(huán)境會(huì)有不同的收發(fā)距離。3.2 315MHZ超再生接收模塊下圖為315M無(wú)線接收頭的實(shí)物圖。圖3 315M無(wú)線接收頭實(shí)物圖 接收模塊一共有四個(gè)外部接口,上面有英文表示?!癡CC”表示接電源正極,“ DATA”表示輸出,“GND”表示接電源負(fù)極。 下圖為315M無(wú)線接收頭的超再生接收模塊的等效電路圖。圖4 DF超再生接收模塊的等效電路圖主要技術(shù)指標(biāo): (1)通訊方式:調(diào)幅AM(2)工作頻率:315MH

9、Z(可以提供433MHZ,購(gòu)貨時(shí)請(qǐng)?zhí)貏e注明)(3)頻率穩(wěn)定度:±200KHZ(4)接收靈敏度:106DBM(5)靜態(tài)電流:5MA(6)工作電流:5MA(7)工作電壓:DC 5V (8)輸出方式:TTL電平 DF接收模塊的工作電壓為5伏,靜態(tài)電流4毫安,它為超再生接收電路,接收靈敏度為105dbm,接收天線最好為2530厘米的導(dǎo)線,最好能豎立起來(lái)。接收模塊本身不帶解碼集成電路,因此接收電路僅是一種組件,只有應(yīng)用在具體電路中進(jìn)行二次開(kāi)發(fā)才能發(fā)揮應(yīng)有的作用,這種設(shè)計(jì)有很多優(yōu)點(diǎn),它可以和各種解碼電路或者單片機(jī)配合,設(shè)計(jì)電路靈活方便.這種電路的優(yōu)點(diǎn)有以下四個(gè)方面。 (1)天線輸入端有選頻電路,

10、而不依賴(lài)1/4波長(zhǎng)天線的選頻作用,控制距離較近時(shí)可以剪短甚至去掉外接天線 (2)輸出端的波形相對(duì)比較干凈,干擾信號(hào)為短暫的針狀脈沖,所以抗干擾能力較強(qiáng)。 (3)DF模塊自身輻射極小,加上電路模塊背面網(wǎng)狀接地銅箔的屏蔽作用,可以減少自身振蕩的泄漏和外界干擾信號(hào)的侵入。 (4)采用帶骨架的銅芯電感將頻率調(diào)整到315M后封固,這與采用可調(diào)電容調(diào)整接收頻率的電路相比,溫度、濕度穩(wěn)定性及抗機(jī)械振動(dòng)性能都有極大改善。可調(diào)電容調(diào)整精度較低,只有3/4圈的調(diào)整范圍,而可調(diào)電感可以做到多圈調(diào)整??烧{(diào)電容調(diào)整完畢后無(wú)法封固,因?yàn)闊o(wú)論導(dǎo)體還是絕緣體,各種介質(zhì)的靠近或侵入都會(huì)使電容的容量發(fā)生變化,進(jìn)而影響接收頻率。另

11、外未經(jīng)封固的可調(diào)電容在受到振動(dòng)時(shí)定片和動(dòng)片之間發(fā)生位移;溫度變化時(shí)熱脹冷縮會(huì)使定片和動(dòng)片間距離改變;濕度變化因介質(zhì)變化改變?nèi)萘?;長(zhǎng)期工作在潮濕環(huán)境中還會(huì)因定片和動(dòng)片的氧化改變?nèi)萘?,這些都會(huì)嚴(yán)重影響接收頻率的穩(wěn)定性,而采用可調(diào)電感就可解決這些問(wèn)題,因?yàn)殡姼锌梢栽谡{(diào)整完畢后進(jìn)行封固,絕緣體封固劑不會(huì)使電感量發(fā)生變化。DF無(wú)線數(shù)傳模塊開(kāi)發(fā)注意事項(xiàng): DF模塊必須用信號(hào)調(diào)制才能正常工作,常見(jiàn)的固定碼編碼器件如PT2262/2272,只要直接連接即可非常簡(jiǎn)單,因?yàn)槭菍?zhuān)用編碼芯片,所以效果很好傳輸距離很遠(yuǎn)。模塊輸出腳在模塊內(nèi)部通過(guò)一個(gè)上拉39K 電阻到+5V,使用的時(shí)候需要考慮解碼器件的輸入阻抗。 DF模

12、塊還有一種重要的用途就是配合單片機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)通訊,這時(shí)有一定的技巧。 (1)合理的通訊速率 DF數(shù)據(jù)模塊的最大傳輸數(shù)據(jù)速率為9.6KBs,一般控制在2.5k左右,過(guò)高的數(shù)據(jù)速率會(huì)降低接收靈敏度及增大誤碼率甚至根本無(wú)法工作。 (2)合理的信息碼格式 單片機(jī)和DF模塊工作時(shí),通常自己定義傳輸協(xié)議,不論用何種調(diào)制方式,所要傳遞的信息碼格式都很重要,它將直接影響到數(shù)據(jù)的可靠收發(fā)。 碼組格式推薦方案: 前導(dǎo)碼同步碼 數(shù)據(jù)幀 前導(dǎo)碼長(zhǎng)度應(yīng)大于是10ms,以避開(kāi)背景噪聲,因?yàn)榻邮漳K接收到的數(shù)據(jù)第一位極易被干擾(即零電平干擾)而引起接收到的數(shù)據(jù)錯(cuò)誤。所以采用CPU編譯碼可在數(shù)據(jù)識(shí)別位前加一些亂碼以抑制零電平

13、干擾。 同步碼主要用于區(qū)別于前導(dǎo)碼及數(shù)據(jù)。有一定的特征,好讓軟件能夠通過(guò)一定的算法鑒別出同步碼,同時(shí)對(duì)接收數(shù)據(jù)做好準(zhǔn)備。 數(shù)據(jù)幀不宜采用非歸零碼,更不能長(zhǎng)0和長(zhǎng)1。采用曼徹斯特編碼或POCSAG碼等,如下面的數(shù)據(jù)格式有一定檢錯(cuò)功能: (3)單片機(jī)對(duì)接收模塊的干擾 單片機(jī)模擬2262時(shí)一般都很正常,然而單片機(jī)模擬2272解碼時(shí)通常會(huì)發(fā)現(xiàn)遙控距離縮短很多,這是因?yàn)閱纹瑱C(jī)的時(shí)鐘頻率的倍頻都會(huì)對(duì)接收模塊產(chǎn)生干擾,51系列單片機(jī)工作的時(shí)候,會(huì)產(chǎn)生比較強(qiáng)的電磁輻射,頻率范圍在9MHZ-900MHZ,因此它會(huì)影響任何此頻率內(nèi)的無(wú)線接收設(shè)備的靈敏度,解決的方法是盡量降低CPU 晶體的頻率。還可以改用頻點(diǎn)較高的

14、接收頻率。 接收模塊和51系列單片機(jī)接口時(shí)最好做一個(gè)隔離電路,能較好地遏制單片機(jī)對(duì)接收模塊的電磁干擾。 DF接收模塊工作時(shí)一般輸出的是高電平脈沖,不是直流電平,所以不能用萬(wàn)用表測(cè)試,調(diào)試時(shí)可用一個(gè)發(fā)光二極管串接一個(gè)3K的電阻來(lái)監(jiān)測(cè)DF模塊的輸出狀態(tài)。 3.3 超再生接收模塊的優(yōu)勢(shì) 超再生調(diào)節(jié)電路也稱(chēng)超再生檢波電路,他是即使工作在間歇震蕩狀態(tài)下的再生檢波電路。一般再生檢波電路在中波段式靈敏度很高,所以常用來(lái)制作簡(jiǎn)易的晶體管收音機(jī)。對(duì)于工作在短波段的無(wú)線遙控或通信設(shè)備,再生檢波的靈敏度及穩(wěn)定性都不符合要求。但超再生檢波在在短波段具有很高的靈敏度,在接收弱信號(hào)時(shí)放大功率達(dá)到幾十萬(wàn)倍。因此,對(duì)于希望電

15、路簡(jiǎn)單,靈敏度高,而選擇性和信噪比要求不高的簡(jiǎn)單無(wú)線遙控設(shè)備,超再生調(diào)節(jié)電路還是很有實(shí)用價(jià)值的。而且它電路簡(jiǎn)單、成本低廉。不用超外差檢波電路的原因是,即使它溫度適應(yīng)性強(qiáng),接收靈敏度高,工作穩(wěn)定,抗干擾能力強(qiáng),但是他不能近距離不能接收。由于它的核心器件都有一個(gè)缺點(diǎn)就是強(qiáng)信號(hào)、近距離是阻塞、不能解碼。故在本次課設(shè)中,應(yīng)用超再生收發(fā)模塊沒(méi)有這個(gè)問(wèn)題。4、編寫(xiě)代碼應(yīng)用的串口通信知識(shí)51 單片機(jī)內(nèi)部有一個(gè)全雙工串行接口。什么叫全雙工串口呢?一般來(lái)說(shuō),只能接受或只能發(fā)送的稱(chēng)為單工串行;既可接收又可發(fā)送,但不能同時(shí)進(jìn)行的稱(chēng)為半雙工;能同時(shí)接收和發(fā)送的串行口稱(chēng)為全雙工串行口。串行通信是指數(shù)據(jù)一位一位地按順序傳

16、送的通信方式,其突出優(yōu)點(diǎn)是只需一根傳輸線,可大大降低硬件成本,適合遠(yuǎn)距離通信。其缺點(diǎn)是傳輸速度較低。首先我們來(lái)了解單片機(jī)串口相關(guān)的寄存器。SBUF 寄存器:它是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù),可通過(guò)指令對(duì)SBUF 的讀寫(xiě)來(lái)區(qū)別是對(duì)接收緩沖器的操作還是對(duì)發(fā)送緩沖器的操作。從而控制外部?jī)蓷l獨(dú)立的收發(fā)信號(hào)線RXD(P3.0)、TXD(P3.1),同時(shí)發(fā)送、接收數(shù)據(jù),實(shí)現(xiàn)全雙工。4.1 單片機(jī)串口通信原理 (1)51系列單片機(jī)的串口有4個(gè)模式,可分別用作串并轉(zhuǎn)換、并串轉(zhuǎn)換、(2種模式)。異步串行通信中,有1+8+1和1+8+1+1兩種,多機(jī)通信是特殊的通信方式。 (2)基本原

17、理是兩組。將轉(zhuǎn)換成模式(發(fā)送部分),或反之(接收部分)。可運(yùn)行。 (3)速度通過(guò)移位脈沖決定。具體一般通過(guò)定時(shí)器1的自動(dòng)裝載模式產(chǎn)生的溢出脈沖給出。 (4)電平上采用的是邏輯。 (5)以上是物理層和的單片機(jī)串口模塊的約定,其他層需要軟件人員根據(jù)需要自行把握。另外,電平需要根據(jù)實(shí)際通信環(huán)境做變換。串行通信雖然有其自身優(yōu)點(diǎn):如適合長(zhǎng)距離通信,有一定的糾錯(cuò)能力等,但并行通信在短距離(數(shù)米范圍內(nèi))傳輸過(guò)程中的優(yōu)點(diǎn)是顯而易見(jiàn)的。首先串行通信時(shí)要設(shè)置串口數(shù)據(jù),如:串口號(hào)(Com1、Com2或者其他串口)、波特率、數(shù)據(jù)位數(shù)、停止位、校驗(yàn)位等等。而且單片機(jī)與PC機(jī)的串口數(shù)據(jù)必須一一對(duì)等,否則不能傳輸。而并行傳

18、輸時(shí),無(wú)需上述過(guò)程。其次,PC機(jī)的串口電平值為+12V-12V,單片機(jī)是TTL電平(0+5V),兩者必須要經(jīng)過(guò)電平轉(zhuǎn)換芯片進(jìn)行電平間的轉(zhuǎn)換。而進(jìn)行并行傳輸時(shí),由于雙方都是TTL電平,所以PC的并口可以與單片機(jī)或其他芯片直接相連;另外,串行傳輸速度慢,每次只能傳送一位,而并行每次可以傳送8位,速度上的差異顯而易見(jiàn)。而對(duì)于單片機(jī),串口(UART)是最常用的端口,尤其對(duì)于存在兩個(gè)或多個(gè)串口的單片機(jī)來(lái)說(shuō),充分利用串口進(jìn)行通信是非常重要的。4.2 設(shè)定波特率與串行口相關(guān)的寄存器有定時(shí)器相關(guān)寄存器和中斷寄存器。定時(shí)器寄存器用來(lái)設(shè)定波特率。中斷允許寄存器IE 中的ES 位也用來(lái)作為串行I/O 中斷允許位。當(dāng)

19、ES 1,允許 串行I/O 中斷;當(dāng)ES 0,禁止串行I/O 中斷。中斷優(yōu)先級(jí)寄存器IP的PS 位則用作串行I/O 中斷優(yōu)先級(jí)控制位。當(dāng)PS=1,設(shè)定為高優(yōu)先級(jí);當(dāng)PS =0,設(shè)定為低優(yōu)先級(jí)。再來(lái)說(shuō)說(shuō)波特率,我們?yōu)槭裁匆O(shè)定波特率,因?yàn)閱纹瑱C(jī)會(huì)以16倍波特率的速度進(jìn)行采樣,而在實(shí)驗(yàn)中我們用的是10位異步收發(fā)方式,因此要將SM0置0,SM1置1.而其中的10位有8位數(shù)據(jù)位,第一位和最后一位是發(fā)送數(shù)據(jù)的起始與結(jié)束.采用高的皮特率就不會(huì)出錯(cuò)啦。在了解了串行口相關(guān)的寄存器之后,我們可得出其通信波特率的一些公式的。方式0的波特率=fosc/12  方式2的波特率=(2SMOD/64)

20、· fosc  方式1的波特率=(2SMOD/32)·(T1溢出率)  方式3的波特率=(2SMOD/32)·(T1溢出率) (其中,T1溢出率 = fosc /12×256 (TH1)5、 軟件程序的實(shí)現(xiàn)下面是基于C語(yǔ)言的編程的發(fā)射端程序。#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar i;uchar

21、code table=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09;/段顯示編碼uchar code scan_con4=0xef,0xdf,0xbf,0x7f;/位選,掃描四位數(shù)碼管sbit CS = P35;sbit CLK = P33;sbit DI = P34;sbit DO = P34;uchar posi = 0;/定義switch函數(shù)變量uchar dis4;/顯示在數(shù)碼管上的四位數(shù)字uchar du1=0,du2=0;/輸入單片機(jī)的數(shù)字電壓值float dvm1 = 0,dvm2 = 0;/數(shù)碼管顯示的數(shù)值void init

22、();/串口聲明void send_data();/串口發(fā)送函數(shù)聲明void delay(uchar t) /延時(shí)uchar i;for(i = 0;i<t;i+);/-/ 獲取指定通道的A/D轉(zhuǎn)換結(jié)果/-uchar Get_Value_ADC0832(uchar CH) uchar i,dat1=0,dat2=0;/ 起始控制位CLK=0; _nop_(); DI=1; _nop_(); CS=0; _nop_(); CLK=1; _nop_();/ 第一個(gè)下降沿之前,設(shè)置DI=1/0;/ 選擇單端/差分(SGL/DIF)模式中的單端輸入模式if ( CH = 0x02 ) /選擇了通

23、道0CLK = 0;DI = 1; /通道0的第一位,第2個(gè)時(shí)鐘脈沖下沉之前DI端是高電平_nop_();CLK= 1;_nop_();CLK = 0;DI = 0; /通道0的第二位,第3個(gè)時(shí)鐘脈沖的下沉之前DI端是低電平_nop_();CLK = 1;_nop_(); if(CH=0x03) /選擇了通道1CLK = 0;DI = 1; /通道1的第一位,第2個(gè)時(shí)鐘脈沖下沉之前DI端是高電平_nop_();CLK = 1;_nop_();CLK = 0;DI = 1; /通道1的第二位,第3個(gè)時(shí)鐘脈沖下沉之前DI端是高電平_nop_();CLK = 1;_nop_();CLK=0;DI=1

24、;_nop_(); /第4-11個(gè)脈沖期間讀數(shù)據(jù)(MSB->LSB)for(i=0;i<8;i+) CLK=1; _nop_(); CLK=0; _nop_(); dat1=dat1<<1|DO; /第11-18個(gè)脈沖期間讀數(shù)據(jù)(LSB->MSB)for(i=0;i<8;i+) dat2=dat2|(uchar)(DO)<<i);CLK=1; _nop_(); CLK=0; _nop_(); CS=1;_nop_();CLK = 1; return (dat1=dat2)?dat1:0;/將數(shù)字電壓轉(zhuǎn)化為相應(yīng)的十進(jìn)制數(shù)float change(u

25、char dat)float dvm = dat*1.0/51; return dvm;/顯示子程序,數(shù)碼管高兩位顯示第一路,低兩位顯示第二路void display(float u1,float u2)/uchar ua1,ua2,ub1,ub2;ua1 = (uchar)u1;ua2 = (uchar)(u1-ua1)*10);ub1 = (uchar)u2;ub2 = (uchar)(u2-ub1)*10);dis0 = ua1;dis1 = ua2;dis2 = ub1;dis3 = ub2;/循環(huán)顯示四位數(shù)碼管switch (posi) case 0: P2=scan_con0; P

26、0=tabledis0&0xfe; delay(100); break; case 1: P2=scan_con1; P0=tabledis1;delay(100); break; case 2: P2=scan_con2; P0=tabledis2&0xfe;delay(100); break; case 3:P2=scan_con3; P0=tabledis3;delay(100); break;posi+;if(posi>3)posi = 0;/主程序void main()P0 = 0xff;P1 = 0x00;P2 = 0x0f;/P3 = 0xff;init()

27、;while(1)du1 = Get_Value_ADC0832(0x02);/讀取第一路數(shù)字化的電壓du2 = Get_Value_ADC0832(0x03);/讀取第二路數(shù)字化的電壓dvm1 = change(du1);dvm2 = change(du2);send_data();/*無(wú)線發(fā)送模塊*/串口初始化void init()TMOD = 0x21;/定時(shí)器1工作方式2,做串口中斷,定時(shí)器0工作方式1TH1 = 0xe8;/波特率設(shè)置為1200TL1 = 0xe8;TR1 = 1;/啟動(dòng)定時(shí)器1TH0 = (65536-5000)/256;TL0 = (65536-5000)%256

28、;ET0 = 1;/允許T0溢出中斷TR0 = 1;/啟動(dòng)定時(shí)器0SCON = 0x40;/工作在方式1,TI,RI設(shè)置的值為0EA = 1;/cpu開(kāi)放所有中斷/串口發(fā)送函數(shù)void send_data()uchar i;SBUF = 0xfe;/發(fā)送小數(shù)點(diǎn)作為順序接收的起始標(biāo)志while(!TI);TI = 0;delay(10);for(i = 0;i<4;i+)SBUF = disi;while(!TI);TI = 0; delay(500);/定時(shí)器0的中斷 定時(shí)器中斷延時(shí)程序 這一段的作用時(shí)隔一段時(shí)間抽樣一次 否側(cè)顯示的最后一位會(huì)不穩(wěn)定void Timer0() interr

29、upt 1TH0 = (65536-5000)/256;TL0 = (65536-5000)%256;display(dvm1,dvm2);下面是基于C語(yǔ)言的編程的接收端程序。#include<reg52.h>#define uchar unsigned charint i = 0,j;/*共陽(yáng)LED段碼表*/uchar code table=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09;/數(shù)碼管位選編碼/uchar code scan_con = 0x1f,0x2f,0x4f,0x8f;/存儲(chǔ)收到的四位要顯示的十進(jìn)制數(shù)ucha

30、r code scan_con = 0xef,0xdf,0xbf,0x7f;uchar dat4;uchar posi = 0;/*延時(shí)子程序*/void delay(unsigned char m) int k; for(k=0;k<m;k+);/串口初始化void init()TMOD = 0x20;TH1 = 0xe8;/設(shè)置1200的波特率TL1 = 0xe8;TR1 = 1;TH0 = (65536-5000)/256;TL0 = (65536-5000)%256;ET0 = 1;TR0 =1;SCON = 0x50;EA = 1;/數(shù)碼管顯示void display()swi

31、tch (posi) case 0: P2=scan_con0; P0=tabledat0&0xfe; delay(100); break; case 1: P2=scan_con1; P0=tabledat1;delay(100); break; case 2: P2=scan_con2; P0=tabledat2&0xfe;delay(100); break; case 3:P2=scan_con3; P0=tabledat3;delay(100); break;posi+;if(posi>3)posi = 0;void main()P0 = 0xff;/初始化P2

32、= 0xff;init();while(1)while(!RI);RI = 0;if(SBUF = 0xfe)for(i = 0;i<4;i+)while(!RI);RI = 0;dati = SBUF;/定時(shí)器0中斷服務(wù)void timer0() interrupt 1TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;display();下圖為實(shí)驗(yàn)結(jié)果圖。圖5 實(shí)驗(yàn)結(jié)果圖6、總結(jié)本次課設(shè)重點(diǎn)了解了315M無(wú)線傳輸模塊,具體的收發(fā)模塊的原理及性能,應(yīng)用于簡(jiǎn)易電壓表的設(shè)計(jì),實(shí)現(xiàn)了從一個(gè)單片機(jī)發(fā)送到另一個(gè)單片機(jī)上,主機(jī)發(fā)送數(shù)據(jù)信號(hào),從機(jī)就能接受,要用三極管取反輸入單片機(jī),可以是中斷接收,也可以查詢(xún)接受,我們用的是中斷接收。編碼相對(duì)于解碼簡(jiǎn)單,但我們也遇到了很大的困難。我們還了解了單片機(jī)串口通信的接口及原理,了解和掌握STC89C52RC單片機(jī)串口通信的原理與應(yīng)用流程,利用串口通信,實(shí)現(xiàn)全雙工,使數(shù)據(jù)一位一位地按順序傳送的通信方式,其突出優(yōu)點(diǎn)是只需一根傳輸線,可大大降低硬件成本,適合遠(yuǎn)距離通信。單片機(jī)還可以與計(jì)算機(jī)相連,也可以單片機(jī)互聯(lián)或者多個(gè)單片機(jī)相互通信組網(wǎng)等,在實(shí)際的工程應(yīng)用中非常廣泛。我們小組經(jīng)過(guò)近一周系統(tǒng)的硬件和軟件的設(shè)計(jì)、系統(tǒng)的調(diào)試。查閱了大量的關(guān)于單片機(jī)及其接口電路、串口通

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論