基于單片機(jī)的無(wú)線交通燈課程設(shè)計(jì)報(bào)告書_第1頁(yè)
基于單片機(jī)的無(wú)線交通燈課程設(shè)計(jì)報(bào)告書_第2頁(yè)
基于單片機(jī)的無(wú)線交通燈課程設(shè)計(jì)報(bào)告書_第3頁(yè)
基于單片機(jī)的無(wú)線交通燈課程設(shè)計(jì)報(bào)告書_第4頁(yè)
基于單片機(jī)的無(wú)線交通燈課程設(shè)計(jì)報(bào)告書_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、物理與電氣工程學(xué)院課程設(shè)計(jì)報(bào)告基于單片機(jī)的無(wú)線交通燈設(shè)計(jì)作者專業(yè) 電子信息工程 年級(jí) 2009級(jí) 指導(dǎo)教師 艾華 成 績(jī)?nèi)掌?2012.3.14 基于單片機(jī)的無(wú)線交通燈設(shè)計(jì)(師學(xué)院 物電學(xué)院, 455002)摘要:在日常生活中,交通信號(hào)燈的使用,使交通得以有效的管理,對(duì)于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果。無(wú)線交通燈系統(tǒng)由89C51單片機(jī)、LED顯示、數(shù)碼管顯示、無(wú)線控制模塊組成。系統(tǒng)除具有基本交通燈功能外,還具有時(shí)間控制、LED信息顯示、即時(shí)中斷功能,使交通實(shí)現(xiàn)有效、與時(shí)控制。關(guān)鍵詞:?jiǎn)纹瑱C(jī) LED 數(shù)碼管 無(wú)線模塊1 引言:當(dāng)今社會(huì),紅綠交通燈幾乎出現(xiàn)在每個(gè)交通路口,已

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

3、通得以有效的管理,對(duì)于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào)燈,面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非亮一種標(biāo)志禁止某種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛必須讓合法的正在路口行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào)燈,面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已經(jīng)十分接近停車線而不能安全停車的可以進(jìn)入交叉路口!2方案論證:2.1方案一由于AT89C51中自帶有定時(shí)器T0、T1,所以交通燈中的數(shù)碼管計(jì)時(shí)顯示部分可采用定時(shí)器中斷方式。這樣可

4、以不用編程查詢實(shí)現(xiàn)1s的計(jì)時(shí);但由于交通燈的狀態(tài)比較多,如果定時(shí)采用中斷方式,編程不太容易實(shí)現(xiàn)、比較麻煩。2.2 方案二 交通燈中的數(shù)碼管計(jì)時(shí)顯示部分可采用定時(shí)器查詢方式,雖然用查詢方式需要不斷查詢定時(shí)時(shí)間到否、有點(diǎn)浪費(fèi)資源,但這樣有利于編程,使得編程比較容易,且程序結(jié)構(gòu)、功能一目了然。從以上兩種方案,很容易看出,采用方案二,軟件設(shè)計(jì)比較容易、簡(jiǎn)單,故采用了方案二。3 結(jié)果與討論3.1 AT89C51介紹 3.1.1單片機(jī)主控電路的主要元件是AT89C51,其外型與管腳排列如圖1所示:圖1 AT89C51管腳排列圖AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片含4k bytes的可

5、反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲(chǔ)單元,置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案。 AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)

6、成本3.1.2管腳說(shuō)明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接

7、收。 P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被部

8、上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89c51的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RESET:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RESET腳兩個(gè)機(jī)器周期的

9、高電平時(shí)間。ALE/PROG*:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 PSEN*:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PS

10、EN*有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN*信號(hào)將不出現(xiàn)。 EA*/VPP:當(dāng)EA*保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有部程序存儲(chǔ)器。注意加密方式1時(shí),EA*將部鎖定為RESET;當(dāng)EA*端保持高電平時(shí),此間部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出3.2 74LS164芯片簡(jiǎn)介 3.2.1 74LS164芯片用于擴(kuò)展并行輸出口。AT89C51外接164串入并出移位寄存器8位并行口實(shí)現(xiàn)串入并出。8位并行口的每位分別

