十字路口道路交通信號燈控制畢業(yè)設計_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  重慶xxx大學</b></p><p><b>  畢業(yè)設計</b></p><p>  系 部 名 稱: </p><p>  專 業(yè) 班 級: </p><p>  課 題 名 稱: 十字路口道路交通信號燈控

2、制 </p><p>  指 導 教 師: </p><p>  學 生 姓 名: </p><p>  學 號: </p><p>  二O一二 年 十一 月</p><p><b>  摘要</

3、b></p><p>  紅綠燈控制是智能交通系統(tǒng)的一個重要部分。在高度科技化的今天,交通系統(tǒng)也在自動化上不斷地更新、發(fā)展和完善,道路更寬敞,路口更復雜。交通燈出現了更多的變化,從最早的紅綠燈,發(fā)展到現今的箭頭指向紅綠燈,人行紅綠燈等。這些改變都只有一個目的,為使道路更通暢,更安全。</p><p>  隨著社會的不斷進步,傳統(tǒng)的交通燈的缺陷也日益出現,其中設計過于死板,達不到道路的

4、最大通行效率是最明顯的問題,紅綠燈交替變換時間過于程式化。基于傳統(tǒng)交通燈控制系統(tǒng)設計過于死板,紅綠燈交替是間過于程式化的缺點,智能交通燈控制系統(tǒng)的設計就更顯示出了它的研究意義,它能根據道路交通擁護,交叉路口經常出現擁堵的情況。利用單片機控制技術提出了軟件和硬件設計方案,能夠實現道路的最大通行效率。</p><p>  本文所設計的單片機控制交通燈系統(tǒng)是基于十字路口交通信號燈控制,并對放行和禁行時間進行倒計時顯示(

5、秒)。單片機即單片微型計算機。由RAM,ROM,CPU構成,其集定時、計數和多種接口與一體的微控制器。它體積小、成本低、功能強,廣泛的應用于只能產業(yè)和工業(yè)自動化上。而51系列單片機是各類單片機中最為典型和富有代表性的一種。</p><p>  單片機的十字路口道路交通信號燈控制器設計,利用單片機的定時器產生秒信號,控制十字路口的紅綠黃燈交替點亮和熄滅,并且用4只LED數碼管顯示器顯示十字路口南北、東西兩個方向的通

6、行時間(綠燈點亮的時間)、暫緩通行時間(黃燈點亮的時間)、禁止通行時間(紅燈點亮的時間)。</p><p>  C語言是一種結構化的高級語言,以其優(yōu)點是可讀性好、移植容易的特點被普遍應用于單片機編程。本設計即使用C語言編程,使程序條理清晰、功能擴展性好、實用性強。</p><p>  關鍵詞:單片機 紅綠燈 AT89C51 Proteus仿真</p><p>

7、<b>  目錄</b></p><p><b>  1 概述1</b></p><p><b>  1.1課題名稱1</b></p><p><b>  1.2設計要求1</b></p><p>  2 系統(tǒng)總體方案及硬件設計1</p>

8、;<p>  2.1 AT89S51單片機簡介1</p><p>  2.2 AT89S51芯片內部結構簡介2</p><p>  2.3主要引腳功能4</p><p>  2.4系統(tǒng)方框圖6</p><p><b>  2.5工作原理6</b></p><p>  2.6

9、電路原理圖7</p><p>  2.7單片機最小系統(tǒng)8</p><p>  2.8時間顯示電路8</p><p>  2.9交通燈電路9</p><p><b>  3 軟件設計10</b></p><p>  3.1整體系統(tǒng)分析10</p><p>  3.

10、2通行方案設計10</p><p>  3.2程序主體設計流程11</p><p>  3.3子程序模塊設計12</p><p>  4 Proteus軟件仿真13</p><p><b>  參考文獻14</b></p><p>  附錄 源程序代碼15</p><

11、;p><b>  設計體會20</b></p><p><b>  1 概述</b></p><p><b>  1.1課題名稱</b></p><p>  基于MCS-51單片機的十字路口道路交通信號燈控制器設計</p><p><b>  1.2設計要求&

