紅綠燈控制文檔_第1頁
紅綠燈控制文檔_第2頁
紅綠燈控制文檔_第3頁
紅綠燈控制文檔_第4頁
紅綠燈控制文檔_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、紅綠燈控制系統(tǒng)的設計目錄引言一、系統(tǒng)分析(一)十字路口基本情況分析(二)交通燈狀態(tài)轉(zhuǎn)換分析(三)硬件功能可行性分析二、系統(tǒng)設計(一)硬件設計1電路需求分析2電路連接設計(二)軟件設計1程序總體設計2程序流程設計3重要代碼分析三、系統(tǒng)實現(xiàn)1(一)軟件開發(fā)和運行環(huán)境(二)系統(tǒng)硬件環(huán)境1(三)系統(tǒng)運行步驟(四)系統(tǒng)測試結果四、系統(tǒng)開發(fā)總結參考文獻附錄(一)重要源代碼致謝2學士學位論文紅綠燈控制系統(tǒng)的設計學士學位論文紅綠燈控制系統(tǒng)的設計 引言隨著社會經(jīng)濟的發(fā)展,城市交通問題越來越引起人們的關注。人、車、路三者關系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測、

2、交通信號燈控制與交通疏導的計算機綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。185年8,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍兩色的機械扳手式信號燈,用以指揮馬車通行。191年4,電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅、綠、黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。191年8,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。利用紅外線紅綠燈,當行人踏上對壓力敏感的路面時,它就能察

3、覺到有人要過馬路,紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。黃色信號燈的發(fā)明者是我國的胡汝鼎。他在美國通用電器公司任職的時候,想到在紅、綠燈中間再加上一個黃色信號燈,作為紅燈和綠燈之間的緩沖,提醒人們注意安全。于是紅、黃、綠三色信號燈即成為了一個完整的指揮信號家族。城市路口交通信號控制系統(tǒng)大體上分為三種類型:定周期的信號機、多時段且具有無電纜協(xié)調(diào)功能的微電腦型信號機以及聯(lián)網(wǎng)式自適應多相位智能型信號機。具體采用哪種類型,應根據(jù)其應用場合及特點加以確定。其中,第一種類型以其成本低、設計簡單、安裝及維護方便等特點得到了廣泛應用。本文討論的交通燈控制系統(tǒng)就屬于該種類型。城市

4、機動車量的不斷增加使許多大中城市如北京、上海、南京等出現(xiàn)了交通超負荷運行的情況,因此,如何改進交通燈的設計、有效的疏導交通,使其更好的適應城市交通的發(fā)展也成為了一個重要課題。本論文正是在以上背景下探討和設計一個交通燈控制系統(tǒng)。一、系統(tǒng)分析(一)十字路口基本情況分析圖1-是1一個典型的十字路口示意圖。分別用1、2、3、4表明東、南、西和北四個流向的主車道,每個主車道置有一個交通燈,用于指示對面車輛的左轉(zhuǎn)、右轉(zhuǎn)和直行。比如,1號路口的左轉(zhuǎn)燈亮時,即表示對面3號路口的車可以向左轉(zhuǎn)行駛。每個路口的情況都不盡相同,要根據(jù)具體的情況來設置各個方向的放行時間。假設,、13方向是主干道,車流量比較大,可以將1

5、、3路口的直行燈亮的時間設得比較長;而2、4路口是一般道路,那么2、4路口直行燈亮的時間可以設得短一點。左轉(zhuǎn)燈和右轉(zhuǎn)燈放行的時間一般應比直行燈放行的時間要短。通常情況下,主干道直行時間應在40-秒左右;左轉(zhuǎn)和右轉(zhuǎn)通行時間應在15-秒3之0間。每個路口應設置時間指示燈,用來顯示剩余的通行時間,并在時間快用盡時,交通燈閃爍一定的次數(shù),用來提醒行人。完成一個循環(huán)應在2分鐘以內(nèi),以免引起車輛等待過長的時間。V3旬2000圖1-1十字路口示意圖(二)交通燈狀態(tài)轉(zhuǎn)換分析合理的設置每個路口、每個方向的交通燈的通行時間,對車輛能否及時疏散,有著決定性的作用。在本系統(tǒng)中,路口共設有四個狀態(tài),分別用來表示不同時間

