計算機(jī)控制智能小車的軟件設(shè)計
MOV B,#100 MOV A,B MOV A,#1
MOV B,#100 MOV B,#10 MUL AB
DIV AB DIV AB MOV 3CH,A
MOV 3EH,A MOV 3DH,A MOV A,3EH
來進(jìn)行換存儲,同時送到顯示部分進(jìn)行顯示。
2.1.5 下位機(jī)查詢、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)程序設(shè)計
在軟件設(shè)計時一定要注意單片機(jī)與PC之間應(yīng)該遵守相同的協(xié)議,其主要包括波特率、傳輸幀格式、校驗位等。除些之外,如果要實現(xiàn)PC機(jī)與單片機(jī)的通信,PC機(jī)還應(yīng)該向單片機(jī)發(fā)送欲尋單片機(jī)的編碼,而單片機(jī)中要編寫地址識別程序段。本文的通信協(xié)議約定如下:1)波特率:1200B/S;2)幀格式:1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗;3)傳送方式:PC機(jī)采用查詢方式收發(fā)數(shù)據(jù),51單片機(jī)用中斷方式接收數(shù)據(jù),查詢方式發(fā)送數(shù)據(jù);4)數(shù)據(jù)長度:1字節(jié);校驗方式:累加和校驗;握手方式:軟件握手。
下位機(jī)通信程序流程圖如圖6所示。本設(shè)計實現(xiàn)一個簡單的通信過程,它是由上位機(jī)控制下位機(jī)(智能小車)運行,即由上位機(jī)發(fā)送不同的通信信號協(xié)議代碼(如表1所示),下位機(jī)接收到相對應(yīng)運行通信信號協(xié)議代碼后下位機(jī)程序執(zhí)行相對應(yīng)的運行程。
2.2 系統(tǒng)的上位機(jī)程序設(shè)計
上位機(jī)通信部分控制的上位機(jī)軟件采用VisualC++(簡稱VC)編程,上位機(jī)設(shè)計需要提供一個控制界面,再通過簡稱VC編程,而使用VC具有強(qiáng)大功能的通信控件MSCOMM,該控件可對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置,直接利用PC機(jī)的串口發(fā)送數(shù)據(jù)。為實現(xiàn)單片機(jī)與PC機(jī)的可靠通信,須保證雙方具有相同的數(shù)據(jù)格式和波特率。而上位機(jī)與下位機(jī)通過協(xié)定的特定通信協(xié)議進(jìn)行通信。
3 結(jié)論
計算機(jī)控制智能小車,本文在軟件方面基本能夠?qū)崿F(xiàn)設(shè)計任務(wù)的要求,能夠從起點沿引導(dǎo)線行駛到終點,并在到達(dá)終點時能夠自動停止行駛;在行駛的過程中能檢測到鐵片且發(fā)出聲光提示,然后繼續(xù)行駛;同時能實時交替顯示檢測到鐵片的個數(shù)、行駛的距離和行駛時間;且在停車時能交替顯示總程檢測到鐵片的個數(shù)、行駛的距離和行駛時間。本設(shè)計的擴(kuò)展部分有:下位機(jī)可設(shè)置相應(yīng)的控制開關(guān)來控制小車行駛的周期、時間長短、行駛距離和小車行駛轉(zhuǎn)彎的角度等;上位機(jī)部分可設(shè)置時間顯示、檢測到鐵片的個數(shù)、行駛的距離和行駛時間等的控制顯示界面窗口。
評論