12、lt;/b></p><p>  1)信號燈受一個起動開關控制,當起動開關接通時,信號系統(tǒng)開始工作,且南北紅燈亮,東西綠燈亮,反之則東西紅燈亮,南北綠燈亮。當起動開關斷開時,所有信號燈都熄滅。</p><p>  2)南北紅燈亮,維持25S。在南北紅燈亮的同時東西綠燈也亮,并維持20S。到20S時,東西綠燈閃爍,閃爍3S后熄滅。在東西綠燈熄滅時,東西黃燈亮,并維持2S。到2S時,東西

13、黃燈熄,東西紅燈亮。同時,南北紅燈熄滅,南北綠燈亮。</p><p>  3)東西紅燈亮,維持30S。南北綠燈亮,維持25S。然后閃爍3S,熄滅。同時南北黃燈亮,維持2S后熄滅,這時南北紅燈亮,東西綠燈亮。</p><p>  4)每個燈亮時,輔以電子秒表并倒計時。如按前面描述,南北紅燈亮25秒并倒計時,最后3秒鐘時閃爍,歸零時即切換為綠燈并同時開始倒計時;東西綠燈與南北紅燈同時亮25秒并

14、倒計時,20秒起閃爍3秒鐘,然后再變成黃色2秒鐘。</p><p><b>  5)周而復始</b></p><p>  6)Proteus軟件仿真</p><p>  2 系統(tǒng)總體方案及硬件設計</p><p>  2.1 AT89S51單片機簡介</p><p>  AT89S51是美國ATM

15、EL公司生產的低功耗,高性能CMOS8位單片機,片內含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準8051指令系統(tǒng)及引腳。它集Flash程序存儲器 既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。</p><

16、;p>  單片機以體積小、功能全、性價比等諸多優(yōu)點而獨具特色,在工業(yè)控制、尖端武器、通信設備、家用電器等嵌入式應用領域中獨占鰲頭。如果說C語言程序設計課程設計的基礎課,那么單片機以其系統(tǒng)硬件構架完整、價格低廉、學生能動手等特點,成為工科學生硬件設計基礎課。</p><p>  2.2 AT89S51芯片內部結構簡介</p><p>  8051單片機(其管腳圖如圖-1所示)包含中央處

17、理器(CPU)、程序存儲器(ROM)、數據存儲器(RAM)、定時/計數器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數據總線、地址總線和控制總線等三大總線,現在我們分別加以說明:</p><p>  1.中央處理器(CPU)</p><p>  中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完

18、成運算和控制輸入輸出功能等操作。</p><p>  2.數據存儲器(RAM)</p><p>  8051內部有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。</p><p>

19、;  3.程序存儲器(內部ROM):</p><p>  程序存儲器用于存放程序和固定不變的常數等。通常采用只讀存儲器,且其又多種類型,在89系列單片機中全部采用閃存。AT89S51內部配置了4KB閃存。 </p><p>  3.1.定時/計數器(ROM):</p><p>  定時/計數器用于實現定時和計數功能。AT89S51共有2個16位定時/計數器。

20、</p><p>  3.2.并行輸入輸出(I/O)口:</p><p>  8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數據的傳輸。每個口都由1個鎖存器和一個驅動器組成。它們主要用于實現與外部設備中數據的并行輸入與輸出,有些I/O口還有其他功能。</p><p><b>  4.全雙工串行口:</b></p>

21、;<p>  A89S51內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。</p><p><b>  5.時鐘電路:</b></p><p>  時鐘電路的作用是產生單片機工作所需要的時鐘脈沖序列。</p><p><b>  6.中斷系統(tǒng):</

22、b></p><p>  中斷系統(tǒng)的作用主要是對外部或內部的終端請求進行管理與處理。AT89S51共有5個中斷源:2個外部中斷,即/INT0(P3.2)和/INT1(P3.3);3個片內中斷,即定時器T0的溢出中斷、定時器T1的溢出中斷和串行口中斷。</p><p>  除去圖中的存儲電路和I/O部件,剩下的是CPU,它可以分為運算器和控制器兩部分。運算器功能部件包括算術邏輯運算單元

