單片機(jī)課程設(shè)計(jì)報(bào)告---交通燈_第1頁(yè)
已閱讀1頁(yè),還剩16頁(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、<p><b>  單片機(jī)交通燈設(shè)計(jì)</b></p><p><b>  目錄</b></p><p>  1 設(shè)計(jì)任務(wù)和性能指標(biāo)3</p><p><b>  1.1設(shè)計(jì)任務(wù)4</b></p><p><b>  1.2性能指標(biāo)4</b>

2、</p><p><b>  2 設(shè)計(jì)方案4</b></p><p><b>  2.1任務(wù)分析4</b></p><p><b>  2.2方案設(shè)計(jì)4</b></p><p>  2.2.1硬件方案4</p><p>  2.2.2軟件方案4

3、</p><p>  3 系統(tǒng)硬件設(shè)計(jì)6</p><p>  3.1單片機(jī)的最小系統(tǒng)6</p><p><b>  3.2電源電路6</b></p><p>  3.3數(shù)碼管顯示時(shí)間電路6</p><p>  3.4系統(tǒng)原理圖7</p><p><b>

4、  3.5系統(tǒng)元件8</b></p><p>  4 系統(tǒng)軟件設(shè)計(jì)8</p><p>  4.1 主程序設(shè)計(jì)9</p><p><b>  4.2系統(tǒng)程序9</b></p><p>  5 調(diào)試及性能分析9</p><p><b>  5.1調(diào)試分析9</b

5、></p><p>  5.1.1軟件調(diào)試9</p><p>  5.1.2硬件調(diào)試9</p><p>  5.1.3系統(tǒng)功能調(diào)試9</p><p><b>  6心得體會(huì)9</b></p><p><b>  附錄一10</b></p><

6、;p><b>  參考文獻(xiàn)18</b></p><p><b>  摘要</b></p><p>  交通在人們的日常生活中占有重要的地位,隨著人們社會(huì)活動(dòng)的日益頻繁,這點(diǎn)更是體現(xiàn)的淋漓盡致。交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入

7、,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p>  本系統(tǒng)采用單片機(jī)80C51為中心器件來(lái)設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的各種狀態(tài)顯示以及倒計(jì)時(shí)時(shí)間。</p><p>  本設(shè)計(jì)系統(tǒng)由

8、單片機(jī)I/O口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、復(fù)位電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)等功能,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。</p><p>  軟件上采用C52編程,主要編寫(xiě)了主程序,LED數(shù)碼管顯示程序,中斷程序延時(shí)程序等。經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬。</p><p>  關(guān)鍵字:電子線路 ;80C51;LED;交通燈。

9、</p><p>  1 設(shè)計(jì)任務(wù)和性能指標(biāo)</p><p><b>  1.1設(shè)計(jì)任務(wù) </b></p><p><b>  模擬圖</b></p><p>  利用單片機(jī)完成交通信號(hào)燈控制器的設(shè)計(jì),該交通信號(hào)燈控制器由一條主干道和一條支干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號(hào)燈,紅

10、燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車(chē)輛有時(shí)間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號(hào)燈。如圖上圖所示。</p><p><b>  1.2性能指標(biāo)</b></p><p> ?。?)兩路口是同等的。處于允許通行的狀態(tài),有車(chē)來(lái)時(shí)允許通行。東西道亮綠燈時(shí),南北道亮紅燈;南北道亮綠燈時(shí),東西道亮紅燈。綠紅燈之間以黃燈間隔。</p><p&

11、gt; ?。?)兩個(gè)方向均有車(chē)時(shí),兩者交替允許通行,均每次放行15秒,設(shè)立15秒計(jì)時(shí)、顯示電路。紅燈10秒。</p><p> ?。?)通行時(shí)間及黃燈亮的時(shí)間均可在0~99秒內(nèi)任意設(shè)置。</p><p><b>  2 設(shè)計(jì)方案</b></p><p><b>  2.1任務(wù)分析</b></p><p&