6、路口的通行狀況。狀態(tài)1的時候,2、4兩個路口的直行燈亮,東西方向行駛的車輛通行45秒。2、4方向步行的行人,也可以同時通過路口。當通行時間快結束的時候,燈會閃爍,提醒車輛和行人通行時間快到了。狀態(tài)2的時候,1、3兩個路口左轉(zhuǎn)燈亮,2、4兩個路口右轉(zhuǎn)燈亮15秒。在本狀態(tài)的時候,四個路口的車輛可以同時進行疏散,并且不發(fā)生沖突,大大地加快了車輛通行的速度。這樣的設置,在南京市新街口的十字路口有類似這樣的設置。通過在十字路口中間設置相應的行車線,行人也可以和車輛同時地經(jīng)過路口。當通行時間快結束的時候,燈會閃爍,提示通行時間即將結束。類似于狀態(tài)2,狀態(tài)3的時候,1、3兩個路口右轉(zhuǎn)燈亮,2、4兩個路口左轉(zhuǎn)

7、燈亮1秒。通過在十字路口中間設置相應的行車線,行人也可以和車輛同時地經(jīng)過路口。當通行時間快結束的時候,燈會閃爍,提醒車輛和行人注意安全。類似于狀態(tài)1,狀態(tài)4的時候,1、3兩個路口的直行燈亮,東西方向行駛的車輛通行45秒。1、3方向步行的行人,也可以同時通過路口。完成四個狀態(tài)的一次循環(huán)需要秒,完成了在適當?shù)臅r間限度內(nèi),有效的疏散較大的通行量的目的。整個狀態(tài)轉(zhuǎn)換的過程見表1-。1表1-1路口四個狀態(tài)和相互轉(zhuǎn)換過程每個路口燈的點亮情況通行時間路口1路口2路口3路口4狀態(tài)1(ZT1)直行直行45秒狀態(tài)2(ZT2D左轉(zhuǎn)右轉(zhuǎn)左轉(zhuǎn)右轉(zhuǎn)15秒狀態(tài)3(ZT3D右轉(zhuǎn)左轉(zhuǎn)右轉(zhuǎn)左轉(zhuǎn)15秒狀態(tài)4(ZT4D直行直行45秒

8、(三)硬件功能可行性分析定時計數(shù)器芯片定時計數(shù)器具有定時、計數(shù)雙功能。它具有三個相同且相互獨立的位減法計數(shù)器,分別稱為計數(shù)器、計數(shù)器和計數(shù)器。每個計數(shù)器計數(shù)頻率為一。其內(nèi)部數(shù)據(jù)總線緩沖器為雙向三態(tài),故可直接連在系統(tǒng)數(shù)據(jù)總線上,通過寫入計數(shù)初值,也可由讀出計數(shù)當前值。讀寫控制邏輯,當選中該芯片時,根據(jù)讀寫命令和送來的地址信息控制整個芯片工作。其工作方式通過控制字確定??刂谱旨拇嫫饔糜诮邮諗?shù)據(jù)總線緩沖器的信息。當寫入控制字時,控制計數(shù)器的工作方式;當寫入數(shù)據(jù)時則裝入計數(shù)初值。控制寄存器為位,只能寫入不能讀出。內(nèi)部結構見圖-當執(zhí)行計數(shù)功能時,計數(shù)器裝入初值后,當為高電平時,可用外部事件作為脈沖對計數(shù)

9、值進行減計數(shù)。每來一個脈沖減,當計數(shù)值減為時,由端輸出一個標志信號。當執(zhí)行定時功能時,計數(shù)器裝入初值后,當為高電平時,由脈沖觸發(fā)開始自動計數(shù)。當計數(shù)到零時,發(fā)計數(shù)結束定時信號??梢怨ぷ髟诜绞降椒绞?,常用的有方式頻率發(fā)生器方式和方式方波發(fā)生器方式。在方式時,當初值裝入后,變?yōu)楦?;計?shù)結束,變?yōu)榈?。該方式下如果計?shù)未結束,但為低時,立即停止計數(shù),將變?yōu)楦?;當再變高時,便啟動一次新的計數(shù)周期。在方式時,當裝入初值后,在上升沿啟動計數(shù),輸出高電平;當計數(shù)完成一半時,輸出低電平。在本系統(tǒng)中,工作于方式方波發(fā)生器方式。中斷控制器芯片是專為控制優(yōu)先級中斷而設計的芯片。它將中斷源按優(yōu)先級排隊、辨認中斷源和提供

