單片機(jī)課程設(shè)計(jì)-現(xiàn)代交通燈的設(shè)計(jì)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  電氣信息學(xué)院</b></p><p>  單片機(jī)與控制技術(shù)課程設(shè)計(jì)報(bào)告</p><p>  課題名稱 現(xiàn)代交通燈的設(shè)計(jì) </p><p>  專業(yè)班級(jí) ************* </p><p>  學(xué) 號(hào)

2、 ********** </p><p>  學(xué)生姓名 **** </p><p>  指導(dǎo)教師 ****** </p><p>  評(píng) 分 </p><p>  2012年12

3、月24日至12月30日</p><p>  課程設(shè)計(jì)量化評(píng)分標(biāo)準(zhǔn)</p><p><b>  指導(dǎo)老師評(píng)語:</b></p><p><b>  答辯記錄</b></p><p>  1、例舉設(shè)計(jì)過程中遇到的問題及其解決方法(至少兩例)。</p><p>  答:(1)問題說

4、明:74HC244芯片沒有找到完整的芯片。</p><p>  解決方法:后來發(fā)現(xiàn)74HC244芯片在Protues中是被拆分成兩個(gè)部分的,一個(gè)完整的74HC244芯片是由A、B兩個(gè)分開的部分組合而成的,后來采用了兩個(gè)子芯片的組合。</p><p> ?。?)問題說明:原理圖畫好后,調(diào)試時(shí)發(fā)現(xiàn)了不明原因的錯(cuò)誤,無法調(diào)試成功。</p><p>  解決方法:在網(wǎng)上百度

5、貼吧中找到了類似的問題及其解決方案,問題最終得以解決。</p><p>  2、教師現(xiàn)場提的問題記錄在此(不少于2個(gè)問題)。</p><p><b>  答:</b></p><p><b>  摘 要</b></p><p>  城市道口交通燈控制系統(tǒng)模型采用單片機(jī)作為主控制器,用于十字路口

6、的車輛及行人的交通管理,每個(gè)方向具有左拐、右拐、直行及行人4種通行指示燈,計(jì)時(shí)牌顯示路口通行轉(zhuǎn)換剩余時(shí)間,在出現(xiàn)緊急情況時(shí)可以由交警手動(dòng)實(shí)現(xiàn)全路口車輛禁行而行人通行狀態(tài)。另外,在特種車輛如119、120通過路口時(shí),系統(tǒng)可自動(dòng)轉(zhuǎn)換為特種車輛放行,其他車輛禁行,15s后系統(tǒng)自動(dòng)恢復(fù)正常管理。其他還有盲人提示音、120s與60s通行管理轉(zhuǎn)換功能。采用標(biāo)準(zhǔn)的AT89C52單片機(jī)作為控制器;通行倒計(jì)時(shí)顯示采用3位LED數(shù)碼管;右拐、左拐、直行及行

7、人4種通行狀態(tài)指示燈采用雙色高亮發(fā)光二極管;LED顯示采用動(dòng)態(tài)掃描,以節(jié)省端口數(shù)。特種車輛通行采用實(shí)時(shí)中斷完成,識(shí)別方法采用紅外線發(fā)射及接受方案。整套電路模塊由控制系統(tǒng)模塊、通行燈輸出控制顯示模塊、時(shí)間顯示模塊和自動(dòng)特種車輛控制模塊等組成。道口交通控制系統(tǒng)控制程序主要分為以下幾個(gè)模塊:初始化程序、主程序、定時(shí)中斷程序和特種車實(shí)時(shí)響應(yīng)程序等。設(shè)計(jì)時(shí)按紅綠交通燈控制程序和特種車輛經(jīng)過中斷程序兩大部分。本系統(tǒng)以AT89C51單片機(jī)為核心,采用

8、匯編語言編程,設(shè)計(jì)的交通燈可用于十字路口的車輛及行人的交通</p><p>  關(guān)鍵詞:單片機(jī); 顯示; 匯編語言; 交通管理; LED數(shù)碼管</p><p><b>  目 錄</b></p><p><b>  1 設(shè)計(jì)任務(wù)1</b></p><p><b>  2設(shè)計(jì)方案1&l

9、t;/b></p><p>  3 系統(tǒng)硬件設(shè)計(jì)2</p><p>  3.2通行燈輸出控制電路3</p><p>  3.3 時(shí)間顯示模塊電路4</p><p>  3.4 特種車輛自動(dòng)通行控制模塊5</p><p>  3.5 盲人提示音電路5</p><p>  3.6 電

10、源電路及時(shí)鐘電路5</p><p>  4 系統(tǒng)主要程序設(shè)計(jì)6</p><p>  4.1 初始化程序6</p><p>  4.2 主程序流程6</p><p>  4.3外中斷1中斷服務(wù)程序7</p><p>  4.4定時(shí)器中斷服務(wù)程序8</p><p>  5仿真與性能

