2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  本智能交通燈系統(tǒng)的設(shè)計主要是利用單片機和C語言完成共同來完成。首先,系統(tǒng)采用紅、黃、綠兩組共六個LED發(fā)光二極管模擬十字路口東西和南北兩個方向的交通信號燈,配有7SEG-MPX6-CC(六位八段共陰極數(shù)碼管)數(shù)碼構(gòu)成倒計時牌,其的控制核心為AT89C51芯片。其次,系統(tǒng)具有處理緊急情況的功能,可以使東西和南北雙向紅燈,禁止普

2、通車輛通行。最后,系統(tǒng)利用Proteus軟件進行了軟、硬件的的仿真。</p><p>  關(guān)鍵詞: AT89C51單片機 倒計時牌 中斷 數(shù)碼管</p><p><b>  目 錄</b></p><p>  畢業(yè)設(shè)計任務(wù)書.........................................................

3、..........................................................I</p><p>  中文摘要…………………………………………………………..……….….…………. .II</p><p>  1 引言……………….………………………………………………….….……………….1</p><p>  1.1設(shè)計目的及

4、意義……………......................…………….…………….…………..…1</p><p>  1.2設(shè)計的內(nèi)容…………........................…………….…………….……………………1</p><p>  2 設(shè)計原理…………….………..….…………………………….………………………..2</p><p>  2.

5、1總體設(shè)計方案………………………………………………………………………..2</p><p>  2.2硬件設(shè)計原理…………………………….…………………………...……………..2</p><p>  2.2.1硬件原理圖………………………….……………………………………...….. 2</p><p>  2.2.2主要模塊電路………………………………………………

6、………………… 3</p><p>  2.2.2.1控制核心——AT89C51單片機芯片…………………………………………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è)計原理………………………………………………………………...……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)試過程…………………………….………………………….………..…11</p><p>  3.2.1硬件測試………………………………………………………………………12 </p><p>  3.2.2軟件調(diào)試…………………………………………………

10、……………………12</p><p>  3.2.3連調(diào)……………………………………………………………………………12</p><p>  3.3調(diào)試時出現(xià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>  參考文獻…………………………………………………………………………………22</p><p><b>  1 引言</b></p><p>  1.1 設(shè)計目的及意義</p><

13、;p>  交通是一個城市經(jīng)濟的命脈,它不但體現(xiàn)了一個城市的發(fā)展活力,也直接與老百姓的生活息息相關(guān)。所謂說的“路通財通”就是說明了一個良好的交通環(huán)境的重要性。而交通燈在這個交通環(huán)境中起著一個重要的角色,智能的交通燈能有效地緩解城市的交通壓力,減少交通事故。同時,也能為當?shù)厝嗣窆?jié)省大量出行時間,創(chuàng)造出更多的社會價值。因而,交通燈不僅能為道路交通順暢提供保障,而且對當?shù)亟?jīng)濟也起著不可估量的作用。因而,本次畢業(yè)設(shè)計選取智能交通燈的設(shè)計。&

14、lt;/p><p><b>  1.2設(shè)計內(nèi)容</b></p><p>  本設(shè)計主要是利用單片機和C語言完成對智能交通燈的設(shè)計。故論文主要從以下幾方面對本次畢業(yè)設(shè)計做出說明:</p><p>  第一部分為引言,主要分析本設(shè)計的意義和目的,并對本論文的基本內(nèi)容做了簡要說明。</p><p>  第二部分為設(shè)計原理說明,主要

15、從硬件和軟件設(shè)計原理兩個方面對智能交通燈的設(shè)計作了詳細說明。</p><p>  第三部分為調(diào)試仿真排故部分,利用Proteus完成對硬件電路和軟件程序的仿真調(diào)試,并對其中出現(xiàn)的問題及解決方法做了詳細介紹。 </p><p>  第四部分為本文結(jié)論,說明了本次設(shè)的實現(xiàn)情況以及設(shè)計后的一些體會。</p><p><b>  2 設(shè)計原理</b>

16、;</p><p><b>  2.1總體設(shè)計方案</b></p><p>  系統(tǒng)的整體設(shè)計方案的框圖如圖2-1所示,其中控制核心為AT89C51。 </p><p>  圖2-1 系統(tǒng)總體方案框圖</p><p>  本系統(tǒng)以AT89C51單片機為控制核心,采用7SEG-MPX6-CC(六位八段共陰極數(shù)碼管)顯示倒計