10、中斷向量的電路集成于一體,只要用軟件對它進行編程,就可以管理8級中斷。的內(nèi)部結構見圖-它由中斷請求寄存器()、優(yōu)先級分析器、中斷服務寄存器(Sr中斷屏蔽寄存器(Mr數(shù)據(jù)總線緩沖器、讀寫控制電路、級聯(lián)緩沖器和比較器組成。對編程和初始化的時候,首先要寫初始化命令字-寫以確定中斷請求信號類型,清除中斷屏蔽寄存器,進行中斷優(yōu)先級排隊和確定系統(tǒng)是用單片還是多片。寫用來定義中斷向量的高五位類型碼。可以定義主片中斷請求線上有無級聯(lián)的從片。寫用來定義工作時用模式還是模式,以及中斷服務寄存器復位方式等。初始化命令字寫完以后,要寫的控制命令字,它包括-寫可以設置或清除對中斷源的屏蔽。寫設置優(yōu)先級是否進行循環(huán)、循環(huán)

11、的方式和中斷結束的方式。復位時自動設置優(yōu)先權最高,優(yōu)先權最低。寫用來設置查詢方式和特殊屏蔽方式,并可以讀取中斷寄存器的當前狀態(tài)。在本系統(tǒng)中,使用的循環(huán)等待中斷工作方式??删幊滩⑿薪涌谛酒且环N可編程的芯片,它采用雙列直插封裝,用+電源供電。內(nèi)部有個位的端口:口、口和口。這三個端口也可以分為各有位的兩組:組和組。組包含口位和口的高四位,組包含口位和口的低四位;組控制和組控制用于實現(xiàn)方式選擇操作;讀寫控制邏輯用于控制芯片內(nèi)部寄存器的數(shù)據(jù)和控制字經(jīng)數(shù)據(jù)總線緩沖器送入各組接口寄存器中。由于數(shù)據(jù)總線緩沖器是雙向三態(tài)位驅(qū)動器,因此可以直接和系統(tǒng)數(shù)據(jù)總線相連。的內(nèi)部邏輯結構見圖-圖的內(nèi)部結構有三種工作方式:

12、方式、方式和方式2它通過對控制寄存器寫入不同的方式選擇控制字來決定其三種不同的工作方式。方式是基本輸入輸出方式。該方式下的口位和口位可以由輸入的控制字決定為輸入或輸出,口分成高位()和低位()兩組,也有控制字決定其輸入或輸出。需要注意的是,該方式下,只能將口其中一組的四位全部置為輸入或輸出。方式選通輸入輸出方式,又叫單向輸入輸出方式。它分為、兩組,組由數(shù)據(jù)口和控制口的高位組成,組由數(shù)據(jù)口和控制口的低位組成。數(shù)據(jù)口的輸入輸出都是鎖存的,與方式不同,由控制字來決定它是作為輸入還是輸出??诘南鄳挥糜诩拇鏀?shù)據(jù)傳送中所需的狀態(tài)信號和控制信息。方式2為雙向輸入輸出方式。本方式只有、組可以使用。此時、口為

13、輸入輸出雙向口,口中的位()作為口的控制位。在本系統(tǒng)中,的三個端口均工作于方式、全部為輸出口。系統(tǒng)設計(一)硬件設計1電路需求分析本系統(tǒng)要實現(xiàn)的功能是模擬十字路口紅綠燈的工作狀況。按照預先設定并優(yōu)化的交通燈規(guī)則,控制指示燈的亮滅,同時在實驗箱的數(shù)碼管顯示屏上顯示剩余的時間。當時間遞減到的時候,改變燈的狀態(tài),并刷新顯示屏顯示的時間。為了實現(xiàn)以上功能需求,本系統(tǒng)需要個指示燈,來分別代表四個路口的直行、左轉(zhuǎn)和右轉(zhuǎn)燈;兩個雙位的數(shù)碼管顯示屏,用來顯示1、3路口和2、4路口剩余的時間。為了實時地更新數(shù)碼管顯示屏上的數(shù)字,需要使用可編程芯片來即時地改變顯示屏每個筆劃的電平高低,從而準確地將需要顯示的數(shù)字顯

14、示在數(shù)碼管顯示屏上。由于交通燈需要按秒進行計數(shù),所以需要一個均勻地時鐘發(fā)生器。芯片是個功能豐富、使用簡單的定時/計數(shù)器。它可以根據(jù)需要設置不同的顯示初值,從而產(chǎn)生所需頻率的時鐘脈沖,為系統(tǒng)提供計時和驅(qū)動其他事件的發(fā)生。825中9斷片控制器芯片可以在收到825發(fā)芯出片的時鐘脈沖時,產(chǎn)生定時的中斷,在中斷服務程序中,更新顯示緩沖區(qū),并調(diào)用芯片來執(zhí)行相關程序,從而更新燈和數(shù)碼管顯示屏。本系統(tǒng)使用集成的電路和實驗環(huán)境,以方便進行電路的連接和測試,同時減少由于電路的復雜性而產(chǎn)生的錯誤。2電路連接設計本系統(tǒng)所使用到的硬件包括芯片、芯片、芯片、指示燈和數(shù)碼管顯示屏。在電路連接的時候,將芯片的連接至四個路口的

15、直行燈,連接至四個路口的右轉(zhuǎn)燈,連接至四個路口的左轉(zhuǎn)燈。通過改變的口和口的值來實時地控制每個燈的亮滅,從而改變十字路口的交通狀態(tài)。將的插孔接譯碼輸出插孔。將的插孔連接至的分頻輸出插孔。分頻輸出插孔所輸出的頻率是將系統(tǒng)的主頻分解為一定的頻率,以供其他硬件或者軟件使用。825芯從片分頻插孔得到的固定頻率,再根據(jù)芯片內(nèi)部設定的計數(shù)初值,從而產(chǎn)生需要頻率的時鐘脈沖,由口輸出,供其他芯片使用。將的插孔連接至的插孔上。的中斷口每隔固定的時間便會收到825發(fā)芯送片過來的時鐘脈沖,作為中斷源來執(zhí)行中斷服務程序。在中斷服務程序中,完成更新數(shù)碼管顯示值和改變交通燈狀態(tài)的功能。硬件的連接見圖2-和1圖圖2-系1統(tǒng)電

16、路圖和的連接圖CS_8255RDPBOPB1WRPB2AOPB3A1PB4RESETPB5CSPB6PB78255APCOPC1PC2PC3PC4PC5PC6PC7Y7VCCL2(控制直行燈L5L8L11L3D000D0DL6L9L12L1D000D0DL4L7L10系統(tǒng)電路圖燈的連接圖(二)軟件設計i程序總體設計本系統(tǒng)采用“自上而下總體規(guī)劃、自下而上應用開發(fā)”的策略進行總體設計和開發(fā)。先根據(jù)其功能需要,設定需要的功能模塊,確定需要編寫的子程序,從而使程序結構清晰,便于閱讀和調(diào)試,加快了系統(tǒng)完成的速度。結構化的程序設計方法很適合用來開發(fā)匯編語言程序,因為匯編語言的特性決定了其無法使用面向?qū)ο蟮?/p>

17、程序開發(fā)方法;使用瀑布程序開發(fā)模型,從開始的時候把系統(tǒng)的需求分析透徹,對系統(tǒng)的功能和各個模塊進行清晰的規(guī)劃,從而縮短系統(tǒng)開發(fā)所用的時間。為了完成系統(tǒng)的功能,系統(tǒng)的程序部分應包含以下幾個模塊(見圖2-)。3各個模塊有的為一個子程序,有的為幾個子程序的集合,有的為一段代碼,但是其功能卻是相互獨立和便于調(diào)用的。程序定義模塊。它用來定義系統(tǒng)的代碼段、數(shù)據(jù)段、堆棧段、所使用到的常量和變量、和的各控制口和數(shù)據(jù)口地址,以及系統(tǒng)的儲存地址的偏移量。匯編語言所編寫的程序開頭有固定的格式,為下面程序的運行建立必須的條件。芯片初始化模塊用來初始化各個芯片,分為以下幾個步驟:寫芯片的控制字,選用方波發(fā)生器方式,并設定

18、其使用通道進行工作;定義的工作方式,使、三個端口均工作于方式,且為輸出口;寫的、和,設定其工作方式為循環(huán)等待中斷方式。地址賦初值模塊()用來定義數(shù)字對應的顯示字符,便于轉(zhuǎn)換模塊將時間緩沖區(qū)中的數(shù)值轉(zhuǎn)換為便于數(shù)碼管顯示的字符;定義“顯示區(qū),供中斷服務程序調(diào)用;定義初始顯示緩沖區(qū)中的字符,用于系統(tǒng)初始運行的時候,直接從此取值進行顯示;定義顯示緩沖區(qū),用于存放系統(tǒng)運行時剩余時間所對應的顯示字符;定義交通燈的初始狀態(tài)、初始時間緩沖區(qū)的值,便于系統(tǒng)開始運行時從此數(shù)值開始遞減,燈也按照這里定義的狀態(tài)值進行點亮。等待模塊(I在中斷請求沒有到來的時候,根據(jù)交通燈所處的狀態(tài),判斷應調(diào)用哪個交通燈狀態(tài)程序,從而點

19、亮相應的燈;有中斷請求時,調(diào)用相應的中斷服務程序。交通燈狀態(tài)模塊存放著四個交通燈狀態(tài)子程序、,供等待模塊調(diào)用。當某個子程序被調(diào)用時,便點亮相應的燈。中斷處理程序分為兩個子程序。其中是在中斷源電平信號不符合規(guī)定要求時,自動轉(zhuǎn)到號中斷,在數(shù)碼管顯示屏上顯示“”;是主要的中斷服務程序,用來對發(fā)來的時鐘脈沖進行計數(shù),到達一定次數(shù)后,調(diào)用、和模塊。更新時間緩沖區(qū)模塊()每次被調(diào)用的時候,將時間緩沖區(qū)中的時間減,所以數(shù)碼管顯示屏上的數(shù)字才能夠不斷的減少。更新顯示緩沖區(qū)模塊(),用來將時間緩沖區(qū)中值轉(zhuǎn)換為適合在數(shù)碼管上顯示的字符,并存入顯示緩沖區(qū)。 # #學士學位論文紅綠燈控制系統(tǒng)的設計顯示模塊()使用完成

20、顯示數(shù)值的更新。2、將、顯、示緩沖區(qū)的字符逐位顯示在數(shù)碼管顯示屏上,塊塊地址賦初值模塊更新顯示緩沖區(qū)模程序定義模芯片初始化模FORMAT交通燈狀態(tài)模CONVERS塊ZT1ZT4等待模塊更新時間緩沖區(qū)模塊WATING/交通燈控制系統(tǒng)NEWTIME塊中斷處理程序顯示模塊INT3,INT7LEDDISP圖2-3系統(tǒng)模塊圖2程序流程設計程序運行的流程圖見圖2-。4開始運行的時候,調(diào)用初始化程序,給初始顯示區(qū)和電平錯誤顯示區(qū)賦初值,這樣系統(tǒng)會在初始顯示和電平有錯誤的時候,顯示相應的字符;定義數(shù)值對應的顯示字符,便于轉(zhuǎn)換程序取到時間數(shù)值對應的字符;定義顯示緩沖區(qū)的地址,便于系統(tǒng)運行的時候,把時間轉(zhuǎn)換成的顯

21、示字符存到相應的單元中;定義時間緩沖區(qū)初值,系統(tǒng)運行后時間將從該處的值開始減?。欢x系統(tǒng)初始狀態(tài),便于運行后燈工作于相應的狀態(tài)。接著對、和進行初始化。定義使用通道2工作于方式3其計數(shù)初值為、每隔向發(fā)出一個時鐘脈沖;的、三個端口均工作于輸出方式;工作于循環(huán)等待中斷方式。進入等待程序后,首先打開中斷,等待發(fā)出的中斷請求。當無中斷的時候,判斷系統(tǒng)所處的狀態(tài),并調(diào)用相應的交通燈狀態(tài)子程序,使燈相應的點亮。學士學位論文紅綠燈控制系統(tǒng)的設計學士學位論文紅綠燈控制系統(tǒng)的設計圖 圖 #開始N開中斷等待Y狀態(tài)NY狀態(tài)vNYN2狀態(tài)YN3狀態(tài)Y2狀態(tài)NNN3狀態(tài)YN退出NY4狀態(tài)YNNY中斷返回DATA6卩20時

22、間=0時間=0時間=0間=0調(diào)用ZT1芯片初始化RESET主程序流程圖中斷服務程序流程圖CONVERS時間轉(zhuǎn)為顯示字符調(diào)用ZT4設為狀態(tài)1,時間值為40、40設為狀態(tài)4,時間值為40、40設為狀態(tài)2,時間值為15、15設為狀態(tài)3,時間值為15、15初始化時間緩沖區(qū)、關中斷時間緩沖區(qū)、狀態(tài)開始DATA6清零1fLEDDISP顯示時間1fNEWTIME時間減1Y調(diào)用ZT2、Y調(diào)用ZT3程序流程圖學士學位論文紅綠燈控制系統(tǒng)的設計學士學位論文紅綠燈控制系統(tǒng)的設計 #當有中斷的時候,則轉(zhuǎn)到相應的中斷服務程序,本系統(tǒng)主要為程序。程序首先關閉中斷,判斷中斷計數(shù)器單元所存儲的中斷次數(shù)是否達到次,如果沒有則直接

23、調(diào)用程序,打開中斷,并中斷返回。如果達到次,則將中斷計數(shù)器清零;再調(diào)用顯示程序把當前時間顯示出來;接著調(diào)用時間緩沖區(qū)更新程序?qū)⑹S鄷r間減1進入狀態(tài)判斷程序-當相應狀態(tài)的剩余時間未減到的時候,調(diào)用程序,更新顯示緩沖區(qū)并中斷返回,否則改變狀態(tài),并將新狀態(tài)將持續(xù)的時間寫入時間緩沖區(qū),再調(diào)用程序,更新顯示緩沖區(qū)并中斷返回等待程序,執(zhí)行相應的交通燈狀態(tài)子程序。3重要代碼分析C)中斷服務程序是本系統(tǒng)的程序最核心的子程序。它用來計算收到發(fā)來的中斷次數(shù),當次數(shù)達到的時候,就自動將次數(shù)清零、調(diào)用顯示程序、時間緩沖區(qū)更新程序、狀態(tài)修改程序和中斷返回程序,完成數(shù)碼顯示屏上時間的更新和燈狀態(tài)的改變。以下是該程序的代碼

