日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
現(xiàn)代通信技術的迅速發(fā)展使得許多應用領域都采用無線的通信方式進行數(shù)據(jù)傳輸。編解碼芯片PT2262、PT2272組成的電路,由于具有體積小、功耗低、功能強、成本低等特點,廣泛應用于各類的無線遙控器、無線報警器以及玩具等其他小型電器裝置。但是,這種電路極少用在多個字節(jié)數(shù)據(jù)的通信方面,具有一定的局限性。本文主要介紹利用433 MHz高頻發(fā)射模塊和接收模塊來制作多機無線ASCII碼格式的短信通信。該通信方式是在433MHz高頻發(fā)射模塊和接收模塊的基礎上自己定義無線傳輸協(xié)議,實現(xiàn)任意兩機之間的多個字節(jié)數(shù)據(jù)通信。


1 硬件系統(tǒng)設計

    本系統(tǒng)主要由PICl6F877A單片機構成控制系統(tǒng),周圍4個模塊分別是:按鍵輸入模塊、顯示輸出模塊、接收模塊和發(fā)射模塊。系統(tǒng)整體結構框圖如圖1所示。

1.1 主機電路的設計
    由于系統(tǒng)涉及的程序量比較大,所以要求Flash程序存儲器的存儲量不能太??;對發(fā)射和接收的短信進行存儲,要用到EEPROM數(shù)據(jù)存儲器模塊,EEPROM數(shù)據(jù)存儲器存儲的內(nèi)容掉電時不會丟失;接收解碼需要脈寬的捕捉和比較功能,要用到捕捉/比較/脈寬調(diào)制CCP模塊;發(fā)射、接收以及時鐘均要用到獨立的定時器,所要求的定時器的個數(shù)不少于3個?;谠O計需要,采用Microchip公司的PICl6F877A芯片作為系統(tǒng)的主控制器。該電路主要由主控芯片、晶體振蕩電路和在線仿真接口組成,如圖2所示。設計中使用MCLR、RB6、RB7三個接口作為在線仿真接口。

1.2 發(fā)射和接收電路的設計
   
采用433 MHz高頻發(fā)射和接收模塊。433 MHz的高頻發(fā)射電路在控制腳為高電平時起振并發(fā)射等幅高頻信號,當控制腳為低電平時停止振蕩。因此,可以用控制腳對高頻電路完成幅度鍵控(ASK調(diào)制),相當于調(diào)制度為100%的調(diào)幅。當接收模塊接收到433 MHz的等幅高頻信號時,信號腳就輸出高電平,否則輸出低電平。所以接收信號腳的高低電平變化會與發(fā)射控制腳的高低電平變化相對應。多個接收模塊可以同時接收到同一個發(fā)射模塊發(fā)射的信號,可以實現(xiàn)一機發(fā)送,多機同時接收。圖3所示電路是高頻433 MHz載波的發(fā)射和接收模塊。433 MHz的高頻發(fā)射電路在控制腳B5為高平時,三級管T1導通,T2射級接地起振并發(fā)射等幅高頻433 MHz的信號;當控制腳B5為低電平時,就停止振蕩。因此,可以用控制腳B5對高頻電路完成幅度鍵控(ASK調(diào)制),相當于調(diào)制度為100%的調(diào)幅。當接收模塊接收到433 MHz的等幅高頻信號時,信號腳就輸出高電平到C2口,若未收到433 MHz的等幅高頻信號則輸出低電平。所以接收信號腳的高低電平變化會與發(fā)射控制腳的高低電平變化相對應。例如給B5引腳輸入圖4所示的波形,那么在接收模塊的C2引腳上也將出現(xiàn)同樣的波形。注意,B5和C2的控制信號分別由主控芯片PICl6F877A的RB5和RC2發(fā)出。

   


1.3 液晶外圍控制電路的設計
   
采用諾基亞3310 LCD顯示模塊。該LCD為84×48點陣的液晶屏,一屏可顯示4×7個(12×12點陣)漢字,或6×14個(6×8點陣)英文、數(shù)字、標點符號等字符。該液晶顯示器輕薄短小、低功耗電量,常用于手機顯示。液晶外圍電路如圖5所示。

    本設計中,諾基亞33lO LCD用3 V的電壓供電。其中,1引腳是電源腳,6引腳接地線,2引腳為SCLK,3引腳為SDIN。4引腳為數(shù)據(jù)/地址選擇端,分別給4引腳高低電平,可以控制單片機對諾基亞3310 LCD寫數(shù)據(jù)或者寫命令。5引腳為使能端,低電平有效。8引腳為復位端,低電平有效。11引腳接背光燈電源的正級,12引腳接背光燈電源的控制級。9、10引腳為諾基亞3310 LCD自帶的喇叭,此喇叭用單片機來控制的聲音效果并不理想,所以改用直流自帶振蕩蜂鳴器。為了避免蜂鳴器和背燈光工作時對液晶電源造成影響,蜂鳴器和背燈光由5 V的電源來供電,與液晶電源分開。