17、時。同時,系統(tǒng)利用AT89C51的P1口直接控制六路交通燈模擬顯示。系統(tǒng)通過軟件控制程序不僅能實交通燈正確燃亮、倒計時牌的正常顯示,并且還完成擴展功能的實現(xiàn),即當有緊急或特殊情況時,南北和東西雙向同時禁止通行,并倒計時顯示。</p><p>  2.2 硬件設(shè)計原理</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單片機芯片</p><p>  AT89C51單片機是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,其系統(tǒng)內(nèi)具有:① 4K字節(jié)閃爍可編程可擦除只讀存儲器,單片機可反復(fù)擦除只讀存儲器100次;②128B的數(shù)據(jù)存儲器(RAM,可再外擴64K

20、B);③ 4個可編程并行I/O口(32根I/O口線)和2個全雙工異步(UART)串行口;④兩個16位定時器/計數(shù)器;⑤六個中斷源構(gòu)成的中斷系統(tǒng);⑥具有 4.25~5.0V 的電壓工作范圍和 0~24MHz的工作頻率。該芯片使用ATMEL高密度非易失性存儲器技術(shù)制造,與工業(yè)標準的MCS-51 指令集和輸出管腳兼容,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種

21、精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。其中,AT89C51芯片的管腳如圖2-3所示:</p><p>  圖2-3 AT89C51芯片管腳圖</p><p> ?。?)AT89C51各管腳的作用功能</p><p>  P0口:P0口是一個8位集電極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫

22、“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。</p><p>  P1口:P1口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1口輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1口管腳還具有第二功能,具體功能如表2

23、-1所示。</p><p>  表2-1 具有第二功能的P1口引腳</p><p>  P2 口:P2口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2口輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲

24、器時,P2 口送出高八位地址。</p><p>  P3 口:是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3口輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(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ù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。</p><p>  ALE/PROG:當訪問外部程序

26、存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX

27、和M0VC指令A(yù)LE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。</p><p>  PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S51 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN信號。</p><p>  EA/VPP:外部訪問允許。欲使C

28、PU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。</p><p>  XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p>  XTAL2:振

29、蕩器反相放大器的輸出端。</p><p>  2.2.2.2 LED數(shù)碼管顯示</p><p>  LED數(shù)碼管引腳及原理</p><p>  LED數(shù)碼管為7個發(fā)光二極管構(gòu)成的一個“8”字排列,根據(jù)其公共端接法不同可分為共陰極和共陽極兩種。本設(shè)計采用共陰極接法(將所有發(fā)光二極管的陰極接到一起,形成公共陰極的數(shù)碼管,公共端com接低低平,當某一字段發(fā)光二極管的陰極為

30、高電平時,相應(yīng)的字段就點亮,當某一字段發(fā)光二級管的陰極為低電平時,相應(yīng)的字段就不點亮)。其原理圖及管腳圖如圖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è)計在南北及東西方向有兩個方向故采用一個六位八段共陰極數(shù)碼管(動態(tài)顯示)顯示。其中左邊兩位為南北方向的十位和個位顯示倒計時,右邊兩位為東西方向的十位和個位顯示倒計時,中間兩位為了觀察清楚期間空出來。所謂動態(tài)顯示就是用P2口作位選口、P1口作字段口,即三個LED數(shù)碼管的字

32、段a——g連接在P1口上,四個LED數(shù)碼管陽極端由P1口控制。其動態(tài)顯示原理為:P1口送出一個想要顯示的字符,P2口送出位控信息允許的那一個LED數(shù)碼管方可被點亮;依此類推,四個管子是分別被依次點亮一次后,從頭再做一次周而復(fù)始,由于人的視覺暫留特性,從視覺的角度看三個管子好像為同時點亮。) </p><p>  2.2.2.3六路交通燈的模擬</p><p>  P1.0~P1.5用于連接

