2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  題 目: 基于單片機(jī)的交通燈控制</p><p>  教學(xué)單位 _ ________</p><p>  姓 名 _ ______</p><p>  學(xué) 號 ________</p><p>  年 級 _2008級__________</p><p>  專 業(yè)

2、機(jī)電一體化____</p><p>  指導(dǎo)教師 _ _______________</p><p>  職 稱 ____________ </p><p><b>  摘 要 </b></p><p>  十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實(shí)現(xiàn)這井然秩序呢?靠的是交通信號

3、燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)Intel8051和可編程并行I/O接口芯片8255A為中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;為了系統(tǒng)穩(wěn)定可靠采用了MAX629“看門狗”芯片,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生;顯示時間直接通過8255的PA、PB口輸出;交通燈信號通過PC口輸出;交通燈的點(diǎn)亮采用VT雙向晶閘管來控制,直接采用2

4、20V交流電源驅(qū)動,系統(tǒng)實(shí)用性強(qiáng)、操作簡單、擴(kuò)展性強(qiáng)。 </p><p>  關(guān)鍵詞:單片機(jī),交通燈,控制器,設(shè)計(jì),實(shí)現(xiàn)</p><p><b>  目 錄</b></p><p><b>  前 言1</b></p><p>  一 交通燈發(fā)展概述1</p><p>

5、  二 課題的背景及意義2</p><p>  三 課題的任務(wù)及要實(shí)現(xiàn)的主要功能2</p><p>  第一章 交通燈的總體方案設(shè)計(jì)與論證3</p><p>  1.1單片機(jī)與外圍接口部件3</p><p><b>  1.2電源提供3</b></p><p>  1.3 倒計(jì)時顯示界面

6、4</p><p>  1.4 輸入鍵盤4</p><p>  1.5 交通燈顯示5</p><p>  1.6 系統(tǒng)穩(wěn)定運(yùn)行保障系統(tǒng)6</p><p>  1.7 理論分析與計(jì)算6</p><p>  第二章 硬件的選擇與簡介10</p><p>  2.1單片機(jī)的簡介10&l

7、t;/p><p>  2.1.1單片機(jī)的三大階段10</p><p>  2.1.2以8位單片機(jī)為起點(diǎn)的發(fā)展階段11</p><p>  2.1.3 單片機(jī)的發(fā)展趨勢12</p><p>  2.1.4單片機(jī)的組成及特點(diǎn)13</p><p><b>  單片機(jī)的組成14</b>&l

8、t;/p><p><b>  單片機(jī)的特點(diǎn)14</b></p><p>  2.1.5單片機(jī)的分類14</p><p>  2.2單片機(jī)的應(yīng)用15</p><p>  2.2.1單片機(jī)的應(yīng)用分類15</p><p>  2.3 8051芯片簡介16</p><p> 

9、 2.3.1 8051內(nèi)部結(jié)構(gòu)16</p><p>  2.3.2 8051的引腳說明:18</p><p>  2.4 8255芯片簡介18</p><p>  2.4.1 內(nèi)部結(jié)構(gòu)19</p><p>  2.4.2 引腳功能說明20</p><p>  2.4.3 芯片功能21</p>

10、<p>  2.5 其他器件22</p><p>  2.5.1 數(shù)碼管與交通信號燈22</p><p>  2.5.2 看門狗MAX69223</p><p>  第三章 控制器硬件系統(tǒng)設(shè)計(jì)26</p><p>  3.1 系統(tǒng)硬件設(shè)計(jì)方案26</p><p>  3.2 系統(tǒng)工作原理28&l

11、t;/p><p>  第四章 控制器的軟件設(shè)計(jì)30</p><p>  4.1 交通燈燃亮?xí)r間的設(shè)定30</p><p>  4.2 軟件延時32</p><p>  4.3 時間及信號燈的顯示軟件設(shè)計(jì)33</p><p>  4.4 程序設(shè)計(jì)34</p><p>  第五章 調(diào)試過程

12、38</p><p><b>  結(jié) 論39</b></p><p><b>  致 謝39</b></p><p><b>  參考文獻(xiàn)40</b></p><p><b>  附錄40</b></p><p>  附

13、錄1:實(shí)驗(yàn)程序原代碼40</p><p>  附錄2:實(shí)驗(yàn)原理圖45</p><p><b>  前 言</b></p><p>  單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。</p><p>  通常,單片機(jī)由單塊集成電路芯片

14、構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機(jī)控制系統(tǒng)。</p><p>  單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。</p><p><b>  一 交通燈發(fā)展概述</b

15、></p><p>  在今天,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p>  1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅

16、綠兩色以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。1914年,電氣啟動的紅綠燈出現(xiàn)在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動紅綠燈,司機(jī)遇紅燈時按

17、一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。</p><p>  信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除

18、非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進(jìn)入交叉路口。</p><p>  二 課題的背景及意義</p><p>  隨著城市機(jī)動車量的不斷增加,許多大城市如北京、上海、南京等出現(xiàn)了

19、交通超負(fù)荷運(yùn)行的情況,因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設(shè)完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長和缺乏對高速道路的系統(tǒng)研究和控制,高速道路沒有充分發(fā)揮出預(yù)期的作用。而城市高速道路在構(gòu)造上的特點(diǎn),也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。人們的消費(fèi)水平不斷的提高,私人車輛不斷的增加。人多、車多道路少的道路交通狀況已經(jīng)很明顯了。我國是13億多人口的

20、大國,到2004年,全國的機(jī)動車保有量超過了6000萬,而全國公路通車總里程只有14。3萬公里。靜態(tài)比例為:人均車輛越0。5輛,而人均道路只有0。00011公里;每輛車均道路占有量約為0。002公里;且其中90%的道路屬于機(jī)動車與非機(jī)動車和行人混雜。車輛的增加反映出了國家的整體進(jìn)步,但是也給人民帶來了其他的一些負(fù)面的影響。今后幾年機(jī)動車輛數(shù)字還在急劇增加,道路超負(fù)荷承載,致使交通事故逐年增加。在一個交通十字路口,如果還是像以前一樣由單純

