版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 城市交通信號(hào)控制是通過(guò)對(duì)交通流量的調(diào)節(jié)以達(dá)到改善人和貨物的安全運(yùn)輸,提高運(yùn)營(yíng)效率。交通系統(tǒng)是一個(gè)具有隨機(jī)性、模糊性和不確定性的復(fù)雜系統(tǒng),建立數(shù)學(xué)模型非常困難,有時(shí)甚至無(wú)法用現(xiàn)有的數(shù)學(xué)方法加以描述。目前大多采用的是自適應(yīng)信號(hào)控制,它需要數(shù)學(xué)建模,且不考慮交通延誤、停車(chē)次數(shù)等。所以經(jīng)典控制法很難得到滿意的效果。而模糊控制是一種無(wú)
2、須建立數(shù)學(xué)模型的控制方法,它能模仿有經(jīng)驗(yàn)的交警指揮交通時(shí)的思路,達(dá)到很好的控制效果。近些年來(lái)我國(guó)的許多學(xué)者也都以不同的思路對(duì)單個(gè)交叉口、交通干線的模糊控制進(jìn)行了研究,但因研究的局限性,實(shí)際中得到應(yīng)用的寥寥無(wú)幾,本文實(shí)現(xiàn)基于PLC的交通信號(hào)的控制系統(tǒng)。 根據(jù)前后相流量來(lái)決定信號(hào)燈配時(shí)的模糊控制系統(tǒng)的理論研究成果,用PLC實(shí)現(xiàn)單個(gè)十字路口交通信號(hào)燈模糊控制的方法,以單個(gè)十字路口4相位交通燈為例,把PLC作為一個(gè)模糊控制器,采用梯形圖
3、編程。通過(guò)實(shí)驗(yàn)保證了系統(tǒng)運(yùn)行穩(wěn)定可靠,能根據(jù)不同的交通流量進(jìn)行模糊控制決策,優(yōu)化信號(hào)燈的配時(shí),從而可以有效的解決交通流量不均衡、不穩(wěn)定帶來(lái)的問(wèn)題。</p><p> 近年來(lái)隨著科技的飛速發(fā)展,一個(gè)以微電子技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù)為先導(dǎo)的信息革命正在蓬勃發(fā)展。計(jì)算機(jī)技術(shù)作為三者之一,怎樣與實(shí)際應(yīng)用更有效的結(jié)合并發(fā)揮其作用。單片機(jī)作為計(jì)算機(jī)技術(shù)的一個(gè)分支,正在不斷的應(yīng)用到實(shí)際生活中,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)的更新。在
4、實(shí)時(shí)檢測(cè)和自動(dòng)控制的應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件使用,針對(duì)具體應(yīng)用對(duì)象的特點(diǎn),配以其它器件來(lái)加以完善??康氖墙煌ㄐ盘?hào)燈的自動(dòng)指揮系統(tǒng),來(lái)實(shí)現(xiàn)交通的井然有序。交通信號(hào)燈控制方式很多。本系統(tǒng)采用美國(guó)ATMEL公司生產(chǎn)的單片機(jī)AT89S51,以及其它芯片來(lái)設(shè)計(jì)交通燈控制。實(shí)現(xiàn)了通過(guò)AT89S51芯片的P1口設(shè)置紅、綠燈點(diǎn)亮的功能,通過(guò)AT89S51芯片的RXD、TXD輸入、輸出設(shè)置顯示時(shí)間。交通燈的點(diǎn)亮采用發(fā)光二極管實(shí)現(xiàn),時(shí)間的顯
5、示采用七段數(shù)碼管實(shí)現(xiàn)。單片機(jī)系統(tǒng)采用的直流供電。為了系統(tǒng)穩(wěn)定可靠,系統(tǒng)內(nèi)集成了“看門(mén)狗”芯片,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生。系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性好。</p><p> 關(guān)鍵詞: 交通燈 PLC 智能控制</p><p><b> Abstract</b></p><p> City traffic signal con
6、trol is through the adjustment of the traffic flow in order to improve the safety of transport of people and goods, improve operational efficiency. Transport system is a random, fuzzy and uncertainty of complex systems,
7、it is difficult to build mathematical model, sometimes impossible to use existing mathematical methods described. At present most adaptive signal control is used, it needs mathematical model, without considering traffic
8、delays, number of stops. So the class</p><p> Decision fuzzy signal control system theory research results according to the method and flow, using PLC to achieve a single traffic lights at the crossroads of
9、 fuzzy control, the single crossroads 4 phase of traffic lights, for example, the PLC as a fuzzy controller, using ladder programming. Through the experiment to ensure the reliable operation of the system, can be fuzzy c
10、ontrol decision according to the different traffic flow, optimize signal distribution, which can effectively solve traff</p><p> In recent years, with the rapid development of science and technology, a micr
11、oelectronics technology, computer technology and communication technology as the forerunner of the information revolution is booming. As one of the three computer technology, combined with practical application more effe
12、ctive and play its role. Single chip microcomputer as a branch of computer technology, has been applied to real life, and promote the traditional control detection update. In real-time detection and auto</p><p
13、> Key words:The traffic lights PLC intelligent control</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 1 引
14、言1</b></p><p> 2 交通管理方案論證2</p><p> 2.1 設(shè)計(jì)任務(wù)2</p><p> 2.2 方案介紹2</p><p> 3 交通燈系統(tǒng)硬件設(shè)計(jì)5</p><p> 3.1 單片機(jī)概述5</p><p> 3.2 系統(tǒng)構(gòu)成5<
15、;/p><p> 3.3芯片選擇與介紹6</p><p> 4 交通燈軟件設(shè)計(jì)11</p><p> 4.1 程序設(shè)計(jì)流程圖11</p><p> 4.2延時(shí)的設(shè)定13</p><p> 4.3 程序的主控制循環(huán)調(diào)用15</p><p> 4.4 對(duì)現(xiàn)有程序的擴(kuò)充15<
16、/p><p><b> 5實(shí)驗(yàn)平臺(tái)17</b></p><p> 5.1實(shí)驗(yàn)平臺(tái)17</p><p> 5.2實(shí)驗(yàn)步驟17</p><p><b> 結(jié) 論19</b></p><p><b> 致 謝20</b></p&g
17、t;<p><b> 參考文獻(xiàn)21</b></p><p><b> 附 錄22</b></p><p><b> 1 引言</b></p><p> 今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車(chē)輛最常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p&g
18、t;<p> 1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車(chē)通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩塊以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p> 191
19、4年,電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó)。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。</p><p> 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,當(dāng)車(chē)輛接近時(shí),紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下喇叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察
20、覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車(chē)放行,以免發(fā)生交通事故。</p><p> 信號(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ò)
21、人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車(chē)輛必須在交叉路口的停車(chē)線后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線,但車(chē)輛已十分接近停車(chē)線而不能安全停車(chē)時(shí)可以進(jìn)入交叉路口。</p><p> 隨著經(jīng)濟(jì)的發(fā)展,交通運(yùn)輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問(wèn)題。道路擁擠現(xiàn)象日趨嚴(yán)重,造成的經(jīng)濟(jì)損失越來(lái)越大,并一直保持大比例的增長(zhǎng)。現(xiàn)在交通系統(tǒng)已不能滿足經(jīng)濟(jì)發(fā)展的需求。由于生活水平的提高,人們對(duì)交通運(yùn)輸?shù)陌踩?/p>
22、性及服務(wù)水平提出了更高的要求。在交通中管理引入單片機(jī)交通燈控制代替交管人員在交叉路口服務(wù),有助于提高交通運(yùn)輸?shù)陌踩?、提高交通管理的服?wù)質(zhì)量。并在一定程度上盡可能的降低由道路擁擠造成的經(jīng)濟(jì)損失,同時(shí)也減小了工作人員的勞動(dòng)強(qiáng)度。 </p><p> 中國(guó)車(chē)輛數(shù)量不斷增加,交通控制在未來(lái)的交通管理中起著越來(lái)越重要的作用。智能交通燈的管理比重修一條馬路無(wú)
23、論在經(jīng)濟(jì)、交通運(yùn)行速率上都有很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個(gè)城市交通控制,帶來(lái)更大的經(jīng)濟(jì)和社會(huì)效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作用。</p><p> 2 交通管理方案論證</p><p><b> 2.1 設(shè)計(jì)任務(wù)</b></p><p> 東西(A)、南北(B)兩干道交于一個(gè)十字路口,各干道有一組
24、紅、左轉(zhuǎn)綠、綠三個(gè)指示燈,指揮車(chē)輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。紅燈的設(shè)計(jì)時(shí)間為40秒,綠燈及左轉(zhuǎn)綠燈各為20秒。設(shè)A道和B道的車(chē)流量相同。</p><p><b> 2.2 方案介紹</b></p><p> 把設(shè)計(jì)任務(wù)細(xì)化為四個(gè)狀態(tài),其對(duì)應(yīng)狀態(tài):如圖1-1</p><p> 圖1-1 狀態(tài)轉(zhuǎn)換圖</p>
25、<p> 整個(gè)交通燈控制由四個(gè)狀態(tài)組成,可以用程序設(shè)計(jì)實(shí)現(xiàn),也可用時(shí)序邏輯實(shí)現(xiàn).以下方案就是分別用了這兩種方法。</p><p> 設(shè)計(jì)思想:采用分模塊設(shè)計(jì)的思想,程序設(shè)計(jì)實(shí)現(xiàn)的基本思想是一個(gè)計(jì)數(shù)器 , 選擇一個(gè)單片機(jī),其內(nèi)部為一個(gè)計(jì)數(shù),是十六進(jìn)制計(jì)數(shù)器,模塊化后,通過(guò)設(shè)置或程序清除來(lái)實(shí)現(xiàn)狀態(tài)的轉(zhuǎn)換, 由于每一個(gè)模塊的計(jì)數(shù)多不是相同, 這里的各模塊是以預(yù)置數(shù)和計(jì)數(shù)器計(jì)數(shù)共同來(lái)實(shí)現(xiàn)的,所以要考慮增
26、加一個(gè)置數(shù)模塊,其主要功能細(xì)分為,對(duì)不同的狀態(tài)輸入要產(chǎn)生相應(yīng)狀態(tài)的下一個(gè)狀態(tài)的預(yù)置數(shù), 如圖中A道和B道,分別為次干道的置數(shù)選擇和主干道的置數(shù)選擇。以主干道為例,簡(jiǎn)述其設(shè)計(jì)思想。如前分析,已經(jīng)確定該系統(tǒng)有四個(gè)狀態(tài),而置數(shù)子模塊可定要將下一狀態(tài)的預(yù)置數(shù)準(zhǔn)備好,所以很容易得到主干道的置數(shù)表如:表1.1</p><p> 表1.1 置數(shù)表</p><p> 由該表,就可以通過(guò)程序循環(huán)的方
27、法設(shè)計(jì)該模塊,主要思想是通過(guò)數(shù)據(jù)判斷指令、跳轉(zhuǎn)指令實(shí)現(xiàn),由主控制器計(jì)時(shí)和中斷產(chǎn)生的四個(gè)狀態(tài)去譯碼,從而得到不同的輸出,即預(yù)置數(shù),由上分析可用一個(gè)計(jì)數(shù)器和跳轉(zhuǎn)指令去完成的預(yù)置數(shù)。</p><p> 而紅綠燈的顯示也是一樣,由狀態(tài)分析可以得出紅綠燈的變化表如:表1.2</p><p> 表1.2 紅綠燈變化表</p><p> 通過(guò)這張表就可以用組合電路實(shí)現(xiàn)該功
28、能了,可以用數(shù)據(jù)選擇器的思想,在本系統(tǒng)中,直接通過(guò)門(mén)電路的譯碼,接下來(lái)就是計(jì)數(shù)模塊了,其主要的功能細(xì)分為,要從預(yù)置數(shù)開(kāi)始遞減計(jì)數(shù),一個(gè)狀態(tài)結(jié)束,通過(guò)判斷,通知主控制模塊,使之進(jìn)入下一模塊。還有一個(gè)必須考慮到的就是,預(yù)置數(shù)必須在下一個(gè)狀態(tài)來(lái)之前準(zhǔn)備好,而紅綠燈的狀態(tài)變化,必須和計(jì)數(shù)狀態(tài)同步,于是引起預(yù)置數(shù)變化的程序要超前于系統(tǒng)本身的狀態(tài)變化,所以,系統(tǒng)中的兩個(gè)狀態(tài)轉(zhuǎn)換時(shí),在上一狀態(tài)結(jié)束時(shí)設(shè)置預(yù)置數(shù),而控制紅綠燈的是隨著系統(tǒng)本身狀態(tài)的變化而
29、變化,體現(xiàn)在本子電路中就是有兩組電路去判斷符合的狀態(tài)。</p><p> 狀態(tài)轉(zhuǎn)換表如:表1.3</p><p> 表1.3 狀態(tài)轉(zhuǎn)換表</p><p><b> 本方案分三步:</b></p><p> (1)要建立三路信號(hào)燈的控制系統(tǒng),本設(shè)計(jì)采用7408 芯片通過(guò)組合邏輯控制三路燈的顯示關(guān)系。</p&
30、gt;<p> ?。?)建立顯示控制系統(tǒng),本設(shè)計(jì)采用74190 芯片倒計(jì)時(shí)控制,每個(gè)方向用兩片相連實(shí)現(xiàn),另外用74153芯片,因?yàn)榉治鲋性O(shè)置的時(shí)間末位均為5,所以只要用一片74153 對(duì)高位置位,將低位的初值預(yù)置鎖定為5,而高位則根據(jù)需要由反饋部分提供預(yù)置值。</p><p> ?。?)建立反饋和細(xì)節(jié)連接部分,本部分主要解決顯示和燈控的同步問(wèn)題本系統(tǒng)采用倒計(jì)時(shí)系統(tǒng)減為0,如當(dāng)系統(tǒng)減為0 時(shí)通過(guò)兩個(gè)D
31、觸發(fā)器得到兩個(gè)變量,即為開(kāi)頭分析中的狀態(tài),通過(guò)它的變化得到不同的邏輯關(guān)系,驅(qū)動(dòng)74153 控制哪組燈亮(對(duì)應(yīng)關(guān)系如表所示),另外他還要同步反饋到顯示系統(tǒng)的置數(shù)環(huán)節(jié)。</p><p> 注意:本實(shí)驗(yàn)中若采用更復(fù)雜的四片74190控制主干道的兩組燈,再用八片74153分別對(duì)74190置數(shù)可實(shí)現(xiàn)任意數(shù)值的交通燈系統(tǒng)。另外對(duì)7408 片子的控制紅燈的端口用一個(gè)與門(mén)將一端再接一個(gè)頻率一定的方波,使一邊為黃燈時(shí),另一邊的紅
32、燈在閃爍。</p><p> 方案比較:方案1(以下稱(chēng)1)用了模塊設(shè)計(jì),而方案2(以下稱(chēng)2)采用的是一般設(shè)計(jì),相比之下1有較強(qiáng)的可讀性和較強(qiáng)的可修改性,而2則在設(shè)計(jì)上顯得較簡(jiǎn)單,設(shè)計(jì)純樸,便于測(cè)試,它的優(yōu)勢(shì)則在于提供了一條較為便捷的解決方案。2首先將許多邏輯關(guān)系簡(jiǎn)化到極點(diǎn),而后將其一起集成用較少的芯片去完成所需功能。</p><p> 我們從中可以得出的是,我們最終的設(shè)計(jì)應(yīng)該盡量使用模
33、塊化設(shè)計(jì)。對(duì)工程設(shè)計(jì)人員來(lái)說(shuō),將來(lái)的產(chǎn)品無(wú)論從修改還是升級(jí)考慮對(duì)有好處,但另外我們又需將設(shè)計(jì)簡(jiǎn)單化,因此我覺(jué)得在設(shè)計(jì)初期盡可能的簡(jiǎn)單化設(shè)計(jì),而一旦設(shè)計(jì)的各項(xiàng)測(cè)試通過(guò)了,在有可能的條件下將設(shè)計(jì)模塊化,所以本設(shè)計(jì)以第一方案為主進(jìn)行。 </p><p> 3 交通燈系統(tǒng)硬件設(shè)計(jì)</p><p><b> 3.1 單片機(jī)概述</b></p><p>
34、; 單片機(jī)是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備以及輸出設(shè)備共五個(gè)基本部分組成的。單片機(jī)是把包括運(yùn)算器、控制器、少量的存儲(chǔ)器、最基本的輸入輸出口電路、串行口電路、中斷和定時(shí)電路等都集成在一個(gè)尺寸有限的芯片上。</p><p> 通常,單片機(jī)由單個(gè)集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。&l
35、t;/p><p> 單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引腳的多功能化,以及低電壓、低功耗。</p><p> 可以說(shuō),二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱(chēng)PC機(jī)。它由主機(jī)、鍵盤(pán)、顯示器等組成。還有一類(lèi)計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種
36、計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類(lèi)頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱(chēng)前冠以形容詞——“智能型”,如智能型洗衣機(jī)等。現(xiàn)在有
37、些工廠的技術(shù)人員或其它業(yè)余電子開(kāi)發(fā)者搞出來(lái)的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。 </p><p> 目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統(tǒng),錄像
38、機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。它主要是作為控制部分的核心部件。因此,單片機(jī)的學(xué)習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。</p><p><b> 3.2 系統(tǒng)構(gòu)成</b></p><p> 電路板一塊,AT89S51單片機(jī)一片,74HC16
39、4芯片八片,七段數(shù)碼管八個(gè)。74LS04反向器一片,發(fā)光二極管13個(gè)(8個(gè)綠的,4個(gè)紅的用于交通控制,1個(gè)用于標(biāo)識(shí)電源),7805三端穩(wěn)壓電源一個(gè),一個(gè)按鍵,一條數(shù)據(jù)下載線。</p><p> 系統(tǒng)結(jié)構(gòu)框圖如:圖3-1</p><p> 圖3-1 系統(tǒng)結(jié)構(gòu)框圖</p><p><b> 系統(tǒng)各部分工作:</b></p>&l
40、t;p> (1)程序設(shè)置初始時(shí)間,通過(guò)AT89S51單片機(jī)內(nèi)部相應(yīng)寄存器來(lái)實(shí)現(xiàn)。</p><p> (2) 由AT89S51單片機(jī)的定時(shí)器每秒鐘通過(guò)P3.0口向74HC164的數(shù)據(jù)端口送信息,由74HC164的輸出口顯示紅、綠、黃燈的點(diǎn)亮?xí)r間情況;由AT89S51的P1.0、P1.1、P1.2、P1.3口顯示每個(gè)燈的點(diǎn)亮情況。</p><p> (3) AT89S51通過(guò)程序設(shè)
41、置各個(gè)信號(hào)燈的點(diǎn)亮?xí)r間,通過(guò)程序設(shè)置左轉(zhuǎn)綠、綠、紅時(shí)間依次為20秒、20秒、40秒循環(huán),由AT89S51的 P3口向74HC164的數(shù)據(jù)口輸出。</p><p> (4)通過(guò)AT89S51單片機(jī)的P3口來(lái)控制系統(tǒng)是工作。</p><p> (5)74HC164的A、B口用于串行輸出時(shí)間位,經(jīng)過(guò)串并轉(zhuǎn)換送到七段數(shù)碼管的八的引腳。而P1口用于輸出控制信號(hào).而通過(guò)74LS04反向器實(shí)現(xiàn)控制各
42、個(gè)燈的情況.它采用5V的直流電來(lái)驅(qū)動(dòng)二極管。</p><p> (6)AT89S51本身集成了看門(mén)狗指令,當(dāng)系統(tǒng)出現(xiàn)異??撮T(mén)狗將發(fā)出溢出中斷。通過(guò)專(zhuān)用端口輸出,引起RESET復(fù)位信號(hào)復(fù)位系統(tǒng)。</p><p> 3.3芯片選擇與介紹</p><p> 3.3.1 AT89S51芯片</p><p> 選用的AT89S51與同系列的A
43、T89C51在功能上有明顯的提高,最突出是的可以實(shí)現(xiàn)在線的編程。用于實(shí)現(xiàn)系統(tǒng)的總的控制。其主要功能列舉如下:</p><p> 1、為一般控制應(yīng)用的 8 位單片機(jī)</p><p> 2、晶片內(nèi)部具有時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 33MHz)</p><p> 3、內(nèi)部程式存儲(chǔ)器(ROM)為 4KB</p><p> 4、內(nèi)部數(shù)據(jù)存
44、儲(chǔ)器(RAM)為 128B</p><p> 5、外部程序存儲(chǔ)器可擴(kuò)充至 64KB</p><p> 6、外部數(shù)據(jù)存儲(chǔ)器可擴(kuò)充至 64KB</p><p> 7、32 條雙向輸入輸出線,且每條均 可以單獨(dú)做 I/O 的控制</p><p> 8、5 個(gè)中斷向量源</p><p> 9、2 組獨(dú)立的 16 位
45、定時(shí)器</p><p> 10、1 個(gè)全雙工串行通信端口</p><p> 11、8751 及 8752 單芯片具有數(shù)據(jù)保密的功能</p><p> 12、單芯片提供位邏輯運(yùn)算指令</p><p> AT89S51各引腳功能介紹:如圖3-2</p><p> 圖3-2 AT89S51引腳功能圖</p&
46、gt;<p> VCC:ATAT89S51 電源正端輸入,接+5V。</p><p><b> VSS:電源地端。</b></p><p> XTAL1:?jiǎn)涡酒到y(tǒng)時(shí)鐘的反向放大器輸入端。</p><p> XTAL2:系統(tǒng)時(shí)鐘的反向放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就
47、可以動(dòng)作了,此外可以在兩個(gè)引腳與地之間加入一個(gè) 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定, 避免噪聲干擾而死機(jī)。 </p><p> RESET:AT89S51的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址00
48、00H處開(kāi)始讀入程序代碼而執(zhí)行程序。</p><p> 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í),此引腳
49、要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來(lái)輸入21V的燒錄高壓(Vpp)。</p><p> ALE/PROG:ALE是英文"Address Latch Enable"的縮寫(xiě),表示地址鎖存器啟用信號(hào)。ATAT89S51可以利用這個(gè)引腳來(lái)觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因?yàn)锳TAT89S51是以多工的
50、方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來(lái)驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來(lái)使用。</p><p> PSEN:此為"Program Store Enable"的縮寫(xiě),其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支
51、腳是接到EPROM的OE腳。ATAT89S51可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64K的定址范圍。</p><p> 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),而
52、是內(nèi)部有一提升電路,P0在當(dāng)作I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計(jì)者必須外加一個(gè)鎖存器將端口0送出的地址鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一組完整的16位地址總線,而定位地址到64K的外部存儲(chǔ)器空間。</p><p> PORT2(P2.0~P2.7):端
53、口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端口使用外,若是在ATAT89S51擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8~A15,這個(gè)時(shí)候P2便不能當(dāng)作I/O來(lái)使用了。</p><p> PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖
54、器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地,若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)作定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。</p><p> PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中
55、斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b> 其引腳分配如下:</b></p><p> P3.0:RXD,串行通信輸入。</p><p> P3.1:TXD,串行通信輸出。</p><p> P3.2:INT0,外部中斷0輸入。</p><p&g
56、t; P3.3:INT1,外部中斷1輸入。</p><p> P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。</p><p> P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。</p><p> P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)入信號(hào)。</p><p> P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。</p><p> 3.3.2
57、74HC164芯片介紹</p><p> 74HC164為串行輸入、并行輸出移位寄存器,74HC164為單向總線驅(qū)動(dòng)器。</p><p> 在串行口為方式0狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的十二分之一。器件執(zhí)行任何一條將SBUF作為目的寄存器的命令時(shí),數(shù)據(jù)便開(kāi)始從RXD端發(fā)送。在寫(xiě)信號(hào)有效時(shí),相隔 一個(gè)機(jī)器周期后發(fā)送控制端SEND有效,即允許RXD發(fā)送數(shù)據(jù),同時(shí),允許從T
58、XD端輸出移位脈沖。第一幀(8位)數(shù)據(jù)發(fā)送完畢時(shí),各控制信號(hào)均恢復(fù)原狀態(tài),只有TI保持高電平,呈中斷申請(qǐng)狀態(tài)。第一個(gè)74HC164把第一幀數(shù)據(jù)并行輸出,LED1顯示該數(shù)據(jù)。然后,用軟件將TI清0,發(fā)送第二幀數(shù)據(jù)。第二幀數(shù)據(jù)發(fā)送完畢,LED1顯示第二幀數(shù)據(jù),第一幀數(shù)據(jù)串行輸入給第二個(gè)74HC164,LED2顯示第一幀數(shù)據(jù)。依此類(lèi)推,直到把數(shù)據(jù)區(qū)內(nèi)所有數(shù)據(jù)發(fā)送出去。應(yīng)該注意,數(shù)據(jù)全部發(fā)送完后,第一幀數(shù)據(jù)在最后一個(gè)LED顯示。由于TXD端最多
59、可以驅(qū)動(dòng)8個(gè)TTL門(mén)。</p><p> 3.3.3 74LS04輸出信號(hào)與信號(hào)燈</p><p> 要使行人能看見(jiàn)信號(hào)燈的情況,必須把P1口輸出的信號(hào)進(jìn)行放大,這里我們用74LS04反向器,當(dāng)極性為高電平時(shí)晶閘管導(dǎo)通,該支路指示燈亮;當(dāng)極性為低電平時(shí)關(guān)斷,該支路指示燈滅。</p><p> LED 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管
60、是否點(diǎn)亮。 </p><p> 七段數(shù)碼管的顯示及與74HC164的連接顯示不同的數(shù)字如 SP,g,f,e,d,c,b,a 管角上加上0FEH所以?。樱猩蠟椋胺?,不亮其余為TTL高電平,全亮則顯示為8。</p><p>
61、; 74LS04(6反向器)主要對(duì)信號(hào)</p><p><b> 起了反向作用。</b></p><p><b> 其它器件的功能如:</b></p><p> 7805的功能,既提供穩(wěn)定的+5V電壓。</p><p> 3.3.4 交通燈控制線路圖 </p><p
62、><b> 4 交通燈軟件設(shè)計(jì)</b></p><p> 4.1 程序設(shè)計(jì)流程圖</p><p> (1) 程序設(shè)計(jì)總框圖:如圖4-1</p><p> 圖4-1 程序設(shè)計(jì)框圖</p><p> (2)程序詳細(xì)流程圖:如圖4-2</p><p> 圖4-2程序詳細(xì)流程圖<
63、/p><p><b> 流程圖說(shuō)明:</b></p><p> 圖中定時(shí)器在每50ms中斷一下,設(shè)置為循環(huán)20次(此時(shí)為1秒),每1秒以后,R0,R1自動(dòng)減1。</p><p> 程序中的判斷在相等情況下從右邊出,不相同的情況往下走。</p><p><b> 4.2延時(shí)的設(shè)定</b></
64、p><p> 延時(shí)方法可以有兩種一種是利用AT89S51內(nèi)部定時(shí)器的溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟件延時(shí)的方法。</p><p> 4.2.1 計(jì)數(shù)器初值計(jì)算</p><p> 定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和
65、計(jì)數(shù)初值設(shè)定為T(mén)C 可得到如下計(jì)算通式:</p><p><b> TC=M-C</b></p><p> 式中,M為計(jì)數(shù)器模值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為213 ;在方式1時(shí)M的值為216;在方式2和3為28 ; </p><p><b> 算法公式:</b></p><p>
66、; T=(M-TC)T計(jì)數(shù) 或TC=M-T/T計(jì)數(shù)</p><p> T計(jì)數(shù)是單片機(jī)時(shí)鐘周期TCLK的12倍;TC為定時(shí)初值</p><p> 如單片機(jī)的主脈沖頻率為TCLK12MHZ ,經(jīng)過(guò)12分頻</p><p> 方式0 TMAX=213 ×1微秒=8.192毫秒</p><p> 方式1 TMAX=2
67、16 ×1微秒=65.536毫秒</p><p> 顯然1秒鐘已經(jīng)超過(guò)了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問(wèn)題.</p><p><b> 實(shí)現(xiàn)1秒的方法:</b></p><p> 我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T1定時(shí)50毫秒。這樣每當(dāng)T1到50毫秒時(shí)CPU就響應(yīng)它
68、的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為0表示1秒已到可以返回到輸出時(shí)間顯示程序。</p><p> 4.2.2 相應(yīng)程序代碼</p><p> ?。ǎ保┒〞r(shí)器的設(shè)置 </p><p> 定時(shí)器需定時(shí)50毫秒,故T1工作于方式1?!?lt;/p><p> 初值計(jì)算: T
69、C=M-T/T計(jì)數(shù)?。?16-50ms/1us=15536=3CBOH</p><p> START: MOV TMOD, #10H ;令TO為定時(shí)器方式1</p><p> MOV TH0, #3CH ;裝入定時(shí)器初值</p><p> MOV TL0, #0BOH </p><p> SET
70、B EA ; 打開(kāi)總中斷</p><p> SETB ET1 ;開(kāi)T1中斷</p><p> SETB ER ;啟動(dòng)T1計(jì)數(shù)器</p><p> CLR FLAG1 </p><p> CLR FLAG2 </
71、p><p> CLR FLAG3 </p><p> MOV R3, #20H ;軟件計(jì)數(shù)器賦初值</p><p> ?。ǎ玻┫鄳?yīng)中斷服務(wù)子程序</p><p> ORG 001BH</p><p><b> LJMP DSD</b></p>&
72、lt;p> ORG 0030H</p><p> DSD: INC R3</p><p> MOV TH0, #3CH ;重裝入定時(shí)器初值</p><p> MOV TL0, #BOH </p><p> CJNE R3,#20,F(xiàn)H</p><p><b&
73、gt; DEC R0 </b></p><p><b> DEC R1</b></p><p> MOV R3,#00H</p><p> FH: RETI</p><p><b> 程序的軟件延時(shí):</b></p><p> AT89S51的工
74、作頻率為0—33MHZ,我們選用的AT89S51單片機(jī)的工作頻率為12MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12M)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間。</p><p> 具體的延時(shí)程序分析:</p><p> DELAY: MOV R4,#08H 延時(shí)1秒主程序</
75、p><p> DE2: LCALL DELAY1 </p><p> DJNZ R4, DE2</p><p><b> RET</b></p><p> DELAY1:MOV R4,#00H ;延時(shí)125us 子程序</p><p> D1: MOV R5,#00H</p&g
76、t;<p> D2: DJNE R5,DL2</p><p> DJNE R4,D1</p><p><b> RET </b></p><p> DELAY1為一個(gè)雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時(shí)時(shí)間=65536*2=131072us 約為125us </p><p&g
77、t; DELAY R4設(shè)置的初值為8 主延時(shí)程序循環(huán)8次,所以125us*8= 1秒</p><p> 由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。</p><p> 4.3 程序的主控制循環(huán)調(diào)用</p><p> 用來(lái)實(shí)現(xiàn)四個(gè)狀態(tài)之間的轉(zhuǎn)換,代碼如下:</p><p> DIAOY:;循環(huán)控制子程序
78、</p><p> CJNE R2, #01H, AA;判斷不相等剛跳轉(zhuǎn)</p><p> JB FLAG1, AA;FLAG1為1則跳轉(zhuǎn)</p><p> LJMP SEC ;跳轉(zhuǎn)到SEC</p><p> AA:CJNE R2, #02H, AAA</p><p>
79、JB FLAG2, AAA</p><p><b> SETB F0</b></p><p><b> LJMP THR</b></p><p> AAA:CJNE R2, #03H, BB</p><p> JB FLAG3, BB</p><p><b&
80、gt; LJMP FOU</b></p><p> BB:CJNE R2, #04H, BBB;判斷不相等則跳轉(zhuǎn)</p><p> CLR F0;F0位清0</p><p><b> CLR FLAG1</b></p><p><b> CLR FLAG2</b>
81、;</p><p><b> CLR FLAG3</b></p><p><b> LJMP FIR</b></p><p> BBB:CJNE R0, #00H, SGL</p><p> INC R2;R2加1</p><p> LJMP DIA
82、OY</p><p> 4.4 對(duì)現(xiàn)有程序的擴(kuò)充 </p><p> 當(dāng)由于緊急需要對(duì)道路進(jìn)行長(zhǎng)時(shí)間通行時(shí),就要保持該道路更長(zhǎng)時(shí)間的通行。下面以東西方向?yàn)槔M(jìn)行緊急通行為例。</p><p> 緊急通行是平常通行的特例,只要將相應(yīng)的代碼去掉就可以實(shí)現(xiàn)延長(zhǎng)本車(chē)道的通行時(shí)間。設(shè)置通行時(shí)間為20秒。</p><p><b> 核
83、心代碼如下:</b></p><p> FIR:MOV P1, #00H</p><p><b> SETB P1.0</b></p><p><b> CLR P1.1</b></p><p><b> CLR P1.2</b></p>
84、<p><b> CLR P1.3</b></p><p> MOV R0, #20</p><p> MOV R1, #20</p><p> CJNE R0, #00H, SGL</p><p><b> LJMP FIR</b></p><p>
85、要實(shí)現(xiàn)東西方向的左轉(zhuǎn)通行時(shí),只需要修改FIR中的代碼就可以了。時(shí)間顯示只要修改R0和R1就可以了。</p><p> 要實(shí)現(xiàn)南北方及左轉(zhuǎn),只要把SGL換成SGL1、把FIR 中代碼進(jìn)行相應(yīng)的修改就可以了。由于時(shí)間緊張,程序有不完善的地方。</p><p> 原程序見(jiàn)程序?qū)崿F(xiàn)代碼。</p><p><b> 5實(shí)驗(yàn)平臺(tái)</b></p&
86、gt;<p><b> 5.1實(shí)驗(yàn)平臺(tái)</b></p><p> 我們采用的是Keil Software生產(chǎn)的Cx51編譯器。運(yùn)行在Windows XP操作平臺(tái)下。 </p><p> 開(kāi)啟計(jì)算機(jī)進(jìn)入Keil C51編譯器介面。如圖5-1</p><p> 圖5-1 Keil C51編譯器介面</p><
87、;p><b> 5.2實(shí)驗(yàn)步驟</b></p><p><b> 編寫(xiě)程序代碼:</b></p><p> 程序代碼分為3個(gè)模塊:中斷模塊,循環(huán)模塊,算法模塊。(見(jiàn)程序?qū)崿F(xiàn)代碼)</p><p> 按照系統(tǒng)硬件連線圖連接好系統(tǒng)并調(diào)試:</p><p><b> ?。保{(diào)試程序
88、</b></p><p> ?、?打開(kāi)Keil軟件,新建工程;</p><p><b> ⑵ 選擇芯片;</b></p><p> ?、?新建文檔,把編寫(xiě)好代碼寫(xiě)入文檔并保存了ASM文件; </p><p> ⑷ 把保存的文檔加載到Source Group;</p><p><
89、;b> ?、删幾g程序;</b></p><p> ⑹設(shè)置轉(zhuǎn)換成16進(jìn)制;</p><p><b> ⑺運(yùn)行程序的結(jié)果;</b></p><p> 2. 把編譯好的16進(jìn)制文件(jtd.hex) 輸入單片機(jī)AT89S51仿真器和對(duì)其進(jìn)行初始化。</p><p> 3.給實(shí)驗(yàn)板進(jìn)行通電,觀察運(yùn)行結(jié)果
90、,不一致則跳到第一步進(jìn)行反復(fù)調(diào)試,直到與預(yù)定目的一致。</p><p> 以下是在程序調(diào)試過(guò)程中出現(xiàn)在情況:通電以后,把程序裝好,數(shù)碼管是的數(shù)字不變,按復(fù)位鍵后重新開(kāi)始還是如此。經(jīng)過(guò)和同組人的共同分析后,發(fā)現(xiàn)是中斷系統(tǒng)在計(jì)時(shí)到了1秒以后,賦的初值R0,R1沒(méi)有減1,修改如下:</p><p> DSD:INC R3</p><p> MOV TH1, #3
91、CH</p><p> MOV TL1, #0B0H</p><p> CJNE R3, #20, FH;判斷是否夠 1秒</p><p><b> DEC R0</b></p><p><b> DEC R1</b></p><p> MOV R3, #00H
92、;R3清0</p><p> FH:RETI;中斷返回</p><p> 通電以后,東西、南北方向的時(shí)間均遞減,20秒以后,東西方向的20秒用完,變成東西左轉(zhuǎn)、南北各20秒,此后,時(shí)間顯示和紅綠燈不再變化,一直保持這一狀態(tài)。</p><p> 經(jīng)過(guò)老師和同組人的共同努力,終于找到原因,問(wèn)題出在循環(huán)控制過(guò)程中,當(dāng)經(jīng)過(guò)第一次20秒判斷后,寄存器R
93、2加1,當(dāng)再次運(yùn)行到循環(huán)控制處時(shí),判斷R2與#01H相同,程序跳到SEC處執(zhí)行,此后一直如此。解決方法如下:</p><p><b> 設(shè)置3個(gè)標(biāo)記位:</b></p><p> FLAG1 BIT 00H;標(biāo)記00H位</p><p> FLAG2 BIT 01H</p><p> FLAG3 BIT
94、02H</p><p> 在循環(huán)控制中加入判斷如:</p><p> DIAOY:CJNE R2, #01H, AA;判斷不相等剛跳轉(zhuǎn)</p><p> JB FLAG1, AA;FLAG1為1則跳轉(zhuǎn)</p><p> LJMP SEC ;跳到SEC</p><p> 在
95、跳到SEC后,在運(yùn)行到該程序后加給FLAG1置數(shù),程序如下:</p><p> SEC:CLR P1.0</p><p><b> SETB P1.1</b></p><p><b> CLR P1.2</b></p><p><b> CLR P1.3</b>&l
96、t;/p><p> MOV R0, #20</p><p> MOV R1, #20</p><p> SETB FLAG1</p><p><b> LJMP SGL</b></p><p> 其它幾部分與之相同的處理。</p><p><b> 結(jié)
97、 論</b></p><p> 本系統(tǒng)就是利用了AT89S51芯片的I/O引腳。系統(tǒng)采用美國(guó)ATMEL公司生產(chǎn)的單片機(jī)AT89S51,以及其它芯片(如:74HC164、74LS04六位反向器、L7805三端穩(wěn)壓電源)來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了紅燈亮40秒,綠燈和左轉(zhuǎn)綠燈各亮20秒。并通過(guò)AT89S51來(lái)控制74LS04芯片的輸出口設(shè)置紅、綠燈燃亮的功能和控制74HC164來(lái)實(shí)現(xiàn)在七段數(shù)碼管上的時(shí)間顯
98、示;為了系統(tǒng)穩(wěn)定可靠系統(tǒng)內(nèi)集成了“看門(mén)狗”芯片,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生。系統(tǒng)設(shè)計(jì)簡(jiǎn)便、實(shí)用性強(qiáng)、操作簡(jiǎn)單、程序設(shè)計(jì)簡(jiǎn)便。 </p><p> 系統(tǒng)不足:時(shí)間設(shè)定中沒(méi)有黃燈的等待閃爍時(shí)間,以及自動(dòng)根據(jù)車(chē)流改變紅綠燈時(shí)間,此外,還沒(méi)有充分考慮的把現(xiàn)代管理、人工智能運(yùn)用到交通的控制中,來(lái)計(jì)算交通控制點(diǎn)之間的距離,來(lái)更合理的安排紅、綠燈的持續(xù)時(shí)間,使城市的交通管理更加人性化。使人們遠(yuǎn)離目前的交通擁塞的現(xiàn)
99、象。</p><p><b> 致 謝</b></p><p> 通過(guò)這次畢業(yè)設(shè)計(jì),我對(duì)單片機(jī)有了更深的體會(huì)。我了解和掌握了一些編程思想和對(duì)I/O口的使用。對(duì)單片機(jī)的I/O口的使用的條件有更深的理解,對(duì)單片機(jī)的各個(gè)管腳功能的理解也加深了,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步。這次的畢業(yè)設(shè)計(jì)讓我把單片機(jī)的理論知識(shí)用在實(shí)踐中,實(shí)
100、現(xiàn)了理論和實(shí)踐相結(jié)合,從中更懂得理論的是實(shí)踐的基礎(chǔ),實(shí)踐有能檢驗(yàn)理論的正確性,讓我受譽(yù)非淺,對(duì)我以后參加工作或者繼續(xù)學(xué)習(xí)將會(huì)產(chǎn)生巨大的幫助和影響。</p><p> 在以后的學(xué)習(xí)過(guò)程中我要對(duì)單片機(jī)有更深的了解,但是在設(shè)計(jì)過(guò)程中還是感覺(jué)對(duì)單片機(jī)了解的不夠深入,雖然做出來(lái)了,也是平時(shí)老師課堂上講的一些過(guò)于單片機(jī)的一些指令的用法和一些常用的語(yǔ)句,讓我發(fā)現(xiàn)自己的不足指令運(yùn)用不夠熟練,平時(shí)要多寫(xiě)多練。</p>
101、<p> 通過(guò)本次畢業(yè)設(shè)計(jì),我在指導(dǎo)老師的精心指導(dǎo)和嚴(yán)格要求下,獲得了豐富的理論知識(shí),極大地提高了實(shí)踐能力,并對(duì)當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,單片機(jī)領(lǐng)域這對(duì)我今后進(jìn)一步學(xué)習(xí)計(jì)算機(jī)方面的知識(shí)有極大的幫助。在此,我忠心感謝同學(xué)朋友對(duì)我的指導(dǎo)與幫助。在未來(lái)的工作和學(xué)習(xí)中,我將以更好的成績(jī)來(lái)回報(bào)各位領(lǐng)導(dǎo)、老師和同學(xué)。</p><p><b> 參考文獻(xiàn)</b>&l
102、t;/p><p> [1]胡漢才 單片機(jī)原理及其接口技術(shù) [M] 清華大學(xué)出版,1996</p><p> [2]蔡美琴 MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用 高等教育出版社 2004.2</p><p> [3]付家才 單片機(jī)控制工程實(shí)踐技術(shù)[M] 化學(xué)工業(yè)出版社,2004.5</p><p> [4]潘新民 微型計(jì)算機(jī)
103、控制技術(shù) [M] 人民郵電出版社,1999.9</p><p> [5]余錫存 單片機(jī)原理及接口技術(shù)[M] 西安電子科技大學(xué)出版社,2000.7</p><p> [6]雷麗文 等.微機(jī)原理與接口技術(shù)[M] 電子工業(yè)出版社,1997.2</p><p> [7]蔣萬(wàn)君 在論循環(huán)時(shí)序電路的簡(jiǎn)便設(shè)計(jì)[J] 機(jī)電一體化,2005 第5期<
104、/p><p> [8]周立功 增強(qiáng)型80C51單片機(jī)速成與實(shí)戰(zhàn) 北京航空航天大學(xué)出版社2004.5</p><p> [9]何立民 單片機(jī)應(yīng)用技術(shù)選編⑩ 北京航空航天大學(xué)出版社 2004.3</p><p> [10]何立民 單片機(jī)應(yīng)用技術(shù)選編⑨ 北京航空航天大學(xué)出版社 2004.3</p><p> [11]何立民 MC
105、S-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì) 北京航空航天大學(xué)出版社, 1995.</p><p> [12]李華 MCS -51系列單片機(jī)實(shí)用接口技術(shù)[M] 北京航空航天大學(xué)出版社,1993</p><p> [13]周航慈 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)[M] 北京航空航天大學(xué)出版社,1991.</p><p> [14]張志良等 單片機(jī)原理與控制技術(shù)[M]
106、 機(jī)械工業(yè)出版社,2001 年7 月第1 版</p><p> [15]陸坤 電子設(shè)計(jì)技術(shù)1 電子科技大學(xué)出版社, 1997</p><p> [16]梁文海 單片機(jī)AT89C2051構(gòu)成的智能型頻率計(jì)[J] 現(xiàn)代電子技術(shù),2002 </p><p> [17]謝自美 電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試[M] 華中理工大學(xué)
107、出版社,2001</p><p> [18]吳金戎,沈慶陽(yáng) 8051單片機(jī)實(shí)踐與應(yīng)用 [M] 清華大學(xué)出版社, 2003.</p><p><b> 附 錄</b></p><p><b> 程序?qū)崿F(xiàn)代碼</b></p><p> ??;此程序分為四個(gè)部分,循環(huán)運(yùn)行。東西方向通行2
108、0S(南北方向、東西南北左拐彎停)一部分SETB P1.0;</p><p> ;東西左拐彎20S(東西南北方向、南北左拐彎停)一部分SETB P1.1;</p><p> ??;南北通行20S(東西方向、東西南北左拐彎停)一部分11111;</p><p> ;南北左轉(zhuǎn)彎20S(東西南北方向、東西左拐彎停)一部分SETB P1.3。</p><
109、;p> ;共設(shè)計(jì)12個(gè)發(fā)光二極管,4個(gè)紅的,8個(gè)綠的。</p><p> ??;P1.0控制東西方向的2個(gè)紅燈和2個(gè)綠燈;</p><p> ??;P1.2控制南北方向的2個(gè)紅燈和2個(gè)綠燈;</p><p> ??;P1.1和P1.3控制東西南北左拐彎的4個(gè)綠燈。</p><p> FLAG1 BIT 00H;標(biāo)記00H位<
110、/p><p> FLAG2 BIT 01H</p><p> FLAG3 BIT 02H</p><p> ORG 0000H;程序執(zhí)行起始處</p><p> LJMP START;跳轉(zhuǎn)到標(biāo)號(hào)START執(zhí)行</p><p> ORG 001BH;定時(shí)器1中斷程序入口地址</p&g
111、t;<p><b> LJMP DSD</b></p><p><b> ORG 0030H</b></p><p> START: MOV TMOD, #10H;定時(shí)器1的選擇</p><p> MOV TH1, #3CH;給定時(shí)器預(yù)置數(shù)</p><p> MOV
112、 TL1, #0B0H</p><p> SETB EA;打開(kāi)總中斷</p><p> SETB ET1;定時(shí)器1溢出中斷允許</p><p> SETB TR1;啟動(dòng)定時(shí)器</p><p> CLR FLAG1;標(biāo)記位清0</p><p><b> CLR FLAG
113、2</b></p><p><b> CLR FLAG3</b></p><p> MOV R3, #00H;1秒定時(shí)器的初值</p><p> FIR:MOV P1, #00H;P1口清0</p><p> MOV R2, #00H;給R2初值</p><p
114、> SETB P1.0;給P1.0口置1</p><p> CLR P1.1;給P1.0口置0</p><p><b> CLR P1.2</b></p><p><b> CLR P1.3</b></p><p> MOV R0, #20;給R0賦初值<
115、/p><p> MOV R1, #40</p><p> SGL:JB F0, SGL1;F0為1財(cái)轉(zhuǎn)移到SGL1</p><p> MOV A, R0;把R0的值送入A中</p><p> LCALL DY1 ;調(diào)用DY1</p><p><b> MOV A,
116、 R1</b></p><p><b> LCALL DY1</b></p><p><b> MOV A, R0</b></p><p><b> LCALL DY1</b></p><p><b> MOV A, R1</b><
117、;/p><p><b> LCALL DY1</b></p><p> LCALL DELAY;調(diào)用DELAY延時(shí)子程序</p><p> SJMP DIAOY;跳轉(zhuǎn)到DIAOY循環(huán)控制子程序</p><p> SGL1: MOV A, R1</p><p><b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文(設(shè)計(jì))城市交通燈控制系統(tǒng)
- 畢業(yè)論文—交通燈控制系統(tǒng)
- 交通燈控制系統(tǒng)畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文
- 交通燈智能控制系統(tǒng)-畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文設(shè)計(jì)
- 交通燈控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 交通燈控制系統(tǒng)畢業(yè)論文設(shè)計(jì)
- 交通燈控制系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 城市交通燈畢業(yè)設(shè)計(jì)---基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文---智能交通燈控制系統(tǒng)設(shè)計(jì)
- 智能交通燈控制系統(tǒng)設(shè)計(jì) 畢業(yè)論文
- plc交通燈畢業(yè)論文--基于plc的交通燈控制系統(tǒng)設(shè)計(jì)
- 城市交通燈課程設(shè)計(jì)--城市交通燈
- 畢業(yè)論文---智能交通燈控制系統(tǒng)設(shè)計(jì) (2)
- 智能交通燈plc控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 電子類(lèi)畢業(yè)論文----交通燈控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文---交通燈控制系統(tǒng)的簡(jiǎn)易設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論