無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)項(xiàng)目設(shè)計(jì)說明書基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
《無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)項(xiàng)目設(shè)計(jì)說明書基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)項(xiàng)目設(shè)計(jì)說明書基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)(23頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)項(xiàng)目 (二級(jí)項(xiàng)目) 設(shè)計(jì)說明書 (2013/2014學(xué)年第二學(xué)期) 題 目 : 基于無(wú)線的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì) _ 專業(yè)班級(jí) : 通信工程11級(jí)1班 學(xué)生姓名 : 學(xué) 號(hào): 指導(dǎo)教師 :賈少銳、王鵬、李曉東 設(shè)計(jì)周數(shù) : 1周 設(shè)計(jì)成績(jī) : 2014年6月27日 目錄 1、課程設(shè)計(jì)目的 2 2、 總體設(shè)計(jì)方案 2
2、 3、設(shè)計(jì)組成及原理分析 2 3.1 315M發(fā)射模塊 3 3.2 315MHZ超再生接收模塊 5 3.3 超再生接收模塊的優(yōu)勢(shì) 7 4、編寫代碼應(yīng)用的串口通信知識(shí) 8 4.1 單片機(jī)串口通信原理 8 4.2 設(shè)定波特率 9 5、 軟件程序的實(shí)現(xiàn) 10 6、總結(jié) 19 7、參考文獻(xiàn) 21 1、課程設(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)。
3、現(xiàn)代通信技術(shù)的迅速發(fā)展使得許多應(yīng)用領(lǐng)域都采用無(wú)線的通信方式進(jìn)行數(shù)據(jù)傳輸。F05/J04收發(fā)模塊,由于具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),廣泛應(yīng)用于各類的無(wú)線遙控器、無(wú)線報(bào)警器以及玩具等其他小型電器裝置。但是,這種電路極少用在多個(gè)字節(jié)數(shù)據(jù)的通信方面,具有一定的局限性。這次課設(shè)主要介紹利用315 MHz高頻發(fā)射模塊和接收模塊來制作無(wú)線通信。 基于對(duì)課題的理解,本次設(shè)計(jì)要求我們完成一個(gè)基于單片機(jī)控制的簡(jiǎn)易電壓表,要求能監(jiān)測(cè)兩路的輸入電壓值,測(cè)量范圍為0—5伏的輸入電壓值;用8位串行A/D轉(zhuǎn)換器,8為分辨率,逐次逼近型,基準(zhǔn)電壓5V;能用兩位LED進(jìn)行輪流顯示或單路選擇顯示,顯示精度為0.1V
4、 。 2、 總體設(shè)計(jì)方案 繼上兩周的課程設(shè)計(jì)結(jié)果,用C語(yǔ)言的編程,做出了STC89C52RC單片機(jī)上實(shí)現(xiàn)了一個(gè)基于單片機(jī)控制的簡(jiǎn)易電壓表的設(shè)計(jì)。這次我們要應(yīng)用F05/J04無(wú)線收發(fā)模塊,通過STC89C52RC單片機(jī)的P3.0和P3.1口進(jìn)行串口通信 ,再寫出相應(yīng)的發(fā)送端和接收端的程序,分別考入兩個(gè)單片機(jī)中,從而實(shí)現(xiàn)從一個(gè)單片機(jī)發(fā)送到另一單片機(jī)上顯示和報(bào)警。 3、設(shè)計(jì)組成及原理分析 無(wú)線數(shù)據(jù)傳輸廣泛地運(yùn)用在車輛監(jiān)控、遙控、遙測(cè)、小型無(wú)線網(wǎng)絡(luò)、無(wú)線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無(wú)線標(biāo)簽、身份識(shí)別、非接觸RF智能卡、小型無(wú)線數(shù)據(jù)終端、安全防火系統(tǒng)、無(wú)線遙控系統(tǒng)、生物信號(hào)采集、
5、水文氣象監(jiān)控、機(jī)器人控制、無(wú)線232數(shù)據(jù)通信、無(wú)線485/422數(shù)據(jù)通信、數(shù)字音頻、數(shù)字圖像傳輸?shù)阮I(lǐng)域中。下面具體介紹 315M無(wú)線發(fā)射接收模塊(不帶編碼發(fā)射接收模塊)。 3.1 315M發(fā)射模塊 它具有聲表穩(wěn)頻、性能穩(wěn)定、工作電壓范圍寬、產(chǎn)品一致性好,性價(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 (可以提供433
6、MHZ,購(gòu)貨時(shí)請(qǐng)?zhí)貏e注明) (3)頻率穩(wěn)定度:75KHZ (4)發(fā)射功率:≤500MW (5)靜態(tài)電流:≤0.1UA (6)發(fā)射電流:3~50MA (7)工作電壓:DC 3~12V 無(wú)線數(shù)據(jù)傳輸廣泛地運(yùn)用在車輛監(jiān)控、遙控、遙測(cè)、小型無(wú)線網(wǎng)絡(luò)、無(wú)線抄表、門禁系統(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)定度
7、極高,當(dāng)環(huán)境溫度在-25~+85度之間變化時(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è)編碼集成電路,而增加了一只數(shù)據(jù)調(diào)制三極管Q1,這種結(jié)構(gòu)使得它可以方便地和其它固定編碼電路、滾動(dòng)碼電路及單片機(jī)接口,而不必考慮編碼電路的工作電壓和輸出幅度信號(hào)值的大小。DF數(shù)據(jù)模塊具有較寬的工作電壓范圍3~12V,當(dāng)電壓變化時(shí)發(fā)射頻率基本不變,和發(fā)射模塊配套的接收模塊無(wú)需任何調(diào)整就能穩(wěn)定地接收。當(dāng)發(fā)射電壓為3V時(shí),
8、空曠地傳輸距離約20~50米,發(fā)射功率較小,當(dāng)電壓5V時(shí)約100~200米,當(dāng)電壓9V時(shí)約300~500米,當(dāng)發(fā)射電壓為12V時(shí),為最佳工作電壓,具有較好的發(fā)射效果,發(fā)射電流約60毫安,空曠地傳輸距離700~800米,發(fā)射功率約500毫瓦。當(dāng)電壓大于l2V時(shí)功耗增大,有效發(fā)射功率不再明顯提高。這套模塊的特點(diǎn)是發(fā)射功率比較大,傳輸距離比較遠(yuǎn),比較適合惡劣條件下進(jìn)行通訊。天線最好選用25厘米長(zhǎng)的導(dǎo)線,遠(yuǎn)距離傳輸時(shí)最好能夠豎立起來,因?yàn)闊o(wú)線電信號(hào)傳輸時(shí)收很多因素的影響,所以一般實(shí)用距離只有標(biāo)稱距離的20%甚至更少,這點(diǎn)需要在開發(fā)時(shí)注意考慮。 DF數(shù)據(jù)模塊采用ASK方式調(diào)制,以降低功耗,當(dāng)數(shù)
9、據(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)離開周圍器件5mm以上,以免受分布參數(shù)影晌。DF模塊的傳輸距離與調(diào)制信號(hào)鐸率及幅度,發(fā)射電壓及電池容量,發(fā)射天線,接收機(jī)的靈敏度,收發(fā)環(huán)境有關(guān)。一般在開闊區(qū)最大發(fā)射距離約800米,在有障礙的情況下,距離會(huì)縮短,由于無(wú)線電信號(hào)傳輸過程中的折射和反射會(huì)形成一些死區(qū)及不穩(wěn)定區(qū)域,不同的收發(fā)環(huán)境會(huì)有不同的收發(fā)距離。 3.2 315MHZ超再生接收模塊
10、 下圖為315M無(wú)線接收頭的實(shí)物圖。 圖3 315M無(wú)線接收頭實(shí)物圖 接收模塊一共有四個(gè)外部接口,上面有英文表示?!癡CC”表示接電源正極,“ DATA”表示輸出,“GND”表示接電源負(fù)極。 下圖為315M無(wú)線接收頭的超再生接收模塊的等效電路圖。 圖4 DF超再生接收模塊的等效電路圖 主要技術(shù)指標(biāo): (1)通訊方式:調(diào)幅AM (2)工作頻率:315MHZ(可以提供433MHZ,購(gòu)貨時(shí)請(qǐng)?zhí)貏e注明) (3)頻率穩(wěn)定度:200KHZ (4)接收靈敏度:-106DBM (5)靜態(tài)電流:≤5MA (6)工作電流:≤5MA (7)工作電壓:DC
11、5V (8)輸出方式:TTL電平 DF接收模塊的工作電壓為5伏,靜態(tài)電流4毫安,它為超再生接收電路,接收靈敏度為-105dbm,接收天線最好為25~30厘米的導(dǎo)線,最好能豎立起來。接收模塊本身不帶解碼集成電路,因此接收電路僅是一種組件,只有應(yīng)用在具體電路中進(jìn)行二次開發(fā)才能發(fā)揮應(yīng)有的作用,這種設(shè)計(jì)有很多優(yōu)點(diǎn),它可以和各種解碼電路或者單片機(jī)配合,設(shè)計(jì)電路靈活方便.這種電路的優(yōu)點(diǎn)有以下四個(gè)方面。 (1)天線輸入端有選頻電路,而不依賴1/4波長(zhǎng)天線的選頻作用,控制距離較近時(shí)可以剪短甚至去掉外接天線 (2)輸出端的波形相對(duì)比較干凈,干擾信號(hào)為短暫的針狀脈沖,所以抗干擾
12、能力較強(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)而影響接收頻率。另外未經(jīng)封固的可調(diào)電容在受到振動(dòng)時(shí)定片和動(dòng)片之間發(fā)生位移;溫度變化時(shí)熱脹冷縮會(huì)使定片和動(dòng)片間距離改變;濕度變化因介質(zhì)變化改變
13、容量;長(zhǎng)期工作在潮濕環(huán)境中還會(huì)因定片和動(dòng)片的氧化改變?nèi)萘浚@些都會(huì)嚴(yán)重影響接收頻率的穩(wěn)定性,而采用可調(diào)電感就可解決這些問題,因?yàn)殡姼锌梢栽谡{(diào)整完畢后進(jìn)行封固,絕緣體封固劑不會(huì)使電感量發(fā)生變化。 DF無(wú)線數(shù)傳模塊開發(fā)注意事項(xiàng): DF模塊必須用信號(hào)調(diào)制才能正常工作,常見的固定碼編碼器件如PT2262/2272,只要直接連接即可非常簡(jiǎn)單,因?yàn)槭菍S镁幋a芯片,所以效果很好傳輸距離很遠(yuǎn)。模塊輸出腳在模塊內(nèi)部通過一個(gè)上拉39K 電阻到+5V,使用的時(shí)候需要考慮解碼器件的輸入阻抗。 DF模塊還有一種重要的用途就是配合單片機(jī)來實(shí)現(xiàn)數(shù)據(jù)通訊,這時(shí)有一定的技巧。 (1)合理的通訊速率
14、 DF數(shù)據(jù)模塊的最大傳輸數(shù)據(jù)速率為9.6KBs,一般控制在2.5k左右,過高的數(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,以避開背景噪聲,因?yàn)榻邮漳K接收到的數(shù)據(jù)第一位極易被干擾(即零電平干擾)而引起接收到的數(shù)據(jù)錯(cuò)誤。所以采用CPU編譯碼可在數(shù)據(jù)識(shí)別位前加一些亂碼以抑制零電平干擾。 同步碼主要用于區(qū)別于前導(dǎo)碼及數(shù)
15、據(jù)。有一定的特征,好讓軟件能夠通過一定的算法鑒別出同步碼,同時(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)較高的接收頻率。
16、 接收模塊和51系列單片機(jī)接口時(shí)最好做一個(gè)隔離電路,能較好地遏制單片機(jī)對(duì)接收模塊的電磁干擾。 DF接收模塊工作時(shí)一般輸出的是高電平脈沖,不是直流電平,所以不能用萬(wàn)用表測(cè)試,調(diào)試時(shí)可用一個(gè)發(fā)光二極管串接一個(gè)3K的電阻來監(jiān)測(cè)DF模塊的輸出狀態(tài)。 3.3 超再生接收模塊的優(yōu)勢(shì) 超再生調(diào)節(jié)電路也稱超再生檢波電路,他是即使工作在間歇震蕩狀態(tài)下的再生檢波電路。一般再生檢波電路在中波段式靈敏度很高,所以常用來制作簡(jiǎn)易的晶體管收音機(jī)。對(duì)于工作在短波段的無(wú)線遙控或通信設(shè)備,再生檢波的靈敏度及穩(wěn)定性都不符合要求。但超再生檢波在在短波段具有很高的靈敏度,在接收弱信號(hào)時(shí)放大功率達(dá)
17、到幾十萬(wàn)倍。因此,對(duì)于希望電路簡(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ā)模塊沒有這個(gè)問題。 4、編寫代碼應(yīng)用的串口通信知識(shí) 51 單片機(jī)內(nèi)部有一個(gè)全雙工串行接口。什么叫全雙工串口呢?一般來說,只能接受或只能發(fā)送的稱為單工串行;既可接收又可發(fā)送,但不能同時(shí)進(jìn)行的稱為半雙工;能同時(shí)接收和發(fā)送的串行口稱為全雙工串行口
18、。串行通信是指數(shù)據(jù)一位一位地按順序傳送的通信方式,其突出優(yōu)點(diǎn)是只需一根傳輸線,可大大降低硬件成本,適合遠(yuǎn)距離通信。其缺點(diǎn)是傳輸速度較低。 首先我們來了解單片機(jī)串口相關(guān)的寄存器。SBUF 寄存器:它是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù),可通過指令對(duì)SBUF 的讀寫來區(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+
19、1和1+8+1+1兩種幀格式,多機(jī)通信是特殊的通信方式。 (2)基本原理是兩組移位寄存器。將并行通信轉(zhuǎn)換成串行通信模式(發(fā)送部分),或反之(接收部分)。可全雙工運(yùn)行。 (3)速度通過移位脈沖決定。具體一般通過定時(shí)器1的自動(dòng)裝載模式產(chǎn)生的溢出脈沖給出。 (4)電平上采用的是CMOS邏輯。 (5)以上是物理層和數(shù)據(jù)鏈路層的單片機(jī)串口模塊的約定,其他層需要軟件人員根據(jù)需要自行把握。另外,電平需要根據(jù)實(shí)際通信環(huán)境做變換。 串行通信雖然有其自身優(yōu)點(diǎn):如適合長(zhǎng)距離通信,有一定的糾錯(cuò)能力等,但并行通信在短距離(數(shù)米范圍內(nèi))傳輸過程中的優(yōu)點(diǎn)是顯而易見的。首先串行通信時(shí)要
20、設(shè)置串口數(shù)據(jù),如:串口號(hào)(Com1、Com2或者其他串口)、波特率、數(shù)據(jù)位數(shù)、停止位、校驗(yàn)位等等。而且單片機(jī)與PC機(jī)的串口數(shù)據(jù)必須一一對(duì)等,否則不能傳輸。而并行傳輸時(shí),無(wú)需上述過程。其次,PC機(jī)的串口電平值為+12V~-12V,單片機(jī)是TTL電平(0~+5V),兩者必須要經(jīng)過電平轉(zhuǎn)換芯片進(jìn)行電平間的轉(zhuǎn)換。而進(jìn)行并行傳輸時(shí),由于雙方都是TTL電平,所以PC的并口可以與單片機(jī)或其他芯片直接相連;另外,串行傳輸速度慢,每次只能傳送一位,而并行每次可以傳送8位,速度上的差異顯而易見。而對(duì)于單片機(jī),串口(UART)是最常用的端口,尤其對(duì)于存在兩個(gè)或多個(gè)串口的單片機(jī)來說,充分利用串口進(jìn)行通信是非常重要的。
21、 4.2 設(shè)定波特率 與串行口相關(guān)的寄存器有定時(shí)器相關(guān)寄存器和中斷寄存器。定時(shí)器寄存器用來設(shè)定波特率。中斷允許寄存器IE 中的ES 位也用來作為串行I/O 中斷允許位。當(dāng)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í)。 再來說說波特率,我們?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é)束.
22、采用高的皮特率就不會(huì)出錯(cuò)啦。在了解了串行口相關(guān)的寄存器之后,我們可得出其通信波特率的一些公式的。
方式0的波特率=fosc/12
方式2的波特率=(2SMOD/64)fosc
方式1的波特率=(2SMOD/32)(T1溢出率)
方式3的波特率=(2SMOD/32)(T1溢出率)
(其中,T1溢出率=fosc/{12[256-(TH1)]})
5、 軟件程序的實(shí)現(xiàn)
下面是基于C語(yǔ)言的編程的發(fā)射端程序。
#include
23、ed char uchar i; uchar code table[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//段顯示編碼 uchar code scan_con[4]={0xef,0xdf,0xbf,0x7f};//位選,掃描四位數(shù)碼管 sbit CS = P3^5; sbit CLK = P3^3; sbit DI = P3^4; sbit DO = P3^4; uchar posi = 0;//定義switch函數(shù)變量 uchar dis[4];//顯示在數(shù)碼管上的四位數(shù)字 uchar du1=0,
24、du2=0;//輸入單片機(jī)的數(shù)字電壓值
float dvm1 = 0,dvm2 = 0;//數(shù)碼管顯示的數(shù)值
void init();//串口聲明
void send_data();//串口發(fā)送函數(shù)聲明
void delay(uchar t) //延時(shí)
{
uchar i;
for(i = 0;i 25、--------------------------
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 ) //選擇了通道0
{
CLK = 0;
DI = 1; 26、 //通道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) //選擇了通道1
{
CLK = 0;
DI = 1; //通道1的第一位,第2個(gè)時(shí)鐘脈沖下沉之前DI端是高電平
_nop_( 27、);
CLK = 1;
_nop_();
CLK = 0;
DI = 1; //通道1的第二位,第3個(gè)時(shí)鐘脈沖下沉之前DI端是高電平
_nop_();
CLK = 1;
_nop_();
}
CLK=0;DI=1;_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ù) 28、據(jù)(LSB->MSB)
for(i=0;i<8;i++)
{
dat2=dat2|((uchar)(DO)<
29、兩位顯示第一路,低兩位顯示第二路
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);
dis[0] = ua1;
dis[1] = ua2;
dis[2] = ub1;
dis[3] = ub2;
//循環(huán)顯示四位數(shù)碼管
switch (posi)
{
case 0:
30、 P2=scan_con[0];
P0=table[dis[0]]&0xfe;
delay(100);
break;
case 1:
P2=scan_con[1];
P0=table[dis[1]];
delay(100);
break;
case 2:
P2=scan_con[2];
P0=table[dis[2]]&0xfe;
delay(100);
break;
case 3:
P2=scan_con[3];
P0=table[dis[3]];
delay(100);
31、 break;
}
posi++;
if(posi>3)
posi = 0;
}
//主程序
void main()
{
P0 = 0xff;
P1 = 0x00;
P2 = 0x0f;
//P3 = 0xff;
init();
while(1)
{
du1 = Get_Value_ADC0832(0x02);//讀取第一路數(shù)字化的電壓
du2 = Get_Value_ADC0832(0x03);//讀取第二路數(shù)字化的電壓
dvm1 = change(du1);
dvm2 = chan 32、ge(du2);
send_data();
}
}
//******************無(wú)線發(fā)送模塊*****************
//串口初始化
void init()
{
TMOD = 0x21;//定時(shí)器1工作方式2,做串口中斷,定時(shí)器0工作方式1
TH1 = 0xe8;//波特率設(shè)置為1200
TL1 = 0xe8;
TR1 = 1;//啟動(dòng)定時(shí)器1
TH0 = (65536-5000)/256;
TL0 = (65536-5000)%256;
ET0 = 1;//允許T0溢出中斷
TR0 = 1;//啟動(dòng)定時(shí)器0
33、SCON = 0x40;//工作在方式1,TI,RI設(shè)置的值為0
EA = 1; //cpu開放所有中斷
}
//串口發(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 = dis[i];
while(!TI);
TI = 0;
delay(500);
}
}
//定時(shí)器0的中斷 定時(shí)器中斷延時(shí)程序 這一段的作用 34、時(shí)隔一段時(shí)間抽樣一次 否側(cè)顯示的最后一位會(huì)不穩(wěn)定
void Timer0() interrupt 1
{
TH0 = (65536-5000)/256;
TL0 = (65536-5000)%256;
display(dvm1,dvm2);
}
下面是基于C語(yǔ)言的編程的接收端程序。
#include 35、e[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
//數(shù)碼管位選編碼
//uchar code scan_con[] = {0x1f,0x2f,0x4f,0x8f};
//存儲(chǔ)收到的四位要顯示的十進(jìn)制數(shù)
uchar code scan_con[] = {0xef,0xdf,0xbf,0x7f};
uchar dat[4];
uchar posi = 0;
/********延時(shí)子程序*********/
void delay(unsigned char m)
{
int k;
for(k= 36、0;k 37、[dat[0]]&0xfe;
delay(100);
break;
case 1:
P2=scan_con[1];
P0=table[dat[1]];
delay(100);
break;
case 2:
P2=scan_con[2];
P0=table[dat[2]]&0xfe;
delay(100);
break;
case 3:
P2=scan_con[3];
P0=table[dat[3]];
delay(100);
break;
}
posi++;
if( 38、posi>3)
posi = 0;
}
void main()
{
P0 = 0xff;//初始化
P2 = 0xff;
init();
while(1)
{
while(!RI);
RI = 0;
if(SBUF == 0xfe)
{
for(i = 0;i<4;i++)
{
while(!RI);
RI = 0;
dat[i] = SBUF;
}
}
}
}
//定時(shí)器0中斷服務(wù)
void timer0() interrupt 1
{
TH0 = (65 39、536-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ī),可以是中斷接收,也可以查詢接受,我們用的是中斷接收。編碼相對(duì)于解碼簡(jiǎn)單,但我們也遇到了很大的困難。我們還了解了單片機(jī)串口通信的接口及原理,了解和掌握STC89C52RC單片機(jī)串口通信的原理與應(yīng)用流程,利用串口通信,實(shí)現(xiàn)全雙 40、工,使數(shù)據(jù)一位一位地按順序傳送的通信方式,其突出優(yōu)點(diǎn)是只需一根傳輸線,可大大降低硬件成本,適合遠(yuǎn)距離通信。單片機(jī)還可以與計(jì)算機(jī)相連,也可以單片機(jī)互聯(lián)或者多個(gè)單片機(jī)相互通信組網(wǎng)等,在實(shí)際的工程應(yīng)用中非常廣泛。
我們小組經(jīng)過近一周系統(tǒng)的硬件和軟件的設(shè)計(jì)、系統(tǒng)的調(diào)試。查閱了大量的關(guān)于單片機(jī)及其接口電路、串口通信、315M無(wú)線傳輸模塊以及控制方面的理論。經(jīng)過了一番特殊的體驗(yàn)后,經(jīng)歷了失敗的痛苦,也嘗到了成功的喜悅。從理論到實(shí)踐,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很 41、重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。第一次靠用所學(xué)的專業(yè)知識(shí)來解決問題。檢查了自己的知識(shí)水平,使我對(duì)自己有一個(gè)全新的認(rèn)識(shí)。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對(duì)開發(fā)板不太了解,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好,通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。
在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力 42、量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來的地方,我們就會(huì)在QQ群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無(wú)論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。而且我們學(xué)會(huì)了怎樣把所學(xué)的書本知識(shí)應(yīng)用于實(shí)踐中去,并學(xué)會(huì)了如何去思考整個(gè)控制系統(tǒng)的軟硬件設(shè)計(jì)。實(shí)踐過程中我們遇到了一些困難,但在解決問題的過程中,我們學(xué)會(huì)了團(tuán)隊(duì)合作精神和怎樣發(fā)現(xiàn)問題、分析問題,進(jìn)而解決問題。不僅鍛煉自己分析問題、處理問題的能力,還提高了自己的動(dòng)手能力。此次課程設(shè)計(jì)不僅增強(qiáng)了我們學(xué)習(xí)專業(yè)課的興趣,而且給了我們勇氣和信心,更重要的是它為我們以后的學(xué)習(xí)指明了方向。
7、參考文獻(xiàn)
43、[1] 吳政江. 單片機(jī)控制簡(jiǎn)易電壓表設(shè)計(jì). 錦州師范學(xué)院學(xué)報(bào),2009,2
[2] 宋文緒. 傳感器與檢測(cè)技術(shù)[M]. 北京高等教育出版社,2007,2
[3] 余錫存. 單片機(jī)原理及接口技術(shù)[M].西安電子科技大學(xué)出版社,2005,6
[4] 唐桃波, 陳玉林. 基于AT89C51的智能無(wú)線安防報(bào)警器 [J]. 電子設(shè)計(jì)應(yīng)用,2008,3
[5] 李全利. 單片機(jī)原理及接口技術(shù)[M].北京航空航天大學(xué)出版社,2009,2
[6] 薛均義, 張彥斌. MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用[M]. 西安交通大學(xué)出版社,2010,3
[7] 徐愛鈞. 單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)[M]. 北京航空航天大學(xué)出版社,2004,9
[8] 康華光. 電子技術(shù)基礎(chǔ)(模擬部分)[M]. 北京: 高等教育出版社,2001,2
評(píng) 語(yǔ)
成 績(jī)
指導(dǎo)教師
(簽字)
年 月 日
22
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學(xué):變得一樣多
- 蘇教版三年級(jí)數(shù)學(xué)上冊(cè)教學(xué)ppt課件58:解決問題的策略復(fù)習(xí)
- 小學(xué)科學(xué)六下《拓展與應(yīng)用》-公開課一等獎(jiǎng)ppt課件
- 高中英語(yǔ)人教版選修七Unit-2-Robots-ppt課件
- 第九章長(zhǎng)期負(fù)債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場(chǎng)消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂&#183;京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護(hù)患溝通技巧-課件
- 《高等數(shù)學(xué)B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(yǔ)(人教版)九年級(jí)總復(fù)習(xí)題型訓(xùn)練補(bǔ)全對(duì)話(含最新原創(chuàng)題)課件