11、接到數(shù)碼管的不同顯示端。74LS164芯片的管腳排列與功能如圖2所示:圖2 74LS164芯片管腳排列與功能圖3.2.2 74LS164管腳說(shuō)明:管腳1、2相連共同接單片機(jī)送數(shù)據(jù)的引腳,8管腳接單片機(jī)送時(shí)鐘的引腳,9、14管腳接高電平,7管腳接地,其他管腳依次接數(shù)碼管管腳。3.3 共陰極數(shù)碼管顯示3.3.1共陰極數(shù)碼管的管腳平排列和部結(jié)構(gòu)如圖3所示:圖3 共陰極數(shù)碼管的管腳平排列和部結(jié)構(gòu)圖為了數(shù)碼管的安全,這里用一個(gè)200歐姆的電阻與其串聯(lián)來(lái)降壓。3.4 交通燈功能述說(shuō)東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人的安全通行。紅燈禁止通行,綠燈允許通行,黃

12、燈亮提示行人注意紅綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。東西、南北兩干道燈的狀態(tài)與時(shí)間如表1所示:27s3s27s3s東西干道紅燈亮紅燈亮綠燈亮黃燈亮南北干道綠燈亮黃燈亮紅燈亮紅燈亮表1 東西、南北兩干道燈的狀態(tài)與時(shí)間的表格上表說(shuō)明東西路口紅燈亮,南北路口綠燈亮,同時(shí)開(kāi)始27s倒計(jì)時(shí),27s倒計(jì)時(shí)結(jié)束后開(kāi)始3s倒計(jì)時(shí),南北路口黃燈亮,完成一次這樣的循環(huán)要30s。30s結(jié)束后,南北路口紅燈亮,東西路口綠燈亮,并重新開(kāi)始30s倒計(jì)時(shí),依次循環(huán)。3.5 交通燈設(shè)計(jì)思路和設(shè)計(jì)框圖3.5.1 設(shè)計(jì)思路:利用單片機(jī)實(shí)現(xiàn)無(wú)線交通燈的控制,該任務(wù)分以下幾個(gè)方面: a、實(shí)現(xiàn)紅、黃、

13、綠燈的循環(huán)控制。要實(shí)現(xiàn)此功能需要表示三種不同顏色的LED燈分別接在P1個(gè)管腳,用軟件實(shí)現(xiàn)。 b、用數(shù)碼管顯示倒計(jì)時(shí)。利用靜態(tài)顯示、串入并出,單片機(jī)的P2.0送數(shù)據(jù)、P2.1送時(shí)鐘,74LS164實(shí)現(xiàn)串入并出。 c、無(wú)線控制交通燈。單片機(jī)的外部中斷0接無(wú)線模塊,實(shí)現(xiàn)對(duì)交通燈的實(shí)時(shí)控制。3.5.2 設(shè)計(jì)框圖: 無(wú)線交通燈的總體設(shè)計(jì)框圖如圖4所示:交通燈循環(huán)顯示倒計(jì)時(shí)顯示單片機(jī)最小系統(tǒng)無(wú)線控制模塊圖4 無(wú)線交通燈的總體設(shè)計(jì)框圖3.6 時(shí)鐘計(jì)時(shí)實(shí)現(xiàn)的方案計(jì)算計(jì)數(shù)初值:時(shí)鐘計(jì)時(shí)的最小單位是秒,但使用單片機(jī)定時(shí)器進(jìn)行定時(shí),即使按方式1工作,其最長(zhǎng)定時(shí)時(shí)間也只能達(dá)到131ms。鑒于此,把定時(shí)器的定時(shí)時(shí)間定為

14、50ms,這樣,計(jì)數(shù)溢出20次即得到時(shí)鐘計(jì)時(shí)的最小單位秒;因此用軟件方法實(shí)現(xiàn)。該程序使用定時(shí)器T0來(lái)實(shí)現(xiàn)定時(shí)功能,以工作模式1進(jìn)行50ms定時(shí),由于該單片機(jī)使用的晶振頻率為12MHz,為得到50 ms定時(shí),設(shè)計(jì)數(shù)初值為X,則X=3CB0H采用查詢方式進(jìn)行溢出次數(shù)的累計(jì),計(jì)滿20次即得到秒計(jì)時(shí)。4 結(jié)論該無(wú)線交通燈系統(tǒng)不僅具有結(jié)構(gòu)簡(jiǎn)單、體積小、價(jià)格低廉等特點(diǎn),而且可以實(shí)現(xiàn)無(wú)線、適時(shí)控制、實(shí)用性強(qiáng)、適用圍廣,因此特別適用于交通擁擠的路口。通過(guò)這次課程設(shè)計(jì),不但鞏固了已學(xué)的理論知識(shí),還加強(qiáng)了我的動(dòng)手、思考和解決問(wèn)題的能力。同時(shí),通過(guò)網(wǎng)上搜索等多方面的查詢資料,我學(xué)會(huì)了許多課本上學(xué)不到的東西,也更加深

