基于單片機(jī)的自動(dòng)尋跡小車(chē)論文_第1頁(yè)
基于單片機(jī)的自動(dòng)尋跡小車(chē)論文_第2頁(yè)
基于單片機(jī)的自動(dòng)尋跡小車(chē)論文_第3頁(yè)
基于單片機(jī)的自動(dòng)尋跡小車(chē)論文_第4頁(yè)
基于單片機(jī)的自動(dòng)尋跡小車(chē)論文_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . . 自動(dòng)尋跡小車(chē)摘要AT89S52單片機(jī)是一款八位單片機(jī),他的易用性和多功能性受到了廣大使用者的好評(píng)。這里介紹的是如何用AT89S52單片機(jī)來(lái)實(shí)現(xiàn)電動(dòng)小車(chē)的自動(dòng)尋跡。本系統(tǒng)以設(shè)計(jì)題目的要求為目的,采用AT89S52單片機(jī)為控制核心,利用電動(dòng)小車(chē)前面的紅外線傳感器檢測(cè)道路上的軌跡,將路面信息轉(zhuǎn)送給AT89S52,AT89S52根據(jù)信息作出反應(yīng)控制電動(dòng)機(jī)轉(zhuǎn)動(dòng),從而控制電動(dòng)小汽車(chē)按照路上的軌跡行駛。整個(gè)系統(tǒng)的電路結(jié)構(gòu)簡(jiǎn)單,可靠性能高。實(shí)驗(yàn)測(cè)試結(jié)果滿(mǎn)足要求,本文著重介紹了該系統(tǒng)的硬件設(shè)計(jì)方法與測(cè)試結(jié)果分析。本小車(chē)采用的技術(shù)主要有傳感器的有效應(yīng)用和AT89S52芯片的使用。有很多功能可以繼續(xù)

2、擴(kuò)展,值得就一步學(xué)習(xí)和研究。關(guān)鍵詞: AT89S52 紅外線傳感器 直流電機(jī) AbstractAT89S52 SCM is a section 8 microcontroller, his usability and multi-functional received overwhelming support from user's praise. Here introduces AT89S52 SCM is how to use electric car to realize the automatic tracing. This system to design the topic

3、 request, the purpose for AT89S52 SCM as control core, using electric car in front of the infrared sensor detects the trajectory path, pavement message to someone AT89S52 devices, react AT89S52 according to the information which can control the rotation control motor electric car according to the ro

4、ad track road. The whole system circuit structure simple, reliable performance is high. The test results meet the requirements; the paper introduces the hardware design method and the analysis of the testing result. This car the technique to be used mainly sensor effective application and the use of

5、 AT89S52 chip. There are many function can continue to expand, worth just step for study and research.Keywords: AT89S52, light electricity detector,direct-current motor目錄摘要IAbstractII目錄III前言11 方案設(shè)計(jì)與論證21.1電動(dòng)小車(chē)模塊21.1.1轉(zhuǎn)向和動(dòng)力21.1.2 電動(dòng)機(jī)模塊31.1.3調(diào)速系統(tǒng)31.1.4 電機(jī)驅(qū)動(dòng)模塊41.2 控制模塊51.3 傳感器模塊51.4 電源模塊62 硬件設(shè)計(jì)72.1 主要元器

6、件的介紹72.1.1 電機(jī)驅(qū)動(dòng)芯片L911072.1.2 AT89S5292.1.3 紅外線傳感器172.2 模塊介紹182.2.1車(chē)頭傳感器模塊182.2.2 電動(dòng)小車(chē)模塊192.2.3 控制模塊192.3 整體方案203 軟件設(shè)計(jì)223.1 程序設(shè)計(jì)223.1.1 程序的模塊化設(shè)計(jì)223.1.2 部分程序設(shè)計(jì)233.2 利用proteus 進(jìn)行軟件仿真263.3 制作電路圖和PCB板圖274總結(jié)31致33參考文獻(xiàn)34附錄1 C語(yǔ)言程序35附錄2 電路圖和PCB板圖39附錄3小車(chē)實(shí)物圖4241 / 45前言隨著汽車(chē)工業(yè)的迅速發(fā)展,關(guān)于汽車(chē)的研究也就越來(lái)越受人關(guān)注。全國(guó)電子大賽和省電子大賽幾乎

7、每次都有智能小車(chē)這方面的題目,全國(guó)各高校也都很重視該題目的研究。可見(jiàn)其研究意義很大。本設(shè)計(jì)就是在這樣的背景下提出的。設(shè)計(jì)一款智能電動(dòng)小車(chē),智能電動(dòng)小車(chē)應(yīng)該具有自動(dòng)尋找軌跡的功能。根據(jù)題目的要求,本設(shè)計(jì)以AT89S52為控制核心,在現(xiàn)有電動(dòng)小車(chē)的基礎(chǔ)上,加裝傳感器,實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制。本系統(tǒng)控制靈活、可靠,精度高,滿(mǎn)足各項(xiàng)要求。利用紅外線傳感器檢測(cè)地上的特定軌跡,將數(shù)據(jù)傳給AT89S52,經(jīng)過(guò)AT89S52分析后做出反應(yīng)控制電動(dòng)機(jī)的運(yùn)行使小車(chē)按照特定軌跡行駛。AT89S52是一款八位單片機(jī),它的易用性和多功能性受到了廣大使用者的好評(píng)。它是第三代單片機(jī)的代表,其最主要的技術(shù)特點(diǎn)是向