24、分析,并注有詳細的功能說明。INT3:;定義函數(shù)名稱CLI;處理中斷時先關中斷S保存堆棧;用于保存收到的中斷次數(shù),取當前中斷次數(shù)INCAL;將中斷次數(shù)加1:將加后的中斷次數(shù)寫回存儲單元;將中斷次數(shù)與進行比較N大于等于時清零并轉(zhuǎn)向狀態(tài)判斷程序中斷返回I小于時直接中斷返回;將清零L調(diào)用顯示程序,將顯示緩沖區(qū)中的數(shù)字顯示出來;調(diào)用時間緩沖區(qū)更新程序,將時間緩沖區(qū)減;判斷是否是狀態(tài)一;如果不是狀態(tài)一則轉(zhuǎn);如果是狀態(tài)一,看時間否已經(jīng)減到;如果未減到0,則更新顯示緩沖區(qū),并中斷返回;如果減到,則設置系統(tǒng)為狀態(tài)二;設定狀態(tài)二時路口的顯示初始值類似于,在此略去。;把時間緩沖區(qū)中的時間轉(zhuǎn)換到顯示緩沖區(qū)中;寫控制

25、口并中斷返回;彈出堆棧;開中斷;中斷返回(2)交通燈狀態(tài)程序也是本系統(tǒng)中一個非常重要的子程序。它通過改變否25的5和口的值來控制特定燈的亮滅。下面以狀態(tài)所對應的子程序為例,來分析一下如何用否25來5控時制交通燈的亮滅。;設置路口直行燈亮;為的口的地址;更改口的值,從而改變燈顯示的狀態(tài);設置四個路口左轉(zhuǎn)燈右轉(zhuǎn)燈全部關閉;為的口的地址;更改口的值,從而改變燈顯示的狀態(tài);狀態(tài)一閃爍程序態(tài)、24路口直行燈閃爍2定義閃爍次;燈滅Y短延時L燈0Y短延時;循環(huán)A跳轉(zhuǎn)到等待程序3)顯示子程序X將當前寄存器保存到堆棧中I將顯示緩沖區(qū)的首地址存入L初始顯示時X寫控制口T單元中保存當前顯示到第幾位T看是否顯示到第位