15、刻地體會(huì)了理論聯(lián)系實(shí)際的重要性,受益匪淺。首先我查資料明白了設(shè)計(jì)的大體思路,每一步該實(shí)現(xiàn)怎么樣的功能,怎么實(shí)現(xiàn)該功能。接下來(lái)是找資料了解各芯片的功能和引腳分布,并通過(guò)芯片實(shí)現(xiàn)其功能。設(shè)計(jì)之初的主要任務(wù)是設(shè)計(jì)電路原理圖、編寫程序、仿真。設(shè)計(jì)電路原理圖和編寫程序都進(jìn)行的比較順利,只是到了仿真就出現(xiàn)問(wèn)題了。自己感覺(jué)電路圖的設(shè)計(jì)沒(méi)有錯(cuò)誤,但是仿真就是沒(méi)有現(xiàn)象,最后通過(guò)我們之間獨(dú)立畫原理圖,發(fā)現(xiàn)是網(wǎng)絡(luò)標(biāo)號(hào)上出現(xiàn)了問(wèn)題,經(jīng)過(guò)修正,燈和數(shù)碼管出現(xiàn)希望的現(xiàn)象,但是中斷卻不能自動(dòng)返回,只能再按一下按鈕才能返回,而且返回后不是繼續(xù)原來(lái)的狀態(tài),我們就意識(shí)到是中斷程序保護(hù)現(xiàn)場(chǎng)和中斷返回部分編寫出錯(cuò)了。經(jīng)過(guò)檢查發(fā)現(xiàn),程

16、序中保護(hù)現(xiàn)場(chǎng)的時(shí)候沒(méi)有很好的保護(hù)好燈的狀態(tài),而且沒(méi)有編寫什么情況下中斷返回。經(jīng)過(guò)修改,終于完成了仿真。仿真過(guò)后,接下來(lái)就是轉(zhuǎn)PCB圖,這可是一個(gè)比較繁瑣的過(guò)程。首先要布局,使線盡可能不交叉、還要美觀。布好局后就是布線,布線要經(jīng)過(guò)多次反復(fù)修改才能達(dá)到路徑最短、線型美觀的效果。在這次轉(zhuǎn)PCB圖中,布局還是比較容易的,只是由于對(duì)元器件實(shí)際大小不是特別了解,造成在實(shí)際安插元件時(shí),端子與單片機(jī)挨得太近,單片機(jī)不能完全插進(jìn),只能把端子削去一部分使單片機(jī)完全插進(jìn)。只是布線比較麻煩,前后修改了五、六次才達(dá)到比較好的效果,但是還是有好多跳線。畫好PCB圖后,就是轉(zhuǎn)板、腐蝕、打孔、焊接,這些環(huán)節(jié)進(jìn)行的都還比較順利

17、。只是由于焊接經(jīng)驗(yàn)不太多,焊得不是那么美觀,但電路還是都連通了。最麻煩的就是調(diào)試了,這次我們前后經(jīng)歷了兩次全部過(guò)程,第一次調(diào)試:接通電源后燈是按照希望的現(xiàn)象亮滅的,但數(shù)碼管卻是亂碼,我們就開(kāi)始測(cè)數(shù)碼管是不是哪里沒(méi)接好。通過(guò)測(cè)量懷疑是引腳排列錯(cuò)誤,通過(guò)上網(wǎng)查資料發(fā)現(xiàn)的確是引腳弄錯(cuò)了,這次引腳整錯(cuò),是因?yàn)槲覀儏⒖嫉馁Y料上數(shù)碼管的引腳是錯(cuò)的,而且我們也沒(méi)有查找其他資料,因此,以后對(duì)于自己不太了解的東西要多查一些資料。由于是引腳弄錯(cuò)了,因此要重新修改原理圖、PCB圖,一切流程要重新再走一遍。第二次調(diào)試:接通電源后,發(fā)現(xiàn)燈是按照希望的現(xiàn)象亮滅的,但數(shù)碼管卻不亮、沒(méi)有現(xiàn)象,我們就斷定還是數(shù)碼管部分出現(xiàn)問(wèn)題