12、gt;  模擬交通燈控制器就是使用單片機(jī)來(lái)控制一些LED 和數(shù)碼管,模擬真實(shí)交通燈的功能。紅、黃、綠交替點(diǎn)亮,利用數(shù)碼管倒計(jì)數(shù)顯示間隔等,用于管理十字路口的車(chē)輛及行人交通,計(jì)時(shí)牌顯示路口通行轉(zhuǎn)換剩余時(shí)間等。</p><p><b>  2.2方案設(shè)計(jì)</b></p><p><b>  2.2.1硬件方</b></p><p&

13、gt;  案根據(jù)設(shè)計(jì)的要求可知,系統(tǒng)的硬件原理框圖如下圖所示</p><p><b>  系統(tǒng)硬件框圖</b></p><p>  單片機(jī)可選用80C51,它與8051系列單片機(jī)全兼容,但其內(nèi)部帶有8KB的FLASH ROM,設(shè)計(jì)時(shí)無(wú)需外接程序存儲(chǔ)器,為設(shè)計(jì)和調(diào)試帶來(lái)極大的方便。南北向和東西向各采用2個(gè)數(shù)碼管計(jì)時(shí),同時(shí)需要對(duì)該方向的指示燈的點(diǎn)亮?xí)r間進(jìn)行倒計(jì)時(shí)。按鍵可以

14、根據(jù)系統(tǒng)的需要進(jìn)行復(fù)位。用三極管驅(qū)動(dòng)數(shù)碼管顯示,三極管控制共陽(yáng)位選端,控制數(shù)碼管的顯示。</p><p>  2.2.2 軟件方案</p><p>  首先南北方向紅燈、東西方向綠燈亮,南北方向紅燈15秒、東西方向綠燈10秒,相應(yīng)的數(shù)碼管顯示對(duì)應(yīng)的數(shù)字并讀秒,同時(shí)南北方向紅色的二極管和東西方向的綠色二極管接通點(diǎn)亮顯示,當(dāng)東西方向的綠燈時(shí)間到,則東西方向的綠燈轉(zhuǎn)為黃燈,同時(shí)數(shù)碼管顯示黃燈的時(shí)

15、間5秒,東西方向的黃色二極管接通點(diǎn)亮,此時(shí)南北方向的紅燈不變。南北方向的紅燈和東西方向的黃燈時(shí)間同時(shí)到,此時(shí)南北方向的紅燈跳轉(zhuǎn)為綠燈,時(shí)間同樣為10秒,東西方向有黃燈跳轉(zhuǎn)為紅燈,時(shí)間為15秒。當(dāng)南北方向的綠燈時(shí)間到,南北綠燈跳轉(zhuǎn)為黃燈,東西方向的紅燈不變,當(dāng)南北方向的黃燈和東西方向的紅燈時(shí)間到,南北方向的黃燈跳轉(zhuǎn)為紅燈,東西方向的紅燈跳轉(zhuǎn)為綠燈。進(jìn)入開(kāi)始的狀態(tài),循環(huán)執(zhí)行。</p><p>  根據(jù)設(shè)計(jì)要求,程序框

16、圖如圖所示。軟件可由匯編語(yǔ)言完成,也可由C語(yǔ)言完成。軟件設(shè)計(jì)可以分為以下幾個(gè)功能模塊:</p><p><b>  數(shù)碼管顯示模塊</b></p><p>  動(dòng)態(tài)顯示方式:動(dòng)態(tài)顯示方式是指一位一位地輪流點(diǎn)亮每位顯示器(稱(chēng)為掃描),即每個(gè)數(shù)碼管的位選被輪流選中,多個(gè)數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對(duì)位選選中的數(shù)碼管有效。對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器

17、的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。通過(guò)調(diào)整電流和時(shí)間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則顯示器的公共端只需一個(gè)8位I/O口進(jìn)行動(dòng)態(tài)掃描(稱(chēng)為掃描口),控制每位顯示器所顯示的字形也需一個(gè)8位口(稱(chēng)為段碼輸出)。</p><p>  LED紅綠燈顯示模塊</p><p>  狀態(tài)1, 東西綠燈亮,南北紅燈亮</p><p&g

18、t;  狀態(tài)2, 東西黃燈亮,南北紅燈亮</p><p>  狀態(tài)3, 東西紅燈亮,南北綠燈亮</p><p>  狀態(tài)4, 東西紅燈亮,南北黃燈亮</p><p><b>  結(jié)構(gòu)框圖</b></p><p><b>  3 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  3.1