8、外部接口電路擴(kuò)展,以完善控制功能。外部可接其他功能單元如A/DPWMPCAWDT計(jì)數(shù)器的捕獲/比較邏輯等。在總線方面最重要的進(jìn)展是為單片機(jī)配置了芯片間的串行總線,為單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)提供了更加靈活的方式。新一代單片機(jī)為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。 本設(shè)計(jì)采用的AT89S52采用CHOMS工藝,功耗很低,可用于很多小型設(shè)備中。該設(shè)計(jì)具有實(shí)際意義,稍作修改就可以應(yīng)用于考古、機(jī)器人、醫(yī)療器械等許多方面。尤其是在足球機(jī)器人研究方面具有很好的發(fā)展前景;在考古方面可用超聲波傳感器進(jìn)行檢測(cè)。所以本設(shè)計(jì)與實(shí)際相結(jié)合,現(xiàn)實(shí)意義很強(qiáng)。1 方案設(shè)計(jì)與論證根據(jù)題目的要求,確定如下

9、方案:在現(xiàn)有電動(dòng)小車(chē)的基礎(chǔ)上加控制器,在小車(chē)前部加裝傳感器,在路面貼上特殊軌跡。由外加傳感器對(duì)路面進(jìn)行實(shí)時(shí)測(cè)量,并將測(cè)量數(shù)據(jù)傳送至控制器,再由主控制器根據(jù)所檢測(cè)的數(shù)據(jù)對(duì)電動(dòng)小車(chē)行動(dòng)進(jìn)行控制,使小車(chē)跟隨路面特殊軌跡行駛,以實(shí)現(xiàn)電動(dòng)小車(chē)的自動(dòng)尋跡。自動(dòng)尋跡小車(chē)原理圖1.1所示:電動(dòng)小車(chē)控制器傳感器控制信號(hào)路面數(shù)據(jù)圖1.1自動(dòng)尋跡小車(chē)原理圖1.1電動(dòng)小車(chē)模塊1.1.1轉(zhuǎn)向和動(dòng)力方案一:轉(zhuǎn)向和動(dòng)力分開(kāi)的電動(dòng)小車(chē)。轉(zhuǎn)向和動(dòng)力分開(kāi)的電動(dòng)小車(chē)是將輪胎分為兩組,一組與電動(dòng)機(jī)相連輸出動(dòng)力控制小車(chē)的行駛;另外一組控制小車(chē)的方向。(兩組輪胎的前后順序可調(diào),其換影響不大。轉(zhuǎn)向輪可使用單輪。)方案一需電動(dòng)機(jī)和一個(gè)轉(zhuǎn)向器

10、。由主控制器分別進(jìn)行控制,器件和控制程序較多。方案二:轉(zhuǎn)向和動(dòng)力結(jié)合的電動(dòng)小車(chē)。轉(zhuǎn)向和動(dòng)力結(jié)合的電動(dòng)小車(chē)是使用兩個(gè)獨(dú)立的電動(dòng)機(jī)各自帶動(dòng)一個(gè)輪胎位于兩側(cè),通過(guò)兩個(gè)輪胎速度的改變實(shí)現(xiàn)小車(chē)的轉(zhuǎn)向??刂扑贸绦蜉^少,控制器控制起來(lái)簡(jiǎn)單(這種轉(zhuǎn)向方式類(lèi)似于坦克的轉(zhuǎn)向方式。)為了小車(chē)的平衡再裝上保持平衡的輪子。綜上分析,本設(shè)計(jì)使用方案二。1.1.2 電動(dòng)機(jī)模塊為了實(shí)現(xiàn)電動(dòng)小車(chē)對(duì)行走路徑的準(zhǔn)確定位和精確測(cè)量,有以下兩種方案:方案一:采用直流電機(jī)。直流電機(jī)轉(zhuǎn)動(dòng)力矩大,響應(yīng)快速,體積小,重量輕,較大的起動(dòng)轉(zhuǎn)矩使其有從零轉(zhuǎn)速至額定轉(zhuǎn)速具備可提供額定轉(zhuǎn)矩的性能??捎米兯冽X輪改變其速度來(lái)達(dá)到本系統(tǒng)要求。價(jià)格較低。方案

11、二:采用步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的精密執(zhí)行原件??刂品奖?,體積小,靈活性和可靠性高,具有瞬時(shí)啟動(dòng)和急速停止的優(yōu)越性,比較適合本系統(tǒng)控制精度高的特點(diǎn)。價(jià)格較高。從成本分析,本設(shè)計(jì)用方案一。(經(jīng)濟(jì)條件好時(shí)方案二最好。)1.1.3調(diào)速系統(tǒng)方案一:旋轉(zhuǎn)變流系統(tǒng)。旋轉(zhuǎn)變流系統(tǒng)由交流發(fā)電機(jī)拖動(dòng)直流電動(dòng)機(jī)實(shí)現(xiàn)變流,由發(fā)電機(jī)給需要調(diào)速的直流電動(dòng)機(jī)供電,調(diào)節(jié)發(fā)電機(jī)的勵(lì)磁電流即可改變其輸出電壓,從而調(diào)節(jié)電動(dòng)機(jī)的轉(zhuǎn)速。改變勵(lì)磁電流的方向則輸出電壓的極性和電動(dòng)機(jī)的轉(zhuǎn)向都隨著改變,所以旋轉(zhuǎn)變流系統(tǒng)的可逆運(yùn)行是很容易實(shí)現(xiàn)的。該系統(tǒng)需要旋轉(zhuǎn)變流機(jī)組,至少包含兩臺(tái)與調(diào)速電動(dòng)機(jī)容量相當(dāng)?shù)男D(zhuǎn)電機(jī)