21、的一種信號燈和交通警察的協(xié)調(diào)來維持交通是不夠的。根據(jù)統(tǒng)計(jì)</p><p>  如果將每個交通十字路口的多余交通警察撤回,安排在最不利于管理和事故高發(fā)的地方,不但可以大大的降低交通事故的發(fā)生率,而且可以節(jié)省大量的人力財(cái)力?;谛滦鸵?guī)則的可編程交通控制系統(tǒng)(以下簡稱交通控制系統(tǒng))可以實(shí)現(xiàn)對車輛、行人的控制,使的交通便于管理。所以,采用單片機(jī)自動控制交通燈有現(xiàn)實(shí)的社會意義。</p><p>  

22、三 課題的任務(wù)及要實(shí)現(xiàn)的主要功能</p><p>  本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED顯示、交通燈顯示系統(tǒng)組成。系統(tǒng)包括人行道、左傳、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時,時間設(shè)置,緊急情況處理、及根據(jù)具體情況手動控制等功能。在緊急情況下,設(shè)置交通燈狀態(tài)為全紅 東西南北方向禁止通行。本設(shè)計(jì)采用一主干道(南北方向),一從干道(東西方向)的路口。白天(A擋)為60(主)-45(支)——

23、5(閃爍)秒,夜晚(B擋)為40(主)—10(支)—5(閃爍)秒。</p><p>  第一章 交通燈的總體方案設(shè)計(jì)與論證</p><p>  根據(jù)課題任務(wù)的要求,該系統(tǒng)具有交通燈的顯示功能,倒計(jì)時功能,改變時間設(shè)定功能,所以把系統(tǒng)分為幾個模塊,包括倒計(jì)時顯示器、鍵盤、交通信號燈、控制模塊和看門狗電路。系統(tǒng)硬件框圖如下</p><p>  圖1.1 系統(tǒng)硬件連接框

24、圖</p><p>  1.1單片機(jī)與外圍接口部件</p><p>  該系統(tǒng)主控芯片單片機(jī)采用MCS-8051,它內(nèi)部具有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,兩個16位的可編程定時/計(jì)數(shù)器,以實(shí)現(xiàn)定時或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向,可以滿足該控制系統(tǒng)的設(shè)計(jì)要求。</p><p>  鎖存器選用74LS373,用于單片機(jī)輸出地址信號鎖存。</

25、p><p>  Intel8255是一個為微機(jī)系統(tǒng)設(shè)計(jì)的通用并行接口電路,可適用于多種微處理器的通用8位并行輸入/輸出接口芯片,在該系統(tǒng)中用于控制芯片I/O口的擴(kuò)展。</p><p><b>  1.2電源提供 </b></p><p>  為使模塊穩(wěn)定工作,須有可靠電源。我們考慮了兩種電源方案 </p><p>  方案一

26、:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平。</p><p>  方案二:采用單片機(jī)控制模塊提供電源。改方案的優(yōu)點(diǎn)是系統(tǒng)簡明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。</p><p>  方案三:采用220V交流電源與穩(wěn)壓電源塊給系統(tǒng)提供電源,這樣既可以有高的輸出功率,達(dá)到題目所給的要求。</p>

27、;<p>  綜上所述,我們選擇第三種方案。 </p><p>  1.3 倒計(jì)時顯示界面</p><p>  該系統(tǒng)要求完成倒計(jì)時、狀態(tài)燈等功能。基于上述原因,我們考慮了三種方案:</p><p>  方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字苻,無法勝任題目要求。</p><p>  方案二:完全采用點(diǎn)陣式

28、LED 顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。</p><p>  方案三:采用數(shù)碼管與點(diǎn)陣LED 相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)

29、系統(tǒng)的顯示功能。</p><p><b>  1.4 輸入鍵盤</b></p><p>  鍵盤在系統(tǒng)作用手動設(shè)燈亮?xí)r間、緊急情況處理。按鍵按照結(jié)構(gòu)原理可分為兩類:一類是觸點(diǎn)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點(diǎn)開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價低,后者壽命長。目前,微機(jī)系統(tǒng)中最常見的是觸點(diǎn)式開關(guān)按鍵。</p><p

30、>  按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤主要是用硬件來實(shí)現(xiàn)對鍵的識別,非編碼鍵盤主要是由軟件來實(shí)現(xiàn)鍵盤的定義與識別。</p><p>  全編碼鍵盤能夠由硬件邏輯自動提供與鍵對應(yīng)的編碼,此外,一般還具有去抖動和多鍵、竄鍵保護(hù)電路,這種鍵盤使用方便,但需要較多的硬件,價格較貴,一般的單片機(jī)應(yīng)用系統(tǒng)較少采用。非編碼鍵盤只簡單地提供行和列的

31、矩陣,其它工作均由軟件完成。由于其經(jīng)濟(jì)實(shí)用,較多地應(yīng)用于單片機(jī)系統(tǒng)中。</p><p>  獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個按鍵電路,其特點(diǎn)是每個按鍵單獨(dú)占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。獨(dú)立式按鍵的典型應(yīng)用如圖1.2所示:</p><p>  獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,因此,在按鍵較多時,I/O口線浪費(fèi)較大

32、,不宜采用。</p><p>  圖中按鍵輸入均采用低電平有效,此外,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。當(dāng)I/O口線內(nèi)部有上拉電阻時,外電路可不接上拉電阻。不過,在設(shè)計(jì)鍵盤的時候,因?yàn)椴捎玫氖菣C(jī)械式按鍵,要考慮鍵盤去抖問題。</p><p>  按恢復(fù)鍵對上兩者進(jìn)行恢復(fù)到正常狀態(tài)。鍵盤的按鍵由機(jī)械觸點(diǎn)構(gòu)成的。當(dāng)開關(guān)K未被按下時,P1口輸入為低電平,K閉合后,與之對應(yīng)的P1

33、口 輸入為高電平。由于按鍵是機(jī)械觸點(diǎn),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時,會有抖動,P1口 輸入端的波形會有尖鋒脈沖出現(xiàn)。如圖1.3所示。</p><p>  為了使CPU 能正確地讀出P1 口的狀態(tài),對每一次按鍵只作一次回應(yīng),就必須考慮如何去除抖動,常用的去抖動的方法有兩種:硬體方法和軟體方法。單片機(jī)中常用軟體法,因此,對于硬體方法這里不采用。軟體方法是在單片機(jī)獲得P1。0 口為高的信息后,不是立即認(rèn)定鍵盤K已被按下,而是

