自動往返小車電路圖及匯編程序-論文_第1頁
自動往返小車電路圖及匯編程序-論文_第2頁
自動往返小車電路圖及匯編程序-論文_第3頁
自動往返小車電路圖及匯編程序-論文_第4頁
自動往返小車電路圖及匯編程序-論文_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、自動往返小車電路圖及匯編程序-論文自動往返小車電路圖及匯編程序i 錄j »亠、 亠刖旨自動往返行駛小汽車的設(shè)計(摘要)4第一章 系統(tǒng)方案選擇和論證5第二章 系統(tǒng)的硬件設(shè)計與實現(xiàn)10第三章 系統(tǒng)的軟件設(shè)計14第四章 系統(tǒng)的匯編程序19第五章系統(tǒng)調(diào)試30第六章技術(shù)參數(shù)31結(jié)束語33參考文南犬34j »亠 、 亠月u百伴隨著電子信息技術(shù)的飛速發(fā)展,單片機(jī)的應(yīng)用越來越廣泛,電子這個原本沒有 生命的東西越來越具有智慧了,而單片機(jī)在這當(dāng)中充當(dāng)著“大腦”的作用,抬揮 著系統(tǒng)完成其工作。單片機(jī)通過用匯編語言或者c語言編程,可以實現(xiàn)不同情況下的,不同電路 的自動控制,用它可以開發(fā)很多智能的玩

2、具,如機(jī)器人、遙控飛機(jī)、智能車,實 際生活中的很多電器,例如電冰箱、全自動洗衣機(jī)、空調(diào)等,還有就是很多測量儀器以及高科技的空間探測,宇宙探索等都用到單片機(jī),可以說現(xiàn)在生活中大多 數(shù)的智能物品都用到單片機(jī),圍繞單片機(jī)以及嵌入式系統(tǒng)形成的電子產(chǎn)業(yè)將會是 一個持續(xù)發(fā)展,愈來愈具有競爭力,愈來愈具有生命力的產(chǎn)業(yè),電子世界將會更 具有魅力?,F(xiàn)今的世界,傳感器的應(yīng)用無處不在,自動電梯,保安系統(tǒng),路燈的控制 等,天氣中的溫度、濕度等等。而自動導(dǎo)航在實際中的應(yīng)用也很廣,包括航天事 業(yè)中的自動導(dǎo)航,全球定位系統(tǒng),視覺導(dǎo)航等,隨著傳戚器技術(shù),計算機(jī)網(wǎng)絡(luò)技 術(shù),圖像處理技術(shù)的飛速發(fā)展,自動導(dǎo)航將進(jìn)一步得到發(fā)展,而智

3、能機(jī)器人也將 進(jìn)一步發(fā)展,代替人在一些環(huán)境艱難的地方工作。本設(shè)計正是基于汽車的自動控制、安全定位等技術(shù)而進(jìn)行的研究和嘗試。 試驗所用的小汽車由玩具小汽車改裝而成,主要通過單丿;機(jī)實現(xiàn)對小汽車運動的 自動控制。小汽車在沒有干擾的情況下,可以自動按照給定的路徑行駛。并且能 依照程序的指令,即時做到停、進(jìn)、退、加速或減速等功能要求。本課題綜合運用了單片機(jī)技術(shù)、自動控制理論、檢測技術(shù)等。使小車能在 無人操作情況下,借助傳感器識別路面環(huán)境,由單片機(jī)控制行進(jìn),實現(xiàn)初步的無 人控制。自動往返行駛小汽車的設(shè)計李觀順【摘要】本設(shè)計以單片機(jī)at89s51為核心組成測控系統(tǒng),利用紅外線發(fā)射 與檢測技術(shù)對電動小汽車的

4、運行狀態(tài)跟蹤檢測;由單片機(jī)對汽車的運行姿態(tài)實時 作出反應(yīng),并輸出相適應(yīng)的控制指令,由驅(qū)動執(zhí)行電路完成限速行駛、全速前進(jìn)、 定點定時停車和自動返回等基本操作以及緊急避險、自動導(dǎo)航、發(fā)車令牌控制等 功能;對小車運行時間、距離等參數(shù)進(jìn)行直觀顯示電路采取了多種抗卡擾措施, 工作穩(wěn)定可靠整個系統(tǒng)按要求安裝于車體上實施跟蹤監(jiān)控?!炯怄I字】at89s51芯片;自動往返電動小汽車;光電檢測器第一章系統(tǒng)方案選擇和論證1.1設(shè)計要求(1)設(shè)計任務(wù)設(shè)計并制作一個能口動往返于起跑線與終點線間的小汽車。允許用玩具汽車 改裝,但不能用人工遙控(包括有線和無線遙控)。跑道寬度0.5m,表面貼有白紙,兩側(cè)有擋板,擋板與地面垂

