畢業(yè)設(shè)計智能小汽車2_第1頁
畢業(yè)設(shè)計智能小汽車2_第2頁
畢業(yè)設(shè)計智能小汽車2_第3頁
畢業(yè)設(shè)計智能小汽車2_第4頁
畢業(yè)設(shè)計智能小汽車2_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄第1節(jié) 引 言.31.1 智能小汽車系統(tǒng)概述.31.2 本設(shè)計任務(wù)和主要內(nèi)容3第2節(jié) 系統(tǒng)主要硬件電路設(shè)計4 2.1 系統(tǒng)方案論證與比較4 2.2 單片機主機系統(tǒng)電路52.2.1 時鐘電路5 2.2.2 復(fù)位電路6 2.3 電機的選擇與論證6 2.4 電機驅(qū)動方案與電路6 2.5 探測障礙物方案與電路8 2.6 光源檢測方案與電路9 2.7 顯示部分方案與電路9 2.8 電源方案與PCB電路.10 入庫前后聲音提示方案與電路.11 2.10 攔柵控制電路.12 2.11 車速檢測模塊電路.13第3節(jié) 系統(tǒng)的軟件設(shè)計.143.1 系統(tǒng)主程序設(shè)計.143.2 小車行使程序.32第4節(jié) 結(jié)束語.

2、39參考文獻(xiàn).40附錄.41智能小汽車第1節(jié) 引 言 (知道段前段后什么要求嗎?)題目要求設(shè)計一智能小汽車,小車能夠準(zhǔn)確尋找到光源,并隨著光源的引導(dǎo),能夠順利地進(jìn)入車庫,同時在行程過程中能準(zhǔn)確地顯示小車的行使路程的總時間。根據(jù)要求本設(shè)計用兩個電機來控制小車的轉(zhuǎn)向,用紅外對管傳感器來檢測障礙物,用光敏電阻來檢測光源,用夜晶來顯示小車的行使時間和車庫攔柵上升的時間、高度以及當(dāng)前溫度等。與此同時通過語音電路來實現(xiàn)人性化的人機互動。作品可以作為高級智能玩具,也可以作為大學(xué)生學(xué)習(xí)嵌入式控制的強有力的應(yīng)用實例,該系統(tǒng)將會有更廣闊的開發(fā)前景。1.1 智能小汽車系統(tǒng)概述本設(shè)計制作了一款具有智能判斷功能的小車,

3、功能強大。小車具有以下幾個功能:自動避障功能(避免撞到車庫的三塊木板);趨光功能(尋找前方的點光源并行駛到位、尋找車庫門);顯示小車行走的總時間以及車庫攔柵上升的時間、高度以及當(dāng)前溫度,同時在小車準(zhǔn)備入庫時和入庫后進(jìn)行語音提示。在小車行走控制中作品以兩直流電動機為主驅(qū)動,通過各類傳感器件來采集各類信息,送入主控單元AT89C51單片機,處理數(shù)據(jù)后完成相應(yīng)動作,以達(dá)到自動控制。在開啟和關(guān)閉車庫攔柵時用步進(jìn)電機來控制,并通過單片機來實現(xiàn)相應(yīng)動作。直流電機驅(qū)動電路采用三極管8550、8050組成的H橋型驅(qū)動電路及應(yīng)用光藕芯片對兩路電源進(jìn)行分離。步進(jìn)電機采用L298N和IN5408來驅(qū)動,其中避障采用

4、紅外對管收發(fā)來完成;趨光部分通過兩路光敏電阻對光源信號的采集,再將信號送到單片機處理去判別方向,并由控制單元處理數(shù)據(jù)后完成相應(yīng)動作,實現(xiàn)了無人控制即可完成一系列動作,相當(dāng)于簡易機器人。1.2 本設(shè)計任務(wù)和主要內(nèi)容(知道段前段后什么要求嗎?)本論文主要研究單片機控制的智能小汽車系統(tǒng),小車控制技術(shù)及系統(tǒng)設(shè)備的軟、硬件各個部分進(jìn)行了研究。主要內(nèi)容如下: 根據(jù)小車的特點,進(jìn)行智能小汽車控制系統(tǒng)的整體研究與設(shè)計。對其設(shè)計進(jìn)行了深入的研究,重點研究小車入庫控制方式。 LCD顯示小車行走的總時間以及車庫攔柵上升的時間、高度以及當(dāng)前溫度,同時在小車準(zhǔn)備入庫時和入庫后進(jìn)行語音提示。第2節(jié) 系統(tǒng)主要硬件電路設(shè)計2