34、延時10 毫秒或更長一些時間后再次檢測P1鍵盤接口,如果仍為高,說明K的確按下了,這實(shí)際上是避開了按鍵按下時的抖動時間。而在檢測到按鍵釋放后(P1。0 為低)再延時5-10 個毫秒,消除后沿的抖動,然后再對鍵值處理。不過一般情況下,我們通常不對按鍵釋放的后沿進(jìn)行處理,實(shí)踐證明,也能滿足一定的要求。當(dāng)然,實(shí)際應(yīng)用中,對按鍵的要求也是千差萬別,要根據(jù)不同的需要來編制處理程序,以上是消除鍵抖動的原則。具體消抖見軟件設(shè)計(jì)。</p>

35、<p>  鍵盤采用獨(dú)立式鍵盤,單片機(jī)的I/O口數(shù)可以滿足該鍵盤,并且可以完成題目中的所要求的設(shè)定時間、緊急情況控制功能。 </p><p><b>  1.5 交通燈顯示</b></p><p>  采用信號燈拼成箭頭狀作為人行提示/左右轉(zhuǎn)提示,清晰明了。VT為雙向晶閘管,當(dāng)門極為高電平時晶閘管導(dǎo)通,該支路指示燈亮;當(dāng)門極

36、為低電平時晶閘管關(guān)斷,該支路指示燈滅。用220交流電驅(qū)動交通燈,這樣就滿足了在陽光下或者在霧天也可以看清楚交通燈信號。</p><p>  1.6 系統(tǒng)穩(wěn)定運(yùn)行保障系統(tǒng)</p><p>  由于單片機(jī)自身的抗干擾能力比較差,尤其在一些條件比較惡劣、噪聲大的場合,常會出現(xiàn)單片機(jī)因?yàn)槭芡饨绺蓴_而導(dǎo)致死機(jī)的現(xiàn)象,造成系統(tǒng)不能正常工作,為了使該系統(tǒng)在噪聲大的路口可以比較穩(wěn)定的運(yùn)行,在系統(tǒng)中設(shè)計(jì)了看

37、門狗電路,用以保證系統(tǒng)在受到外界干擾死機(jī)或者不能正常工作時,可以自動重置。</p><p>  本系統(tǒng)采用專用芯片MAX692作為外部看門狗電路。</p><p>  1.7 理論分析與計(jì)算</p><p>  1.交通燈顯示時序的理論分析與計(jì)算對于一個交通路口來說,能在最短的時間內(nèi)達(dá)到最大的車流量,就算是達(dá)到了最佳的性能,我們稱在單位時間內(nèi)多能達(dá)到的最大車流為車

38、流量,用公式:車流量= 車流 / 時間 來表示。 圖2-1 所示為一種紅綠燈規(guī)則的狀態(tài)圖,分別設(shè)定為S1、S2、S3、S4,交通燈以這四的狀態(tài)為一個周期,循環(huán)執(zhí)行(見圖2-2)。</p><p>  請注意圖2-1b和圖2-1d,它們在一個時間段中四個方向都可以通車,這種狀態(tài)能在一定的時間內(nèi)達(dá)到較大的車流量,效率特別高。依據(jù)上述的車輛行駛的狀態(tài)圖,可以列出各個路口燈的邏輯表,由于相向的燈的狀態(tài)圖是一樣的,所

39、以只需寫出相鄰路口的燈的邏輯表;根據(jù)圖2-3 可以看出,相鄰路口的燈它們的狀態(tài)在相位上相差180°。因此最終只需寫出一組S1、S2、S3、S4的邏輯狀態(tài)表。如表2-1 所示。</p><p>  表中的“×”代表是紅燈亮(也代表邏輯上的0),“√”是代表綠燈亮(也代表邏輯上的1),依上表,就可以向相應(yīng)的端口送邏輯值。</p><p>  2.交通燈顯示時間的理論分析與計(jì)

40、算</p><p>  東西和南北方向的放行時間的長短是依據(jù)路口的各個方向平時的車流量來設(shè)定,并且S1、S2、S3、S4各個狀態(tài)保持的時間之有嚴(yán)格的對應(yīng)關(guān)系,其公式如下所示: T-S1+T-S2=T-S3 T-S2=T-S4 T-S1=T-S

41、3 我們可以依據(jù)上述的標(biāo)準(zhǔn)來改變車輛的放行時間。按照一般的規(guī)則,一個十字路口可分為主干道和次干道,主干道的放行時間大于次干道的放行時間,我們設(shè)定值時也應(yīng)以此為參考。3、電路圖及設(shè)計(jì)文件(1)燈控制電路設(shè)計(jì) 由于32個LED 來實(shí)現(xiàn)紅綠燈狀態(tài),若直接接在單片機(jī)的口線,路口倒計(jì)時的顯示就不能實(shí)現(xiàn),所以本次設(shè)計(jì)中采用一種新型的電路如圖3-1 所示。</p><p>  圖中74LS04的作用是倒相和

42、驅(qū)動,它輸出的電流大約48mA,實(shí)際測試發(fā)現(xiàn)足以滿足要求,而且發(fā)光管也能達(dá)到足夠的亮度。觀察圖可以看出:兩組發(fā)光管(一組紅、一組綠)由于反相器的作用,其邏輯狀態(tài)恰恰相反。圖中和電阻串聯(lián)的二極管的作用是為了分壓,防止因上下兩組發(fā)光管分壓不同導(dǎo)致邏輯的錯誤。共四組和上述相同的電路分別代表東西南北四個方向的紅綠燈,使用兩片74LS04 作為驅(qū)動。(2)倒計(jì)時顯示電路設(shè)計(jì) 前面已經(jīng)分析過相向的燈的狀態(tài)和倒計(jì)時都是相同的,所以為了節(jié)省

43、,采用兩組四個數(shù)碼管作為倒計(jì)時的顯示;同時為了節(jié)省口資源,采用串口顯示的方式驅(qū)動數(shù)碼管。見圖3-2 所示。</p><p>  第二章 硬件的選擇與簡介</p><p><b>  2.1單片機(jī)的簡介</b></p><p>  2.1.1單片機(jī)的三大階段</p><p>  單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SC

44、M、MCU、SoC三大階段。1.SCM即單片微型計(jì)算機(jī)(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒。 2.MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷

45、擴(kuò)展?jié)M足嵌入式應(yīng)用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。 Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路