11、分析9</p><p><b>  6心得體會(huì)10</b></p><p><b>  參考文獻(xiàn)11</b></p><p>  附錄1 系統(tǒng)原理圖12</p><p>  附錄2程序清單13</p><p><b>  1 設(shè)計(jì)任務(wù)</b>&

12、lt;/p><p><b>  1.1要求:</b></p><p> ?。?)設(shè)計(jì)一款帶左轉(zhuǎn)、直行,右轉(zhuǎn)三種通行綠燈,參見實(shí)物效果圖; </p><p>  (2)帶緊急按鈕功能,當(dāng)緊急按鈕按下時(shí),所有方向均亮起紅燈; </p><p>  (3)夜間運(yùn)行模式按鈕,按下時(shí),所有方向黃燈閃爍; </p><

13、;p> ?。?*)可更在線修改紅綠燈等待間隔時(shí)間</p><p> ?。?*)實(shí)現(xiàn)顯示倒計(jì)時(shí)功能</p><p> ?。?#)其他功能(創(chuàng)新部分)</p><p>  1.2實(shí)際功能設(shè)計(jì):</p><p>  每個(gè)方向具有左拐、右拐、直行及行人4種通行指示。</p><p>  計(jì)時(shí)牌顯示路口通行轉(zhuǎn)換剩余時(shí)間。&

14、lt;/p><p>  (3)在出現(xiàn)緊急情況時(shí)可以由交警手動(dòng)實(shí)現(xiàn)全路口車輛禁行而行人通行狀態(tài)。</p><p>  (4)在特種車輛如119、120通過路口時(shí),系統(tǒng)可自動(dòng)轉(zhuǎn)換為特種車輛放行,其他車輛禁行,15s后系統(tǒng)自動(dòng)恢復(fù)正常管理。</p><p> ?。?)盲人提示音、120s與60s通行管理轉(zhuǎn)換功能。</p><p><b>  

15、2設(shè)計(jì)方案</b></p><p><b>  2.1設(shè)計(jì)方案</b></p><p>  采用標(biāo)準(zhǔn)的AT89C52單片機(jī)作為控制器;通行倒計(jì)時(shí)顯示采用3位LED數(shù)碼管;右拐、左拐、直行及行人4種通行狀態(tài)指示燈采用雙色高亮發(fā)光二極管;LED顯示采用動(dòng)態(tài)掃描,以節(jié)省端口數(shù)。特種車輛通行采用實(shí)時(shí)中斷完成,識(shí)別方法采用紅外線發(fā)射及接受方案。按以上系統(tǒng)構(gòu)架設(shè)計(jì),單

16、片機(jī)端口資源剛好滿足要求。整個(gè)電路組成框圖如圖2.1所示。</p><p>  圖2.1 采用LED動(dòng)態(tài)掃描的交通燈控制系統(tǒng)</p><p><b>  3 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  3.1主控制系統(tǒng)電路</p><p>  整套電路模塊由控制系統(tǒng)模塊、通行燈輸出控制顯示模塊、時(shí)間顯示模塊和自動(dòng)特種車輛控

17、制模塊等組成。</p><p>  主控制器采用AT89C52,是ATMEL公司生產(chǎn)的一款性能穩(wěn)定的8位單片機(jī),AT89C52具有1個(gè)8KB的Flash程序存儲(chǔ)器,1個(gè)512字節(jié)的RAM,4個(gè)8位的雙向可位尋址I/O端口,3個(gè)16位定時(shí)/計(jì)數(shù)器及1個(gè)串行口和6個(gè)二級(jí)中斷結(jié)構(gòu)。</p><p>  單片機(jī)的P1口及P2口分別用于控制南北及東西的通行燈,P0口及P3.0~P3.2口用于4組3位

18、LED計(jì)時(shí)器的控制,特種車輛通過時(shí)使用外中斷1口(P3.3),手動(dòng)自動(dòng)轉(zhuǎn)換采用P3.7口按鍵。主控系統(tǒng)電路圖如圖3.1所示。</p><p>  圖3.1 主控系統(tǒng)電路</p><p>  3.2通行燈輸出控制電路</p><p>  道口交通燈指示采用高亮度紅綠雙色發(fā)光二極管,左拐、右拐、直行及行人各一個(gè)。當(dāng)發(fā)光電流為6mA時(shí),按公式R=(5-1.8)/0.006

19、計(jì)算,限流電阻應(yīng)為510歐姆。由于南北通行時(shí)雙向指示牌相同,因此每個(gè)端口應(yīng)具有12mA的吸收電流能力。另外,人行道口按4個(gè)燈算須24mA的吸收電流。這樣在單片機(jī)的輸出口需接驅(qū)動(dòng)電路74HC244,以保護(hù)單片機(jī)的輸出端口。道口指示燈電路圖如圖3.2所示。</p><p>  圖3.2 單片機(jī)復(fù)位電路</p><p>  3.3 時(shí)間顯示模塊電路</p><p>  道

