一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用單片機(jī)與數(shù)字電臺(tái)實(shí)現(xiàn)串行通信的資料概述

Wildesbeast ? 來(lái)源:?jiǎn)纹瑱C(jī)教程網(wǎng) ? 作者:?jiǎn)纹瑱C(jī)教程網(wǎng) ? 2020-07-18 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹無(wú)線數(shù)據(jù)傳輸系統(tǒng)的組成、AT89C51單片機(jī)串行口的工作方式及其與無(wú)線數(shù)字電臺(tái)接口的軟硬件設(shè)計(jì)與實(shí)現(xiàn)方法。

一般的數(shù)字采集系統(tǒng),是通過(guò)傳感器將捕捉的現(xiàn)場(chǎng)信號(hào)轉(zhuǎn)換為電信號(hào),經(jīng)模/數(shù)轉(zhuǎn)換器ADC采樣、量化、編碼后,為成數(shù)字信號(hào),存入數(shù)據(jù)存儲(chǔ)器,或送給微處理器,或通過(guò)無(wú)線方式將數(shù)據(jù)發(fā)送給接收端進(jìn)行處理。無(wú)線數(shù)據(jù)傳輸系統(tǒng)就是 樣一套利用無(wú)線手段,將采集的數(shù)據(jù)由測(cè)量站發(fā)送到主控站的設(shè)備。

PTR2000是一種短程無(wú)線通信技術(shù)。本文給出了一種基于PTR2000技術(shù)的溫度檢測(cè)系統(tǒng)的硬件電路原理框圖和通信程序流程圖。本文以一遠(yuǎn)程溫度檢測(cè)系統(tǒng)為例,詳細(xì)講解了基于單片機(jī)無(wú)線數(shù)據(jù)傳輸技術(shù)的應(yīng)用。本系統(tǒng)由溫度檢測(cè)單元,發(fā)送單元和接收單元構(gòu)成,發(fā)送單元的MCU連接溫度傳感器,檢測(cè)遠(yuǎn)程溫度,處理后,通過(guò)無(wú)線數(shù)據(jù)收發(fā)模塊PTR 2000發(fā)送給接收單元的PTR 2000;通過(guò)無(wú)線數(shù)據(jù)收發(fā)模塊PTR 2000接受發(fā)送單元發(fā)送過(guò)來(lái)的溫度數(shù)據(jù),傳送給PC機(jī),并在PC機(jī)上顯示當(dāng)前溫度。本文詳細(xì)分析了上述實(shí)現(xiàn)原理,并給出了主要程序代碼,并通過(guò)了測(cè)試,有較強(qiáng)的實(shí)用價(jià)值。

系統(tǒng)由測(cè)量站和主控站兩部分組成。測(cè)量站主要完成對(duì)現(xiàn)場(chǎng)信號(hào)的采集、存儲(chǔ),接收遙控指令并發(fā)送數(shù)據(jù)。主控站的主要工作是發(fā)送遙控指令、接收數(shù)據(jù)信息、進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)管理、隨機(jī)顯示打印等。

2 AT89C51與數(shù)字電臺(tái)的串行通信

Atmel公司的AT89C51單片機(jī),是一種低功耗、高性能的、片內(nèi)含有4KB Flash ROM的8位CMOS單片機(jī),工作電壓范圍為2.7~6V(實(shí)際使用+5V供電),8位數(shù)據(jù)總線。它有一個(gè)可編程的全雙工串行通信接口,能同時(shí)進(jìn)行串行發(fā)送和執(zhí)著收。通過(guò)RXD引腳(串行數(shù)據(jù)接收端)和TXD引腳(串行數(shù)據(jù)發(fā)送端)與外界進(jìn)行通信。

2.1 通信協(xié)議與波特率

數(shù)字電臺(tái)與單片機(jī)、終端主控機(jī)的通信協(xié)議為:

通信接口——標(biāo)準(zhǔn)串行RS232接口,9線制半雙工方式;

通信幀格式——1位起始位,8位數(shù)據(jù)位,1位可編程數(shù)據(jù)位,1位停止位;

波特率——1200 baud。