46、時,不要忘記Intel和Philips的歷史功績。 3.單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在</p><p>  2.1.2以8位單片機(jī)為起點(diǎn)的發(fā)展階段 </p><p>  如果將8位單片機(jī)的推出作為起點(diǎn),那么單片機(jī)的發(fā)展歷史大致可分為以下幾個階段: (1)第一階段(1976-1978):單片機(jī)的控索階段。以I

47、ntel公司的MCS – 48為代表。MCS – 48的推出是在工控領(lǐng)域的控索,參與這一控索的公司還有Motorola 、Zilog等,都取得了滿意的效果。這就是SCM的誕生年代,“單機(jī)片”一詞即由此而來。 (2)第二階段(1978-1982)單片機(jī)的完善階段。Intel公司在MCS – 48 基礎(chǔ)上推出了完善的、典型的單片機(jī)系列MCS 

48、;–51。它在以下幾個方面奠定了典型的通用總線型單片機(jī)體系結(jié)構(gòu)。 ①完善的外部總線。MCS-51設(shè)置了經(jīng)典的8位單片機(jī)的總線結(jié)構(gòu),包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有很多機(jī)通信功能的串行通信接口。 ②CPU外圍功能單元的集中管理模式。 ③體現(xiàn)工控特性的位地址空間及位操作方式。 ④指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。 (3)第三階段(1982-1

49、990):8位單片機(jī)的鞏固發(fā)展及16位單片機(jī)的推出階段,也是單片機(jī)向微控制器發(fā)展的階段。Intel公司推出的MCS – 96系列單</p><p>  2.1.3 單片機(jī)的發(fā)展趨勢</p><p>  目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機(jī)的主要發(fā)

50、展趨勢。  CMOS化 近年,由于CHMOS技術(shù)的進(jìn)小,大大地促進(jìn)了單片機(jī)的CMOS化。CMOS芯片除了低功耗特性之外,還具有功耗的可控性,使單片機(jī)可以工作在功耗精細(xì)管理狀態(tài)。這也是今后以80C51取代8051為標(biāo)準(zhǔn)MCU芯片的原因。因?yàn)閱纹瑱C(jī)芯片多數(shù)是采用CMOS(金屬柵氧化物)半導(dǎo)體工藝生產(chǎn)。CMOS電路的特點(diǎn)是低功耗、高密度、低速度、低價格。采用雙極型半導(dǎo)體工藝的TTL電路速度快,但功耗和芯片面積較大。隨

51、著技術(shù)和工藝水平的提高,又出現(xiàn)了HMOS(高密度、高速度MOS)和CHMOS工藝。CHMOS和HMOS工藝的結(jié)合。目前生產(chǎn)的CHMOS電路已達(dá)到LSTTL的速度,傳輸延遲時間小于2ns,它的綜合優(yōu)勢已在于TTL電路。因而,在單片機(jī)領(lǐng)域CMOS正在逐漸取代TTL電路。  低功耗化 單片機(jī)的功耗已從Ma級,甚至1uA以下;使用電壓在3~6V之間,完全適應(yīng)電池工作。低功耗化的效應(yīng)不僅是功耗低,而且?guī)砹水a(chǎn)品的高可靠性

52、</p><p>  2.1.4單片機(jī)的組成及特點(diǎn)</p><p>  單片機(jī)是微型機(jī)的一個主要分支,在結(jié)構(gòu)上的最大特點(diǎn)是把CPU、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機(jī)芯片就是一臺計(jì)算機(jī)。</p><p><b>  單片機(jī)的組成</b></p><p>

53、  單片機(jī)是通過內(nèi)部總線把計(jì)算機(jī)的各主要部件接為一體,其內(nèi)部總線包括地址總線、數(shù)據(jù)總線和控制總線。其中,地址總線的作用是在進(jìn)行數(shù)據(jù)交換時提供地址,CPU通過它們將地址輸出到存儲器或I/O接口;/數(shù)據(jù)總線的作用是在CPU與存儲器或I/O接口之間,或存儲器與外設(shè)之間交換數(shù)據(jù);控制總線包括CPU發(fā)出的控制信號線和外部送入CPU的應(yīng)答信號線等。</p><p><b>  單片機(jī)的特點(diǎn)</b><

54、;/p><p>  由于單片機(jī)的這種結(jié)構(gòu)形式及它所采取的半導(dǎo)體工藝,使其具有很多顯著的特點(diǎn),因而在各個領(lǐng)域都得到了迅猛的發(fā)展。單片機(jī)主要發(fā)如下特點(diǎn): (1)有優(yōu)異的性能價格比。 (2)集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境

55、下工作。 (3)控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。 (4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。 (5)外部總線增加了I C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interf

56、ace)等串行總線方式,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。 (6)單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。 </p><p>  2.1.5單片機(jī)的分類 </p><p>  單片機(jī)作為計(jì)算機(jī)發(fā)展的一個重要領(lǐng)域,應(yīng)用一個較科學(xué)的分類方法。根據(jù)目前發(fā)展情況,從不同角度單片機(jī)大致可以分為通用型/專用型、總線型/非總線型及工控型/家電型。&

57、#160;1. 通用型/專用型  這是按單片機(jī)適用范圍來區(qū)分的。例如,80C51是通用型單片機(jī),它不是為某種專用途設(shè)計(jì)的;專用型單片機(jī)是針對一類產(chǎn)品甚至某一個產(chǎn)品設(shè)計(jì)生產(chǎn)的,例如為了滿足電子體溫計(jì)的要求,在片內(nèi)集成ADC接口等功能的溫度測量控制電路。 2. 總線型/非總線型  這是按單片機(jī)是否提供并行總線來區(qū)分的??偩€型單片機(jī)普遍設(shè)置有并行地址總線、數(shù)據(jù)總線、控制總線,這

58、些引腳用以擴(kuò)展并行外圍器件都可通過串行口與單片機(jī)連接,另外,許多單片機(jī)已把所需要的外圍器件及外設(shè)接口集成一片內(nèi),因此在許多情況下可以不要并行擴(kuò)展總線,大大減省封裝成本和芯片體積,這類單片機(jī)稱為非總線型單片機(jī)。 3. 控制型/家電型  這是按照單片機(jī)大致應(yīng)用的領(lǐng)域進(jìn)行區(qū)分的。一般而言,工控型尋址范圍大,運(yùn)算能力強(qiáng);用于家電的單片機(jī)多為專用型,通常是小封裝、低價格,外圍器件和外設(shè)接口集成度高。 