12、,還要一臺(tái)勵(lì)磁發(fā)電機(jī),設(shè)備多、體積大、費(fèi)用高、效率低、維護(hù)不方便等缺點(diǎn)。且技術(shù)落后,因此擱置不用。方案二:靜止可控整流器。簡(jiǎn)稱(chēng)V-M系統(tǒng)。V-M系統(tǒng)是當(dāng)今直流調(diào)速系統(tǒng)的主要形式。它可以是單相、三相或更多相數(shù),半波、全波、半控、全控等類(lèi)型,可實(shí)現(xiàn)平滑調(diào)速。V-M系統(tǒng)的缺點(diǎn)是晶閘管的單向?qū)щ娦?,它不允許電流反向,給系統(tǒng)的可逆運(yùn)行造成困難。它的另一個(gè)缺點(diǎn)是運(yùn)行條件要求高,維護(hù)運(yùn)行麻煩。最后,當(dāng)系統(tǒng)處于低速運(yùn)行時(shí),系統(tǒng)的功率因數(shù)很低,并產(chǎn)生較大的諧波電流危害附近的用電設(shè)備。方案三:脈寬調(diào)速系統(tǒng)。采用晶閘管的直流斬波器基本原理與整流電路不同的是,在這里晶閘管不受相位控制,而是工作在開(kāi)關(guān)狀態(tài)。當(dāng)晶閘管被觸

13、發(fā)導(dǎo)通時(shí),電源電壓加到電動(dòng)機(jī)上,當(dāng)晶閘管關(guān)斷時(shí),直流電源與電動(dòng)機(jī)斷開(kāi),電動(dòng)機(jī)經(jīng)二極管續(xù)流,兩端電壓接近于零。脈沖寬度調(diào)制(Pulse Width Modulation),簡(jiǎn)稱(chēng)PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時(shí)間,即通過(guò)改變脈沖寬度來(lái)進(jìn)行直流調(diào)速??稍谛羞M(jìn)間變速,直道高速,彎道低速。方案四:調(diào)速齒輪組調(diào)速。采用齒輪與齒輪的組合,利用齒輪組半徑比來(lái)調(diào)速,能達(dá)到本設(shè)計(jì)的最低要求以低速勻速前進(jìn)。價(jià)格便宜,實(shí)現(xiàn)起來(lái)簡(jiǎn)單。與V-M系統(tǒng)相比,PWM調(diào)速系統(tǒng)有下列優(yōu)點(diǎn):(1)由于PWM調(diào)速系統(tǒng)的開(kāi)關(guān)頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動(dòng)很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運(yùn)行平穩(wěn),調(diào)速

14、圍較寬,可達(dá)1:10000左右。由于電流波形比V-M系統(tǒng)好,在一樣的平均電流下,電動(dòng)機(jī)的損耗和發(fā)熱都比較小。(2)同樣由于開(kāi)關(guān)頻率高,若與快速響應(yīng)的電機(jī)相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應(yīng)性能好,動(dòng)態(tài)抗擾能力強(qiáng)。(3)由于電力電子器件只工作在開(kāi)關(guān)狀態(tài),主電路損耗較小,裝置效率較高。根據(jù)以上綜合比較,以與本設(shè)計(jì)中受控電機(jī)的容量和直流電機(jī)調(diào)速的發(fā)展方向,本設(shè)計(jì)采用了H型單極型可逆PWM變換器進(jìn)行調(diào)速。脈寬調(diào)速系統(tǒng)的主電路采用脈寬調(diào)制式變換器,簡(jiǎn)稱(chēng)PWM變換器。脈寬調(diào)速也可通過(guò)單片機(jī)控制繼電器的閉合來(lái)實(shí)現(xiàn),但是驅(qū)動(dòng)能力有限。為順利實(shí)現(xiàn)電動(dòng)小汽車(chē)的前行與倒車(chē),本設(shè)計(jì)采用了可逆PWM變換器??赡?/p>

15、PWM變換器主電路的結(jié)構(gòu)式有H型、T型等類(lèi)型。我們?cè)谠O(shè)計(jì)中采用了常用的雙極式H型變換器,它是由4個(gè)三極電力晶體管和4個(gè)續(xù)流二極管組成的橋式電路。綜上,考慮到本設(shè)計(jì)重在尋跡,本設(shè)計(jì)使用價(jià)格便宜,簡(jiǎn)單的方案四。(經(jīng)濟(jì)條件好時(shí)方案三最好。)1.1.4 電機(jī)驅(qū)動(dòng)模塊方案一:采用集成芯片L9110驅(qū)動(dòng)直流電機(jī)。L9110是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專(zhuān)用集成電路,將分立電路集成在單片IC之中,使外圍器件成本降低,整機(jī)可靠性提高。該芯片有兩個(gè)TTL/COMS兼容電平的輸入,具有良好的抗干擾性;兩個(gè)輸出端能直接驅(qū)動(dòng)電機(jī)的正反向運(yùn)動(dòng),它具有較大的電流驅(qū)動(dòng)能力,每個(gè)通道能通過(guò)750800mA的持續(xù)

