摘要
智能作為現(xiàn)代的新發(fā)明,是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個(gè)環(huán)境里自動(dòng)的運(yùn)作,不需要人為的管理,可應(yīng)用于科學(xué)勘探等等的用途。智能小車(chē)就是其中的一個(gè)體現(xiàn),本次設(shè)計(jì)的多功能智能滅火避障小車(chē),以STC89C52單片機(jī)作為微控制器,設(shè)計(jì)出一種可以尋找火源(火源以蠟燭模擬)和自動(dòng)避開(kāi)障礙物的小車(chē)。通過(guò)光敏晶體管傳感器檢測(cè)火源信號(hào),當(dāng)檢測(cè)到火源,小車(chē)自動(dòng)調(diào)整姿態(tài),對(duì)準(zhǔn)火源。滅火電機(jī)啟動(dòng)將蠟燭吹滅實(shí)現(xiàn)模擬滅火。通過(guò)紅外光電開(kāi)關(guān)感應(yīng)控制小車(chē)避障行駛。工作狀態(tài)實(shí)時(shí)顯示在1602液晶上。其中小車(chē)驅(qū)動(dòng)由L298N驅(qū)動(dòng)電路完成。
關(guān)鍵詞:STC89C52單片機(jī)、光敏晶體管、紅外光電開(kāi)關(guān)、1602液晶模塊、L298N
1??智能小車(chē)概述
1.1??國(guó)內(nèi)外研究動(dòng)態(tài)
智能小車(chē)方面:智能小車(chē),也稱(chēng)輪式機(jī)器人,是一種以汽車(chē)電子為背景,涵蓋控制、模式識(shí)別、傳感技術(shù)、電子、電氣、計(jì)算機(jī)、機(jī)械等多學(xué)科的科技創(chuàng)意性設(shè)計(jì)。智能汽車(chē)作為一種智能化的交通工具,體現(xiàn)了車(chē)輛工程、人工智能、自動(dòng)控制、計(jì)算機(jī)等多個(gè)學(xué)科領(lǐng)域理論技術(shù)的交叉和綜合,是未來(lái)汽車(chē)發(fā)展的趨勢(shì)。
機(jī)器人技術(shù)方面:目前已經(jīng)開(kāi)發(fā)出了多種類(lèi)型機(jī)器人機(jī)構(gòu),其結(jié)構(gòu)有串聯(lián)、并聯(lián)及垂直關(guān)節(jié)和平面關(guān)節(jié)多種。目前研究重點(diǎn)是機(jī)器人新的結(jié)構(gòu)、功能及可實(shí)現(xiàn)性,其目的是使機(jī)器功能更強(qiáng)、柔性更大、滿(mǎn)足不同目的的需求。同時(shí)機(jī)器人機(jī)構(gòu)向著模塊化、可重構(gòu)方向發(fā)展。機(jī)器人控制技術(shù)現(xiàn)已實(shí)現(xiàn)了機(jī)器人的全數(shù)字化控制,基于傳感器的控制技術(shù)已取得了重大進(jìn)展。目前重點(diǎn)研究開(kāi)放式、模塊化控制系統(tǒng),人機(jī)界面更加友好,具有良好的語(yǔ)言及圖形編輯界面。同時(shí)機(jī)器人的控制器的標(biāo)準(zhǔn)化和網(wǎng)絡(luò)化以及基于PC機(jī)網(wǎng)絡(luò)式控制器已成為研究熱點(diǎn)。機(jī)器人已經(jīng)實(shí)現(xiàn)了全數(shù)字交流伺服驅(qū)動(dòng)控制,絕對(duì)位置反饋。目前正研究利用計(jì)算機(jī)技術(shù),探索高效的控制驅(qū)動(dòng)算法,提高系統(tǒng)的響應(yīng)速度和控制精度;同時(shí)利用現(xiàn)場(chǎng)總線(xiàn)技術(shù),實(shí)現(xiàn)的分布式控制。
單片機(jī)方面:?jiǎn)纹瑱C(jī)的應(yīng)用在后PC時(shí)代得到了前所未有的發(fā)展,但對(duì)處理器的綜合性能要求也越來(lái)越高。綜觀(guān)單片機(jī)的發(fā)展,以應(yīng)用需求為目標(biāo),市場(chǎng)越來(lái)越細(xì)化,充分突出以“單片”解決問(wèn)題。單片機(jī)系統(tǒng)作為嵌入式系統(tǒng)的一部分,主要集中在中、低端應(yīng)用領(lǐng)域。
1.2??課題的目的和意義
在國(guó)外機(jī)器人的發(fā)展有如下趨勢(shì)。一方面機(jī)器人在制造業(yè)應(yīng)用的范圍越來(lái)越廣闊,其標(biāo)準(zhǔn)化、模塊化、網(wǎng)絡(luò)化和智能化的程度越來(lái)越高,功能也越來(lái)越強(qiáng),并向著技術(shù)和裝備成套化的方向發(fā)展;另一方面,機(jī)器人向著非制造業(yè)應(yīng)用以及微小型方向發(fā)展,如表演型機(jī)器人,服務(wù)機(jī)型器人,機(jī)器人玩具等。國(guó)外研究機(jī)構(gòu)正試圖將機(jī)器人應(yīng)用于人類(lèi)活動(dòng)的各個(gè)領(lǐng)域。
在我國(guó)機(jī)器人主要應(yīng)用于工業(yè)制造領(lǐng)域,我國(guó)工業(yè)機(jī)器人現(xiàn)在的總裝機(jī)量約為120000臺(tái),其中國(guó)產(chǎn)機(jī)器人占有量約為 1/3,即40000多臺(tái)。與世界機(jī)器人總裝機(jī)臺(tái)數(shù)7500萬(wàn)臺(tái)相比,中國(guó)總裝機(jī)量?jī)H占萬(wàn)分之十六[1]。對(duì)中國(guó)這樣一個(gè)擁有13億人口的大國(guó)來(lái)說(shuō),僅在機(jī)器人數(shù)量上就和發(fā)達(dá)國(guó)家有著很明顯的差距。因此大力發(fā)展我國(guó)的機(jī)器人事業(yè)刻不容緩。
自動(dòng)滅火避障智能小車(chē)可以理解為機(jī)器人的一種特例,它是一種能夠通過(guò)編程手段完成特定任務(wù)的小型化機(jī)器人。與普遍意義上的機(jī)器人相比智能小車(chē)制作成本低廉,電路結(jié)構(gòu)簡(jiǎn)單,程序調(diào)試方便,具有很強(qiáng)的趣味性,為此其深受廣大機(jī)器人愛(ài)好者以及高校學(xué)生的喜愛(ài)。全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽每年都設(shè)有智能小車(chē)類(lèi)的題目,由此可見(jiàn)國(guó)家對(duì)高校機(jī)器人研究工作的重視程度。
2 ?系統(tǒng)設(shè)計(jì)概述
2.1 ?系統(tǒng)設(shè)計(jì)要求
根據(jù)自動(dòng)控制的基本要求,自動(dòng)滅火避障智能小車(chē)必須在無(wú)人干預(yù)的情況下依靠處理器自動(dòng)完成所有的系統(tǒng)設(shè)計(jì)要求。滅火通過(guò)火焰檢測(cè)傳感器找到蠟燭,引導(dǎo)小車(chē)走向蠟燭附近并吹滅蠟燭。自動(dòng)避障通過(guò)紅外光電開(kāi)關(guān)感應(yīng)前方的障礙物,程序判斷處理控制小車(chē)轉(zhuǎn)彎避開(kāi)障礙物。
系統(tǒng)具體設(shè)計(jì)要求如下:
- 實(shí)現(xiàn)直流減速電機(jī)的啟、停、正、反控制;
- 利用直流減速電機(jī)實(shí)現(xiàn)對(duì)小車(chē)的運(yùn)動(dòng)控制;
- 利用穩(wěn)壓芯片為單片機(jī)電路系統(tǒng)提供穩(wěn)定電壓;
- 利用紅外線(xiàn)光電開(kāi)關(guān)對(duì)障礙物的檢測(cè);
- 利用光敏晶體管對(duì)火源的檢測(cè);
- 通過(guò)單片機(jī)控制小車(chē)運(yùn)動(dòng)狀態(tài)實(shí)現(xiàn)小車(chē)的滅火避障;
- 利用1602液晶的工作狀態(tài)顯示;
- 通過(guò)編程實(shí)現(xiàn)系統(tǒng)程序的模塊化設(shè)計(jì);
2 ?總體方案設(shè)計(jì)
系統(tǒng)采用STC89C52單片機(jī)作為核心控制單元用于系統(tǒng)的控制,小車(chē)車(chē)頭裝有2個(gè)紅外光電傳感器用來(lái)避障。光敏晶體管將火源轉(zhuǎn)化成電信號(hào),用于尋找火源。系統(tǒng)總體的設(shè)計(jì)方框圖如圖1所示。
?圖1?系統(tǒng)總體方框圖?
一、硬件方案
硬件構(gòu)成:本系統(tǒng)由STC89C52單片機(jī)、采用2個(gè)紅外避障傳感器+L298N電機(jī)驅(qū)動(dòng)模塊+51單片機(jī)+智能小車(chē)車(chē)模+滅火電機(jī)+火焰?zhèn)鞲衅?LCD1602液晶+6節(jié)裝電池盒組合而成。
二、設(shè)計(jì)功能
1. 單片機(jī)型號(hào):STC89C52/51、AT89C52/51、AT89S52/51 都可通用
2.產(chǎn)品自帶單片機(jī)上電復(fù)位電路、手動(dòng)復(fù)位電路(復(fù)位按鍵)、晶振電路(給單片機(jī)提供時(shí)鐘周期)。
3.利用紅外線(xiàn)光電開(kāi)關(guān)對(duì)障礙物的檢測(cè)。利用光敏晶體管傳感器檢測(cè)火源(火源用蠟燭模擬),當(dāng)檢測(cè)到火源,小車(chē)自動(dòng)調(diào)整姿態(tài),對(duì)準(zhǔn)火源,滅火電機(jī)啟動(dòng)將蠟燭吹滅實(shí)現(xiàn)模擬滅火,滅火完后小車(chē)會(huì)繼續(xù)尋找下一個(gè)火源。
4.小車(chē)能前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)能自動(dòng)避開(kāi)障礙物并能滅火 。
5.當(dāng)小車(chē)前面有障礙物時(shí)小車(chē)能自動(dòng)避開(kāi)障礙物后繼續(xù)尋找火源。
6. LCD1602液晶能顯示小車(chē)運(yùn)行的狀態(tài),并能顯示滅火的次數(shù)。?
三、實(shí)物圖
?
?
方案選擇 單片機(jī)的選擇
方案一:AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS型8位單片機(jī),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大。其片內(nèi)的8K程序存儲(chǔ)器是FLASH工藝的,這種單片機(jī)對(duì)開(kāi)發(fā)設(shè)備的要求很低,開(kāi)發(fā)時(shí)間也大大縮短。寫(xiě)入單片機(jī)內(nèi)的程序還可以進(jìn)行加密,這又很好地保護(hù)我們的勞動(dòng)成果。再者,AT89C52目前的售價(jià)比8031還低,市場(chǎng)供應(yīng)也很充足。AT89C52可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長(zhǎng)度小于8K,四個(gè)I/O口全部提供給用戶(hù)??捎?V電壓編程,而且擦寫(xiě)時(shí)間僅需lOms。AT89C51芯片提供三級(jí)程序存儲(chǔ)器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。PO口是三態(tài)雙向口,通稱(chēng)數(shù)據(jù)總線(xiàn)口,因?yàn)橹挥性摽谀苤苯佑糜趯?duì)外部存儲(chǔ)器的讀/寫(xiě)操作。
方案二:STC89C52系列單片機(jī)的指令系統(tǒng)和AT89C52系列的完全兼容,但實(shí)際操作起來(lái)卻存在很多問(wèn)題:
(1)AT89C52不帶ISP下載,要用下載器才行,STC89C52可以用你的USB轉(zhuǎn)串口下載,下載軟件可以到STC廠(chǎng)家網(wǎng)上去下。
(2)STC單片機(jī)執(zhí)行指令的速度很快,大約是AT的3-30倍,盡管快是好事,但這樣一來(lái),你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些對(duì)時(shí)序有嚴(yán)格要求的模塊,用STC時(shí)注意得加長(zhǎng)延時(shí),大約是AT的10—30倍就差不多,這一點(diǎn)自己調(diào)試就知道了。
(3)STC單片機(jī)對(duì)工作環(huán)境的要求比較低,電壓低于5伏時(shí)仍然正常工作,甚至3伏到4伏之間都還可以工作,然而這樣的環(huán)境下AT肯定不行了,所以當(dāng)一個(gè)系統(tǒng)用STC單片機(jī)好用,但用AT的單片機(jī)不工作時(shí),直接查最小系統(tǒng),看單片機(jī)的供電是否正常。
比較這兩種方案,由于在學(xué)校期間學(xué)過(guò)數(shù)字電路、單片機(jī)原理、C語(yǔ)言程序設(shè)計(jì),綜合考慮單片機(jī)的各部分資源和作為學(xué)生能夠獲得的資源,經(jīng)過(guò)對(duì)比此次設(shè)計(jì)要求,我選擇用STC系列芯片完成。而且學(xué)校也提供了相應(yīng)的硬件操作平臺(tái),實(shí)際操作起來(lái)比較方便,故STC為更合理的選擇。本系統(tǒng)選擇STC89C52單片機(jī)作為主控芯片。足夠本設(shè)計(jì)運(yùn)行,且價(jià)格便宜,下載程序方便。
顯示器選擇方案
方案一:采用12864液晶顯示屏。液晶顯示模塊是128×64點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16X16點(diǎn)陣)、128個(gè)字符(8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來(lái)連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫(huà)面移位、睡眠模式等。
方案二:采用LCD1602液晶顯示屏。LCD1602A 是一種工業(yè)字符型液晶,能夠同時(shí)顯示16x02 即32個(gè)字符。(16列2行)。1602只能顯示字母、數(shù)字和符號(hào)能顯示16*2個(gè)字符,但寄存器不止32個(gè),有一些顯示效果,如字符一個(gè)個(gè)顯示、字符從左到右或從右到左顯示等等,顯示效果簡(jiǎn)單。
總結(jié):在編程使用方面,兩者難度差不多,原理差不多,都是寫(xiě)指令、寫(xiě)地址、寫(xiě)數(shù)據(jù)等等。當(dāng)然12864液晶屏顯示更全面、字符更多。相比于1602液晶屏、12864能更形象具體的實(shí)現(xiàn)顯示功能。不過(guò)1602液晶屏也能實(shí)現(xiàn)設(shè)計(jì)的要求。網(wǎng)上買(mǎi)比較廉價(jià),最低的六塊錢(qián)左右。而12864液晶顯示屏最便宜的也要四十塊錢(qián)。從造價(jià)方面考慮,當(dāng)然是價(jià)格低廉的優(yōu)先。而LCD1602A就是最好的選擇。
3.2主控模塊設(shè)計(jì)
單片微型計(jì)算機(jī)是隨著微型計(jì)算機(jī)的發(fā)展而產(chǎn)生和發(fā)展的。自從1975 年美國(guó)德克薩斯儀器公司的第一臺(tái)單片微型計(jì)算機(jī)( 簡(jiǎn)稱(chēng)單片機(jī))TMS-1000 問(wèn)世以來(lái),迄今為止,單片機(jī)技術(shù)已成為計(jì)算機(jī)技術(shù)的一個(gè)獨(dú)特分支,單片機(jī)的應(yīng)用領(lǐng)域也越來(lái)越廣泛,特別是在工業(yè)控制中經(jīng)常遇到對(duì)某些物理量進(jìn)行定時(shí)采樣與控制的問(wèn)題,在儀器儀表智能化中也扮演著極其重要的角色。
如果將8位單片機(jī)的推出作為起點(diǎn),那么單片機(jī)的發(fā)展歷史大致可以分為以下幾個(gè)階段:
第一階段(1976—1978):?jiǎn)纹瑱C(jī)的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、Zilog等。都取得了滿(mǎn)意的效果。這就是SCM的誕生年代,“單片機(jī)”一詞即由此而來(lái)。
第二階段(1978—1982):?jiǎn)纹瑱C(jī)的完善階段。Intel公司在MCS-48基礎(chǔ)上推出了完善的、典型的單片機(jī)系列MCS-51。它在以下幾個(gè)方面奠定了典型的通用總線(xiàn)型單片機(jī)體系結(jié)構(gòu)。
(1)完善的外部總線(xiàn)。MCS-51設(shè)置了經(jīng)典的8位單片機(jī)的總線(xiàn)結(jié)構(gòu),包括8位數(shù)據(jù)總線(xiàn)、16位地址總線(xiàn)、控制總線(xiàn)及具有多機(jī)通信功能的串行通信接口。
(2)CPU外圍功能單元的集中管理模式。
(3)體現(xiàn)工控特性的地址空間及位操作方式。
(4)指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。
第三階段(1982—1990):8位單片機(jī)的鞏固發(fā)展及16位單片機(jī)的推出階段,也是單片機(jī)向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機(jī),將一些用于測(cè)控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運(yùn)行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機(jī)的微控制器特征。
第四階段(1990—):微控制器的全面發(fā)展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面、深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強(qiáng)運(yùn)算能力的8位/16位/32位通用型單片機(jī),以及小型廉價(jià)的專(zhuān)用型單片機(jī)。
單片機(jī)是在集成電路芯片上集成了各種元件的微型計(jì)算機(jī),這些元件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、時(shí)鐘部件的集成和I/O接口電路。由于單片機(jī)具有體積小、價(jià)格低、可靠性高、開(kāi)發(fā)應(yīng)用方便等特點(diǎn),因此在現(xiàn)代電子技術(shù)和工業(yè)領(lǐng)域應(yīng)用較為廣泛,在智能儀表中單片機(jī)是應(yīng)用最多、最活躍的領(lǐng)域之一。在控制領(lǐng)域中,現(xiàn)如今人們更注意計(jì)算機(jī)的底成本、小體積、運(yùn)行的可靠性和控制的靈活性。在各類(lèi)儀器、儀表中引入單片機(jī),使儀器儀表智能化,提高測(cè)試的自動(dòng)化程度和精度,提高計(jì)算機(jī)的運(yùn)算速度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。
單片機(jī)引腳介紹
單片機(jī)主要特點(diǎn):
(1)有優(yōu)異的性能價(jià)格比。
(2)集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線(xiàn)結(jié)構(gòu),減少了各芯片之間的連線(xiàn),大大提高了單片機(jī)的可靠性和抗干擾能力。另外,其體積小,對(duì)于強(qiáng)磁場(chǎng)環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。
(3)控制功能強(qiáng)。為了滿(mǎn)足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。
(4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。
(5)外部總線(xiàn)增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線(xiàn)方式,進(jìn)一步縮小了體積,簡(jiǎn)化了結(jié)構(gòu)。
(6)單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
優(yōu)異的性能價(jià)格比。
1)集成度高、體積小、有很高的可靠性。
單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線(xiàn)結(jié)構(gòu),減少了各芯片之間的連線(xiàn),大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對(duì)于強(qiáng)磁場(chǎng)環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。
此外,程序多采取固化形式也可以提高可靠性。
2)控制功能強(qiáng)。
為了滿(mǎn)足工業(yè)控制要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。
單片機(jī)的系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
? ?VCC:STC89C52電源正端輸入,接+5V。
GND:電源地端。
XTAL1: ?單芯片系統(tǒng)時(shí)鐘的反相放大器輸入端。
XTAL2: 系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。
RESET:STC89C52的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開(kāi)始讀入程序代碼而執(zhí)行程序。
EA/Vpp:"EA"為英文"External Access"的縮寫(xiě),表示存取外部程序代碼之意,低電平動(dòng)作,也就是說(shuō)當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM中)來(lái)執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無(wú)程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來(lái)輸入21V的燒錄高壓(Vpp)。
ALE/PROG:ALE是英文"Address Latch Enable"的縮寫(xiě),表示地址鎖存器啟用信號(hào)。STC89C52可以利用這支引腳來(lái)觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(xiàn)(A0~A7)鎖進(jìn)鎖存器中,因?yàn)镾TC89C52是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來(lái)驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來(lái)使用。
PSEN:此為"Program Store Enable"的縮寫(xiě),其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到EPROM的OE腳。STC89C52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64K的定址范圍。
PORT0(P0.0~P0.7):端口0是一個(gè)8位寬的開(kāi)路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類(lèi)推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。
PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來(lái)使用。P2除了當(dāng)做一般I/O端口使用外,若是在STC89C52擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線(xiàn)的高字節(jié)A8~A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來(lái)使用了。
PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)輸入數(shù)據(jù)。如果是使用8052或是8032的話(huà),P1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。
PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/p>
其引腳分配如下:
P3.0:RXD,串行通信輸入。
P3.1:TXD,串行通信輸出。
P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。
P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。
P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。
P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)入信號(hào)。
P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。
PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。
單片機(jī)最小系統(tǒng)
單片機(jī)芯片內(nèi)還有一項(xiàng)主要內(nèi)容就是并行I/O口。STC89C51共有4個(gè)8位的并行I/O口,分別記作P0、P1、P2、P3。每個(gè)口都包含一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。實(shí)際上,它們已被歸入專(zhuān)用寄存器之列,并且具有字節(jié)尋址和位尋址功能。在訪(fǎng)問(wèn)片外擴(kuò)展存儲(chǔ)器時(shí),低8位地址和數(shù)據(jù)由P0口分時(shí)傳送,高8位地址由P2口傳送。在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)口的每一位均可作為雙向的I/O端口使用。
單片機(jī)的4個(gè)I/O口都是8位雙向口,這些口在結(jié)構(gòu)和特性上是基本相同的,但又各具特點(diǎn)。
STC89C51單片機(jī)的時(shí)鐘信號(hào)通常有兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。在單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡(jiǎn)稱(chēng)晶振),就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5-30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2-12MHz間選擇,典型值為12MHz和11.0592MHz。
當(dāng)在STC89C51單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。
復(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í)鐘頻率用6MHZ時(shí)C取22uF,R取1KΩ。除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò)RST端經(jīng)過(guò)電阻與電源Vcc接通而實(shí)現(xiàn)的。
四、原理圖 ??
在本設(shè)計(jì)做的過(guò)程中,硬件和軟件方面都遇到了許多問(wèn)題,但是相比于軟件,在硬件方面還是比較快解決的方面,因?yàn)橛布潜容^容易檢查出來(lái)錯(cuò)誤的,軟件比較晦澀難懂,還是有一定難度。
在硬件調(diào)試問(wèn)題上,首先焊接好了元器件實(shí)物板后,先用萬(wàn)用表測(cè)量這個(gè)工業(yè)板子的電源方面,電源方面是最重要的問(wèn)題,應(yīng)該是特別需要檢查的地方,以防止電源的短路和正負(fù)極的錯(cuò)誤。然后在仔細(xì)檢查電路的連接是否有問(wèn)題,或者有沒(méi)有虛焊或者沒(méi)有焊接到的地方,然后核對(duì)一下元器件的安裝是否有問(wèn)題,安裝上去是否符合規(guī)定,由于已經(jīng)是大學(xué)四年都是做過(guò)了很多實(shí)訓(xùn)過(guò)來(lái)了,對(duì)于這些還是游刃有余的,但是在上機(jī)調(diào)試后還是發(fā)現(xiàn)了很多的問(wèn)題。
五、程序源碼
Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(μVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。
資料包括:
需要完整的資料可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤(pán)下載地址及提取碼。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-780313.html
紛傳點(diǎn)擊用微信打開(kāi)即可,過(guò)程有點(diǎn)繁瑣請(qǐng)見(jiàn)諒。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-780313.html
到了這里,關(guān)于35、基于51單片機(jī)自動(dòng)滅火避障智能小車(chē) 消防滅火小車(chē)系統(tǒng)設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!