版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)-現(xiàn)代交通燈的設(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ī)的交通燈系統(tǒng)的設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈系統(tǒng)的設(shè)計(jì)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 單片機(jī)的交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---交通燈
- 單片機(jī)交通燈課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論