16、電流,峰值電流能力可達(dá)1.52.0;同時(shí)它具有較低的輸出飽和壓降;置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,使它在驅(qū)動(dòng)繼電器、直流電機(jī)、步進(jìn)電機(jī)、開(kāi)關(guān)功率管的使用上安全可靠。L9110被廣泛用于玩具汽車(chē)電機(jī)驅(qū)動(dòng)、步進(jìn)電機(jī)驅(qū)動(dòng)和開(kāi)關(guān)功率管等電路上。方案二:用功率管構(gòu)成驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)電機(jī)。性能可靠,具有自動(dòng)保護(hù)功能,但結(jié)構(gòu)較復(fù)雜多用于交流。綜上分析,本設(shè)計(jì)選擇方案一。1.2 控制模塊方案一:采用FPGA作為系統(tǒng)的主控制器。FPGA可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大集,成度高,體積小,穩(wěn)定性好,IO口資源豐富,易于進(jìn)行功能擴(kuò)展,處理速度快,但是適用于大規(guī)模實(shí)時(shí)性要求較高的系統(tǒng),價(jià)格高,編程實(shí)現(xiàn)難度

17、大。本系統(tǒng)只需要完成信號(hào)檢測(cè)和電機(jī)驅(qū)動(dòng)的控制,邏輯功能簡(jiǎn)單,對(duì)控制器的數(shù)據(jù)處理能力要求不高,所以不選擇此方案。方案二:采用嵌入式系統(tǒng)作為主控制器。嵌入式系統(tǒng)工作頻率較高,速度較快,控制能力很強(qiáng),也有較強(qiáng)的數(shù)據(jù)處理能力。但同樣價(jià)格較高,編程實(shí)現(xiàn)難度大。方案三:采用AT89S52單片機(jī)作為主控制器。AT89S52是一款低功耗,高性能的8位單片機(jī),片含有8KB的Flash片程序存儲(chǔ)器,256 Bytes的RAM,32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí),2層中斷嵌套中斷等。價(jià)格便宜,使用方便。編程實(shí)現(xiàn)難度低,適合用來(lái)實(shí)現(xiàn)系統(tǒng)的控制功能。綜上分析,本設(shè)計(jì)使用方案三。1.3 傳感器模塊方案一

18、:采用光敏電阻組成光敏傳感器。光敏電阻原理簡(jiǎn)單,使用方便,價(jià)格低廉,但受光照強(qiáng)度影響很大,可靠性不高。方案二:采用角度傳感器。實(shí)用角度傳感器來(lái)測(cè)量車(chē)體水平方向和豎直方向的角度,感測(cè)到的傾角信號(hào)經(jīng)編碼后傳感給單片機(jī),由單片機(jī)控制電動(dòng)機(jī)的運(yùn)行。角度傳感器靈敏度合適,響應(yīng)速度好,但使用復(fù)雜,價(jià)格高昂,且不易購(gòu)買(mǎi)。方案三:采用光電傳感器。光電傳感器原理簡(jiǎn)單,實(shí)現(xiàn)方便,價(jià)格低廉,可集發(fā)射器和接收器于一體。使用這類(lèi)光電傳感器電路簡(jiǎn)單,工作性能穩(wěn)定,能完成需要的信號(hào)檢測(cè)功能。綜上分析,本設(shè)計(jì)選擇方案三。1.4 電源模塊方案一:電腦USB串口供電。能直接為單片機(jī)提供穩(wěn)定的+5V直流電壓。USB串口線又容易得到

19、。需要很長(zhǎng)的線,而且要有交流電和電腦配合。方案二:用4節(jié)五號(hào)電池串聯(lián)6V直流電源。在不超過(guò)單片機(jī)工作電壓圍的情況下,又能驅(qū)動(dòng)直流電機(jī)。且這個(gè)電源結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,容易得到。綜上所述,本設(shè)計(jì)選擇方案二。2 硬件設(shè)計(jì)本設(shè)計(jì)硬件由一下三個(gè)模塊組成:1.以驅(qū)動(dòng)芯片L9110為主的電動(dòng)小車(chē)模塊。2.以AT89S52為控制器的控制器模塊。3.以紅外線傳感器為主的傳感器模塊。整個(gè)設(shè)計(jì)由傳感器模塊向控制模塊提供路面情況,控制模塊根據(jù)情況控制電動(dòng)小車(chē)移動(dòng),三個(gè)模塊相互合達(dá)到設(shè)計(jì)要求 。2.1主要元器件的介紹2.1.1 電機(jī)驅(qū)動(dòng)芯片L9110L9110是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專(zhuān)用集成電路,將

20、分立電路集成在單片IC之中,使外圍器件成本降低,整機(jī)可靠性提高。該芯片有兩個(gè)TTL/COMS兼容電平的輸入,具有良好的抗干擾性;兩個(gè)輸出端能直接驅(qū)動(dòng)電機(jī)的正反向運(yùn)動(dòng),它具有較大的電流驅(qū)動(dòng)能力,每個(gè)通道能通過(guò)750800mA的持續(xù)電流,峰值電流能力可達(dá)1.52.0;同時(shí)它具有較低的輸出飽和壓降;置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,使它在驅(qū)動(dòng)繼電器、直流電機(jī)、步進(jìn)電機(jī)、開(kāi)關(guān)功率管的使用上安全可靠。L9110被廣泛用于玩具汽車(chē)電機(jī)驅(qū)動(dòng)、步進(jìn)電機(jī)驅(qū)動(dòng)和開(kāi)關(guān)功率管等電路上。其特點(diǎn)有,低靜態(tài)工作電流;寬電壓電源圍2.5V12V;每個(gè)通道具有800mA連續(xù)輸出能力;較低的飽和壓降,TTL/COMS輸