2 軟件系統(tǒng)設計    
    本系統(tǒng)在主程序中運用模塊化結構,使得各個模塊之間關系清晰明了。復位分為兩個部分,以區(qū)分上電復位與非上電復位,上電復位執(zhí)行上電復位初始化程序;運用散轉結構,再根據(jù)重要數(shù)據(jù)3比2表決,實現(xiàn)無擾動重入;所有控制量(開關量)和接收數(shù)據(jù)集中處理,提高了處理效率;特殊功能寄存器冗余重置,使整個系統(tǒng)更穩(wěn)定地工作。主程序總流程如圖6所示。

3 通信模塊功能及算法
   
本無線通信協(xié)議模仿OSI分層模型分為以下3層,各層之間相互獨立,靈活性好,適應性強。
    (1)物理層
    物理層處于最低層,其任務是傳送和接收比特流。物理層關心的問題是:如何表示“1”和“O”;如何排除干擾;傳輸是否在兩個方向上同時進行等。本設計中使用433 MHz高頻發(fā)射模塊和接收模塊作為無線通信橋梁,固定的頻率限制了數(shù)據(jù)傳輸在同一時刻只能在一個方向上進行,所以兩個方向上的數(shù)據(jù)傳輸要在交替發(fā)生的情況下才能完成。
    (2)數(shù)據(jù)鏈路層
    數(shù)據(jù)鏈路層使用由物理層提供的服務,并通過添加錯誤處理機制將簡單的數(shù)據(jù)鏈路改造成可靠的數(shù)據(jù)鏈路,再提供給應用層。數(shù)據(jù)鏈路層以碼字為單位傳輸數(shù)據(jù),每一碼字包括數(shù)據(jù)和必要的校驗信息。在此自定義為無線傳輸協(xié)議(Wireless Transmission Protocol,WTP)。
    (3)應用層
    應用層處于最高層,它為應用進程提供了接入點,直接為用戶的應用進程提供服務。在此自定義為短信通信協(xié)議(Message Communication Protocol,MCP)。
3.1 定時器T2中斷模塊
   
中斷處理采用片內(nèi)CCPI中斷捕捉方式,對外部接口引腳CCP上輸入的脈沖信號上升沿或下降沿進行實時捕捉檢測。借助于這個強大的邊沿捕捉功能,很容易對信號的高電平時間進行檢測,從而實現(xiàn)對WTP解讀功能。中斷服務程序流程如圖7所示。

    在解讀WTP過程中只要判斷出同步碼,就對這一碼字進行初始化,把脈沖個數(shù)計數(shù)器清O;然后每捕捉到一個高電平,脈沖個數(shù)計數(shù)器就加1并保存記錄該脈沖。捕捉到一個高電平后,若高電平時間寬度為409.6~819.2μs,就認為是窄脈沖;高電平時間寬度為819.2~1 228.8μs,就認為是寬脈沖;若高電平時間寬度小于409.6μs或大于1 228.8μs,則認為該脈沖為干擾信號,當?shù)碗娖綍r間寬度大于819.2μs時也認為是干擾信號。收到干擾信號后將脈沖個數(shù)計數(shù)器清0,并把正在接收的碼字丟棄處理。當接收到25個脈沖后對前面16個脈沖進行處理,若每個位碼不是由一個窄脈沖和一個寬脈沖組成的,就認為接收正常。接收正常后,通過一個接收到數(shù)據(jù)的標志位反饋到MCP(短信通信協(xié)議)上處理,通信協(xié)議會根據(jù)該標志位到接收緩存中取剛剛接收到的數(shù)值。
    一個字節(jié)的數(shù)據(jù)波形如圖8所示。根據(jù)無線傳輸協(xié)議定義,發(fā)送的一個完整的碼字由數(shù)據(jù)碼、校驗碼、同步碼組成(圖中用虛線隔開這3個部分)。數(shù)據(jù)碼和校驗碼都用寬度不同的脈沖來表示,2個窄脈沖表示“0”,2個寬脈沖表示“1”。每組字碼之間有同步碼隔開,同步碼用一個窄脈沖和一個比較寬的低電平表示。一個字碼由8位數(shù)據(jù)碼、4位校驗碼和1個窄脈沖組成。若每個位碼用2個脈沖來代表,則一個碼字就是由25個脈沖組成。無線傳輸協(xié)議定義窄脈沖時間寬度為739.2μs,寬脈沖時間寬度為1 156.8μs,而脈沖之間的低電平時間統(tǒng)一為331.2μs,同步碼的低電平時間寬度為5 ms。
    圖8表示發(fā)送~個十六進制數(shù)“57H”,ASCII碼的“57H”表示字符“W”。圖中前16個脈沖表示“57H”的數(shù)據(jù)碼,二進制表示為“B01010111”;中間8個脈沖表示校驗碼,在該協(xié)議中校驗碼固定定義為半個字節(jié)的“AH”,二進制表示為“B1010”;同步碼則為一個時間寬度為739.2μS的窄脈沖和一個時間寬度為5 ms的低電平。

    該協(xié)議中從以下幾個方面來提高抗干擾能力:
    ①每個碼字由25個脈沖組成;
    ②每個位碼用2個脈沖來表示;
    ③校驗碼用“B1010”(“O”、“1”間隔)來排除干擾;
    ④若數(shù)據(jù)碼大于7FH,則作為無效數(shù)據(jù)處理。