5、直,其高度不低于 20cm。在跑道的b、c、d、e、f、g各點處畫有2cm寬的黑線,各段的長度如圖 1所示。(2)設(shè)計要求a. 車輛從起跑線出發(fā)(出發(fā)前,車體不得超出起跑線),到達(dá)終點線后停留10 秒,然后自動返回起跑線(允許倒車返回)。往返一次時間應(yīng)力求最短(從合上 汽車電源開尖開始計時)。b. 到達(dá)終點線和返回起跑線時,停車位置離起跑線和終點線偏差應(yīng)最小(以車 輛中心點與終點線或起跑線中心線之間距離作為偏差的測量值)。cde間為限速區(qū),車輛往返均要求低速通過,通過時間不得少于8秒,但不 允許在限速區(qū)內(nèi)停車。(3)說明a.不允許在跑道內(nèi)外區(qū)域另外設(shè)置任何標(biāo)志或檢測裝置。 b.車輛(含在車體上

6、附加的任何裝置)外圍尺寸的限制:長度w35cm,寬度w15cm。c. 必須在車身頂部明顯標(biāo)出車輛中心點位置,即橫向與縱向兩條中心線的交點。1.2設(shè)計目標(biāo)整個系統(tǒng)的設(shè)計是以單片機(jī)為核心,通過調(diào)試,本系統(tǒng)能實現(xiàn)如下功能:(1) 自動限速行駛799自動往返小車電路圖及匯編程序小汽車在行駛過程中,應(yīng)能自動檢測限速標(biāo)志,并根據(jù)速度要求改變占空比使小 汽車按不同速度行駛。(2) 自動往返當(dāng)小汽車到達(dá)終點后,停止10s,再從終點返回起點。要求控制系統(tǒng)能準(zhǔn)確檢測 返回標(biāo)志。(3) 自動避開障礙小汽車在規(guī)定的跑道范圍內(nèi)運行時,可能會偏離跑道,當(dāng)小汽車偏離行駛軌道遇 到障礙物時,應(yīng)及時轉(zhuǎn)向,返回跑道。(4) 自動

7、記錄并顯示一次往返時間和行駛路程當(dāng)小汽車到達(dá)終點時,系統(tǒng)具有自動記錄并顯示一次往返時間和行駛路程的功能。(5) 報警功能當(dāng)檢測到障礙物時,具有報警功能。13系統(tǒng)基本方案1 控制電路 方案1 : 圖1:控制電路方案1原理框圖(a)車載系統(tǒng)(b)手持接收系統(tǒng)圖1自動往返小車(方案1)方框圖如圖1所示,采用一片單片機(jī)89s51作為控制核心,控制驅(qū)動電路、顯示電路, 以及處理跑道各路段標(biāo)志、速度信號。此方案只用一片單片機(jī)89s51實現(xiàn)對所有 硬件電路的集中控制和所有信號的統(tǒng)一處理,因此電路之間,信號之間的控制靈 活、簡單。方案2 :圖2 :控制電路方案2原理框圖圖2自動往返小車(方案2)方框圖如圖2所

8、示,采用兩片單片機(jī)89c2051作為控制核心。本系統(tǒng)中,(主)單片機(jī)的 時間負(fù)荷很重,而且電路占用單片機(jī)管腳資源多。故用其中一從單片機(jī)專門控制 顯示(顯示電路需要占用較多口線);另一主單片機(jī)則用來控制驅(qū)動電路,并對 跑道各路段標(biāo)志信號及速度信號作出處理。兩個單丿;機(jī)之間通過串行口進(jìn)行通信。 此方案中,單片機(jī)口線資源豐富,定時器、中斷資源豐富;并且顯示電路、存儲 電路與其他電路間之間的獨立性強(qiáng),可靠性高。比較以上兩種方案,由于本設(shè)計是由玩具小汽車改裝而成,在體積上有一定要求, 考慮到方案2中用到兩片單片機(jī)89c2051芯片比方案1中一片單片機(jī)89c51多, 而且比較復(fù)雜,不利于我們設(shè)計,故采用方