21、出電平兼容,可直接連CPU;輸出置鉗位二極管;適用于感性負(fù)載,控制驅(qū)動(dòng)集成于單片IC中;具備管腳高壓保護(hù)功能;工作溫度-2080L9110。管腳定義:1 OA:A路輸出腳。2 VCC:電源電壓。3 VCC:電源電壓。4 OB:B腳輸出管腳。5 GND:地線。6 IA:A路輸入管腳。7 IB:B路輸入管腳。8 GND:地線。其管腳圖如圖2.1所示。其應(yīng)用電路如圖2.2 所示。管腳波形圖如圖2.3所示。T=25時(shí)的參數(shù)如表2.1。電器特性標(biāo)如表2.2。圖2.1 L9110管腳圖圖2.2 L9110的應(yīng)用電路圖標(biāo)2.1 T=25時(shí)的參數(shù)表符號(hào)參數(shù)最小典型最大單位VCCmax 電源電壓2.2512V

22、Iout max 輸出電流8001000mV VH in 輸入高電平2.2512V VL in 輸出低電平00.50.7V PD max 允許電源損耗800mW Topr 操作溫度-302585表2.2 T=25 Vcc=5V時(shí)電器特性標(biāo) 圍符號(hào)參數(shù)最小典型最大單位IDD靜態(tài)電流0.12uAVo1輸出飽和壓降Io=500mA11.15VVo2輸出飽和壓降Io=200mA0.750.85VI in操作電流100200uAI out持續(xù)輸出電流750800850mAI max電流峰值15002000mA圖2.3管腳波形圖2.1.2AT89S52AT89S52單片機(jī)由以下功能部件組成:微處理器、數(shù)據(jù)

23、存儲(chǔ)器、程序存儲(chǔ)器、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)與特殊功能寄存器。它們都是通過(guò)片單一總線連接而成,對(duì)各種功能部件的控制是采用特殊功能寄存器的集中控制方式。1、微處理器:該單片機(jī)中有一個(gè)8位的微處理器,與通用的微處理器基本一樣,同樣包括了運(yùn)算器和控制器兩大部分,只是增加了面向控制的處理功能,不僅可處理數(shù)據(jù),還可以進(jìn)行位變量的處理。2、數(shù)據(jù)存儲(chǔ)器:片為256 Bytes RAM,片外最多可外擴(kuò)至64K字節(jié),用來(lái)存儲(chǔ)程序在運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等,所以稱(chēng)為數(shù)據(jù)存儲(chǔ)器。3、程序存儲(chǔ)器:由于受集成度限制,片有8KB Flash存儲(chǔ)器,如果片的只讀存儲(chǔ)

24、器的容量不夠,則需用擴(kuò)展片外的只讀存儲(chǔ)器,片外最多可外擴(kuò)至64K字節(jié)。4、中斷系統(tǒng):具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。5、定時(shí)器/計(jì)數(shù)器:片有2個(gè)16位的定時(shí)器/計(jì)數(shù)器, 具有四種工作方式。6、串行口:1個(gè)全雙工的串行口,具有四種工作方式??捎脕?lái)進(jìn)行串行通訊,擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣。7、輸入/輸出(I/O)口:P1口、P2口、P3口、P4口為4個(gè)并行8位I/O口。8、特殊功能寄存器:共有21個(gè),用于對(duì)片的個(gè)功能的部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)具有特殊功能的RAM區(qū)。下面對(duì)它的進(jìn)行介紹:P0 口:P

25、0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1 口是一個(gè)具有部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.1

26、分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。引腳號(hào)第二功能P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)P2 口:P2 口是一個(gè)具有部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外

27、部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3 口:P3 口是一個(gè)具有部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(I

28、IL)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。端口引腳第二功能P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INTO(外中斷0) P3.3 INT1(外中斷1) P3.4 TO(定時(shí)/計(jì)數(shù)器0) P3.5 T1(定時(shí)/計(jì)數(shù)器1) P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) 此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)

29、器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存

30、儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器和部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。并不是所有的地址都被定義了

31、。片上沒(méi)有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù);寫(xiě)入的數(shù)據(jù)將會(huì)無(wú)效。用戶(hù)不應(yīng)該給這些未定義的地址寫(xiě)入數(shù)據(jù)“1”。由于這些寄存器在將來(lái)可能被賦予新的功能,復(fù)位后,這些位都為“0”。定時(shí)器 2 寄存器:寄存器T2CON 和T2MOD 包含定時(shí)器2 的控制位和狀態(tài)位(如表2和表3所示),寄存器對(duì)RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動(dòng)重載寄存器。中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在IE中設(shè)置。雙數(shù)據(jù)指針寄存器:為了更有利于訪問(wèn)部和外部數(shù)據(jù)存儲(chǔ)器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器

32、AUXR1中DPS0 選擇DP0;DPS=1 選擇DP1。用戶(hù)應(yīng)該在訪問(wèn)數(shù)據(jù)指針寄存器前先初始化DPS至合理的值。輔助寄存器 AUXR 地址:8EH 復(fù)位值:XXX00XX0B不可位尋址預(yù)留擴(kuò)展用DISALE ALE使能標(biāo)志位:DISALE 操作方式:為0時(shí) ALE 以1/6晶振頻率輸出信號(hào)。為1時(shí) ALE 只有在執(zhí)行MOVX 或MOVC指令時(shí)激活。DISRTO 復(fù)位輸出標(biāo)志位:為0時(shí)看門(mén)狗(WDT)定時(shí)結(jié)束,Reset 輸出高電平。為1時(shí)Reset 只有輸入。WDIDLE 空閑模式下WDT 使能標(biāo)志位:為0時(shí)空閑模式下,WDT繼續(xù)計(jì)數(shù)。為1時(shí)空閑模式下,WDT停止計(jì)數(shù)。掉電標(biāo)志位:掉電標(biāo)志位