3.2 發(fā)送短信模塊
   
這個模塊實現(xiàn)MCP功能,編輯短信采用ASCII碼格式,短信內(nèi)容取值范圍為ASCII碼的20H~7AH,ASCII碼內(nèi)容可以參照ASCII碼表。7CH~7FH作為特殊功能碼來處理。短信內(nèi)容格式要求為3個字符的“名字+內(nèi)容”。例如:要給名為LZX的通信器發(fā)短信,可寫成“LZX:……”。應用層的短信通信協(xié)議要求發(fā)送機發(fā)送短信順序是:
    ①發(fā)送短信開始碼(即7FH);
    ②發(fā)送短信的頭3個字符(即接收者的名字);
    ③等待接收者的短信開始應答信號(即7DH);
    ④收到應答信號后開始發(fā)送短信內(nèi)容;
    ⑤短信內(nèi)容發(fā)完后發(fā)短信結束碼(即7EH);
    ⑥等待接收者的短信結束應答信號(即7CH)。
    由于是無線發(fā)送與接收,有時會接收不到信號,所以當沒有收到短信開始應答信號時就從第一步再開始執(zhí)行。若執(zhí)行8次依舊沒有收到應答信號,就得出“無此人發(fā)送失敗”的結果。若沒有收到短信結束應答信號,就得出“發(fā)送中止失敗”的結果,否則就顯示“對方已收到”。
    因為無線發(fā)射的特點,第一組字碼非常容易受零電平干擾,往往會產(chǎn)生誤碼,所以剛開始發(fā)射的短信開始碼一般要發(fā)2~3次。如圖9所示,發(fā)送了5個碼字的數(shù)據(jù):7FH,7FH,57H,44H,58H(分別為開始碼、開始碼、W、D、X,其中“WDX"’為萬能名)。然后,等待接收者的短信開始應答信號再發(fā)短信內(nèi)容。

3.3 接收短信模塊
   
在這個模塊中實現(xiàn)對MCP解讀功能。根據(jù)MCP,在解讀中只要判斷出接收到短信開始碼,就將收短信的標志位置1,并開始設置一個通信超時值,然后繼續(xù)接收下3個字符再與本身名字或萬能名比較。應用層的短信通信協(xié)議要求接收機接收短信順序是:
    ①一旦接收到短信開始碼就進入接收短信;
    ②接收3個字符后與本身名或萬能名比較,若同名就反饋應答信號,否則返回到①;
    ③繼續(xù)接收短信內(nèi)容;
    ④接收到結束碼后反饋應答信號,若沒收到結束碼且通信超時則返回到①。
    在任何狀態(tài)收到短信的結束碼后,都會在液晶顯示屏的第一行顯示“receive a mess”,并以聲、光形式提示收到短信,由用戶手動查閱新的短信。
3. 4編輯短信模塊
   
這個模塊實現(xiàn)對短信的編輯,類似于手機編輯短信的模式;有單字刪除鍵、快速刪除鍵、全部清除鍵、標點符號鍵、輸入狀態(tài)大小寫字母或數(shù)字的切換鍵,短信尾部可顯示光標。因為受液晶屏幕所限,規(guī)定一條短信內(nèi)容長度為70個字符,編輯時限制字數(shù)為67個字符,發(fā)送時軟件上自動在短信尾部添加本機名并發(fā)送。液晶屏幕第一行顯示正在編輯狀態(tài)、現(xiàn)在的時間和大小寫輸入狀態(tài)。在該模塊中,主要是要定位好顯示和編輯指針,然后對各個按鍵做處理。

結 語
    本文闡述的設計方法集編碼和解碼技術、通信協(xié)議技術、抗干擾技術、編輯短信技術、液晶點陣顯示技術于一體。實現(xiàn)任意兩機之間可以互發(fā)70個ASCII碼字符的短信,可以像普通手機一樣編輯短信,機子可以由用戶命名以區(qū)別其他機子,實現(xiàn)一機對一機的通信,也可以用萬能名(“WDX”)實現(xiàn)一機對多機的通信??梢源鎯σ粭l發(fā)送出去的短信,也可以存儲一條剛接收到的短信和舊的短信。整個系統(tǒng)人機交互界面友好,類似于普通手機系統(tǒng),有操作提示,易于操作。本設計中采用分層的協(xié)議可以很容易地把無線通信模塊用其他性能更好的無線模塊替換。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

串口作為單片機開發(fā)的一個常用的外設,應用范圍非常廣。大部分時候,串口需要接收處理的數(shù)據(jù)長度是不定的。那么怎么才能判斷一幀數(shù)據(jù)是否結束呢,今天就以STM32單片機為例,介紹幾種接收不定長數(shù)據(jù)的方法。

關鍵字: 單片機 串口 STM32

單片機誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段。單片機由以前的1位、4位、8位、16位,發(fā)展到現(xiàn)在的32位甚至64位。當前國內(nèi)MCU廠商已有上百家,對標進口芯片的情況非常嚴重,導致國內(nèi)MCU產(chǎn)品將陷入同質(zhì)化...

關鍵字: 單片機 MCU 市場

(微控制單元 MCU(Microcontroller Unit),又稱單片機,是把中央處理器(CentralProcess Unit; CPU)的頻率與規(guī)格做適當縮減,并將內(nèi)存(memory)、計數(shù)器(Timer)、US...

關鍵字: 單片機 芯片 CPU

地球作為一顆海洋覆蓋率超過95%的星球,在海底還存在著許多人類從未探索過的區(qū)域。而探索這一區(qū)域目前最大的難題之一就是水下相機的供能技術,為它持續(xù)供電的成本太高。

關鍵字: 電池 無線 水下相機

在疫情的影響下,出門后、用餐前使用酒精消毒已成了人們的日常,而酒精噴霧機也因此變得十分熱銷。為了避免交叉感染的風險,自動酒精噴霧器也就應運而生。不同于傳統(tǒng)手動噴霧器不美觀、手部接觸不衛(wèi)生的bug,此款自動感應酒精噴霧器使...

關鍵字: 芯嶺技術 方案開發(fā) 解決方案 單片機

在實際的單片機控制系統(tǒng)中,有時候會使用數(shù)字邏輯芯片對單片機和受控元件進行隔離,以保護單片機,或者令單片機更好地對后級進行控制。

關鍵字: 單片機 數(shù)字邏輯芯片 受控元件

MH32F103AVET6使用高性能的32位內(nèi)核,內(nèi)置了多達2個高級定時器、10個通用定時器、2個基本定時器、3個12位的ADC、2個12位的DAC,還包含標準和先進的通信接口包括:3個SPI接口、2個I2S接口、2個I...

關鍵字: 單片機 MCU

最近由于換季,天氣突然的轉涼,大家也是直呼好冷。天冷了自然是要注意防寒保暖。一個能夠當充電寶用的暖手寶會是你最好的陪伴。暖手寶是一種非常便捷易用的發(fā)熱工具,并且體形小巧,可以隨身攜帶并輕易握在手中,也可以放置在身上的其它...

關鍵字: 芯嶺技術 方案開發(fā) 解決方案 單片機

大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...

關鍵字: 系統(tǒng)設計 技術選型 需求分析

XL32F003 系列微控制器采用高性能的 32 位 ARM?Cortex?- M0+ 內(nèi)核,寬電壓工作范圍的MCU。嵌入高達64 Kbytes flash和8 Kbytes SRAM存儲器,最高工作頻率32 MHz。包...

關鍵字: 單片機 MCU

單片機

21600 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