基于無線的簡易數(shù)字電壓表的設計_第1頁
基于無線的簡易數(shù)字電壓表的設計_第2頁
基于無線的簡易數(shù)字電壓表的設計_第3頁
基于無線的簡易數(shù)字電壓表的設計_第4頁
基于無線的簡易數(shù)字電壓表的設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

無線數(shù)據(jù)傳輸系統(tǒng)設計項目(二級項目)設計說明書(2013/2014學年第二學期)題目:基于無線的簡易數(shù)字電壓表的設計_專業(yè)班級:通信工程11級1班學生姓名:學號:指導教師:賈少銳、王鵬、李曉東設計周數(shù):1周設計成績:2014目錄1、課程設計目的 22、總體設計方案 23、設計組成及原理分析 23.1315M發(fā)射模塊 33.2315MHZ超再生接收模塊 53.3超再生接收模塊的優(yōu)勢 74、編寫代碼應用的串口通信知識 84.1單片機串口通信原理 84.2設定波特率 95、軟件程序的實現(xiàn) 106、總結 197、參考文獻 211、課程設計目的無線射頻技術作為本世紀最有發(fā)展前景的信息技術之一,已經(jīng)得到業(yè)界的高度重視。該技術利用射頻方式進行非接觸雙向通信,可以自動識別目標對象并獲取相關數(shù)據(jù),具有精度高、適應環(huán)境能力強、抗干擾強、操作快捷等許多優(yōu)點。現(xiàn)代通信技術的迅速發(fā)展使得許多應用領域都采用無線的通信方式進行數(shù)據(jù)傳輸。F05/J04收發(fā)模塊,由于具有體積小、功耗低、功能強、成本低等特點,廣泛應用于各類的無線遙控器、無線報警器以及玩具等其他小型電器裝置。但是,這種電路極少用在多個字節(jié)數(shù)據(jù)的通信方面,具有一定的局限性。這次課設主要介紹利用315MHz高頻發(fā)射模塊和接收模塊來制作無線通信。基于對課題的理解,本次設計要求我們完成一個基于單片機控制的簡易電壓表,要求能監(jiān)測兩路的輸入電壓值,測量范圍為0—5伏的輸入電壓值;用8位串行A/D轉換器,8為分辨率,逐次逼近型,基準電壓5V;能用兩位LED進行輪流顯示或單路選擇顯示,顯示精度為0.1V。2、總體設計方案繼上兩周的課程設計結果,用C語言的編程,做出了STC89C52RC單片機上實現(xiàn)了一個基于單片機控制的簡易電壓表的設計。這次我們要應用F05/J04無線收發(fā)模塊,通過STC89C52RC單片機的P3.0和P3.1口進行串口通信,再寫出相應的發(fā)送端和接收端的程序,分別考入兩個單片機中,從而實現(xiàn)從一個單片機發(fā)送到另一單片機上顯示和報警。3、設計組成及原理分析無線數(shù)據(jù)傳輸廣泛地運用在車輛監(jiān)控、遙控、遙測、小型無線網(wǎng)絡、無線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無線標簽、身份識別、非接觸RF智能卡、小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、無線遙控系統(tǒng)、生物信號采集、水文氣象監(jiān)控、機器人控制、無線232數(shù)據(jù)通信、無線485/422數(shù)據(jù)通信、數(shù)字音頻、數(shù)字圖像傳輸?shù)阮I域中。下面具體介紹315M無線發(fā)射接收模塊(不帶編碼發(fā)射接收模塊)。3.1315M發(fā)射模塊它具有聲表穩(wěn)頻、性能穩(wěn)定、工作電壓范圍寬、產(chǎn)品一致性好,性價比高等優(yōu)點。下圖為315M無線發(fā)射頭實物圖。圖1315M無線發(fā)射頭實物圖下圖為315M無線發(fā)射模塊等效電路圖。圖2DF發(fā)射模塊的等效電路圖主要技術指標:(1)通訊方式:調(diào)幅AM(2)工作頻率:315MHZ(可以提供433MHZ,購貨時請?zhí)貏e注明)(3)頻率穩(wěn)定度:±75KHZ(4)發(fā)射功率:≤500MW(5)靜態(tài)電流:≤0.1UA(6)發(fā)射電流:3~50MA(7)工作電壓:DC3~12V無線數(shù)據(jù)傳輸廣泛地運用在車輛監(jiān)控、遙控、遙測、小型無線網(wǎng)絡、無線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無線標簽、身份識別、非接觸RF智能卡、小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、無線遙控系統(tǒng)、生物信號采集、水文氣象監(jiān)控、機器人控制、無線232數(shù)據(jù)通信、無線485/422數(shù)據(jù)通信、數(shù)字音頻、數(shù)字圖像傳輸?shù)阮I域中。DF數(shù)據(jù)發(fā)射模塊的工作頻率為315M,采用聲表諧振器SAW穩(wěn)頻,頻率穩(wěn)定度極高,當環(huán)境溫度在-25~+85度之間變化時,頻飄僅為3ppm/度。特別適合多發(fā)一收無線遙控及數(shù)據(jù)傳輸系統(tǒng)。聲表諧振器的頻率穩(wěn)定度僅次于晶體,而一般的LC振蕩器頻率穩(wěn)定度及一致性較差,即使采用高品質(zhì)微調(diào)電容,溫差變化及振動也很難保證已調(diào)好的頻點不會發(fā)生偏移。DF發(fā)射模塊未設編碼集成電路,而增加了一只數(shù)據(jù)調(diào)制三極管Q1,這種結構使得它可以方便地和其它固定編碼電路、滾動碼電路及單片機接口,而不必考慮編碼電路的工作電壓和輸出幅度信號值的大小。DF數(shù)據(jù)模塊具有較寬的工作電壓范圍3~12V,當電壓變化時發(fā)射頻率基本不變,和發(fā)射模塊配套的接收模塊無需任何調(diào)整就能穩(wěn)定地接收。當發(fā)射電壓為3V時,空曠地傳輸距離約20~50米,發(fā)射功率較小,當電壓5V時約100~200米,當電壓9V時約300~500米,當發(fā)射電壓為12V時,為最佳工作電壓,具有較好的發(fā)射效果,發(fā)射電流約60毫安,空曠地傳輸距離700~800米,發(fā)射功率約500毫瓦。當電壓大于l2V時功耗增大,有效發(fā)射功率不再明顯提高。這套模塊的特點是發(fā)射功率比較大,傳輸距離比較遠,比較適合惡劣條件下進行通訊。天線最好選用25厘米長的導線,遠距離傳輸時最好能夠豎立起來,因為無線電信號傳輸時收很多因素的影響,所以一般實用距離只有標稱距離的20%甚至更少,這點需要在開發(fā)時注意考慮。DF數(shù)據(jù)模塊采用ASK方式調(diào)制,以降低功耗,當數(shù)據(jù)信號停止時發(fā)射電流降為零,數(shù)據(jù)信號與DF發(fā)射模塊輸入端可以用電阻或者直接連接而不能用電容耦合,否則DF發(fā)射模塊將不能正常工作。數(shù)據(jù)電平應接近DF數(shù)據(jù)模塊的實際工作電壓,以獲得較高的調(diào)制效果。DF發(fā)射發(fā)射模塊最好能垂直安裝在主板的邊緣,應離開周圍器件5mm以上,以免受分布參數(shù)影晌。DF模塊的傳輸距離與調(diào)制信號鐸率及幅度,發(fā)射電壓及電池容量,發(fā)射天線,接收機的靈敏度,收發(fā)環(huán)境有關。一般在開闊區(qū)最大發(fā)射距離約800米,在有障礙的情況下,距離會縮短,由于無線電信號傳輸過程中的折射和反射會形成一些死區(qū)及不穩(wěn)定區(qū)域,不同的收發(fā)環(huán)境會有不同的收發(fā)距離。3.2315MHZ超再生接收模塊下圖為315M無線接收頭的實物圖。圖3315M無線接收頭實物圖接收模塊一共有四個外部接口,上面有英文表示。“VCC”表示接電源正極,“DATA”表示輸出,“GND”表示接電源負極。下圖為315M無線接收頭的超再生接收模塊的等效電路圖。圖4DF超再生接收模塊的等效電路圖主要技術指標:(1)通訊方式:調(diào)幅AM(2)工作頻率:315MHZ(可以提供433MHZ,購貨時請?zhí)貏e注明)(3)頻率穩(wěn)定度:±200KHZ(4)接收靈敏度:-106DBM(5)靜態(tài)電流:≤5MA(6)工作電流:≤5MA(7)工作電壓:DC5V(8)輸出方式:TTL電平DF接收模塊的工作電壓為5伏,靜態(tài)電流4毫安,它為超再生接收電路,接收靈敏度為-105dbm,接收天線最好為25~30厘米的導線,最好能豎立起來。接收模塊本身不帶解碼集成電路,因此接收電路僅是一種組件,只有應用在具體電路中進行二次開發(fā)才能發(fā)揮應有的作用,這種設計有很多優(yōu)點,它可以和各種解碼電路或者單片機配合,設計電路靈活方便.這種電路的優(yōu)點有以下四個方面。(1)天線輸入端有選頻電路,而不依賴1/4波長天線的選頻作用,控制距離較近時可以剪短甚至去掉外接天線(2)輸出端的波形相對比較干凈,干擾信號為短暫的針狀脈沖,所以抗干擾能力較強。(3)DF模塊自身輻射極小,加上電路模塊背面網(wǎng)狀接地銅箔的屏蔽作用,可以減少自身振蕩的泄漏和外界干擾信號的侵入。(4)采用帶骨架的銅芯電感將頻率調(diào)整到315M后封固,這與采用可調(diào)電容調(diào)整接收頻率的電路相比,溫度、濕度穩(wěn)定性及抗機械振動性能都有極大改善。可調(diào)電容調(diào)整精度較低,只有3/4圈的調(diào)整范圍,而可調(diào)電感可以做到多圈調(diào)整。可調(diào)電容調(diào)整完畢后無法封固,因為無論導體還是絕緣體,各種介質(zhì)的靠近或侵入都會使電容的容量發(fā)生變化,進而影響接收頻率。另外未經(jīng)封固的可調(diào)電容在受到振動時定片和動片之間發(fā)生位移;溫度變化時熱脹冷縮會使定片和動片間距離改變;濕度變化因介質(zhì)變化改變?nèi)萘浚婚L期工作在潮濕環(huán)境中還會因定片和動片的氧化改變?nèi)萘浚@些都會嚴重影響接收頻率的穩(wěn)定性,而采用可調(diào)電感就可解決這些問題,因為電感可以在調(diào)整完畢后進行封固,絕緣體封固劑不會使電感量發(fā)生變化。DF無線數(shù)傳模塊開發(fā)注意事項:DF模塊必須用信號調(diào)制才能正常工作,常見的固定碼編碼器件如PT2262/2272,只要直接連接即可非常簡單,因為是專用編碼芯片,所以效果很好傳輸距離很遠。模塊輸出腳在模塊內(nèi)部通過一個上拉39K電阻到+5V,使用的時候需要考慮解碼器件的輸入阻抗。DF模塊還有一種重要的用途就是配合單片機來實現(xiàn)數(shù)據(jù)通訊,這時有一定的技巧。(1)合理的通訊速率DF數(shù)據(jù)模塊的最大傳輸數(shù)據(jù)速率為9.6KBs,一般控制在2.5k左右,過高的數(shù)據(jù)速率會降低接收靈敏度及增大誤碼率甚至根本無法工作。(2)合理的信息碼格式單片機和DF模塊工作時,通常自己定義傳輸協(xié)議,不論用何種調(diào)制方式,所要傳遞的信息碼格式都很重要,它將直接影響到數(shù)據(jù)的可靠收發(fā)。碼組格式推薦方案:前導碼+同步碼+數(shù)據(jù)幀前導碼長度應大于是10ms,以避開背景噪聲,因為接收模塊接收到的數(shù)據(jù)第一位極易被干擾(即零電平干擾)而引起接收到的數(shù)據(jù)錯誤。所以采用CPU編譯碼可在數(shù)據(jù)識別位前加一些亂碼以抑制零電平干擾。同步碼主要用于區(qū)別于前導碼及數(shù)據(jù)。有一定的特征,好讓軟件能夠通過一定的算法鑒別出同步碼,同時對接收數(shù)據(jù)做好準備。數(shù)據(jù)幀不宜采用非歸零碼,更不能長0和長1。采用曼徹斯特編碼或POCSAG碼等,如下面的數(shù)據(jù)格式有一定檢錯功能:(3)單片機對接收模塊的干擾單片機模擬2262時一般都很正常,然而單片機模擬2272解碼時通常會發(fā)現(xiàn)遙控距離縮短很多,這是因為單片機的時鐘頻率的倍頻都會對接收模塊產(chǎn)生干擾,51系列單片機工作的時候,會產(chǎn)生比較強的電磁輻射,頻率范圍在9MHZ-900MHZ,因此它會影響任何此頻率內(nèi)的無線接收設備的靈敏度,解決的方法是盡量降低CPU晶體的頻率。還可以改用頻點較高的接收頻率。接收模塊和51系列單片機接口時最好做一個隔離電路,能較好地遏制單片機對接收模塊的電磁干擾。DF接收模塊工作時一般輸出的是高電平脈沖,不是直流電平,所以不能用萬用表測試,調(diào)試時可用一個發(fā)光二極管串接一個3K的電阻來監(jiān)測DF模塊的輸出狀態(tài)。3.3超再生接收模塊的優(yōu)勢超再生調(diào)節(jié)電路也稱超再生檢波電路,他是即使工作在間歇震蕩狀態(tài)下的再生檢波電路。一般再生檢波電路在中波段式靈敏度很高,所以常用來制作簡易的晶體管收音機。對于工作在短波段的無線遙控或通信設備,再生檢波的靈敏度及穩(wěn)定性都不符合要求。但超再生檢波在在短波段具有很高的靈敏度,在接收弱信號時放大功率達到幾十萬倍。因此,對于希望電路簡單,靈敏度高,而選擇性和信噪比要求不高的簡單無線遙控設備,超再生調(diào)節(jié)電路還是很有實用價值的。而且它電路簡單、成本低廉。不用超外差檢波電路的原因是,即使它溫度適應性強,接收靈敏度高,工作穩(wěn)定,抗干擾能力強,但是他不能近距離不能接收。由于它的核心器件都有一個缺點就是強信號、近距離是阻塞、不能解碼。故在本次課設中,應用超再生收發(fā)模塊沒有這個問題。4、編寫代碼應用的串口通信知識51單片機內(nèi)部有一個全雙工串行接口。什么叫全雙工串口呢?一般來說,只能接受或只能發(fā)送的稱為單工串行;既可接收又可發(fā)送,但不能同時進行的稱為半雙工;能同時接收和發(fā)送的串行口稱為全雙工串行口。串行通信是指數(shù)據(jù)一位一位地按順序傳送的通信方式,其突出優(yōu)點是只需一根傳輸線,可大大降低硬件成本,適合遠距離通信。其缺點是傳輸速度較低。首先我們來了解單片機串口相關的寄存器。SBUF寄存器:它是兩個在物理上獨立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù),可通過指令對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。從而控制外部兩條獨立的收發(fā)信號線RXD(P3.0)、TXD(P3.1),同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工。4.1單片機串口通信原理(1)51系列單片機的串口有4個模式,可分別用作串并轉換、并串轉換、異步串行通信(2種模式)。異步串行通信中,有1+8+1和1+8+1+1兩種幀格式,多機通信是特殊的通信方式。(2)基本原理是兩組移位寄存器。將并行通信轉換成串行通信模式(發(fā)送部分),或反之(接收部分)。可全雙工運行。(3)速度通過移位脈沖決定。具體一般通過定時器1的自動裝載模式產(chǎn)生的溢出脈沖給出。(4)電平上采用的是CMOS邏輯。(5)以上是物理層和數(shù)據(jù)鏈路層的單片機串口模塊的約定,其他層需要軟件人員根據(jù)需要自行把握。另外,電平需要根據(jù)實際通信環(huán)境做變換。串行通信雖然有其自身優(yōu)點:如適合長距離通信,有一定的糾錯能力等,但并行通信在短距離(數(shù)米范圍內(nèi))傳輸過程中的優(yōu)點是顯而易見的。首先串行通信時要設置串口數(shù)據(jù),如:串口號(Com1、Com2或者其他串口)、波特率、數(shù)據(jù)位數(shù)、停止位、校驗位等等。而且單片機與PC機的串口數(shù)據(jù)必須一一對等,否則不能傳輸。而并行傳輸時,無需上述過程。其次,PC機的串口電平值為+12V~-12V,單片機是TTL電平(0~+5V),兩者必須要經(jīng)過電平轉換芯片進行電平間的轉換。而進行并行傳輸時,由于雙方都是TTL電平,所以PC的并口可以與單片機或其他芯片直接相連;另外,串行傳輸速度慢,每次只能傳送一位,而并行每次可以傳送8位,速度上的差異顯而易見。而對于單片機,串口(UART)是最常用的端口,尤其對于存在兩個或多個串口的單片機來說,充分利用串口進行通信是非常重要的。4.2設定波特率與串行口相關的寄存器有定時器相關寄存器和中斷寄存器。定時器寄存器用來設定波特率。中斷允許寄存器IE中的ES位也用來作為串行I/O中斷允許位。當ES=1,允許串行I/O中斷;當ES=0,禁止串行I/O中斷。中斷優(yōu)先級寄存器IP的PS位則用作串行I/O中斷優(yōu)先級控制位。當PS=1,設定為高優(yōu)先級;當PS=0,設定為低優(yōu)先級。再來說說波特率,我們?yōu)槭裁匆O定波特率,因為單片機會以16倍波特率的速度進行采樣,而在實驗中我們用的是10位異步收發(fā)方式,因此要將SM0置0,SM1置1.而其中的10位有8位數(shù)據(jù)位,第一位和最后一位是發(fā)送數(shù)據(jù)的起始與結束.采用高的皮特率就不會出錯啦。在了解了串行口相關的寄存器之后,我們可得出其通信波特率的一些公式的。方式0的波特率=fosc/12