19、單片機(jī)的最小系統(tǒng) </p><p>  STC公司生產(chǎn)的80C51單片機(jī)它是硬件電路的核心部分,時(shí)鐘電路晶振使用12MHz,復(fù)位電路采取按鍵復(fù)位方式。</p><p>  單片機(jī)系統(tǒng)的時(shí)鐘電路</p><p>  單片機(jī)系統(tǒng)的復(fù)位電路及顯示單元</p><p>  3.2電源電路設(shè)計(jì)電源用5V直流變壓器直接供電,usb接口供電。</p&

20、gt;<p>  3.3數(shù)碼管顯示電路</p><p>  顯示電路采用4個(gè)共陽(yáng)數(shù)碼管,用74HC244做驅(qū)動(dòng)器,P0口作為數(shù)碼管的輸入,ULN2803作為控制位選端,P2.0,P2.1,P2.2, P2.3分別作為東西,南北四路數(shù)碼管的位選端。數(shù)碼管顯示電路圖</p><p><b>  3.4系統(tǒng)原理圖</b></p><p>

21、;<b>  系統(tǒng)原理圖</b></p><p><b>  3.5指示單元</b></p><p><b>  3.6系統(tǒng)元件</b></p><p>  去電子市場(chǎng)按原件清單購(gòu)買(mǎi)所需原件,檢測(cè)所購(gòu)元件的性能是否達(dá)到所需標(biāo)準(zhǔn),然后按照系統(tǒng)原理圖接好硬件圖,檢查接線是否正確,是否有漏接,短接等。并用測(cè)

22、試程序檢查元器件是否能正常工作,以便修改,一切就緒后,就將寫(xiě)好的程序下載進(jìn)單片機(jī)。以下是元器件清單列表。</p><p>  4 系統(tǒng)軟件設(shè)計(jì)4.1 主程序設(shè)計(jì)系統(tǒng)程序流程圖</p><p><b>  4.2系統(tǒng)程序</b></p><p>  根據(jù)設(shè)計(jì)方案,設(shè)計(jì)滿足要求的程序,并將程序燒寫(xiě)進(jìn)單片機(jī),運(yùn)行程序,觀察現(xiàn)象是否符合要求,若不符合要

23、求繼續(xù)修改程序。直至能達(dá)到要求。程序清單見(jiàn)附錄一。 </p><p><b>  5 調(diào)試及性能分析</b></p><p><b>  5.1 調(diào)試分析</b></p><p><b>  5.1.1軟件調(diào)試</b></p><p>  軟件調(diào)試主要是利用protus仿真軟

24、件完成電路的搭建,運(yùn)行以發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤及時(shí)改正。</p><p><b>  5.1.2硬件調(diào)試</b></p><p>  硬件調(diào)試主要是檢測(cè)硬件電路是否有短路、斷路、虛焊等。具體步驟及測(cè)試結(jié)果如下:</p><p> ?。?)檢查電源與地線是否全部連接上,用萬(wàn)用表對(duì)照電路原理圖測(cè)試各導(dǎo)線是否完全連接,對(duì)未連接的進(jìn)行修復(fù)。(2)參照原理圖,

25、檢查各個(gè)器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測(cè)試,各連接不存在問(wèn)題。(3)以上兩項(xiàng)檢查并修復(fù)完后,給該硬件電路上電,電源指示燈點(diǎn)亮。</p><p>  5.1.3系統(tǒng)功能調(diào)試</p><p>  通過(guò)通電調(diào)試系統(tǒng)的功能,觀察系統(tǒng)是否正常運(yùn)行,是否達(dá)到設(shè)計(jì)指標(biāo),通過(guò)修改軟件完成系統(tǒng)的系能指標(biāo),也可以通過(guò)仿真軟件進(jìn)行仿真運(yùn)行,調(diào)試并修改系統(tǒng),以便達(dá)到最佳水準(zhǔn)。讓系統(tǒng)最大限度的發(fā)揮其功

