《無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計報告(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于單片機的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計
摘要:數(shù)字傳輸?shù)臄?shù)據(jù)抗干擾能力強、準(zhǔn)確率高,可以用來傳輸各種信號,此模塊采用遙控器發(fā)送信號,由89C51單片機和PT2272組成的解碼電路解碼,利用無線傳輸字符數(shù)據(jù),采用數(shù)碼管顯示、單片機數(shù)據(jù)存儲器存儲,具有多功能傳輸與存儲功能。如果進一步改進加上編碼譯嗎芯片完全可以用來傳遞文字信號、視頻信號、聲音信號。
關(guān)鍵詞:無線數(shù)據(jù)傳輸 AT89C51單片機 數(shù)碼管顯示 PT2272解碼
1引言
隨著計算機、通信和無線技術(shù)的逐步融合, 在傳統(tǒng)的有線通信的基礎(chǔ)上, 無線通信技術(shù)應(yīng)運而生, 他具有快捷、方便、可移動和安全等優(yōu)勢, 所以廣泛應(yīng)用到遙控玩具、汽
2、車電子、環(huán)境監(jiān)測和電氣自動化等。在一些特殊應(yīng)用場合中, 單片機與上位機之間通信不再采用有線的數(shù)據(jù)傳輸, 例如采用有線的串、并行總線、I2C 和CAN 總線等, 而是需要無線數(shù)據(jù)傳輸, 本文介紹了基于PT2262/PT2272無線收發(fā)模塊的實用單片機無線傳輸系統(tǒng)的設(shè)計。該系統(tǒng)目的是運用兩個無線收發(fā)模塊實現(xiàn)向計算機傳輸信息的功能。在該系統(tǒng)中,用一塊單片機來控制信號接收模塊并將信息通過數(shù)碼管顯示出發(fā)送的字符。該系統(tǒng)可方便的實現(xiàn)無線通信,功能擴展之后還可在計算機之間實現(xiàn)無線通信。
2 總體設(shè)計方案
2.1設(shè)計思路
遙控器發(fā)送字符信號
振蕩電路
PT2272解碼
數(shù)碼管顯示字符
3、
89C51單片機
復(fù)位電路
圖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ā)射電路
4、停止振蕩,所以高頻發(fā)射電路完全收控于PT2262的17腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅。PT2272只有在連續(xù)兩次檢測到相同的地址碼加數(shù)據(jù)碼時才會把數(shù)據(jù)碼中的“1”驅(qū)動相應(yīng)的數(shù)據(jù)輸出端為高電平和驅(qū)動VT端同步為高電平。因為無線發(fā)射的特點,第一組字碼非常容易受零電平干擾,往往會產(chǎn)生誤碼,所以程序可以丟棄處理。PT2272將字符數(shù)據(jù)解碼后輸入單片機,有單片機將解碼后的字符數(shù)據(jù)通過并行口P0口送入數(shù)碼管,將PT2262遙控器發(fā)送的字符數(shù)據(jù)顯示在數(shù)碼管上
2.1.1軟件解碼方法
單片機外部中斷0引腳用于接收數(shù)據(jù),當(dāng)單片機檢測到觸發(fā)信號,進入中斷
5、程序后,關(guān)閉外部中斷0,開啟定時器1記錄低電平持續(xù)的時間,并檢測是否為同步碼,若不是,則重新打開中斷,繼續(xù)檢測同步碼。當(dāng)檢測到同步碼時,則開始接收地址碼跟數(shù)據(jù)碼。從進入中斷后的第一個下降沿開始,每當(dāng)檢測到下降沿,則延時300us,并記錄該時刻的狀態(tài)。這樣每個數(shù)據(jù)記錄兩個狀態(tài),12個數(shù)據(jù)總共記錄24個狀態(tài)。然后對這24個狀態(tài)進行翻譯,從第一個狀態(tài)開始,連續(xù)兩個翻譯出一個數(shù)據(jù)。前8個數(shù)據(jù)為地址碼A0到A7,后4個為數(shù)據(jù)碼D3到D0。翻譯完成后就可以進行與設(shè)定的地址碼匹配,若相同,保存數(shù)據(jù)碼,不同則丟棄并重新打開中斷接收下一段數(shù)據(jù)。
2.2 設(shè)計流程圖
圖2 復(fù)位接收流程
圖3
6、顯示
3 設(shè)計原理分析
3.1解碼電路 PT2272引腳圖
圖4 PT2272
表1
表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ù)時(PT2272-M4),對應(yīng)的地址編碼應(yīng)該是8位,如果采用6路的并行數(shù)據(jù)時(PT2272-M6),對應(yīng)的地址編碼應(yīng)該是6位。超再生接收模塊有七根引腳,
7、分別為10、11、12、13、GND、VT、VCC,其中VCC為5V供電端,GND為接地端, VT端為解碼有效輸出端,10、11、12、13是解碼芯片PT2272(SC2272)集成電路的10~13腳,為四位數(shù)據(jù)鎖存輸出端,有信號時能輸出5V左右的高電平,驅(qū)動電流約2mA,與發(fā)射器上的四為個按鍵一一相對應(yīng),這里用的是L4鎖存芯片,所以數(shù)據(jù)輸出能鎖存。天線需要焊接到天線焊盤上,可以和1.2M的發(fā)射端配合。
3.2 控制電路的設(shè)計
3.2.1 復(fù)位電路
圖5 復(fù)位電路
控制電路是基于89C51單片機的PT2272解碼電路,單片機外設(shè)接復(fù)位電路,由電容22uf的C3、按鍵K1電阻R8組
8、成,外接復(fù)位電源,接通電源瞬間電容C3對高脈沖相當(dāng)于短路,對RESET引腳輸入高電平,完成復(fù)位操作。當(dāng)再次需要復(fù)位時,按下按鍵K1,電源通過電阻R8和按鍵K1對RESET輸入高電平,完成復(fù)位。
3.2.2外部時鐘電路
圖6 外部時鐘電路
外設(shè)振蕩電路由兩個30pf的電容C1、C2和12MHZ的晶振組成,為89C51單片機提供0.0833us的振蕩周期。輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體和兩個電容,可以構(gòu)成穩(wěn)定的自激振蕩器。兩個電容對振蕩頻率有微調(diào)作用。這個振蕩電路可提供振蕩脈沖范圍為f=0~24MHZ的振蕩周期。
3.2.3顯示電路
圖7 顯示電路
顯
9、示電路是有共陰數(shù)碼管顯示,其中abcdefg引腳外接510KB的上拉電阻,再接入電源。接收從P0口送來的字符信號。
4 結(jié)束語
該系統(tǒng)可以準(zhǔn)確高效地進行無線數(shù)據(jù)傳輸,是實現(xiàn)單片機與微機之間遠(yuǎn)距離串行無線通信的一種簡單可行的設(shè)計方案。51系列單片機工作的時候,會產(chǎn)生比較強的電磁輻射,頻率范圍在9MHZ-900MHZ,因此它會影響任何此頻率內(nèi)的無線接收設(shè)備的靈敏度,解決的方法是盡量降低CPU 晶體的頻率。測試表明:在1M晶體的輻射強度,只有12M晶體時的1/3,因此,如果把晶體頻率選擇在500K以下,可以有效降低CPU的輻射干擾。另外一個比較好的方法是:將接收模塊通過一個3芯屏蔽電纜(地,+
10、5V,DATA,屏蔽線的地線懸空)將模塊引出到離開單片機2米以外,則不管51CPU使用那個頻率的晶體,這種干擾就會基本消除。對于PIC單片機,則沒有上述輻射干擾??梢匀我馐褂谩?
5參考文獻(xiàn)
[1] 黃智偉. 單片無線收發(fā)集成電路原理與應(yīng)用[ M] . 北京: 人民郵電出版社, 2005.
[2] 曹巧媛. 單片機原理及應(yīng)用[ M ] . 北京: 電子工業(yè)出版社, 2002
[3] 馬先才. 單向無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計[ J] . 電子科技,2003, 3
[4] 毋昌明, 育辛力. 無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計[ J] . 北京理工大學(xué)學(xué)報, 1994,
[5]
11、程鵬,吳秋峰. 基于應(yīng)用層組播的流媒體直播系統(tǒng)[ J ].計算機工程, 2007
[6] 李展. IP組播在企業(yè)網(wǎng)軟交換系統(tǒng)中的應(yīng)用[ J ]. 華南農(nóng)業(yè)大學(xué)學(xué)報, 2006
[7] 劉鋒,任勇,山秀明.互聯(lián)網(wǎng)絡(luò)數(shù)據(jù)包傳輸?shù)囊环N簡單元胞自動機模型[ J] . 物理學(xué)報, 2002
[8] 李朝青.單片機原理及接口技術(shù) 北京航空航天大學(xué)出版社,1998
[9] 李廣弟.單片機基礎(chǔ)[M] 北京航空航天大學(xué)出版社,1994
[10] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,1989
[11] 高仕勇,王照平.利用DSl8b20實現(xiàn)高精度溫度測量[J].電子技術(shù),
12、2000
[12] 梁明理,周建平,鄧仁清,等電子線路[M].北京:高等教育出版社,1993
[13] 張福學(xué).傳感器應(yīng)用及其電路精選[M].北京:電子工業(yè)出版社,1992
附錄1
圖8 遙控發(fā)射模塊示意圖
附錄2
圖9 接收解碼原理圖
附錄3
圖10 PCB圖
附錄4 程序
#include "reg52.h"
#include
#define uchar unsig
13、ned char
#define uint unsigned int
uchar i,j;
sbit P2_7=P2^7;
sbit fmq=P3^6;
sbit P3_7=P3^7;
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<115;j++) //1ms基準(zhǔn)延時程序
{
;
}
}
}
void delay500us()
{
unsigned char j;
for(j=0;j<57;j++) //500
14、us基準(zhǔn)延時程序
{
;
}
}
void beep() //產(chǎn)生1KHZ頻率聲音的函數(shù)
{
fmq=0;
delay500us();
fmq=1;
delay500us();
}
void beep1()
{
uint k;
for(k=0;k<500;k++)
{
beep();
}
fmq=1;
delay1ms(500);
}
void main(void)
{
P2_7=0;//開數(shù)碼管顯示 選通左右側(cè)的數(shù)碼管
P0=0xc0; //初始顯示數(shù)字0
while(1){
P1=0xff; //P1口設(shè)
15、置為輸入狀態(tài) 先全部寫1
i=P1;//賦值給臨時存貯變量
i=i&0x0f; //和0x0f相與 屏蔽高四位,讀取無線遙控碼
if (i==0x04)//如果是0x04,則代表無線遙控器的按鍵A按下,執(zhí)行顯示
{
P0=0x88; //字母A的字型碼
beep1();
}
if (i==0x01)//如果是0x01,則代表無線遙控器的按鍵b按下,執(zhí)行顯示
{
P0=0x83;//字母b的字型碼
fmq=1;
}
if (i==0x08)//如果是0x08,則代表無線遙控器的按鍵C按下,執(zhí)行顯示
{
P0=0xc6;//字母C的字型碼
P3_7=1;//繼電器吸合
}
if (i==0x02)//如果是0x02,則代表無線遙控器的按鍵d按下,執(zhí)行顯示
{
P0=0xa1;//字母d的字型碼
P3_7=0; //繼電器釋放
}
}
}
12