基于單片機(jī)交通燈的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)交通燈的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)交通燈的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)交通燈的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)交通燈的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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、開(kāi)封大學(xué)開(kāi)封大學(xué)機(jī)電工程學(xué)院應(yīng)用電子專(zhuān)業(yè)畢業(yè)論文機(jī)電工程學(xué)院應(yīng)用電子專(zhuān)業(yè)畢業(yè)論文題目:基于單片機(jī)交通燈的設(shè)計(jì)題目:基于單片機(jī)交通燈的設(shè)計(jì)姓名:姓名:楊威楊威指導(dǎo)老師:指導(dǎo)老師:邊疆邊疆學(xué)號(hào):學(xué)號(hào):20090615692009061569班級(jí):班級(jí):0909 應(yīng)電應(yīng)電 2 2 班班時(shí)間:時(shí)間:2011-12-32011-12-32012-05-302012-05-30基于單片機(jī)交通燈的設(shè)計(jì)基于單片機(jī)交通燈的設(shè)計(jì)摘要:近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠

2、的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。本論文使用單片機(jī)的原因是看到單片機(jī)的發(fā)展趨勢(shì)。單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),特別適用于控制領(lǐng)域,故又稱(chēng)為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和 i/o 接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。 十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊??康木褪墙煌ㄐ盘?hào)燈的自動(dòng)指揮系統(tǒng)來(lái)實(shí)現(xiàn)這井然秩序。交通信號(hào)燈控制方式很多。本系統(tǒng)采用 msc-51 系列單片機(jī) atsc51 和可

3、編程并行 i/o 接口芯片 8255a 為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車(chē)流量通過(guò) 8051 芯片的 p1 口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩 5 秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò) pa 口輸出,顯示時(shí)間直接通過(guò) 8255 的 pc 口輸出至雙位數(shù)碼管);車(chē)輛闖紅燈報(bào)警;綠燈時(shí)間可檢測(cè)車(chē)流量并可通過(guò)雙位數(shù)碼管顯示。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。關(guān)鍵詞:?jiǎn)纹瑱C(jī) 交通燈 闖紅燈 檢測(cè)車(chē)流量abstractin recent years along with technical rapid development, monolithic integrated

4、 circuit application unceasingly thorough, simultaneously leads the traditional control examination technology to renew day by day.in the real-time examination and in the automatic control monolithic integrated circuit application system, the monolithic integrated circuit often took a core part uses

5、, the monolithic integrated circuit aspect knowledge is only insufficient, but also should act according to the concrete hardware architecture software and hardware union, consummates.the intersection vehicles shuttle, the pedestrian is bustling, car dealership traffic lane, human sidewalk, methodic

6、al.depends on is the street-traffic control lights automatic command system realizes this orderly order.the street-traffic control lights control mode are very many.this system uses msc-51 series monolithic integrated circuit atsc51 and programmable parallel i/o connection chip 8255a is the central

7、component designs the traffic light controller, realized has been able to act according to the actual traffic flow magnitude to establish, the green light red through 8051 chip p1 mouths burns the bright time the function; the traffic light circulation lightens, the countdown remains when for 5 seco

8、nds the yellow light twinkle police shows (traffic light signal through pa mouth output, demonstration time directly through 8255 pc mouth output to two-position nixietube); the vehicles run a red light report to the police; the green light time may examine the traffic flow magnitude and may through

9、 the two-position nixietube demonstration.this system usability strong, operation simple, expansion function.keywordskeywords:monolithic integrated circuit traffic light runs a red light the examination traffic flow magnitude目 錄摘摘 要要 .iabstract.ii目目 錄錄 .iii第第 1 章章 緒論緒論.1第第 2 章章 總體規(guī)劃方案總體規(guī)劃方案.92.1 規(guī)劃設(shè)

10、計(jì)方案.92.2 交通管理的方案論證.9第第 3 章章 系統(tǒng)的芯片簡(jiǎn)介系統(tǒng)的芯片簡(jiǎn)介.103.1 msc-51 芯片簡(jiǎn)介.103.1.1 mcs-51 單片機(jī)內(nèi)部結(jié)構(gòu).103.1.2 mcs-51 的引腳和功能概述.113.2 8255 芯片簡(jiǎn)介.133.2.1 8255a 的內(nèi)部結(jié)構(gòu).133.2.2 8255 可編程并行接口芯片簡(jiǎn)介.14第第 4 章章 系統(tǒng)系統(tǒng)硬硬件設(shè)計(jì)件設(shè)計(jì).194.1 系統(tǒng)總框圖設(shè)計(jì).194.2 各個(gè)模塊電路設(shè)計(jì).244.2.1 鍵盤(pán)設(shè)置電路.244.2.2 看門(mén)狗硬件電路.254.2.3 顯示電路.254.2.4 交通燈的控制電路.25第第 5 章章 系統(tǒng)的軟件設(shè)計(jì)系

11、統(tǒng)的軟件設(shè)計(jì).275.1 系統(tǒng)總程序設(shè)計(jì).275.2 每秒鐘的設(shè)定.285.2.1 計(jì)數(shù)器初值計(jì)算.285.2.2 計(jì)算公式.285.2.3 秒的方法.295.2.4 相應(yīng)程序代碼.295.2.5 軟件延時(shí).305.3 顯示程序設(shè)計(jì).305.3.1 顯示原理.315.3.2 8255 輸出信號(hào)與數(shù)碼管的連接.315.3.3 8255 與 8051 的連接.31第第 6 章章 結(jié)論結(jié)論.32參考文獻(xiàn)參考文獻(xiàn).33致致 謝謝.34附附 錄錄.35附錄 1:總圖.35附錄 2:程序源代碼.36第 1 章 緒論當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車(chē)輛最常見(jiàn)和最有效的手段。但這一技術(shù)在 19

12、世紀(jì)就已出現(xiàn)了。1858 年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車(chē)通行。這是世界上最早的交通信號(hào)燈。1868 年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止” ,綠色表示“注意” 。1869 年 1 月 2 日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914 年始安裝于紐約市 5 號(hào)大街的一座高塔上。紅燈亮表示“停止” ,綠燈亮表示“通行” 。1918 年,又出現(xiàn)了帶控制的紅綠燈和紅外線(xiàn)紅

13、綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車(chē)輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線(xiàn)紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車(chē)放行,以免發(fā)生交通事故。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968 年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車(chē)輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車(chē)輛都必須讓合法地正在路口內(nèi)行駛的車(chē)輛和過(guò)人行橫道的