26、效。</p><p><b>  6 心得體會(huì)</b></p><p>  這次單片機(jī)課程設(shè)計(jì)歷時(shí)三個(gè)星期的時(shí)間,在這次設(shè)計(jì)過(guò)程里我們體驗(yàn)了從總體方案設(shè)計(jì)、畫(huà)原理圖、設(shè)計(jì)程序、焊電路板到調(diào)試完善的整個(gè)過(guò)程。</p><p>  我學(xué)會(huì)了用更多的工具去查閱資料,獲取所需的知識(shí),解決了很多我在之前的學(xué)習(xí)中沒(méi)有弄懂的問(wèn)題。了解了很多元件的作用和用法。

27、熟悉了單片機(jī)的使用,熟悉了單片機(jī)的各個(gè)管腳的功能。這可以說(shuō)是給我上了深刻的復(fù)習(xí)課,在我即將忘記單片機(jī)知識(shí)的時(shí)候,又讓我加深了我對(duì)它的認(rèn)識(shí),而且了解了更多以前沒(méi)有注意的問(wèn)題。</p><p>  通過(guò)這次課程設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步。本次課程設(shè)計(jì)的過(guò)程

28、是艱辛的,不過(guò)收獲卻是很大的。</p><p>  在設(shè)計(jì)過(guò)程中,會(huì)出現(xiàn)了一些問(wèn)題,但都是常見(jiàn)的小問(wèn)題,如:代碼中雙引號(hào)的使用并不是在英語(yǔ)書(shū)寫(xiě)狀態(tài)下,輸入字母出錯(cuò)等,在調(diào)試時(shí)出現(xiàn)異常,不過(guò)這些都是經(jīng)常性錯(cuò)誤,經(jīng)過(guò)調(diào)試修改都一一解決,程序順利完成,并實(shí)現(xiàn)了其功能。</p><p>  綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí)。在此,由于

29、自身能力有限,在課程設(shè)計(jì)中碰到了很多的問(wèn)題,我通過(guò)查閱相關(guān)書(shū)籍、資料以及和周?chē)瑢W(xué)交流。</p><p>  由于使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。但是在我們?cè)O(shè)計(jì)和調(diào)試的過(guò)程中,也發(fā)現(xiàn)了一些問(wèn)題,譬如紅燈和綠燈的切換還不夠迅速,紅綠燈規(guī)則不完善效率還不是很高等等,這需要在實(shí)踐中進(jìn)一步完善。當(dāng)然,通過(guò)這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很

30、多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我。</p><p>  通過(guò)這次課程設(shè)計(jì),對(duì)以前學(xué)過(guò)的知識(shí)進(jìn)行了鞏固,加深了理解,提高了應(yīng)用的能力,而且提高了我們的發(fā)現(xiàn)、分析、解決問(wèn)題的能力。經(jīng)歷了從最初的設(shè)計(jì)到最后做出產(chǎn)品的開(kāi)發(fā)過(guò)程,提高了對(duì)專(zhuān)業(yè)的認(rèn)識(shí)及興趣,對(duì)于我們工科來(lái)說(shuō),對(duì)以后就業(yè)有及其重大的影響。</p><p><b>  附錄一</b></p>

31、<p>  SECOND1EQU30H;東西路口計(jì)時(shí)寄存器</p><p>  SECOND2EQU31H;南北路口計(jì)時(shí)寄存器 </p><p>  DBUFEQU40H;顯示碼緩沖區(qū)1</p><p>  TEMPEQU44H;顯示碼緩沖區(qū)2</p><p>  

32、LED_G1BITP2.1;東西路口綠燈</p><p>  LED_Y1BITP2.2;東西路口黃燈</p><p>  LED_R1BITP2.3;東西路口紅燈</p><p>  LED_G2BITP2.4;南北路口綠燈</p><p>  LED_Y2BITP2.5

33、;南北路口黃燈</p><p>  LED_R2BITP2.6;南北路口紅燈</p><p>  ORG0000H</p><p>  LJMPSTART</p><p>  ORG0100H</p><p>  START:MOVTMOD,#01H;置T0為工作方式1</p&

34、gt;<p>  MOVTH0,#3CH;置T0定時(shí)初值50ms</p><p>  MOVTL0,#0B0H</p><p><b>  CLRTF0</b></p><p>  SETBTR0;啟動(dòng)T0</p><p><b>  CLRA</b

