當(dāng)前位置:首頁 > 汽車電子 > 汽車電子
[導(dǎo)讀]摘要:本設(shè)計(jì)是采用單片機(jī)作為從機(jī)(也稱下位機(jī)),而PC機(jī)作為中央控制機(jī)的主從式系統(tǒng)。主機(jī)同時根據(jù)從從機(jī)接收的過程參數(shù)進(jìn)行判斷處理并給從機(jī)發(fā)送各種控制命令。利用單片機(jī)的串行口與PC機(jī)的串行口進(jìn)行串行通信,PC機(jī)

摘要:本設(shè)計(jì)是采用單片機(jī)作為從機(jī)(也稱下位機(jī)),而PC機(jī)作為中央控制機(jī)的主從式系統(tǒng)。主機(jī)同時根據(jù)從從機(jī)接收的過程參數(shù)進(jìn)行判斷處理并給從機(jī)發(fā)送各種控制命令。利用單片機(jī)的串行口與PC機(jī)的串行口進(jìn)行串行通信,PC機(jī)可對遠(yuǎn)程前端單片機(jī)進(jìn)行控制,將單片機(jī)采集的數(shù)據(jù)傳送到PC中去,由PC機(jī)對數(shù)據(jù)進(jìn)行處理和顯示,同時把反饋信號發(fā)到單片機(jī),實(shí)現(xiàn)閉環(huán)控制和管理。本設(shè)計(jì)在VC++6.0的環(huán)境下,編寫使用C++語言,SQL數(shù)據(jù)庫的串口通信程序,控制由單片機(jī)控制的智能小車。

0 引言

隨著多微機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來越顯得重要。在工業(yè)控制系統(tǒng)(尤其是多點(diǎn)現(xiàn)場工業(yè)控制系統(tǒng))設(shè)計(jì)實(shí)踐中,單片機(jī)與PC機(jī)組合構(gòu)成分布式控制系統(tǒng)便是一個重要的應(yīng)用;主控計(jì)算機(jī)通過485網(wǎng)絡(luò)監(jiān)督管理下位分機(jī)的運(yùn)行狀況。在以單片機(jī)為基礎(chǔ)的數(shù)據(jù)采集和實(shí)時控制系統(tǒng)中,通過計(jì)算機(jī)中的RS-232接口進(jìn)行計(jì)算機(jī)與單片機(jī)之間的命令和數(shù)據(jù)傳送,就可以利用計(jì)算機(jī)對生產(chǎn)現(xiàn)場進(jìn)行監(jiān)測和控制。本文設(shè)計(jì)是以單片機(jī)AT89C51為控制核心,附以外圍電路,采用反射光耦(1550-01)檢測黑白線,霍爾傳感器(A04E)+磁鋼來實(shí)現(xiàn)智能車行駛的計(jì)程,采用四位共陰LED實(shí)現(xiàn)行駛計(jì)程和時間的交替計(jì)數(shù)顯示。同時還充分利用單片機(jī)的串口、并口資源和運(yùn)算、處理能力,來實(shí)現(xiàn)小車的按軌跡直線行走、按軌跡轉(zhuǎn)彎、計(jì)數(shù)小車行駛的距離,最后停車等智能控制系統(tǒng)。避免了當(dāng)前的電動小汽車基本上只能采取的是基于純硬件電路的一種開環(huán)控制方法,或者是直線行駛,或者是在遙控下做出前進(jìn)、后退、轉(zhuǎn)彎、停車等基本功能。

1 系統(tǒng)的設(shè)計(jì)思路