20、口剩余時(shí)間采用高亮紅色7段LED發(fā)光數(shù)碼管顯示,采用共陽數(shù)碼管,如用單片機(jī)吸收電流驅(qū)動(dòng),列掃描驅(qū)動(dòng)使用三極管,按每段6mA電流算,全顯示字形“8”時(shí),每個(gè)數(shù)碼管需6mA*8=48mA。由于單片機(jī)每個(gè)段碼輸出口需吸收24mA電流,因此在電路設(shè)計(jì)中也使用了驅(qū)動(dòng)集成塊74HC244。時(shí)間顯示模塊電路如圖3.3所示。</p><p>  圖3.4 時(shí)間顯示模塊電路</p><p>  3.4 特種

21、車輛自動(dòng)通行控制模塊</p><p>  自動(dòng)道口燈在特種車輛到來時(shí)能自動(dòng)關(guān)閉所有綠燈,讓特種車輛通過。設(shè)計(jì)中采用紅外線發(fā)生器作為特種車的發(fā)信器,使用實(shí)時(shí)中斷響應(yīng)來響應(yīng)特種車輛的通行要求。紅外線接收器一般采用電視機(jī)用一體化紅外線接收器,具有很高的靈敏度和較強(qiáng)的抗干擾能力。</p><p>  3.5 盲人提示音電路</p><p>  道口控制系統(tǒng)設(shè)計(jì)中,方便盲人過

22、人行道的提示音電路,聲音控制電路與人行道通行控制綠燈相同步,當(dāng)綠燈亮?xí)r響一下,在行人結(jié)束通行前,綠燈閃爍10s時(shí)會(huì)間隔響5次(每次1s)。盲人提示音電路如圖3.5所示。</p><p>  圖3.5 數(shù)碼管顯示電路</p><p>  3.6 電源電路及時(shí)鐘電路</p><p>  整個(gè)系統(tǒng)采用的電源電壓只需+5V電壓,故采用不可調(diào)的3端穩(wěn)壓器件,用常用的LM780

23、5就可以滿足系統(tǒng)電源的要求。LM7805三端集成穩(wěn)壓電源內(nèi)部由基準(zhǔn)電壓回路、恒流源、過流保護(hù)、過壓保護(hù)和短路保護(hù)等8部分組成,具有低功耗、高效率、紋波系數(shù)小、輸出電壓穩(wěn)定等優(yōu)點(diǎn)。</p><p>  圖3.6 電源電路及時(shí)鐘電路</p><p>  4 系統(tǒng)主要程序設(shè)計(jì)</p><p>  道口交通控制系統(tǒng)控制程序主要分為以下幾個(gè)模塊:初始化程序、主程序、定時(shí)中斷程

24、序和特種車實(shí)時(shí)響應(yīng)程序等。</p><p>  4.1 初始化程序</p><p>  初始化程序主要完成內(nèi)存規(guī)劃,定時(shí)器的工作模式、中斷方式等的設(shè)定。由于子程序調(diào)用較多,因此初始化時(shí)堆棧指針設(shè)于80H處。定時(shí)器T0、T1設(shè)為16位定時(shí)器模式,定時(shí)時(shí)間為50ms,T0為秒計(jì)時(shí)用,T1為通行結(jié)束閃爍用。</p><p>  4.2 主程序流程</p>

25、<p>  主程序主要負(fù)責(zé)總體程序管理功能,實(shí)現(xiàn)人機(jī)交互設(shè)定。由于采用動(dòng)態(tài)掃描方式顯示時(shí)間,因此主程序大部分時(shí)間要調(diào)用掃描顯示程序。主程序流程圖如圖4.2所示。</p><p><b>  開始</b></p><p><b>  N</b></p><p><b>  P3.7=0?</b&

26、gt;</p><p><b>  Y</b></p><p>  圖4.2主程序流程圖</p><p>  4.3外中斷1中斷服務(wù)程序</p><p>  當(dāng)特種車輛經(jīng)過時(shí),車中發(fā)射紅外線信號(hào),其信號(hào)被道口控制板上的接收器接收,并輸出一個(gè)低電平觸發(fā)外中斷1。中斷處理程序流程圖如圖4.3所示。</p>&l

27、t;p><b>  外中斷程序</b></p><p>  15s倒計(jì)時(shí)結(jié)束? N</p><p><b>  Y</b></p><p>  圖4.3 外中斷1中斷服務(wù)程序流程圖</p><p>  4.4定時(shí)器中斷服務(wù)程序</p><p>  定時(shí)器中斷服務(wù)程

