版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)</p><p> 設(shè)計(jì)(論文)題目:基于單片機(jī)的數(shù)字交通燈</p><p> ________________________________ </p><p> 專 業(yè): 通信技術(shù) </p><p> 班 級(jí):
2、 </p><p> 學(xué) 號(hào): </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p> 二OO八年十二月三十日</p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)<
3、/p><p> 備注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě),一式二份。其中學(xué)生一份,指導(dǎo)教師一份。</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 第1章 緒 論2</b></p><p> 第2
4、章 方案設(shè)計(jì)與論證4</p><p> 第3章 系統(tǒng)硬件設(shè)計(jì)6</p><p> 3.1 總體設(shè)計(jì)6</p><p> 3.2 單片機(jī)最小系統(tǒng)6</p><p> 3.3 顯示及其驅(qū)動(dòng)模塊7</p><p> 3.3.1 鍵盤(pán)與狀態(tài)顯示功能7</p><p> 3.3.2
5、 倒計(jì)時(shí)計(jì)數(shù)功能8</p><p> 第4章 系統(tǒng)軟件設(shè)計(jì)9</p><p> 4.1 軟件總體設(shè)計(jì)9</p><p> 4.2 軟件主要子程序設(shè)計(jì)10</p><p> 4.2.1 緊急狀態(tài)子程序設(shè)計(jì)10</p><p> 4.2.2 設(shè)置狀態(tài)子程序設(shè)計(jì)10</p><p&g
6、t; 4.2.3 鍵盤(pán)模塊子程序設(shè)計(jì)11</p><p> 第5章 系統(tǒng)調(diào)試與測(cè)試12</p><p> 5.1 系統(tǒng)操作說(shuō)明12</p><p><b> 5.2 調(diào)試12</b></p><p><b> 結(jié) 論13</b></p><p><b
7、> 致 謝14</b></p><p><b> 參考文獻(xiàn)15</b></p><p> 附錄1 交通燈的總體設(shè)計(jì)原理圖16</p><p> 附錄2 PCB板圖17</p><p> 附錄3 程序清單18</p><p><b> 摘 要<
8、/b></p><p> 本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤(pán)、LED顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本交通燈功能外,還具有倒計(jì)時(shí)、時(shí)間設(shè)置、緊急情況處理、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間以及根據(jù)具體情況手動(dòng)控制等功能。隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問(wèn)題越來(lái)越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門(mén)需要解決的重要問(wèn)題之一。城市交通控制系統(tǒng)是用于城市交通
9、數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。</p><p> 關(guān)鍵詞 單片機(jī);交通燈;控制器</p><p><b> 第1章 緒 論</b></p><p> 隨著我國(guó)社會(huì)經(jīng)濟(jì)的發(fā)展,城市化、城鎮(zhèn)化進(jìn)程的加快,道路交通堵塞問(wèn)題日趨嚴(yán)重,如何對(duì)交通進(jìn)行合理的管理和調(diào)度而盡可能減
10、少堵車現(xiàn)象成為目前我國(guó)很多地方尤其是特大城市急需解決的問(wèn)題,顯然交通燈在其中起著不可缺少的作用。 </p><p> 當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p> 1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年
11、,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩種旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p> 電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年開(kāi)始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。</p>
12、<p> 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。</p><p> 信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于
13、疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)《道路交通和道路標(biāo)志信號(hào)協(xié)定》對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以
14、進(jìn)入交叉路口。</p><p> 我國(guó)機(jī)動(dòng)車輛發(fā)展迅速,而城鎮(zhèn)道路建設(shè)由于歷史等各種原因相對(duì)滯后。道路擁擠、阻塞現(xiàn)象及交通事故常有發(fā)生。如何利用當(dāng)今自動(dòng)控制技術(shù),有效地疏導(dǎo)交通,提高城鎮(zhèn)交通路口的通行能力,提高車輛速度,減少交通事故是值得我們研究的新課題。交通燈是城市交通中的重要指揮系統(tǒng),它與人們?nèi)粘I蠲芮邢嚓P(guān)。隨著人們生活水平的提高,對(duì)交通管制也提出了更高的要求,因此提供一個(gè)可靠、安全、便捷的多功能交通燈控
15、制系統(tǒng)有著現(xiàn)實(shí)的必要性,本文介紹的交通燈控制系統(tǒng)除具有一般的紅綠燈顯示功能外,還具有倒計(jì)時(shí)功能,以方便人們的生活需求。此系統(tǒng)的核心控制器是MCS-51系列單片機(jī)中的AT89C51。本次設(shè)計(jì)對(duì)紅綠燈顯示系統(tǒng)、按鍵系統(tǒng)都采用keil軟件調(diào)試程序,并給出了調(diào)試過(guò)程及全部程序代碼。</p><p> 第2章 方案設(shè)計(jì)與論證</p><p> 本設(shè)計(jì)以單片機(jī)為核心,以LED數(shù)碼管作為倒計(jì)時(shí)指示,
16、根據(jù)設(shè)計(jì)的要求我們考慮了各功能模塊的幾種設(shè)計(jì)方案,以求最佳方案,實(shí)現(xiàn)實(shí)時(shí)顯示系統(tǒng)各種狀態(tài),系統(tǒng)還增設(shè)了根據(jù)交通擁擠情況可分別設(shè)置主干道和次干道的通行時(shí)間,以提高效率,緩減交通擁擠。系統(tǒng)總體設(shè)計(jì)框圖如圖1-1所示。</p><p> 圖1-1 系統(tǒng)總體設(shè)計(jì)框圖</p><p><b> 1.電源提供方案</b></p><p> 為使模塊穩(wěn)
17、定工作,須有可靠電源。本次設(shè)計(jì)考慮了兩種電源方案:</p><p> 方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。</p><p> 方案二:采用單片機(jī)控制模塊提供電源。該方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。</p><p> 綜上所述,選擇第二
18、種方案。</p><p><b> 2.顯示界面方案</b></p><p> 該系統(tǒng)要求完成倒計(jì)時(shí)功能?;谏鲜鲈?,本次設(shè)計(jì)考慮了兩種方案:</p><p> 方案一:完全采用點(diǎn)陣式LED顯示。這種方案功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等,但實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作。</p><p> 方
19、案二:完全采用數(shù)碼管顯示。這種方案優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,可以完成倒計(jì)時(shí)功能。缺點(diǎn)是功能較少,只能顯示有限的符號(hào)和數(shù)碼字符。根據(jù)本設(shè)計(jì)的要求,方案二已經(jīng)滿足了要求,所以本次設(shè)計(jì)采用方案二以實(shí)現(xiàn)系統(tǒng)的顯示功能。</p><p><b> 3.輸入方案</b></p><p> 這里同樣討論了兩種方案:</p><p> 方案一:采用8155擴(kuò)展I/
20、O口、鍵盤(pán)及顯示等。該方案的優(yōu)點(diǎn)是使用靈活可編程,并且有RAM及計(jì)數(shù)器。若用該方案,可提供較多I/O口,但操作起來(lái)稍顯復(fù)雜。</p><p> 方案二:直接在I/O口線上接上按鍵開(kāi)關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡(jiǎn)和優(yōu)化了電路,所以剩余的端口資源還比較多,我們使用六個(gè)按鍵,分別是P16、P17、P27、P30、P32、P33,依次完成倒計(jì)時(shí)加1、倒計(jì)時(shí)減1、調(diào)完確認(rèn)、調(diào)時(shí)方向切換、南北強(qiáng)行和東西強(qiáng)行等功能。</p>
21、<p> 由于該系統(tǒng)是對(duì)交通燈及數(shù)碼管的控制,只需用單片機(jī)本身的I/O口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器及RAM已經(jīng)夠用,故選擇方案二。</p><p> 第3章 系統(tǒng)硬件設(shè)計(jì)</p><p> 硬件設(shè)計(jì)是整個(gè)系統(tǒng)的基礎(chǔ),要考慮的方方面面很多,除了實(shí)現(xiàn)交通燈基本功能以外,主要還要考慮如下幾個(gè)因素:①系統(tǒng)穩(wěn)定度;②器件的通用性或易選購(gòu)性;③軟件編程的易實(shí)現(xiàn)性;④系統(tǒng)其它功能及性能
22、指標(biāo);因此硬件設(shè)計(jì)至關(guān)重要。現(xiàn)從各功能模塊的實(shí)現(xiàn)逐個(gè)進(jìn)行分析探討。</p><p><b> 3.1 總體設(shè)計(jì)</b></p><p> 本設(shè)計(jì)以單片機(jī)為控制核心,采用模塊化設(shè)計(jì),共分以下幾個(gè)功能模塊:?jiǎn)纹瑱C(jī)控制系統(tǒng)、鍵盤(pán)及狀態(tài)顯示、倒計(jì)時(shí)模塊等。</p><p> 單片機(jī)作為整個(gè)硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器
23、。它由單片機(jī)振蕩電路、復(fù)位電路等組成。</p><p> 鍵盤(pán)及狀態(tài)顯示,開(kāi)關(guān)鍵盤(pán)輸入交通燈初始時(shí)間,通過(guò)單片機(jī)P1輸入到系統(tǒng)。</p><p> 系統(tǒng)采用雙數(shù)碼管倒計(jì)時(shí)計(jì)數(shù)功能,最大顯示數(shù)字99。</p><p> 友好的人機(jī)界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)是本設(shè)計(jì)的亮點(diǎn)。</p><p> 3.2 單片機(jī)最小系統(tǒng)</p&
24、gt;<p><b> 1.振蕩電路</b></p><p> AT89C51是內(nèi)部具有振蕩電路的單片機(jī),只需在18腳和19腳之間接上石英晶體,給單片機(jī)加工作所需直流電源,振蕩器就開(kāi)始振蕩起來(lái)。振蕩電路就為單片機(jī)工作提供了所需要的時(shí)鐘脈沖信號(hào),是單片機(jī)的內(nèi)部電路、單片機(jī)的內(nèi)部程序(若有)開(kāi)始工作。振蕩電路不工作,整個(gè)單片機(jī)電路都不能正常工作。AT89C51常外接6MHz、1
25、2MHz的石英晶體,18腳和19腳分別對(duì)地接了一個(gè)20pF的電容,目的是防止單片機(jī)自激。若從18腳輸入外部時(shí)鐘脈沖,則19腳接地。</p><p><b> 2.復(fù)位電路</b></p><p> 復(fù)位電路就是在RST端(9腳)外接的一個(gè)電路,目的是使單片機(jī)上的電開(kāi)始工作時(shí),內(nèi)部電路從初始狀態(tài)開(kāi)始工作,或者在工作中人為讓單片機(jī)重新從初始狀態(tài)開(kāi)始工作。在時(shí)鐘工作的情
26、況下,只要復(fù)位引腳高電平保持在兩個(gè)機(jī)器周期以上的時(shí)間,AT89C51便能完成系統(tǒng)重置的各項(xiàng)工作,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設(shè)置成已知狀態(tài),并且從地址0000H處讀入程序代碼而執(zhí)行程序。單片機(jī)最小系統(tǒng)電路如圖3-1所示。</p><p> 圖3-1 單片機(jī)最小系統(tǒng)電路原理圖</p><p> 3.3 顯示及其驅(qū)動(dòng)模塊</p><p> 3.3.1 鍵盤(pán)與狀
27、態(tài)顯示功能</p><p> 鍵盤(pán)在本設(shè)計(jì)中用于緊急情況的手動(dòng)控制裝置,以及定時(shí)時(shí)間的設(shè)置等功能,起到了不可缺少的重要作用。當(dāng)定時(shí)器定時(shí)為1秒時(shí)程序跳轉(zhuǎn)到時(shí)間顯示及信號(hào)燈顯示子程序,它將依次顯示信號(hào)燈時(shí)間,同時(shí)一直顯示信號(hào)燈的顏色,這時(shí)在返回定時(shí)子程序定時(shí)1秒,在顯示黃燈的下一個(gè)時(shí)間,這樣依次把所有的時(shí)間顯示完后在重新給時(shí)間計(jì)數(shù)器賦初值,重新進(jìn)入循環(huán)。鍵盤(pán)電路如圖3-2所示。</p><p&
28、gt;<b> 圖3-2 鍵盤(pán)電路</b></p><p> 3.3.2 倒計(jì)時(shí)計(jì)數(shù)功能</p><p> 本系統(tǒng)使用數(shù)碼管完成倒計(jì)時(shí)顯示功能。以南北方向?yàn)槔?,?shù)碼管顯示的數(shù)值從綠燈的設(shè)置時(shí)間最大值往下減,每秒鐘減1,一直減到1。然后又從紅燈的設(shè)置時(shí)間最大值往下減,一直減到1。接下來(lái)又顯示綠燈時(shí)間,如此循環(huán)。</p><p> 系統(tǒng)共有
29、4個(gè)兩位的LED數(shù)碼管,分別放置在模擬交通燈控制板上的四個(gè)路口。因?yàn)樗膫€(gè)方向的數(shù)碼管應(yīng)該顯示同樣的內(nèi)容,所以我們可以把它們同樣對(duì)待。也就是說(shuō)各個(gè)方向的數(shù)碼管個(gè)位(把數(shù)碼管第二位定義為個(gè)位,第一位定義為十位)用一根信號(hào)線控制,十位用另一根信號(hào)線控制。這里采用動(dòng)態(tài)顯示。LED數(shù)碼管如圖3-3所示。</p><p> 圖3-3 LED數(shù)碼管</p><p> 第4章 系統(tǒng)軟件設(shè)計(jì)</p
30、><p> 軟件在硬件平臺(tái)上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)。系統(tǒng)功能是由軟硬件共同實(shí)現(xiàn)的,由于軟件的可伸縮性,最終實(shí)現(xiàn)的系統(tǒng)功能可強(qiáng)可弱,差別可能很大。因此,軟件是本系統(tǒng)的靈魂。軟件采用模塊化設(shè)計(jì)方法,不僅易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。同時(shí),對(duì)軟件進(jìn)行全面測(cè)試也是檢驗(yàn)錯(cuò)誤排除故障的重要手段。這里我們選用了移值性好、結(jié)構(gòu)清晰、能進(jìn)行復(fù)雜運(yùn)算的C語(yǔ)言來(lái)實(shí)現(xiàn)編程。</p><
31、p> 4.1 軟件總體設(shè)計(jì)</p><p> 軟件總體設(shè)計(jì)主要完成各部分的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要完成的工作是對(duì)系統(tǒng)的初始化,發(fā)送顯示數(shù)據(jù),同時(shí)對(duì)鍵盤(pán)進(jìn)行掃描,等待外部中斷,以及根據(jù)所需要的功能進(jìn)行相應(yīng)的操作。其流程圖如圖4-1所示。</p><p> 圖4-1 軟件總體流程圖</p><p> 4.2 軟件主要子程序設(shè)計(jì)</p>
32、;<p> 4.2.1 緊急狀態(tài)子程序設(shè)計(jì)</p><p> 1.在緊急狀態(tài)下,只有緊急狀態(tài)手動(dòng)控制按鍵才可以使所有的LED都被置為紅燈,車輛禁行、行人通行。緊急情況結(jié)束后再轉(zhuǎn)成自動(dòng)狀態(tài)。程序流程如圖4-2所示。</p><p> 圖4-2 緊急狀態(tài)子程序</p><p> 4.2.2 設(shè)置狀態(tài)子程序設(shè)計(jì)</p><p>
33、; 設(shè)置狀態(tài)子程序如圖4-3所示。</p><p> 圖4-3 設(shè)置狀態(tài)子程序</p><p> 在設(shè)置狀態(tài),按下按鍵1(P16)開(kāi)始設(shè)置南北的紅燈時(shí)間,按下按鍵2(P17)設(shè)置南北的綠燈時(shí)間,按下按鍵3(P27)返回正常運(yùn)行狀態(tài)。紅燈和綠燈的時(shí)間最大可以設(shè)為99,超出99的時(shí)候會(huì)從50開(kāi)始重新計(jì)數(shù)。它包含倒計(jì)時(shí)調(diào)整和緊急狀態(tài)兩個(gè)狀態(tài)。主程序中放了一個(gè)按鍵的判斷指令,當(dāng)有按鍵按下的時(shí)
34、候,程序就自動(dòng)的跳轉(zhuǎn)到按鍵子程序處理。當(dāng)檢測(cè)到按鍵2(P17)鍵按下的時(shí)候就自動(dòng)返回到主程序。當(dāng)出現(xiàn)緊急的情況的時(shí)候,按下按鍵3(P27)就切換到緊急狀態(tài),當(dāng)緊急事件處理完畢的時(shí)候,按下按鍵2(P17),就可以返回正常狀態(tài)。</p><p> 4.2.3 鍵盤(pán)模塊子程序設(shè)計(jì)</p><p> 鍵盤(pán)是人機(jī)進(jìn)行交互的重要接口之一。用戶通過(guò)按鍵對(duì)儀器下達(dá)命令,儀器對(duì)按鍵譯碼獲得相應(yīng)的鍵值,并
35、執(zhí)行相應(yīng)的命令程序。鍵盤(pán)部分的軟件實(shí)現(xiàn)主要是指對(duì)鍵盤(pán)管理進(jìn)行編程,從而成功地讀取鍵盤(pán)值,實(shí)現(xiàn)相應(yīng)的功能。鍵盤(pán)實(shí)現(xiàn)的程序流程圖如圖4-4所示。</p><p> 圖4-4 鍵盤(pán)實(shí)現(xiàn)的程序流程圖</p><p> 第5章 系統(tǒng)調(diào)試與測(cè)試</p><p> 5.1 系統(tǒng)操作說(shuō)明</p><p> 本設(shè)計(jì)采用的是開(kāi)關(guān)鍵盤(pán),共6個(gè)鍵。鍵盤(pán)用來(lái)輸
36、入倒計(jì)時(shí)時(shí)間數(shù)字信息;功能菜單選擇鍵則用于主次干道通行時(shí)間分別設(shè)置、確定、取消(即調(diào)時(shí)方向的切換、倒計(jì)時(shí)的加減、東西強(qiáng)行、南北強(qiáng)行,調(diào)完確認(rèn))等功能。</p><p> 系統(tǒng)分為兩個(gè)狀態(tài):設(shè)置狀態(tài)和顯示狀態(tài)。利用鍵盤(pán)可以進(jìn)行兩個(gè)狀態(tài)間的切換;開(kāi)機(jī)時(shí),系統(tǒng)為顯示狀態(tài),此時(shí)顯示四個(gè)路口數(shù)碼管從默認(rèn)的倒計(jì)時(shí)時(shí)間開(kāi)始倒計(jì)時(shí);顯示狀態(tài)時(shí),交通燈模組的四個(gè)LED數(shù)碼管進(jìn)行倒計(jì)時(shí);顯示過(guò)程中按鍵可以重新進(jìn)入設(shè)置狀態(tài)。<
37、/p><p><b> 5.2 調(diào)試</b></p><p> 根據(jù)電路功能逐級(jí)進(jìn)行:</p><p> 1.通行方式功能調(diào)試:對(duì)行人和行車方向指示燈亮度和驅(qū)動(dòng)電路調(diào)試;</p><p> 2.倒計(jì)時(shí)功能調(diào)試:數(shù)碼管亮度調(diào)試;</p><p> 3.緊急情況手動(dòng)控制功能調(diào)試:包括按鍵功能的調(diào)
38、試。</p><p> 調(diào)試結(jié)果如圖5-1所示。</p><p> 圖5-1 調(diào)試后的原理圖</p><p><b> 結(jié) 論</b></p><p> 本設(shè)計(jì)以單片機(jī)為核心,以LED數(shù)碼管作為倒計(jì)時(shí)指示,該設(shè)計(jì)很好地完成了設(shè)計(jì)的各項(xiàng)要求,主要體現(xiàn)如下:</p><p> 出現(xiàn)緊急情況時(shí)
39、系統(tǒng)可設(shè)置成手動(dòng)控制,緊急情況結(jié)束后再轉(zhuǎn)成自動(dòng),控制十分靈活;</p><p> 主干道和次干道可以分開(kāi)設(shè)置時(shí)間功能,使控制更加靈活;</p><p> 以上所有功能均在城市交道口模型上得到很好地實(shí)現(xiàn),該設(shè)計(jì)在確保功能實(shí)現(xiàn)的基礎(chǔ)上,充分考慮了控制系統(tǒng)操作方便、可靠性高、穩(wěn)定性好等要求。</p><p> 該設(shè)計(jì)的交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)AT89
40、C51芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩3秒時(shí)黃燈閃爍警示綠燈時(shí)間可檢測(cè)車流量并可通過(guò)雙位數(shù)碼管顯示。</p><p> 通過(guò)這次畢業(yè)設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面的系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧,特別是對(duì)C語(yǔ)言的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。</p&g
41、t;<p> 該設(shè)計(jì)雖然結(jié)束了,但由于時(shí)間、設(shè)備、條件和水平等各方面因素,還存在一些不足,還需要不斷改進(jìn),當(dāng)然也就需要學(xué)習(xí)并運(yùn)用更多相關(guān)的知識(shí)。</p><p><b> 致 謝</b></p><p> 時(shí)間依然保留著它的荒涼,它不會(huì)為什么而改變;但時(shí)間也像海綿里的水,只要肯擠,還是很多的;我相信機(jī)會(huì)總是眷顧有準(zhǔn)備的人!在本次畢業(yè)設(shè)計(jì)中我深有體會(huì)
42、!當(dāng)然,做畢業(yè)設(shè)計(jì)是作為當(dāng)代一名大學(xué)生將知識(shí)運(yùn)用于實(shí)踐的一個(gè)重要環(huán)節(jié)。完成這次畢業(yè)設(shè)計(jì),我要感謝所有幫助過(guò)我的老師,特別是我的畢業(yè)指導(dǎo)老師**。在這次畢業(yè)設(shè)計(jì)中,我鞏固了所學(xué)的電子基礎(chǔ)知識(shí),也擴(kuò)大了自己的知識(shí)面,即將告別培育過(guò)我的母校、老師和同學(xué),真的舍不得。</p><p> 對(duì)于學(xué)過(guò)的知識(shí)只有運(yùn)用到實(shí)踐中,才能體現(xiàn)出它的價(jià)值。而這次畢業(yè)設(shè)計(jì)是自我鍛煉的一個(gè)很好的機(jī)會(huì),讓我的大學(xué)生活畫(huà)上一個(gè)圓滿的句號(hào)。我知道
43、,現(xiàn)在社會(huì)競(jìng)爭(zhēng)激烈,只有不斷學(xué)習(xí)才會(huì)有好的出路。母校給了我學(xué)習(xí)的空間和展示自我的舞臺(tái),今天的成功離不開(kāi)每位老師的細(xì)心教導(dǎo)和同學(xué)們的之間互相幫助。在此,再次對(duì)所有關(guān)心和幫助過(guò)我的老師和同學(xué)表示衷心的感謝,祝愿您們身體健康,一切順利。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 沈鴻星.LED交通信號(hào)燈系統(tǒng)的硬件設(shè)計(jì)[J].電子工程師,200
44、4(03)</p><p> [2] 張毅坤.單片微型計(jì)算機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,1998</p><p> [3] 余錫存,曹國(guó)華.單片機(jī)原理及接口技術(shù)[M].陜西:西安電子科技大學(xué)出版社,2000</p><p> 附錄1 交通燈的總體設(shè)計(jì)原理圖</p><p><b> 附錄2 PCB板圖</
45、b></p><p><b> 附錄3 程序清單</b></p><p> #include <reg51.h></p><p> #include <intrins.h></p><p> #define uchar unsigned char</p><p&g
46、t; #define uint unsigned int</p><p> sbit k1=P1^6;</p><p> sbit k2=P1^7;</p><p> sbit k3=P2^7;</p><p> sbit k4=P3^0;</p><p> sbit yellowled_nb=P
47、1^4;//南北黃燈</p><p> sbit yellowled_dx=P1^1;//東西黃燈</p><p> uchar code table[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};</p><p> uchar data dig;//位選</p>
48、<p> uchar data led;//偏移量</p><p> uchar data buf[4];</p><p> uchar data sec_dx=39;//東西數(shù)碼指示值</p><p> uchar data sec_nb=39;//南北數(shù)碼指示值</p><p> uchar data set_tim
49、edx=39;</p><p> uchar data set_timenb=39;//倒計(jì)時(shí)設(shè)置的鍵值保存</p><p> uchar data b;//定時(shí)器中斷次數(shù)</p><p> bit time;//燈狀態(tài)循環(huán)標(biāo)志</p><p> bit int0_time;//中斷強(qiáng)行標(biāo)志</p><p>
50、 bit set;//調(diào)時(shí)方向切換鍵標(biāo)志</p><p> void delay(int ms);//延時(shí)子程序</p><p> void key();//按鍵掃描子程序</p><p> void key_to1();//鍵處理子程序</p><p> void key_to2();</p><p>
51、 void display();//顯示子程序</p><p> void main()</p><p><b> {</b></p><p> TMOD=0X01;</p><p><b> TH0=0X3C;</b></p><p><b> TL0
52、=0XB0;</b></p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p><b> EX0=1;</b></p>&
53、lt;p><b> EX1=1;</b></p><p> P1=0Xf3;// 東西通行</p><p><b> while(1)</b></p><p><b> {</b></p><p> key(); //調(diào)用按鍵掃描程序</p>&l
54、t;p> display(); //調(diào)用顯示程序</p><p><b> }</b></p><p><b> }</b></p><p> void key()//按鍵掃描子程序</p><p><b> {</b></p><p&g
55、t;<b> if(k1!=1)</b></p><p><b> {</b></p><p> delay(10);</p><p><b> if(k1!=1)</b></p><p><b> {</b></p><p&
56、gt; while(k1!=1);</p><p> key_to1();</p><p><b> }</b></p><p><b> }</b></p><p><b> if(k2!=1)</b></p><p><b>
57、{</b></p><p> delay(10);</p><p><b> if(k2!=1)</b></p><p><b> {</b></p><p> while(k2!=1);</p><p> key_to2();</p>&
58、lt;p><b> }</b></p><p><b> }</b></p><p><b> if(k4!=1)</b></p><p><b> {</b></p><p> delay(10);</p><p>
59、;<b> if(k4!=1)</b></p><p><b> {</b></p><p> while(k4!=1);</p><p><b> set=!set;</b></p><p><b> }</b></p><
60、p><b> }</b></p><p> if(k3!=1&&int0_time==1)</p><p><b> {</b></p><p> TR0=1; //啟動(dòng)定時(shí)器</p><p> sec_nb=39;</p><p>
61、sec_dx=39;</p><p> int0_time=0;//清標(biāo)志</p><p> } else if(k3!=1&&int0_time==0)</p><p><b> {</b></p><p><b> TR0=1;</b></p><p
62、> set_timenb=sec_nb;</p><p> set_timedx=sec_dx; //設(shè)置的鍵值返回保存</p><p><b> }</b></p><p><b> }</b></p><p> void display()</p><p>
63、;<b> {</b></p><p> buf[1]=sec_dx/10; //第1位 東西秒十位</p><p> buf[2]=sec_dx%10; //第2位 東西秒個(gè)位</p><p> buf[3]=sec_nb/10; //第3位 南北秒十位</p><p> buf[0]=sec_nb%10;
64、//第4位 南北秒個(gè)位</p><p> P0=table[buf[led]];</p><p> delay(2);//先延時(shí),提前顯示一位了</p><p><b> P2=dig;</b></p><p> dig=_crol_(dig,1);</p><p><b>
65、 led++;</b></p><p> if (led==4)</p><p><b> {led=0;</b></p><p><b> dig=0xfe;</b></p><p><b> }</b></p><p><b
66、> }</b></p><p> void time0(void) interrupt 1 using 1 //定時(shí)中斷子程序</p><p><b> {</b></p><p><b> b++;</b></p><p> if(b==10) // 定時(shí)器中斷次
67、數(shù)。</p><p><b> {</b></p><p><b> b=0;</b></p><p><b> sec_dx--;</b></p><p><b> sec_nb--;</b></p><p> /***
68、***************南北黃燈閃爍判斷*************************/</p><p> if(sec_nb==3&&time==0)</p><p><b> {</b></p><p> yellowled_nb=1;//南北黃燈亮</p><p> delay
69、(300);</p><p> yellowled_nb=0;</p><p><b> }</b></p><p> if(sec_nb==2&&time==0)</p><p><b> {</b></p><p> yellowled_nb=1
70、;//南北黃燈亮</p><p> delay(300);</p><p> yellowled_nb=0;</p><p><b> }</b></p><p> if(sec_nb==1&&time==0)</p><p><b> {</b>&
71、lt;/p><p> yellowled_nb=1;</p><p> delay(300);</p><p> yellowled_nb=0;</p><p><b> }</b></p><p> /*******************東西黃燈閃判斷******************
72、******/ </p><p> if(sec_dx==3&&time==1)</p><p><b> {</b></p><p> yellowled_dx=1;//南北黃燈亮</p><p> delay(300);</p><p> yellowled
73、_dx=0;</p><p><b> }</b></p><p> if(sec_dx==2&&time==1)</p><p><b> {</b></p><p> yellowled_dx=1;//南北黃燈亮</p><p> delay(3
74、00);</p><p> yellowled_dx=0;</p><p><b> }</b></p><p> if(sec_dx==1&&time==1)</p><p><b> {</b></p><p> yellowled_dx=1;&
75、lt;/p><p> delay(300);</p><p> yellowled_dx=0;</p><p><b> }</b></p><p> /*******************************************/</p><p> if(sec_dx==0||
76、sec_nb==0) //東西或南北先到達(dá)1S時(shí)即開(kāi)始重新計(jì)時(shí)</p><p><b> { </b></p><p> sec_dx=set_timedx;</p><p> sec_nb=set_timenb; //第一次循環(huán)結(jié)束重置</p><p> if(time==1)</p><p
77、><b> {</b></p><p> P1=0XF3; //東西通行</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
78、P1=0xde; //南北通行</p><p><b> }</b></p><p> time=!time; //取反</p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
79、t;/b></p><p> void key_to1()</p><p><b> {</b></p><p> TR0=0; //關(guān)定時(shí)器</p><p> if(set==0)</p><p> sec_nb++; //南北加1S</p><p>&
80、lt;b> else</b></p><p> sec_dx++;//東西加1S</p><p> if(sec_nb==100)</p><p><b> sec_nb=1;</b></p><p> if(sec_dx==100)</p><p> sec_dx
81、=1;//加到100置1</p><p><b> }</b></p><p> void key_to2()</p><p><b> {</b></p><p> TR0=0;//關(guān)定時(shí)器</p><p> if(set==0)</p><p
82、> sec_nb--; //南北減1S</p><p><b> else</b></p><p> sec_dx--; //東西減1S</p><p> if(sec_nb==0)</p><p> sec_nb=99;</p><p> if(sec_dx==0 )&
83、lt;/p><p> sec_dx=99;//減到1重置99</p><p><b> }</b></p><p> void int0(void) interrupt 0 using 1 //東西強(qiáng)行</p><p><b> {</b></p><p><b&
84、gt; TR0=0;</b></p><p><b> P1=0XF3;</b></p><p> sec_dx=88;</p><p> sec_nb=88;</p><p> int0_time=1;</p><p><b> }</b></
85、p><p> void int1(void) interrupt 2 using 1 //南北強(qiáng)行</p><p><b> {</b></p><p><b> TR0=0;</b></p><p><b> P1=0XDE;</b></p><p
86、> sec_nb=88;</p><p> sec_dx=88;</p><p> int0_time=1;</p><p><b> }</b></p><p> void delay(int ms)</p><p><b> {</b></p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通燈設(shè)計(jì)畢業(yè)論文--單片機(jī)交通燈設(shè)計(jì)
- 基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的交通燈設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)論文
- 單片機(jī)控制交通燈畢業(yè)論文
- 單片機(jī)控制交通燈畢業(yè)論文
- 基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)的交通燈設(shè)計(jì)
- 單片機(jī)控制交通燈的畢業(yè)論文
- 單片機(jī)的交通燈設(shè)計(jì)畢業(yè)論文
- 單片機(jī)控制交通燈的畢業(yè)論文
- 單片機(jī)控制交通燈的畢業(yè)論文
- 畢業(yè)論文---基于單片機(jī)控制的交通燈設(shè)計(jì)
- 基于單片機(jī)控制的交通燈設(shè)計(jì) 畢業(yè)論文
- 基于51單片機(jī)的交通燈設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文---單片機(jī)交通燈控制應(yīng)用
- 畢業(yè)論文--基于單片機(jī)的交通燈模擬系統(tǒng)
- 基于單片機(jī)的數(shù)字交通燈畢業(yè)設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的交通燈的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論