9、案12 供電方式 方案1 : 采用統(tǒng)一電源供電方式,單片機(jī)系統(tǒng)直接通過三極管、場效應(yīng)管或繼電器控制電機(jī)的工作。此方案在負(fù)載變化不大,干擾小的場合中使用較為可取。方案2:采用兩組獨立電源供電方式,單片機(jī)系統(tǒng)通過光電耦合器間接控制電動機(jī)的工作。 此方案電路稍微復(fù)雜,電源較多,但工作穩(wěn)定可靠。由于方案2電路稍微復(fù)雜,電源較多,不容易設(shè)計。如采用方案1,電路簡單,干擾小的場合較為可取,故決定采用方案1。3驅(qū)動電路方案1采用全npn型bjt橋式可控斬波電路,此電路采用同種型號ejt,可實現(xiàn)2象限電源斬波。方案2 :采用pnp、npn結(jié)合的bjt橋式可控斬波電路,此電路控制較為方便,驅(qū)動信號四種組合方式可

10、控制電機(jī)的正反轉(zhuǎn)、停止。方案3 :采用繼電器控制。此電路驅(qū)動電路最簡單,驅(qū)動電流大。方案4 :采用p、n型結(jié)合的vmos橋式可控斬波電路,此驅(qū)動電路簡單、可靠、 控制速度高、并具有四象限斬波功能。方案1中,兩輸入端不能同時為0或1電平,否則會導(dǎo)致共模導(dǎo)通,造成電源短 路;方案2電路可實現(xiàn)性好,但電路稍微復(fù)雜;方案3控制精度低,耗電、干擾 大,且不利于電機(jī)的精確控制;方案4電路簡單可靠,工作頻率高,且無需加續(xù) 流二極管就可解決感性負(fù)載工作時的續(xù)流問題。綜上所述,第四種方案較好。4光電傳戚器選型 方案1:采用紅外對管并加整形電路。此方案成本低廉,占用空間少,但調(diào)整有 一定困難。方案2 :采用成品光

11、電開矢。此方案簡單可靠,靈敏度調(diào)節(jié)方便,易于調(diào)試。為簡化電路結(jié)構(gòu),且成本低廉,占用空間少,我們決定采用方案1。自動往返小車電路圖及匯編程序第二章系統(tǒng)的硬件設(shè)計與實現(xiàn)由于電動小汽車純硬件控制具有很多缺點,并且不宜實現(xiàn)復(fù)雜運動的口動控制功 能(不能用人工控制)。而單片機(jī)具有體積小,重量輕,耗電少,功能強(qiáng),控制 靈活方便 價格低廉等優(yōu)點。本設(shè)計就是以單丿;機(jī)89s51為核心、附以外圍電路, 采用光電檢測器進(jìn)行檢測信號和障礙物;運用單片機(jī)的運算和處理能力來實現(xiàn)小 車的自動加速、限速、減速、定時、語音、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、顯示行駛 速度、行駛路程、行駛吋間等智能控制系統(tǒng)。2系統(tǒng)硬件電路設(shè)計系統(tǒng)結(jié)構(gòu)框

12、圖如圖1所示。2.1檢測電路設(shè)計本設(shè)計需要檢測起點終點限速區(qū)一定黑白對比度的黑線和跑道兩側(cè)的障礙物(擋 板)。圖2、圖3是速度檢測和路面檢測。均采用反射取樣式,單光束紅外傳感 器st178接收信號,再分別用運放lm324比較電壓信號進(jìn)行放大。圖2的電路在 5v電壓下工作,根據(jù)該型號傳感器紅外發(fā)射管所需的工作壓降(紅外發(fā)射管的 正向壓降在11.3v)和工作電流(紅外發(fā)射管的電流為210ma),選取負(fù)載 電阻r1二0.51kq,紅外接收管負(fù)載電阻r2二51kq。取r3二r4二1kq是由r5進(jìn)行 設(shè)置。圖3的電路是在+9v電壓工作的,和圖2的分析方法一樣選取r6二2kq,r7二270kq,r8二27