23、ALU、累加器ACC、寄存器B、暫存寄存器TMP1、TMP2、程序狀態(tài)字寄存器PSW等??刂破鞴δ懿考ǔ绦蛴嫈灯鱌C、指令寄存器IR、指令譯碼器ID、定時控制邏輯電路CU、數據指針寄存器DPTR、堆棧指針SP及時鐘電路等。</p><p><b>  7.定時/計數器</b></p><p>  8051有兩個16位的可編程定時/計數器,以實現定時或計數產生中斷用

24、于控制程序轉向。</p><p><b>  2.3主要引腳功能</b></p><p>  ·P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數據總線復用口。作為輸出口用時,每位能驅動8個TTL邏輯門電路,對端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電

25、阻。</p><p>  ·P1口:Pl 是一個帶內部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,某個引腳被外部信號拉低時會輸出一個電流。Flash編程和程序校驗期間,Pl接收低8位地址。如下表1所示:</p><p><b>  表1<

26、;/b></p><p>  ·P2 口:P2 是一個帶有內部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執(zhí)行MOVX @DPTR指令

27、)時,P2口送出高8位地址數據。在訪問8 位地址的外部數據存儲器(如執(zhí)行MOVX @Ri 指令)時,P2 口線上的內容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。</p><p>  ·P3 口:P3 口是一組帶有內部上拉電阻的8 位雙向I/0 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。

28、對P3口寫入“l(fā)”時,它們被內部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表2所示:</p><p><b>  表2</b></p><p>  P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。</p><p>

29、;  ·RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。WDT 溢出將使該引腳輸出高電平,設置SFR AUXR的DISRT0 位(地址8EH)可打開或關閉該功能。DISRT0位缺省為RESET輸出高電平打開狀態(tài)。</p><p>  ·ALE/PROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外

30、部存儲器,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX和M0VC指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置AL

31、E無效。</p><p>  ·PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C51 由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數據存儲器,沒有兩次有效的PSEN信號。</p><p><b>  2.4系統(tǒng)方框圖</b></p><p><b>

32、;  2.5工作原理</b></p><p>  由軟件設置交通燈的初始時間,南北方向通行30秒,東西方向通行20秒,數碼管采用動態(tài)顯示,P0口送字形碼,P2口送字位選通信號,通過單片機的P1口控制各種信號燈的燃亮與熄滅。</p><p><b>  2.6電路原理圖</b></p><p>  2.7單片機最小系統(tǒng)</p&g

33、t;<p>  單片機最小系統(tǒng)以80C52為核心,外加時鐘和復位電路,電路結構簡單,抗干擾能力強,成本相對較低,非常符合本設計的所有要求。時鐘電路在單片機的外部通過XTAL1,XTAL2這兩個引腳跨接晶體振蕩器和微調電容,構成穩(wěn)定的自激振蕩器。本系統(tǒng)采用的為12MHz的晶振,一個機器周期為1us,C1,C2為30pF。</p><p>  復位電路分為上電自動復位和按鍵手動復位,RST引腳是復位信號

34、的輸入端,復位信號是高電平有效.上電自動復位通過電容C3和電阻R1來實現,按鍵手動復位是圖中復位鍵來實現的。</p><p><b>  2.8時間顯示電路</b></p><p>  倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計時顯示的信號控制方式,并且認為有倒計時顯示的路口更安全。倒

35、計時顯示是用來減少駕駛員在信號燈色改變的關鍵時刻做出復雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇 。</p><p>  因為系統(tǒng)要求南北和東西方向的信號燈時間不一樣,所以就利用單片機的P0口送出數據的段碼,位選信號用P2口送出,用動態(tài)掃描的方法顯示東西、南北的倒計時間(如圖-4所示)。</p><p>  數碼管使用共陰數碼管

36、,需要接上470Ω上拉電阻以提供足夠大的電流來驅動數碼管,數碼管的每段的電流是約10毫安。</p><p><b>  2.9交通燈電路</b></p><p>  本設計利用單片機的p1口來驅動和控制各種信號燈的燃亮和燃亮時間,在實際中,交通燈的信號燈需要用高電壓控制,在這里我們只是模擬一下它的控制信號,所以我們就只用單片機的信號引腳直接來控制發(fā)光二極管(如圖-5所

37、示)</p><p><b>  3 軟件設計</b></p><p><b>  3.1整體系統(tǒng)分析</b></p><p>  總體流程圖(實現各種狀態(tài)間的轉換):</p><p><b>  3.2通行方案設計</b></p><p>  設在十字