14、行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車(chē)輛必須在交叉路口的停車(chē)線(xiàn)后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線(xiàn),但車(chē)輛已十分接近停車(chē)線(xiàn)而不能安全停車(chē)時(shí)可以進(jìn)入交叉路口。本論文是基于單片機(jī)的交通燈控制設(shè)計(jì)。本論文使用單片機(jī)的原因是看到單片機(jī)的發(fā)展趨勢(shì)。單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),特別適用于控制領(lǐng)域,故又稱(chēng)為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和 i/o 接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò) 1、2、3、

15、3 代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的 cpu 功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。單片機(jī)在目前的發(fā)展形勢(shì)下,表現(xiàn)出幾大趨勢(shì):可靠性及應(yīng)用越來(lái)越水平高和互聯(lián)網(wǎng)連接已是一種明顯的走向。所集成的部件越來(lái)越多;ns(美國(guó)國(guó)家半導(dǎo)體)公司的單片機(jī)已把語(yǔ)音、圖象部件也集成到單片機(jī)中,也就是說(shuō),單片機(jī)的意義只是在于單片集成電路,而不在于其功能了;如果從功能上講它可以講是萬(wàn)用機(jī)。原因是其內(nèi)部已集成上各種應(yīng)用電路。功耗越來(lái)越低和模擬電路結(jié)合越來(lái)越多。 隨著半導(dǎo)體工藝技術(shù)的發(fā)展及系統(tǒng)設(shè)計(jì)水平的提高,單片機(jī)還會(huì)不斷產(chǎn)生新的變化和進(jìn)步,最終人們可能發(fā)現(xiàn):?jiǎn)纹瑱C(jī)與微機(jī)系

16、統(tǒng)之間的距離越來(lái)越小,甚至難以辨認(rèn)。所以用單片機(jī)將越來(lái)越普遍,而且實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。隨著各種交通工具的發(fā)展和交通指揮的需要,第一盞名副其實(shí)的三色燈(紅、黃、綠三種標(biāo)志)于 1918 年誕生。它是三色圓形四面投影器,被安裝在紐約市五號(hào)街的一座高塔上,由于它的誕生,使城市交通大為改善。黃色信號(hào)燈的發(fā)明者是我國(guó)的胡汝鼎,他懷著“科學(xué)救國(guó)”的抱負(fù)到美國(guó)深造,在大發(fā)明家愛(ài)迪生為董事長(zhǎng)的美國(guó)通用電器公司任職員。一天,他站在繁華的十字路口等待綠燈信號(hào),當(dāng)他看到紅燈而正要過(guò)去時(shí),一輛轉(zhuǎn)彎的汽車(chē)呼地一聲擦身而過(guò),嚇了他一身冷汗?;氐剿奚?,他反復(fù)琢磨,終于想到在紅、綠燈中間再加上一個(gè)黃色信號(hào)燈,提醒

17、人們注意危險(xiǎn)。他的建議立即得到有關(guān)方面的肯定。于是紅、黃、綠三色信號(hào)燈即以一個(gè)完整的指揮信號(hào)家族,遍及全世界陸、海、空交通領(lǐng)域了。中國(guó)最早的馬路紅綠燈,是于 1928 年出現(xiàn)在上海的英租界。從最早的手牽皮帶到 20 世紀(jì) 50 年代的電氣控制,從采用計(jì)算機(jī)控制到現(xiàn)代化的電子定時(shí)監(jiān)控,交通信號(hào)燈在科學(xué)化、自動(dòng)化上不斷地更新、發(fā)展和完善??v觀交通事業(yè)的發(fā)展歷史,以前,人們出門(mén)遠(yuǎn)行或運(yùn)輸東西最常用到的的交通工具是馬車(chē),但是隨著社會(huì)的進(jìn)步經(jīng)濟(jì)的發(fā)展,一種新型交通工具汽車(chē)隨之問(wèn)世。如 1950 年英國(guó)陸虎公司推出世界上第一臺(tái)采用燃?xì)鉁u輪發(fā)動(dòng)機(jī)的汽車(chē),1952 年美國(guó)通用公司推出“別克”牌小轎車(chē),1955

18、 年福特“雷鳥(niǎo)”牌兩座位汽車(chē)問(wèn)世,1956 年中國(guó)第一汽車(chē)制造廠(chǎng)成立, “解放”牌汽車(chē)問(wèn)世。特別是近幾年汽車(chē)產(chǎn)業(yè)更是日新月異,2006 年全世界汽車(chē)總已產(chǎn)量已超過(guò) 6400 萬(wàn)輛。在汽車(chē)產(chǎn)業(yè)蓬勃發(fā)展的背后,隨之而來(lái)交通問(wèn)題也越來(lái)越多,如交通堵塞和交通事故時(shí)常發(fā)生,這不但給人們的生命和財(cái)產(chǎn)造成了威脅,同時(shí)還制約著國(guó)民經(jīng)濟(jì)的發(fā)展,特別是發(fā)達(dá)國(guó)家和發(fā)展中國(guó)家面臨的形勢(shì)更是嚴(yán)峻。為了緩解交通的負(fù)荷量,使車(chē)輛運(yùn)行暢通無(wú)阻,交通事業(yè)整嚴(yán)有序,國(guó)家起用了雙車(chē)道交通燈控制系統(tǒng)。通過(guò)紅,綠,黃三色燈進(jìn)行單一的控制,使其遵守紅燈停,綠燈行的原則。但是隨著社會(huì)的發(fā)展,此系統(tǒng)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足交通控制事業(yè)的需求,需要一

