




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、紅綠燈控制系統(tǒng)的設(shè)計(jì)目錄引言一、系統(tǒng)分析(一)十字路口基本情況分析(二)交通燈狀態(tài)轉(zhuǎn)換分析(三)硬件功能可行性分析二、系統(tǒng)設(shè)計(jì)(一)硬件設(shè)計(jì)1電路需求分析2電路連接設(shè)計(jì)(二)軟件設(shè)計(jì)1程序總體設(shè)計(jì)2程序流程設(shè)計(jì)3重要代碼分析三、系統(tǒng)實(shí)現(xiàn)1(一)軟件開(kāi)發(fā)和運(yùn)行環(huán)境(二)系統(tǒng)硬件環(huán)境1(三)系統(tǒng)運(yùn)行步驟(四)系統(tǒng)測(cè)試結(jié)果四、系統(tǒng)開(kāi)發(fā)總結(jié)參考文獻(xiàn)附錄(一)重要源代碼致謝2學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì)學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì) 引言隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問(wèn)題越來(lái)越引起人們的關(guān)注。人、車(chē)、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門(mén)需要解決的重要問(wèn)題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、
2、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。185年8,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車(chē)通行。191年4,電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅、綠、黃三色圓形的投光器組成,安裝在紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。191年8,又出現(xiàn)了帶控制的紅綠燈和紅外線(xiàn)紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車(chē)輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。利用紅外線(xiàn)紅綠燈,當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察
3、覺(jué)到有人要過(guò)馬路,紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車(chē)放行,以免發(fā)生交通事故。黃色信號(hào)燈的發(fā)明者是我國(guó)的胡汝鼎。他在美國(guó)通用電器公司任職的時(shí)候,想到在紅、綠燈中間再加上一個(gè)黃色信號(hào)燈,作為紅燈和綠燈之間的緩沖,提醒人們注意安全。于是紅、黃、綠三色信號(hào)燈即成為了一個(gè)完整的指揮信號(hào)家族。城市路口交通信號(hào)控制系統(tǒng)大體上分為三種類(lèi)型:定周期的信號(hào)機(jī)、多時(shí)段且具有無(wú)電纜協(xié)調(diào)功能的微電腦型信號(hào)機(jī)以及聯(lián)網(wǎng)式自適應(yīng)多相位智能型信號(hào)機(jī)。具體采用哪種類(lèi)型,應(yīng)根據(jù)其應(yīng)用場(chǎng)合及特點(diǎn)加以確定。其中,第一種類(lèi)型以其成本低、設(shè)計(jì)簡(jiǎn)單、安裝及維護(hù)方便等特點(diǎn)得到了廣泛應(yīng)用。本文討論的交通燈控制系統(tǒng)就屬于該種類(lèi)型。城市
4、機(jī)動(dòng)車(chē)量的不斷增加使許多大中城市如北京、上海、南京等出現(xiàn)了交通超負(fù)荷運(yùn)行的情況,因此,如何改進(jìn)交通燈的設(shè)計(jì)、有效的疏導(dǎo)交通,使其更好的適應(yīng)城市交通的發(fā)展也成為了一個(gè)重要課題。本論文正是在以上背景下探討和設(shè)計(jì)一個(gè)交通燈控制系統(tǒng)。一、系統(tǒng)分析(一)十字路口基本情況分析圖1-是1一個(gè)典型的十字路口示意圖。分別用1、2、3、4表明東、南、西和北四個(gè)流向的主車(chē)道,每個(gè)主車(chē)道置有一個(gè)交通燈,用于指示對(duì)面車(chē)輛的左轉(zhuǎn)、右轉(zhuǎn)和直行。比如,1號(hào)路口的左轉(zhuǎn)燈亮?xí)r,即表示對(duì)面3號(hào)路口的車(chē)可以向左轉(zhuǎn)行駛。每個(gè)路口的情況都不盡相同,要根據(jù)具體的情況來(lái)設(shè)置各個(gè)方向的放行時(shí)間。假設(shè),、13方向是主干道,車(chē)流量比較大,可以將1
5、、3路口的直行燈亮的時(shí)間設(shè)得比較長(zhǎng);而2、4路口是一般道路,那么2、4路口直行燈亮的時(shí)間可以設(shè)得短一點(diǎn)。左轉(zhuǎn)燈和右轉(zhuǎn)燈放行的時(shí)間一般應(yīng)比直行燈放行的時(shí)間要短。通常情況下,主干道直行時(shí)間應(yīng)在40-秒左右;左轉(zhuǎn)和右轉(zhuǎn)通行時(shí)間應(yīng)在15-秒3之0間。每個(gè)路口應(yīng)設(shè)置時(shí)間指示燈,用來(lái)顯示剩余的通行時(shí)間,并在時(shí)間快用盡時(shí),交通燈閃爍一定的次數(shù),用來(lái)提醒行人。完成一個(gè)循環(huán)應(yīng)在2分鐘以?xún)?nèi),以免引起車(chē)輛等待過(guò)長(zhǎng)的時(shí)間。V3旬2000圖1-1十字路口示意圖(二)交通燈狀態(tài)轉(zhuǎn)換分析合理的設(shè)置每個(gè)路口、每個(gè)方向的交通燈的通行時(shí)間,對(duì)車(chē)輛能否及時(shí)疏散,有著決定性的作用。在本系統(tǒng)中,路口共設(shè)有四個(gè)狀態(tài),分別用來(lái)表示不同時(shí)間
6、路口的通行狀況。狀態(tài)1的時(shí)候,2、4兩個(gè)路口的直行燈亮,東西方向行駛的車(chē)輛通行45秒。2、4方向步行的行人,也可以同時(shí)通過(guò)路口。當(dāng)通行時(shí)間快結(jié)束的時(shí)候,燈會(huì)閃爍,提醒車(chē)輛和行人通行時(shí)間快到了。狀態(tài)2的時(shí)候,1、3兩個(gè)路口左轉(zhuǎn)燈亮,2、4兩個(gè)路口右轉(zhuǎn)燈亮15秒。在本狀態(tài)的時(shí)候,四個(gè)路口的車(chē)輛可以同時(shí)進(jìn)行疏散,并且不發(fā)生沖突,大大地加快了車(chē)輛通行的速度。這樣的設(shè)置,在南京市新街口的十字路口有類(lèi)似這樣的設(shè)置。通過(guò)在十字路口中間設(shè)置相應(yīng)的行車(chē)線(xiàn),行人也可以和車(chē)輛同時(shí)地經(jīng)過(guò)路口。當(dāng)通行時(shí)間快結(jié)束的時(shí)候,燈會(huì)閃爍,提示通行時(shí)間即將結(jié)束。類(lèi)似于狀態(tài)2,狀態(tài)3的時(shí)候,1、3兩個(gè)路口右轉(zhuǎn)燈亮,2、4兩個(gè)路口左轉(zhuǎn)
7、燈亮1秒。通過(guò)在十字路口中間設(shè)置相應(yīng)的行車(chē)線(xiàn),行人也可以和車(chē)輛同時(shí)地經(jīng)過(guò)路口。當(dāng)通行時(shí)間快結(jié)束的時(shí)候,燈會(huì)閃爍,提醒車(chē)輛和行人注意安全。類(lèi)似于狀態(tài)1,狀態(tài)4的時(shí)候,1、3兩個(gè)路口的直行燈亮,東西方向行駛的車(chē)輛通行45秒。1、3方向步行的行人,也可以同時(shí)通過(guò)路口。完成四個(gè)狀態(tài)的一次循環(huán)需要秒,完成了在適當(dāng)?shù)臅r(shí)間限度內(nèi),有效的疏散較大的通行量的目的。整個(gè)狀態(tài)轉(zhuǎn)換的過(guò)程見(jiàn)表1-。1表1-1路口四個(gè)狀態(tài)和相互轉(zhuǎn)換過(guò)程每個(gè)路口燈的點(diǎn)亮情況通行時(shí)間路口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í)計(jì)數(shù)器芯片定時(shí)計(jì)數(shù)器具有定時(shí)、計(jì)數(shù)雙功能。它具有三個(gè)相同且相互獨(dú)立的位減法計(jì)數(shù)器,分別稱(chēng)為計(jì)數(shù)器、計(jì)數(shù)器和計(jì)數(shù)器。每個(gè)計(jì)數(shù)器計(jì)數(shù)頻率為一。其內(nèi)部數(shù)據(jù)總線(xiàn)緩沖器為雙向三態(tài),故可直接連在系統(tǒng)數(shù)據(jù)總線(xiàn)上,通過(guò)寫(xiě)入計(jì)數(shù)初值,也可由讀出計(jì)數(shù)當(dāng)前值。讀寫(xiě)控制邏輯,當(dāng)選中該芯片時(shí),根據(jù)讀寫(xiě)命令和送來(lái)的地址信息控制整個(gè)芯片工作。其工作方式通過(guò)控制字確定??刂谱旨拇嫫饔糜诮邮諗?shù)據(jù)總線(xiàn)緩沖器的信息。當(dāng)寫(xiě)入控制字時(shí),控制計(jì)數(shù)器的工作方式;當(dāng)寫(xiě)入數(shù)據(jù)時(shí)則裝入計(jì)數(shù)初值??刂萍拇嫫鳛槲?,只能寫(xiě)入不能讀出。內(nèi)部結(jié)構(gòu)見(jiàn)圖-當(dāng)執(zhí)行計(jì)數(shù)功能時(shí),計(jì)數(shù)器裝入初值后,當(dāng)為高電平時(shí),可用外部事件作為脈沖對(duì)計(jì)數(shù)
9、值進(jìn)行減計(jì)數(shù)。每來(lái)一個(gè)脈沖減,當(dāng)計(jì)數(shù)值減為時(shí),由端輸出一個(gè)標(biāo)志信號(hào)。當(dāng)執(zhí)行定時(shí)功能時(shí),計(jì)數(shù)器裝入初值后,當(dāng)為高電平時(shí),由脈沖觸發(fā)開(kāi)始自動(dòng)計(jì)數(shù)。當(dāng)計(jì)數(shù)到零時(shí),發(fā)計(jì)數(shù)結(jié)束定時(shí)信號(hào)。可以工作在方式到方式,常用的有方式頻率發(fā)生器方式和方式方波發(fā)生器方式。在方式時(shí),當(dāng)初值裝入后,變?yōu)楦?;?jì)數(shù)結(jié)束,變?yōu)榈?。該方式下如果?jì)數(shù)未結(jié)束,但為低時(shí),立即停止計(jì)數(shù),將變?yōu)楦撸划?dāng)再變高時(shí),便啟動(dòng)一次新的計(jì)數(shù)周期。在方式時(shí),當(dāng)裝入初值后,在上升沿啟動(dòng)計(jì)數(shù),輸出高電平;當(dāng)計(jì)數(shù)完成一半時(shí),輸出低電平。在本系統(tǒng)中,工作于方式方波發(fā)生器方式。中斷控制器芯片是專(zhuān)為控制優(yōu)先級(jí)中斷而設(shè)計(jì)的芯片。它將中斷源按優(yōu)先級(jí)排隊(duì)、辨認(rèn)中斷源和提供
10、中斷向量的電路集成于一體,只要用軟件對(duì)它進(jìn)行編程,就可以管理8級(jí)中斷。的內(nèi)部結(jié)構(gòu)見(jiàn)圖-它由中斷請(qǐng)求寄存器()、優(yōu)先級(jí)分析器、中斷服務(wù)寄存器(Sr中斷屏蔽寄存器(Mr數(shù)據(jù)總線(xiàn)緩沖器、讀寫(xiě)控制電路、級(jí)聯(lián)緩沖器和比較器組成。對(duì)編程和初始化的時(shí)候,首先要寫(xiě)初始化命令字-寫(xiě)以確定中斷請(qǐng)求信號(hào)類(lèi)型,清除中斷屏蔽寄存器,進(jìn)行中斷優(yōu)先級(jí)排隊(duì)和確定系統(tǒng)是用單片還是多片。寫(xiě)用來(lái)定義中斷向量的高五位類(lèi)型碼??梢远x主片中斷請(qǐng)求線(xiàn)上有無(wú)級(jí)聯(lián)的從片。寫(xiě)用來(lái)定義工作時(shí)用模式還是模式,以及中斷服務(wù)寄存器復(fù)位方式等。初始化命令字寫(xiě)完以后,要寫(xiě)的控制命令字,它包括-寫(xiě)可以設(shè)置或清除對(duì)中斷源的屏蔽。寫(xiě)設(shè)置優(yōu)先級(jí)是否進(jìn)行循環(huán)、循環(huán)
11、的方式和中斷結(jié)束的方式。復(fù)位時(shí)自動(dòng)設(shè)置優(yōu)先權(quán)最高,優(yōu)先權(quán)最低。寫(xiě)用來(lái)設(shè)置查詢(xún)方式和特殊屏蔽方式,并可以讀取中斷寄存器的當(dāng)前狀態(tài)。在本系統(tǒng)中,使用的循環(huán)等待中斷工作方式??删幊滩⑿薪涌谛酒且环N可編程的芯片,它采用雙列直插封裝,用+電源供電。內(nèi)部有個(gè)位的端口:口、口和口。這三個(gè)端口也可以分為各有位的兩組:組和組。組包含口位和口的高四位,組包含口位和口的低四位;組控制和組控制用于實(shí)現(xiàn)方式選擇操作;讀寫(xiě)控制邏輯用于控制芯片內(nèi)部寄存器的數(shù)據(jù)和控制字經(jīng)數(shù)據(jù)總線(xiàn)緩沖器送入各組接口寄存器中。由于數(shù)據(jù)總線(xiàn)緩沖器是雙向三態(tài)位驅(qū)動(dòng)器,因此可以直接和系統(tǒng)數(shù)據(jù)總線(xiàn)相連。的內(nèi)部邏輯結(jié)構(gòu)見(jiàn)圖-圖的內(nèi)部結(jié)構(gòu)有三種工作方式:
12、方式、方式和方式2它通過(guò)對(duì)控制寄存器寫(xiě)入不同的方式選擇控制字來(lái)決定其三種不同的工作方式。方式是基本輸入輸出方式。該方式下的口位和口位可以由輸入的控制字決定為輸入或輸出,口分成高位()和低位()兩組,也有控制字決定其輸入或輸出。需要注意的是,該方式下,只能將口其中一組的四位全部置為輸入或輸出。方式選通輸入輸出方式,又叫單向輸入輸出方式。它分為、兩組,組由數(shù)據(jù)口和控制口的高位組成,組由數(shù)據(jù)口和控制口的低位組成。數(shù)據(jù)口的輸入輸出都是鎖存的,與方式不同,由控制字來(lái)決定它是作為輸入還是輸出??诘南鄳?yīng)位用于寄存數(shù)據(jù)傳送中所需的狀態(tài)信號(hào)和控制信息。方式2為雙向輸入輸出方式。本方式只有、組可以使用。此時(shí)、口為
13、輸入輸出雙向口,口中的位()作為口的控制位。在本系統(tǒng)中,的三個(gè)端口均工作于方式、全部為輸出口。系統(tǒng)設(shè)計(jì)(一)硬件設(shè)計(jì)1電路需求分析本系統(tǒng)要實(shí)現(xiàn)的功能是模擬十字路口紅綠燈的工作狀況。按照預(yù)先設(shè)定并優(yōu)化的交通燈規(guī)則,控制指示燈的亮滅,同時(shí)在實(shí)驗(yàn)箱的數(shù)碼管顯示屏上顯示剩余的時(shí)間。當(dāng)時(shí)間遞減到的時(shí)候,改變燈的狀態(tài),并刷新顯示屏顯示的時(shí)間。為了實(shí)現(xiàn)以上功能需求,本系統(tǒng)需要個(gè)指示燈,來(lái)分別代表四個(gè)路口的直行、左轉(zhuǎn)和右轉(zhuǎn)燈;兩個(gè)雙位的數(shù)碼管顯示屏,用來(lái)顯示1、3路口和2、4路口剩余的時(shí)間。為了實(shí)時(shí)地更新數(shù)碼管顯示屏上的數(shù)字,需要使用可編程芯片來(lái)即時(shí)地改變顯示屏每個(gè)筆劃的電平高低,從而準(zhǔn)確地將需要顯示的數(shù)字顯
14、示在數(shù)碼管顯示屏上。由于交通燈需要按秒進(jìn)行計(jì)數(shù),所以需要一個(gè)均勻地時(shí)鐘發(fā)生器。芯片是個(gè)功能豐富、使用簡(jiǎn)單的定時(shí)/計(jì)數(shù)器。它可以根據(jù)需要設(shè)置不同的顯示初值,從而產(chǎn)生所需頻率的時(shí)鐘脈沖,為系統(tǒng)提供計(jì)時(shí)和驅(qū)動(dòng)其他事件的發(fā)生。825中9斷片控制器芯片可以在收到825發(fā)芯出片的時(shí)鐘脈沖時(shí),產(chǎn)生定時(shí)的中斷,在中斷服務(wù)程序中,更新顯示緩沖區(qū),并調(diào)用芯片來(lái)執(zhí)行相關(guān)程序,從而更新燈和數(shù)碼管顯示屏。本系統(tǒng)使用集成的電路和實(shí)驗(yàn)環(huán)境,以方便進(jìn)行電路的連接和測(cè)試,同時(shí)減少由于電路的復(fù)雜性而產(chǎn)生的錯(cuò)誤。2電路連接設(shè)計(jì)本系統(tǒng)所使用到的硬件包括芯片、芯片、芯片、指示燈和數(shù)碼管顯示屏。在電路連接的時(shí)候,將芯片的連接至四個(gè)路口的
15、直行燈,連接至四個(gè)路口的右轉(zhuǎn)燈,連接至四個(gè)路口的左轉(zhuǎn)燈。通過(guò)改變的口和口的值來(lái)實(shí)時(shí)地控制每個(gè)燈的亮滅,從而改變十字路口的交通狀態(tài)。將的插孔接譯碼輸出插孔。將的插孔連接至的分頻輸出插孔。分頻輸出插孔所輸出的頻率是將系統(tǒng)的主頻分解為一定的頻率,以供其他硬件或者軟件使用。825芯從片分頻插孔得到的固定頻率,再根據(jù)芯片內(nèi)部設(shè)定的計(jì)數(shù)初值,從而產(chǎn)生需要頻率的時(shí)鐘脈沖,由口輸出,供其他芯片使用。將的插孔連接至的插孔上。的中斷口每隔固定的時(shí)間便會(huì)收到825發(fā)芯送片過(guò)來(lái)的時(shí)鐘脈沖,作為中斷源來(lái)執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序中,完成更新數(shù)碼管顯示值和改變交通燈狀態(tài)的功能。硬件的連接見(jiàn)圖2-和1圖圖2-系1統(tǒng)電
16、路圖和的連接圖CS_8255RDPBOPB1WRPB2AOPB3A1PB4RESETPB5CSPB6PB78255APCOPC1PC2PC3PC4PC5PC6PC7Y7VCCL2(控制直行燈L5L8L11L3D000D0DL6L9L12L1D000D0DL4L7L10系統(tǒng)電路圖燈的連接圖(二)軟件設(shè)計(jì)i程序總體設(shè)計(jì)本系統(tǒng)采用“自上而下總體規(guī)劃、自下而上應(yīng)用開(kāi)發(fā)”的策略進(jìn)行總體設(shè)計(jì)和開(kāi)發(fā)。先根據(jù)其功能需要,設(shè)定需要的功能模塊,確定需要編寫(xiě)的子程序,從而使程序結(jié)構(gòu)清晰,便于閱讀和調(diào)試,加快了系統(tǒng)完成的速度。結(jié)構(gòu)化的程序設(shè)計(jì)方法很適合用來(lái)開(kāi)發(fā)匯編語(yǔ)言程序,因?yàn)閰R編語(yǔ)言的特性決定了其無(wú)法使用面向?qū)ο蟮?/p>
17、程序開(kāi)發(fā)方法;使用瀑布程序開(kāi)發(fā)模型,從開(kāi)始的時(shí)候把系統(tǒng)的需求分析透徹,對(duì)系統(tǒng)的功能和各個(gè)模塊進(jìn)行清晰的規(guī)劃,從而縮短系統(tǒng)開(kāi)發(fā)所用的時(shí)間。為了完成系統(tǒng)的功能,系統(tǒng)的程序部分應(yīng)包含以下幾個(gè)模塊(見(jiàn)圖2-)。3各個(gè)模塊有的為一個(gè)子程序,有的為幾個(gè)子程序的集合,有的為一段代碼,但是其功能卻是相互獨(dú)立和便于調(diào)用的。程序定義模塊。它用來(lái)定義系統(tǒng)的代碼段、數(shù)據(jù)段、堆棧段、所使用到的常量和變量、和的各控制口和數(shù)據(jù)口地址,以及系統(tǒng)的儲(chǔ)存地址的偏移量。匯編語(yǔ)言所編寫(xiě)的程序開(kāi)頭有固定的格式,為下面程序的運(yùn)行建立必須的條件。芯片初始化模塊用來(lái)初始化各個(gè)芯片,分為以下幾個(gè)步驟:寫(xiě)芯片的控制字,選用方波發(fā)生器方式,并設(shè)定
18、其使用通道進(jìn)行工作;定義的工作方式,使、三個(gè)端口均工作于方式,且為輸出口;寫(xiě)的、和,設(shè)定其工作方式為循環(huán)等待中斷方式。地址賦初值模塊()用來(lái)定義數(shù)字對(duì)應(yīng)的顯示字符,便于轉(zhuǎn)換模塊將時(shí)間緩沖區(qū)中的數(shù)值轉(zhuǎn)換為便于數(shù)碼管顯示的字符;定義“顯示區(qū),供中斷服務(wù)程序調(diào)用;定義初始顯示緩沖區(qū)中的字符,用于系統(tǒng)初始運(yùn)行的時(shí)候,直接從此取值進(jìn)行顯示;定義顯示緩沖區(qū),用于存放系統(tǒng)運(yùn)行時(shí)剩余時(shí)間所對(duì)應(yīng)的顯示字符;定義交通燈的初始狀態(tài)、初始時(shí)間緩沖區(qū)的值,便于系統(tǒng)開(kāi)始運(yùn)行時(shí)從此數(shù)值開(kāi)始遞減,燈也按照這里定義的狀態(tài)值進(jìn)行點(diǎn)亮。等待模塊(I在中斷請(qǐng)求沒(méi)有到來(lái)的時(shí)候,根據(jù)交通燈所處的狀態(tài),判斷應(yīng)調(diào)用哪個(gè)交通燈狀態(tài)程序,從而點(diǎn)
19、亮相應(yīng)的燈;有中斷請(qǐng)求時(shí),調(diào)用相應(yīng)的中斷服務(wù)程序。交通燈狀態(tài)模塊存放著四個(gè)交通燈狀態(tài)子程序、,供等待模塊調(diào)用。當(dāng)某個(gè)子程序被調(diào)用時(shí),便點(diǎn)亮相應(yīng)的燈。中斷處理程序分為兩個(gè)子程序。其中是在中斷源電平信號(hào)不符合規(guī)定要求時(shí),自動(dòng)轉(zhuǎn)到號(hào)中斷,在數(shù)碼管顯示屏上顯示“”;是主要的中斷服務(wù)程序,用來(lái)對(duì)發(fā)來(lái)的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),到達(dá)一定次數(shù)后,調(diào)用、和模塊。更新時(shí)間緩沖區(qū)模塊()每次被調(diào)用的時(shí)候,將時(shí)間緩沖區(qū)中的時(shí)間減,所以數(shù)碼管顯示屏上的數(shù)字才能夠不斷的減少。更新顯示緩沖區(qū)模塊(),用來(lái)將時(shí)間緩沖區(qū)中值轉(zhuǎn)換為適合在數(shù)碼管上顯示的字符,并存入顯示緩沖區(qū)。 # #學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì)顯示模塊()使用完成
20、顯示數(shù)值的更新。2、將、顯、示緩沖區(qū)的字符逐位顯示在數(shù)碼管顯示屏上,塊塊地址賦初值模塊更新顯示緩沖區(qū)模程序定義模芯片初始化模FORMAT交通燈狀態(tài)模CONVERS塊ZT1ZT4等待模塊更新時(shí)間緩沖區(qū)模塊WATING/交通燈控制系統(tǒng)NEWTIME塊中斷處理程序顯示模塊INT3,INT7LEDDISP圖2-3系統(tǒng)模塊圖2程序流程設(shè)計(jì)程序運(yùn)行的流程圖見(jiàn)圖2-。4開(kāi)始運(yùn)行的時(shí)候,調(diào)用初始化程序,給初始顯示區(qū)和電平錯(cuò)誤顯示區(qū)賦初值,這樣系統(tǒng)會(huì)在初始顯示和電平有錯(cuò)誤的時(shí)候,顯示相應(yīng)的字符;定義數(shù)值對(duì)應(yīng)的顯示字符,便于轉(zhuǎn)換程序取到時(shí)間數(shù)值對(duì)應(yīng)的字符;定義顯示緩沖區(qū)的地址,便于系統(tǒng)運(yùn)行的時(shí)候,把時(shí)間轉(zhuǎn)換成的顯
21、示字符存到相應(yīng)的單元中;定義時(shí)間緩沖區(qū)初值,系統(tǒng)運(yùn)行后時(shí)間將從該處的值開(kāi)始減??;定義系統(tǒng)初始狀態(tài),便于運(yùn)行后燈工作于相應(yīng)的狀態(tài)。接著對(duì)、和進(jìn)行初始化。定義使用通道2工作于方式3其計(jì)數(shù)初值為、每隔向發(fā)出一個(gè)時(shí)鐘脈沖;的、三個(gè)端口均工作于輸出方式;工作于循環(huán)等待中斷方式。進(jìn)入等待程序后,首先打開(kāi)中斷,等待發(fā)出的中斷請(qǐng)求。當(dāng)無(wú)中斷的時(shí)候,判斷系統(tǒng)所處的狀態(tài),并調(diào)用相應(yīng)的交通燈狀態(tài)子程序,使燈相應(yīng)的點(diǎn)亮。學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì)學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì)圖 圖 #開(kāi)始N開(kāi)中斷等待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時(shí)
22、間=0時(shí)間=0時(shí)間=0間=0調(diào)用ZT1芯片初始化RESET主程序流程圖中斷服務(wù)程序流程圖CONVERS時(shí)間轉(zhuǎn)為顯示字符調(diào)用ZT4設(shè)為狀態(tài)1,時(shí)間值為40、40設(shè)為狀態(tài)4,時(shí)間值為40、40設(shè)為狀態(tài)2,時(shí)間值為15、15設(shè)為狀態(tài)3,時(shí)間值為15、15初始化時(shí)間緩沖區(qū)、關(guān)中斷時(shí)間緩沖區(qū)、狀態(tài)開(kāi)始DATA6清零1fLEDDISP顯示時(shí)間1fNEWTIME時(shí)間減1Y調(diào)用ZT2、Y調(diào)用ZT3程序流程圖學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì)學(xué)士學(xué)位論文紅綠燈控制系統(tǒng)的設(shè)計(jì) #當(dāng)有中斷的時(shí)候,則轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序,本系統(tǒng)主要為程序。程序首先關(guān)閉中斷,判斷中斷計(jì)數(shù)器單元所存儲(chǔ)的中斷次數(shù)是否達(dá)到次,如果沒(méi)有則直接
23、調(diào)用程序,打開(kāi)中斷,并中斷返回。如果達(dá)到次,則將中斷計(jì)數(shù)器清零;再調(diào)用顯示程序把當(dāng)前時(shí)間顯示出來(lái);接著調(diào)用時(shí)間緩沖區(qū)更新程序?qū)⑹S鄷r(shí)間減1進(jìn)入狀態(tài)判斷程序-當(dāng)相應(yīng)狀態(tài)的剩余時(shí)間未減到的時(shí)候,調(diào)用程序,更新顯示緩沖區(qū)并中斷返回,否則改變狀態(tài),并將新?tīng)顟B(tài)將持續(xù)的時(shí)間寫(xiě)入時(shí)間緩沖區(qū),再調(diào)用程序,更新顯示緩沖區(qū)并中斷返回等待程序,執(zhí)行相應(yīng)的交通燈狀態(tài)子程序。3重要代碼分析C)中斷服務(wù)程序是本系統(tǒng)的程序最核心的子程序。它用來(lái)計(jì)算收到發(fā)來(lái)的中斷次數(shù),當(dāng)次數(shù)達(dá)到的時(shí)候,就自動(dòng)將次數(shù)清零、調(diào)用顯示程序、時(shí)間緩沖區(qū)更新程序、狀態(tài)修改程序和中斷返回程序,完成數(shù)碼顯示屏上時(shí)間的更新和燈狀態(tài)的改變。以下是該程序的代碼
24、分析,并注有詳細(xì)的功能說(shuō)明。INT3:;定義函數(shù)名稱(chēng)CLI;處理中斷時(shí)先關(guān)中斷S保存堆棧;用于保存收到的中斷次數(shù),取當(dāng)前中斷次數(shù)INCAL;將中斷次數(shù)加1:將加后的中斷次數(shù)寫(xiě)回存儲(chǔ)單元;將中斷次數(shù)與進(jìn)行比較N大于等于時(shí)清零并轉(zhuǎn)向狀態(tài)判斷程序中斷返回I小于時(shí)直接中斷返回;將清零L調(diào)用顯示程序,將顯示緩沖區(qū)中的數(shù)字顯示出來(lái);調(diào)用時(shí)間緩沖區(qū)更新程序,將時(shí)間緩沖區(qū)減;判斷是否是狀態(tài)一;如果不是狀態(tài)一則轉(zhuǎn);如果是狀態(tài)一,看時(shí)間否已經(jīng)減到;如果未減到0,則更新顯示緩沖區(qū),并中斷返回;如果減到,則設(shè)置系統(tǒng)為狀態(tài)二;設(shè)定狀態(tài)二時(shí)路口的顯示初始值類(lèi)似于,在此略去。;把時(shí)間緩沖區(qū)中的時(shí)間轉(zhuǎn)換到顯示緩沖區(qū)中;寫(xiě)控制
25、口并中斷返回;彈出堆棧;開(kāi)中斷;中斷返回(2)交通燈狀態(tài)程序也是本系統(tǒng)中一個(gè)非常重要的子程序。它通過(guò)改變否25的5和口的值來(lái)控制特定燈的亮滅。下面以狀態(tài)所對(duì)應(yīng)的子程序?yàn)槔瑏?lái)分析一下如何用否25來(lái)5控時(shí)制交通燈的亮滅。;設(shè)置路口直行燈亮;為的口的地址;更改口的值,從而改變燈顯示的狀態(tài);設(shè)置四個(gè)路口左轉(zhuǎn)燈右轉(zhuǎn)燈全部關(guān)閉;為的口的地址;更改口的值,從而改變燈顯示的狀態(tài);狀態(tài)一閃爍程序態(tài)、24路口直行燈閃爍2定義閃爍次;燈滅Y短延時(shí)L燈0Y短延時(shí);循環(huán)A跳轉(zhuǎn)到等待程序3)顯示子程序X將當(dāng)前寄存器保存到堆棧中I將顯示緩沖區(qū)的首地址存入L初始顯示時(shí)X寫(xiě)控制口T單元中保存當(dāng)前顯示到第幾位T看是否顯示到第位
26、E如果顯示完位后返回將當(dāng)前位的顯示緩沖區(qū)的地址寫(xiě)入,寫(xiě)數(shù)據(jù)口以此改變顯示值;顯示下一位;彈出堆棧并返回另外,時(shí)間緩沖區(qū)更新子程序和時(shí)間緩沖區(qū)更新子程序在本系統(tǒng)中也有很重要的作用。它們的具體代碼見(jiàn)附錄。出三、系統(tǒng)實(shí)現(xiàn)出(一)軟件開(kāi)發(fā)與運(yùn)行環(huán)境出本系統(tǒng)的代碼使用808匯6編語(yǔ)言編寫(xiě),所以代碼編寫(xiě)環(huán)境可以使用任何文本編輯器。如系統(tǒng)自帶的記事本、下的編輯工具和文本編輯工具等。本系統(tǒng)使用了實(shí)驗(yàn)箱附帶的聯(lián)機(jī)軟件。它可以讀取其他編輯軟件生成的格式的匯編語(yǔ)言文件()也可以作為匯編代碼的編輯、測(cè)試、運(yùn)行環(huán)境。在顯示代碼的時(shí)候,可以把常用的匯編指令顯示為藍(lán)色,數(shù)值顯示為紅色,注釋顯示為綠色,從而使論文清晰易讀,并
27、容易發(fā)現(xiàn)代碼中的錯(cuò)誤。聯(lián)機(jī)軟件同樣可以作為系統(tǒng)的運(yùn)行環(huán)境。系統(tǒng)運(yùn)行的時(shí)候需要將源程序編譯產(chǎn)生的文件傳送到實(shí)驗(yàn)箱,由實(shí)驗(yàn)箱上的處理器和各個(gè)芯片負(fù)責(zé)執(zhí)行。(二)系統(tǒng)硬件環(huán)境交通燈控制系統(tǒng)采用的通用微機(jī)原理及接口實(shí)驗(yàn)系統(tǒng),集成了計(jì)數(shù)定時(shí)器芯片、可編程并行接口芯片和中斷控制器芯片,并把大部分的引腳進(jìn)行了封裝,方便直接進(jìn)行使用;并設(shè)有個(gè)顯示燈;系統(tǒng)分頻器可以產(chǎn)生特定頻率的時(shí)鐘脈沖;固定的導(dǎo)線(xiàn)接口,方便使用導(dǎo)線(xiàn)把各芯片進(jìn)行連接;并設(shè)有鍵盤(pán),可以隨時(shí)控制程序的運(yùn)行,方便進(jìn)行調(diào)試。實(shí)驗(yàn)箱使用串行口連接線(xiàn)與機(jī)的串口相連,然后使用聯(lián)機(jī)軟件與實(shí)驗(yàn)箱進(jìn)行連接并傳送運(yùn)行的程序。出(三)系統(tǒng)運(yùn)行步驟系統(tǒng)的代碼編寫(xiě)完畢的時(shí)
28、候,便可以進(jìn)行程序的聯(lián)機(jī)調(diào)試了。將實(shí)驗(yàn)箱的電源線(xiàn)連接好,使用串口通信線(xiàn)將實(shí)驗(yàn)箱上的串口與機(jī)上的串口相連。將各個(gè)芯片和燈按照硬件連接設(shè)計(jì)圖上的圖示進(jìn)行連接。打開(kāi)實(shí)驗(yàn)箱的電源,數(shù)碼管顯示屏上顯示一6提示實(shí)驗(yàn)箱初始化成功。在機(jī)上打開(kāi)聯(lián)機(jī)軟件,調(diào)用編輯好的程序代碼。首先進(jìn)行編譯,系統(tǒng)會(huì)自動(dòng)調(diào)用程序?qū)Υa進(jìn)行編譯。若沒(méi)有提示錯(cuò)誤,便可以點(diǎn)擊連接按鈕,調(diào)用程序把編譯生成的文件進(jìn)行連接,生成文件。再點(diǎn)進(jìn)調(diào)試按鈕,把生成的可執(zhí)行文件傳送到實(shí)驗(yàn)箱,進(jìn)行調(diào)試狀態(tài),此時(shí)屏幕會(huì)顯示實(shí)驗(yàn)箱各個(gè)寄存器的值。最后點(diǎn)擊連續(xù)運(yùn)行按鈕,實(shí)驗(yàn)箱上的數(shù)碼顯示管和燈便會(huì)按照設(shè)計(jì)的要求進(jìn)行工作。在運(yùn)行的過(guò)程中可以隨時(shí)按實(shí)驗(yàn)箱上的鍵,中斷
29、程序的執(zhí)行,以便進(jìn)行代碼的修改或者結(jié)束系統(tǒng)的運(yùn)行。(四)系統(tǒng)測(cè)試結(jié)果按照表1-中1交通燈四個(gè)狀態(tài)所對(duì)應(yīng)的秒數(shù),在程序中為各個(gè)狀態(tài)子程序設(shè)定相應(yīng)的時(shí)間初值。測(cè)試運(yùn)行的結(jié)果如下:開(kāi)始運(yùn)行時(shí),系統(tǒng)在狀態(tài)一下工作,兩個(gè)顯示屏顯示剩余時(shí)間為45秒,并不斷遞減,同時(shí)燈的、路口的直行燈點(diǎn)亮;當(dāng)狀態(tài)一的剩余時(shí)間減至零的時(shí)候,系統(tǒng)自動(dòng)切換到狀態(tài)二,顯示屏顯示剩余時(shí)間變?yōu)?5秒并遞減,同時(shí)1、3路口的左轉(zhuǎn)燈和2、4路口的右轉(zhuǎn)燈點(diǎn)亮;狀態(tài)二結(jié)束時(shí),系統(tǒng)切換到狀態(tài)三,顯示屏的剩余時(shí)間變更為1秒,1、3路口的右轉(zhuǎn)燈和、4路口的左轉(zhuǎn)燈點(diǎn)亮;狀態(tài)三結(jié)束時(shí),進(jìn)入狀態(tài)四,顯示屏剩余時(shí)間變?yōu)?5秒,同時(shí)1、3路口的直行燈點(diǎn)亮。狀態(tài)四結(jié)束時(shí),自動(dòng)切換到狀態(tài)一循環(huán)執(zhí)行。四、系統(tǒng)開(kāi)發(fā)總結(jié)本文分析了設(shè)計(jì)高效交通燈系統(tǒng)的必要性,并從硬件和軟件兩方面分析其實(shí)現(xiàn)的可行性。在深入分析功能需求的前提下,本文詳細(xì)地介紹了交通燈控制系統(tǒng)硬件的選擇和連接,以及軟件各模塊的流程和重要代碼的分析。最后介紹了系統(tǒng)的開(kāi)發(fā)環(huán)境以及測(cè)試運(yùn)行的具體步驟和結(jié)果。本系統(tǒng)在實(shí)驗(yàn)平臺(tái)上,利用匯編語(yǔ)言對(duì)、和進(jìn)行編程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中化學(xué) 第1章 第1節(jié) 課時(shí)1 化學(xué)實(shí)驗(yàn)安全 過(guò)濾與蒸發(fā)教學(xué)設(shè)計(jì) 新人教版必修1
- 12 富起來(lái)到強(qiáng)起來(lái) 第一課時(shí)(教學(xué)設(shè)計(jì))-部編版道德與法治五年級(jí)下冊(cè)
- Unit 2 What's your number Lesson 8(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教精通版英語(yǔ)四年級(jí)上冊(cè)
- 2023四年級(jí)數(shù)學(xué)下冊(cè) 6 小數(shù)的認(rèn)識(shí)6.5 數(shù)的改寫(xiě)教學(xué)設(shè)計(jì) 冀教版
- 7《納米技術(shù)就在我們身邊》教學(xué)設(shè)計(jì)-2023-2024學(xué)年四年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- Unit 1 Making friends B Let's talk(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024年五年級(jí)品社下冊(cè)《南湖游船》教學(xué)設(shè)計(jì) 蘇教版
- 三年級(jí)品德與社會(huì)下冊(cè) 鄰居之間怎樣相處(三)教學(xué)設(shè)計(jì) 未來(lái)版
- 2023七年級(jí)英語(yǔ)下冊(cè) Unit 2 What time do you go to school教學(xué)設(shè)計(jì) (新版)人教新目標(biāo)版
- 七年級(jí)地理上冊(cè) 2.2海陸的變遷教學(xué)設(shè)計(jì)1 (新版)新人教版
- 快餐店創(chuàng)業(yè)計(jì)劃書(shū)
- 2024年4月27日福建省事業(yè)單位《綜合基礎(chǔ)知識(shí)》真題及答案
- 交通運(yùn)輸行業(yè)股權(quán)分配方案
- 中試平臺(tái)管理制度
- 入職申請(qǐng)表(完整版)
- 人衛(wèi)版內(nèi)科學(xué)第九章白血?。ǖ?節(jié))
- 建筑節(jié)能技術(shù)課件
- 環(huán)保節(jié)能空水冷系統(tǒng)在高壓變頻器上的應(yīng)用
- 項(xiàng)目建設(shè)全過(guò)程管理經(jīng)典講義(PPT)
- 207卒中患者時(shí)間節(jié)點(diǎn)控制表
- 硅酸鈉安全技術(shù)說(shuō)明書(shū)(MSDS)
評(píng)論
0/150
提交評(píng)論