59、; 顯然,上述分類并不是惟一的和嚴(yán)格的。例如,80C5</p><p>  2.2單片機(jī)的應(yīng)用 </p><p>  2.2.1單片機(jī)的應(yīng)用分類</p><p>  由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的有力工具,人類生活的得力助手。它的應(yīng)用遍及各個領(lǐng)域,主要表現(xiàn)在以下幾個方面:</p><p>  (1) 單

60、片機(jī)在智能儀表中的應(yīng)用 單片機(jī)廣泛地用于各種儀器儀表,使儀器儀表智能化,并可以提高測量的自動化程度和精度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價格比。 (2)單片機(jī)在機(jī)電一體化中的應(yīng)用 機(jī)電一體化是械工業(yè)發(fā)展的方向。機(jī)電一體化產(chǎn)品是指集成機(jī)械技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品,例如微機(jī)控制的車床、鉆床等。單片機(jī)作為產(chǎn)品中的控制器,能充分發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點(diǎn),可

61、大大提高機(jī)器的自動化、智能化程度。 (3) 單片機(jī)在實(shí)時控制中的應(yīng)用 單片機(jī)廣泛地用于各種實(shí)時控制系統(tǒng)中。例如,在工業(yè)測控、航空航天、尖端武器、機(jī)器人等各種實(shí)時控制系統(tǒng)中,都可以用單片機(jī)作為控制器。單片機(jī)的實(shí)時數(shù)據(jù)處理能力和控制功能,可使系統(tǒng)保持在最佳工作狀態(tài),提高系統(tǒng)的工作效率和產(chǎn)品質(zhì)量。 (4) 單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用 在比較復(fù)雜的系統(tǒng)中,常采用分布式多機(jī)系

62、統(tǒng)。多機(jī)系統(tǒng)一般由若干臺功能各異的單片機(jī)組成,各自完成特定的任務(wù),它們通過串行通信相互聯(lián)系、協(xié)調(diào)工作。單片機(jī)在這種系統(tǒng)中往往作為一個終端機(jī),安裝在系統(tǒng)的某些節(jié)點(diǎn)上,對現(xiàn)場信息進(jìn)行實(shí)時的測量和控制。單片</p><p>  2.3 8051芯片簡介</p><p>  2.3.1 8051內(nèi)部結(jié)構(gòu)    8051是MCS-51系列單片機(jī)的典型產(chǎn)品,其內(nèi)部結(jié)構(gòu)圖

63、如右所示:</p><p>  由其內(nèi)部結(jié)構(gòu)圖可知:8051單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計(jì)數(shù)器、并行接口、串行接口、中斷系統(tǒng)和時鐘電路等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:</p><p><b>  ·中央處理器:</b></p><p>  中央處理器

64、(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p>  ·程序存儲器(ROM):</p><p>  8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p>  ·數(shù)據(jù)存儲器(R

65、AM):</p><p>  8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p>  ·定時/計(jì)數(shù)器(ROM):</p><p>  805

66、1有兩個16位的可編程定時/計(jì)數(shù)器,以實(shí)現(xiàn)定時或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  ·并行輸入輸出(I/O)口:</p><p>  8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b>  ·全雙工串行口:</b></p><p>

67、  8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b>  ·中斷系統(tǒng):</b></p><p>  8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計(jì)數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><

68、p><b>  ·時鐘電路:</b></p><p>  8051內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機(jī)運(yùn)行的脈沖時序,</p><p><b>  圖2.3</b></p><p>  但8051單片機(jī)需外置振蕩電容。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖2.4。此外,

69、RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p>  2.3.2 8051的引腳說明:</p><p>  MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線

70、與P3口線復(fù)用。</p><p>  Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-

71、R7)的狀態(tài),8051的初始態(tài)。</p><p>  Pin30:ALE / PR/OG當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點(diǎn),當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。 如果單片機(jī)是EPROM,在編程其間,PR/OG將用于輸入編

72、程脈沖。</p><p>  Pin29:PE/SN當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p>  Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)

73、據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。在編程時,EA/Vpp腳還需加上21V的編程電壓。</p><p>  2.4 8255芯片簡介</p><p>  8255可編程并行接口芯片簡介: 8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應(yīng)于引腳PA7~PA

74、0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。</p><p>  2.4.1 內(nèi)部結(jié)構(gòu) </p><p>  8255內(nèi)部結(jié)構(gòu)如圖所示:</p>

75、<p><b>  圖2.5</b></p><p>  由上圖可知:8255包括三個端口,二個工作方式控制電路,一個讀寫控制邏輯電路和8位總線緩沖器,現(xiàn)將各部件功能分別加以簡單介紹:</p><p>  端口A、B、C </p><p>  

76、控制電路分為:A組工作方式控制電路、B組方式控制電路。A組和B組具有一個控制命令寄存器,用來接收CPU的控制字(命令),根據(jù)控制字決定兩端口的工作方式,也可以用控制字做到C口按位清“0”或者按位置“1”。A組控制電路用來控制A口和C口的上半部分(PC7~PC0)。B組控制電路用來控制B口和C口的下半部分(PC3~PC7)。 </p><p><b>  數(shù)據(jù)總線緩沖器</b></p&g

77、t;<p>  該緩沖器是一個三態(tài)雙向8位緩沖器,用來傳送數(shù)據(jù)、控制命令和外部狀態(tài)信息。</p><p><b>  讀寫控制邏輯電路</b></p><p>  讀寫控制邏輯電路接收CPU發(fā)來的控制信號R/D、W/R、RESET、IO/RQ和地址信號A1、A0等,然后根據(jù)控制信號的要求,將端口數(shù)據(jù)讀出后送往CPU,或者將CPU送來的數(shù)據(jù)寫入端口。使用時