33、發(fā)光二極管,另外由于51管腳輸出電流太大,所以必須加0.2K排阻用于限流。</p><p>  系統(tǒng)利用兩組紅、黃、綠LED發(fā)光二極管模擬十字路口東西和南北兩個方向的交通信號燈。各燈亮滅狀態(tài)分別由AT89C51的P1口P1.0~P1.5六根線上的輸出電平組合來控制,具體為 P1.0接南北向的綠燈,P1.1接南北向黃燈,P1.2接南北向紅燈,P1.3接東西向綠燈,P1.4接東西向黃燈,P1.5接東西向紅燈。當對應(yīng)輸

34、出線上為低電平時,點亮對應(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>  通過復(fù)位開關(guān),系統(tǒng)進行復(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è)計原理</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 動態(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 是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行Windows操作系統(tǒng)上,可以仿真和分析(SPICE)各種模擬器件和集成電路。該軟件具有以下特點:</p><p>  實現(xiàn)了單片機仿真和SPICE電路相結(jié)合。Proteus具有模擬電路仿真、單片機及外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試

41、器 、鍵盤和LED系統(tǒng)仿真的功能;還有各種虛擬儀器,如示波器 、邏輯分析儀、信號發(fā)生器等。</p><p>  支持主流單片機系統(tǒng)的仿真。Proteus目前支持的單片機類型有:68000系列、8051系列(本設(shè)計就采用8051系列)、AVR系列、PIC12系列、PIC16系列、Z80系列、HC11系列、ARM7以及各種外圍芯片。</p><p>  提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全

42、速、單步、設(shè)置斷點等調(diào)試功能,可以同時觀察各個變量、寄存器等的當前狀態(tài),因此在Proteus仿真系統(tǒng)中,也必須具有這些功能;Proteus同時還支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51集成開發(fā)環(huán)境(包括Keil u Vision2、Keil u Vision3等)。</p><p>  具有強大的原理圖繪制功能。</p><p>  3.2主要調(diào)試過程 </p>&

43、lt;p>  調(diào)試過程主要有三部分:第一部分先要硬件連接調(diào)試;第二部分是軟件調(diào)試;第三部分是軟件和硬件聯(lián)調(diào),實現(xiàn)智能交通燈的控制。具體步驟為:</p><p>  第一步:在Proteus軟件庫中,查找相關(guān)元器件,并按附錄1中所示的電路圖接線,并認真檢查接線是否有誤。</p><p>  第二步:軟件測試硬件電路各部分,是否連接正確。</p><p>  第三

44、步:編寫源程序,對軟件程序進行測試和修改。</p><p>  第四部:軟硬件連調(diào),根據(jù)問題修改軟件。</p><p>  注:第二步完成后,說明硬件電路完全正確,到第四步時不需要在進行硬件檢測和修改。</p><p>  3.2.1 硬件測試 </p><p>  首先按照附錄1所示接線圖連接實際電路,認真檢查接線,確保接線正確。然后利用軟

45、件測試倒計時顯示電路部分和交通等模擬部分連接是否正確。若倒計時現(xiàn)實的數(shù)碼管,能按測試軟件要求正常顯示相應(yīng)數(shù)碼,則該部分硬件電路無誤;若六路LED發(fā)光二極管能按照P1口輸出的電平組合去亮滅,則該部分硬件電路無誤。</p><p>  3.2.2 軟件調(diào)試。</p><p>  在Keil中將附錄2中源程序輸入編程環(huán)境,并建立新的文件名,將文件名改為*.c的格式放在一個新建的文件夾里,編譯查找

46、無錯誤后,最后生成hex文件(hex文件也在這個新建的文件夾里)。</p><p><b>  3.2.3 連調(diào)</b></p><p>  點擊51單片機,將hex文件加載到protues電路里,接通電源仿真,觀察現(xiàn)象。</p><p>  3.3 調(diào)試時出現(xiàn)的問題及解決方法</p><p>  問題一:數(shù)碼管的LED

47、燈均沒有按預(yù)想的情況顯示數(shù)字,而是燈全部未被點亮。</p><p>  原因:單品機的P0口沒有接上拉電阻。(因為單片機的P0口輸出是一個集電極開路的三極管,若要想驅(qū)動數(shù)碼管,需加以上拉電阻。)</p><p>  解決方法:給單片機的P0口接上10K的上拉電阻。</p><p>  問題二:數(shù)碼管沒有顯示一個正確的0~9數(shù)字。</p><p&g

48、t;  原因:軟件和硬件使用的數(shù)碼管不一致(在程序中應(yīng)用的是六位八段共陰極的數(shù)碼管,但是在電路圖中卻用的是7SEG-MPX6-CA(六位八段共陽極的數(shù)碼管))。</p><p>  解決方法:將軟件和硬件所用的數(shù)碼管(7SEG-MPX6-CC(六位八段共陰極的數(shù)碼管))對應(yīng)一致。</p><p>  問題三:當?shù)褂嫊r正常進行時按下復(fù)位鍵,電路沒有任何變化(像預(yù)期的倒計時從45s重新開始倒計

49、時,而是繼續(xù)之前的正常的情況繼續(xù)倒計時);在按下緊急鍵后,再按下復(fù)位鍵時,電路也沒有任何變化。</p><p>  原因:復(fù)位電路的電阻R10阻值10k太大,導致當按鍵被按下時未向單片機復(fù)位端送入高電平。</p><p>  解決方法:將R1的阻值調(diào)小至1k。</p><p>  問題四:東西和南北方向的倒計時顯示是斷斷續(xù)續(xù)的(個位和十位的位碼不是同時送到的),及當

50、倒計時上顯示34s時,3和4 不是同時顯示在數(shù)碼管上的,而是3顯示完之后,4才顯示。</p><p>  原因:軟件動態(tài)顯示子程序部分四個數(shù)碼管上的延遲時間太長(delay(70)),超過了人眼所能辨別的視覺范圍1/24s。</p><p>  解決方法:將延遲時間改小為delay(1)。</p><p>  問題四:在程序進入正常運行時,南北方向紅燈倒計時45s;

51、東西方向綠燈倒計時42s,黃燈倒計時3s。但是,在東西方向上當黃燈點亮時,綠燈沒有滅。</p><p>  原因:在軟件設(shè)計時,當?shù)谝粋€狀態(tài)結(jié)束,第二個狀態(tài)開始時,在點亮第二個狀態(tài)的燈時,沒有熄滅第一個狀態(tài)的燈。</p><p>  解決方法:在進入第二個狀態(tài)時,在點亮東西方向黃燈之前先將第一個狀態(tài)東西方向的綠燈滅掉。</p><p><b>  4、結(jié)論