26、E如果顯示完位后返回將當前位的顯示緩沖區(qū)的地址寫入,寫數(shù)據(jù)口以此改變顯示值;顯示下一位;彈出堆棧并返回另外,時間緩沖區(qū)更新子程序和時間緩沖區(qū)更新子程序在本系統(tǒng)中也有很重要的作用。它們的具體代碼見附錄。出三、系統(tǒng)實現(xiàn)出(一)軟件開發(fā)與運行環(huán)境出本系統(tǒng)的代碼使用808匯6編語言編寫,所以代碼編寫環(huán)境可以使用任何文本編輯器。如系統(tǒng)自帶的記事本、下的編輯工具和文本編輯工具等。本系統(tǒng)使用了實驗箱附帶的聯(lián)機軟件。它可以讀取其他編輯軟件生成的格式的匯編語言文件()也可以作為匯編代碼的編輯、測試、運行環(huán)境。在顯示代碼的時候,可以把常用的匯編指令顯示為藍色,數(shù)值顯示為紅色,注釋顯示為綠色,從而使論文清晰易讀,并

27、容易發(fā)現(xiàn)代碼中的錯誤。聯(lián)機軟件同樣可以作為系統(tǒng)的運行環(huán)境。系統(tǒng)運行的時候需要將源程序編譯產(chǎn)生的文件傳送到實驗箱,由實驗箱上的處理器和各個芯片負責執(zhí)行。(二)系統(tǒng)硬件環(huán)境交通燈控制系統(tǒng)采用的通用微機原理及接口實驗系統(tǒng),集成了計數(shù)定時器芯片、可編程并行接口芯片和中斷控制器芯片,并把大部分的引腳進行了封裝,方便直接進行使用;并設有個顯示燈;系統(tǒng)分頻器可以產(chǎn)生特定頻率的時鐘脈沖;固定的導線接口,方便使用導線把各芯片進行連接;并設有鍵盤,可以隨時控制程序的運行,方便進行調(diào)試。實驗箱使用串行口連接線與機的串口相連,然后使用聯(lián)機軟件與實驗箱進行連接并傳送運行的程序。出(三)系統(tǒng)運行步驟系統(tǒng)的代碼編寫完畢的時

