單片機和數字電臺的串行通信_第1頁
單片機和數字電臺的串行通信_第2頁
單片機和數字電臺的串行通信_第3頁
單片機和數字電臺的串行通信_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、單片機和數字電臺的串行通信一般的數字采集系統,是通過傳感器將捕捉的現場信號轉換為電信號,經模/數轉換器ADC采樣、量化、編碼后,為成數字信號,存入數據存儲器,或送給微處理器,或通過無線方式將數據發送給接收端進行處理。無線數據傳輸系統就是 樣一套利用無線手段,將采集的數據由測量站發送到主控站的設備。 PTR2000是一種短程無線通信技術。本文給出了一種基于PTR2000技術的溫度檢測系統的硬件電路原理框圖和通信程序流程圖。本文以一遠程溫度檢測系統為例,詳細講解了基于單片機無線數據傳輸技術的應用。本系統由溫度檢測單元,發送單元和接收單元構成,發送單元的MCU連接溫度傳感器,檢測遠程溫度,處理后,通

2、過無線數據收發模塊PTR 2000發送給接收單元的PTR 2000;通過無線數據收發模塊PTR 2000接受發送單元發送過來的溫度數據,傳送給PC機,并在PC機上顯示當前溫度。本文詳細分析了上述實現原理,并給出了主要程序代碼,并通過了測試,有較強的實用價值。 系統由測量站和主控站兩部分組成。測量站主要完成對現場信號的采集、存儲,接收遙控指令并發送數據。主控站的主要工作是發送遙控指令、接收數據信息、進行數據處理和數據管理、隨機顯示打印等。 2 AT89C51與數字電臺的串行通信 Atmel公司的AT89C51單片機,是一種低功耗、高性能的、片內含有4KB Flash ROM的8位CMOS單片機,

3、工作電壓范圍為2.76V(實際使用+5V供電),8位數據總線。它有一個可編程的全雙工串行通信接口,能同時進行串行發送和執著收。通過RXD引腳(串行數據接收端)和TXD引腳(串行數據發送端)與外界進行通信。 2.1 通信協議與波特率 數字電臺與單片機、終端主控機的通信協議為: 通信接口標準串行RS232接口,9線制半雙工方式; 通信幀格式1位起始位,8位數據位,1位可編程數據位,1位停止位; 波特率1200 baud。 數字電臺選用Motorola公司的GM系列車載電臺,工作于VHF/UHF頻段,可進行無線數傳(9線制標準串行RS232接口),也可進行話音通信;采用二進制移頻鍵控(2FSK)調制

4、解調方式,符合國際電報電話咨詢委員會CCITT.23標準。在話帶內進行數字傳輸時,推薦在不高于1200b/s數據率時使用。實際使用時,電臺工作于220240MHz頻率范圍,采用半雙工方式(執行收、發操作,但不能同時進行)即可滿足系統要求。 2.2 AT89C51串行口工作方式 AT89C51串行口可設置四種工作方式,可有8位、10位和11位幀格式。本系統中,AT89C51串行口工作于方式3,即鳘幀11位的異步通信格式:1位起始位,8位數據位(低位在前),1位可編程數據位,1位停止位。 發送前,由軟件設置第9位數據(TB8)作奇偶校驗位,將要發送的數據寫入SBUF,啟動發送過程。串行口能自動把T