28、序主要用于行車及行人的通行指示,通行規(guī)則如下:</p><p>  車輛南北直行、各路右拐,南北向行人通行。南北向通行時(shí)間為1min,各路右拐比直行滯后10s開放。</p><p>  車輛南北向左拐、各路右拐,形容人禁行。通行時(shí)間為1min。</p><p>  車輛東西向直行、各路右拐,東西向行人通行。東西向通行時(shí)間為1min,各路右拐比直行滯后10s開放。&l

29、t;/p><p>  車輛東西向左拐、各路右拐,行人禁行。通行時(shí)間為1min。</p><p>  交通燈的四種通行規(guī)則,是以控制紅綠燈端口控制碼的方式實(shí)現(xiàn)的。它的原理是,將按不同規(guī)則通行時(shí)的各路口的紅綠燈亮滅情況轉(zhuǎn)換為單片機(jī)端口控制碼。其指示燈功能通過T0定時(shí)中斷服務(wù)程序?qū)崿F(xiàn)。</p><p>  定時(shí)器T0溢出中斷周期設(shè)為50ms,中斷累計(jì)20次(即1s)時(shí)對(duì)120

30、s倒計(jì)時(shí)單元減1操作。設(shè)計(jì)中將四種通行規(guī)則分成不同的亮燈方式,通過查詢秒倒計(jì)時(shí)單元的數(shù)據(jù),實(shí)現(xiàn)不同的時(shí)間段給控制端口送不同的控制數(shù)據(jù)碼。控制碼分為5個(gè)時(shí)間段:120~110s、110~70s、70~60s、60~10s、10~0s。交通管理定時(shí)功能程序流程圖如圖4.4所示。</p><p><b>  T0中斷程序</b></p><p><b>  N&l

31、t;/b></p><p><b>  判斷</b></p><p><b>  Y</b></p><p>  圖4.4 定時(shí)器中斷處理流程圖</p><p><b>  5仿真與性能分析</b></p><p><b>  1、系統(tǒng)仿

32、真過程</b></p><p><b>  圖5.1 仿真圖</b></p><p><b>  2 仿真結(jié)果與分析</b></p><p>  調(diào)試時(shí),按紅綠交通燈控制程序和特種車輛經(jīng)過中斷程序兩大部分電路進(jìn)行調(diào)試,并且南北方向、東西方向的指示燈同時(shí)調(diào)試。</p><p><b

33、>  6心得體會(huì)</b></p><p>  單片機(jī)這門課程是在大三下半學(xué)期學(xué)的,等到了大四開始單片機(jī)課程設(shè)計(jì),我感覺有些內(nèi)容有些陌生,周圍的同學(xué)也有這種感覺。剛開始選課程設(shè)計(jì)題目時(shí),我原本以為應(yīng)該不麻煩的,因?yàn)槲疫x擇的是交通燈的控制,感覺大體是運(yùn)用定時(shí)器及中斷的原理來做。這類問題以前在單片機(jī)實(shí)驗(yàn)中做過類似的實(shí)驗(yàn),實(shí)時(shí)操作的交通燈控制我也曾用PLC做過的。所以大體感覺,交通燈的問題,用編程來解決

34、,原理應(yīng)該是很簡單的。</p><p>  拿到題目后,我看了看后,感覺思路清晰了,用單片機(jī)中定時(shí)器和中斷的知識(shí)即可。所以,我決定先完成程序設(shè)計(jì)部分,用匯編語言編程。在編程過程中,我感覺以前學(xué)過的一些單片機(jī)編程的某些語法不熟悉,所以還花了一些時(shí)間復(fù)習(xí)以前的內(nèi)容。本次課程設(shè)計(jì)不必以前的實(shí)驗(yàn)操作,因?yàn)檫@次交通燈的控制要求實(shí)現(xiàn)的功能比以前復(fù)雜,不僅要有各個(gè)方向通行燈的定時(shí)指示,還需要有擴(kuò)展功能,我將夜間模式換成了特種車

35、運(yùn)行模式,另外還添加了盲人提示部分。整個(gè)程序中,子程序的調(diào)用比較頻繁,所以編程需要較強(qiáng)的邏輯性。</p><p>  編完程序后,我在Protues中畫系統(tǒng)原理圖。以前曾用CAD畫過圖,但是感覺Protues和CAD二者還是有一定區(qū)別的。有的原件不怎么好找,比如74HC244這個(gè)芯片,先前怎么找都找不到像先前見過的那種類型的,后來才發(fā)現(xiàn),原來一個(gè)74HC244芯片其實(shí)是元件庫中的兩個(gè)分開的子芯片的組合。畫圖、調(diào)試