19、種全新的控制理念,進(jìn)而引進(jìn)了與我國(guó)國(guó)情相符合的國(guó)外先進(jìn)的控制體系,多車(chē)道交通燈控制系統(tǒng),不但解決以往交通控制系統(tǒng)的局限性,同時(shí)還加快車(chē)了車(chē)流輛速度。并制定了第三十八條明確規(guī)定:綠燈亮?xí)r,準(zhǔn)許車(chē)輛通行,但轉(zhuǎn)彎的車(chē)輛不得妨礙被放行的直行車(chē)輛、行人通行,黃燈亮?xí)r,已越過(guò)停止線(xiàn)的車(chē)輛可以繼續(xù)通行,紅燈亮?xí)r,禁止車(chē)輛通行。隨著社會(huì)的進(jìn)步和科技的發(fā)展,交通工具設(shè)備也日益劇增,從而有序的交通秩序也越來(lái)越重要,單片機(jī)的應(yīng)用也日益廣泛。本論文用三端橋式整流電路將 220v 交流電轉(zhuǎn)變?yōu)榉€(wěn)定、可靠,高效率的5v 直流電源。而此交通路口采用的是 8051 單片機(jī)來(lái)控制,8051 單片機(jī)包含中央處理器、程序存儲(chǔ)器(r

20、om)、數(shù)據(jù)存儲(chǔ)器(ram)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制總線(xiàn)等三大總線(xiàn),而中斷系統(tǒng)來(lái)實(shí)現(xiàn)實(shí)時(shí)控制、故障自動(dòng)處理、計(jì)算機(jī)與外圍設(shè)備的數(shù)據(jù)傳送。使 cpu 能夠具有應(yīng)變的功能,能夠秩序的工作,從而提高了工作效率和系統(tǒng)的可靠性。同時(shí)也為了系統(tǒng)穩(wěn)定可靠采用了 max629“看門(mén)狗”芯片,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生;顯示時(shí)間直接通過(guò) 8255 的 pa、pb 口輸出;交通燈信號(hào)通過(guò) pc 口輸出;交通燈的點(diǎn)亮采用 vt 雙向晶閘管來(lái)控制。第 2 章 總體規(guī)劃方案2.1 規(guī)劃設(shè)計(jì)方案根據(jù)此路口的車(chē)流量:由于東西方向比南北方向的車(chē)流量要大,所以

21、在東西方向的綠燈時(shí)間較長(zhǎng)設(shè)為 80s,南北方向的紅燈設(shè)為 60s,黃燈時(shí)間為 5s。以最大限度的提高交通疏通的可靠系數(shù)。2.2 交通管理的方案論證人行道人行道人行道 人行道 圖 2.1 十字路口圖首先了解實(shí)際交通燈的變化情況和規(guī)律。假設(shè)一個(gè)十字路口如圖 2.1 所示,為東南西北走向。初始狀態(tài) 0 為東西南北都紅燈亮。然后轉(zhuǎn)狀態(tài) 1 東西綠燈通車(chē),南北紅燈亮。過(guò)一段時(shí)間后,轉(zhuǎn)狀態(tài) 2,東西綠燈滅,黃燈閃幾下,南北還是紅燈。再轉(zhuǎn)狀態(tài) 3,南北綠燈通車(chē),東西紅燈亮。過(guò)一段時(shí)間后轉(zhuǎn)狀態(tài) 4,南北綠燈滅,閃幾個(gè)黃燈,東西還是為紅燈亮,一段時(shí)間后,又循環(huán)至狀態(tài)1。列出交通信號(hào)燈的狀態(tài)表如表 2.1 所示:

22、(其中,1 代表燈亮,0 代表燈滅)北西南東狀態(tài)綠 黃 紅綠 黃 紅綠 黃 紅綠 黃 紅00010010010011001100001100200101000101031000011000014010001010001表 2.1東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車(chē)輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車(chē)時(shí)間。設(shè)東西道比南北道的車(chē)流量大,指示燈燃亮的方案如表2.2。 表 2.2表 2.2 說(shuō)明:(1)當(dāng)東西方向?yàn)榧t燈,此道車(chē)輛禁止通行,東西道行人可通過(guò);南北道為綠

23、燈,此道車(chē)輛通過(guò),行人禁止通行。時(shí)間為 60 秒。(2)黃燈閃爍 5 秒,警示車(chē)輛和行人紅、綠燈的狀態(tài)即將切換。 (3)當(dāng)東西方向?yàn)榫G燈,此道車(chē)輛通行;南北方向?yàn)榧t燈,南北道車(chē)輛禁止通過(guò),行人通行。時(shí)間為 80 秒。 東西方向車(chē)流大 通行時(shí)間長(zhǎng)。(4)這樣如上表的時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車(chē)輛就能安全暢通的通行。(5)此表可根據(jù)車(chē)流量動(dòng)態(tài)設(shè)定紅綠燈初始值。第 3 章 系統(tǒng)的芯片簡(jiǎn)介3.1 msc-51 芯片簡(jiǎn)介3.11mcs-51 單片機(jī)內(nèi)部結(jié)構(gòu)。8051 是 mcs-51 系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。8051 單片機(jī)包含中央處理器、程序存儲(chǔ)器

24、(rom)、數(shù)據(jù)存儲(chǔ)器(ram)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制總線(xiàn)等三大總線(xiàn),現(xiàn)在我們分別加以說(shuō)明:中央處理器:中央處理器(cpu)是整個(gè)單片機(jī)的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理 8 位二進(jìn)制數(shù)據(jù)或代碼,cpu 負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲(chǔ)器(ram):8051 內(nèi)部有 128 個(gè) 8 位用戶(hù)數(shù)據(jù)存儲(chǔ)單元和 128 個(gè)專(zhuān)用寄存器單元,它們是統(tǒng)一編址的,專(zhuān)用寄存器只能用于存放控制指令數(shù)據(jù),60s5s80s5s東西道紅燈亮黃燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮黃燈亮用戶(hù)只能訪(fǎng)

25、問(wèn),而不能用于存放用戶(hù)數(shù)據(jù),所以,用戶(hù)能使用的 ram 只有 128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶(hù)定義的字型表。程序存儲(chǔ)器(rom):8051 共有 4096 個(gè) 8 位掩膜 rom,用于存放用戶(hù)程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器(rom):8051 有兩個(gè) 16 位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(i/o)口:8051 共有 4 組 8 位 i/o 口(p0、 p1、p2 或 p3),用于對(duì)外部數(shù)據(jù)的傳輸。全雙工串行口:8051 內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位

26、器使用。 中斷系統(tǒng):8051 具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿(mǎn)足不同的控制要求,并具有 2 級(jí)的優(yōu)先級(jí)別選擇。 時(shí)鐘電路:8051 內(nèi)置最高頻率達(dá) 12mhz 的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但 8051 單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類(lèi)型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(princeton)結(jié)構(gòu)。intel 的 mcs-51 系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品 16 位的 mcs-96 系列單片機(jī)

27、則采用普林斯頓結(jié)構(gòu)。3.1.2 mcs-51 的引腳和功能概述mcs-51 系列單片機(jī)中的 8031、8051 及 8751 均采用 40pin 封裝的雙列直接dip 結(jié)構(gòu),右圖是它們的引腳配置,40 個(gè)引腳中,正電源和地線(xiàn)兩根,外置石英振蕩器的時(shí)鐘線(xiàn)兩根,4 組 8 位共 32 個(gè) i/o 口,中斷口線(xiàn)與 p3 口線(xiàn)復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:mcs-51 的引腳說(shuō)明:mcs-51 系列單片機(jī)中的 8031、8051 及 8751 均采用 40pin 封裝的雙列直接dip 結(jié)構(gòu),右圖是它們的引腳配置,40 個(gè)引腳中,正電源和地線(xiàn)兩根,外置石英振蕩器的時(shí)鐘線(xiàn)兩根,4 組 8 位共