38、路口,分為東西向和南北向,在任一時刻只有一個方向通行,另一方向禁行,持續(xù)一定時間,經過短暫的過渡時間,將通行禁行方向對換。其具體狀態(tài)如下圖所示。說明:彩色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開始變換,直至狀態(tài)6然后循環(huán)至狀1,周而復始,直至狀態(tài)6然后循環(huán)至狀態(tài)1,通過具體的路口交通燈狀態(tài)的演示分析我們把其中燈顏色變化的4個狀態(tài)歸結如下:</p><p>  3.2程序主體設計流程</p><p

39、>  全部控制程序實際上分為若干模塊:按鍵掃描程序,紅綠燈控制程序,LED顯示程序,消抖動延時程序,初始化程序,中斷服務子程序等。</p><p>  流程圖如圖(圖-6)所示: </p><p>  3.3子程序模塊設計</p><p>  · 3.3.1 按鍵掃描子程序</p><p&g

40、t;  首先系統(tǒng)不執(zhí)行按鍵掃描子程序,以判斷K1按鍵是否被按下。本系統(tǒng)要求信號燈受一個起動開關控制,當起動開關接通時,信號系統(tǒng)開始工作;當起動開關斷開時,所有信號燈都熄滅。</p><p>  關鍵程序如下,action為程序啟動標志位。</p><p>  if(!action)</p><p><b>  {</b></p>

41、<p>  P0=P1=P2=P3=0xff;</p><p>  (*(void(*)( ))0) ( );</p><p><b>  }</b></p><p>  檢測到按下按鍵停止程序時,關閉顯示,同時使程序回到起點,下一次啟動時重頭執(zhí)行。</p><p>  · 3.3.2 紅綠燈控制程序

42、</p><p>  分析得實際控制的燈只有6個,即:東西紅燈,東西黃燈,東西綠燈,南北紅燈,南北黃燈,南北綠燈。定義IO端口如下,其均是低電平有效。</p><p>  將交通燈顏色變化的四種狀態(tài)進行分析后整理P1口四種情況的編碼表如下: unsigned char code c[4]={0xDE,0xEE,0xF3,0xF5};</p><p>  分別是:0x

43、DE 南北紅燈,東西綠燈</p><p>  0xEE 南北紅燈,東西黃燈</p><p>  0xF3 南北綠燈,東西紅燈</p><p>  0xF5南北黃燈,東西紅燈</p><p><b>  程序應用:</b></p><p>  P1=c[k];/*交通燈對應著k的值變化*/&

44、lt;/p><p>  · 3.3.3 LED倒計時顯示程序</p><p>  LED計時每一秒都要刷新一次,將時間數據的個位、十位分開送顯。單片機的P0口送出數據的段碼,位選信號用P2口送出,用動態(tài)掃描的方法顯示東西、南北的時間。</p><p>  動態(tài)顯示節(jié)省了I/O口,降低了能耗。</p><p><b>  應用實

45、例如下:</b></p><p>  P2=b[0],P0=a[SN%10];/*顯示南北方向個位*/</p><p>  delay(5); </p><p>  P2=b[1],P0=a[SN/10];/*顯示南北方向十位*/</p><p><b>  delay(5);</b></p>

46、<p>  P2=b[2],P0=a[WE%10];/*顯示東西方向個位*/</p><p>  delay(5); </p><p>  P2=b[3],P0=a[WE/10];/*顯示東西方向十位*/</p><p><b>  delay(5);</b></p><p>  4 Prot

47、eus軟件仿真</p><p><b>  系統(tǒng)仿真電路圖</b></p><p>  交通燈控制系統(tǒng)正常運行時仿真圖(見圖-7)。</p><p><b>  參考文獻</b></p><p>  [1]王為青,邱文勛. 51單片機開發(fā)案例精選[J].人民郵電出版社,2001,(5):45-47.

