AVR單片機和Matlab串口通信的計時(shí)器系統
圖3 單片機主程序流程圖
3 下位機和上位機的串口通信
本系統下位機為單片機,信號電壓是TTL電平0~+5 V,而上位機為PC機,串口電平是RS232電平-10~+10 V。為了實(shí)現串口通信,需要經(jīng)過(guò)MAX232電平轉換,才能匹配??紤]到應用的靈活性、方便性,以及多個(gè)下位機與一個(gè)上位機進(jìn)行的通信,本設計在單片機和上位機之間接入ZigBee無(wú)線(xiàn)通信模塊,使用的是SZ05-ZigBee無(wú)線(xiàn)通信模塊。SZ05ZigBee無(wú)線(xiàn)通信模塊接線(xiàn)圖如圖4所示。
圖4 SZ05ZigBee無(wú)線(xiàn)通信模塊接線(xiàn)圖
該模塊數據接口包括TTL電平接收發(fā)送接口、RS232發(fā)送接收接口,還可以按照廣播方式發(fā)送數據和按照目標地址發(fā)送數據,除可實(shí)現一般的點(diǎn)對點(diǎn)數據通信功能外,還可實(shí)現多點(diǎn)之間的數據通信。串口通信使用方法簡(jiǎn)單、便利,可以大大縮短模塊的嵌入匹配時(shí)間進(jìn)程。它具有通信距離遠、抗干擾能力強、組網(wǎng)靈活、性能可靠穩定等優(yōu)點(diǎn)。[4]
將SZ05ZigBee無(wú)線(xiàn)通信模塊CONFIG跳線(xiàn)短接,系統進(jìn)入配置狀態(tài)。打開(kāi)計算機的超級終端,超級終端的設置為:波特率38 400、數據位8、校驗NONE、停止位1、流控無(wú)。主要參數配置如下:網(wǎng)絡(luò )類(lèi)型網(wǎng)——星型網(wǎng);發(fā)送模式——主從模式;數據類(lèi)型——HEX;數據位——8+0+1;波特率——38 400;單片機端連接的設備類(lèi)型——終端設備(DEVICE跳線(xiàn)短接);上位機端連接的設備類(lèi)型——中心節點(diǎn)(CENTER端口與地短接)。每個(gè)終端設備需設置自己不同的MAC_ADDR設備地址,范圍為0000~0xFFFE。主從模式下,終端設備發(fā)送數據無(wú)需目標地址,數據默認給中心節點(diǎn),而中心節點(diǎn)發(fā)送數據則必須加上終端設備的目標地址。
無(wú)線(xiàn)通信模塊在測試上電時(shí),會(huì )自動(dòng)發(fā)送一串隨機數據。為了防止干擾,自定義了一項通信協(xié)議,定義3字節數據為一幀,數據包格式為0xAABB××,在檢測到數據頭AA BB時(shí),才接收數據,保證接收到數據的準確性。
4 基于Matlab GUI的串口通信和計時(shí)器的實(shí)現
4.1 Matlab對串口RS232的編程
從Matlab6.0版本開(kāi)始,軟件中增加了設備控制箱功能,提供了對RS232/RS485通信標準的串口通信的正式支持。利用該工具箱的串口類(lèi)及fopen、fread等函數,能可靠地進(jìn)行實(shí)時(shí)串行通信。[5]
從建立串口通信到結束串口通信的完整流程包括以下幾個(gè)步驟[6]:
① 為應用程序創(chuàng )建串口對象。實(shí)現該功能的函數為obj=serial(“port”,“PropertyName”, PropertyValue,…)。其中,參數port為完整的串口名稱(chēng),如COMl;PropertyName為串口通信參數,如baudrate、startbits等。
② 連接打開(kāi)串口。其函數為fopen(obj)。
③ 設置或者修改串口通信參數。在能夠有效地進(jìn)行串口通信前,必須設置正確的串口通信參數。實(shí)現該功能的函數為props=set(obj,“PropertyName”,PropertyValue,…)。
④ 關(guān)閉串口以及釋放串口對象占用的存儲空間。關(guān)閉串口函數為:fclose(obj)。釋放串口對象占用的內存空間,函數為delete(obj)。釋放串口對象在Matlab工作區中占用的存儲空間函數為clear obj。
要實(shí)現自動(dòng)收發(fā)數據,還需要定義串口中斷處理函數以及觸發(fā)串口中斷的方式如下:
① 觸發(fā)串口中斷的方式。涉及到串口讀寫(xiě)的事件包括:Bytes available、Output empty。其中,Bytes available事件有兩種:一種是接收到的字符數達到人工設定的數目時(shí),系統產(chǎn)生該事件;另一種是當接收到指定字符時(shí),系統產(chǎn)生該事件。本文采用前一種,當接收字節數達到3時(shí),觸發(fā)中斷。
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
通信相關(guān)文章:通信原理
光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理
評論