<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > AVR單片機和Matlab串口通信的計時(shí)器系統

AVR單片機和Matlab串口通信的計時(shí)器系統

作者: 時(shí)間:2013-11-12 來(lái)源:網(wǎng)絡(luò ) 收藏

Bytes available事件需要事先設置??梢允褂煤瘮祍et(obj,“By tesAvailableFcnMode”,“byte”)和set(obj,“BytesAvailableFcnCount”,3)。以上兩個(gè)函數設置為當串口檢測到輸入緩存中達到了3個(gè)字符的數據時(shí),則觸發(fā)串口中斷。

② 串口中斷處理函數。串口中斷處理函數可以根據用戶(hù)需要自行定義。如串口讀中斷處理函數可以這樣定義:obj.BytesAvailableFcn=@receiveData。receiveData即為串口讀中斷處理函數。在讀中斷處理函數中可以進(jìn)行串口讀操作,即將輸入緩存區中的數據讀到用戶(hù)自定義的存儲變量中,以備后續的數據處理與分析。[7]

4.2 基于GUI界面的計時(shí)器實(shí)現

  利用的GUI設計出整體的控制界面,界面功能包括:可以設置串口參數如端口號、波特率、數據位、校驗位和停止位;計時(shí)器顯示窗口,能實(shí)時(shí)顯示計時(shí)器的時(shí)間;還具有實(shí)現打開(kāi)串口、開(kāi)始計時(shí)、停止、重置等功能的按鈕。設計的GUI控制界面如圖5所示。

AVR單片機和Matlab串口通信的計時(shí)器系統

圖5 GUI控制界面

  單片機發(fā)過(guò)來(lái)的信號,觸發(fā)上的串口中斷,標志FLAGA/FLAGB置位,進(jìn)而可以使計時(shí)器停止計時(shí)。同時(shí),在GUI界面上,也可以通過(guò)手動(dòng)按鍵使標志FLAGA/FLAGB置位,停止計時(shí)。計時(shí)部分的程序流程圖如圖6所示。

AVR單片機和Matlab串口通信的計時(shí)器系統

圖6 計時(shí)部分的程序流程圖

  Matlab文件編譯完畢后,生成的可執行程序還需要Matlab環(huán)境的支持。為了使本設計更廣泛地應用到一般用戶(hù),需要發(fā)布到?jīng)]有安裝Matlab的機器上運行,還要進(jìn)行最后一項工作,即打包Matlab組件運行環(huán)境(Matlab Component Runtime,MCR)。將MCR與可執行程序一起打包,拷貝到其他沒(méi)有安裝Matlab的機器上,在該機器上安裝MCR,安裝完畢即可直接在該機器上運行編譯的Matlab可執行程序。[8]

5 系統設計及應用中需注意的問(wèn)題

實(shí)際測試時(shí),光電開(kāi)關(guān)在環(huán)境照度較高時(shí),一般都能穩定工作。但應回避將傳感器光軸正對太陽(yáng)光、白熾燈等強光源。在不能改變傳感器(受光器)光軸與強光源的角度時(shí),可在傳感器上方四周加裝遮光板或套上遮光長(cháng)筒,以確保光電開(kāi)關(guān)可靠工作。

  另外,在ZigBee無(wú)線(xiàn)通信模塊配置時(shí),應注意選擇合適的通信信道,以避免WiFi的干擾。在同一個(gè)網(wǎng)絡(luò )中,無(wú)論是終端設備還是中心節點(diǎn),ID設置必須相同,模塊間才能正常通信。同一個(gè)網(wǎng)絡(luò )中,所有模塊的串口超時(shí)時(shí)間設置必須相同,否則不能同步,通信也會(huì )失敗。

結語(yǔ)

  在本設計中,主要以ATmega16單片機作為信號采集系統,通過(guò)串口和上位機的Matlab進(jìn)行信號通信,通信采用ZigBee無(wú)線(xiàn)通信模塊實(shí)現,使系統靈活性、可擴展性大大增強。本文利用Matlab GUI進(jìn)行了包含一般界面元素的界面開(kāi)發(fā),在此基礎上,加入功能和計時(shí)器計時(shí)功能。GUI設計出的人機友好界面,使得系統簡(jiǎn)單易懂,操作起來(lái)更加方便。

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


通信相關(guān)文章:通信原理


光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: AVR單片機 Matlab 串口通信 計時(shí)器系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>