13、0kq,r9二 100kq。圖2速度檢測電路圖3地面檢測電路2.2驅(qū)動電路設(shè)計2.2.1電機(jī)驅(qū)動電路主電路采用可逆pwm-m的雙極式h型電路。運用4個c2655晶體管和4個續(xù)流 二極管組成的橋式電路,靠晶體管導(dǎo)通和矢閉的占空比d來實現(xiàn)電動機(jī)調(diào)速的目 的,輸出端的電位極性不同可以使電機(jī)正轉(zhuǎn)和反轉(zhuǎn)。應(yīng)用中應(yīng)盡量提高斬波頻率, 減少電流的脈動。具體電路如圖4所示。圖4電機(jī)驅(qū)動電路2.2.2轉(zhuǎn)向驅(qū)動電路該電路結(jié)構(gòu)簡單,主要由達(dá)林頓管接受信號來驅(qū)動電機(jī),輸出端的電位極性不同 可以使電機(jī)作不同的轉(zhuǎn)向,實現(xiàn)轉(zhuǎn)向功能。具體結(jié)構(gòu)如圖5所示:圖5轉(zhuǎn)向驅(qū)動電路2.3鍵盤:及顯示電路顯示電路采用串行數(shù)據(jù)輸入,用四位數(shù)

14、碼液晶顯示,顯示時間或路程。通過單片 機(jī)利用不同的占空比來控制車的速度,小車運行的情況是通過軸上的帶孔的圓片 和光電檢測器把脈沖信號送給控制部分。當(dāng)小車檢測到終點線時,停止運行10s, 顯示運行路程。自動往返小車電路圖及匯編程序第三章系統(tǒng)的軟件設(shè)計 系統(tǒng)軟件設(shè)計軟件設(shè)計采用模塊化結(jié)構(gòu)。本系統(tǒng)軟件分為主結(jié)構(gòu)圖、中斷服務(wù)流程圖、顯示子程序、播報子程序等模塊。程序設(shè)計流程圖如圖6所示。圖6程序設(shè)計流程圖31系統(tǒng)軟件主結(jié)構(gòu)圖如圖7所示。圖7主結(jié)構(gòu)流程圖3.2系統(tǒng)軟件中斷服務(wù)流程圖如圖8所示。圖8中斷服務(wù)流程圖33系統(tǒng)軟件顯示子程序如圖9所示。圖9顯示子程序流程圖3.4系統(tǒng)軟件播報子程序如圖10所示。圖

15、10播報子程序流程圖第四章系統(tǒng)的匯編程序 卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜 * *;*主程序和中斷程序入口*org 0000h;程序執(zhí)行起始地址ljmp start ;跳至 startorg0003h;外中斷0入口ljmp intexo ;跳至intexo中斷服務(wù)程序orgooobh;定吋器to中斷入口reti;中斷返回org0013h;外中斷1入口ljmpintex1;跳至intex1中斷服務(wù)程序orgoo1bh;定時器t1中斷入口ljmpintt1;跳至intt1中斷服務(wù)程序org0023h;串口中斷入口rett;中斷返回org002bh;定時器t

16、2中斷入口reti;中斷返回初始化程序clearmemio:movro,#70h;清70h-76h顯示單元movr7,#07h;循環(huán)次數(shù)mlo:movr0,#00h;清0inc ro;下一地址djnzr7, mlo;未完冉循環(huán)movtmod,#10h;t1為16位定時器movr4,#14h;1秒定吋用(50毫秒20次)movtl1,#0b0h;50毫秒定時用初值movth1,#3chmov20h,#00h;清0操作mov21h,#00hmov22h,#00hmov23h,#00h9mov24h,#00hclr30h;清停車標(biāo)志setbet1;開口中斷setbexi;開外中斷1setb1t1;夕

17、沖斷1采用邊沿觸發(fā)setbito汐卜中斷0優(yōu)先級為1 (最高)setbexo;開外中斷0setbea;開總中斷允許setbtri;開啟定吋器t1ret;子程序返回自動往返小車電路圖及匯編程序start:lcallclearmemio;上電初始化main:setbpl.6;選擇7.5v輸出clrpl.7;選擇7.5v輸出setbp3.7;前進(jìn)狀態(tài)clrp3.6;前進(jìn)狀態(tài)clrp1.0;電機(jī)供電開始lcalldisp;led顯示一次ljmp main;轉(zhuǎn)main循環(huán)nop;pc值出錯處理nopljmp start;重新初始化, * *,;*外中斷0服務(wù)程序,用作跑道位置處理*;*23h作跑道計數(shù)器