35、></p><p>  MOVP1,A;關(guān)閉不相關(guān)的LED</p><p>  ;***************************************************</p><p>  LOOP:MOVR2,#20;置1s計(jì)數(shù)初值,50ms*20=1s</p><p>  MOVR3,#

36、20;紅燈亮20s</p><p>  MOVSECOND1,#25;東西路口計(jì)時(shí)顯示初值25s</p><p>  MOVSECOND2,#25;南北路口計(jì)時(shí)顯示初值25s</p><p>  LCALLDISPLAY</p><p>  LCALLSTATE1;調(diào)用狀態(tài)1</p>&l

37、t;p>  WAIT1:JNBTF0,WAIT1;查詢50ms到否</p><p>  CLRTF0</p><p>  MOVTH0,#3CH;恢復(fù)T0定時(shí)初值50ms</p><p>  MOVTL0,#0B0H</p><p>  DJNZR2,WAIT1;判斷1s到否?未到繼續(xù)狀態(tài)1&

38、lt;/p><p>  MOVR2,#20;置50ms計(jì)數(shù)初值 </p><p>  DECSECOND1;東西路口顯示時(shí)間減1s</p><p>  DECSECOND2;南北路口顯示時(shí)間減1s</p><p>  LCALLDISPLAY</p><p>  DJNZR3,WAI

39、T1;狀態(tài)1維持20s</p><p>  ;*******************************************</p><p>  MOVR2,#5;置50ms計(jì)數(shù)初值5*4=20</p><p>  MOVR3,#3;綠燈閃3s</p><p>  MOVR4,#4;閃爍間隔

40、200ms</p><p>  MOVSECOND1,#5;東西路口計(jì)時(shí)顯示初值5s</p><p>  MOVSECOND2,#5;南北路口計(jì)時(shí)顯示初值5s</p><p>  LCALLDISPLAY</p><p>  WAIT2:LCALLSTATE2;調(diào)用狀態(tài)2</p><p&g

41、t;  JNBTF0,WAIT2;查詢50ms到否</p><p><b>  CLRTF0</b></p><p>  MOVTH0,#3CH;恢復(fù)T0定時(shí)初值50ms</p><p>  MOVTL0,#0B0H</p><p>  DJNZR4,WAIT2;判斷200ms到否?未

42、到繼續(xù)狀態(tài)2</p><p>  CPLLED_G1;東西綠燈閃</p><p>  MOVR4,#4;閃爍間隔200ms</p><p>  DJNZR2,WAIT2;判1s到否?未到繼續(xù)狀態(tài)2</p><p>  MOVR2,#5;置50ms計(jì)數(shù)初值</p><p>  

43、DECSECOND1;東西路口顯示時(shí)間減1s</p><p>  DECSECOND2;南北路口顯示時(shí)間減1s</p><p>  LCALLDISPLAY</p><p>  DJNZR3,WAIT2;狀態(tài)2維持3s</p><p>  ;**********************************

44、******</p><p>  MOVR2,#20;置50ms計(jì)數(shù)初值</p><p>  MOVR3,#2;黃燈閃2s</p><p>  MOVSECOND1,#2;東西路口計(jì)時(shí)顯示初值2s</p><p>  MOVSECOND2,#2;南北路口計(jì)時(shí)顯示初值2s</p><

45、;p>  LCALLDISPLAY</p><p>  WAIT3:LCALLSTATE3;調(diào)用狀態(tài)3</p><p>  JNBTF0,WAIT3;查詢100ms到否</p><p><b>  CLRTF0</b></p><p>  MOVTH0,#3CH;恢復(fù)T0定時(shí)初

46、值100ms</p><p>  MOVTL0,#0B0H</p><p>  DJNZR2,WAIT3;判斷1s到否?未到繼續(xù)狀態(tài)3</p><p>  MOVR2,#20;置100ms計(jì)數(shù)初值</p><p>  DECSECOND1;東西路口顯示時(shí)間減1s</p><p>  

47、DECSECOND2;南北路口顯示時(shí)間減1s</p><p>  LCALLDISPLAY</p><p>  DJNZR3,WAIT3;狀態(tài)3維持2s</p><p>  ;*******************************************</p><p>  MOVR2,#20;置50