數(shù)字電臺(tái)選用Motorola公司的GM系列車(chē)載電臺(tái),工作于VHF/UHF頻段,可進(jìn)行無(wú)線數(shù)傳(9線制標(biāo)準(zhǔn)串行RS232接口),也可進(jìn)行話(huà)音通信;采用二進(jìn)制移頻鍵控(2FSK)調(diào)制解調(diào)方式,符合國(guó)際電報(bào)電話(huà)咨詢(xún)委員會(huì)CCITT.23標(biāo)準(zhǔn)。在話(huà)帶內(nèi)進(jìn)行數(shù)字傳輸時(shí),推薦在不高于1200b/s數(shù)據(jù)率時(shí)使用。實(shí)際使用時(shí),電臺(tái)工作于220~240MHz頻率范圍,采用半雙工方式(執(zhí)行收、發(fā)操作,但不能同時(shí)進(jìn)行)即可滿(mǎn)足系統(tǒng)要求。

2.2 AT89C51串行口工作方式

AT89C51串行口可設(shè)置四種工作方式,可有8位、10位和11位幀格式。本系統(tǒng)中,AT89C51串行口工作于方式3,即鳘幀11位的異步通信格式:1位起始位,8位數(shù)據(jù)位(低位在前),1位可編程數(shù)據(jù)位,1位停止位。

發(fā)送前,由軟件設(shè)置第9位數(shù)據(jù)(TB8)作奇偶校驗(yàn)位,將要發(fā)送的數(shù)據(jù)寫(xiě)入SBUF,啟動(dòng)發(fā)送過(guò)程。串行口能自動(dòng)把TB8取出,裝入到第9位數(shù)據(jù)的位置,再逐一發(fā)送出去。發(fā)送完畢,使TI=1。