18、,繼續(xù)測(cè)量數(shù)碼管部分電路。結(jié)果發(fā)現(xiàn)74LS164芯片的CLK引腳不僅與單片機(jī)的引腳是通的,而且與地也是導(dǎo)通的,我們就開(kāi)始檢查地線和CLK線,發(fā)現(xiàn)由于焊CLK引腳時(shí)焊錫甩到地線上了一點(diǎn),才導(dǎo)致兩者導(dǎo)通。于是我們就把兩者斷開(kāi)。再次接通電源,我們成功了!通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。同時(shí)也學(xué)到了很多課

19、學(xué)不到的東西,比如獨(dú)立思考解決問(wèn)題,多查不同的資料以得到最正確的信息、出現(xiàn)差錯(cuò)的隨機(jī)應(yīng)變,受益非淺。致 在課程設(shè)計(jì)接近尾聲之時(shí),我們要衷心地感我們的指導(dǎo)老師!另外,還要特別感能給我們這次在一起合作的機(jī)會(huì),我們之間配合得很好、很默契,并且相互學(xué)到了很多東西,使得這一次的課程設(shè)計(jì)取得了圓滿成功。在此我們表示最真摯的感!參考文獻(xiàn)1毅剛,喜元,宇.單片機(jī)原理與應(yīng)用(第二版).:高等教育,2010.5.2周潤(rùn)景,麗娜,丁莉.基于PROTEUS的電路與單片機(jī)設(shè)計(jì)與仿真(第二版).:航天航空大學(xué),2009.12.3王衛(wèi)兵. Protel 99 SE基礎(chǔ)教程.:郵電大學(xué),2008.4何立民.單片機(jī)應(yīng)用技術(shù)大全

20、M.:航空航天大學(xué), 1994.附圖1電路原理圖附圖2Proteus仿真圖附圖3PCB圖附圖4實(shí)物圖源程序附頁(yè)DIN BIT P2.0CLK BIT P2.1ORG 0000HLJMP STARTORG 0003HLJMP INT00ORG 0030HSTART:MOV SP,#60H ;設(shè)置堆棧指針MOV TMOD,#01H ;置定時(shí)器T0方式1MOV TH0,#3CH ;置T0定時(shí)初值50msMOV TL0,#0B0HCLR TF0 ;清TF0SETB TR0 ;啟動(dòng)T0SETB EX0 ;開(kāi)外部中斷0SETB PX0 ;設(shè)置外部中斷0為高優(yōu)先級(jí)SETB IT0 ;設(shè)置外部中斷0為跳沿觸發(fā)

21、SETB EA ;開(kāi)總中斷CLR AMOV P1,ALOOP:MOV R2,#20 ;設(shè)置定時(shí)查詢次數(shù)MOV R3,#27 ;綠燈亮27sMOV 30H,#30 ;東西路口計(jì)時(shí)顯示初值30sMOV 40H,#27 ;南北路口計(jì)時(shí)顯示初值27sLCALL DISPLAY ;調(diào)數(shù)碼管顯示LCALL STATE1 ;調(diào)狀態(tài)1WAIT1: ;狀態(tài)1持續(xù)27sJNB TF0,WAIT1 ;查詢50ms到否CLR TF0 ;清TF0MOV TH0,#3CH ;T0重裝初值MOV TL0,#0B0HDJNZ R2,WAIT1 ;1s到否?未到繼續(xù)查詢MOV R2,#20 ;重裝定時(shí)查詢次數(shù)DEC 30H ;

22、東西路口計(jì)時(shí)顯示時(shí)間減1sDEC 40H ;南北路口計(jì)時(shí)顯示時(shí)間減1sLCALL DISPLAY ;調(diào)數(shù)碼管顯示DJNZ R3,WAIT1 ;狀態(tài)1持續(xù)27s否?未到繼續(xù)狀態(tài)1MOV R2,#20 ;重裝定時(shí)查詢次數(shù)MOV R3,#3 ;黃燈亮3sMOV 30H,#3 ;東西路口計(jì)時(shí)顯示初值3sMOV 40H,#3 ;南北路口計(jì)時(shí)顯示初值3sLCALL DISPLAY ;調(diào)數(shù)碼管顯示LCALL STATE2 ;調(diào)狀態(tài)2WAIT2: ;狀態(tài)2持續(xù)3sJNB TF0,WAIT2 ;查詢50ms到否CLR TF0MOV TH0,#3CH ;T0重裝初值MOV TL0,#0B0HDJNZ R2,WAI