18、*intex0:pushacc;堆棧保護(hù)pushpsw,clrexo;另中斷l(xiāng)calldisp;led顯示一次(延時抗干擾)jbp3.2,inoret;p3.2為1退出(干擾)inc23h;跑道計數(shù)器加1mova,23h;數(shù)據(jù)入acjnea,#o6h,judge1;不是第 6 道轉(zhuǎn) judge1lcallstop;是第6道,停車ljmp1n0ret;轉(zhuǎn)中斷退出judge1:cjnea,#o3h,judge2;不是第 3 道轉(zhuǎn) judge2lcallstopslow;是第3道,變慢車ljmpinoret;轉(zhuǎn)中斷退出judge2:cjnea,#04h, judge3;不是笫 4 道轉(zhuǎn) judge3

19、lcallfast;是第4道,變快車ljmpinoret;轉(zhuǎn)中斷退出judge3:cjnea,#05h, inoret;不是第5道轉(zhuǎn)inoret狠出lcallstopslow;是第5道,變慢車inoret:clrieo;清外中斷0中斷標(biāo)志poppsw;恢復(fù)現(xiàn)場popacc,lcalldl7ms;延時7毫秒(抗干擾)setbexo;開外中斷0reti;中斷返回%f %!f 卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜 ,;*慢車控制子程序*stopslow:clrpl.6咲7.5v電源cplp3.6;反向驅(qū)動(剎車)cplp3.7仮向驅(qū)動lcallds5oms;剎車時

20、間(可根據(jù)試車情況調(diào)整)lcallds5oms,lcallds5oms,cplp3.6;正向驅(qū)動cplp3.7;正向驅(qū)動setbpl.7;ff 4.3v電源ret;返回快車控制子程序k!t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t%fast:clrpl.7;尖4.3v電源setbpl.6;開7.5v電源ret;返回k!t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t%

21、 t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t%;*停車控制程序*stop:mov 23h,#()0h;跑道計數(shù)單元清()cplp3.6;反向驅(qū)動(剎車)cplp3.7;反向驅(qū)動(剎車)lcallds50ms;剎車吋間lcallds50ms;剎車時間(可調(diào)整)setbp1.0;尖電機(jī)電源setbpt1;定時器t1為高優(yōu)先級lcallds ios;停車10秒clrpt1;恢復(fù)t1為低優(yōu)先級setbpl.6;”75v電源(高速)clrpl.7咲 4.3vclrp1.0;電機(jī)電源開cpl30h;停車點位置判斷標(biāo)志取反jb3oh,stren;為1

22、(中途停車)轉(zhuǎn)strenlcallclroo;是終點,調(diào)復(fù)0程序stren:ret;返回計吋清o程序k!t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t%clroo:mov70h,#00h;計時單元清0mov71h,#00h;計時單元清omov72h,#00h;計時單元清0mov 73h,#00h;計時單元清0ret;返回 t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t

23、% t% t% t% t% t% t% t% t% t% t% t% t% t% t% t% , * * ,;* 外中斷1程序,里程計數(shù)用*;*20h、21h、22h、24h 作計數(shù)器 *sf1ntex1:pushpushaccpsw;堆棧保護(hù)>自動往返小車電路圖及匯編程序clrexi;矢外中斷1inc20h;圈加1llll:mova,20h;判斷是否滿6圈cjnea,#06h,lll;不滿6圈轉(zhuǎn)lll狠出mov20h,#00h;滿6圈清0進(jìn)位(6圈為1米)inc21h;上位加1mova,21h;判斷是否滿10cjnea,#0ah,lll;不滿10轉(zhuǎn)lllmov21h,#00h;滿10清