33、(POF)位于特殊寄存器PCON的第四位(PCON.4)。上電期間POF置“1”。POF可以軟件控制使用與否,但不受復(fù)位影響。輔助寄存器1:AUXR1地址A2H 復(fù)位值:XXXXXXX0B不可位尋址。預(yù)留擴(kuò)展用DPS 數(shù)據(jù)指針選擇位DPS:為0時(shí)選擇DPTR寄存器DP0L和DP0H1,為1時(shí)選擇DPTR寄存器DP1L和DP1H。存儲(chǔ)器結(jié)構(gòu)MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址。程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開(kāi)始。對(duì)于 89S52,如果EA 接VCC,程序讀寫(xiě)先從部存儲(chǔ)器(地址為0000H1FFFH)開(kāi)始,接著從外部尋址,

34、尋址地址為:2000HFFFFH。數(shù)據(jù)存儲(chǔ)器:AT89S52 有256 字節(jié)片數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說(shuō)高128字節(jié)與特殊功能寄存器有一樣的地址,而物理上是分開(kāi)的。當(dāng)一條指令訪問(wèn)高于7FH 的地址時(shí),尋址方式?jīng)Q定CPU 訪問(wèn)高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問(wèn)特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問(wèn)0A0H(P2口)存儲(chǔ)單元MOV 0A0H , #data使用間接尋址方式訪問(wèn)高128 字節(jié)RAM。例如,下面的間接尋址方式中,R0 容為0A0H,訪問(wèn)的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0

35、, #data堆棧操作也是簡(jiǎn)介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g??撮T(mén)狗定時(shí)器WDT是一種需要軟件控制的復(fù)位方式。WDT 由13位計(jì)數(shù)器和特殊功能寄存器中的看門(mén)狗定時(shí)器復(fù)位存儲(chǔ)器(WDTRST)構(gòu)成。WDT 在默認(rèn)情況下無(wú)法工作;為了激活WDT,用戶(hù)必須往WDTRST 寄存器(地址:0A6H)中依次寫(xiě)入01EH 和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個(gè)機(jī)器周期都會(huì)增加。WDT計(jì)時(shí)周期依賴(lài)于外部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或WDT溢出復(fù)位),沒(méi)有辦法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動(dòng)RSR引腳一個(gè)高電平輸出。WDT的使用為了激活WDT,用戶(hù)必須向WDTRST寄存

36、器(地址為0A6H的SFR)依次寫(xiě)入0E1H和0E1H。當(dāng)WDT激活后,用戶(hù)必須向WDTRST寫(xiě)入01EH和0E1H喂狗來(lái)避免WDT溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時(shí),13 位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正常工作、WDT激活后,每一個(gè)機(jī)器周期WDT 都會(huì)增加。為了復(fù)位WDT,用戶(hù)必須向WDTRST 寫(xiě)入01EH 和0E1H(WDTRST 是只讀寄存器)。WDT 計(jì)數(shù)器不能讀或?qū)?。?dāng)WDT 計(jì)數(shù)器溢出時(shí),將給RST 引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出,這個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時(shí)間周期性寫(xiě)入那部分代碼,以避免WDT

37、復(fù)位。掉電和空閑方式下的 WDT在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶(hù)不必喂狗。有兩種方式可以離開(kāi)掉電模式:硬件復(fù)位或通過(guò)一個(gè)激活的外部中斷。通過(guò)硬件復(fù)位退出掉電模式后,用戶(hù)就應(yīng)該給WDT 喂狗,就如同通常AT89S52 復(fù)位一樣。通過(guò)中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時(shí)候復(fù)位器件,WDT 直到中斷拉低后才開(kāi)始工作。這就意味著WDT 應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開(kāi)掉電模式最初的幾個(gè)狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位WDT。在進(jìn)入待

38、機(jī)模式前,特殊寄存器AUXR的WDIDLE位用來(lái)決定WDT是否繼續(xù)計(jì)數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下,WDIDLE0,WDT繼續(xù)計(jì)數(shù)。為了防止WDT在待機(jī)模式下復(fù)位AT89S52,用戶(hù)應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開(kāi)待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。UART在AT89S52 中,UART 的操作與AT89C51和AT89C52一樣。為了獲得更深入的關(guān)于UART 的信息,選擇“Products”,然后選擇“8051-Architech Flash Microcontroller”,再選擇“ProductOverview”即可。定時(shí)器 0 和定時(shí)器1在AT89S52 中,定時(shí)器0 和定時(shí)器1 的操作與A

39、T89C51 和AT89C52 一樣。為了獲得更深入的關(guān)于UART 的信息,選擇“Products”,然后選擇“8051-Architech Flash Microcontroller”,再選擇“ProductOverview”即可。定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表3 所示,工作模式由T2CON中的相關(guān)位選擇。定時(shí)器2 有2 個(gè)8位寄存器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2 寄存器都會(huì)加1。由于一個(gè)機(jī)器周

40、期由12 個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。捕捉方式在捕捉模式下,通過(guò)T2CON中的EXEN2來(lái)選擇兩種方式。如果EXEN2=0,定時(shí)器2時(shí)一個(gè)16位定時(shí)/計(jì)數(shù)器,溢出時(shí),對(duì)T2CON 的TF2標(biāo)志置位,TF2引起中斷。如果EXEN2=1,定時(shí)器2做一樣的操作。除上述功能外,外部輸入T2EX引腳(P1.1)1至0的下跳變也會(huì)使得TH2和TL2中的值分別捕捉到RCAP2H和RCAP2L中。除此之外,T2EX 的跳變會(huì)引起T2CON 中的EXF2 置位。像TF2 一樣,T2EX 也會(huì)引起中斷。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2 發(fā)生1 至0 的下降沿時(shí)增加1。在這種方