52、</b></p><p>  經(jīng)過了為期兩個月的的畢業(yè)設(shè)計設(shè)計我首先感覺到的是身心非常的疲憊,但我無怨無悔,因為當我查閱了大量的參考資料和得到老師和同學的幫助后我發(fā)覺學到許多在課堂上和書本上所學不到的東西?;仡櫞髮W期間的學習,在大二第二學期的《單片機C語言編程與實踐》課程中,我曾對51系列單片機有過一定的學習,而此次實踐則強化了我的這一課程理論及相關(guān)的技術(shù)操作。并且,本設(shè)計也很好的實現(xiàn)了智能交通的功能

53、,只是有一小部分還不是很完美,在中端服務(wù)部分,雖然自己的設(shè)計思路是正確的,但是由于自己的能力有限沒能很好的設(shè)計出中端的倒計時控制,只能人工控制緊急情況下車輛所要通行的時間。我心里非常的地高興,通過我這段時期內(nèi)付出辛勞的成果,也為我大學期間的學習畫上一個圓滿的句號。我相信,這對我馬上進入社會參加工作是很有幫助的。</p><p><b>  致謝</b></p><p>

54、;  在這次為期兩個月的畢業(yè)設(shè)計中,我要感謝那些幫助過我的人,特別是我的老師和我們班的同學,他們總在我遇到困難時耐心的幫我直到我搞懂。讓我能順利完成我的畢業(yè)設(shè)計。要不是他們,我將無法想象我這兩個月的生活將如何解決我遇到難題。再次向他們表示感謝。</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延時子程序-------------------------// </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>  //----------------------------------動態(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上南北方向的個位</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上東西方向的個位</p><p><b>  }</b></p><p><b>  }</b></p><p>&l

64、t;b>  }</b></p><p>  //-----------------------------東西方向紅綠燈及倒計時顯示---------------------------//</p><p>  void dong_xi(void)</p><p><b>  {</b></p><p>

65、;  for(dongxi=45;dongxi>3;dongxi--) //倒計時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--) //倒計時

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

評論

0/150

提交評論