24、0進(jìn)1位inc22h;高位加1mova,22h;判斷是否滿10cjnea,#0ah,lll;不滿10轉(zhuǎn)lllmov22h,#00h;滿10清0進(jìn)1位inc24h;咼位加1mova,24h;判斷是否滿10cjnea,#0ah,lll;不滿10轉(zhuǎn)lllmov24h,#00h;滿10清0lll:mov74h,21h;將里程數(shù)移入顯示單元(個位)mov75h,22h;將里程數(shù)移入顯示單元(十位)mov76h,24h;將里程數(shù)移入顯示單元(百位)in1ret:poppsw;恢復(fù)堆棧topacc,setbexi;開外中斷1ret1;中斷返回 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1*

25、 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* ,;*時間計時器程序;*(t1定吋中斷服務(wù)程序)*%!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f %!f 卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜,intt1:push acc;堆棧保護(hù)pus

26、h pswmovtl1,#0b0h;賦50亳秒定時初值movth1,#3chdecr4贓1mova,r4jnzretto;不為0轉(zhuǎn)rettomovr4,#14h;為0 (1秒到)重賦初值movr0,#71h;地址指向71hacall add1;加1秒操作mova,r39clrccjnea,#60h,cc;是否為60秒?cc:jc retto;小于60轉(zhuǎn)rettoacall clro;大于或等于60清0movr0,#73h;指向分計時地址單元acall add1;分加1mova,r3clrccjnea,#60h,ccc;是否為 60 分?ccc:jcretto;小于60轉(zhuǎn)rettoacall c

27、lro;大于或等于60分計時單元清0retto:pop psw計灰復(fù)堆棧pop accret1;中斷返回;加1操作程序add1:mov a,r0;取計數(shù)值decro;指向低一個地址swapa;計數(shù)值高低四位交換orla,r0;相或組合成一個數(shù)據(jù)adda,#01h;加1daa;十進(jìn)制調(diào)整movr3,a;暫存r3內(nèi)anla,#ofh;高四位變0movr0,a;放回低地址mova,r3;取回r3內(nèi)數(shù)據(jù)incro;地址加1swapa;高低四位交換anla,#ofh;高四位為0movr0,a;放回原地址ret;返回;清0程序clro:clr a;清人movr0,a;對應(yīng)地址單元清0decro;指向低地址

28、movr0,a;清0ret;返回;顯示程序disp:mov rl,#70h;顯示數(shù)據(jù)首址play:mov a,r5;掃描字入amov p2,a;從卩2 口輸出mov a, r 1;取顯示數(shù)據(jù)mov dptr,#tab;取段碼表首址movc a,a+dptr;查數(shù)據(jù)對應(yīng)段碼mov r5,#0feh;掃描字mov p0,a;段碼從p0 口輸出lcall dl1ms;點亮1毫秒mov a,r5;掃描字入ajnb acc.6,endout;acc6=0 轉(zhuǎn) endout 結(jié)束rl a;循環(huán)左移mov r5,a;放回 aa j mp play;轉(zhuǎn) play 再顯示endout:mov p2, #offh

29、;顯示結(jié)束處理。p2 口置1ret;子程序結(jié)束;led共陰段碼表(09)tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh自動往返小車電路圖及匯編程序;1毫秒延吋程序dl1ms:mov r6,#14hdl1:mov r7,#19hdl2:djnz r7,dl2djnz r6,dl1ret;延時程序,用調(diào)用顯示程序?qū)崿F(xiàn),可使led顯示穩(wěn)定ds50ms: lcall disp;(7 毫秒)lcall displcall d1spds20ms: lcall displcall displcall dispret;10秒延時程序,用調(diào)用顯示程序?qū)崿F(xiàn),可使led

30、顯示不熄滅ds10s:movr2,#08h;(8*11*16*7=9956 毫秒)t10:movr0,#0b0htt1:lcalldispdjnzro,tildjnzr2,ti0ret;7毫秒延時程序,跑道計數(shù)器抗卡擾用dl7ms:setbpx1;外中斷1置高優(yōu)先級movr2,#0eh;賦定時值dl11:lcalldisp;調(diào)用顯示程序djnzr2,dl11;循環(huán)clrpx1;夕沖斷1恢復(fù)低優(yōu)先級ret;返回end;程序結(jié)束第五章系統(tǒng)調(diào)試安裝與調(diào)試本裝置是由玩具小汽車改裝而成,因此在硬件的制作與安裝方面要求較高??疾煨∑嚨能嚿斫Y(jié)構(gòu),在車身前端后端以及右側(cè)的中點處各安裝一個光電檢測器,檢測頭朝

