交通管理系統(tǒng)的設(shè)計用計算機硬件實驗系統(tǒng)完成



《交通管理系統(tǒng)的設(shè)計用計算機硬件實驗系統(tǒng)完成》由會員分享,可在線閱讀,更多相關(guān)《交通管理系統(tǒng)的設(shè)計用計算機硬件實驗系統(tǒng)完成(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、交通管理系統(tǒng)的設(shè)計(用計算機硬件實驗系統(tǒng)完成) 1 設(shè)計的主要內(nèi)容 設(shè)計編制一個十字路口交通監(jiān)督與管理系統(tǒng),用計算機硬件實驗系統(tǒng)中的LED和開關(guān)模擬實現(xiàn)交通管理要求,基本功能描述如下: 1)交通路線分為人行道、干線和支線,人行道有紅燈和綠燈,干線和支線有紅燈、黃燈和綠燈。 2)人行道由一個按鍵控制,當(dāng)人按下按鍵后,在正常干線和支線的綠燈時間結(jié)束后,人行道綠燈亮,干線和支線紅燈亮,維持10秒后,人行道紅燈亮,干線和支線由以下情況決定。 3)正常情況下只允許干線通車,即干線綠燈亮,支線紅燈亮。 4)當(dāng)支線上有一輛及以上車輛時請設(shè)計合理的紅黃綠燈
2、變化規(guī)則,要求干線由綠燈變紅燈規(guī)律為:綠燈變?yōu)辄S燈,持續(xù)三秒后,變?yōu)榧t燈;支線的紅燈變?yōu)榫G燈。 5)若在支線的綠燈亮25秒期間干線M(大于)4輛車到,則應(yīng)允許干線車輛通過。此時支線綠變?yōu)辄S燈,持續(xù)3秒后,干線由紅變?yōu)榫G燈。 6)當(dāng)支線綠燈亮了25秒后,支線由綠變?yōu)辄S燈,持續(xù)3秒后,變?yōu)榧t燈;干線有紅變?yōu)榫G燈,即返回正常情況,允許干線的車輛通過。 7)當(dāng)干線由紅燈變?yōu)榫G燈后,必須維持25秒后才能返回第三步。 2 任務(wù)分工 在這次課程設(shè)計過程中我們小組的分工如下: 任務(wù) 負責(zé)人 方案設(shè)計 袁 雙、李 莫 主程序1(交通管理系統(tǒng)) 李 莫、袁 雙 主程序2(交通
3、監(jiān)督系統(tǒng)) 周瑜忻、王志瑜 設(shè)計報告 袁 雙、王志瑜 程序匯總、調(diào)試 周瑜忻、李 莫 3 優(yōu)化功能 在完成交通管理系統(tǒng)的基本功能的設(shè)計以后,我們小組通過討論,決定加入以下完善和 優(yōu)化功能: 1、設(shè)計了較為合理的支線紅黃綠燈變化規(guī)則,當(dāng)干線轉(zhuǎn)為支線時,若支線來車,計給予支線10秒通行時間,時間到支線通行時間結(jié)束;若線持續(xù)來車,支線通行時間擴充到10秒(倒計時),直到通行25秒,支線通行結(jié)束。 2、考慮夜間特殊時段通行,我們設(shè)計了干線和支線黃燈閃爍,人行道燈滅:表示車輛慢行,人行道注意路況小心通行。 3、擴充干線、支線和人行道交通違規(guī)監(jiān)督功能: ①在主干線通行
4、的時候,判斷支線和人行道是否有人闖紅燈,如果有,亮燈警視,并記錄支干道闖紅燈車輛數(shù)量; ②在支線通行的時候,判斷主干線和人行道是否有人闖紅燈,如果有,亮燈警視,并記錄主干道闖紅燈車輛數(shù)量; ③在人行道通行的時候,判斷主干道和支干道是否有人闖紅燈,如果有,亮燈警視,并記錄主干道和支干道紅燈車輛數(shù)量。 4 操作說明 在程序開始運行后,系統(tǒng)的初始狀態(tài)為干線正常運行,干線綠燈亮,支線和人行道紅燈亮。具體操作方式如下:(k1:特殊時段控制鍵;k2:人行道控制鍵;k3:支線來車;k4:干線來車;8個二極管代表干線、支線和人行道的紅黃綠燈;8段LED顯示到計時間) 1、初始
5、狀態(tài)下,人行道控制鍵按k2下,則當(dāng)干線或支線運行結(jié)束后轉(zhuǎn)為人行道通行(時間10秒),此時干線、直線紅燈亮,人行道黃燈亮。 2、人行道通行結(jié)束后,自動轉(zhuǎn)為干線通行,按下k3,代表支線來車,當(dāng)干線通行25秒結(jié)束后干線綠燈滅轉(zhuǎn)黃燈持續(xù)3秒后紅燈亮,人行道紅燈亮,支線綠燈亮。 3、當(dāng)支線通行第一個10秒內(nèi),同時k1 、k3按下代表支線又有持續(xù)來車,此時支線通行時間返回擴充到10秒,直到通行滿25秒后結(jié)束。 4、按下k1代表進入特殊時段,此時干線、支線黃燈閃爍,當(dāng)同時按下k1 k2 k3 k4代表退出特殊時段。 5、監(jiān)督功能部分,當(dāng)主干道亮紅燈的時候,按下K2時,
6、支干道警示燈L2亮,按下K3時,L2 L3亮;當(dāng)支干道亮紅燈的時候,按下K1時,主干道警示燈L1亮,按下K3時,L2 L3亮;當(dāng)人行道亮紅燈的時候,按下K1時,主干道警示燈L1亮,按下K2時,L2亮。 5 設(shè)計方案 根據(jù)設(shè)計要求,我們采用模塊化的編程思路,這樣便于分工協(xié)作,程序便于調(diào)試。 1)主程序1(交通管理系統(tǒng)) 該模塊主要是用來實現(xiàn)交通管理系統(tǒng)的邏輯判斷功能,包括判斷開關(guān)、調(diào)用相應(yīng)的子程序,具體的判斷邏輯如下:首先循環(huán)判斷是否特殊時段控制鍵k1按下,若按下則調(diào)用黃燈閃爍子程序;若未按下程序自動調(diào)用干線運行程序,在此過程則循環(huán)掃描是否有支線和人行道控制開關(guān)按
7、下,如沒有開關(guān)按下則循環(huán)調(diào)用干線運行程序,如有開關(guān)按下則調(diào)用對應(yīng)的子程序。程序統(tǒng)一采用8254可編程硬件延時,A口作為輸出控制8段LED顯示,B口作為輸出控制二極管C口低四位作為輸入口控制開關(guān),高四位作為輸出口控制8段LED位選。 2)主程序2(交通監(jiān)督系統(tǒng)) 先對十字路口主干道和枝干道紅燈信號進行判斷,如果紅燈亮?xí)r,再對主干道和枝干道闖紅燈車輛信號進行判斷,如果有車輛闖紅燈,給與紅燈亮的警示信號,并且在LED上記錄主干道和枝干道闖紅燈數(shù)量。 6 程序流程圖 由于我們所設(shè)計的交通管理及監(jiān)督系統(tǒng)的功能模塊較多,且主程序以循環(huán)掃描支撐,主程序流程圖較為復(fù)雜,所以我們將主程序與
8、子程序分為兩個部分繪制了程序流程圖。 (1)主程序1(交通管理)流程圖 所有燈滅 主干道黃燈子程序 人行橫道通行子程序 黃燈閃爍子程序 主干道黃燈子程序 支路黃燈子程序 K2=1? L=0? 支路通行子程序 主干道黃燈子程序 K3=1? K1=1? 支路黃燈子程序 主干道黃燈子程序 人行橫道通行子程 主干道黃燈子程序 主干道黃燈子程序 人行橫道通行子程 K1=1? K2=1? L=0? K2=1? K3=1? K2=1? 支路通行子程序 主干道通行子程序 開始
9、 黃燈閃爍子程序 Y N Y Y N
10、 Y 主干道綠燈,支路紅燈,人行道紅燈 N 延時1秒 N Y Y N N
11、 Y 人行橫道通行子程序 Y N K2=1? N Y Y 延時1秒 N
12、 N Y (2)主程序2(交通監(jiān)督系統(tǒng))流程圖 開始 LED是否為A 否 否 否 否 否 否 否 是 是 是 是 亮1,2號燈 是否有人闖紅燈 亮2號燈,LED顯示計數(shù) 是否有車闖紅燈 人行道是否紅燈亮 支干道是否紅燈亮 亮1號燈,LED顯示計數(shù) 是否有車闖紅燈 主干道是否紅燈亮
13、 給SI,DI數(shù)值表地址 顯示個位 個位是否為零? 十位是否為零? 個位減1 十位減1 個位加9 , 跳出子程序 , 開始 個位SI=5 十位DI=2 顯示十位 (3)干線通行子程序流程圖 N
14、 Y Y N (4)干線黃燈子程序流程圖 開始 LED個位賦值為3十位賦值為0 延時1秒 顯示十位 顯示個位 個位減1 個位是否為0 否 是 主干道黃燈亮 子程序結(jié)束 (5)支路黃燈子程序流程圖 開始 LED個位賦值為3十位賦值為0 延時1秒
15、顯示十位 顯示個位 個位減1 個位是否為0 否 是 支干道黃燈亮 子程序結(jié)束 (6)人行橫道通行子程序流程圖 LED個位賦值為0十位賦值為1 延時1秒 顯示十位 顯示個位 十位減1,個位加9 個位是否為0 否 是 干道綠燈燈亮 比較個位是否為0 個位減1 是 否 子程序結(jié)束 開始 7問題總結(jié)及心得體會 (1)9月6日下午(閱讀設(shè)計任務(wù),理解設(shè)計要求,完成方案設(shè)計): 問題:當(dāng)支線上有一輛及以上車輛時如何設(shè)計出合理的紅黃綠燈變化規(guī)則,小組討論出現(xiàn)分歧。一種想法為當(dāng)支線只要有車來(無論車
16、輛多少),當(dāng)主線通行時間結(jié)束,人行道無人,支線就通車25秒;另一種想法為無論支線來車多少,當(dāng)主線通行時間結(jié)束,人行道無人,支線先只給予10秒通行時間,若后續(xù)支線又有車來,則通行時間擴充到10秒,直到支線通車25秒就結(jié)束通行,若后續(xù)支線無車倆來,則支線就只通行10秒后轉(zhuǎn)為主線通行或人行道通行。 方案:經(jīng)過小組討論一致認為該問題意在設(shè)計出合理的支線通行規(guī)則,應(yīng)充分考慮合理性,若選擇第一種就有可能造成支線通行時間過長,造成交通時間浪費;而第二種想法就合理的考慮到了支線路況車輛多少的情況,合理的避免了不必要的交通時間浪費。最后一致同意第二種方案。 (2)9月10日(優(yōu)化功能方案設(shè)計)(交通監(jiān)督系統(tǒng)
17、): 問題:我們想設(shè)計一個交通違章監(jiān)督功能:記錄并顯示干線、支線和人行道上的違章交通情況,由于在設(shè)計基礎(chǔ)功能時已將實驗板上的輸入輸出口用完,沒有多余輸出口作為交通違章信息傳輸口。 方案:將基礎(chǔ)功能的交通管理系統(tǒng)與優(yōu)化功能的交通監(jiān)督系統(tǒng)分別在兩塊實驗板上實現(xiàn),并將兩塊實驗板聯(lián)機。將交通管理系統(tǒng)的干線、支線和人行道的輸出口引入到交通監(jiān)督系統(tǒng)的干線、支線和人行道信息輸入口。這樣交通監(jiān)督系統(tǒng)從管理系統(tǒng)讀到實時的交通信息來判段干線、支線和人行道是否有違章情況。 (3)9月13-15日(程序完成,進行調(diào)試): 問題1:第一次程序編譯鏈接都成功,調(diào)試時實驗板完全不能顯示,不清楚差錯出在實驗板還是程序
18、有問題。 方案:經(jīng)過大家認真討論一致認為實驗板未讀入程序,說明程序輸入輸出控制字有誤,經(jīng)檢查初始化控制字有誤。 問題2:調(diào)試時實驗板LED顯示亂碼且不穩(wěn)定,由于程序太長,上時間無法找出程序問題,失誤在于,我們在編完各子程序時應(yīng)分塊調(diào)試,既是排除錯誤。 方案:將有LED顯示的各子程序分塊進行調(diào)試發(fā)現(xiàn)LED的延時顯示程序有誤,改延時子程序為應(yīng)用8254可編程硬件延時。 問題3:在統(tǒng)一調(diào)試功能時,有些功能一會能實現(xiàn)一會不能實現(xiàn),不穩(wěn)定。 方案:逐一檢查硬件(導(dǎo)線、插口),最后確定為部分導(dǎo)線插口接觸不良。 這次的課程設(shè)計,由于我們小組的分工明確而且組員們都十分的
19、認真,所以我們可以較早的完成,我也認識到團隊的重要,團隊需要個人,個人也離不開團隊,必須發(fā)揚團結(jié)協(xié)作的精神。某個人的離群都可能導(dǎo)致導(dǎo)致整項工作的失敗。團隊設(shè)計中只有一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導(dǎo)致整個工作失敗。因此這次課程設(shè)計是我們又一次難得的學(xué)習(xí)機會! 自動化學(xué)院2007級四班 袁雙 20075156 在為期兩周的課程設(shè)計中,我
20、為了完成設(shè)計遇到了很多困難。在克服困難的過程中,我對已經(jīng)學(xué)習(xí)的知識有了更深入的理解,對一些不是學(xué)的很好的知識點也有了更加深入的理解。并且在這種理論聯(lián)系實際的過程中,對我們已經(jīng)學(xué)習(xí)的知識在實際生產(chǎn)中的應(yīng)用也有了大致的了解。對我的個人的綜合能力的提示有很大的幫助。 我們組的課程設(shè)計題目是交通監(jiān)督和管理系統(tǒng)。這個課題非常方便和實際相聯(lián)系。我們在構(gòu)想我們的系統(tǒng)的時候我們從簡單的紅綠燈變化聯(lián)想到了交通管理系統(tǒng)除了信號燈實際情況下還有哪些附屬設(shè)備,再聯(lián)想如何實現(xiàn)監(jiān)督功能。在這個過程中我們集思廣議,最后我們的系統(tǒng)由監(jiān)督系統(tǒng)和管理系統(tǒng)復(fù)合組成。并且由我和另外一個同學(xué)袁雙負責(zé)主系統(tǒng),我負責(zé)編譯程序,他幫我看并
21、提出意見。并和我討論如何修改。 在交通管理系統(tǒng)的程序的編譯的時候,我遇見了相當(dāng)多的問題。例如怎么讓支路通行的過程更加的智能化。最后我聯(lián)想到我上過的一門課程《智能交通》。在課上,老師曾經(jīng)說過一個類似的問題,支路通行的時候給他10秒的時間。如果有車來了,再給他延時幾秒。霎時間我想到了怎么做了。我最后讓支路通行的時候初始給10秒時間,如果有車來,就把通行時間變成10秒。再另置一個計時器,讓他在支路開始通行的時候就計時,如果滿了25秒就退出程序并令一個特殊的變量L=0。而且這么做不但程序更加智能、人性化,還解決了支路通行子程序結(jié)束后的返回主程序判斷它是否是滿25秒結(jié)束的。 除了這個問題之外主干道滿
22、25秒之后應(yīng)該怎么辦也讓我傷透了腦筋,最后我決定讓主干道通行滿25秒后,不在倒計時且讓信號燈閃爍。提示駕駛員謹慎駕駛。并且做一個大循環(huán)不停的檢測是否有人按下人行橫道開關(guān),支路是否有車來。 最后也是我遇見的最麻煩的一件事情,怎么才可以讓系統(tǒng)的時間準確。倒計時25秒就真的是25秒。最后我不停在書上尋找,最后找到了一個方法。利用電腦里面自帶的8254和8259來做,把0給8254計數(shù)器,那么他的計數(shù)時間為十八分之一秒。然后給8254一個初始的數(shù)18。就可以完成一秒的倒計時了。 在這個工作中我遇見的問題,以后工作也有可能遇見,在這種理論聯(lián)系實際的課程之中,我的能力得到了提升,知識得到了拓寬,對實際
23、問題的思考方式也更加的有邏輯性。 自動化學(xué)院2007級四班 李 莫 20075023 經(jīng)過這兩個星期的課程設(shè)計,我從中復(fù)習(xí)了大三上學(xué)習(xí)的計算機硬件技術(shù)基礎(chǔ),并運用其中的知識設(shè)計了十字路口交通燈系統(tǒng)。 這兩個星期的實習(xí),通過和組員的配合,我們做出了十字路口交通燈的系統(tǒng),并且對這個系統(tǒng)的功能進行了一個非常富有創(chuàng)造性的添加功能,就是我們用一個板實現(xiàn)了十字路口交通燈的基本功能的同時,用另外一塊板實現(xiàn)了對違規(guī)車輛和行人的監(jiān)督功能。 在實現(xiàn)功能的過程中,我們遇到了重重困阻,但是團隊的力量是強
24、大的,這是我們能夠順利做成這個課程設(shè)計的主要因素。每個組員都發(fā)揮了重要的作用。 在討論設(shè)計的功能如何實現(xiàn)的時候,我們的積極的發(fā)揮自己所學(xué)習(xí)的知識以及豐富的創(chuàng)造能力和靈活的運用所學(xué)習(xí)的知識,將我們所要實現(xiàn)的功能大體上形成了一個框架。 在設(shè)計的過程中,困難是難免的。 比如在實現(xiàn)每個環(huán)節(jié)的嵌套的過程中,對第一個環(huán)節(jié)進行判斷以后,沒有跳轉(zhuǎn)到下一個環(huán)節(jié),結(jié)果發(fā)現(xiàn)系統(tǒng)只能對主干道的闖紅燈進行判斷,不能對支干道闖紅燈的進行判斷,這個問題困擾了很長一段時間,后來才發(fā)現(xiàn)自己出了這么一個低級的錯誤。 在調(diào)試的時候,無論怎么按鍵,系統(tǒng)都沒有反應(yīng),但是看程序是沒有錯誤的,進行單步調(diào)試,系統(tǒng)還是毫無反應(yīng),結(jié)果后
25、來才發(fā)現(xiàn)是接線的時候有兩條線接反了,才導(dǎo)致了系統(tǒng)無法進行判斷。 在對違章車輛的顯示的時候,在兩個數(shù)字顯示不一樣的時候,顯示的數(shù)字會發(fā)生異常,對程序進行了仔細的觀察和思考,沒有發(fā)現(xiàn)任何的不對,進行單步調(diào)試的時候才發(fā)現(xiàn),顯示LED1的過后,跳轉(zhuǎn)到顯示LED5的時候要先顯示LED1上的數(shù)字然后過一會才回顯示LED5應(yīng)該顯示的數(shù)字,這樣讓我不知道是什么問題,后來我問我的組員,他才給我說是要加一個延時程序才能杜絕這種事情的發(fā)生,但是延時又不能太長不然會影響顯示的速度,但是也不能過短,這樣不能解決這個問題。后來加了一個1000的延時才解決了這個問題。 通過這次課程設(shè)計,我鞏固了計算機硬件技術(shù)基礎(chǔ)的知識
26、,更重要的是我更加感受到了團隊合作的重要性,一個人的力量終究是有限的,在一個團隊中,團隊的力量不單單是每個人能力的綜合,而是每個人力量的乘積。 自動化學(xué)院2007級四班 周瑜析 20075041 這次我們負責(zé)的是交通燈的題目,當(dāng)拿到了任務(wù)書后,我們仔細分析了題目,然后組員之間仔細討論了這個題目.后來就需要我們研究如何確定輸入輸出.很顯然開關(guān)應(yīng)該作為輸入,小燈作為交通燈應(yīng)該作為輸出.現(xiàn)在主要討論行車,行人交通燈之間的關(guān)系.然后主流交通與支路交通之間的關(guān)系. 設(shè)計的問題來
27、了:當(dāng)人行道上有人,支路上有車時,或者支路正在通車,人行道上有人,主干道有大于等于四輛車時,誰的優(yōu)先權(quán)更高。仔細研究過后,再考慮實際的交通情況,再加上題目的要求“當(dāng)行人按下控制鍵后,在正常干線或支線綠燈時間結(jié)束后,人行道變綠燈”,一致得出結(jié)論,行人優(yōu)先,故在主干或支干通車時都要檢測是否有行人鍵按下。首先要整理出程序的流程圖。假設(shè)在干線綠燈時,有行人按鍵,那么在干線綠燈25秒之后應(yīng)讓行人通行,但是在行人通行之后又要返回到干線綠燈。這個時候又有行人按鍵,支線來車的話,由于剛才設(shè)定的人有優(yōu)先權(quán),那么又是行人通行。于是邊有可能造成:干線—人行道—干線—人行道這一循環(huán),致使干線不能通過。還有如有車不按交
28、通燈仔細行車的監(jiān)管問題.我就是負責(zé)交通監(jiān)管方面的問題。 此次設(shè)計,我們不僅要判斷主干道和支干道以及人行道是否有違規(guī)現(xiàn)象,而且還要統(tǒng)計違規(guī)車輛的個數(shù)。 因此此次設(shè)計,要涉及很多與硬件相關(guān)的知識,比如說最常見的循環(huán)延時,還有要值得注意的是確定8255控制字.這個編程序最基礎(chǔ)的東西,也是老師在課堂上講的比較多的。 以前在學(xué)習(xí)的時候,對這些硬件相關(guān)的知識還不是很了解,但在此次實驗之后,我有了新的認識和理解,加強了對相關(guān)知識的熟悉和了解。并學(xué)到了以前不知道的知識。譬如說子程序的調(diào)用,8254延時功能的級連,都是我以前都不怎么理解的東西。還有就是中斷,我在跟我同學(xué)討論相關(guān)知識,還是不怎么明白,感覺
29、很困難。 總之,在這次實驗之后,我對匯編語言有了新的認識,掌握了大概的程序設(shè)計方法,還強化了自己處理實際問題的能力。 自動化學(xué)院2007級四班 王志瑜 20075129 8程序清單 .486 DATA SEGMENT S DB 09H L DB 05H DISNM DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,88H,83H,0C6H,0A1H,86H,8EH DATA ENDS CODE SEGM
30、ENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,20BH ;控制字 MOV AL,81H OUT DX,AL *******************主程序1(交通管理系統(tǒng))*********************** T1: MOV CX,1000 T100: LOOP T100 MOV DX,20AH ;判斷特殊時間黃燈閃爍開關(guān) IN AL,DX
31、 AND AL,01H CMP AL,01H JE T10 JMP T11 T10: CALL Yellow ;黃燈閃爍子程序 T11: CALL LmG ;調(diào)用主干道通行子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH OUT DX,AL MOV DX,20AH ;判斷人行開關(guān) IN AL,DX AND AL,02H CMP AL,02H
32、 JNE T2 CALL LmY ;調(diào)用主干道黃燈子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH OUT DX,AL CALL LpG ;調(diào)用人行橫道通行子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH OUT DX,AL JMP T1 T2: MOV DX,20AH ;判斷支線開關(guān) IN AL,DX
33、 AND AL,04H CMP AL,04H JNE T40 JE T21 T21: CALL LmY ;調(diào)用主干道黃燈子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH OUT DX,AL CALL LbG ;調(diào)用支路通行子程序 CALL LbY ;調(diào)用支路黃燈子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH O
34、UT DX,AL MOV AL,L ;判斷支路通行時間是否滿25秒 CMP AL,00H JE T3 JMP T1 T3: MOV DX,20AH ;判斷人行開關(guān) IN AL,DX AND AL,02H CMP AL,02H JNE T1 CALL LpG ;調(diào)用人行橫道通行子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH
35、 OUT DX,AL JMP T1 T40: MOV DX,20AH IN AL,DX AND AL,04H CMP AL,04H JNE T401 CALL LmY ;調(diào)用主干道黃燈子程序 CALL LbG ;調(diào)用支線通行子程序 CALL LbY ;調(diào)用支線黃燈子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH OUT DX,AL
36、 MOV AL,L ;判斷支線通行時間是否滿25秒 CMP AL,00H JE T3 JMP T1 T401: MOV DX,20AH ;判斷人行開關(guān) IN AL,DX AND AL,02H CMP AL,02H JNE T402 CALL LmY ;調(diào)用主干道黃燈子程序 CALL LpG ;調(diào)用人行橫道通行子程序 MOV DX,208H ;顯示LED清除
37、 MOV AL,0FFH OUT DX,AL JMP T1 **********延時程序************ T402: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX T41: INT 1AH ;讀
38、日時鐘中斷向量 CMP BX,DX JE T42 MOV AL,32H ;主干道綠燈,支路紅燈,人行道紅燈 MOV DX,209H OUT DX,AL MOV DX,20AH ;判斷特殊時間黃燈閃爍開關(guān) IN AL,DX AND AL,01H CMP AL,01H JE T411 JMP T41 T411: CALL Yellow ;黃燈閃爍子程序 JMP T1
39、 T412: JMP T41 T42: MOV DX,20AH ;判斷支線是否來車 IN AL,DX AND AL,04H CMP AL,04H JNE T421 CALL LmY ;調(diào)用主干道黃燈子程序 CALL LbG ;調(diào)用支線通行子程序 CALL LbY ;調(diào)用支線黃燈子程序 MOV DX,208H ;顯示LED清除 MOV AL,0FFH OUT DX,AL
40、 MOV AL,L ;判斷支線通行時間是否滿25秒 CMP AL,00H JE T3 JMP T1 T421: MOV DX,20AH ;判斷人行開關(guān) IN AL,DX AND AL,02H CMP AL,02H JNE T422 CALL LmY ;調(diào)用主干道黃燈子程序 CALL LpG ;調(diào)用人行橫道通行子程序 MOV DX,208H ;顯示LED清除
41、 MOV AL,0FFH OUT DX,AL JMP T1 T422: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX T43: INT 1AH CMP BX,DX JE T4
42、0 MOV AL,00H ;所有燈滅 MOV DX,209H OUT DX,AL JMP T43 *******************特殊時段子程序*********************** Yellow PROC NEAR ;黃燈閃爍子程序 Y0: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL
43、 MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX Y1: INT 1AH ;讀日時鐘 CMP BX,DX JE Y2 R1: MOV DX,209H ;主干道黃燈,支路黃燈,人行橫道燈滅 MOV AL,48H OUT DX,AL MOV DX,20AH ;判斷是否退出特殊時段 IN AL,DX AND AL,0FH
44、 CMP AL,0FH JE R3 JMP Y1 Y2: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX Y3: INT 1AH ;讀日時鐘 CMP BX,DX
45、 JE Y0 R2: MOV DX,209H ;所有燈滅 MOV AL,00H OUT DX,AL MOV DX,20AH ;判斷是否退出特殊時段 IN AL,DX AND AL,0FH CMP AL,0FH JE R3 JMP Y3 R3: RET Yellow ENDP ******************干線通行子程序********************** LmG
46、 PROC NEAR ;主干道通行子程序 LEA SI,DISNM ADD SI,5 LEA DI,DISNM ADD DI,2 K0: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18
47、 MOV BX,DX K1: INT 1AH CMP BX,DX JE K2 K12: MOV CX,1000 K120: MOV AL,[DI] ;顯示十位數(shù) MOV DX,208H OUT DX,AL MOV AL,10H MOV DX,20AH OUT DX,AL LOOP K120 MOV CX,1000 K121: MOV AL,[SI] ;顯示個位數(shù)
48、 MOV DX,208H OUT DX,AL MOV DX,20AH MOV AL,20H OUT DX,AL LOOP K121 MOV AL,32H MOV DX,209H OUT DX,AL JMP K1 K2: LEA BX,DISNM ;判斷個位是否為零 CMP BX,SI JE K3 DEC SI ;個位減1
49、 JMP K0 K3: LEA BX,DISNM ;判斷十位是否為零 CMP DI,BX JE K4 DEC DI ;十位減1 ADD SI,9 ;個位加9 JMP K0 K4: RET LmG ENDP ******************干線黃燈閃爍子程序********************** LmY PROC NEAR ;主干道黃燈子程序
50、 LEA SI,DISNM ;LED個位數(shù)為3 ADD SI,3 LEA DI,DISNM ;LEC十位數(shù)為0 Q5: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX Q6: INT
51、1AH CMP BX,DX JE Q7 MOV CX,1000 Q61: MOV AL,[DI] ;顯示十位數(shù) MOV DX,208H OUT DX,AL MOV AL,10H MOV DX,20AH OUT DX,AL LOOP Q61 MOV CX,1000 Q62: MOV AL,[SI] ;顯示個位數(shù) MOV DX,208H OUT DX
52、,AL MOV DX,20AH MOV AL,20H OUT DX,AL LOOP Q62 MOV AL,52H MOV DX,209H OUT DX,AL JMP Q6 Q7: DEC SI ;個位減1 LEA BX,DISNM ;判斷個位是否為零 CMP BX,SI JE Q8 JMP Q5 Q8: RET Lm
53、Y ENDP *******************人行道通行子程序*********************** LpG PROC NEAR LEA SI,DISNM ;給人行道通行時間10s ADD SI,0 LEA DI,DISNM ADD DI,1 W0: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H,AL
54、 OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX W1: INT 1AH CMP BX,DX JE W2 MOV CX,1000 W11: MOV AL,[DI] ;顯示十位數(shù) MOV DX,208H OUT DX,AL MOV AL,40H MOV DX,20AH OUT DX,AL
55、 LOOP W11 MOV CX,1000 W12: MOV AL,[SI] ;顯示個位數(shù) MOV DX,208H OUT DX,AL MOV DX,20AH MOV AL,80H OUT DX,AL LOOP W12 MOV AL,91H MOV DX,209H OUT DX,AL JMP W1 W2: LEA BX,DISNM ;判斷個位是否為
56、0 CMP BX,SI JE W3 DEC SI JMP W0 W3: LEA BX,DISNM ;判斷十位是否為0 CMP DI,BX JE W4 DEC DI ADD SI,9 JMP W0 W4: RET LpG ENDP *******************支線通行子程序*********************** LbG PROC NEAR
57、 LEA SI,DISNM ;支線通車10s ADD SI,0 LEA DI,DISNM ADD DI,1 MOV AL,05H ;令L=5 MOV L,AL MOV AL,19H ;令S=25 MOV S,AL E0: MOV AL,36H ;8254可編程硬件延時1s OUT 43H,AL MOV AL,0 OUT 40H
58、,AL OUT 40H,AL MOV AH,0 INT 1AH ADD DX,18 MOV BX,DX E1: INT 1AH CMP BX,DX JE E2 MOV CX,1000 TD1: MOV AL,[DI] ;顯十位數(shù) MOV DX,208H OUT DX,AL MOV AL,20H MOV DX,20AH OUT DX,AL
59、 LOOP TD1 MOV CX,1000 TD2: MOV AL,[SI] ;顯個位數(shù) MOV DX,208H OUT DX,AL MOV AL,40H MOV DX,20AH OUT DX,AL LOOP TD2 MOV AL,86H MOV DX,209H OUT DX,AL MOV DX,20AH ;判斷主干通行條件是否達成 IN AL,DX
60、 AND AL,08H CMP AL,08H JE E4 MOV DX,20AH ;判斷支路是否繼續(xù)來車 IN AL,DX AND AL,05H CMP AL,05H JE E6 E11: JMP E1 E2: LEA AX,DISNM ;判斷個位是否為0 CMP AX,SI JE E3 DEC SI MOV AL,S ;判斷是否滿25
61、秒 CMP AL,00H JE E5 MOV AL,S ;S=S-1 DEC AL MOV S,AL JMP E0 E3: LEA AX,DISNM ;判斷十位是否為0 CMP AX,DI JE E4 DEC DI ADD SI,9 MOV AL,S ;判斷是否滿25s CMP AL,00H JE E
62、5 MOV AL,S ;s=s-1 DEC AL MOV S,AL JMP E0 E4: RET E5: MOV AL,00H ;令L=0 MOV L,AL JMP E4 E6: LEA SI,DISNM ;持續(xù)來車支線通車擴充到10s ADD SI,0 LEA DI,DISNM ADD DI,1 JMP E11 LbG
63、 ENDP ******************支線黃燈閃爍子程序******************** LbY PROC NEAR LEA SI,DISNM ;支線黃燈時間顯示 ADD SI,3 LEA DI,DISNM G5: MOV AL,36H OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AH,0 INT 1AH
64、 ADD DX,18 MOV BX,DX G6: INT 1AH CMP BX,DX JE G7 MOV CX,1000 G61: MOV AL,[DI] ;顯十位數(shù) MOV DX,208H OUT DX,AL MOV AL,20H MOV DX,20AH OUT DX,AL LOOP G61 MOV CX,1000 G62: MOV AL,[SI]
65、 ;顯個位數(shù) MOV DX,208H OUT DX,AL MOV DX,20AH MOV AL,40H OUT DX,AL LOOP G62 MOV AL,8AH MOV DX,209H OUT DX,AL JMP G6 G7: LEA BX,DISNM ;判斷個位是否為0 CMP BX,SI JE G8 DEC SI
66、 JMP G5 G8: RET LbY ENDP CODE ENDS END START ***********************主程序2(交通監(jiān)督系統(tǒng))************************ .486 DATA SEGMENT MESS1 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,88H DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;初始化程序 MOV DS,AX MOV DX,20BH MOV AL,89H OUT DX,AL A1: MOV DX,209H ;給SI初始地址
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅決打好反腐敗斗爭攻堅戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會上和基層單位調(diào)研座談會上的發(fā)言材料
- 總工會關(guān)于2025年維護勞動領(lǐng)域政治安全的工作匯報材料
- 基層黨建工作交流研討會上的講話發(fā)言材料
- 糧食和物資儲備學(xué)習(xí)教育工作部署會上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機關(guān)單位、市紀委監(jiān)委2025年工作計劃
- 檢察院政治部關(guān)于2025年工作計劃
- 辦公室主任2025年現(xiàn)實表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項規(guī)定精神學(xué)習(xí)教育工作部署會議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學(xué)習(xí)教育動員部署會上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會上的發(fā)言材料
- 國企黨委關(guān)于推動基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報告材料
- 副書記在2025年工作務(wù)虛會上的發(fā)言材料2篇