48、</p><p>  [2]張鑫,華臻,陳書謙. 單片機原理及應用[J].電子工業(yè)出版社,2008(5).</p><p>  [3]張洪潤,張亞凡.單片機原理及應用[J]. 清華大學出版社,2005,(4).</p><p>  [4]黃智偉.凌陽單片機課程設計指導[J]. 北京航空航天大學出版社,2007,(6)</p><p>  [5

49、]蔣輝平,周國雄. 基于Proteus的單片機系統(tǒng)設計與仿真實例[M].機械工業(yè)出版社,2009.</p><p>  [6]陳梓城 電子技術實訓 [M].北京:機械工業(yè)出版社 2003</p><p>  [7]先鋒工作室 單片機程序實例[M].北京:清華大學出版社,2002.</p><p>  [8]李學海 標準80C51單片機基礎教程[M]. 北京:北京航空

50、航天大學出版社 2006</p><p>  [9]張萌·單片機應用系統(tǒng)開發(fā)綜合實例·第二版·清華大學出版社·2005年</p><p>  [10]張一工·現代電力電子技術原理與應用第一版·科學出版社·2002年</p><p>  [11]吳黎明 單片機原理及應用技術[M].北京:科學出版社

51、2003</p><p>  [12]歐陽文·ATMEL89系列單片機的原理與開發(fā)實踐·第一版·中國電力出版社·2007年</p><p><b>  附錄 源程序代碼</b></p><p>  #include<AT89X51.H> </p><p>  #def

52、ine uchar unsigned char /*定義字符串類型為無符號型*/</p><p>  uchar code a[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};</p><p>  uchar code b[4]={0x0D,0x0E,0x07,0x0B}; /****P2口,低有效*/</p>

53、<p>  uchar code c[4]={0xDE,0xEE,0xF3,0xF5}; /****P1口,低有效*/</p><p>  char SN=25,WE=30; </p><p>  char SN_G=25,WE_G=15,Y=5; </p><p>  uchar i,k=0,count=0; </p>

54、<p>  bit action=0; </p><p>  sbit K1=P3^7;/*開關K1接P3^7管腳*/</p><p>  sbit SNG=P1^2;/*東西綠燈*/</p><p>  sbit WEG=P1^5;/*南北綠燈*/</p><p>  void delay(uchar t);</

55、p><p>  void start_keyscan();</p><p>  void light();</p><p>  void led();</p><p><b>  /*程序初始化*/</b></p><p>  void init(void)</p><p>&

56、lt;b>  { </b></p><p>  /*12MHz */</p><p>  TMOD=0x01; </p><p>  TH1=(65536-50000)/256; </p><p>  TL1=(65536-50000)%256; /*計50000個數,用時50ms*/</p><

57、p>  ET0=1;/*允許T0中斷*/</p><p>  TR0=1;/*啟動計數器*/</p><p>  EA=1;/*CPU開放總中斷*/</p><p><b>  }</b></p><p><b>  /*定時函數*/</b></p><p>  voi

58、d time1(void) interrupt 1</p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>  count++; </p><p><b&g

59、t;  }</b></p><p><b>  /*延時t毫秒*/</b></p><p>  void delay(uchar t)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p&g

60、t;  for(t;t>0;t--)</p><p>  for(i=255;i>0;i--) ;</p><p><b>  } </b></p><p>  /*開關鍵啟動關閉*/</p><p>  void start_keyscan()</p><p><b>