78、,一般將A1、A0接入地址總線的最低2位,因而一塊8255芯片占用四個設(shè)備地址,分別對應(yīng)于端口A,端口B,端口C和控制寄存器。</p><p>  8255沒有專門的狀態(tài)字,而是當(dāng)工作于方式1和方式2時,讀取端口C的數(shù)據(jù),即得狀態(tài)字。當(dāng)狀態(tài)字中有效信息位不滿8位時,所缺的即為對應(yīng)端口C引腳的輸入電平。</p><p>  2.4.2 引腳功能說明</p><p> 

79、 RESET:復(fù)位輸入線,當(dāng)該輸入端外接高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。</p><p> ?。浩x信號線,當(dāng)這個輸入引腳為低電平時,表示芯片被選中</p><p>  允許8255與CPU進(jìn)行通信。</p><p>  :讀信號線,當(dāng)這個輸入引腳為低電平時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CP

80、U從8255讀取信息或數(shù)據(jù)。</p><p> ?。簩懭胄盘柧€,當(dāng)這個輸入引腳為低電平時,允許CPU將數(shù)據(jù)或控制字寫入8255。</p><p>  D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU執(zhí)行輸入輸出指令時,通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。</p><p>  PA0~PA7:端口A輸入輸出線,有8

81、位數(shù)據(jù)輸出鎖存/緩沖功能和8位數(shù)據(jù)輸入鎖存功能。</p><p>  PB0~PB7:端口B輸入輸出線,有8位的I/O鎖存功能和8位的輸入輸出緩沖功能。</p><p>  PC0~PC7:端口C輸入輸出線,有8位的數(shù)據(jù)輸出鎖存器/緩沖器和8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口,每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸

82、出或狀態(tài)信號輸入端口。</p><p>  A1、A0:端口地址總線,8255中有端口A、B、C和一個內(nèi)部控制寄存器,共4個端口,由A0、A1輸入地址信號來尋址。 </p><p>  2.4.3 芯片功能</p><p>  8255可編程并行接口芯片方式控制字格式說明:</p><p>  8255有兩種控制命令字;一個是方式選擇控制字

83、;另一個是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關(guān)資料。</p><p><b>  方式控制字說明:</b></p><p>  D7:設(shè)定工作方式標(biāo)志,1有效。</p><p>  D6、D5:A口方式選擇:</p><p><

84、;b>  0 0 —方式0</b></p><p><b>  0 1 —方式1</b></p><p><b>  1 ×—方式2</b></p><p>  D4:A口功能 (1=輸入,0=輸出)</p><p>  D3:C口高4位功能 (1=輸入,0=

85、輸出)</p><p>  D2:B口方式選擇 (0=方式0,1=方式1)</p><p>  D1:B口功能 (1=輸入,0=輸出)</p><p>  D0:C口低4位功能 (1=輸入,0=輸出)</p><p>  8255可編程并行接口芯片工作方式說明:</p><p>  方式0:基本輸入/輸

86、出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。</p><p>  方式1:選通輸入/輸出方式。這時A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號和中斷請求信號。</p><p>  方式2 :雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時C口的5條線用作通信聯(lián)絡(luò)信號和中斷請求信號。&

87、lt;/p><p>  在三種工作方式中,在方式0時,端口C和端口A、B一樣工作于基本的輸入/輸出方式,把數(shù)據(jù)送給外設(shè),或從外設(shè)接收數(shù)據(jù)。當(dāng)工作于方式1或方式2時,端口C就產(chǎn)生或接收與外設(shè)進(jìn)行聯(lián)絡(luò)的信號,讀出端口C的內(nèi)容就能測試或核對各種外設(shè)的狀態(tài),并由此改變程序的進(jìn)程。但是,沒有從端口C讀取狀態(tài)信息的專用指令,而要執(zhí)行端口C的讀出操作來讀取這些狀態(tài)信息,端口C并不是所有的位都用于傳送控制或狀態(tài)信息,剩余的各位可以由

88、控制字設(shè)定為輸入或輸出。當(dāng)設(shè)定為輸入時,則在對端口C讀出時,可訪問所有的輸入線;當(dāng)設(shè)定為輸出時,則端口C的高4位必須用置位/復(fù)位功能單獨(dú)訪問,而端口C的低4位則可用置位/復(fù)位功能訪問,也可通過寫入端口C的操作進(jìn)行訪問。當(dāng)8255以方式1或方式2工作時,提供的控制信號可用作向CPU的中斷請求輸入。由端口C產(chǎn)生的中斷請求信號可通過將有關(guān)的INTE觸發(fā)器置位/復(fù)位而加以允許/禁止,INTE觸發(fā)器的狀態(tài)可通過C口的置位/復(fù)位功能來加以設(shè)定。因此

89、,C口產(chǎn)生的中斷請求是軟件可屏蔽的,由于可允許/禁止某個I/O設(shè)備中斷CPU,從而不影響中斷結(jié)構(gòu)中任何其它設(shè)備。</p><p><b>  2.5 其他器件</b></p><p>  2.5.1 數(shù)碼管與交通信號燈</p><p>  顯示器是最常用的輸出設(shè)備。特別是發(fā)光二極管(LED)和液晶顯示器(LCD),由于結(jié)構(gòu)簡單、價格便宜、接口容

90、易,得到廣泛的應(yīng)用,尤其在單片機(jī)系統(tǒng)中大量使用?,F(xiàn)在簡單介紹 發(fā)光二極管。</p><p>  發(fā)光顯示器是單片機(jī)應(yīng)用產(chǎn)品中常用的廉價輸出設(shè)備。它是由若干個發(fā)光二極管組成的,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點(diǎn)或一個比劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。點(diǎn)亮顯示器有靜態(tài)和動態(tài)兩種方法。所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一個字符時,相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。例如,七段顯示器的a、b、c、d、e、

91、f導(dǎo)通,g截止,則顯示0。這種顯示器方式,每一位都需要一個8位輸出口控制,所以占用硬件多,一般用于顯示器位數(shù)較小(很少)的場合。當(dāng)位數(shù)較多時,用靜態(tài)顯示所需的I/O口太多,一般采用動態(tài)顯示方法。</p><p>  所謂動態(tài)顯示就是一位一位的輪流點(diǎn)亮各位顯示器(掃描),對于每一位顯示器來說,每個一段時間點(diǎn)亮一次。顯示器的點(diǎn)亮既跟點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也跟點(diǎn)亮?xí)r間和間隔時間的比例有關(guān)。調(diào)整電流和時間的參數(shù),可實(shí)現(xiàn)亮