28、32 個(gè) i/o 口,中斷口線(xiàn)與 p3 口線(xiàn)復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖 3.2 圖 3.1 引腳圖pin9:reset/vpd復(fù)位信號(hào)復(fù)用腳,當(dāng) 8051 通電,時(shí)鐘電路開(kāi)始工作,在reset 引腳上出現(xiàn) 24 個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器 pc 指向 0000h,p0-p3 輸出口全部為高電平,堆棧指針寫(xiě)入 07h,其它專(zhuān)用寄存器被清“0” 。reset 由高電平下降為低電平后,系統(tǒng)即從 0000h地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變 ram(包括工作寄存器 r0-r7)的狀態(tài),8051 的初始態(tài)。8051 的復(fù)位方式可以是自動(dòng)復(fù)位,也可以

29、是手動(dòng)復(fù)位,見(jiàn)下圖 3.3。此外,reset/vpd還是一復(fù)用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部 ram 的數(shù)據(jù)不丟失。 圖 3.2 復(fù)位方式圖pin30:ale/當(dāng)訪(fǎng)問(wèn)外部程序器時(shí),ale(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ale 端將有一個(gè) 1/6 時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器,ale 會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是 eprom,在編程其間,將用于輸入編程脈沖。pin29:當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),pc 的16 位地址數(shù)據(jù)將出現(xiàn)

30、在 p0 和 p2 口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到 p0口上,由 cpu 讀入并執(zhí)行。pin31:ea/vpp程序存儲(chǔ)器的內(nèi)外部選通線(xiàn),8051 和 8751 單片機(jī),內(nèi)置有4kb 的程序存儲(chǔ)器,當(dāng) ea 為高電平并且程序地址小于 4kb 時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò) 4kb 地址則讀取外部指令數(shù)據(jù)。如 ea 為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,ea 端必須接地。在編程時(shí),ea/vpp腳還需加上 21v 的編程電壓。3.2 8255 芯片簡(jiǎn)介3.2.1 8255a 的內(nèi)部結(jié)構(gòu):8255a 的內(nèi)部結(jié)構(gòu)框圖和引腳圖如圖 3.3

31、所示,由以下幾個(gè)部分組成:圖 3.3 8255 的內(nèi)部結(jié)構(gòu)圖數(shù)據(jù)總線(xiàn)緩沖器:8 位雙向三態(tài),它是 8255a 和 cpu 之間的數(shù)據(jù)接口。i/o的數(shù)據(jù)、cpu 輸出的控制字以及 cpu 輸入的狀態(tài)信息都是通過(guò)這個(gè)緩沖器傳送的,數(shù)據(jù)總線(xiàn)緩沖器的 8 根數(shù)據(jù)線(xiàn) d7d0 一般與 8086cpu 低 8 位數(shù)據(jù)線(xiàn)相連。并行 i/o 端口(a、b、c 口):除 c 口輸入沒(méi)有鎖存器外,其余 a 口、b 口輸入輸出都有緩沖器和鎖存器,c 口輸出也都有緩沖器和鎖存器,c 口輸入只有緩沖器。通常 a 口和 b 口作為獨(dú)立工作的 i/o 數(shù)據(jù)端口,c 口作為控制或狀態(tài)信息端口。在方式控制字控制下,c 口可以分

32、成兩個(gè) 4 位端口,每個(gè)端口包含一個(gè)4 位鎖存器,分別與 a 口和 b 口配合使用,作為與外設(shè)之間的聯(lián)絡(luò)信號(hào)和存放接口電路當(dāng)前的狀態(tài)信息。a 組和 b 組控制電路:a 組:a 口和 c 口上半部;b 組:b 口和 c 口下半部。a 組控制和 b 組控制結(jié)合,組成控制字寄存器,接收 cpu 寫(xiě)入的方式控制字和對(duì) c 口按位置位/復(fù)位控制字。3.2.2 8255 可編程并行接口芯片簡(jiǎn)介8255 可編程并行接口芯片有三個(gè)輸入輸出端口,即 a 口、b 口和 c 口,對(duì)應(yīng)于引腳 pa7pa0、pb7pb0 和 pc7pc0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常 a 口、b 口作為輸入輸出的數(shù)據(jù)端口。

33、c 口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成 4 位的端口,每個(gè)端口包含一個(gè) 4 位鎖存器。它們分別與端口 a配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。8255 可編程并行接口芯片方式控制字格式說(shuō)明(下圖表 3.1):8255 有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是 c 口按位置位復(fù)位控制字。其中 c 口按位置位復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng)。方式控制字格式說(shuō)明如表 3.1:制字。其中 c 口按位置位復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng)d7:設(shè)定工作方式標(biāo)志,1 有效。d6、d5:a 口方式選擇 0 0 方式 0 0 1 方式 1 1 方式 2

34、d4:a 口功能 (1=輸入,0=輸出) d3:c 口高 4 位功能 (1=輸入,0=輸出)d7d6d5d4d3d2d1d0 d2:b 口方式選擇 (0=方式 0,1=方式 1) d1:b 口功能 (1=輸入,0=輸出)d0:c 口低 4 位功能 (1=輸入,0=輸出) 8255 可編程并行接口芯片工作方式說(shuō)明: 方式 0:基本輸入輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。 方式 1:選通輸入輸出方式。這時(shí) a 口或 b 口的 8 位外設(shè)線(xiàn)用作輸入或輸出,c 口的 4 條線(xiàn)中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。方式 2 :雙向總線(xiàn)方