48、ms計(jì)數(shù)初值</p><p>  MOVR3,#20;紅燈閃20s</p><p>  MOVSECOND1,#25;東西路口計(jì)時(shí)顯示初值25s</p><p>  MOVSECOND2,#25;南北路口計(jì)時(shí)顯示初值25s</p><p>  LCALLDISPLAY</p><p>

49、  WAIT4:LCALLSTATE4;調(diào)用狀態(tài)4</p><p>  JNBTF0,WAIT4;查詢100ms到否</p><p><b>  CLRTF0</b></p><p>  MOVTH0,#3CH;恢復(fù)T0定時(shí)初值100ms</p><p>  MOVTL0,#0B0

50、H</p><p>  DJNZR2,WAIT4;判斷1s到否?未到繼續(xù)狀態(tài)4</p><p>  MOVR2,#20;置100ms計(jì)數(shù)初值</p><p>  DECSECOND1;東西路口顯示時(shí)間減1s</p><p>  DECSECOND2;南北路口顯示時(shí)間減1s</p>&l

51、t;p>  LCALLDISPLAY</p><p>  DJNZR3,WAIT4;狀態(tài)4維持20s</p><p>  ;*******************************************</p><p>  MOVR2,#5;置50ms計(jì)數(shù)初值</p><p>  MOVR4,#4

52、;紅燈閃20ms</p><p>  MOVR3,#3;綠燈閃3s</p><p>  MOVSECOND1,#5;東西路口計(jì)時(shí)顯示初值5s</p><p>  MOVSECOND2,#5;南北路口計(jì)時(shí)顯示初值5s</p><p>  LCALLDISPLAY</p><p>  W

53、AIT5:LCALLSTATE5;調(diào)用狀態(tài)5</p><p>  JNBTF0,WAIT5;查詢100ms到否</p><p><b>  CLRTF0</b></p><p>  MOVTH0,#3CH;恢復(fù)T0定時(shí)初值100ms</p><p>  MOVTL0,#0B0H

54、</p><p>  DJNZR4,WAIT5;判斷200ms到否?未到繼續(xù)狀態(tài)5</p><p>  CPLLED_G2;南北綠燈閃</p><p>  MOVR4,#4;閃爍200ms</p><p>  DJNZR2,WAIT5;判斷1s到否?未到繼續(xù)狀態(tài)5</p><p&

55、gt;  MOVR2,#5;置100ms計(jì)數(shù)初值</p><p>  DECSECOND1;東西路口顯示時(shí)間減1s</p><p>  DECSECOND2;南北路口顯示時(shí)間減1s</p><p>  LCALLDISPLAY</p><p>  DJNZR3,WAIT5;狀態(tài)5維持3s</

56、p><p>  ;****************************************</p><p>  MOVR2,#20;置50ms計(jì)數(shù)初值</p><p>  MOVR3,#2;紅燈閃2s</p><p>  MOVSECOND1,#2;東西路口計(jì)時(shí)顯示初值2s</p><

57、p>  MOVSECOND2,#2;南北路口計(jì)時(shí)顯示初值2s</p><p>  LCALLDISPLAY</p><p>  WAIT6:LCALLSTATE6;調(diào)用狀態(tài)6</p><p>  JNBTF0,WAIT6;查詢100ms到否</p><p><b>  CLRTF0</

58、b></p><p>  MOVTH0,#3CH;恢復(fù)T0定時(shí)初值100ms</p><p>  MOVTL0,#0B0H</p><p>  DJNZR2,WAIT6;判斷1s到否?未到繼續(xù)狀態(tài)6</p><p>  MOVR2,#20;置100ms計(jì)數(shù)初值</p><p> 

59、 DECSECOND1;東西路口顯示時(shí)間減1s</p><p>  DECSECOND2;南北路口顯示時(shí)間減1s</p><p>  LCALLDISPLAY</p><p>  DJNZR3,WAIT6;狀態(tài)6維持2s</p><p>  LJMPLOOP;大循環(huán)</p><p

60、>  ;**********************************************</p><p>  STATE1:;狀態(tài)1</p><p>  SETBLED_G1;東西路口綠燈亮</p><p>  CLRLED_Y1</p><p>  CLRLED_R1</p>