36、感覺有點(diǎn)麻煩,也費(fèi)了許多時(shí)間,但是感覺整個(gè)過程,收獲還是不少的。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 黃惟公,鄧成中,王燕.單片機(jī)原理與應(yīng)用技術(shù).西安:西安電子科技大學(xué)出版社,2007.</p><p>  [2] 朱清慧.Protueus顯示控制系統(tǒng)設(shè)計(jì)與實(shí)例.北京: 清華大學(xué)大學(xué)出版社,2011.<

37、;/p><p>  [3]秦時(shí)宏,徐春輝. MCS-51單片機(jī)原理及應(yīng)用. 武漢:華中科技大學(xué)出版社.2010.</p><p>  [4] 張迎新等編著. 單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,2009.1</p><p>  [5] 張迎新編著.單片機(jī)初級(jí)教程.北京:航空航天大學(xué)出版社,2007.8</p><p>  [6] 李勛等編著.

38、單片機(jī)實(shí)用教程.北京:航空航天大學(xué)出版社,2000.6</p><p>  [7] 余永權(quán)等編著.單片機(jī)在控制系統(tǒng)的應(yīng)用.北京:電子工業(yè)出版社,2003.10</p><p>  [8] 蔡偉智:《LED道路交通燈的研制》,液晶與顯示,第20卷第五期</p><p>  [9] 張大明:《單片機(jī)控制實(shí)訓(xùn)》,機(jī)械工業(yè)出版社,2007</p><p&

39、gt;<b>  附錄1 系統(tǒng)原理圖</b></p><p><b>  附錄2程序清單</b></p><p>  ;*************************************************************************;</p><p>  ;

40、 交通燈匯編程序 ;</p><p>  ;*************************************************************************;</p><p>  TIME EQU 50H ;秒計(jì)數(shù)用</p>

41、<p>  TIMESFR EQU 51H ;臨時(shí)寄存器</p><p>  CONR5 EQU 52H;T1秒定時(shí)計(jì)數(shù)器用</p><p>  TIMED0EQU 55H;單向最大定時(shí)時(shí)間,直行開始,人行開始(120S)</p><p>  TIMED1EQU 56H;各路右拐開始時(shí)

42、間(110S)</p><p>  TIMED2EQU 57H;前行結(jié)束提醒(70S)</p><p>  TIMED3EQU 58H;前行結(jié)束,人行結(jié)束,左拐開始(60S)</p><p>  TIMED4EQU 58H;左拐結(jié)束提醒</p><p>  TIMED5EQU 5AH;左拐結(jié)束&

43、lt;/p><p>  TIMED6EQU 5BH;</p><p>  TIMED7EQU 5CH;</p><p>  SNEQU P1;南北口</p><p>  ENEQU P2;東西口</p><p>  SCANEQU P3;掃描口</

44、p><p>  LEDOUTEQU P0;段碼口</p><p>  SNEWFLAGBIT 09H;東西口與南北口轉(zhuǎn)換標(biāo)志</p><p>  ;按鍵在掃描口的最高位,按一下,全紅燈,再按一下,恢復(fù)原狀態(tài)</p><p>  ;定時(shí)器T0、T1溢出周期為50ms,T0為秒計(jì)數(shù)用</p><p> 

45、 ;***********************中斷入口程序**************************</p><p>  ORG 0000H ;程序執(zhí)行開始地址</p><p>  LJMP START ;跳到標(biāo)號(hào)START執(zhí)行</p><p>  ORG 0003H ;外中斷0中斷程序入口</p&g

46、t;<p>  RETI ;外中斷0中斷返回</p><p>  ORG 000BH ;定時(shí)器T0中斷入口地址</p><p>  LJMP INTT0 ;</p><p>  ORG 0013H ;外中斷1中斷入口</p><p>  LJMP INT11 ;</p>

47、;<p>  ORG 001B ;定時(shí)器T1中斷入口地址</p><p>  LJMP INTT1 ;</p><p>  ORG 0023H ;串行中斷入口地址</p><p>  RETI ;</p><p><b>  ;</b></p><

48、p>  ;***************************主程序***********************</p><p>  START: MOV SP,#80H</p><p>  MOV R0,#00H;清零00H~8EH內(nèi)存單元</p><p>  MOV R7,#8FH</p><p>  CLEAR

49、DISP: MOV @R0,#00H</p><p><b>  INC R0</b></p><p>  DJNZ R7,CLEARDISP</p><p>  MOV TIMED0,#78H ;單向最大定時(shí)時(shí)間,直行開始,人行開始(120S)</p><p>  MOV TIMED1,#6EH ;

50、各路右拐開始時(shí)間(110S)</p><p>  MOV TIMED2,#46H ;前行結(jié)束提醒(70S)</p><p>  MOV TIMED3,#3CH ;前行結(jié)束,人行結(jié)束,左拐開始(60S)</p><p>  MOV TIMED4,#0AH ;左拐結(jié)束提醒</p><p>  CLR SNEWFLAG ;南北先