35、式。只有 a 口具備雙向總線(xiàn)方式,8 位外設(shè)線(xiàn)用作輸入或輸出,此時(shí) c 口的 5 條線(xiàn)用作通訊聯(lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。3.3 74ls373 簡(jiǎn)介74ls373 是一種帶三態(tài)門(mén)的 8d 鎖存器,其管腳示意圖如圖 3.4 所示:其中:1d-8d 為 8 個(gè)輸入端。 1q-8q 為 8 個(gè)輸出端。 le 為數(shù)據(jù)打入端:當(dāng) le 為“1”時(shí),鎖存器輸出 狀態(tài)同輸入狀態(tài);當(dāng) le 由“1”變“0”時(shí),數(shù)據(jù) 打入鎖存器 oe 為輸出允許端:當(dāng) oe=0 時(shí),三態(tài)門(mén)打開(kāi); 當(dāng) oe=1 時(shí),三態(tài)門(mén)關(guān)閉,輸出高阻。 圖 3.4 74ls373 管腳示意圖單片機(jī)系統(tǒng)中常用的地址鎖存器芯片 74ls373 以及

36、 coms 的 74hc373。是帶三態(tài)緩沖輸出的 8d 觸發(fā)器,其引腳圖如圖 3.5 所示: 圖 3.5 74ls373 引腳圖(1).1 腳是輸出使能(oe),是低電平有效,當(dāng) 1 腳是高電平時(shí),不管輸入3、4、7、8、13、14、17、18 如何,也不管 11 腳(鎖存控制端,g)如何,輸出2(q0)、5(q1)、6(q2)、9(q3)、12(q4)、15(q5)、16(q6)、19(q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài))。(2).當(dāng) 1 腳是低電平時(shí),只要 11 腳(鎖存控制端,g)上出現(xiàn)一個(gè)下降沿,輸出2(q0)、5(q1)、6(q2)、9(q3)、12(q4)、15(q5)、16

37、(q6)、19(q7)立即呈現(xiàn)輸入腳 3、4、7、8、13、14、17、18 的狀態(tài).鎖存端 le 由高變低時(shí),輸出端 8 位信息被鎖存,直到 le 端再次有效。 當(dāng)三態(tài)門(mén)使能信號(hào) oe 為低電平時(shí),三態(tài)門(mén)導(dǎo)通,允許 q0q7 輸出,oe 為高電平時(shí),輸出懸空。當(dāng) 74ls373 用作地址鎖存器時(shí),應(yīng)使 oe 為低電平,此時(shí)鎖存使能端 c 為高電平時(shí),輸出 q0q7 狀態(tài)與輸入端 d1d7 狀態(tài)相同;當(dāng) c 發(fā)生負(fù)的跳變時(shí),輸入端 d0d7 數(shù)據(jù)鎖入 q0q7。51 單片機(jī)的 ale 信號(hào)可以直接與74ls373 的 c 連接。表 3.2 74ls373 功能表eg功能00直通 qi = di

38、01保持(qi 保持不變) 1x輸出高阻e g d q l h h h l h l l l l x q 上表 3.2 是 74ls373 的真值表,表中: l低電平; h高電平; x不定態(tài); q0建立穩(wěn)態(tài)前 q 的電平; g輸入端,與 8031ale 連高電平:暢通無(wú)阻低電平:關(guān)門(mén)鎖存。圖中 oe使能端,接地。 當(dāng) g=“1”時(shí),74ls373 輸出端 1q8q 與輸入端 1d8d 相同; 當(dāng) g 為下降沿時(shí),將輸入數(shù)據(jù)鎖存。74ls373 是常用的地址鎖存器芯片,它實(shí)質(zhì)是一個(gè)是帶三態(tài)緩沖輸出的 8d 觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要一塊 74ls373 芯片。3.4 max

39、692 簡(jiǎn)介max692 是微系統(tǒng)監(jiān)控電路芯片,具有后備電池切換、掉電判別、看門(mén)狗監(jiān)控等功能。voutvout vbattvbattvcc / resetgndgnd wdiwdi pfipfi /pfd/pfd圖 3.6 max692 封裝和引腳vout:電源輸出引腳。vcc:接電源引腳,電源供電 3.05.5v。gnd:接地。pfi:電池故障輸入。/pfo:電池故障輸出。wdi:監(jiān)視器輸入引腳。/reset:復(fù)位輸出引腳,低電平有效。vbatt:后備電池輸入端。max69212345678第 4 章 系統(tǒng)硬件設(shè)計(jì)4.1 系統(tǒng)總框圖設(shè)計(jì)8051系統(tǒng)處理鎖存鍵盤(pán)設(shè)置時(shí)間參數(shù)8255a擴(kuò)展cpu

40、的并行接口顯示時(shí)間交通燈紅燈報(bào)警及記錄車(chē)流量紅外對(duì)管檢測(cè)信號(hào)輸入看門(mén)狗max692片選圖 4.1 系統(tǒng)總框圖(1)開(kāi)關(guān)鍵盤(pán)輸入交通燈初始時(shí)間,通過(guò) 8051 單片機(jī) p1 輸入到系統(tǒng)(2)由 8051 單片機(jī)的定時(shí)器每秒鐘通過(guò) p0 口向 8255 的數(shù)據(jù)口送信息,由 8255 的 pa 口顯示紅、綠、黃燈的燃亮情況;由 8255 的 pc 口顯示每個(gè)燈的燃亮?xí)r間。(3)通過(guò) 8031 設(shè)置各個(gè)信號(hào)等的燃亮?xí)r間,綠、紅時(shí)間分別為 60 秒、80 秒。(4)通過(guò) 8051 單片機(jī)的 p3.0 位來(lái)控制系統(tǒng)是工作或設(shè)置初值,當(dāng).牌位0 就對(duì)系統(tǒng)進(jìn)行初始化,為 1 系統(tǒng)就開(kāi)始工作。(5)紅燈倒計(jì)時(shí)時(shí)

41、間,當(dāng)有車(chē)輛闖紅燈時(shí),啟動(dòng)蜂鳴器進(jìn)行報(bào)警,3s 后然后恢復(fù)正常。(6)增加每次綠燈時(shí)間車(chē)流量檢測(cè)的功能,并且通過(guò)查詢(xún) p2.0 端口的電平是否為低,開(kāi)關(guān)按下為低電平,雙位數(shù)碼管顯示車(chē)流量,直到下一次綠燈時(shí)間重新記入。(7)綠燈時(shí)間倒計(jì)時(shí)完畢,重新循環(huán)。4.2 各個(gè)模塊電路設(shè)計(jì)選用設(shè)備:8051 彈片機(jī)一片,8255 并行通用接口芯片一片,74ls07 兩片,max692看門(mén)狗一片,共陰極的七段數(shù)碼管兩個(gè)雙向晶閘管若干,7805 三端穩(wěn)壓電源一個(gè),紅、黃、綠交通燈各兩個(gè),開(kāi)關(guān)鍵盤(pán)、連線(xiàn)若干。4.2.1 鍵盤(pán)設(shè)置電路鍵盤(pán)是單片機(jī)應(yīng)用系統(tǒng)的一個(gè)重要輸入設(shè)備,用于輸入數(shù)據(jù)、干預(yù)系統(tǒng)的工作狀態(tài)。1.單片

