999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機與PC串行通信在實時控制系統中的應用

2011-12-31 00:00:00宣明臻
大觀周刊 2011年40期

摘要:單片機與PC串行通信可用于實時控制系統中。本文首先簡單介紹了實時控制系統中的微處理器系統,接著定義了串口通信協議,并在此基礎上采用多線程編程工具CserialPort類,用VC++編寫基于對話框的MFC串口通信程序來控制移動機器人的行進。通過實驗驗證,該串口通信設計方案能較好地控制移動機器人,達到了預期效果。

關鍵字:PC機 單片機 通信協議 CserialPort類 VC++

1 引言

對于傳統的移動機器人,多采用紅外遙控的方式控制移動機器人的行進,而目前移動機器人的自主行進方式還不太成熟,所以采用串口通訊的方式來控制移動移動機器人的行進也是不錯的選擇。并且串口通訊簡單靈活易控制,通訊過程中所采用的協議具有統一的標準。因此,無論是在工控系統、遙感控制、實時控制系統中都得到了廣泛應用。

2 實時控制系統介紹

實時控制系統主要包括上位機(PC機)、單片機、串口通信模塊以及2.4G的無線攝像頭視頻采集模塊。該系統主要實現功能是利用2.4G的無線攝像頭采集移動機器人周邊的環境,根據不同的環境給單片機發送不同指令,實現方法是利用串口通信把上位機(PC機)所發送指令通過串口發送到單片機,進而遠程控制移動機器人的行進。

3 串行通信設計

串行通信設計包括選擇合適的微處理器系統、制定串口通信協議、串口通信編程、人機控制界面。其主要目的是通過串口通信把PC機發送的不同組合指令給單片機,單片機解析出相應指令,根據指令來控制機器人的前、后、左、右運動。

3.1 微處理器系統。AT89C2051是Atmel 公司生產的與MCS-51系列兼容的單片機。內含:一個精密模擬比較器、2k字節的FlashEEPROM、15根I/O引線、128字節RAM、1個五向量兩級中斷結構、2個16位定時器/計數器,1個全雙工串行口等。由于該系統用于簡單的移動機器人控制,且從性價比方面考慮,AT89C2051完全滿足設計的要求。

3.2 串口通信協議。通訊口設置為“9600,N,8,1”,控制指令為:88HT88H ,T有四種可能,分別為01H、02H、03H、04H,對應的控制分別為前、后、左、右。其中確認幀為67H。當單片機收到的控制指令為所定義的格式時,即接收到的信號無差錯,確定為控制機器人行進,單片機就發送確認幀67H給PC機,如果在某一時間間隔內未收到確認幀就重新發送指令。

3.3 串口通信編程。PC機通過串口發送指令給單片機,通過串口發送指令就必須涉及到串口通信程序。對串口通信編程的方式很多,如Cserial 類、Windows API串口編程、MSCOMM控件、Qt串口、多線程編程工具CserialPort類,在此選用了CSerialPort類。CSerialPort類是基于多線程的,由Remon Spekreijse提供的免費串口類。在該類中,其主程序工作流程仍然是打開串口、配置串口、讀寫操作以及關閉串口。

3.3.1 設置串口參數InitPort()。串口的通信參數一般涉及到波特率、串口號、奇偶校驗方式、數據位、停止位等。在CserialPort類中用串口初始化函數InitPort來設置串口參數。

3.3.2 串口通信檢測StartMonitoring()。在串口通信中,對于串口接收的一端,因為不知道何時數據到來,也不知道有多少數據需要被接收。因而需要一個串口通信檢測線程來檢測串口事件的響應(串口接受數據、流控制事件以及其他串口事件)。在此就串口接收數據而言,通過開啟串口通信檢測線程StartMonitoring()來隨時檢測串口是否接受到數據,一旦檢測到該事件就以消息方式來通知主程序,激發消息處理函數來進行數據處理。對于串口發送的一端,可直接向串口發送數據。

3.3.3 串口發送數據WriteToPort()。在打開串口并啟動串口通信檢測線程后,可調用WriteToPort()來發送數據。而對串口接收一端通過編寫串口接收函數即可。

3.3.4 停止或暫停線程檢測StopMonitoring()。用來暫停或停止對串口的檢測。

3.3.5 關閉串口ClosePort()。關閉串口和停止或暫停線程檢測有很大的區別,即使停止了對串口的檢測,但串口資源仍然被暫時,為了釋放該資源,就必須調用關閉串口函數。一旦關閉串口后,要想重新對串口通信則必須從InitPort()開始。