51、通行標(biāo)志位</p><p>  MOV TMOD,#11H ;設(shè)置T0、T1為16位定時(shí)器</p><p>  MOV TL0,#0B0H ;50ms定時(shí)器初值(T0計(jì)時(shí)用)</p><p>  MOV TH0,#3CH ;50ms定時(shí)器初值</p><p>  MOV TL1,#0B0H ;50ms定時(shí)器初值(T1閃爍定時(shí)用

52、)</p><p>  MOV TH1,#3CH ;50ms定時(shí)器初值</p><p>  JB SCAN.7,SSST ;120s管理</p><p><b>  ;以下為60s管理</b></p><p>  LCALL DL1MS</p><p>  LCALL DL1MS<

53、/p><p>  LCALL DL1MS</p><p>  JB SCAN.7,SSST ;干擾</p><p>  MOV TIMED0,#60 ;單向最大定時(shí)時(shí)間,從直行開始,人行開始(60S)</p><p>  MOV TIMED1,#55 ;各路右拐開始時(shí)間(55S)</p><p>  MOV

54、 TIMED2,#35 ;前行結(jié)束提醒(35S)</p><p>  MOV TIMED3,#30 ;前行結(jié)束,人行結(jié)束,左拐開始(30S)</p><p>  MOV TIMED4,#05 ;左拐結(jié)束提醒</p><p>  SSWAIT:JNB SCAN.7,SSWAIT</p><p>  LCALL DL1MS<

55、/p><p>  LCALL DL1MS</p><p>  LCALL DL1MS</p><p>  JNB SCAN.7,SSWAIT</p><p>  SSST:MOV TIME,TIMED0 ;120S</p><p>  LCALL TUNBCD</p><p>  MOV

56、 SN,#66H </p><p>  MOV EW,#55H </p><p>  SETB EA ;總中斷開放</p><p><b>  SETB PX1</b></p><p><b>  SETB EX1</b></p><p>  

57、SETB ET0 ;允許T0中斷</p><p>  SETB TR0 ;允許T0定時(shí)器</p><p>  MOV R4,#14H ; 1s定時(shí)用初值(50ms*20)</p><p>  MOV CONR5,#20</p><p>  START1:LCALL DISPLAY ; 調(diào)用顯示子程序</p&

58、gt;<p>  JNB SCAN.7,KEYFUN ;手動(dòng)狀態(tài)</p><p>  SJMP START1 ; P1.0為1時(shí)跳回START1</p><p>  KEYFUN:LCALL DISPLAY</p><p>  LCALL DISPLAY</p><p>  JB SCAN.7,START1&l

59、t;/p><p><b>  CLR ET0</b></p><p><b>  CLR TR0</b></p><p>  MOV SN,#056H ; 全車道停,行人通</p><p>  NIV EW,#056H</p><p>  MOV TIME,#

60、00H ;時(shí)間顯示0</p><p>  LCALL TUNBCD</p><p>  KEYWAIT:LCALL DISPLAY</p><p>  JNB SCAN.7,KEYWAIT</p><p>  KEYY:LCALL DISPLAY ;等待按鍵按下</p><p>  JB SCAN.7,

61、KEYY</p><p>  LCALL DISPLAY</p><p>  JB SCAN.7,KEYY</p><p>  KEYWAIT1:LCALL DISPLAY</p><p>  JNB SCAN.7,KEYWAIT1</p><p>  MOV TIME,TIMED0 ;重新開始計(jì)時(shí)初值

62、</p><p>  LCALL TUNBCD</p><p>  CLR SNEWFLAG ;南北先通行標(biāo)志</p><p><b>  SETB TR0</b></p><p><b>  SETB ET0</b></p><p>  AJMP START1&l

63、t;/p><p>  ;******************1S計(jì)時(shí)程序************************</p><p>  INTT0: PUSH ACC</p><p><b>  PUSH PSW</b></p><p><b>  CLR ET0</b></p&

64、gt;<p><b>  CLR TR0</b></p><p>  MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正</p><p>  ADD A,TL0 ;低8位初值修正</p><p>  MOV TL0,A ;重裝初值,修正低8位</p><p>  MOV A,#3CH ;

65、高8位初值修正</p><p>  ADDC A,TH0</p><p>  MOV TH0,A ;重裝初值,修正高8位</p><p><b>  SETB TR0</b></p><p>  DJNZ R4,OUTT00 ;20次中斷未到,中斷退出</p><p>  MOV

66、R4,#14H ; 20次中斷到(1s),重賦初值</p><p>  JB SNEWFLAG,INT22</p><p>  DEC TIME</p><p>  MOV A,TIME</p><p>  CJNE A,TIMED1,LOOP11 ;判斷是否小于110s</p><p>  LOOP

