版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 本智能交通燈系統(tǒng)的設(shè)計(jì)主要是利用單片機(jī)和C語(yǔ)言完成共同來(lái)完成。首先,系統(tǒng)采用紅、黃、綠兩組共六個(gè)LED發(fā)光二極管模擬十字路口東西和南北兩個(gè)方向的交通信號(hào)燈,配有7SEG-MPX6-CC(六位八段共陰極數(shù)碼管)數(shù)碼構(gòu)成倒計(jì)時(shí)牌,其的控制核心為AT89C51芯片。其次,系統(tǒng)具有處理緊急情況的功能,可以使東西和南北雙向紅燈,禁止普
2、通車輛通行。最后,系統(tǒng)利用Proteus軟件進(jìn)行了軟、硬件的的仿真。</p><p> 關(guān)鍵詞: AT89C51單片機(jī) 倒計(jì)時(shí)牌 中斷 數(shù)碼管</p><p><b> 目 錄</b></p><p> 畢業(yè)設(shè)計(jì)任務(wù)書.........................................................
3、..........................................................I</p><p> 中文摘要…………………………………………………………..……….….…………. .II</p><p> 1 引言……………….………………………………………………….….……………….1</p><p> 1.1設(shè)計(jì)目的及
4、意義……………......................…………….…………….…………..…1</p><p> 1.2設(shè)計(jì)的內(nèi)容…………........................…………….…………….……………………1</p><p> 2 設(shè)計(jì)原理…………….………..….…………………………….………………………..2</p><p> 2.
5、1總體設(shè)計(jì)方案………………………………………………………………………..2</p><p> 2.2硬件設(shè)計(jì)原理…………………………….…………………………...……………..2</p><p> 2.2.1硬件原理圖………………………….……………………………………...….. 2</p><p> 2.2.2主要模塊電路………………………………………………
6、………………… 3</p><p> 2.2.2.1控制核心——AT89C51單片機(jī)芯片…………………………………………3</p><p> 2.2.2.2 LED數(shù)碼管顯示……………………………………………………………6</p><p> 2.2.2.3六路交通燈的模擬…………………………………………………………8</p><p>
7、 2.2.2.4其它電路……………………………………………………………………8</p><p> 2.3 軟件設(shè)計(jì)原理………………………………………………………………...……9</p><p> 2.3.1軟件流程圖……………………………………….…………………………......9</p><p> 2.3.1.1主流程圖 ……………………………………………
8、……………………9</p><p> 2.3.1.2主要子程序流程圖………………………………………………………10</p><p> 2.3.2軟件源程序……………………………………………………………………11</p><p> 3 基于Proteus的仿真調(diào)試及排故…………….……..….……………………………11</p><p>
9、 3.1 Proteus的仿真軟件的介紹………………………………………………………11</p><p> 3.2 主要調(diào)試過(guò)程…………………………….………………………….………..…11</p><p> 3.2.1硬件測(cè)試………………………………………………………………………12 </p><p> 3.2.2軟件調(diào)試…………………………………………………
10、……………………12</p><p> 3.2.3連調(diào)……………………………………………………………………………12</p><p> 3.3調(diào)試時(shí)出現(xiàn)的問(wèn)題及解決方法………………………….………………………...12</p><p> 4 結(jié)論……………………………….……………………………...……………………14</p><p>
11、 致 謝.………………….……………………..…….…………...………………………15</p><p> 附 錄………………………………..…………….…..…...…………………….……….16</p><p> 附錄1 硬件連接圖………………………………………………………………………..…………16</p><p> 附錄2 源程序……………………
12、.……..………………………………………………17附錄3 共陰極LED數(shù)碼管字段碼表……………………………………………………21</p><p> 參考文獻(xiàn)…………………………………………………………………………………22</p><p><b> 1 引言</b></p><p> 1.1 設(shè)計(jì)目的及意義</p><
13、;p> 交通是一個(gè)城市經(jīng)濟(jì)的命脈,它不但體現(xiàn)了一個(gè)城市的發(fā)展活力,也直接與老百姓的生活息息相關(guān)。所謂說(shuō)的“路通財(cái)通”就是說(shuō)明了一個(gè)良好的交通環(huán)境的重要性。而交通燈在這個(gè)交通環(huán)境中起著一個(gè)重要的角色,智能的交通燈能有效地緩解城市的交通壓力,減少交通事故。同時(shí),也能為當(dāng)?shù)厝嗣窆?jié)省大量出行時(shí)間,創(chuàng)造出更多的社會(huì)價(jià)值。因而,交通燈不僅能為道路交通順暢提供保障,而且對(duì)當(dāng)?shù)亟?jīng)濟(jì)也起著不可估量的作用。因而,本次畢業(yè)設(shè)計(jì)選取智能交通燈的設(shè)計(jì)。&
14、lt;/p><p><b> 1.2設(shè)計(jì)內(nèi)容</b></p><p> 本設(shè)計(jì)主要是利用單片機(jī)和C語(yǔ)言完成對(duì)智能交通燈的設(shè)計(jì)。故論文主要從以下幾方面對(duì)本次畢業(yè)設(shè)計(jì)做出說(shuō)明:</p><p> 第一部分為引言,主要分析本設(shè)計(jì)的意義和目的,并對(duì)本論文的基本內(nèi)容做了簡(jiǎn)要說(shuō)明。</p><p> 第二部分為設(shè)計(jì)原理說(shuō)明,主要
15、從硬件和軟件設(shè)計(jì)原理兩個(gè)方面對(duì)智能交通燈的設(shè)計(jì)作了詳細(xì)說(shuō)明。</p><p> 第三部分為調(diào)試仿真排故部分,利用Proteus完成對(duì)硬件電路和軟件程序的仿真調(diào)試,并對(duì)其中出現(xiàn)的問(wèn)題及解決方法做了詳細(xì)介紹。 </p><p> 第四部分為本文結(jié)論,說(shuō)明了本次設(shè)的實(shí)現(xiàn)情況以及設(shè)計(jì)后的一些體會(huì)。</p><p><b> 2 設(shè)計(jì)原理</b>
16、;</p><p><b> 2.1總體設(shè)計(jì)方案</b></p><p> 系統(tǒng)的整體設(shè)計(jì)方案的框圖如圖2-1所示,其中控制核心為AT89C51。 </p><p> 圖2-1 系統(tǒng)總體方案框圖</p><p> 本系統(tǒng)以AT89C51單片機(jī)為控制核心,采用7SEG-MPX6-CC(六位八段共陰極數(shù)碼管)顯示倒計(jì)
17、時(shí)。同時(shí),系統(tǒng)利用AT89C51的P1口直接控制六路交通燈模擬顯示。系統(tǒng)通過(guò)軟件控制程序不僅能實(shí)交通燈正確燃亮、倒計(jì)時(shí)牌的正常顯示,并且還完成擴(kuò)展功能的實(shí)現(xiàn),即當(dāng)有緊急或特殊情況時(shí),南北和東西雙向同時(shí)禁止通行,并倒計(jì)時(shí)顯示。</p><p> 2.2 硬件設(shè)計(jì)原理</p><p> 2.2.1 硬件原理圖</p><p> 智能交通燈系統(tǒng)的硬件原理圖如圖2-
18、2所示。</p><p><b> D0a~g</b></p><p><b> D1DP</b></p><p><b> D5</b></p><p><b> 緊急鍵</b></p><p> 圖2-2 硬
19、件原理圖</p><p> 2.2.2主要模塊電路</p><p> 2.2.2.1 控制核心——AT89C51單片機(jī)芯片</p><p> AT89C51單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),其系統(tǒng)內(nèi)具有:① 4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器,單片機(jī)可反復(fù)擦除只讀存儲(chǔ)器100次;②128B的數(shù)據(jù)存儲(chǔ)器(RAM,可再外擴(kuò)64K
20、B);③ 4個(gè)可編程并行I/O口(32根I/O口線)和2個(gè)全雙工異步(UART)串行口;④兩個(gè)16位定時(shí)器/計(jì)數(shù)器;⑤六個(gè)中斷源構(gòu)成的中斷系統(tǒng);⑥具有 4.25~5.0V 的電壓工作范圍和 0~24MHz的工作頻率。該芯片使用ATMEL高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51 指令集和輸出管腳兼容,由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種
21、精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。其中,AT89C51芯片的管腳如圖2-3所示:</p><p> 圖2-3 AT89C51芯片管腳圖</p><p> (1)AT89C51各管腳的作用功能</p><p> P0口:P0口是一個(gè)8位集電極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫
22、“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。</p><p> P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1口輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1口管腳還具有第二功能,具體功能如表2
23、-1所示。</p><p> 表2-1 具有第二功能的P1口引腳</p><p> P2 口:P2口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2口輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)
24、器時(shí),P2 口送出高八位地址。</p><p> P3 口:是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3口輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89C51特殊功能(第二功能)使用,如表2-2所示。</p><p>
25、 表2-2 具有第二功能的P1口引腳</p><p><b> VCC:電源電壓</b></p><p><b> GND:地</b></p><p> RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部程序
26、存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)F1ash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX
27、和M0VC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。</p><p> PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的PSEN信號(hào)。</p><p> EA/VPP:外部訪問(wèn)允許。欲使C
28、PU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vpp。</p><p> XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p> XTAL2:振
29、蕩器反相放大器的輸出端。</p><p> 2.2.2.2 LED數(shù)碼管顯示</p><p> LED數(shù)碼管引腳及原理</p><p> LED數(shù)碼管為7個(gè)發(fā)光二極管構(gòu)成的一個(gè)“8”字排列,根據(jù)其公共端接法不同可分為共陰極和共陽(yáng)極兩種。本設(shè)計(jì)采用共陰極接法(將所有發(fā)光二極管的陰極接到一起,形成公共陰極的數(shù)碼管,公共端com接低低平,當(dāng)某一字段發(fā)光二極管的陰極為
30、高電平時(shí),相應(yīng)的字段就點(diǎn)亮,當(dāng)某一字段發(fā)光二級(jí)管的陰極為低電平時(shí),相應(yīng)的字段就不點(diǎn)亮)。其原理圖及管腳圖如圖2-4所示。共陰極字段碼表見附錄3。</p><p> 7SEG-MPX6-CA六位八段共陰極數(shù)碼管管腳圖 </p><p> 圖2-4六位八段共陰極數(shù)碼管</p><p> ?。╞)共陰極接法圖 </p><p> 圖
31、2-5 七段數(shù)碼管引腳圖</p><p><b> LED顯示原理</b></p><p> 本設(shè)計(jì)在南北及東西方向有兩個(gè)方向故采用一個(gè)六位八段共陰極數(shù)碼管(動(dòng)態(tài)顯示)顯示。其中左邊兩位為南北方向的十位和個(gè)位顯示倒計(jì)時(shí),右邊兩位為東西方向的十位和個(gè)位顯示倒計(jì)時(shí),中間兩位為了觀察清楚期間空出來(lái)。所謂動(dòng)態(tài)顯示就是用P2口作位選口、P1口作字段口,即三個(gè)LED數(shù)碼管的字
32、段a——g連接在P1口上,四個(gè)LED數(shù)碼管陽(yáng)極端由P1口控制。其動(dòng)態(tài)顯示原理為:P1口送出一個(gè)想要顯示的字符,P2口送出位控信息允許的那一個(gè)LED數(shù)碼管方可被點(diǎn)亮;依此類推,四個(gè)管子是分別被依次點(diǎn)亮一次后,從頭再做一次周而復(fù)始,由于人的視覺(jué)暫留特性,從視覺(jué)的角度看三個(gè)管子好像為同時(shí)點(diǎn)亮。) </p><p> 2.2.2.3六路交通燈的模擬</p><p> P1.0~P1.5用于連接
33、發(fā)光二極管,另外由于51管腳輸出電流太大,所以必須加0.2K排阻用于限流。</p><p> 系統(tǒng)利用兩組紅、黃、綠LED發(fā)光二極管模擬十字路口東西和南北兩個(gè)方向的交通信號(hào)燈。各燈亮滅狀態(tài)分別由AT89C51的P1口P1.0~P1.5六根線上的輸出電平組合來(lái)控制,具體為 P1.0接南北向的綠燈,P1.1接南北向黃燈,P1.2接南北向紅燈,P1.3接?xùn)|西向綠燈,P1.4接?xùn)|西向黃燈,P1.5接?xùn)|西向紅燈。當(dāng)對(duì)應(yīng)輸
34、出線上為低電平時(shí),點(diǎn)亮對(duì)應(yīng)燈,其電平組合見表2-3.</p><p> 1代表燈亮,0代表燈滅</p><p> 表2-3 P1口電平組合</p><p> 2.2.2.4其它電路</p><p><b> ?。?)晶體振蕩電路</b></p><p> 其振蕩電路如圖2-6所示</
35、p><p><b> C4 30pF</b></p><p><b> X2</b></p><p><b> 19 XTAL1</b></p><p><b> 18 XTAL2</b></p><p><b>
36、; C1 30pF</b></p><p> 圖2-6晶體振蕩電路</p><p><b> ?。?)復(fù)位電路</b></p><p> 通過(guò)復(fù)位開關(guān),系統(tǒng)進(jìn)行復(fù)位,其電路如圖2-7所示</p><p><b> 9 RST</b></p><p>&
37、lt;b> 復(fù)位</b></p><p><b> C2 1uF</b></p><p><b> R10 1K</b></p><p><b> 圖2-7復(fù)位電路</b></p><p> 2.3 軟件設(shè)計(jì)原理</p><p
38、> 2.3.1軟件流程圖 </p><p> 2.3.1.1主流程圖 </p><p><b> N</b></p><p><b> Y</b></p><p> 圖2-8 主程序圖 </p><p> 2.3.1.2主要子程序流程圖</p>
39、<p> 圖2-10 動(dòng)態(tài)顯示子程序圖</p><p> 圖2-9 中斷服務(wù)子程序圖</p><p> 圖2-11 紅綠燈顯示子程序圖</p><p> 2.3.2軟件源程序 (見附錄2)</p><p> 3、基于Proteus的仿真調(diào)試及排故</p><p> 3.1 Proteus的仿真
40、軟件的介紹</p><p> Proteus ISIS 是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行Windows操作系統(tǒng)上,可以仿真和分析(SPICE)各種模擬器件和集成電路。該軟件具有以下特點(diǎn):</p><p> 實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路相結(jié)合。Proteus具有模擬電路仿真、單片機(jī)及外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試
41、器 、鍵盤和LED系統(tǒng)仿真的功能;還有各種虛擬儀器,如示波器 、邏輯分析儀、信號(hào)發(fā)生器等。</p><p> 支持主流單片機(jī)系統(tǒng)的仿真。Proteus目前支持的單片機(jī)類型有:68000系列、8051系列(本設(shè)計(jì)就采用8051系列)、AVR系列、PIC12系列、PIC16系列、Z80系列、HC11系列、ARM7以及各種外圍芯片。</p><p> 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全
42、速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,可以同時(shí)觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在Proteus仿真系統(tǒng)中,也必須具有這些功能;Proteus同時(shí)還支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51集成開發(fā)環(huán)境(包括Keil u Vision2、Keil u Vision3等)。</p><p> 具有強(qiáng)大的原理圖繪制功能。</p><p> 3.2主要調(diào)試過(guò)程 </p>&
43、lt;p> 調(diào)試過(guò)程主要有三部分:第一部分先要硬件連接調(diào)試;第二部分是軟件調(diào)試;第三部分是軟件和硬件聯(lián)調(diào),實(shí)現(xiàn)智能交通燈的控制。具體步驟為:</p><p> 第一步:在Proteus軟件庫(kù)中,查找相關(guān)元器件,并按附錄1中所示的電路圖接線,并認(rèn)真檢查接線是否有誤。</p><p> 第二步:軟件測(cè)試硬件電路各部分,是否連接正確。</p><p> 第三
44、步:編寫源程序,對(duì)軟件程序進(jìn)行測(cè)試和修改。</p><p> 第四部:軟硬件連調(diào),根據(jù)問(wèn)題修改軟件。</p><p> 注:第二步完成后,說(shuō)明硬件電路完全正確,到第四步時(shí)不需要在進(jìn)行硬件檢測(cè)和修改。</p><p> 3.2.1 硬件測(cè)試 </p><p> 首先按照附錄1所示接線圖連接實(shí)際電路,認(rèn)真檢查接線,確保接線正確。然后利用軟
45、件測(cè)試倒計(jì)時(shí)顯示電路部分和交通等模擬部分連接是否正確。若倒計(jì)時(shí)現(xiàn)實(shí)的數(shù)碼管,能按測(cè)試軟件要求正常顯示相應(yīng)數(shù)碼,則該部分硬件電路無(wú)誤;若六路LED發(fā)光二極管能按照P1口輸出的電平組合去亮滅,則該部分硬件電路無(wú)誤。</p><p> 3.2.2 軟件調(diào)試。</p><p> 在Keil中將附錄2中源程序輸入編程環(huán)境,并建立新的文件名,將文件名改為*.c的格式放在一個(gè)新建的文件夾里,編譯查找
46、無(wú)錯(cuò)誤后,最后生成hex文件(hex文件也在這個(gè)新建的文件夾里)。</p><p><b> 3.2.3 連調(diào)</b></p><p> 點(diǎn)擊51單片機(jī),將hex文件加載到protues電路里,接通電源仿真,觀察現(xiàn)象。</p><p> 3.3 調(diào)試時(shí)出現(xiàn)的問(wèn)題及解決方法</p><p> 問(wèn)題一:數(shù)碼管的LED
47、燈均沒(méi)有按預(yù)想的情況顯示數(shù)字,而是燈全部未被點(diǎn)亮。</p><p> 原因:?jiǎn)纹窓C(jī)的P0口沒(méi)有接上拉電阻。(因?yàn)閱纹瑱C(jī)的P0口輸出是一個(gè)集電極開路的三極管,若要想驅(qū)動(dòng)數(shù)碼管,需加以上拉電阻。)</p><p> 解決方法:給單片機(jī)的P0口接上10K的上拉電阻。</p><p> 問(wèn)題二:數(shù)碼管沒(méi)有顯示一個(gè)正確的0~9數(shù)字。</p><p&g
48、t; 原因:軟件和硬件使用的數(shù)碼管不一致(在程序中應(yīng)用的是六位八段共陰極的數(shù)碼管,但是在電路圖中卻用的是7SEG-MPX6-CA(六位八段共陽(yáng)極的數(shù)碼管))。</p><p> 解決方法:將軟件和硬件所用的數(shù)碼管(7SEG-MPX6-CC(六位八段共陰極的數(shù)碼管))對(duì)應(yīng)一致。</p><p> 問(wèn)題三:當(dāng)?shù)褂?jì)時(shí)正常進(jìn)行時(shí)按下復(fù)位鍵,電路沒(méi)有任何變化(像預(yù)期的倒計(jì)時(shí)從45s重新開始倒計(jì)
49、時(shí),而是繼續(xù)之前的正常的情況繼續(xù)倒計(jì)時(shí));在按下緊急鍵后,再按下復(fù)位鍵時(shí),電路也沒(méi)有任何變化。</p><p> 原因:復(fù)位電路的電阻R10阻值10k太大,導(dǎo)致當(dāng)按鍵被按下時(shí)未向單片機(jī)復(fù)位端送入高電平。</p><p> 解決方法:將R1的阻值調(diào)小至1k。</p><p> 問(wèn)題四:東西和南北方向的倒計(jì)時(shí)顯示是斷斷續(xù)續(xù)的(個(gè)位和十位的位碼不是同時(shí)送到的),及當(dāng)
50、倒計(jì)時(shí)上顯示34s時(shí),3和4 不是同時(shí)顯示在數(shù)碼管上的,而是3顯示完之后,4才顯示。</p><p> 原因:軟件動(dòng)態(tài)顯示子程序部分四個(gè)數(shù)碼管上的延遲時(shí)間太長(zhǎng)(delay(70)),超過(guò)了人眼所能辨別的視覺(jué)范圍1/24s。</p><p> 解決方法:將延遲時(shí)間改小為delay(1)。</p><p> 問(wèn)題四:在程序進(jìn)入正常運(yùn)行時(shí),南北方向紅燈倒計(jì)時(shí)45s;
51、東西方向綠燈倒計(jì)時(shí)42s,黃燈倒計(jì)時(shí)3s。但是,在東西方向上當(dāng)黃燈點(diǎn)亮?xí)r,綠燈沒(méi)有滅。</p><p> 原因:在軟件設(shè)計(jì)時(shí),當(dāng)?shù)谝粋€(gè)狀態(tài)結(jié)束,第二個(gè)狀態(tài)開始時(shí),在點(diǎn)亮第二個(gè)狀態(tài)的燈時(shí),沒(méi)有熄滅第一個(gè)狀態(tài)的燈。</p><p> 解決方法:在進(jìn)入第二個(gè)狀態(tài)時(shí),在點(diǎn)亮東西方向黃燈之前先將第一個(gè)狀態(tài)東西方向的綠燈滅掉。</p><p><b> 4、結(jié)論
52、</b></p><p> 經(jīng)過(guò)了為期兩個(gè)月的的畢業(yè)設(shè)計(jì)設(shè)計(jì)我首先感覺(jué)到的是身心非常的疲憊,但我無(wú)怨無(wú)悔,因?yàn)楫?dāng)我查閱了大量的參考資料和得到老師和同學(xué)的幫助后我發(fā)覺(jué)學(xué)到許多在課堂上和書本上所學(xué)不到的東西。回顧大學(xué)期間的學(xué)習(xí),在大二第二學(xué)期的《單片機(jī)C語(yǔ)言編程與實(shí)踐》課程中,我曾對(duì)51系列單片機(jī)有過(guò)一定的學(xué)習(xí),而此次實(shí)踐則強(qiáng)化了我的這一課程理論及相關(guān)的技術(shù)操作。并且,本設(shè)計(jì)也很好的實(shí)現(xiàn)了智能交通的功能
53、,只是有一小部分還不是很完美,在中端服務(wù)部分,雖然自己的設(shè)計(jì)思路是正確的,但是由于自己的能力有限沒(méi)能很好的設(shè)計(jì)出中端的倒計(jì)時(shí)控制,只能人工控制緊急情況下車輛所要通行的時(shí)間。我心里非常的地高興,通過(guò)我這段時(shí)期內(nèi)付出辛勞的成果,也為我大學(xué)期間的學(xué)習(xí)畫上一個(gè)圓滿的句號(hào)。我相信,這對(duì)我馬上進(jìn)入社會(huì)參加工作是很有幫助的。</p><p><b> 致謝</b></p><p>
54、; 在這次為期兩個(gè)月的畢業(yè)設(shè)計(jì)中,我要感謝那些幫助過(guò)我的人,特別是我的老師和我們班的同學(xué),他們總在我遇到困難時(shí)耐心的幫我直到我搞懂。讓我能順利完成我的畢業(yè)設(shè)計(jì)。要不是他們,我將無(wú)法想象我這兩個(gè)月的生活將如何解決我遇到難題。再次向他們表示感謝。</p><p><b> 附 錄</b></p><p> 附 錄 1硬件接線圖</p><p>
55、; 附 錄 2 源程序 </p><p> #include<regx51.h></p><p> #define uint unsigned int</p><p> #define uchar unsigned char //宏定義</p><p> //--------------------
56、---------LED控制-----------------------------------// </p><p> uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定義字段碼</p><p> uchar code ACT[6]={0xfe,0xfd,0xfb,
57、0xf7,0xef,0xdf}; //定義位選碼</p><p> uchar dongxi,nanbei,f;</p><p> //--------------------------------初始化----------------------------------//</p><p> void init(void)</p&g
58、t;<p><b> {</b></p><p> EX0=1; // 開啟外部中斷0</p><p> IT0=1; // 定義觸發(fā)方式(邊沿觸發(fā))</p><p> EA=1; // 開啟總中斷</p><p><b> }</b>&
59、lt;/p><p> //------------------------------1ms延時(shí)子程序-------------------------// </p><p> void delay(uint k)</p><p><b> {</b></p><p><b> uint i;</b&
60、gt;</p><p> while(k--)</p><p> for(i=0;i<121;i++);</p><p><b> }</b></p><p> //----------------------------------動(dòng)態(tài)顯示子程序----------------------//</p
61、><p> void display(void)</p><p><b> {</b></p><p> for(f=0;f<150;f++)</p><p><b> { </b></p><p><b> {</b></p>
62、<p> P2=ACT[0];P0=SEG7[dongxi/10];delay(1); //顯示LED上南北方向的十位 P2=ACT[1];P0=SEG7[dongxi%10];delay(1); //顯示LED上南北方向的個(gè)位</p><p> P2=ACT[4];P0=SEG7[nanbei/10
63、];delay(1); //顯示LED上東西方向的十位</p><p> P2=ACT[5];P0=SEG7[nanbei%10];delay(1); //顯示LED上東西方向的個(gè)位</p><p><b> }</b></p><p><b> }</b></p><p>&l
64、t;b> }</b></p><p> //-----------------------------東西方向紅綠燈及倒計(jì)時(shí)顯示---------------------------//</p><p> void dong_xi(void)</p><p><b> {</b></p><p>
65、; for(dongxi=45;dongxi>3;dongxi--) //倒計(jì)時(shí)45s</p><p><b> { </b></p><p> nanbei=dongxi;</p><p> P1_5=1; </p><p> P1_1=1; </p><p
66、> P1_2=0; </p><p> P1_3=0; //南北紅燈亮,禁止通行;東西綠燈亮,通行</p><p> display(); </p><p><b> } </b></p><p> for(dongxi=3;dongxi>0;dongxi--) //倒計(jì)時(shí)
67、3s</p><p><b> { </b></p><p> nanbei=dongxi;</p><p> P1_3=1; </p><p> P1_2=0; </p><p> P1_4=0;//南北紅燈亮,禁止通行;東西黃燈亮,等待</p>
68、<p> display(); </p><p><b> } </b></p><p><b> }</b></p><p> //-----------------------------------南北方向紅綠燈及倒計(jì)時(shí)顯示-------------------------//</p&
69、gt;<p> void nan_bei(void)</p><p><b> { </b></p><p> for(nanbei=45;nanbei>3;nanbei--)</p><p><b> { </b></p><p> dongxi=nanbei;
70、</p><p><b> P1_2=1;</b></p><p><b> P1_4=1;</b></p><p><b> P1_5=0;</b></p><p> P1_0=0; //東西紅燈亮,禁止通行;南北綠燈亮,通行</p><
71、p> display(); </p><p><b> } </b></p><p> for(nanbei=3;nanbei>0;nanbei--)</p><p><b> { </b></p><p> dongxi=nanbei;</p><
72、p><b> P1_0=1;</b></p><p><b> P1_5=0;</b></p><p> P1_1=0; //東西紅燈亮,禁止通行;南北黃燈亮,等待</p><p> display(); </p><p><b> } </b>
73、</p><p><b> }</b></p><p> //----------------------------------------主函數(shù)-----------------------//</p><p> void main(void)</p><p><b> {</b><
74、;/p><p><b> while(1) </b></p><p><b> { </b></p><p><b> init();</b></p><p> dong_xi();</p><p> nan_bei();</p>&
75、lt;p><b> }</b></p><p><b> }</b></p><p> //----------------------中斷服務(wù)子程序----------------------------//</p><p> void int0(void)interrupt 0 using 0</p
76、><p><b> {</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> P1_0=1;</b></p><p><b> P1_1=1;&l
77、t;/b></p><p><b> P1_3=1;</b></p><p><b> P1_4=1;</b></p><p><b> P1_2=0;</b></p><p> P1_5=0; //南北東西同時(shí)紅燈亮,緊急情況通行</p>
78、<p> nanbei=dongxi=0;</p><p> display();</p><p><b> }</b></p><p><b> }</b></p><p> 附 錄 3 共陰極LED數(shù)碼管字段碼表</p><p><b>
溫馨提示
- 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ī)proteus軟件課程設(shè)計(jì)
- 基于FPGA的軟硬件協(xié)同仿真平臺(tái)的設(shè)計(jì).pdf
- 基于verilog交通燈仿真系統(tǒng)設(shè)計(jì)與仿真
- 基于proteus的多通道數(shù)據(jù)采集系統(tǒng)仿真設(shè)計(jì)
- 基于proteus的數(shù)字溫度計(jì)設(shè)計(jì)與仿真
- 基于單片機(jī)的智能交通燈設(shè)計(jì)(硬件部分)
- OFDM軟硬件仿真研究.pdf
- 基于軟硬件協(xié)同仿真的IP核驗(yàn)證平臺(tái)的設(shè)計(jì).pdf
- 基于fpga的智能交通燈設(shè)計(jì)
- 基于單片機(jī)的智能交通燈設(shè)計(jì)(硬件部分).doc
- 基于ARM內(nèi)核的SOC軟硬件協(xié)同仿真工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于8051+proteus仿真100實(shí)例
- 用proteus仿真單片機(jī)的方法
- 智能交通燈畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能交通燈控制
- 交通燈實(shí)驗(yàn)(dsp論文)基于icetekvc5416a試驗(yàn)箱的交通燈_設(shè)計(jì)與仿真
- 開題報(bào)告基于單片機(jī)的智能交通燈設(shè)計(jì)(硬件部分)
- 基于單片機(jī)的智能交通燈設(shè)計(jì)(軟件部分)
- 單片機(jī)溫度采集系統(tǒng)的proteus仿真
- [雙語(yǔ)翻譯]交通燈外文翻譯--基于模糊邏輯的智能交通燈模擬器設(shè)計(jì)及硬件實(shí)現(xiàn)
- 基于proteus仿真的信號(hào)發(fā)生器
評(píng)論
0/150
提交評(píng)論