版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 專 業(yè):電氣自動(dòng)化專業(yè)</p><p><b> 學(xué) 號(hào):</b></p><p><b> 姓 名:</b></p><p><b> 指導(dǎo)教師:</b></p><p> 時(shí) 間:2010年5月30日—7月10日<
2、/p><p><b> 摘要</b></p><p> 在日常生活中,交通信號(hào)燈的使用,使交通得以有效管理,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。交通燈控制系統(tǒng)由89C51單片機(jī)、鍵盤、LED顯示、交通燈延時(shí)組成。系統(tǒng)除具有基本交通燈功能外,還具有時(shí)間設(shè)置、LED信息顯示功能,使交通實(shí)現(xiàn)有效控制。</p><p> 本系
3、統(tǒng)采用單片機(jī)AT89C51為中心器件來設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的各種狀態(tài)顯示以及倒計(jì)時(shí)時(shí)間。</p><p> 本設(shè)計(jì)系統(tǒng)由單片機(jī)I/O口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、緊急情況中斷系統(tǒng)、復(fù)位電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)、緊急情況處理等功能,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。</p>
4、;<p> 軟件上采用89C51編程,主要編寫了主程序,LED數(shù)碼管顯示程序,中斷程序延時(shí)程序等。經(jīng)過整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬。</p><p> 近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測技術(shù)日益更新。在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。<
5、/p><p> 關(guān)鍵字:AT89C51 74LS164 LED 交通燈 程序</p><p><b> 目錄</b></p><p> 一.設(shè)計(jì)的目的和意義1</p><p> 二.設(shè)計(jì)的任務(wù)及步驟1</p><p><b> 三.內(nèi)容要求1</b></
6、p><p><b> 四.總方案設(shè)計(jì)2</b></p><p> 4.1 設(shè)計(jì)思路2</p><p> 4.2總體設(shè)計(jì)框圖3</p><p><b> 4.3硬件設(shè)計(jì)3</b></p><p> 五.電路模塊分析5</p><p>
7、5.1 LED循環(huán)說明5</p><p> 5. 2 倒計(jì)時(shí)顯示電路7</p><p> 5.4急通車電路9</p><p><b> 六. 軟件設(shè)計(jì)9</b></p><p> 6.1 程序流程圖9</p><p> 6.2 LED紅綠燈顯示11</p>&
8、lt;p> 6.3 倒計(jì)時(shí)顯示11</p><p> 6.4 急通車控制11</p><p><b> 七.調(diào)試11</b></p><p><b> 八.總結(jié)12</b></p><p><b> 附錄一13</b></p><p
9、><b> 附錄二19</b></p><p><b> 九.參考文獻(xiàn)20</b></p><p> 一.設(shè)計(jì)的目的和意義</p><p> 訓(xùn)練正確的應(yīng)用單片機(jī),培養(yǎng)解決工業(yè)控制,工業(yè)檢測等。</p><p> 二.設(shè)計(jì)的任務(wù)及步驟</p><p>
10、十字路口的交通指揮信號(hào)燈控制要求如下:</p><p> (1)信號(hào)燈受一個(gè)起動(dòng)開關(guān)控制,當(dāng)起動(dòng)開關(guān)接通時(shí),信號(hào)系統(tǒng)開始工作,且先南北紅燈亮,東西綠燈亮。當(dāng)起動(dòng)開關(guān)斷開時(shí),所有信號(hào)燈都熄滅。</p><p> (2)南北綠燈和東西綠燈不能同時(shí)亮,如果同時(shí)亮?xí)r,應(yīng)關(guān)閉信號(hào)燈系統(tǒng),并報(bào)警。</p><p> (3)南北紅燈亮維持25S,在南北紅燈亮的同時(shí)東西綠燈也
11、亮,并維持20S。到20S時(shí),東西綠燈閃爍,閃爍3S后熄滅。在東西綠燈熄滅時(shí),東西紅燈亮,并維持2S,到2S時(shí)東西黃燈熄滅,東西紅燈亮。同時(shí)南北紅燈熄滅,南北綠燈亮。</p><p> ?。?)東西紅燈亮維持30S,南北綠燈亮維持25S,然后閃爍3S,熄滅。同時(shí)南北黃燈亮,維持2S后熄滅,這是南北紅燈亮,東西綠燈亮。</p><p><b> ?。?)周而復(fù)始。</b>
12、;</p><p><b> 三.內(nèi)容要求</b></p><p> 設(shè)計(jì)論文內(nèi)容要正確,概念要清楚,完成任務(wù)書所規(guī)定的內(nèi)容;附原理圖及程序流程圖,以及程序清單;文字要通順,書寫要工整,設(shè)計(jì)圖紙必須符合規(guī)范。</p><p> 在日常生活中,交通信號(hào)燈的使用,使交通得以有效管理,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。
13、如下圖為十字路口的交通燈分布示意圖。</p><p> 交通燈控制系統(tǒng)由89C51單片機(jī)、鍵盤、LED顯示、交通燈延時(shí)組成。系統(tǒng)除具有基本交通燈功能外,還具有時(shí)間設(shè)置、LED信息顯示功能,使交通實(shí)現(xiàn)有效控制。關(guān)鍵詞:AT89C51 74LS164 LED 交通燈 程序。</p><p><b> 四.總方案設(shè)計(jì)</b></p><p>
14、<b> 4.1 設(shè)計(jì)思路</b></p><p> 利用單片機(jī)實(shí)現(xiàn)交通燈的控制,該任務(wù)分以下幾個(gè)方面:</p><p> a 實(shí)現(xiàn)紅、綠、黃燈的循環(huán)控制。要實(shí)現(xiàn)此功能需要表示三種不同顏色的LED燈分別接在P1個(gè)管腳,用軟件實(shí)現(xiàn)。</p><p> b 用數(shù)碼管顯示倒計(jì)時(shí)??梢岳脛?dòng)態(tài)顯示或靜態(tài)顯示,串行并出或者并行并出實(shí)現(xiàn)。</
15、p><p> C 實(shí)現(xiàn)急通車。這需要人工實(shí)現(xiàn),編程時(shí)利用到中斷才能帶到目的,只要有按鈕按下,那么四個(gè)方向全部顯示紅燈,禁止以誒車輛通行。當(dāng)情況解除,讓時(shí)間回到只能隔斷處繼續(xù)進(jìn)行。</p><p><b> 4.2總體設(shè)計(jì)框圖</b></p><p><b> 見圖一:</b></p><p>&l
16、t;b> 4.3硬件設(shè)計(jì)</b></p><p> 89C51單片機(jī)的概述</p><p> MCS-51單片機(jī)內(nèi)部結(jié)構(gòu):</p><p> 圖二為89C51單片機(jī)功能結(jié)構(gòu)框圖 </p><p> 89C51芯片內(nèi)部集成了CPU、RAM、ROM定時(shí)/計(jì)數(shù)器和I/O口等各功能部件,并由內(nèi)部總線把這些部件連接在一起。&
17、lt;/p><p> 80C51單片機(jī)內(nèi)部包含以下一些功能部件:</p><p> a.一個(gè)8位CPU;</p><p> b.一個(gè)片內(nèi)振蕩器和時(shí)鐘電路;</p><p> c.4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片內(nèi)無ROM);</p><p> d.128K
18、BRAM;</p><p> e.可尋址64KB的外ROM和外RAM控制電路;</p><p> f.兩個(gè)16位定時(shí)/計(jì)數(shù)器;</p><p> g.21個(gè)特許功能寄存器;</p><p> h.4個(gè)8位并行I/O口,共32條可編程I/O端線;</p><p> i.一個(gè)可編程全雙工串行口;</p>
19、;<p> j.5個(gè)中斷源,可設(shè)置成2個(gè)優(yōu)先級(jí)。 </p><p> 圖二(89C51單片機(jī)功能結(jié)構(gòu)框圖)</p><p> ?。?)MCS-51系統(tǒng)的引腳說明:</p><p> MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),圖二是它們的引腳配置,40個(gè)引腳中,正電源和底線兩根,外置石英振蕩器
20、的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。</p><p> 圖二(89C51引腳圖)</p><p> 89C51的復(fù)位方式可以自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見下圖。除此之外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可以接上沒用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。</p><
21、p><b> 五.電路模塊分析</b></p><p> 5.1 LED循環(huán)說明</p><p> 東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、綠、黃三色的指示燈,指揮車輛和行人的安丘按通行。紅燈禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西,南北兩干道的公共停車時(shí)間。</p><p&g
22、t; 上表說明東西路口哈珀能夠燈亮,南北路口綠燈亮,同時(shí)開始25s倒計(jì)時(shí)。25s倒計(jì)時(shí)結(jié)束后開始5s倒計(jì)時(shí),南北鋁扣綠燈閃爍,計(jì)時(shí)至最后2s時(shí),南北路口黃燈亮。完成一次這樣的循環(huán)要30s。30s結(jié)束,南北路口紅燈亮,東西路口綠燈亮,并重新30s倒計(jì)時(shí),依次循環(huán)。電路圖如圖三所示。</p><p> 圖三(LED紅綠燈顯示)</p><p> 5. 2 倒計(jì)時(shí)顯示電路</p>
23、;<p> ?。?)74LS164芯片</p><p> 74LS164用于擴(kuò)展并行輸出口。用89CS51串行口外接164串入-并出移位寄存器擴(kuò)展8位并行口。8位并行口的每位分別接到數(shù)碼顯示管的不同顯示端。74LS164芯片管腳排列如下圖,管腳1、2相連共同接單片機(jī)管腳RXD,8管腳接單片機(jī)管腳TXD,9管腳接高電平,7管腳接地,14管腳接高電平,其他管腳依次接數(shù)碼顯示管管腳。</p>
24、<p> 圖四(74LS164)</p><p> (2)共陰極數(shù)碼顯示管</p><p> 這里列出了共陰和共陽數(shù)碼管的管腳平排列和內(nèi)部結(jié)構(gòu)。數(shù)碼管3、8管腳內(nèi)部連在一起。如果是共陽極則將其接到高電平。如果是共陰極則將其接地。為了數(shù)碼顯示管的安全這里用三個(gè)二極管與其串聯(lián)來降壓。</p><p><b> 圖五(數(shù)碼顯示管)</
25、b></p><p> ?。?)倒計(jì)時(shí)顯示電路如圖六。</p><p> 利用兩個(gè)74LS164芯片并聯(lián)后,其1、2管腳至單片機(jī)RXD管腳8管腳至單片機(jī)TXD管腳。然后其他管腳依次接至數(shù)碼管個(gè)管腳。對(duì)于數(shù)碼管其3、8管腳經(jīng)過三個(gè)串聯(lián)的二極管接地。</p><p><b> 圖六(倒計(jì)時(shí)電路)</b></p><p&
26、gt;<b> 5.4急通車電路 </b></p><p> 利用單片機(jī)中斷達(dá)到目的。利用一個(gè)手動(dòng)按鈕開關(guān)接至單片機(jī)外部中斷0,同時(shí)在軟件設(shè)計(jì)時(shí)將其設(shè)為最高優(yōu)先級(jí)。當(dāng)有按鍵按下,四方全為紅燈,同時(shí)將終端位置的PSW、ACC進(jìn)棧保護(hù)。當(dāng)再按下按鈕,將PSW、ACC出棧,回到原來的位置繼續(xù)執(zhí)行,電路圖如下圖。</p><p><b> 圖七(急通車電路)&
27、lt;/b></p><p><b> 六. 軟件設(shè)計(jì)</b></p><p><b> 6.1 程序流程圖</b></p><p><b> 如圖八所示。</b></p><p><b> 圖八(流程圖)</b></p>&l
28、t;p> 6.2 LED紅綠燈顯示</p><p> 如圖三所示,當(dāng)P1端口輸出高電平,即P1各端口=1時(shí),根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?,這是發(fā)光二極管熄滅;當(dāng)P1個(gè)端口輸出低電平,即P1各端口=0時(shí),發(fā)光二極管亮。我們可以使用SETB指令使P1各端口輸出高電平,使用CLR指令時(shí)P各端口輸出低電平。至于循環(huán)需要軟件控制,程序見附錄。</p><p><b> 6.3
29、 倒計(jì)時(shí)顯示</b></p><p> 此處采用LED靜態(tài)顯示方式,當(dāng)顯示器顯示某個(gè)字符時(shí),相應(yīng)的段恒定的導(dǎo)通或截止,直到顯示另個(gè)字符為止。89C51的串行口RXD和TXD為一個(gè)全雙工串行通信口,但工作在方式0下可作同步移位寄存器,其數(shù)據(jù)由RXD端串行輸出或輸入;而同步移位時(shí)鐘由TXD端串行輸出,在同步時(shí)鐘的作用下,實(shí)現(xiàn)由串行到并行的數(shù)據(jù)通信。在不需要使用串行通信的場合,利用串行口加外圍芯片74LS
30、164就可構(gòu)成一個(gè)或多個(gè)并行輸入\輸出口,用于串——并轉(zhuǎn)換或顯示器LED驅(qū)動(dòng)。此利用后者。</p><p><b> 6.4 急通車控制</b></p><p> 將一按鈕接到單片機(jī)外部中斷0端口。另一端接地,通過在程序里設(shè)置外部中斷0為最高優(yōu)先級(jí)。當(dāng)檢測到有按鈕按下時(shí),產(chǎn)生中斷,停止剛才的程序,轉(zhuǎn)向中斷執(zhí)行。在此過程必須利用PUSH、POP指令保護(hù)現(xiàn)場,這樣當(dāng)情
31、況解除可以回到原來的地方繼續(xù)執(zhí)行。</p><p><b> 七.調(diào)試</b></p><p> 我們拿著設(shè)計(jì)好的電路接線圖和設(shè)計(jì)的程序去實(shí)驗(yàn)室調(diào)試,第一次就給了我們致命的打擊,設(shè)計(jì)的功能僅僅實(shí)現(xiàn)了一個(gè),只有紅綠燈變化正常,倒計(jì)時(shí)也顯示不出來,緊急停車也不能很好的返回。</p><p><b> 八.總結(jié)</b>&l
32、t;/p><p> 做了幾周的課程設(shè)計(jì),讓人感受頗深,有關(guān)于單片機(jī)知識(shí)的,但更多是團(tuán)隊(duì)和合作。</p><p> 我們小組一共6個(gè)人,人多,分工就顯得很重要,在我們的集體的討論之下,我得到了設(shè)計(jì)硬件電路和總體調(diào)試的任務(wù),當(dāng)時(shí)讓我感到很有壓力。因?yàn)槲覀兤綍r(shí)接觸的都是純粹理論的東西,做實(shí)驗(yàn)也是霧里看花,對(duì)硬件的認(rèn)識(shí)是很缺乏的。</p><p> 一回來我就去圖書館查閱
33、的大量的單片機(jī)和數(shù)字芯片的資料,由于資料比較分散,所以整理有用的資料就顯得很重要,有些東西實(shí)在是不懂我就把資料帶回來請(qǐng)教同學(xué),讓我受益匪淺。然后在硬件電路的設(shè)計(jì)中,由于要涉及軟件設(shè)計(jì)的具體情況,又和組員共同討論,最終確定了一個(gè)大家都可以接受的方案。當(dāng)時(shí)感覺這下任務(wù)該完成了,沒有想到的是在實(shí)際的調(diào)試中更是遇到了太多的麻煩。</p><p> 我們拿著設(shè)計(jì)好的電路接線圖和設(shè)計(jì)的程序去實(shí)驗(yàn)室調(diào)試,第一次就給了我們致命
34、的打擊,設(shè)計(jì)的功能僅僅實(shí)現(xiàn)了一個(gè),只有紅綠燈變化正常,倒計(jì)時(shí)也顯示不出來,緊急功能也不能很好的返回。</p><p> 雖然我們沒有完全成功,但是我們已經(jīng)努力了,所以我們很高興。</p><p> 很感謝學(xué)校和老師給我們安排了這次課程設(shè)計(jì),讓我真正感受到的是合作的重要,許多時(shí)候都是組員的討論,老師的指導(dǎo)中的一句半句啟發(fā)了我,就出現(xiàn)的讓人欣喜的結(jié)果;理論知識(shí)同樣很重要,有些問題都是由于基
35、礎(chǔ)知識(shí)掌握不好才出現(xiàn)的。</p><p> 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。</p><p><b> 附錄一
36、</b></p><p><b> 源程序代碼</b></p><p> SECOND1 EQU 30H ;東西路口計(jì)時(shí)寄存器</p><p> SECOND2 EQU 31H ;南北路口計(jì)時(shí)寄存器</p><p> DBUF
37、 EQU 40H ;顯示碼緩沖1</p><p> TEMP EQU 44H ;顯示碼緩沖2</p><p> LED_G1 BIT P1.0 ;東西路口綠燈</p><p> LED_Y1 BIT P1.1
38、 ;東西路口黃燈</p><p> LED_R1 BIT P1.2 ;東西路口紅燈</p><p> LED_G2 BIT P1.5 ;南北路口綠燈</p><p> LED_Y2 BIT P1.6 ;南北路口黃燈</p>
39、<p> LED_R2 BIT P1.7 ;南北路口紅燈</p><p> ORG 0000H</p><p> LJMP START</p><p> ORG 0003H</p><p> LJMP INTO0</p><p>
40、ORG 0100H</p><p> START:MOV TMOD,#01H ;置T0工作方式1</p><p> MOV TH0,#3CH</p><p> MOV TL0,#0BH</p><p> CLR TF0</p><p> SET
41、B TR0 ;啟動(dòng)T0</p><p> SETB EX0</p><p> SETB PX0 ;設(shè)置外中斷0高優(yōu)先級(jí)</p><p><b> SETB EA</b></p><p> LOOP: MOV
42、 R2,#20 ;置1s計(jì)數(shù)初值</p><p> MOV R3,#20 ;紅燈亮20S</p><p> MOV SECOND1,#25 ;東西路口計(jì)時(shí)顯示初值25s</p><p> MOV SECOND2,#25
43、 ;南北路口計(jì)時(shí)顯示初值25s</p><p> LCALL DISPLAY</p><p> LCALL STATE1 ;調(diào)用狀態(tài)1</p><p> WAIT1:JNB TF0,WAIT1 ;查詢50ms到否</p><p> CLR
44、 TF0</p><p> MOV TH0,#3CH ;恢復(fù)T0定時(shí)初值50ms</p><p> MOV TL0,#0B0H</p><p> DJNZ R2,WAIT1 ;判斷1s到否?未到繼續(xù)狀態(tài)1</p><p> MOV R2,#
45、20 ;置50ms計(jì)數(shù)初值</p><p> DEC SECOND1 ;東西路口顯示時(shí)間減1</p><p> DEC SECOND2 ;南北路口顯示時(shí)間減1</p><p> LCALL DISPLAY</p>&l
46、t;p> DJNZ R3,WAIT1 ;狀態(tài)1維持20s</p><p> MOV R2,#5 ;置50ms計(jì)數(shù)初值</p><p> MOV R3,#3 ;綠燈閃爍3s</p><p> MOV R4,#4
47、 ;閃爍間隔200ms</p><p> MOV SECOND1,#5 ;東西路口計(jì)時(shí)顯示初值5s</p><p> MOV SECOND2,#5 ;南北路口計(jì)時(shí)顯示初值5s</p><p> LCALL DISPLAY</p>&
48、lt;p> WAIT2:LCALL STATE2 ;調(diào)用狀態(tài)2</p><p> JNB TF0,WAIT2 ;查詢50ms到否</p><p> CLR TF0</p><p> MOV TH0,#3CH ;恢復(fù)T0定時(shí)初
49、值50ms</p><p> MOV TL0,#0B0H</p><p> DJNZ R4,WAIT2 ;判斷200ms到否?未到繼續(xù)狀態(tài)2</p><p> CPL LED_G1 ;東西綠燈閃爍</p><p> MOV R4,#4
50、 ;閃爍200ms</p><p> DJNZ R2,WAIT2 ;判斷1s到否?未到繼續(xù)狀態(tài)2</p><p> MOV R2,#5 ;置50ma計(jì)數(shù)初值</p><p> DEC SECOND1
51、 ;東西路口顯示時(shí)間減1</p><p> DEC SECOND2 ;南北路口顯示時(shí)間減1</p><p> LCALL DISPLAY</p><p> DJNZ R3,WAIT2 ;狀態(tài)2維持3s</p><p> MOV R2,#
52、20 ;置50ms計(jì)數(shù)初值</p><p> MOV R3,#2 ;黃燈閃爍2s</p><p> MOV SECOND1,#2 ;東西路口計(jì)時(shí)顯示初值2s</p><p> MOV SECOND2,#2
53、 ;南北路口計(jì)時(shí)顯示初值2s</p><p> LCALL DISPLAY</p><p> WAIT3:LCALL STATE3 ;調(diào)用狀態(tài)3</p><p> JNB TF0,WAIT3 ;查詢100ms到否</p><p> CLR
54、 TF0</p><p> MOV TH0,#3CH ;恢復(fù)T0定時(shí)初值100ms</p><p> MOV TL0,#0B0H</p><p> DJNZ R2,WAIT3 ;判斷1s到否?未到繼續(xù)狀態(tài)3</p><p> MOV R2,
55、#20 ;置100ms計(jì)數(shù)初值</p><p> DEC SECOND1 ;東西路口顯示時(shí)間減1</p><p> DEC SECOND2 ;南北路口顯示時(shí)間減1</p><p> LCALL DISPLAY</p>
56、<p> DJNZ R3,WAIT3 ;狀態(tài)3維持2s</p><p> MOV R2,#20 ;置50ms計(jì)數(shù)初值</p><p> MOV R3,#20 ;紅燈閃爍20s</p><p> MOV SECOND1
57、,#25 ;東西路口計(jì)時(shí)顯示初值25s</p><p> MOV SECOND2,#25 ;南北路口計(jì)時(shí)顯示初值25s</p><p> LCALL DISPLAY</p><p> WAIT4:LCALL STATE4 ;調(diào)用狀態(tài)4</p&g
58、t;<p> JNB TF0,WAIT4 ;查詢100ms到否</p><p> CLR TF0</p><p> MOV TH0,#3CH ;恢復(fù)T0定時(shí)初值100ms</p><p> MOV TL0,#0B0H
59、</p><p> DJNZ R2,WAIT4 ;判斷1s到否?未到繼續(xù)狀態(tài)4</p><p> MOV R2,#20 ;置100ms計(jì)數(shù)初值</p><p> DEC SECOND1 ;東西路口顯示時(shí)間減1</p>
60、<p> DEC SECOND2 ;南北路口顯示時(shí)間減1</p><p> LCALL DISPLAY</p><p> DJNZ R3,WAIT4 ;狀態(tài)4維持2s</p><p> MOV R2,#5 ;置50m
61、s計(jì)數(shù)初值</p><p> MOV R3,#4 ;紅燈閃爍20s</p><p> MOV R3,#3 ;綠燈閃爍3s</p><p> MOV SECOND1,#25 ;東西路口計(jì)時(shí)顯示初值5s</p><
62、p> MOV SECOND2,#25 ;南北路口計(jì)時(shí)顯示初值25s</p><p> LCALL DISPLAY</p><p> WAIT5:LCALL STATE5 ;調(diào)用狀態(tài)5</p><p> JNB TF0,WAIT5 ;
63、查詢100ms到否</p><p> CLR TF0</p><p> MOV TH0,#3CH ;恢復(fù)T0定時(shí)初值100ms</p><p> MOV TL0,#0B0H </p><p> DJNZ R4,WAIT5
64、 ;判斷200ms到否?未到繼續(xù)狀態(tài)5</p><p> CPL LED_G2 ;南北綠燈閃爍</p><p> MOV R4,#4 ;閃爍200ms</p><p> DJNZ R2,WAIT5 ;判斷1s到否?
65、未到繼續(xù)狀態(tài)5</p><p> MOV R2,#5 ;置100ms計(jì)數(shù)初值</p><p> DEC SECOND1 ; 東西路口顯示時(shí)間減1</p><p> DEC SECOND2 ;南北路口顯示時(shí)間減1</p>
66、;<p> LCALL DISPLAY</p><p> DJNZ R3,WAIT5 ;狀態(tài)5維持3s</p><p> MOV R2,#20 ;置50ms計(jì)數(shù)初值</p><p> MOV R3,#20 ;紅燈
67、閃爍2s</p><p> MOV SECOND1,#25 ;東西路口計(jì)時(shí)顯示初值5s</p><p> MOV SECOND2,#25 ;南北路口計(jì)時(shí)顯示初值5s</p><p> LCALL DISPLAY</p><p> WAIT6:LCALL ST
68、ATE6 ;調(diào)用狀態(tài)4</p><p> JNB TF0,WAIT6 ; 查詢100ms到否</p><p> CLR TF0</p><p> MOV TH0,#3CH ;恢復(fù)T0定時(shí)初值100ms</p><p&
69、gt; MOV TL0,#0B0H </p><p> DJNZ R2,WAIT6 ;判斷1s到否?未到繼續(xù)狀態(tài)6</p><p> MOV R2,#20 ; 置100ms計(jì)數(shù)初值</p><p> DEC SECOND1
70、 ;東西路口顯示時(shí)間減1</p><p> DEC SECOND2 ;南北路口顯示時(shí)間減1</p><p> LCALL DISPLAY</p><p> DJNZ R3,WAIT6 ;狀態(tài)6維持3s</p><p>
71、LJMP LOOP</p><p> STATE1: ;狀態(tài)1</p><p> SETB LED_G1 ; 東西路口路燈亮</p><p> CLR LED_Y1</p><p> CLR LED_R1<
72、/p><p> CLR LED_G2</p><p> CLR LED_Y2</p><p> SETB LED_R2 ;南北路口紅燈亮</p><p><b> RET</b></p><p> STATE2:
73、 ; 狀態(tài)2</p><p> CLR LED_Y1</p><p> CLR LED_R1</p><p> CLR LED_G2</p><p> CLR LED_Y2</p><p> SETB LED_R2
74、 ;南北路口紅燈亮</p><p><b> RET</b></p><p> STATE3: ;狀態(tài)3</p><p> CLR LED_G1</p><p> CLR LED_R1</p><p&g
75、t; CLR LED_G2</p><p> CLR LED_Y2</p><p> SETB LED_R2 ;南北路口紅燈亮</p><p> SETB LED_Y1 ;東西路口黃燈亮</p><p><b> RET&l
76、t;/b></p><p> STATE4: ;狀態(tài)4</p><p> CLR LED_G1</p><p> CLR LED_Y1</p><p> SETB LED_R1 ;東西路口紅燈亮</p&
77、gt;<p> SETB LED_G2 ;南北路口綠燈亮</p><p> CLR LED_Y2</p><p> CLR LED_R2</p><p><b> RET</b></p><p> STATE5:
78、 ;狀態(tài)5</p><p> CLR LED_G1</p><p> CLR LED_R1</p><p> SETB LED_R1 ;東西路口紅燈亮</p><p> CLR LED_Y2</p><p> C
79、LR LED_R2</p><p><b> RET</b></p><p> STATE6: ;狀態(tài)6</p><p> CLR LED_G1</p><p> CLR LED_Y1</p><p>
80、SETB LED_R1 ;東西路口紅燈亮</p><p> CLR LED_G2</p><p> CLR LED_R2</p><p> SETB LED_Y2 ;南北路口黃燈亮</p><p><b> RET</b
81、></p><p> DISPLAY: ;數(shù)碼顯示</p><p> MOV A,SECOND1 ;東西路口計(jì)時(shí)寄存器</p><p> MOV B,#10</p><p><b> DIV AB<
82、/b></p><p> MOV DBUF+3,A</p><p> MOV A,B</p><p> MOV DBUF+2,A</p><p> MOV A,SECOND2 ;南北路口計(jì)時(shí)寄存器</p><p> MOV B,#10<
83、/p><p><b> DIV AB</b></p><p> MOV DBUF+1,A</p><p> MOV A,B</p><p> MOV DBUF,A</p><p> MOV R0,#DBUF</p><p> MOV
84、 R1,#TEMP</p><p> MOV R7,#4</p><p> DP10:MOV DPTR,#TEMP</p><p> MOV A,@R0</p><p> MOVC A,@A+DPTR</p><p> MOV @R1,A</p><p>
85、<b> INC R0</b></p><p><b> INC R1</b></p><p> DJNZ R7,DP10</p><p> MOV R0,#TEMP</p><p> MOV R1,#4</p><p> DP12:M
86、OV R7,#8</p><p> MOV A,@R0</p><p> DP13:RLC A</p><p> MOV P3.0,C</p><p> CLR P3.1</p><p> SETB P3.1</p><p> DJNZ R7,D
87、P13</p><p><b> INC R0</b></p><p> DJNZ R1,DP12</p><p><b> RET</b></p><p> LENMAP:DB 3FH,06H,5BH,4FH,66H,6DH</p><p> DB
88、 7DH,07H,7FH,6FH</p><p> ORG 0200H</p><p> INTO0:PUSH PSW</p><p><b> PUSH ACC</b></p><p> SETB LED_R1</p><p> SETB LED_R2</p>
89、;<p> CLR LED_G1</p><p> CLR LED_Y1</p><p> CLR LED_G2</p><p> CLR LED_Y2</p><p> POP PSW</p><p> POP ACC</p><p&g
90、t;<b> RETI</b></p><p><b> END</b></p><p><b> 附錄二</b></p><p><b> 九.參考文獻(xiàn)</b></p><p> [1] 葉挺秀.應(yīng)用電子學(xué).杭州:浙江大學(xué)出版社,1994<
91、;/p><p> [2] 朱承高.電工及電子技術(shù)手冊.北京:高等教育出版社,1990</p><p> [3] 周潤景.PEOTEUS在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例.北京:電子工業(yè)出版社,2006</p><p> [4] 李朝青.單片機(jī)原理及接口技術(shù)(第三版).北京:北京航空航天大學(xué)出版社,2005</p><p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告
- 交通燈單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)-交通燈報(bào)告
- 交通燈單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告---交通燈
- 單片機(jī)課程設(shè)計(jì)-交通燈報(bào)告
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---交通燈
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-交通燈
- 單片機(jī)課程設(shè)計(jì)--交通燈
- 單片機(jī)課程設(shè)計(jì)(交通燈)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告 (2)
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告1
評(píng)論
0/150
提交評(píng)論