接收時(shí),置SCON中的REN為1,允許接收。當(dāng)檢測(cè)到RXD(P3.0端有“1”到“0”的跳變(起始位)時(shí),開(kāi)始接收9位數(shù)據(jù),送入移位寄存器(9位)。當(dāng)滿(mǎn)足RI=0且SM2=0或接收到的9位數(shù)據(jù)為1時(shí),前8位數(shù)據(jù)送入SBUF,第9位數(shù)據(jù)送入SCON中的RB8,置RI為1;否則,這次接收無(wú)效,不置位RI。

串口方式3的波特率由定時(shí)器T1的溢出率與SMOD值同時(shí)決定:

方式3波特率=T1溢出率/n

當(dāng)SMOD=0時(shí),n=32;SMOD=1時(shí),n=16。T1溢出率取決于T1的計(jì)數(shù)速率(計(jì)數(shù)速率=fosc/12)和TI預(yù)置的初值。

定時(shí)器T1用作波特率發(fā)生器,工作于模式2(自動(dòng)重裝初值)。設(shè)TH1和TL1定時(shí)計(jì)數(shù)初值為X,則每過(guò)“2 8-X”個(gè)機(jī)器周期,T1就會(huì)發(fā)生一次溢出。初值X確定如下:

X=256-fosc×(SMOD+1)/384×BTL

本系統(tǒng)中,SMOD=0,波行率BTL=1200,晶振fosc=6MHz,所以初值X=F3H。

2.3 AT89C51與數(shù)字電臺(tái)的硬件連接

AT89C51與數(shù)字電臺(tái)的硬件連接如圖3所示。

系統(tǒng)采用異步串行通信方式傳輸測(cè)量數(shù)據(jù)。利用單片機(jī)串口與數(shù)字電臺(tái)RS232數(shù)據(jù)口相連。電臺(tái)常態(tài)為收狀態(tài)(PPT=0,收狀態(tài);PPT=1,發(fā)狀態(tài)),單片機(jī)P3.5腳輸出高電平。單片機(jī)使用TTL電平,電臺(tái)使用RS232電平,由MAX232完成TTL電平與RS232電平之間的轉(zhuǎn)換。3片光電耦合器6N137實(shí)現(xiàn)單片機(jī)與電臺(tái)之間的電源隔離,增強(qiáng)系統(tǒng)抗干擾性能。

單片機(jī)通過(guò)帶控制端的三態(tài)緩沖門(mén)74HC125、非門(mén)74HC14控制電臺(tái)的收發(fā)轉(zhuǎn)換,以及指令的接收和數(shù)據(jù)發(fā)送。接收時(shí),P3.5=1,c2=1,74HC125B截止;P3.5經(jīng)74HC14反相、光電隔離,使電臺(tái)PPT腳為低電平,將其置為接收狀態(tài);同時(shí)c1=0,74HC125A導(dǎo)通,接收的指令由電臺(tái)的RXD端輸入,經(jīng)MAX232電平變換、光電隔離、74HC125A緩沖門(mén),送入單片機(jī)RXD腳。發(fā)射時(shí),P3.5=0,經(jīng)74HC14反相、光電隔離,使電臺(tái)PPT腳為高電平,將其置為發(fā)射狀態(tài);同時(shí)c1=1,74HC125A截止,c2=0,74HC125B導(dǎo)通,數(shù)據(jù)由單片機(jī)TXD腳輸出,經(jīng)74HC125B緩沖門(mén)、光電隔離、MAX232電平變換,通過(guò)電臺(tái)TXD端口將數(shù)據(jù)發(fā)送出去。

3 通信軟件設(shè)計(jì)

通信軟件至關(guān)重要,一旦出現(xiàn)問(wèn)題,整個(gè)系統(tǒng)就會(huì)癱瘓。采取差錯(cuò)控制與容錯(cuò)技術(shù)是非常重要的。

*主控站發(fā)送的指令中包含一定數(shù)量的同步符55H和3字節(jié)的密碼。測(cè)量站在連續(xù)收到5個(gè)同步符后進(jìn)行密碼驗(yàn)證,驗(yàn)證通過(guò)后正式接收指令字節(jié);如未通過(guò),則測(cè)量站發(fā)一信號(hào)讓主控站重發(fā),三次驗(yàn)證不過(guò)則停發(fā)該命令。測(cè)量站發(fā)/主控站收時(shí),驗(yàn)證方式與此相同。驗(yàn)證通過(guò)后,測(cè)量站開(kāi)始發(fā)送數(shù)據(jù)。

*一個(gè)指令由3字節(jié)構(gòu)成,第二字節(jié)等于第一字節(jié)加上35H,第3字節(jié)等于第二字節(jié)加上36H。如果收到的指令不符合此規(guī)則,則重發(fā)該命令,連續(xù)三次錯(cuò)誤時(shí)停發(fā)。

*主控站每發(fā)一個(gè)指令,測(cè)量站都回送一個(gè)應(yīng)答信號(hào)。該應(yīng)答信號(hào)中包含原指令樣本。

下面給出單片機(jī)串行口與電臺(tái)的基本通信程序。

初始化程序:

BTL EQU 2FH ;波特率放在內(nèi)部RAM的2FH單元

MOV TMOD,#21H;T0方式1,16位計(jì)數(shù)器,T1方式2,串口用

SETB TR0 ;啟動(dòng)T0

MOV BTL,#0F3H ;波特率設(shè)定為1200

MOV SCON,#0C0H;串口方式3,9位數(shù)據(jù),禁止接收

接收及驗(yàn)證程序:

NUM EQU 2BH ;同步符個(gè)數(shù)值存放在內(nèi)部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字節(jié)同步符

MIM DB ‘WSC’:3字節(jié)密碼“WSC”

SETB P3.5 ;置電臺(tái)收狀態(tài)

SETB REN ;允許串口接收

A1:MOV NUM,#0 ;記錄連續(xù)到同步符55H的個(gè)數(shù)

A2:JB RI,A2 ;串口有數(shù)據(jù)轉(zhuǎn)A3

A3:CLR RI ;清接收中斷標(biāo)志

MOV A,SBUF ;讀串口數(shù)據(jù)

CJNE A,#55H,A1;不是同步符轉(zhuǎn)A1

INC NUM ;收到的同步符個(gè)數(shù)加1

MOV A,NUM ;取收到的同步符個(gè)數(shù)

CJNE A,#5,A2 ;未收夠連續(xù)5個(gè)55H轉(zhuǎn)A2

A4:MOV NUM,#0 ;密碼驗(yàn)證,記錄收到密碼字節(jié)數(shù)

A5:MOV DPTR,#MIM;密碼字符首址

MOV A,NUM

MOVC A,@A+DPTR;查表取密碼

MOV TEMP,A ;保存密碼

JB RI,A6 ;串口收完一個(gè)字節(jié)轉(zhuǎn)A6

A6:CLR RI ;清接收中斷標(biāo)志

MOV A,SBUF ;讀串口數(shù)據(jù)

CJNE A,TEMP,A4;與密碼不符轉(zhuǎn)A4

INC NUM ;收到的密碼個(gè)數(shù)加1

MOV A,NUM ;取已收到的密碼字節(jié)數(shù)

CJNE A,#3,A5 ;密碼未收完轉(zhuǎn)A5

發(fā)送程序:

CLR P3.5 ;置電臺(tái)發(fā)狀態(tài)

MOV B,#23

MOV DPTR,#ROM-CH

B1:CLR A

MOVC A,@A+DPTR;查表發(fā)送同步符和密碼共24字節(jié)

INC DPTR

LCALL SEND-CH ;調(diào)發(fā)送單字節(jié)子程序

DJNZ B,B1

CLR A

MOV DPTR,#7000H;外部RAM數(shù)據(jù)首址,發(fā)送外部RAM中的數(shù)據(jù)到電臺(tái)

B2:CJNE R4,#0,B3

CJNE R3,#0,B3;R4R3=發(fā)送字節(jié)數(shù)

B3:MOVX A,@DPTR;取數(shù)據(jù)

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,A

DB 0,0,0,0,0,0,0,0

JNB TI,$ ;延時(shí)4μs

CLR TI

RET

結(jié)語(yǔ)

無(wú)線數(shù)據(jù)傳輸系統(tǒng)建成后,已經(jīng)使用了兩年多,運(yùn)行結(jié)果表明,系統(tǒng)工作穩(wěn)定可靠。由于采用了較完善的軟硬件設(shè)計(jì)和抗干擾措施,保證了系統(tǒng)工作的安全性和可靠性。測(cè)量站把采集的現(xiàn)場(chǎng)信號(hào)及時(shí)傳送到主控站,提高了數(shù)據(jù)處理的實(shí)時(shí)性。單片機(jī)和數(shù)字電臺(tái)接口的軟硬件設(shè)計(jì)具有很強(qiáng)的適用性,可廣泛應(yīng)用于無(wú)線數(shù)傳設(shè)備

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44989

    瀏覽量

    650357
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6705

    瀏覽量

    549183
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118888
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    588

    瀏覽量

    36182
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AT89C51 單片機(jī)中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機(jī)中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 06-24 15:29 ?0次下載

    STM32單片機(jī)片上數(shù)字濾波器操作文檔 快速入門(mén)數(shù)字濾波器在單片機(jī)上的實(shí)現(xiàn)

    這個(gè)文檔,是為了幫助大家快速入門(mén)數(shù)字濾波器在單片機(jī)上的實(shí)現(xiàn)。
    的頭像 發(fā)表于 06-23 16:53 ?574次閱讀
    STM32<b class='flag-5'>單片機(jī)</b>片上<b class='flag-5'>數(shù)字</b>濾波器操作文檔 快速入門(mén)<b class='flag-5'>數(shù)字</b>濾波器在<b class='flag-5'>單片機(jī)</b>上的<b class='flag-5'>實(shí)現(xiàn)</b>

    【技術(shù)】數(shù)傳電臺(tái)如何實(shí)現(xiàn)一對(duì)多通信

    如何實(shí)現(xiàn)一對(duì)多通信的技術(shù)原理、實(shí)現(xiàn)方式及優(yōu)化策略。一對(duì)多通信的基本原理數(shù)傳電臺(tái)的無(wú)線信號(hào)本質(zhì)上是廣播式的,即所有處于同一頻段和覆蓋范圍內(nèi)的設(shè)
    的頭像 發(fā)表于 05-22 19:32 ?385次閱讀
    【技術(shù)】數(shù)傳<b class='flag-5'>電臺(tái)</b>如何<b class='flag-5'>實(shí)現(xiàn)</b>一對(duì)多<b class='flag-5'>通信</b>?

    C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍

    定時(shí)/計(jì)數(shù)器實(shí)驗(yàn) 21:單片機(jī)串行口介紹 系列四 22:單片機(jī)串行通信程序設(shè)計(jì) 23:LED 數(shù)碼管靜態(tài)顯示接口與編 24:動(dòng)態(tài)
    發(fā)表于 05-15 14:00

    新概念51單片機(jī)C語(yǔ)言教程入門(mén)、提高、開(kāi)發(fā)、拓展全攻略

    檢測(cè) 5.1 模擬量與數(shù)字概述 5.2 A/D轉(zhuǎn)換原理及參數(shù)指標(biāo) 5.3 ADC0804工作原理及其實(shí)現(xiàn)方法 5.4 D/A轉(zhuǎn)換原理及其參數(shù)指標(biāo) 5.5 DAC0832工作原理及實(shí)現(xiàn)
    發(fā)表于 04-15 13:57

    STC單片機(jī)聲卡PCB和源碼資料

    STC單片機(jī)聲卡PCB和源碼資料
    發(fā)表于 04-03 11:14 ?0次下載

    32位單片機(jī)相關(guān)資料和解決方案參考指南

    電子發(fā)燒友網(wǎng)站提供《32位單片機(jī)相關(guān)資料和解決方案參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-21 14:00 ?0次下載
    32位<b class='flag-5'>單片機(jī)</b>相關(guān)<b class='flag-5'>資料</b>和解決方案參考指南

    昂寶單片機(jī)相關(guān)資料

    昂寶單片機(jī)相關(guān)資料
    發(fā)表于 11-25 14:50 ?0次下載

    基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘

    按鍵,可實(shí)現(xiàn)秒復(fù)位。仿真演示視頻:基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘-仿真視頻設(shè)計(jì)介紹51單片機(jī)簡(jiǎn)介51單片是一種低功耗、高性能CMOS-8位微控
    的頭像 發(fā)表于 10-22 14:12 ?637次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的手動(dòng)<b class='flag-5'>數(shù)字</b>時(shí)鐘

    基于51單片機(jī)的遙控開(kāi)關(guān)仿真(雙機(jī)通信)

    單片機(jī)最小系統(tǒng)、繼電器及LED燈構(gòu)成;(4)由于仿真無(wú)法模擬無(wú)線模塊通信,故利用單片機(jī)RXD、TXD端口模擬,通過(guò)遙控器的開(kāi)關(guān)實(shí)現(xiàn)對(duì)主機(jī)LED燈的控制,
    的頭像 發(fā)表于 10-22 14:12 ?825次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的遙控開(kāi)關(guān)仿真(雙機(jī)<b class='flag-5'>通信</b>)

    如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)串行通信

    51單片機(jī)與PC機(jī)串行通信是一種常見(jiàn)的通信方式,它允許單片機(jī)通過(guò)
    的頭像 發(fā)表于 10-21 11:35 ?2663次閱讀

    把esp8266加入到c51單片機(jī)單通道程序怎么寫(xiě)

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過(guò)串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這一點(diǎn)
    的頭像 發(fā)表于 10-18 11:32 ?1651次閱讀

    單片機(jī)SPI通信實(shí)現(xiàn)

    在深入探討單片機(jī)(如基于STM32、AVR、PIC等)如何通過(guò)SPI(Serial Peripheral Interface)進(jìn)行通信之前,我們先概述SPI通信的基本原理,隨后以STM
    的頭像 發(fā)表于 09-09 17:00 ?1643次閱讀

    單片機(jī)燒錄程序用什么軟件

    單片機(jī)燒錄程序是單片機(jī)開(kāi)發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),涉及到將編寫(xiě)好的程序代碼通過(guò)燒錄器寫(xiě)入單片機(jī)的ROM中,以實(shí)現(xiàn)對(duì)單片機(jī)的控制。 燒錄器的類(lèi)型
    的頭像 發(fā)表于 09-02 10:05 ?3428次閱讀

    藍(lán)牙模塊如何實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳

    藍(lán)牙模塊實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳的過(guò)程可以分為以下幾個(gè)步驟: 硬件準(zhǔn)備 : 確保你有一個(gè)支持藍(lán)牙通信單片機(jī)開(kāi)發(fā)板,如Arduino、Raspberry Pi等。 準(zhǔn)備一個(gè)兼容的藍(lán)牙
    的頭像 發(fā)表于 07-24 17:59 ?5608次閱讀
    藍(lán)牙模塊如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>單片機(jī)</b>和手機(jī)端數(shù)據(jù)互傳