41、式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1 期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別10的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期保持不變。自動(dòng)重載當(dāng)定時(shí)器2 工作于16 位自動(dòng)重載模式,可對(duì)其編程實(shí)現(xiàn)向上計(jì)數(shù)或向下計(jì)數(shù)。這一功能可以通過(guò)特殊寄存器T2MOD中的DCEN(向下計(jì)數(shù)允許位)來(lái)實(shí)現(xiàn)。通過(guò)復(fù)位,DCEN 被置為0,因此,定時(shí)器2 默認(rèn)為向上計(jì)數(shù)。DCEN 設(shè)置后,定時(shí)器

42、2就可以取決于T2EX向上、向下計(jì)數(shù)。DCEN=0 時(shí),定時(shí)器2 自動(dòng)計(jì)數(shù)。通過(guò)T2CON 中的EXEN2 位可以選擇兩種方式。如果EXEN2=0,定時(shí)器2計(jì)數(shù),計(jì)到0FFFFH后置位TF2溢出標(biāo)志。計(jì)數(shù)溢出也使得定時(shí)器寄存器重新從RCAP2H 和RCAP2L 中加載16 位值。定時(shí)器工作于捕捉模式,RCAP2H和RCAP2L的值可以由軟件預(yù)設(shè)。如果EXEN2=1,計(jì)數(shù)溢出或在外部T2EX(P1.1)引腳上的1到0的下跳變都會(huì)觸發(fā)16位重載。這個(gè)跳變也置位EXF2中斷標(biāo)志位。T2EX 上的一個(gè)邏輯0 使得定時(shí)器2 向下計(jì)數(shù)。當(dāng)TH2 和TL2 分別等于RCAP2H 和RCAP2L中的值的時(shí)候,

43、計(jì)數(shù)器下溢。計(jì)數(shù)器下溢,置位TF2,并將0FFFFH加載到定時(shí)器存儲(chǔ)器中。置位DCEN,允許定時(shí)器2向上或向下計(jì)數(shù)。在這種模式下,T2EX引腳控制著計(jì)數(shù)的方向。T2EX上的一個(gè)邏輯1使得定時(shí)器2向上計(jì)數(shù)。定時(shí)器計(jì)到0FFFFH溢出,并置位TF2。定時(shí)器的溢出也使得RCAP2H和RCAP2L中的16位值分別加載到定時(shí)器存儲(chǔ)器TH2和TL2中。定時(shí)器2上溢或下溢,外部中斷標(biāo)志位EXF2 被鎖死。在這種工作模式下,EXF2不能觸發(fā)中斷。T2MOD 地址:0C9H 復(fù)位值:XXXXXX00B不可位尋址。中斷AT89S52 有6個(gè)中斷源:兩個(gè)外部中斷(INT0 和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、

44、2)和一個(gè)串行中斷。這些中斷如圖10所示每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE 中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。如表5所示,IE.6位是不可用的。對(duì)于AT89S52,IE.5位也是不能用的。用戶(hù)軟件不應(yīng)給這些位寫(xiě)1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0 和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位

45、。它們的值一直到下一個(gè)周期被電路捕捉下來(lái)。然而,定時(shí)器2 的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來(lái)。2.1.3紅外線傳感器紅外線傳感器采用反射接收原理。一個(gè)紅外線傳感器配置了一個(gè)紅外線發(fā)接受器、一個(gè)紅外線接受器與其上拉電阻。其應(yīng)用電路如圖2.4所示。紅外線發(fā)射器通電后不斷會(huì)發(fā)射一定強(qiáng)度的紅外線照射物體。紅外線接收器在接受到一定強(qiáng)度的紅外線會(huì)后導(dǎo)通。如圖通過(guò)在紅外線的正極接出一個(gè)信號(hào)來(lái)觀察紅外線接收器是否導(dǎo)通。當(dāng)紅外線接收器導(dǎo)通時(shí),輸出信號(hào)為0;反之則為1。紅外線在不同顏色的物體上反射程度是不同的,當(dāng)紅外線傳感器在黑色物體時(shí),黑色物體吸收大量紅外線,反射少

46、量紅外線,紅外線接收其不足以導(dǎo)通,輸出信號(hào)為1。當(dāng)紅外線傳感器在白色物體上時(shí),白色物體吸收的紅外線少,反射的紅外線少,紅外線接收器導(dǎo)通,輸出信號(hào)為0。因此本設(shè)計(jì)采用紅外線傳感器模塊與有黑線的路面組合使用。圖2.4紅外線傳感器的應(yīng)用電路2.2 模塊介紹2.2.1車(chē)頭傳感器模塊圖2.5 車(chē)頭傳感器模塊本系統(tǒng)共設(shè)計(jì)三個(gè)紅外線傳感器固定在底盤(pán)前沿,貼近地面,分別放置在電動(dòng)車(chē)車(chē)頭的正前方、左下方和右下方兩。正常行駛時(shí),發(fā)射管發(fā)射紅外光照射地面,光線經(jīng)白紙反射后被接收管接收,輸出高電平信號(hào);電動(dòng)車(chē)經(jīng)過(guò)黑線時(shí),發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號(hào)。正前方的傳感器用于檢測(cè)障