61、  {</b></p><p><b>  if(K1==0)</b></p><p><b>  {</b></p><p>  delay(10);</p><p><b>  if(K1==0)</b></p><p>  action

62、=~action;</p><p>  while(!K1);</p><p>  if(!action)</p><p><b>  {</b></p><p><b>  EA=0;</b></p><p>  P0=P1=P2=P3=0xff;</p>&

63、lt;p>  (*(void(*)())0)();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  /*交通燈函數*/</b></p>

64、<p>  void light()</p><p><b>  { </b></p><p>  if(k==0||k==2)</p><p>  P1=c[k];/*交通燈對應著k的值變化*/</p><p><b>  if(k==1)</b></p><

65、p><b>  {</b></p><p>  if(SN<=2) P1=c[1];</p><p><b>  else </b></p><p><b>  {</b></p><p>  if(count<6) WEG=1;</p><

66、;p>  else WEG=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(k==3)</b></p><p><b>  {</b></p><p>

67、  if(SN<=2) P1=c[3];</p><p><b>  else </b></p><p><b>  {</b></p><p>  if(count<6) SNG=1;</p><p>  else SNG=0;</p><p><b>

68、;  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  /*數碼管函數*/</b></p><p>  void led()</p><p><b>  {&l

69、t;/b></p><p>  if((k==1||k==3)&&(SN<4)&&(count<6))</p><p><b>  P2=0xff;</b></p><p><b>  else </b></p><p><b>  {&l

70、t;/b></p><p>  P2=b[0],P0=a[SN%10];/*顯示南北方向個位*/</p><p>  delay(5); </p><p>  P2=b[1],P0=a[SN/10];/*顯示南北方向十位*/</p><p>  delay(5); </p><p>  P2=b[2],P0=a[

71、WE%10];/*顯示東西方向個位*/</p><p>  delay(5); </p><p>  P2=b[3],P0=a[WE/10];/*顯示東西方向十位*/</p><p>  delay(5); </p><p><b>  }</b></p><p><b>  }<

72、/b></p><p><b>  /*主函數*/</b></p><p>  void main(void)</p><p><b>  {</b></p><p><b>  while(1)</b></p><p><b>  {&

73、lt;/b></p><p><b>  init();</b></p><p>  start_keyscan();</p><p>  if(action)</p><p><b>  {</b></p><p>  light();/*調用交通燈函數*/</

74、p><p>  led(); /*調用數碼管函數*/ </p><p>  if(count>=20)/*歷時1s,執(zhí)行程序*/</p><p><b>  {</b></p><p><b>  SN--;</b></p><p><b>  WE--;<

75、;/b></p><p><b>  count=0;</b></p><p>  if(SN==0||WE==0)</p><p><b>  {</b></p><p><b>  k++;</b></p><p><b>  if(

76、k>3)</b></p><p><b>  k=0;</b></p><p><b>  switch(k)</b></p><p><b>  { </b></p><p>  case 0:SN=WE_G+Y,WE=WE_G;break;

77、case 1:SN=Y,WE=Y;break;case 2:SN=SN_G,WE=SN_G+Y;break;</p><p>  case 3:SN=Y,WE=Y;break;}</p><p><b>  }</b></p><p><b>  }</b></p&

78、gt;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  設計體會</b></p><p>  畢業(yè)設計是培養(yǎng)學生綜合運用所學知識,發(fā)現,提出,分析和解決

79、實際問題,鍛煉實踐能力的重要體現,是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在,因此作為二十一世紀的大學來說掌握單片機的開發(fā)技是十分重要的。</p><p>  本系統(tǒng)就是充分利用了AT89S52芯片的I/O引角。系統(tǒng)統(tǒng)采用MSC-51系列單片機為中心器件來設計交通燈控制器,通過單片機芯片的P1口控制紅、黃、綠燈的

80、燃亮與熄滅;P0口外接數碼管來顯示各個信號燈的時間。系統(tǒng)設計簡便、實用性強、操作簡單、程序設計簡便。</p><p>  通過這次畢業(yè)設計,我得到了一次用所學知識與技能分析和解決問題的可貴的鍛煉機會,使我深刻領會了單片機的基本原理和單片機應用系統(tǒng)開發(fā)的過程。在常用編程設計思路技巧的掌握方面都向前邁了一大步,為日后成為合格的應用型人才打下了良好的基礎。</p><p>  回顧起此次單片機畢

81、業(yè)設計,感慨頗多,開始覺得無從下手,到后來找到系統(tǒng)的方法,構建框架,遇到問題查找資料逐個解決,最終看到了自己的成果,事實證明只要努力沒有什么是做不到的。在設計的過程中遇到了許許多多的問題,可以說得是困難重重,這畢竟是第一次做這種系統(tǒng)化的設計,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現了自己的不足之處,沒有深刻之前所學,知識掌握得不夠牢固。這次設計不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識,在設計的過程中

82、,查找了大量的資料,受益匪淺。通過這次畢業(yè)設計我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。</p><p>  這里是大學生活的結點,也是社會生活的起點,經過這次歷練我更有信心在以后的日子里迎戰(zhàn)更復雜的難題。在此特別感謝敖朝華導師對我的悉心指導,還要感謝一直陪伴我的同學們!&l

溫馨提示

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

評論

0/150

提交評論