92、度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個I/O口(稱為掃描口),控制各位顯示器所顯示的字形也需一個8位口。</p><p>  圖2.6 晶閘管與數(shù)碼管示意圖</p><p>  要使行人能看見信號燈的情況,必須把8255輸出的信號進(jìn)行放大VT為雙向晶閘管,當(dāng)門極為高電平時晶閘管導(dǎo)通,該支路指示燈亮;當(dāng)門極為低電平時晶閘管關(guān)斷,該支路指示燈滅。</

93、p><p>  2.5.2 看門狗MAX692</p><p>  由于單片機(jī)自身的抗干擾能力比較差,尤其在一些條件比較惡劣、噪聲大的場合,常會出現(xiàn)單片機(jī)因?yàn)槭芡饨绺蓴_而導(dǎo)致死機(jī)的現(xiàn)象,造成系統(tǒng)不能正常工作。設(shè)置看門狗是為了防止單片機(jī)死機(jī)、提高單片機(jī)系統(tǒng)抗干擾性的一種重要途徑。</p><p>  一個完整的單片機(jī)應(yīng)用系統(tǒng)應(yīng)該是一個軟、硬件的結(jié)合體,在系統(tǒng)正常工作時,會

94、受到各種外界干擾因素的影響。這種外界干擾輕者導(dǎo)致系統(tǒng)內(nèi)部數(shù)據(jù)出錯,重者將嚴(yán)重影響程序的運(yùn)行。因此單片機(jī)應(yīng)用系統(tǒng)的開發(fā)一定要考慮系統(tǒng)可靠性的設(shè)計(jì),以滿足系統(tǒng)在現(xiàn)場苛刻環(huán)境下的正常運(yùn)行,而“看門狗”則是系統(tǒng)可靠性設(shè)計(jì)的重要一環(huán)。在一個單片機(jī)應(yīng)用系統(tǒng)中,所謂的“看門狗”是指在系統(tǒng)設(shè)計(jì)中通過軟件或硬件方式在一定的周期內(nèi)監(jiān)控單片機(jī)或其他CPU的運(yùn)行情況。如果在規(guī)定的時間內(nèi)沒有收到來自單片機(jī)或其他CPU的觸發(fā)信號,則系統(tǒng)會強(qiáng)制復(fù)位,以保證系統(tǒng)在受到

95、干擾時仍能夠維持正常的工作狀態(tài)。在單片機(jī)系統(tǒng)中,看門狗的設(shè)計(jì)一般采用硬件和軟件結(jié)合兩種方式。</p><p><b> ?。?)軟件看門狗</b></p><p>  軟件看門狗是利用單片機(jī)片內(nèi)閑置的定時器/計(jì)數(shù)器單元作為看門狗,在單片機(jī)程序中適當(dāng)?shù)牟迦氡O(jiān)控指令,當(dāng)程序出現(xiàn)異常或進(jìn)入死循環(huán)時,利用軟件將程序計(jì)數(shù)器PC賦予初始值,強(qiáng)制性的使程序重新開始運(yùn)行。</p

96、><p>  使用軟件看門狗的具體實(shí)現(xiàn)方法如下:</p><p>  首先在初始化程序中設(shè)置好定時器/計(jì)數(shù)器的方式控制寄存器(TMOD) 和定時時間的初值,并開中斷。根據(jù)定時器的定時時間,在主程序中按一定的間隔插入復(fù)位定時器的指令,既插入監(jiān)控指令,兩條指令間的時間間隔應(yīng)該小于定時時間,否則看門狗將發(fā)生錯誤動作。在定時器的中斷服務(wù)程序中設(shè)置一條無條件轉(zhuǎn)移指令,將程序計(jì)數(shù)器PC轉(zhuǎn)移到初始

97、化程序的入口。軟件看門狗的最大特點(diǎn)是無須外加硬件電路,經(jīng)濟(jì)性好。當(dāng)然,如果片內(nèi)的定時器/計(jì)數(shù)器被占用,就需要尋求其他的設(shè)計(jì)方式了。</p><p> ?。?)硬件看門狗 </p><p>  專用硬件看門狗是指一些集成化的或集成在單片機(jī)內(nèi)的專用看門狗電路,它實(shí)際上是一個特殊的定時器,當(dāng)定時時間到時,發(fā)出溢出脈沖。從實(shí)現(xiàn)角度上看,該方式是一種軟件與片外專用電路相結(jié)合的技術(shù),硬件電路連

98、接好后,在程序中適當(dāng)?shù)夭迦胍恍┛撮T狗復(fù)位的指令,保證程序正常運(yùn)行時看門狗不溢出。而當(dāng)程序運(yùn)行異常時,看門狗超時發(fā)出溢出脈沖,通過單片機(jī)的RESET引腳使單片機(jī)復(fù)位。這種方式中,看門狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關(guān)系。目前常用的集成看門狗電路很多,如MAX705~708、MAX813L、X5043/5045等。</p><p>  看門狗電路可以分為內(nèi)看門狗和外看門狗。看門狗電路是指看門

99、狗的硬件電路包含在單片機(jī)內(nèi)部,如Microchip的16C5x系列,MOTOROLA的68C05系列,51內(nèi)核中比較典型的有Atmel公司的AT89C55WD、AT89S8252,Winbond公司的W77E58,SST公司的SST89C58以及Philips公司87系列的多種型號的單片機(jī)等。對于沒有看門狗定時器的單片機(jī)或是認(rèn)為內(nèi)部看門狗不可靠時,可以采用外部看門狗定時器。外部看門狗電路既可以用專用看門狗芯片,也可由普通芯片實(shí)現(xiàn)。MAX

100、692與單片機(jī)接口結(jié)構(gòu),如圖2.7所示。</p><p>  MAX692是微系統(tǒng)監(jiān)控電路芯片,具有后備電池切換、掉電判別、看門狗監(jiān)控等功能。其引腳說明如下:</p><p>  VOUT:電源輸出引腳。</p><p>  VCC:接電源引腳,電源供電3.0-5.5V。 </p><p><b>  GND:接地。</b&g

101、t;</p><p>  PFI:電池故障輸入。</p><p>  /PFO:電池故障輸出。</p><p>  WDI:監(jiān)視器輸入引腳。</p><p>  /RESET:復(fù)位輸出引腳,低電平有效。</p><p>  VBATT:后備電池輸入端。</p><p>  在MAX692電路原理