28、候,便可以進行程序的聯(lián)機調(diào)試了。將實驗箱的電源線連接好,使用串口通信線將實驗箱上的串口與機上的串口相連。將各個芯片和燈按照硬件連接設計圖上的圖示進行連接。打開實驗箱的電源,數(shù)碼管顯示屏上顯示一6提示實驗箱初始化成功。在機上打開聯(lián)機軟件,調(diào)用編輯好的程序代碼。首先進行編譯,系統(tǒng)會自動調(diào)用程序?qū)Υa進行編譯。若沒有提示錯誤,便可以點擊連接按鈕,調(diào)用程序把編譯生成的文件進行連接,生成文件。再點進調(diào)試按鈕,把生成的可執(zhí)行文件傳送到實驗箱,進行調(diào)試狀態(tài),此時屏幕會顯示實驗箱各個寄存器的值。最后點擊連續(xù)運行按鈕,實驗箱上的數(shù)碼顯示管和燈便會按照設計的要求進行工作。在運行的過程中可以隨時按實驗箱上的鍵,中斷

29、程序的執(zhí)行,以便進行代碼的修改或者結束系統(tǒng)的運行。(四)系統(tǒng)測試結果按照表1-中1交通燈四個狀態(tài)所對應的秒數(shù),在程序中為各個狀態(tài)子程序設定相應的時間初值。測試運行的結果如下:開始運行時,系統(tǒng)在狀態(tài)一下工作,兩個顯示屏顯示剩余時間為45秒,并不斷遞減,同時燈的、路口的直行燈點亮;當狀態(tài)一的剩余時間減至零的時候,系統(tǒng)自動切換到狀態(tài)二,顯示屏顯示剩余時間變?yōu)?5秒并遞減,同時1、3路口的左轉(zhuǎn)燈和2、4路口的右轉(zhuǎn)燈點亮;狀態(tài)二結束時,系統(tǒng)切換到狀態(tài)三,顯示屏的剩余時間變更為1秒,1、3路口的右轉(zhuǎn)燈和、4路口的左轉(zhuǎn)燈點亮;狀態(tài)三結束時,進入狀態(tài)四,顯示屏剩余時間變?yōu)?5秒,同時1、3路口的直行燈點亮。狀態(tài)四結束時,自動切換到狀態(tài)一循環(huán)執(zhí)行。四、系統(tǒng)開發(fā)總結本文分析了設計高效交通燈系統(tǒng)的必要性,并從硬件和軟件兩方面分析其實現(xiàn)的可行性。在深入分析功能需求的前提下,本文詳細地介紹了交通燈控制系統(tǒng)硬件的選擇和連接,以及軟件各模塊的流程和重要代碼的分析。最后介紹了系統(tǒng)的開發(fā)環(huán)境以及測試運行的具體步驟和結果。本系統(tǒng)在實驗平臺上,利用匯編語言對、和進行編程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論