23、T2 ;1s到否?未到繼續(xù)查詢MOV R2,#20 ;重裝定時(shí)查詢次數(shù)DEC 30H ;東西路口計(jì)時(shí)顯示時(shí)間減1sDEC 40H ;南北路口計(jì)時(shí)顯示時(shí)間減1sLCALL DISPLAY ;調(diào)數(shù)碼管顯示DJNZ R3,WAIT2 ;狀態(tài)2持續(xù)3s否?未到繼續(xù)狀態(tài)2MOV R2,#20 ;重裝定時(shí)查詢次數(shù)MOV R3,#27 ;綠燈亮27sMOV 30H,#27 ;東西路口計(jì)時(shí)顯示初值27sMOV 40H,#30 ;南北路口計(jì)時(shí)顯示初值30sLCALL DISPLAY ;調(diào)數(shù)碼管顯示LCALL STATE3 ;調(diào)狀態(tài)3WAIT3: ;狀態(tài)3持續(xù)27sJNB TF0,WAIT3 ;查詢50ms到否C

24、LR TF0MOV TH0,#3CH ;T0重裝初值MOV TL0,#0B0HDJNZ R2,WAIT3 ;1s到否?未到繼續(xù)查詢MOV R2,#20 ;重裝定時(shí)查詢次數(shù)DEC 30H ;東西路口計(jì)時(shí)顯示時(shí)間減1sDEC 40H ;南北路口計(jì)時(shí)顯示時(shí)間減1sLCALL DISPLAY ;調(diào)數(shù)碼管顯示DJNZ R3,WAIT3 ;狀態(tài)3持續(xù)27s否?未到繼續(xù)狀態(tài)3MOV R2,#20 ;重裝定時(shí)查詢次數(shù)MOV R3,#3 ;黃燈亮3sMOV 30H,#3 ;東西路口計(jì)時(shí)顯示初值3sMOV 40H,#3 ;南北路口計(jì)時(shí)顯示初值3sLCALL DISPLAY ;調(diào)數(shù)碼管顯示LCALL STATE4

25、;調(diào)狀態(tài)4WAIT4: ;狀態(tài)4持續(xù)3sJNB TF0,WAIT4 ;查詢50ms到否CLR TF0MOV TH0,#3CH ;T0重裝初值MOV TL0,#0B0HDJNZ R2,WAIT4 ;1s到否?未到繼續(xù)查詢MOV R2,#20 ;重裝定時(shí)查詢次數(shù)DEC 30H ;東西路口計(jì)時(shí)顯示時(shí)間減1sDEC 40H ;南北路口計(jì)時(shí)顯示時(shí)間減1sLCALL DISPLAY ;調(diào)數(shù)碼管顯示DJNZ R3,WAIT4 ;狀態(tài)4持續(xù)3s否?未到繼續(xù)狀態(tài)4LJMP LOOPSTATE1: ;狀態(tài)1SETB P1.0 ;東西路口紅燈亮SETB P1.5 ;南北路口綠燈亮CLR P1.1CLR P1.2CL

26、R P1.3CLR P1.4RETSTATE2: ;狀態(tài)2SETB P1.0 ;東西路口紅燈亮SETB P1.4 ;南北路口黃燈亮CLR P1.1CLR P1.2CLR P1.3CLR P1.5RETSTATE3: ;狀態(tài)3SETB P1.2 ;東西路口綠燈亮SETB P1.3 ;南北路口紅燈亮CLR P1.0CLR P1.1CLR P1.4CLR P1.5RETSTATE4: ;狀態(tài)4SETB P1.1 ;東西路口黃燈亮SETB P1.3 ;南北路口紅燈亮CLR P1.0CLR P1.2CLR P1.4CLR P1.5RETDISPLAY:LCALL ChaifenLCALL ChabiaoLCALL ChuansongRETChaifen: ;拆分MOV A,30H ;東西路口計(jì)時(shí)存儲(chǔ)單元MOV B,#10DIV ABMOV 53H,A ;東西路口時(shí)間高位存儲(chǔ)到53HMOV A,B MOV 52H,A ;東西路口時(shí)間低位存儲(chǔ)到52HMOV A,40H ;南北路口計(jì)時(shí)存儲(chǔ)單元MOV B,#10DIV ABMOV 51H,A ;南北路口時(shí)間高位存儲(chǔ)到51HMOV A,B MOV 50H,A ;南北路口時(shí)間低位存儲(chǔ)到50HRETChabiao: ;查表MOV

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論