5、B8取出,裝入到第9位數據的位置,再逐一發送出去。發送完畢,使TI=1。 接收時,置SCON中的REN為1,允許接收。當檢測到RXD(P3.0端有“1”到“0”的跳變(起始位)時,開始接收9位數據,送入移位寄存器(9位)。當滿足RI=0且SM2=0或接收到的9位數據為1時,前8位數據送入SBUF,第9位數據送入SCON中的RB8,置RI為1;否則,這次接收無效,不置位RI。 串口方式3的波特率由定時器T1的溢出率與SMOD值同時決定: 方式3波特率=T1溢出率/n 當SMOD=0時,n=32;SMOD=1時,n=16。T1溢出率取決于T1的計數速率(計數速率=fosc/12)和TI預置的初值。

6、 定時器T1用作波特率發生器,工作于模式2(自動重裝初值)。設TH1和TL1定時計數初值為X,則每過“2 8-X”個機器周期,T1就會發生一次溢出。初值X確定如下: X=256-fosc(SMOD+1)/384BTL 本系統中,SMOD=0,波行率BTL=1200,晶振fosc=6MHz,所以初值X=F3H。 2.3 AT89C51與數字電臺的硬件連接 AT89C51與數字電臺的硬件連接如圖3所示。 系統采用異步串行通信方式傳輸測量數據。利用單片機串口與數字電臺RS232數據口相連。電臺常態為收狀態(PPT=0,收狀態;PPT=1,發狀態),單片機P3.5腳輸出高電平。單片機使用TTL電平,電

7、臺使用RS232電平,由MAX232完成TTL電平與RS232電平之間的轉換。3片光電耦合器6N137實現單片機與電臺之間的電源隔離,增強系統抗干擾性能。 單片機通過帶控制端的三態緩沖門74HC125、非門74HC14控制電臺的收發轉換,以及指令的接收和數據發送。接收時,P3.5=1,c2=1,74HC125B截止;P3.5經74HC14反相、光電隔離,使電臺PPT腳為低電平,將其置為接收狀態;同時c1=0,74HC125A導通,接收的指令由電臺的RXD端輸入,經MAX232電平變換、光電隔離、74HC125A緩沖門,送入單片機RXD腳。發射時,P3.5=0,經74HC14反相、光電隔離,使電

8、臺PPT腳為高電平,將其置為發射狀態;同時c1=1,74HC125A截止,c2=0,74HC125B導通,數據由單片機TXD腳輸出,經74HC125B緩沖門、光電隔離、MAX232電平變換,通過電臺TXD端口將數據發送出去。 3 通信軟件設計 通信軟件至關重要,一旦出現問題,整個系統就會癱瘓。采取差錯控制與容錯技術是非常重要的。 *主控站發送的指令中包含一定數量的同步符55H和3字節的密碼。測量站在連續收到5個同步符后進行密碼驗證,驗證通過后正式接收指令字節;如未通過,則測量站發一信號讓主控站重發,三次驗證不過則停發該命令。測量站發/主控站收時,驗證方式與此相同。驗證通過后,測量站開始發送數據

9、。 *一個指令由3字節構成,第二字節等于第一字節加上35H,第3字節等于第二字節加上36H。如果收到的指令不符合此規則,則重發該命令,連續三次錯誤時停發。 *主控站每發一個指令,測量站都回送一個應答信號。該應答信號中包含原指令樣本。 下面給出單片機串行口與電臺的基本通信程序。 初始化程序: BTL EQU 2FH ;波特率放在內部RAM的2FH單元 MOV TMOD,#21H;T0方式1,16位計數器,T1方式2,串口用 SETB TR0 ;啟動T0 MOV BTL,#0F3H ;波特率設定為1200 MOV SCON,#0C0H;串口方式3,9位數據,禁止接收 接收及驗證程序: NUM EQ

10、U 2BH ;同步符個數值存放在內部RAM的2BH單元 TEMP EQU 2CH ROM-CH:DB 55H,55H,55H,55H,55H,55H,55H,55H,55H,55H DB 55H,55H,55H,55H,55H,55H,55H,55H,55H,55H ;20字節同步符 MIM DB WSC:3字節密碼“WSC” SETB P3.5 ;置電臺收狀態 SETB REN ;允許串口接收 A1:MOV NUM,#0 ;記錄連續到同步符55H的個數 A2:JB RI,A2 ;串口有數據轉A3 A3:CLR RI ;清接收中斷標志 MOV A,SBUF ;讀串口數據 CJNE A,#55H

11、,A1;不是同步符轉A1 INC NUM ;收到的同步符個數加1 MOV A,NUM ;取收到的同步符個數 CJNE A,#5,A2 ;未收夠連續5個55H轉A2 A4:MOV NUM,#0 ;密碼驗證,記錄收到密碼字節數 A5:MOV DPTR,#MIM;密碼字符首址 MOV A,NUM MOVC A,A+DPTR;查表取密碼 MOV TEMP,A ;保存密碼 JB RI,A6 ;串口收完一個字節轉A6 A6:CLR RI ;清接收中斷標志 MOV A,SBUF ;讀串口數據 CJNE A,TEMP,A4;與密碼不符轉A4 INC NUM ;收到的密碼個數加1 MOV A,NUM ;取已收到

12、的密碼字節數 CJNE A,#3,A5 ;密碼未收完轉A5 發送程序: CLR P3.5 ;置電臺發狀態 MOV B,#23 MOV DPTR,#ROM-CH B1:CLR A MOVC A,A+DPTR;查表發送同步符和密碼共24字節 INC DPTR LCALL SEND-CH ;調發送單字節子程序 DJNZ B,B1 CLR A MOV DPTR,#7000H;外部RAM數據首址,發送外部RAM中的數據到電臺 B2:CJNE R4,#0,B3 CJNE R3,#0,B3;R4R3=發送字節數 B3:MOVX A,DPTR;取數據 INC DPTR LCALL SEND-CH CJNE R3,#0,B4 CJNE R4,#0,B5 B4:DEC R3 LJMP B2 DEC R3 DEC R4 LJMP B2 SEND-CH:SETB TB8 MOV SBUF,

溫馨提示

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

評論

0/150

提交評論