5、.1 系統(tǒng)方案論證與比較(知道段前段后什么要求嗎?) 方案一:采用各類數(shù)字電路來組成小車的控制系統(tǒng),對外圍避障信號,各路趨光信號進(jìn)行處理,車庫攔柵上升下降控制,溫度顯示等。本方案電路復(fù)雜,靈活性高,效率低,不利于小車智能化的擴展,對各路信號處理比較困難。 方案二:采用AT89C51單片機來作為整機的控制核心單元。紅外線探頭采用市面上通用的發(fā)射管與及接收頭,經(jīng)過單片機調(diào)制后發(fā)射。車庫攔柵控制部分用步進(jìn)機來驅(qū)動再將采集到的各類信號送往單片機進(jìn)行綜合分析處理,實現(xiàn)準(zhǔn)確有效的動作,此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分使系統(tǒng)硬件簡潔化,各類功能易于實現(xiàn),能很好地滿足題目的要求,并容易擴展

6、功能。 比較以上兩種方案的優(yōu)缺點,方案二簡潔、靈活、可擴展性好,能達(dá)到題目的設(shè)計要求,因此采用方案二來實現(xiàn)。本系統(tǒng)可由圖2-1所示的幾個部分組成。圖2-1 單片機控制系統(tǒng)原理框圖其中傳感器原理框圖如圖2-2所示。圖2-2 傳感器原理框圖22 單片機主機系統(tǒng)電路AT89C51單片機是51系列單片機的一個成員,是8051單片機的簡化版。內(nèi)部自帶2K字節(jié)可編程FLASH存儲器的低電壓、高性能COMS八位微處理器,與Intel MCS-51系列單片機的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲器結(jié)合在單個芯片中,因此,AT89C51構(gòu)成的單片機系統(tǒng)是具有結(jié)構(gòu)最簡單、造價最低廉、效率最高的微