42、機(jī)上的按鍵單片機(jī)系統(tǒng)中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵, 這些按鍵的連接方式,可分為獨(dú)立式按鍵和行列式鍵盤(pán)。觸點(diǎn)式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如圖所示,抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為 510 ms。在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施。這一點(diǎn)可從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時(shí),可采用硬件去抖,而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖。圖 4.2 去抖動(dòng)電路在硬件上可采用在

43、鍵輸出端加 r-s 觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路。圖 4.2 是一種由 r-s 觸發(fā)器構(gòu)成的去抖動(dòng)電路,當(dāng)觸發(fā)器一旦翻轉(zhuǎn),觸點(diǎn)抖動(dòng)不會(huì)對(duì)其產(chǎn)生任何影響。2.電路工作過(guò)程按鍵未按下時(shí),a = 0,b = 1,輸出 q = 1。按鍵按下時(shí),因按鍵的機(jī)械彈性作用的影響,使按鍵產(chǎn)生抖動(dòng)。當(dāng)開(kāi)關(guān)沒(méi)有穩(wěn)定到達(dá) b 端時(shí),因與非門(mén) 2 輸出為 0反饋到與非門(mén) 1 的輸入端,封鎖了與非門(mén) 1,雙穩(wěn)態(tài)電路的狀態(tài)不會(huì)改變,輸出保持為 1,輸出 q 不會(huì)產(chǎn)生抖動(dòng)的波形。 圖 4.3 鍵盤(pán)輸出電路當(dāng)開(kāi)關(guān)穩(wěn)定到達(dá) b 端時(shí),因 a = 1,b = 0,使 q = 0,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn)。當(dāng)釋放

44、按鍵時(shí),在開(kāi)關(guān)未穩(wěn)定到達(dá) a 端時(shí),因 q = 0,封鎖了與非門(mén) 2,雙穩(wěn)態(tài)電路的狀態(tài)不變,輸出 q 保持不變,消除了后沿的抖動(dòng)波形。當(dāng)開(kāi)關(guān)穩(wěn)定到達(dá)a 端時(shí),因 a = 0,b = 1,使 q = 1,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn),輸出 q 重新返回原狀態(tài)。由此可見(jiàn),鍵盤(pán)輸出經(jīng)雙穩(wěn)態(tài)電路之后,輸出已變?yōu)橐?guī)范的矩形方波。3.行列式鍵盤(pán)接口電路單片機(jī)系統(tǒng)中,若使用按鍵較多時(shí),通常采用行列式(也稱(chēng)行列式)鍵盤(pán)。用i/o 口線(xiàn)組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。例如用 22 的行、列可構(gòu)成 4 個(gè)鍵的鍵盤(pán),44 的行列結(jié)構(gòu)可構(gòu)成 16 個(gè)鍵的鍵盤(pán)。因此,在按鍵數(shù)量較多時(shí),可以節(jié)省 i/o 口線(xiàn)。4.中斷

45、掃描方式單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤(pán)輸入,因此,cpu 經(jīng)常處于空掃描狀態(tài)。 為提高 cpu 工作效率,可采用中斷掃描工作方式。其工作過(guò)程如下:當(dāng)無(wú)鍵按下時(shí),cpu 處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,cpu 轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序,并識(shí)別鍵號(hào)。 圖 4.4 鍵盤(pán)接口電路圖 4.4 是一種簡(jiǎn)易鍵盤(pán)接口電路,該鍵盤(pán)是由 8051 p1 口的高、低字節(jié)構(gòu)成的 44 鍵盤(pán)。鍵盤(pán)的列線(xiàn)與 p1 口的高 4 位相連,鍵盤(pán)的行線(xiàn)與 p1 口的低 4 位相連,因此,p1.4p1.7 是鍵輸出線(xiàn),p1.0p1.3 是掃描輸入線(xiàn)。圖4.4 中的 4 輸入與門(mén)用于產(chǎn)生按鍵中斷,其輸入端與各列線(xiàn)相

46、連,再通過(guò)上拉電阻接至+5v 電源,輸出端接至 8051 的外部中斷輸入端。具體工作如下:當(dāng)鍵盤(pán)無(wú)鍵按下時(shí),與門(mén)各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時(shí),int0 端為低電平,向 cpu 申請(qǐng)中斷,若 cpu 開(kāi)放外部中斷,則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤(pán)掃 4.2.2 看門(mén)狗硬件電路由于單片機(jī)自身的抗干擾能力比較差,尤其在一些條件比較惡劣、噪聲大的場(chǎng)合,常會(huì)出現(xiàn)單片機(jī)因?yàn)槭芡饨绺蓴_而導(dǎo)致死機(jī)的現(xiàn)象,造成系統(tǒng)不能正常工作。設(shè)置看門(mén)狗是為了防止單片機(jī)死機(jī)、提高單片機(jī)系統(tǒng)抗干擾性的一種重要途徑。一個(gè)完整的單片機(jī)應(yīng)用系統(tǒng)應(yīng)該是一個(gè)軟、硬件的結(jié)合體。系統(tǒng)正常工作時(shí),會(huì)受到各種外界干擾因素的影

47、響。這種外界干擾輕者導(dǎo)致系統(tǒng)內(nèi)部數(shù)據(jù)出錯(cuò),重者將嚴(yán)重影響程序的運(yùn)行。因此單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)一定要考慮系統(tǒng)可靠性的設(shè)計(jì),以滿(mǎn)足系統(tǒng)在現(xiàn)場(chǎng)苛刻環(huán)境下的正常運(yùn)行,而“看門(mén)狗”則是系統(tǒng)可靠性設(shè)計(jì)的重要一環(huán)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,所謂的“看門(mén)狗”是指在系統(tǒng)設(shè)計(jì)中通過(guò)軟件或硬件方式在一定的周期內(nèi)監(jiān)控單片機(jī)或其他 cpu 的運(yùn)行情況。如果在規(guī)定的時(shí)間內(nèi)沒(méi)有收到來(lái)自單片機(jī)或其他 cpu 的觸發(fā)信號(hào),則系統(tǒng)會(huì)強(qiáng)制復(fù)位,以保證系統(tǒng)在受到干擾時(shí)仍能夠維持正常的工作狀態(tài)。在單片機(jī)系統(tǒng)中,看門(mén)狗的設(shè)計(jì)一般采用硬件和軟件結(jié)合兩種方式。硬件看門(mén)狗專(zhuān)用硬件看門(mén)狗是指一些集成化的或集成在單片機(jī)內(nèi)的專(zhuān)用看門(mén)狗電路,它實(shí)際上是