本文設(shè)計(jì)是采用PC機(jī)做上位機(jī)和單片機(jī)(作為智能小車的外圍電路的設(shè)計(jì))做下位機(jī)的主從式系統(tǒng)。PC機(jī)控制小車的模擬框圖如圖1所示。利用單片機(jī)的串行口與PC機(jī)的串行口進(jìn)行串行通信,通過設(shè)置PC機(jī)的控制界面(智能小車運(yùn)行的各種控制功能)來實(shí)現(xiàn)上位機(jī)的數(shù)據(jù)采集,并由上位機(jī)不斷發(fā)送握手協(xié)議(通信協(xié)議)信號,直到下位機(jī)回應(yīng)“發(fā)送下一幀”為止。之后上位機(jī)開始發(fā)送正常數(shù)據(jù)。若下位機(jī)反饋“發(fā)送下一幀”信息,則繼續(xù)發(fā)送下一幀;若下位機(jī)反饋“重發(fā)上一幀”,則重發(fā)剛剛發(fā)送過的那一幀數(shù)據(jù);若下位機(jī)反饋“無效地址”,則繼續(xù)發(fā)送下一幀數(shù)據(jù),從而實(shí)現(xiàn)PC機(jī)對遠(yuǎn)程前端單片機(jī)的控制。同時將單片機(jī)采集的數(shù)據(jù)通過判斷握手協(xié)議(通信協(xié)議)傳送到PC中去,由PC(主)機(jī)同時根據(jù)從從機(jī)接收的過程參數(shù)進(jìn)行判斷處理并給從機(jī)(單片機(jī))發(fā)送各種控制命令。從而實(shí)現(xiàn)PC機(jī)(上位機(jī))對智能小車外圍電路(下位機(jī))的控制。

下位機(jī)設(shè)計(jì)采用AT89C51單片機(jī)芯片來實(shí)現(xiàn)智能車模型的自動尋跡、自動控制等功能,利用反射光耦(1550-01)檢測黑白線來實(shí)現(xiàn);采用霍爾傳感器(A04E)+磁鋼來實(shí)現(xiàn)智能車行駛的計(jì)程;同時采用四位共陰LED實(shí)現(xiàn)行駛計(jì)程和時間的交替計(jì)數(shù)顯示。本文上位機(jī)設(shè)計(jì)采用在Visu al C++環(huán)境中,直接使用Windows提供的API函數(shù)實(shí)現(xiàn)一個串行通信動態(tài)鏈接庫(DLL),通過編程工具(VC)設(shè)計(jì)一個與智能小車通信的上位機(jī)控制界面,在上位機(jī)和下位機(jī)之間通過MAX485接口芯片與控制軟件結(jié)合來監(jiān)測。MAX485是半雙工的,可以先檢測/RE和DE的電平,判斷芯片是處于接收信號還是發(fā)送信號,然后再檢測AB的電平,當(dāng)A引腳的電平高于B端時,代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。從而實(shí)現(xiàn)上位機(jī)與下位機(jī)(由AT89C51單片機(jī)控制的智能小車)的半雙工串行通信。

2 系統(tǒng)的軟件設(shè)計(jì)

單片機(jī)的通信軟件采用AT89C51的匯編語言編寫,單片機(jī)的發(fā)送和接收采用中斷程序。準(zhǔn)備發(fā)送的數(shù)據(jù)存放在以內(nèi)存50H為首地址的連續(xù)10個單元中。本設(shè)計(jì)采用單片機(jī)芯片AT89C51為核心控制器,通過編寫控制程序(匯編語言)來控制小車的正常行駛、左右轉(zhuǎn)彎、后退行駛、停止行駛、檢測金屬、計(jì)程、行駛時間、告警和上位機(jī)與下位機(jī)的通信等。

2.1 系統(tǒng)的下位機(jī)軟件設(shè)計(jì)

2.1.1 控制主程序設(shè)計(jì)

單片機(jī)主程序圖如圖2所示。控制主程序是通過中斷服務(wù)程序?qū)崿F(xiàn)的,采用外部中斷0、外部中斷1和T0中斷來實(shí)現(xiàn)主程序的控制,使各中斷子程序交替運(yùn)行,顯示不會產(chǎn)生干擾,且能在顯示部分交替進(jìn)行顯示。

2.1.2 小車行駛程序設(shè)計(jì)

小車行駛流程圖如圖3所示。小車行駛控制程序啟動后程序進(jìn)入5S的倒計(jì)時狀態(tài),并開啟四位數(shù)碼顯示工作;5S倒計(jì)時結(jié)束后程序開始運(yùn)行黑帶檢測程序,由通過光電傳感器(1550-01)檢測到通過LM324放大電路放大的信號輸入來判斷小車是否正常行駛,若否,則由相應(yīng)的程序來控制小車的左轉(zhuǎn)或右轉(zhuǎn)來達(dá)到正常行駛;當(dāng)傳感器檢測到停止線時小車立即停止。

2.1.3 時間計(jì)數(shù)程序設(shè)計(jì)