31、下,檢測跑道上的2cm寬黑線,產(chǎn)生中斷信號給單丿;機(jī)。其次,安裝在后輪車軸位置的速度檢測裝置,實現(xiàn)機(jī)械旋轉(zhuǎn)到電信號的轉(zhuǎn)換。垂直安裝在小車的后輪軸上,定位于凹形光耦槽之間。當(dāng)小車行駛時,車軸旋轉(zhuǎn)帶動擋光片旋轉(zhuǎn),光耦槽中間被擋住,產(chǎn) 生脈沖信號經(jīng)整形后送單片機(jī)處理。將小車安裝好后,在跑道上進(jìn)行測試。根據(jù)小車在跑道上行駛的情況,調(diào)整 小車上的單片機(jī)控制部分,逐漸達(dá)到題冃的要求。在調(diào)試中發(fā)現(xiàn)小車行駛的方向很難保持不變,容易碰及跑道兩側(cè)垂直擋板。為了 保護(hù)車身以及車上所載電路和其他功能部件,我們特在車身外圍四角安裝有滑輪, 并可減少小車與擋板之間的摩擦。4.1系統(tǒng)測試4.1.1測試儀器(1) 60mhz

32、雙蹤數(shù)字示波器:tds-210 ;(2) 四位半數(shù)字萬用表:ut2003 °(3) 秒表(4) 米尺4.1.2測試方法 將小車放在起跑線e上,合上電源開尖,用秒表立即開始計時to (0 .00s) o所用秒表可以記錄11組時刻,并能顯示每兩組吋刻之間的間隔吋間。當(dāng)小車進(jìn)入限速區(qū)d 時,記錄時刻t1 ;駛出限速區(qū)e時,記錄時刻t2。小車駛到終點g后停止,此時記錄時刻t3。一段時間后,小車以倒車方式返回。再次起動時,記錄時刻t4。再次進(jìn)入限速區(qū)e時, 記錄時刻t5 ;駛出限速區(qū)d時,記錄時刻t6。當(dāng)小車駛回起點線b后停止時,記錄時刻t7。(t2-tl)、(t6-t5)即為通過限速區(qū)的時間

33、。(t4-t3)為到達(dá)終點線后的停留時 間。t7即為一次往返的總時間。在小車駛過終點線g后停止的一段時間內(nèi),記錄小車的停車位置,以小車中心點 為標(biāo)準(zhǔn),用米尺測量終點線中心線與小車中心點之間的距離s1。同理,小車返回到起點 線b停止后,測量起點線中心線與小車中心點之間的距離s2。以上si,s2即為小車停車位 置與終點線和起跑線之間的偏差。第六章技術(shù)參數(shù)5.1 技術(shù)參數(shù):車身參數(shù):長:23.5cm寬:14.4cm測試跑道參數(shù)如下:fg : 0.5m長度參數(shù):bc:05m cd : 3.5m de : 2.0m ef : 3.5m跑道寬度:05m垂直擋板高度:20cm根據(jù)上述測試方法,多次測量,得到

34、以下測試數(shù)據(jù):表1 :測試數(shù)據(jù)測試數(shù)據(jù)序號正向通過限速區(qū)時間(t2-t1)(s)到達(dá)終點停止時間(t4-t3)(s )返回通過限速區(qū)時間(t6-t5)(s) 一次往返總時間t7 (s)停車位置與終點線偏差s1(cm)停車位置與起點線偏差s2(cm)185710.138.3343.660-1286510.038.0444.3600387210.608.4245.40005.2測試結(jié)果分析a正向通過限速區(qū)時間反向通過限速區(qū)時間。出現(xiàn)這種結(jié)果的原因主要是測試所用的跑道不平而引起的,在小車正向通過限速 區(qū)吋,會經(jīng)過一”上坡路段”,從而使行駛時間增加;小車返回通過限速區(qū)時則相反,行 駛時間會減少。b一次往返總時間偏大而停車位置誤差很小。在我們設(shè)計小車行駛參數(shù)吋,小車到達(dá)減速點f、c吋,假若速度較快,一次往 返總時間自動往返小車電路圖及匯編程序會減少,但代價是停車位置與終、起點線之間會有一個比較大的偏差。我們在設(shè)計吋顧及了停車的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論