48、一個(gè)特殊的定時(shí)器,當(dāng)定時(shí)時(shí)間到時(shí),發(fā)出溢出脈沖。從實(shí)現(xiàn)角度上看,該方式是一種軟件與片外專(zhuān)用電路相結(jié)合的技術(shù),硬件電路連接好后,在程序中適當(dāng)?shù)夭迦胍恍┛撮T(mén)狗復(fù)位的指令,保證程序正常運(yùn)行時(shí)看門(mén)狗不溢出。而當(dāng)程序運(yùn)行異常時(shí),看門(mén)狗超時(shí)發(fā)出溢出脈沖,通過(guò)單片機(jī)的 reset 引腳使單片機(jī)復(fù)位。這種方式中,看門(mén)狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關(guān)系。目前常用的集成看門(mén)狗電路很多,如max705708、max813l、x5043/5045 等??撮T(mén)狗電路可以分為內(nèi)看門(mén)狗和外看門(mén)狗??撮T(mén)狗電路是指看門(mén)狗的硬件電路包含在單片機(jī)內(nèi)部,如 microchip 的 16c5x 系列,moto

49、rola 的 68c05 系列,51 內(nèi)核中比較典型的有 atmel 公司的 at89c55wd、at89s8252,winbond 公司的w77e58,sst 公司的 sst89c58 以及 philips 公司 87 系列的多種型號(hào)的單片機(jī)等。對(duì)于沒(méi)有看門(mén)狗定時(shí)器的單片機(jī)或是認(rèn)為內(nèi)部看門(mén)狗不可靠時(shí),可以采用外部看門(mén)狗定時(shí)器。外部看門(mén)狗電路既可以用專(zhuān)用看門(mén)狗芯片,也可由普通芯片實(shí)現(xiàn)。max692 在本文的單片機(jī)系統(tǒng)中的具體使用方法和電路原理圖如圖 4.5 所示。如圖 4.5 所示,其中 wdi 是看門(mén)狗監(jiān)測(cè)輸入腳,接到 cpu 的一個(gè)專(zhuān)用 i/o口或一個(gè)總線(xiàn)上。/reset 是復(fù)位信號(hào)輸出腳

50、,接到 cpu 的復(fù)位輸入腳。max692 的 wdi 定時(shí)周期是 1.6s,復(fù)位脈沖寬度是 200ms。如果 wdi 保持高或低超過(guò)看門(mén)狗定時(shí)周期(1.6s) ,/reset 端將發(fā)生 200ms 的負(fù)脈沖使 cpu 復(fù)位。4.5 max692 電路原理圖4.2.3 顯示電路顯示器是最常見(jiàn)的輸出設(shè)備。特別是發(fā)光二極管(led)和液晶顯示器(lcd) ,由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、接口容易,得到廣泛的應(yīng)用,尤其在單片機(jī)系統(tǒng)中大量使用?,F(xiàn)在簡(jiǎn)單介紹 發(fā)光二極管。發(fā)光顯示器是單片機(jī)應(yīng)用產(chǎn)品中常用的廉價(jià)輸出設(shè)備。它是由若干個(gè)發(fā)光二級(jí)管組成的,但發(fā)光二級(jí)管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)比劃發(fā)光,控制不同組合的

51、二級(jí)管導(dǎo)通,就顯示出各種字符。點(diǎn)亮顯示器有靜態(tài)和動(dòng)態(tài)兩種方法。所謂靜態(tài)顯示,就是顯示器顯示某個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。例如,七段顯示器的 a,b,c,d,e,f 導(dǎo)通,g 截止,則顯示 0.這種顯示器方式,每一位都需要一個(gè) 8 位輸出口控制,所以占用硬件多,一般用于顯示器為數(shù)較?。ê苌伲┑膱?chǎng)合。當(dāng)位數(shù)較多時(shí),用靜態(tài)顯示所需的 i/o 口太多,一般采用動(dòng)態(tài)顯示方法。所謂動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)亮各位顯示器(掃描) ,對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的點(diǎn)亮既跟點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也跟點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間的參數(shù),可實(shí)現(xiàn)亮度較高較穩(wěn)定的

52、顯示。若顯示器的位數(shù)不大于 8 位,則控制顯示器公共極電位只需一個(gè) i/o 口(稱(chēng)掃描口) ,控制各位顯示器的字形也需一個(gè) 8 位口。圖 4.6 數(shù)碼管顯示圖圖 4.7 晶閘管和數(shù)碼管要是行人能看見(jiàn)信號(hào)燈的情況,必須把 8255 輸出的信號(hào)進(jìn)行放大 vt 為雙向晶閘管,當(dāng)門(mén)極為高電平時(shí)晶閘管導(dǎo)通,該支路指示燈亮;當(dāng)門(mén)極為低電平時(shí)晶閘管管斷,該支路指示燈滅。4.2.4 交通燈的控制電路要求每個(gè)方向有三盞燈,分別為紅、黃、綠,配以紅、黃、綠三組時(shí)間到計(jì)時(shí)顯示。每個(gè)方向的綠黃燈的定時(shí)時(shí)間可以預(yù)設(shè),一個(gè)方向綠燈、黃燈亮?xí)r,另一個(gè)方向紅燈亮。每盞燈順序點(diǎn)亮,循環(huán)往復(fù),每個(gè)方向順序?yàn)榫G燈、黃燈、紅燈。交通

53、燈的運(yùn)行狀態(tài)共有四種,分別為:東西方向綠燈亮、東西方向黃燈亮、南北方向綠燈亮和南北方向黃燈亮。在東西方向綠燈和黃燈亮?xí)r,南北方向紅燈亮,并且紅燈的倒計(jì)初始值為綠燈的倒計(jì)初始值和黃燈的倒計(jì)初始值之和。1. 8051 并行口的擴(kuò)展8051 雖然有 4 個(gè) 8 位 i/o 端口,但真正能提供借用的只有 p1 口,因?yàn)?p2 和p0 口通常用于傳送外部傳送地址和數(shù)據(jù),p3 口也有它的第二功能。因此,8051通常需要擴(kuò)展。由于我們用外部輸入設(shè)定紅綠燈倒計(jì)時(shí)初值、數(shù)碼管的輸出顯示、紅綠黃信號(hào)燈的顯示都要用到一個(gè) i/o 端口,顯然 8051 的端口是不夠,需要擴(kuò)展。擴(kuò)展的方法有兩種:(1)借用外部 ram