47、礙物。應(yīng)用圖如圖2.5所示。2.2.2 電動(dòng)小車(chē)模塊電動(dòng)小車(chē)由兩個(gè)直流電機(jī)與其驅(qū)動(dòng)芯片組成。一左一右位于小車(chē)前端兩邊。電機(jī)通過(guò)齒輪組帶動(dòng)輪胎。后端是用于平衡的輪胎。小車(chē)電動(dòng)機(jī)模塊如圖2.6所示圖2.6 電動(dòng)小車(chē)模塊2.2.3 控制模塊1、時(shí)鐘電路AT89S52雖然有部振蕩電路,但要形成時(shí)鐘,必須外部附加電路。AT89S52單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種。部時(shí)鐘方式和外部時(shí)鐘方式。本設(shè)計(jì)采用部時(shí)鐘方式,利用芯片部的振蕩電路,在XTAL1、XTAL2引腳上外接定時(shí)元件,部的振蕩電路便產(chǎn)生自激振蕩。本設(shè)計(jì)采用最常用的部時(shí)鐘方式,即用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHZ到12MHZ之

48、間選擇。電容值無(wú)嚴(yán)格要求,CX1、CX2可在20pF到100pF之間取值。所以本設(shè)計(jì)中,振蕩晶體選擇11.0592MHZ,電容選擇30pF。2、復(fù)位電路AT89S52的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位引腳RST通過(guò)在每個(gè)機(jī)器周期的對(duì)復(fù)位電路采樣一次,然后才能得到部復(fù)位操作所需要的信號(hào)。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要VCC的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。時(shí)鐘頻率用11.0592MHZ時(shí)C取10uF,R取10K。本設(shè)計(jì)就是用就是最簡(jiǎn)單的上電復(fù)位??刂破髂K如圖2.7所示。圖2.7

49、控制器模塊2.3 整體方案小車(chē)的尋跡原理是當(dāng)左側(cè)傳感器在黑線上時(shí),傳感器輸出高電平,在白色地板上時(shí)輸出低電平。電平信號(hào)進(jìn)入單片機(jī)P3.5口,同理右側(cè)傳感器將電平信號(hào)傳送到單片機(jī)P3.7口。單片機(jī)通過(guò)P0.0和P0.1口控制左電機(jī)組,通過(guò)P0.2和P0.3口控制右電機(jī)組。當(dāng)正前方傳感器檢測(cè)出小車(chē)前方有物體阻擋時(shí),正前方傳感器輸出低電平信號(hào)到單片機(jī)的P3.6口,單片機(jī)控制小車(chē)行動(dòng)。整體硬件示意圖如圖2.8所示。當(dāng)左右傳感器都在黑線上時(shí),單片機(jī)控制左右電機(jī)同時(shí)一同速度正向轉(zhuǎn)動(dòng),小車(chē)向前行駛。當(dāng)左側(cè)傳感器在黑線外,右側(cè)傳感器在黑線上,單片機(jī)控制右側(cè)的電機(jī)停止(或反向轉(zhuǎn)動(dòng)),左側(cè)的電機(jī)正向轉(zhuǎn)動(dòng)(或停止)

50、來(lái)控制小車(chē)向右轉(zhuǎn)。當(dāng)右側(cè)傳感器在黑線外,左側(cè)傳感器在黑線上,單片機(jī)控制左側(cè)的電機(jī)停止(或反向轉(zhuǎn)動(dòng)),右側(cè)的電機(jī)正向轉(zhuǎn)動(dòng)(或停止)來(lái)控制小車(chē)向左轉(zhuǎn)。從而來(lái)實(shí)現(xiàn)小車(chē)的自動(dòng)尋跡。當(dāng)正前方的有物體阻擋時(shí),單片機(jī)控制小車(chē)停下來(lái)。圖2.8 小車(chē)整體示意圖3 軟件設(shè)計(jì)3.1程序設(shè)計(jì)程序要的任務(wù)是,讓單片機(jī)查詢(xún)傳感器模塊發(fā)出的路面信號(hào),根據(jù)信號(hào)作出反應(yīng),控制電動(dòng)機(jī)工作實(shí)現(xiàn)自動(dòng)尋跡。其程序流程圖3.1所示。初始化前方是否有障礙物是否檢測(cè)到黑線是否偏離黑線行駛停 車(chē)停 車(chē)NN轉(zhuǎn)向子程序· NYYYN圖3.1 程序流程圖3.1.1 程序的模塊化設(shè)計(jì)在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)外,大量的工作就

51、是如何根據(jù)每個(gè)生產(chǎn)對(duì)象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)控制系統(tǒng)設(shè)計(jì)中占重要地位。為了完成要求設(shè)計(jì),在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過(guò)程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。所謂“模塊”,實(shí)質(zhì)上就是所完成一定功能,相對(duì)獨(dú)立的程序段,這種程序設(shè)計(jì)方法叫模塊程序設(shè)計(jì)法。模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:1、單個(gè)模塊比起一個(gè)完整的程序易編寫(xiě)與調(diào)試;2、模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;3、模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序延時(shí)子程序轉(zhuǎn)向子程序構(gòu)成。具體程序見(jiàn)附錄1。 3.1.2 部分程序設(shè)計(jì)1、延時(shí)子程序。制作一個(gè)延時(shí)子程序,讓指令執(zhí)行足夠長(zhǎng)的時(shí)間。Void Delay() Unsigned Int DelayTime=50000; while(DelayTime-); return;2、轉(zhuǎn)向子程序。void ControlCar(unsigned char ConType) M1A=0; /將M1電機(jī)A端初始化為0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論