7、控制系統(tǒng),省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節(jié)省了成本,提高了系統(tǒng)的性價比。圖2-3 單片機主機系統(tǒng)圖2.2.1時鐘電路 單片機的時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準(zhǔn),時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式,如圖2-3所示在其外接晶體振蕩器(簡稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成

8、一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。 圖2-3中外接晶體以及電容C2和C1構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值均為30P左右,晶振頻率選12MHz。 為了初始化單片機內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機的復(fù)位是靠外電路來實現(xiàn)的,在正常運行情況下,只要RST引腳上出現(xiàn)兩個機器周期時間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部

9、清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(開關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。 圖2-3中R9和Cl組成上電復(fù)位電路,其值R取為10K, C取為22pF。2.3 電機的選擇與論證方案一:采用普通的直流電機。直流電動機具有優(yōu)良的調(diào)速特性,調(diào)速平滑、方便,調(diào)整范圍廣,過載能力強,能承受頻繁的沖擊負(fù)載,可實現(xiàn)頻繁的無數(shù)快速啟動、制動和反轉(zhuǎn)。方案二:采用步進(jìn)電機。步進(jìn)電機的一個顯著特點是具有快速的啟停能力,如果負(fù)荷不超過步進(jìn)電機所能提供的動態(tài)轉(zhuǎn)矩值,就能夠立即使步進(jìn)電機啟動或反轉(zhuǎn)。另一個顯著特點是轉(zhuǎn)換精度高,正轉(zhuǎn)反轉(zhuǎn)控制靈活??紤]到時

10、間的限制,同時普通的直流電機電路設(shè)計相對簡單且容易獲得,所以在設(shè)計小車行走過程中采用選擇方案一的現(xiàn)成的直流電機作為動力驅(qū)動。在車庫攔柵控制部分,采用方案二的步進(jìn)電機來進(jìn)行控制。2.4 電機驅(qū)動方案與電路方案一:采用繼電器對電動機的開或關(guān)進(jìn)行控制,通過控制開關(guān)的切換速度實現(xiàn)對小車的速度進(jìn)行調(diào)整。這個電路的優(yōu)點是電路結(jié)構(gòu)簡單,其缺點是繼電器的響應(yīng)時間長,易損環(huán),壽命短,可靠性不是很高。方案二:小車行走電路采用兩對互補型晶體管8550(PNP)型和8050型(NPN)接成橋式電路。用AT89C51軟件編程來控制各晶體管導(dǎo)通,分別對應(yīng)電機的正轉(zhuǎn)與反轉(zhuǎn),同時為了達(dá)到效果我將控制電路電源和電動機電源隔離開

11、來,在橋式電路之前加了光電耦合器(U5B TP521-2),該電路的優(yōu)點是電路簡單,通過單片機的軟件控制互補型晶體管的導(dǎo)通與截止,方便的調(diào)整電動機的運動狀態(tài)。缺點是當(dāng)兩個輸入端都為高電平時,驅(qū)動電路的三極管同時導(dǎo)通,容易燒壞晶體管。方案三:(1)車庫攔柵控制部分采用集成電路L298N和二極管IN5408組成的電路來作為驅(qū)動,其原理如同方案二,同樣利用晶體管的導(dǎo)通與截止來驅(qū)動電機的轉(zhuǎn)動。L298N內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。1腳和15腳可單獨引出連接電流采樣電阻

12、器,形成電流傳感,因此對步進(jìn)機來說,可以非常好的對其驅(qū)動。(2)采用驅(qū)動步進(jìn)機專用芯片ULN2003A,該芯片電路簡單,容易控制,但驅(qū)動力比較大。在本次設(shè)計中的小車行走電路,由于繼電器對設(shè)計中的種種限制,所以采用方案二中的8050和8550組成的橋電路。對車庫攔柵控制部分,因為題目要求電機能夠自如提起放下攔柵(重量比較重),由于沒能找到達(dá)林頓管ULN2003A,因此我們采用驅(qū)動力比較大的L298N來驅(qū)動,因此采用方案三(1)。圖2-4 電動機PWM驅(qū)動電路該電路的工作原理如下所示:電動機驅(qū)動由單片機兩路輸入,可分為四種情況討論:(1)當(dāng)A端輸入為低電平、B端輸入為高電平時,使Q1、Q4管截止,

13、Q2、Q3管導(dǎo)通,電動機正轉(zhuǎn)。 (2)當(dāng)A端、B端輸入都為高電平時,經(jīng)過光電傳輸,使Q1、Q2、Q3、Q4管都截止,電動機不運轉(zhuǎn)。 (3)當(dāng)A端輸入為高電平、B端輸入為低電平時,使Q1、Q4管導(dǎo)通、Q2、Q3管截止,電動機反轉(zhuǎn)。(4)當(dāng)A端、B端輸入都為低電平,經(jīng)過光電傳輸,使Q1、Q2、Q3、Q4管都導(dǎo)通,這在電路中是不允許出現(xiàn)的現(xiàn)象.考慮到電動機的啟動時電流很大,而且電動機波動較大,容易造成電壓不穩(wěn)、等干擾,我運用了P521光耦集成塊,將控制部分與電動機的驅(qū)動電路隔離開來,確保安全。2.5 探測障礙物方案與電路方案一:采用超聲波測距障礙。超聲波測距模塊利用其測距原理可以可靠地判斷小車前方是

14、否有障礙物,如果傳感器接收到反射回來的超聲波,則通過單片機來控制小車前進(jìn)路線。但是超聲波受環(huán)境影響較大,電路復(fù)雜,而且地面對超聲波的反射,會影響系統(tǒng)對障礙物的判斷。方案二:采用紅外對管。電路中帶有集成鎖相環(huán)路解碼器LM567或使用LM393 。當(dāng)紅外發(fā)射管檢測到障礙物時,LM567輸出端輸出低電平,否則輸出高電平,并將信號傳給單片機來控制小車避障和前行的動作。利用單片機來產(chǎn)生信號對紅外線發(fā)射管進(jìn)行調(diào)制發(fā)射,發(fā)射出去的紅外線遇到避障物的時候反射回來,紅外線接收管對反射回來信號進(jìn)行解調(diào),輸出TTL電平。外界對紅外信號的干擾比較小,且易于實現(xiàn),價格也比較便宜。通過比較以及材料夠得的容易情況,選擇了方

15、案二中紅外對管電路比較合理。在此模塊中是使用紅外對管和集成電路LM393,通過紅外發(fā)射管是否檢測到障礙物情況,經(jīng)過LM393輸出端輸出電平的高低,將此信號送給單片機,使之執(zhí)行相應(yīng)的動作,其電路原理圖如圖2-5所示。圖2-5 避障檢測的電路原理圖2.6 光源檢測方案與電路方案一:利用光敏電阻組成的電路。當(dāng)光敏電阻檢測到光源時,光敏電阻對是否接受到光源時會產(chǎn)生高低不同的信號脈沖,這樣將信號傳給單片機從而控制小車向光源行使到達(dá)車庫。方案二:利用紅外發(fā)射、接收器組成的電路,具有可大幅度減少外界干擾,靈敏度高,信噪比強等優(yōu)點,但是,電路復(fù)雜、調(diào)試難度大。另外,電動車進(jìn)入車庫后,要求小汽車能夠立即停車,通

16、過紅外發(fā)射、接收器檢測車庫障礙物,然后通過單片機動作使電動車立即剎車。但容易車身壓線,不符合題目要求。因此,不采用此方案?;谏鲜隼碚摲治?,選擇方案一。設(shè)計中,在車頭安裝了兩個光敏電阻,把電動車引到有光源的車庫,原理是這樣的:當(dāng)左邊的光敏電阻檢測到光源時,小車會往左轉(zhuǎn),當(dāng)左邊的光敏電阻檢測到光源時,小車會往左轉(zhuǎn)。加上其他傳感器的信息采集,從而讓小車準(zhǔn)確如庫,其電路原理圖如圖2-6所示。圖2-6 光源檢測電路原理圖2.7 顯示部分方案與電路方案一:采用LED數(shù)碼管顯示小車行駛的時間和路程以及攔柵上升時間和高度,在本系統(tǒng)中要用到10只LED數(shù)碼管進(jìn)行動態(tài)顯示即可達(dá)到要求。其優(yōu)點是價格便宜,壽命長;

17、缺點是只能顯示09的數(shù)字和一些簡單的字符,電路設(shè)計繁鎖,且占用空間。方案二:采用LCD(12864)液晶顯示,其優(yōu)點是能顯示更多的字符,工作電流比LED小,故其功耗低,且可以有良好的人機界面,直觀,顯示效果漂亮,體積小。綜合考慮選擇此方案。由于12864液晶不僅可以顯示數(shù)字,而且可以顯示漢字和圖象,這樣設(shè)計產(chǎn)生的效果非常直觀,具有人性化設(shè)計。在本設(shè)計中采用12864作為顯示部分,電路原理圖如圖2-7所示:圖2-7 顯示、單片機最小系統(tǒng)模塊的電路原理圖2.8 電源方案與PCB電路方案一:采用雙電源供電。用兩個電源分別給控制系統(tǒng)和電機系統(tǒng)供電,將兩個系統(tǒng)完全隔離,利用光電耦合器傳輸信號,將電動機驅(qū)

18、動所造成的干擾徹底消除,這樣就提高了系統(tǒng)的穩(wěn)定性。方案二:用單電源給電機系統(tǒng)供電,但是控制系統(tǒng)對電流需求量大,因為電機啟動瞬間電流會很大,會造成控制系統(tǒng)電壓不穩(wěn),干擾較大,嚴(yán)重時可能造成單片機系統(tǒng)掉電。綜上所述,采用方案二且用5節(jié)1.5V的干電磁組成7.5V的電源或使用蓄電池給電機系統(tǒng)供電,用1節(jié)9V的干電磁與7805組成輸出恒為5V的電源給控制系統(tǒng)供電。本設(shè)計考慮到小車所能承受的壓力有限,所以采用比較簡單的由7805組成的電源對小車系統(tǒng)進(jìn)行供電。其電路圖如圖2-8所示。圖2-8 電源供電模塊PCB圖 入庫前后聲音提示方案與電路 方案一:采用74LS04非門組成的普通電路,由單片機產(chǎn)生不同的頻

19、率信號來完成聲音提示,此方案易于實現(xiàn),成本也不高,能完成聲音提示功能,可給人以提示的可懂性比較差。 方案二:采用ISD1420可分段錄放音模塊,能夠給人以直觀的提示,但I(xiàn)DS1420錄放音模塊價格比較高,也可以采用此方案來處理,但由于該芯片最大錄音時間為20S,可讀性比較好,具有人性化的操作,對題目設(shè)計來說可能達(dá)不到要求。方案三:采用ISD2560 錄放音模塊,同樣能夠給人以直觀的提示,價格也比較高,同時該芯片最大錄音時間為60S,可讀性很好,具有人性化的操作,可以滿足題目要求。綜上所述:方案一對一般的報警可以達(dá)到要求,但在設(shè)計中要求做到人性化的要求,因此放棄方案一,對方案二和方案三采用錄音時

20、間長的ISD2560來實現(xiàn),這樣更能保證設(shè)計的可靠性和有效性。此模塊有三部分電路組成,可以獨立地完成各自的功能,語音播放功能可以達(dá)到直觀,具有人性化的服務(wù)。聲光電路結(jié)構(gòu)簡單,主要用以報警提示。溫度檢測電路利用DS18B20溫度傳感器的特點,可以準(zhǔn)確地檢測到周圍環(huán)境的溫度。其原理圖如圖2-9所示。圖2-9 聲光、語音提示檢測模塊2.10 攔柵控制電路 電路主要是步進(jìn)機驅(qū)動電路,由于攔柵有一定的重量,所以驅(qū)動電動機的驅(qū)動力就必須大,因此采用驅(qū)動力大的專用芯片L298N來驅(qū)動。其原理圖如圖2-10所示。圖2-10 攔柵控制電路2.11 車速檢測模塊電路在車軸上固定安裝一對紅外對管,在車輪圓周上粘貼一

21、段白紙條。當(dāng)車輪轉(zhuǎn)動時,遮光條通過紅外對管,使其得到通斷相間的高低電平信號。得到的信號經(jīng)過由LM393組成的過壓比較器,使輸出電壓規(guī)范到兩個標(biāo)準(zhǔn)值,在發(fā)送至單片機分析處理,以實現(xiàn)車速和薄鐵片距離的計算。具體路如圖2-11所示。 設(shè)計中,我們將紅外對管安裝在后輪上,因為前輪要完成轉(zhuǎn)彎的功能,如果將紅外對管安裝在前輪,轉(zhuǎn)彎的靈活性就變差了,而且測的數(shù)據(jù)不夠準(zhǔn)確。圖2-11 車速檢測的電路原理圖第3節(jié) 系統(tǒng)的軟件設(shè)計系統(tǒng)軟件設(shè)計主要包括:主程序設(shè)計,小車驅(qū)動子程序設(shè)計,顯示子程序。31 系統(tǒng)主程序設(shè)計 圖3-1 主程序流程圖根據(jù)設(shè)計要求,可得本系統(tǒng)的程序流程圖如圖3-1所示。本系統(tǒng)的控制器采用常用的

22、AT89C51,因為控制小車比較模塊化,所以使用匯編語言進(jìn)行軟件編寫。 ;12864(帶字庫漢字顯示演示程序) DI BIT P2.4 ;DS18B20輸入端;- COUNT EQU 31H LCD_DATA EQU 36H LCD_DATA1 EQU 37H LCD_DATA2 EQU 38H STORE EQU 39H DAT EQU 2EH ;DS18B20、液晶數(shù)據(jù)暫存 TEMPH EQU 3AH TEMPL EQU 3BH;- ORG 0000H LJMP START ORG 001BH LJMP TIM1 ORG 0100H;-START: MOV SP,#70H MOV 2AH,

23、#00 ;上升時間用定時器2 MOV 2BH,#00 ;高度 MOV 2CH,#00 MOV 20H,#00 ;儲存上升時間 MOV 21H,#00 MOV 40H,#00 ;儲存上升高度 MOV 41H,#00 MOV 42H,#00 MOV 43H,#00 MOV TEMPH,#00H MOV TEMPL,#00H SETB P2.6 ;片選端 (語音) CLR P2.7 ;復(fù)位端 SETB P3.1 ;聲光端 MOV TMOD,#00010000B MOV TH1,#HIGH(65536-50000) MOV TL1,#LOW(65536-50000) MOV IE,#10001000B

24、 MOV R5,#20 CLR RS CLR RW CLR E LCALL DS18B20 ;DS18B20先轉(zhuǎn)換一次 SETB DI CLR TR1 CLR RST ;復(fù)位 LCALL DELAY4 SETB RST NOP SETB PSB ;通訊方式為8位數(shù)據(jù)并口;*液晶初始化*LGS0: MOV A,#34H ;34H-擴充指令操作 LCALL SEND_I ;寫指令子程序 MOV A,#30H ;30H-基本指令操作 LCALL SEND_I MOV A,#01H ;清除顯示 LCALL SEND_I MOV A,#06H ;指定在資料寫入或讀取時,光標(biāo)的移動方向 LCALL SEN

25、D_I ;DDRAM 的地址計數(shù)器(AC)加1 MOV A,#0CH ;開顯示,關(guān)光標(biāo),不閃爍 LCALL SEND_I;*; 顯示字符;*XSZF: MOV DPTR,#TAB1A ;顯示漢字和字符 MOV COUNT,#08H ;地址計數(shù)器設(shè)為16。 MOV A,#80H ;第一行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1B ;顯示漢字和字符 MOV COUNT,#10H ;地址計數(shù)器設(shè)為16。 MOV A,#90H ;第二行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1C ;顯示漢字和字符 MOV C

26、OUNT,#08H ;地址計數(shù)器設(shè)為16。 MOV A,#88H ;第三行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1D ;顯示漢字和字符 MOV COUNT,#08H ;地址計數(shù)器設(shè)為16。 MOV A,#98H ;第四行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1E0 ;顯示漢字和字符 MOV COUNT,#2H ;地址計數(shù)器設(shè)為16。 MOV A,#9FH ;第四行起始地址 LCALL SEND_I LCALL QUSHU ;溫度;*; 按鍵操作; 升 降 停按鍵;*N0:JB P3.7,N1 SET

27、B TR1 MOV A,#8DH LCALL SEND_I MOV A,#18H LCALL SEND_D CALL TIM1 JMP SHANGSHENGN1:JB P3.5,N2 CLR TR1 CALL TIM1 JMP STOP03N2:JB P3.6,N0 SETB TR1 MOV A,#8DH LCALL SEND_I MOV A,#19H LCALL SEND_D CALL TIM1 JMP XIAJIANG;*; 上升子程序0;*SHANGSHENG :JB P3.5,ST CLR TR1 CALL TIM1 JMP STOP03ST:MOV R0,#00HSTART1:MOV

28、 A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ SHANGSHENG MOV P0,A CALL DELAY1 INC R0 LJMP START1 RET;*; 上升子程序1;*SHANGSHENG1 :JB P3.6,ST1 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H SETB TR1 MOV A,#8DH LCALL SEND_I MOV A,#19H LCALL SEND_D CALL TIM1 JMP XIAJIANG0ST1:MOV R0,#00HSTART11:MOV A,R0 MOV DPTR,#TABLE MOV

29、C A,A+DPTR JZ SHANGSHENG1 MOV P0,A CALL DELAY1 INC R0 LJMP START11 RET;*;停止子程序1 (上升下降停止鍵無效 P3.4有效并且進(jìn)行軟件復(fù)位);*STOP: JB P3.6,STOP00 SETB TR1 MOV A,#8DH LCALL SEND_I MOV A,#19H LCALL SEND_D CALL TIM1 JMP XIAJIANG0STOP00:JB P3.7,STOP0 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H SETB TR1 MOV A,#8DH LCALL SEND_

30、I MOV A,#18H LCALL SEND_D CALL TIM1 JMP SHANGSHENG1STOP0: MOV R0,#00HSTOP1: MOV A,R0 MOV DPTR,#TABLF MOVC A,A+DPTR MOV P0,A CALL DELAY1 INC R0 JZ STOP JMP QQQQ: RET;*; 停止子程序2 下降;*STOP2:JB P3.6,STOP02 SETB TR1 CALL TIM1 JMP XIAJIANGSTOP02: MOV R0,#00HSTOP12: MOV A,R0 MOV DPTR,#TABLF MOVC A,A+DPTR JZ

31、STOP2 MOV P0,A CALL DELAY1 INC R0 RET;*; 停止子程序3 上升;*STOP3:JB P3.7,STOP03 SETB TR1 CALL TIM1 JMP SHANGSHENGSTOP03: MOV R0,#00HSTOP13: MOV A,R0 MOV DPTR,#TABLF MOVC A,A+DPTR JZ STOP3 MOV P0,A CALL DELAY1 INC R0 RET;*; 下降子程序0;*XIAJIANG:JB P3.5,XX CLR TR1 CALL TIM1 JMP STOP2XX: MOV R0,#00HXIAJIANG1:MOV

32、A,R0 MOV DPTR,#TABLG MOVC A,A+DPTR JZ XIAJIANG MOV P0,A CALL DELAY11 INC R0 LJMP XIAJIANG1 RET;*; 下降子程序1;*XIAJIANG0:JB P3.7,XX1 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H SETB TR1 SETB TR0 MOV A,#8DH LCALL SEND_I MOV A,#18H LCALL SEND_D CALL TIM1 JMP SHANGSHENG1XX1: MOV R0,#00HXIAJIANG10:MOV A,R0 MOV DP

33、TR,#TABLG MOVC A,A+DPTR JZ XIAJIANG0 MOV P0,A CALL DELAY11 INC R0 LJMP XIAJIANG10 RET;*; 自動計時1;*TIM1: PUSH ACC PUSH PSW MOV TH1,#HIGH(65536-50000) MOV TL1,#LOW(65536-50000) DJNZ R5,X3 MOV R5,#20 CALL CLOCK CALL DISP CALL RTEMP CALL WORK CALL GAODU CALL DISP1X3: POP PSW POP ACC RETI;*運行時間*CLOCK: MOV

34、A,2AH ADD A,#01 DA A MOV 2AH,A CJNE A,#05H,X5 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H CLR TR1 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL DELAY3 CALL STOP LJMP N0X5: RET;*;

35、 儲存并顯示運行時間;*DISP: MOV R1,#20H MOV A,2AH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A MOV A,#86H LCALL SEND_I MOV A,21H ADD A,#30H LCALL SEND_D MOV A,20H ADD A,#30H LCALL SEND_D RET;*; 運行高度;*GAODU: MOV A,2BH ADD A,#01 DA A MOV 2BH,A CJNE A,#01H,X4 MOV 2BH,#00 MOV A,2CH ADD A,#07 DA A MOV 2CH,A CJNE A,#

36、100H,X4 MOV 2CH,#00X4: RET;*; 儲存高度;*DISP1: MOV R1,#40H MOV A,2BH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 MOV A,2CH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 MOV A,#8EH LCALL SEND_I MOV A,#20H LCALL SEND_D MOV A,43H ADD A,#30H LCALL SEND_D MOV A,42H ADD A,#30H LCALL SEND_D RET;*;DS1

37、8B20子程序;*DS18B20: LCALL RST18B20 MOV A,#11001100H LCALL WRITE MOV A,#01000100H LCALL WRITE RET;*;DS18B20復(fù)位子程序;*RST18B20:CLR DI MOV R2,#240 DJNZ R2,$ SETB DI MOV R2,#20 DJNZ R2,$ CLR C ORL C,DI JNC S2 MOV R6,#120S1: CLR C ORL C,DI JNC S2 DJNZ R6,S1 JMP RST18B20S2: MOV R2,#250S3: DJNZ R2,S3 SETB DI RE

溫馨提示

  • 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

提交評論