4 控制界面設計

對移動機器人的控制方式即通過鍵盤或按鈕控制來發送指令,鍵盤控制是利用鍵盤上的上下左右鍵控制,按鈕控制則通過界面上點擊四個方向控件(前進、后退、左轉、右轉)來發送指令,這些指令分別對應的是移動機器人的前進、后退、左轉、右轉。

5 室內行走實驗

基于前面所述的串口通信系統設計,在室內對移動機器人進行了遙操作,該系統基本能實現以下功能:根據攝像頭采集到的移動機器人周邊環境,可以用兩種不同的方式來控制移動機器人的前、后、左、右運動,基本上能實現機器人安全、可靠、穩定的行進。不過在實驗過程中還存在一些不足之處,由于2.4G無線攝像頭傳輸的數據有一定的延遲,導致在控制的過程中還不能太精確。所以在接下來的工作中會利用無線傳輸模塊和相應的視頻采集模塊來提高視頻數據的傳輸效率和質量,進而更加準確的控制機器人的運動。

6 總結

該系統基本實現設計所需功能。由于軟硬件知識比較簡單,容易掌握,編程易實現,且設計界面友好,開發周期短,比較適合小型的實時控制系統,在實際應用中也取得了較好的效果。

參考文獻

[1] 謝印忠,張保洲.MScomm控件在自動測控系統中的應用[J].電腦學習,2009(4)

[2] 曾自強,王玉菡.用VC++實現單片機與PC機串口通信的三種方法[J].自動化與儀器儀表,2005(3)

[3] 杜梅,賈輝然.基于VC 的PC機與單片機無線串行通信的實現[J].電腦知識與技術,2007(1)

主站蜘蛛池模板: 亚洲国产欧洲精品路线久久| 成人国产一区二区三区| 国产97公开成人免费视频| 99热最新在线| 九色91在线视频| 制服丝袜 91视频| 97精品伊人久久大香线蕉| 亚洲性影院| 国产成人三级| 蜜臀av性久久久久蜜臀aⅴ麻豆| 91精品国产无线乱码在线| 又黄又爽视频好爽视频| 婷婷亚洲最大| 久久这里只有精品2| 国产精品尤物铁牛tv| 91网站国产| 青青国产成人免费精品视频| 青青草原国产免费av观看| 欧美啪啪精品| 国产亚洲精品无码专| 欧美亚洲第一页| 久久国产精品麻豆系列| 伊人色婷婷| 中字无码精油按摩中出视频| 国产精品免费久久久久影院无码| 亚洲男人天堂网址| 欧美人在线一区二区三区| 91视频精品| 亚洲精品视频在线观看视频| 一级毛片不卡片免费观看| 嫩草在线视频| 亚洲午夜国产精品无卡| 国产欧美日韩91| 精品自窥自偷在线看| 久久美女精品| 天堂网国产| 嫩草国产在线| 亚洲午夜国产片在线观看| 55夜色66夜色国产精品视频| 午夜欧美理论2019理论| 一级看片免费视频| 就去色综合| 欧美日本在线观看| 国产97公开成人免费视频| 一本大道视频精品人妻 | 亚洲中文字幕av无码区| 啪啪国产视频| 97一区二区在线播放| 亚洲中文无码av永久伊人| 久久伊人操| 亚洲性日韩精品一区二区| 超碰免费91| 欧美日韩中文国产| 亚洲乱码精品久久久久..| 亚洲AV成人一区国产精品| 国产在线日本| 国产乱子伦一区二区=| 国产人人射| 欧美一级99在线观看国产| 99在线视频网站| 久久久噜噜噜久久中文字幕色伊伊| 亚洲一区二区视频在线观看| 亚洲国产欧美国产综合久久 | 无码一区二区波多野结衣播放搜索| 欧美伦理一区| 国产无码网站在线观看| 久久国产黑丝袜视频| 日韩欧美视频第一区在线观看| 五月天综合网亚洲综合天堂网| 国产女人在线观看| 国产精品视频a| 免费99精品国产自在现线| 亚洲精品黄| 激情无码视频在线看| 国产爽爽视频| 福利视频一区| 在线国产欧美| 天天爽免费视频| 在线观看免费AV网| 99久久精彩视频| 国产在线视频导航| 亚洲第一黄片大全|