54、 地址來(lái)擴(kuò)展 i/o 端口;(2)采用i/o 接口新片來(lái)擴(kuò)充。我們用 8255 并行接口信片來(lái)擴(kuò)展 i/o 端口。2. 8255pa 口輸出信號(hào)接信號(hào)燈:由于發(fā)光二極管為共陽(yáng)極接法,輸出端口為低電平,對(duì)應(yīng)的二極管發(fā)光,所以可以用置位方法點(diǎn)亮紅,綠,黃發(fā)光二極管。第 5 章 系統(tǒng)的軟件設(shè)計(jì)5.1 系統(tǒng)總程序設(shè)計(jì) 圖 5.1 程序總流程圖主程序中放了一個(gè)按鍵的判斷指令,當(dāng)有鍵按下的時(shí)候,程序就跳到按鍵子程序處理,當(dāng)檢測(cè)到 k2 鍵按下的時(shí)候就自動(dòng)返回到主程序。按緊急預(yù)按鍵 k5 后,先出現(xiàn)全紅狀態(tài),再按下該鍵,就出現(xiàn)一方通行狀態(tài),再按,則另一方通行,如此循環(huán)。 按手動(dòng)控制鍵后,進(jìn)行手動(dòng)控制,每按一

55、次,燈會(huì)轉(zhuǎn)到下一個(gè)狀態(tài)。 按恢復(fù)鍵對(duì)上兩者進(jìn)行恢復(fù)到正常狀態(tài)。r4 存放黃燈時(shí)間 5 03h r5 存放紅燈時(shí)間 60 3ch r6 存放綠燈時(shí)間 80 50h pc0 顯示黃燈信號(hào) pc1 顯示紅燈信號(hào)pc2 顯示黃燈信號(hào) 8255 工作于方式 0 8255 pa、pb、 pc 口輸出 pc 控制字為 10000000b (80h)5.2 每秒鐘的設(shè)定延時(shí)方法可以有兩種一中是利用 mcs-51 內(nèi)部定時(shí)器才生溢出中斷來(lái)確定 1秒的時(shí)間,另一種是采用軟延時(shí)的方法。5.2.1 計(jì)數(shù)器初值計(jì)算定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到 th 和 tl 中的。他是以加法記數(shù)的,并能從全 1

56、到全 0 時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿(mǎn)為零所需的計(jì)數(shù)值設(shè)定為 c 和計(jì)數(shù)初值設(shè)定為 tc 可得到如下計(jì)算通式:tc=m-c式中,m 為計(jì)數(shù)器摸值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式 0 時(shí) m 為 213 ;在方式 1 時(shí) m 的值為 216;在方式 2 和 3 為 285.2.2 計(jì)算公式 t=(mtc)t 計(jì)數(shù) 或t 計(jì)數(shù)t 計(jì)數(shù)是單片機(jī)時(shí)鐘周期clk 的 12 倍;為定時(shí)初值如單片機(jī)的主脈沖頻率為clk12,經(jīng)過(guò) 12 分頻方式 213微秒8.192 毫秒方式 216微秒65.563 毫秒顯然秒鐘已經(jīng)超過(guò)了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才

57、能解決這個(gè)問(wèn)題5.2.3 秒的方法我們采用在主程序中設(shè)定一個(gè)初值為的軟件計(jì)數(shù)器和使定時(shí)毫秒這樣每當(dāng)?shù)胶撩霑r(shí)就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,先使軟件計(jì)數(shù)器減,然后判斷它是否為零。為零表示秒已到可以返回到輸出時(shí)間顯示程序。5.2.4 相應(yīng)程序代碼()主程序定時(shí)器需定時(shí)毫秒,故工作于方式。初值: t 計(jì)數(shù)ms/1us=15536=3cboh org 1000h start: mov tmod, #01h ; 令為定時(shí)器方式 mov th0, #3ch ;裝入定時(shí)器初值 mov tl0, #boh; mov ie,#82h ;開(kāi)中斷 sebt to;啟動(dòng)計(jì)數(shù)器 mo

58、v ro,#14h;軟件計(jì)數(shù)器賦初值loop:sjmp $;等待中斷(2)中斷服務(wù)子程序 orgooobh ajmpbrto orgoobhbrto:djnz ro,nextajmp time ; 跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序djnz:movro,14#;恢復(fù)值 mov th0, #3ch ;重裝入定時(shí)器初值 mov tl0, #boh; mov ie,#82h ret1end5.2.5 軟件延時(shí) mcs-51 的工作頻率為 2-12mhz,我們選用的 8051 單片機(jī)的工作頻率為6mhz。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的 12 倍,所以一個(gè)機(jī)器周期的時(shí)間為 12*(1/6m)=2us。我

59、們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定 1 秒的時(shí)間。 具體的延時(shí)程序分析: delay:mov r4,#08h 延時(shí) 1 秒子程序 de2:lcall delay1 djnz r4,de2 retdelay1:mov r6,#0 延時(shí) 125ms 子程序 mov r5,#0de1: djnz r5,$ djnz r6,de1 retmov rn,#data 字節(jié)數(shù)數(shù)為 2,機(jī)器周期數(shù)為 1,所以此指令的執(zhí)行時(shí)間為 2ms delay1 為一雙重循環(huán),循環(huán)次數(shù)為 256*256=65536,所以延時(shí)時(shí)間=65536*2=131072us 約為 125us del

60、ay r4 設(shè)置的初值為 8,主延時(shí)程序循環(huán) 8 次,所以 125us*8= 1 秒 由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。5.3 顯示程序設(shè)計(jì)5.3.1 顯示原理當(dāng)定時(shí)器定時(shí)為 1 秒,時(shí)程序跳轉(zhuǎn)到時(shí)間顯示及信號(hào)燈顯示子程序,它將依次顯示信號(hào)燈時(shí)間 ,同時(shí)一直顯示信號(hào)燈的顏色,這時(shí)在返回定時(shí)子程序定時(shí)一秒,在顯示黃燈的下一個(gè)時(shí)間,這樣依次把所有的燈色的時(shí)間顯示完后在重新給時(shí)間計(jì)數(shù)器賦初值 ,重新進(jìn)入循環(huán)。5.3.2 8255 輸出信號(hào)與數(shù)碼管的連接led 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)量而顯示不同的字形如 sp,g,f,e,d,c,b,a

溫馨提示

  • 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)論