時間計(jì)數(shù)子程序圖如圖4所示。小車行駛的時間長短需要通過時間計(jì)數(shù)程序來控制。時間計(jì)數(shù)程序通過累加器每秒鐘計(jì)數(shù)一次來實(shí)現(xiàn)計(jì)數(shù)功能,并由十進(jìn)制調(diào)整指令(DA A)來進(jìn)行個位轉(zhuǎn)換為十位的功能,同時特定的檢測控制指令(CJNEA.#59H.JJX1)來判斷是否達(dá)59S,若否,則進(jìn)行高低位分別存儲并送顯示部分顯示;若是,則分位加1秒位清0并送顯示部分顯示。

2.1.4 行駛距離記錄程序設(shè)計(jì)

距離中斷子程序圖如圖5所示。小車行駛距離的記錄通過霍爾傳感器來檢測小車車輪行駛轉(zhuǎn)動的圈數(shù),并通過中斷服務(wù)子程序來進(jìn)行換算成相應(yīng)的十進(jìn)制的(距離)數(shù)據(jù),再特殊的換算控制指令:

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è)計(jì)

在軟件設(shè)計(jì)時一定要注意單片機(jī)與PC之間應(yīng)該遵守相同的協(xié)議,其主要包括波特率、傳輸幀格式、校驗(yàn)位等。除些之外,如果要實(shí)現(xiàn)PC機(jī)與單片機(jī)的通信,PC機(jī)還應(yīng)該向單片機(jī)發(fā)送欲尋單片機(jī)的編碼,而單片機(jī)中要編寫地址識別程序段。本文的通信協(xié)議約定如下:1)波特率:1200B/S;2)幀格式:1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn);3)傳送方式:PC機(jī)采用查詢方式收發(fā)數(shù)據(jù),51單片機(jī)用中斷方式接收數(shù)據(jù),查詢方式發(fā)送數(shù)據(jù);4)數(shù)據(jù)長度:1字節(jié);校驗(yàn)方式:累加和校驗(yàn);握手方式:軟件握手。

下位機(jī)通信程序流程圖如圖6所示。本設(shè)計(jì)實(shí)現(xiàn)一個簡單的通信過程,它是由上位機(jī)控制下位機(jī)(智能小車)運(yùn)行,即由上位機(jī)發(fā)送不同的通信信號協(xié)議代碼(如表1所示),下位機(jī)接收到相對應(yīng)運(yùn)行通信信號協(xié)議代碼后下位機(jī)程序執(zhí)行相對應(yīng)的運(yùn)行程。

2.2 系統(tǒng)的上位機(jī)程序設(shè)計(jì)

上位機(jī)通信部分控制的上位機(jī)軟件采用VisualC++(簡稱VC)編程,上位機(jī)設(shè)計(jì)需要提供一個控制界面,再通過簡稱VC編程,而使用VC具有強(qiáng)大功能的通信控件MSCOMM,該控件可對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置,直接利用PC機(jī)的串口發(fā)送數(shù)據(jù)。為實(shí)現(xiàn)單片機(jī)與PC機(jī)的可靠通信,須保證雙方具有相同的數(shù)據(jù)格式和波特率。而上位機(jī)與下位機(jī)通過協(xié)定的特定通信協(xié)議進(jìn)行通信。

3 結(jié)論

計(jì)算機(jī)控制智能小車,本文在軟件方面基本能夠?qū)崿F(xiàn)設(shè)計(jì)任務(wù)的要求,能夠從起點(diǎn)沿引導(dǎo)線行駛到終點(diǎn),并在到達(dá)終點(diǎn)時能夠自動停止行駛;在行駛的過程中能檢測到鐵片且發(fā)出聲光提示,然后繼續(xù)行駛;同時能實(shí)時交替顯示檢測到鐵片的個數(shù)、行駛的距離和行駛時間;且在停車時能交替顯示總程檢測到鐵片的個數(shù)、行駛的距離和行駛時間。本設(shè)計(jì)的擴(kuò)展部分有:下位機(jī)可設(shè)置相應(yīng)的控制開關(guān)來控制小車行駛的周期、時間長短、行駛距離和小車行駛轉(zhuǎn)彎的角度等;上位機(jī)部分可設(shè)置時間顯示、檢測到鐵片的個數(shù)、行駛的距離和行駛時間等的控制顯示界面窗口。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