方式2的波特率=(2SMOD/64)·

fosc

方式1的波特率=(2SMOD/32)·(T1溢出率)

方式3的波特率=(2SMOD/32)·(T1溢出率)(其中,T1溢出率

=

fosc

/{12×[256

-(TH1)]})5、軟件程序的實現(xiàn)下面是基于C語言的編程的發(fā)射端程序。#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharuchari;ucharcodetable[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//段顯示編碼ucharcodescan_con[4]={0xef,0xdf,0xbf,0x7f};//位選,掃描四位數(shù)碼管sbitCS=P3^5;sbitCLK=P3^3;sbitDI=P3^4;sbitDO=P3^4;ucharposi=0;//定義switch函數(shù)變量uchardis[4];//顯示在數(shù)碼管上的四位數(shù)字uchardu1=0,du2=0;//輸入單片機的數(shù)字電壓值floatdvm1=0,dvm2=0;//數(shù)碼管顯示的數(shù)值voidinit();//串口聲明voidsend_data();//串口發(fā)送函數(shù)聲明voiddelay(uchart)//延時{ uchari; for(i=0;i<t;i++);}////獲取指定通道的A/D轉換結果//ucharGet_Value_ADC0832(ucharCH){uchari,dat1=0,dat2=0; //起始控制位 CLK=0;_nop_(); DI=1;_nop_(); CS=0;_nop_(); CLK=1;_nop_(); //第一個下降沿之前,設置DI=1/0; //選擇單端/差分(SGL/DIF)模式中的單端輸入模式if(CH==0x02)//選擇了通道0{ CLK=0; DI=1;//通道0的第一位,第2個時鐘脈沖下沉之前DI端是高電平 _nop_(); CLK=1; _nop_(); CLK=0; DI=0;//通道0的第二位,第3個時鐘脈沖的下沉之前DI端是低電平 _nop_(); CLK=1; _nop_(); }if(CH==0x03) //選擇了通道1{ CLK=0; DI=1;//通道1的第一位,第2個時鐘脈沖下沉之前DI端是高電平 _nop_(); CLK=1; _nop_(); CLK=0; DI=1;//通道1的第二位,第3個時鐘脈沖下沉之前DI端是高電平 _nop_(); CLK=1; _nop_();} CLK=0;DI=1;_nop_(); //第4-11個脈沖期間讀數(shù)據(jù)(MSB->LSB) for(i=0;i<8;i++) { CLK=1;_nop_(); CLK=0;_nop_(); dat1=dat1<<1|DO; } //第11-18個脈沖期間讀數(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ù)字電壓轉化為相應的十進制數(shù)floatchange(uchardat) { floatdvm=dat*1.0/51; returndvm; }//顯示子程序,數(shù)碼管高兩位顯示第一路,低兩位顯示第二路voiddisplay(floatu1,floatu2)/ { ucharua1,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){case0:P2=scan_con[0];P0=table[dis[0]]&0xfe;delay(100);break;case1:P2=scan_con[1];P0=table[dis[1]]; delay(100);break;case2:P2=scan_con[2];P0=table[dis[2]]&0xfe;delay(100);break;case3:P2=scan_con[3];P0=table[dis[3]]; delay(100);break; } posi++; if(posi>3) posi=0;}//主程序voidmain() { 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=change(du2); send_data(); } }//******************無線發(fā)送模塊*****************//串口初始化voidinit(){ TMOD=0x21;//定時器1工作方式2,做串口中斷,定時器0工作方式1 TH1=0xe8;//波特率設置為1200 TL1=0xe8; TR1=1;//啟動定時器1 TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1;//允許T0溢出中斷 TR0=1;//啟動定時器0 SCON=0x40;//工作在方式1,TI,RI設置的值為0 EA=1; //cpu開放所有中斷}//串口發(fā)送函數(shù)voidsend_data(){ uchari; SBUF=0xfe;//發(fā)送小數(shù)點作為順序接收的起始標志 while(!TI); TI=0; delay(10); for(i=0;i<4;i++) { SBUF=dis[i]; while(!TI); TI=0; delay(500); }}//定時器0的中斷定時器中斷延時程序這一段的作用時隔一段時間抽樣一次否側顯示的最后一位會不穩(wěn)定voidTimer0()interrupt1{ TH0=(65536-5000)/256; TL0=(65536-5000)%256; display(dvm1,dvm2);}下面是基于C語言的編程的接收端程序。#include<reg52.h>#defineucharunsignedcharinti=0,j;/***************************共陽LED段碼表*************************/ucharcodetable[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//數(shù)碼管位選編碼//ucharcodescan_con[]={0x1f,0x2f,0x4f,0x8f};//存儲收到的四位要顯示的十進制數(shù)ucharcodescan_con[]={0xef,0xdf,0xbf,0x7f};uchardat[4];ucharposi=0;/********延時子程序*********/voiddelay(unsignedcharm) {intk;for(k=0;k<m;k++);}//串口初始化voidinit(){ TMOD=0x20; TH1=0xe8;//設置1200的波特率 TL1=0xe8; TR1=1; TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1; TR0=1; SCON=0x50; EA=1;}//數(shù)碼管顯示voiddisplay(){ switch(posi){case0:P2=scan_con[0];P0=table[dat[0]]&0xfe;delay(100);break;case1:P2=scan_con[1];P0=table[dat[1]]; delay(100);break;case2:P2=scan_con[2];P0=table[dat[2]]&0xfe;delay(100);break;case3:P2=scan_con[3];P0=table[dat[3]]; delay(100);break; } posi++; if(posi>3) posi=0;}voidmain(){ 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; } } }}//定時器0中斷服務voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; display();}下圖為實驗結果圖。圖5實驗結果圖6、總結本次課設重點了解了315M無線傳輸模塊,具體的收發(fā)模塊的原理及性能,應用于簡易電壓表的設計,實現(xiàn)了從一個單片機發(fā)送到另一個單片機上,主機發(fā)送數(shù)據(jù)信號,從機就能接受,要用三極管取反輸入單片機,可以是中斷接收,也可以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論