67、11: JC LOOP22 ;120~110</p><p>  MOV SN,#66H</p><p>  MOV EW,#55H</p><p>  LJMP OUTT0 ;120~110</p><p>  LOOP22: MOV A,TIME</p><p>  CJNE A,T

68、IMED2,LOOP33 ;判斷是否小于70s</p><p>  LOOP33: JC LOOP44 ;110~70</p><p>  MOV SN,#6AH </p><p>  MOV EW,#59H</p><p>  LJMP OUTT0 ;110~70</p><p>  LOO

69、P44: MOV A,TIME</p><p>  CJNE A,TIMED3,LOOP55 ;判斷是否小于60s</p><p>  LOOP55: JC LOOP66 ;70~60</p><p>  MOV 20H,SN</p><p><b>  CPL 04H</b></p&g

70、t;<p><b>  CPL 00H</b></p><p>  MOV SN,20H</p><p>  MOV EW,#59</p><p>  LJMP OUTT0 ;70~60</p><p>  LOOP66: MOV A,TIME</p><p>

71、  CJNE A,TIMED4,LOOP77 ;判斷是否小于10s</p><p>  LOOP77: JC LOOP88 ;60~10</p><p>  MOV SN,#99H</p><p>  MOV EW,#59H</p><p>  LJMP OUTT0 ;60~10</p><p

72、>  LOOP88: MOV A,TIME</p><p>  JZ OUT88</p><p>  MOV 20H,SN</p><p><b>  CPL 06H</b></p><p><b>  CPL 02H</b></p><p> 

73、 MOV SN,20H</p><p>  MOV 20H,EW</p><p><b>  CPL 02H</b></p><p>  MOV EW,20H</p><p>  LJMP OUTT0 ;70~60</p><p>  OUT88: MOV TIME,T

74、IMED0 ;120s初值</p><p>  CPL SNEWFLAG</p><p>  OUTT0: LCALL TUNBCD</p><p>  OUTT00: POP PSW</p><p><b>  POP ACC</b></p><p><b>  

75、SETB ET0</b></p><p><b>  RETI</b></p><p>  INT22: DEC TIME </p><p>  MOV A,TIME</p><p>  CJNE A,TIMED1,LOOP111 ;判斷是否小于110s</p><p>

76、;  LOPP111: JC LOOP221 ;120~110</p><p>  MOV EW,#66H</p><p>  MOV SN,#55H</p><p>  LJMP OUTT01 ;120~110</p><p>  LOOP221: MOV A,TIME</p><p>  CJ

77、NE A,TIMED2,LOOP331 ;判斷是否小于70s</p><p>  LOOP331: JC LOOP441 ;110~70</p><p>  MOV EW,6AH</p><p>  MOV SN,#59H</p><p>  LJMP OUTT01 ;110~70</p><p&g

78、t;  LOOP441: MOV A,TIME</p><p>  CJNE A,TIMED3,LOOP551 ;判斷是否小于60s</p><p>  LOOP551: JC LOOP661 ;70~60</p><p>  MOV 20H,EW</p><p><b>  CPL 04H</b>

79、;</p><p><b>  CPL 00H</b></p><p>  MOV EW,20H</p><p>  MOV SN,#59H</p><p>  LJMP OUTT01 ;70~60</p><p>  LOOP661: MOV A,TIME</p>

80、<p>  CJNE A,TIMED4,LOOP771 ;判斷是否小于10s</p><p>  LOOP771: JC LOOP881 ;60~10</p><p>  MOV EW,#99H</p><p>  MOV SN,#59H</p><p>  LJMP OUTT01 ;60~10<

81、/p><p>  LOOP881: MOV A,TIME</p><p>  JZ OUT881</p><p>  MOV 20H,EW</p><p><b>  CPL 06H</b></p><p><b>  CPL 02H</b></p&g

82、t;<p>  MOV EW,20H</p><p>  MOV 20H,SN</p><p><b>  CPL 02H</b></p><p>  MOV SN,20H</p><p>  LJMP OUTT01 ;70~60</p><p>  OUT881

83、: MOV TIME,TIMED0 ;120S初值</p><p>  CPL SNEWFLAG</p><p>  OUTT01: LCALL TUNBCD</p><p>  POP PSW</p><p>  POP ACC</p><p>  SETB ET0</p>

84、<p><b>  RETI</b></p><p>  ;******************顯示程序*************************</p><p>  ;顯示數(shù)據(jù)在70H~72H單元內(nèi),用3位LED共陽數(shù)碼管顯示,LEDOUT口輸出段碼數(shù)據(jù),</p><p>  ;SCAN口作掃描控制,每個(gè)LED數(shù)碼管亮1m

85、s再逐位循環(huán)</p><p>  DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首地址</p><p>  MOV R5,#0FEH ;掃描控制字初值</p><p>  PLAY: MOV A,R5 ; 掃描字放入A</p><p>  MOV SCAN,A ;從SCAN口輸出</p>