102、圖中WDI是看門狗監(jiān)測輸入腳,接到CPU的一個專用I/O口或一個總線上。/RESET是復(fù)位信號輸出腳,接到CPU的復(fù)位輸入腳。MAX692的WDI定時周期是1.6s,復(fù)位脈沖寬度是200ms。如果WDI保持高或低超過看門狗定時周期(1.6s),/RESET端將發(fā)生200ms的負(fù)脈沖使CPU復(fù)位。</p><p>  第三章 控制器硬件系統(tǒng)設(shè)計(jì)</p><p>  3.1 系統(tǒng)硬件設(shè)計(jì)方案&

103、lt;/p><p>  東西方向或者南北方向的交通燈在通常工作條件中有四種狀態(tài):前行燈+人行道( 狀態(tài)1)、前行燈+右轉(zhuǎn)(狀態(tài)2)、左轉(zhuǎn)(狀態(tài)3)、紅燈(狀態(tài)4)這四種狀態(tài)(在每個燈變化時還有閃爍狀態(tài),這在軟件中實(shí)現(xiàn))。</p><p><b>  狀態(tài)說明: </b></p><p>  (狀態(tài)1)前行燈+人行道:車輛前行;行人可通過人行道; &

104、lt;/p><p>  (狀態(tài)2)前行燈+右轉(zhuǎn):車輛可向前、向右行駛; </p><p>  (狀態(tài)3)紅燈+左轉(zhuǎn):車輛向左行駛;但不能前行; </p><p>  (狀態(tài)4)紅燈:禁止通行與轉(zhuǎn)彎;</p><p>  上面所述4種狀態(tài)是南北或者東西方向的一條道上的四種狀態(tài),根據(jù)交通規(guī)則與十字路口的實(shí)際情況,可以把南北和東西路口的總控制系統(tǒng)的狀態(tài)

105、分為6種:</p><p>  S1:南北(狀態(tài)1)+東西(狀態(tài)4)</p><p>  S2:南北(狀態(tài)2)+東西(狀態(tài)4)</p><p>  S3:南北(狀態(tài)3)+東西(狀態(tài)4)</p><p>  S4:南北(狀態(tài)4)+東西(狀態(tài)1)</p><p>  S5:南北(狀態(tài)4)+東西(狀態(tài)2)</p>

106、<p>  S6:南北(狀態(tài)4)+東西(狀態(tài)3)</p><p>  本系統(tǒng)還設(shè)計(jì)了應(yīng)急況處理;在緊急情況下,設(shè)置交通燈狀態(tài)為: </p><p>  S7:全紅:東南西北所有方向禁止通行。 </p><p>  S8:南北紅、東西綠:南北方向禁行;東西方向通行。 </p><p>  S9:東西紅、南北綠:東西方向禁行;南北方

107、向通行。</p><p>  所以按照上面所分析的交通規(guī)則方案,可以得出每個方向的交通燈數(shù)目為4個,分別為:</p><p>  直行箭頭燈、左轉(zhuǎn)燈、右轉(zhuǎn)燈、人行道燈。分別用字母Z、L、R、M表示。根據(jù)分析的九種狀態(tài),可以分析出控制系統(tǒng)的九種工作狀態(tài)的真值表。如表3.1:</p><p>  表3.1 狀態(tài)真值表</p><p>  各個交通

108、狀態(tài)的時間設(shè)定:假設(shè)路口兩個交叉道路車流量相當(dāng),可以把正常通行下的六個狀態(tài)時間設(shè)定為:S1 30秒、S2 30秒、S3 20秒、S4 23秒、S5 22秒、S6 20秒。時間設(shè)定如果需要改變,可以通過鍵盤輸入設(shè)定。</p><p>  3.2 系統(tǒng)工作原理</p><p> ?。?)開關(guān)鍵盤輸入交通燈初始時間,通過8051單片機(jī)P1輸入到系統(tǒng)。鍵盤編號為K1,K2,K3,K4,K5分別連接

109、單片機(jī)的P1。0,P1。1,P1。2,P1。3,P1。4主程序中放了一個按鍵的判斷指令,當(dāng)有鍵按下的時候,程序就跳轉(zhuǎn)到按鍵子程序處理,當(dāng)檢測到K2鍵按下的時候就自動返回到主程序。</p><p>  按緊急預(yù)案鍵K5后,先出現(xiàn)全紅狀態(tài),再按一下該鍵,又出現(xiàn)一方通行狀態(tài),再按,則另一方通行。如此循環(huán)。 </p><p>  圖3.3 系統(tǒng)電路簡圖</p><p>

110、  按手動控制鍵后,進(jìn)行手動控制,每按一次,燈會轉(zhuǎn)到下一個狀態(tài)。按恢復(fù)鍵對上兩者進(jìn)行恢復(fù)到正常狀態(tài)。鍵盤的按鍵由機(jī)械觸點(diǎn)構(gòu)成的。當(dāng)開關(guān)K未被按下時,P1口輸入為低電平,K閉合后,與之對應(yīng)的P1口 輸入為高電平。由于按鍵是機(jī)械觸點(diǎn),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時,會有抖動,P1口 輸入端的波形會有尖鋒脈沖出現(xiàn)。 按鍵分別接到單片機(jī)的P1口對于這種鍵各程序可以采用不斷查詢的方法,功能就是:檢測是否有鍵閉合,如有鍵閉合,則去除鍵抖動,判斷鍵號幷轉(zhuǎn)入相

111、應(yīng)的鍵處理,具體程序設(shè)計(jì)程序部分,在此不在累述。</p><p> ?。?) 由8051單片機(jī)的定時器每秒鐘通過P0口向8255的數(shù)據(jù)口送信息,由8255的PC 口顯示左轉(zhuǎn)、直行、右轉(zhuǎn)、人行道燈的燃亮情況;由8255的PA、PB口顯示每個燈的燃亮?xí)r間。</p><p> ?。?)8051通過設(shè)置各個信號等的燃亮?xí)r間、通過8051設(shè)置,狀態(tài)S1、狀態(tài)S2、狀態(tài)S3、狀態(tài)S4、狀態(tài)S5、狀態(tài)S

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論