61、<p>  CLRLED_G2</p><p>  CLRLED_Y2</p><p>  SETBLED_R2;南北路口紅燈亮</p><p><b>  RET</b></p><p>  STATE2:;狀態(tài)2</p><p>  CLRLE

62、D_Y1</p><p>  CLRLED_R1</p><p>  CLRLED_G2</p><p>  CLRLED_Y2</p><p>  SETBLED_R2;南北路口紅燈亮</p><p><b>  RET</b></p><p>  

63、STATE3:;狀態(tài)3</p><p>  CLRLED_G1</p><p>  CLRLED_R1</p><p>  CLRLED_G2</p><p>  CLRLED_Y2</p><p>  SETBLED_R2;南北路口紅燈亮</p><p&g

64、t;  SETBLED_Y1;東西路口綠燈亮</p><p><b>  RET</b></p><p>  STATE4:;狀態(tài)4</p><p>  CLRLED_G1</p><p>  CLRLED_Y1</p><p>  SETBLED_R1

65、;東西路口紅燈亮</p><p>  SETBLED_G2;南北路口綠燈亮</p><p>  CLRLED_Y2</p><p>  CLRLED_R2</p><p><b>  RET</b></p><p>  STATE5:;狀態(tài)5</p>

66、<p>  CLRLED_G1</p><p>  CLRLED_Y1</p><p>  SETBLED_R1;東西路口紅燈亮</p><p>  CLRLED_Y2</p><p>  CLRLED_R2</p><p><b>  RET</b><

67、/p><p>  STATE6:;狀態(tài)6</p><p>  CLRLED_G1</p><p>  CLRLED_Y1</p><p>  SETBLED_R1;東西路口紅燈亮</p><p>  CLRLED_G2</p><p>  CLRLED_R2

68、</p><p>  SETBLED_Y2;南北路口紅燈亮</p><p><b>  RET</b></p><p>  DISPLAY:;數(shù)碼顯示</p><p>  MOVA,SECOND1;東西路口計(jì)時(shí)寄存器</p><p>  MOVB,#10

69、;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù)</p><p><b>  DIVAB</b></p><p>  MOVDBUF+3,A</p><p><b>  MOVA,B</b></p><p>  MOVDBUF+2,A</p><p>  MOVA,SEC

70、OND2;南北路口計(jì)時(shí)寄存器</p><p>  MOVB,#10;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù)</p><p><b>  DIVAB</b></p><p>  MOVDBUF+1,A</p><p><b>  MOVA,B</b></p><

71、p>  MOVDBUF,A</p><p>  MOVR0,#DBUF</p><p>  MOVR1,#TEMP</p><p>  MOVR7,#4</p><p>  DP10:MOVDPTR,#LEDMAP</p><p>  MOVA,@R0</p><p&

72、gt;  MOVCA,@A+DPTR</p><p>  MOV@R1,A</p><p><b>  INCR0</b></p><p><b>  INCR1</b></p><p>  DJNZR7,DP10</p><p>  MOVR0,#TEM

73、P</p><p>  MOVR1,#4</p><p>  DP12:MOVR7,#8</p><p>  MOVA,@R0</p><p>  DP13:RLCA</p><p>  MOVP3.0,C</p><p><b>  CLRP3.1<

74、/b></p><p><b>  SETBP3.1</b></p><p>  DJNZR7,DP13</p><p><b>  INCR0</b></p><p>  DJNZR1,DP12</p><p><b>  RET</b>

75、;</p><p><b>  LEDMAP:</b></p><p>  DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5</p><p>  DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B</p><p>  DB58H,5EH,7BH,71H,0,

76、40H;C,D,E,F(xiàn), ,-</p><p><b>  END</b></p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 徐維祥.單片微型機(jī)原理及應(yīng)用 大連理工大學(xué)出版社,2006.12</p><p>  [2] 胡漢才.單片機(jī)原理與接口技術(shù)[M].北京: 清華大學(xué)

77、大學(xué)出版社,2004.1-505.</p><p>  [3] 閆勝利.Altium Designer 6.X中文版使用教程 電子工業(yè)出版社 2007.6</p><p>  [4] 朝青.單片機(jī)原理及接口技術(shù)(第3版).2005年10月</p><p>  [5] 張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(修訂版)北京:國(guó)防工業(yè)出版社,2004.1.</p

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論