86、<p>  MOV A,@R1 ; 取顯示數(shù)據(jù)到A</p><p>  MOV DPTR,#TAB ; 取段碼表地址</p><p>  MOVC A,@A+DPTR;查顯示數(shù)據(jù)對(duì)應(yīng)段碼</p><p>  MOV LEDOUT,A ; 段碼放入LEDOUT口</p><p>  LOOP6:

87、 LCALL DL1MS ; 顯示1ms</p><p>  INC R1 ; 指向下一個(gè)地址</p><p>  MOV A,R5 ; 掃描控制字放入A</p><p>  JNB ACC.2,ENDOUT ; ACC.2=0時(shí),一次顯示結(jié)束</p><p><b>  RL A

88、</b></p><p>  MOV R5,A</p><p>  MOV LEDOUT,#0FFH </p><p>  AJMP PLAY</p><p>  ENDOUT: MOV LEDOUT,#0FFH ;一次顯示結(jié)束,端口復(fù)位</p><p>  MOV SCA

89、N,#0FFH ;端口復(fù)位</p><p><b>  RET</b></p><p>  TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH</p><p>  ; 共陽段碼表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8&quo

90、t;,"9","不亮","A","-"</p><p>  ;***********************延時(shí)程序*******************************</p><p>  ;1ms延時(shí)程序,LED顯示程序用</p><p>  DL1MS: MOV

91、R6,#14H</p><p>  DL1: MOV R7,#19H</p><p>  DL2: DJNZ R7,DL2</p><p>  DJNZ R6,DL1</p><p><b>  RET</b></p><p>  TUNBCD: PUSH AC

92、C</p><p>  PUSH PSW</p><p><b>  PUSH B</b></p><p>  MOV A,TINE</p><p>  MOV B,#100</p><p><b>  DIV AB</b></p>&

93、lt;p>  MOV 72H,A</p><p>  JNZ JJ0</p><p>  MOV 72H,#0AH ;最高位為0,不點(diǎn)亮</p><p>  JJ0: MOV A,B</p><p>  MOV B,#10</p><p><b>  DIV A

94、B</b></p><p>  MOV 71H,A</p><p>  JNZ JJ1</p><p>  MOV A,72H ;次高位為0,先看最高位是否為不亮</p><p>  SUBB A,#0AH</p><p>  JNZ JJ1</p><p

95、>  MOV 71H,#0AH ;最高位為不亮,次高位也不亮</p><p>  JJ1: MOV 70H,B</p><p><b>  POP B</b></p><p>  POP PSW</p><p>  POP ACC</p><p><b

96、>  RET</b></p><p>  ;119、120車中斷程序</p><p>  INT11: PUSH ACC</p><p>  PUSH PSW</p><p>  CLR EX1</p><p>  CLR ET0</p><p>  C

97、LR TR0</p><p>  MOV SN,#055H ;紅燈全亮</p><p>  MOV EW,#055H</p><p>  MOV TIMESFR,TIME ;保存道口數(shù)據(jù)</p><p>  MOV TIME,#0FH</p><p>  MOV CONR5,#2

98、0</p><p>  LCALL TUNBCD</p><p>  SETB ET1</p><p>  SETB TR1</p><p>  POP PSW</p><p>  POP ACC</p><p><b>  RETI</b></

99、p><p>  ;**********************15s計(jì)時(shí)程序**********************</p><p><b>  ;T1中斷服務(wù)程序</b></p><p>  INTT1: PUSH ACC</p><p>  PUSH PSW</p><p>  C

100、LR ET1</p><p>  CLR TR1</p><p>  MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正</p><p>  ADD A,TL1 ; 低8位初值修正</p><p>  MOV TL1,A ; 重裝低8位初值</p><p>  MOV A,#3CH

101、 ; 高8位初值修正</p><p>  ADDC A,TH1 ;</p><p>  MOV TH1,A ; 重裝高8位初值</p><p>  SETB TR1</p><p>  DJNZ CONR5,OUTT333 ;20次中斷未到,中斷退出</p><p>  MOV CON

102、R5,#14H ; 20次中斷到(1s),重賦初值</p><p>  DEC TIME ;</p><p>  LCALL TUNBCD</p><p>  MOV A,TIME</p><p>  JZ OUT444</p><p>  OUTT333: SETB ET1</

103、p><p>  POP PSW</p><p>  POP ACC</p><p><b>  RETI</b></p><p>  OUT444: CLR TR1</p><p>  CLR ET1</p><p>  MOV TIME,TIM

104、ESFR</p><p>  LCALL TUNBCD</p><p>  SETB ET0</p><p>  SETB TR0</p><p>  SETB EX1</p><p>  POP PSW</p><p>  POP ACC</p><

溫馨提示

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

評(píng)論

0/150

提交評(píng)論