久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 100898|回復(fù): 79
收起左側(cè)

基于單片機的交通燈顯示系統(tǒng)課程設(shè)計報告

  [復(fù)制鏈接]
ID:216765 發(fā)表于 2017-7-4 11:22 | 顯示全部樓層 |閱讀模式

唐 山 學(xué) 院

單片機與接口技術(shù)課 程 設(shè) 計

題    目  基于單片機的交通燈顯示系統(tǒng)

系   (部) 算機科學(xué)與技術(shù)系

班    級  

姓    名

學(xué)    號

指導(dǎo)教師  

2016 74 日至2016年 710

1

2016年 7 月8

單片機與接口技術(shù)課程設(shè)計任務(wù)書

一、設(shè)計題目、內(nèi)容及要求

題目:基于單片機的籃球計分器設(shè)計

內(nèi)容:

1、設(shè)計LCD顯示籃球比分牌;
2、通過加分按鈕可以給A隊或B隊加分;
3、設(shè)計對調(diào)功能,A隊和B隊分?jǐn)?shù)互換,意味著中場交換場地;
4、顯示比賽倒計時功能;
5、創(chuàng)新內(nèi)容:如顯示第幾小節(jié)。
要求:
1、根據(jù)設(shè)計內(nèi)容,設(shè)計系統(tǒng)硬件結(jié)構(gòu),畫出系統(tǒng)流程圖。
2、應(yīng)用Keil、Proteus軟件開發(fā)應(yīng)用系統(tǒng)并仿真調(diào)試。

二、要求的設(shè)計成果(課程設(shè)計說明書、設(shè)計實物、圖紙等)

1.課程設(shè)計說明書:課程設(shè)計說明書1份,不少于2000字。說明書中要包含需求分析、硬件仿真圖、程序結(jié)構(gòu)設(shè)計等內(nèi)容。

2. 格式要求:設(shè)計說明書報告分系統(tǒng)簡介、需求分析、系統(tǒng)硬件設(shè)計、主要程序設(shè)計、系統(tǒng)的優(yōu)缺點,以及需要改進(jìn)部分。

報告于系統(tǒng)驗收答辯時交。

三、進(jìn)程安排

7.4:完成需求分析和系統(tǒng)硬件設(shè)計工作。

7.5-7.6:完成程序編寫工作。

7.7:程序調(diào)試和撰寫課程設(shè)計說明書初稿。

7.8: 提交課程設(shè)計說明書、硬件原理圖、程序及答辯。

四、主要參考資料

[1]付家才,《單片機控制工程實踐技術(shù)》,化學(xué)工業(yè)出版社,2003年

[2]胡漢才,《單片機原理及接口設(shè)計》,清華大學(xué)出版社,2002年

[3]康華光,《模擬電子技術(shù)》,高等教育出版社,2004年

[4]張毅剛,《單片機原理與應(yīng)用設(shè)計》,電子工業(yè)出版社,2008年


指導(dǎo)教師(簽名):

教研室主任(簽名):

注:可以附頁


課程設(shè)計成績評定表
出勤
情況
出勤天數(shù)

缺勤天數(shù)

出勤情況及設(shè)計過程表現(xiàn)(20分)

課設(shè)答辯(20分)

設(shè)計成果(60分)

總成績(100分)

提問
(答辯)
問題
情況


                 指導(dǎo)教師簽名:
                                  年    月    日

目錄

1.設(shè)計背景

2.需求分析

3.設(shè)計目的

4.設(shè)計要求

5.系統(tǒng)總體方案硬件設(shè)計

5.1設(shè)計思想及總體設(shè)計

5.2硬件設(shè)計

5.3復(fù)位電路

5.4數(shù)碼管顯示

5.5紅綠燈顯示

5.6鍵盤:獨立鍵盤+中斷

5.7系統(tǒng)原理圖

6.軟件設(shè)計

              6.1總體流程

6.2循環(huán)流程控制思路

6.3主要程序設(shè)計

7.調(diào)試運行

              7.1正常運行狀態(tài)

              7.2左右行顯示

              7.3黃燈閃爍顯示

              7.4中斷全紅燈顯示

8.設(shè)計心得體會

9. 系統(tǒng)的優(yōu)缺點

1.設(shè)計背景

交通在人們的日常生活中占有重要的地位,隨著人們社會活動的日益頻繁,這點更是體現(xiàn)的淋漓盡致.交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果.本系統(tǒng)采用單片機AT89C51為中心器件來設(shè)計交通控制燈控制器,系統(tǒng)實用性強、操作簡單、擴張性強.本設(shè)計就是采用單片機模擬十字路口交通燈的各種狀態(tài)顯示以及倒計時時間.
本設(shè)計系統(tǒng)由單片機I/O口擴張系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示管系統(tǒng)、緊急情況中斷系統(tǒng)、復(fù)位電路等幾大部分組成.系統(tǒng)除基本的交通燈功能外,還具有倒計時、緊急情況處理功能,較好的模擬實現(xiàn)了十字路口可能出現(xiàn)的狀況.
軟件上采用89C51編程,主要編寫了主程序,LED數(shù)碼顯示管程序,中斷程序延時程序等.經(jīng)過整機調(diào)試,實現(xiàn)了對十字路口交通燈的模擬.

2.需求分析

近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機AT89C51為中心器件來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過51芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點亮,倒計時剩3秒時黃燈閃爍警示;綠燈時間可檢測車流量并可通過雙位數(shù)碼管顯示。本系統(tǒng)實用性強、操作簡單、擴展功能強。

3.設(shè)計目的

3.1鞏固和加深對單片機原理和接口技術(shù)知識的理解;

3.2培養(yǎng)根據(jù)課題需要選學(xué)參考書籍、查閱手冊和文獻(xiàn)資料的能力;

3.3學(xué)會方案論證的比較方法,拓寬知識,初步掌握工程設(shè)計的基本方法;

3.4掌握常用儀器、儀表的正確使用方法,學(xué)會軟、硬件的設(shè)計和調(diào)試方法;

3.5能按課程設(shè)計的要求編寫課程設(shè)計報告,能正確反映設(shè)計和實驗成果,能用計算機繪制電路圖和流程圖。

4.設(shè)計要求

1)東西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒;

2)信號燈分綠燈(3種)、紅燈、黃燈,每次綠燈換紅燈時,黃燈亮3秒鐘;

3)東西干道和南北干道交替控制,每次干道綠燈交替時,有3秒鐘所有干道的交通燈都是黃燈閃爍3秒鐘,提示已經(jīng)進(jìn)入路口的車輛迅速通過;

4)其他創(chuàng)新內(nèi)容。

5.系統(tǒng)總體方案硬件設(shè)計

5.1設(shè)計思想及總體設(shè)計

1)分析目前交通路口的基本控制技術(shù)以及各種通行方案,并以此為基礎(chǔ)提出自己的交通控制的初步方案

2)確定系統(tǒng)交通控制的總體設(shè)計,包括,十字路口具體的通行禁行方案設(shè)計以及系統(tǒng)應(yīng)擁有的各項功能,在這里,本設(shè)計除了有信號燈狀態(tài)控制能實現(xiàn)基本的交通功能,還增加了倒計時顯示提示.

3)進(jìn)行智能傳感器的硬件電路、顯示電路等的設(shè)計和對各器件的選擇及連接,大體分配各個器件及模塊的基本功能要求。

4)進(jìn)行軟件系統(tǒng)的設(shè)計,對于本系統(tǒng),本人采用單片機c語言編寫,對單片機內(nèi)部結(jié)構(gòu)和工作情況做了充足的研究,了解定時器,中斷以及延時原理,總體上完成了軟件的編寫。


5.2硬件設(shè)計

1)單片機選型:AT89C51

AT89S51單片機是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS 8位單片機,片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89S51單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng) 可編程Flash,使得 AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位 I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位 定時器/計數(shù)器,一個6向量 2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。

P0:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。  在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。  在FIash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。

P1:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,過內(nèi)部上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。  FIash編程和程序校驗期間,P1接收低8位地址。

引腳號第二功能

P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出

P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)

P1.5 MOSI(在系統(tǒng)編程用)

P1.6 MISO(在系統(tǒng)編程用)

P1.7 SCK(在系統(tǒng)編程用)

P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個

TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。

在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。

在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。

P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。

P3口亦作為AT89C51特殊功能(第二功能)使用,如下表所示。

在flash編程和校驗時,P3口也接收一些控制信號。

   端口引腳 第二功能

   P3.0 RXD(串行輸入口)

   P3.1 TXD(串行輸出口)

   P3.2 INTO(外中斷0)

   P3.3 INT1(外中斷1)

   P3.4 TO(定時/計數(shù)器0)

   P3.5 T1(定時/計數(shù)器1)

   P3.6 WR(外部數(shù)據(jù)存儲器寫選通)

   P3.7 RD(外部數(shù)據(jù)存儲器讀選通)

此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。 RST——復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。

ALE/PROG——當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。

對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。

如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。

PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。

EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。

FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。

AT89C51引腳分布圖如圖1-2

1.011.jpg

5.3復(fù)位電路

1.012.jpg

圖1-3

當(dāng)8051的ALE及/PSEN兩引腳輸出高電平,RST引腳高電平到時,單片機復(fù)位。RST/VPD端的高電平,若直接由啟動瞬間產(chǎn)生,則為啟動復(fù)位,若通過按動按鈕產(chǎn)生高電平復(fù)位稱手動復(fù)位。如圖1-3所示,上電時,接通電源,電容器C相當(dāng)于瞬間短路,+5V加到了RST/VPD端,該高電平使8051全機復(fù)位。若運行過程中,需要程序從頭執(zhí)行,只需按動按鈕S,則直接把+5V加到了RST/VPD端,從而復(fù)位。顯然,該電路即可以上電復(fù)位,也可以手動復(fù)位,是常用復(fù)位電路之一。

5.4數(shù)碼管顯示

1.013.jpg              1.014.jpg

圖1-3.1

5.5  紅綠燈顯示

1.015.jpg

圖1-4

每個路口都采用了4個LED燈來顯示,分別代表紅綠(左綠)黃三種燈,來模擬路口交通的變換。如圖1-4

以南北方向舉例,正常狀況下,從30秒開始倒計時,南北方向可直行,即綠燈亮起,東西方向禁止通行,亮紅燈。當(dāng)顯示至15秒時,南北方向可直行和轉(zhuǎn)彎,即兩個綠燈亮起,東西方向禁止通行,亮紅燈。當(dāng)顯示至3秒時,通知車輛快速通過,南北黃燈閃爍,東西方向禁止通行,亮紅燈。

5.6鍵盤:獨立鍵盤+中斷

1.016.jpg 圖1-5

采用開關(guān)來控制進(jìn)入中斷,可以在路口出現(xiàn)緊急情況時,拉動開關(guān)。使紅綠燈發(fā)生相應(yīng)的改變,已處理緊急情況下車輛通行。如圖1-5所示

中斷有三個功能:

  • 全體紅燈10s(由于數(shù)碼管不夠了,沒有計數(shù)顯示),防止突發(fā)情況比如救護(hù)車需要迅速通過。
  • 時間加5s 防止高峰期某個方向路口車流嚴(yán)重負(fù)荷,增大通行時間。
  • 時間減5s 防止高峰期某個方向路口車流嚴(yán)重負(fù)荷,而另一個路口路況資源浪費,可以合理利用路況資源。

5.7系統(tǒng)原理圖

總電路如圖1-6所示

1.017.jpg

圖1-6

6.軟件設(shè)計

6.1總體流程


1、東西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒;
2、信號燈分綠燈(3種)、紅燈、黃燈,每次綠燈換紅燈時,黃燈亮3秒鐘;
3、東西干道和南北干道交替控制,每次干道綠燈交替時,有3秒鐘所有干道的交通燈都是黃燈閃爍3秒鐘,提示已經(jīng)進(jìn)入路口的車輛迅速通過;

1.018.jpg          

6.2循環(huán)流程控制思路


流程控制圖

1.019.jpg

6.3主要程序設(shè)計

利用段碼位碼選址的方法,結(jié)合查表法調(diào)用數(shù)碼管顯示函數(shù)

  1. /*********************顯示子函數(shù)**************************/

  2. void              Display()

  3.               {

  4.                             char h,l;

  5.                             h=Time_EW/10;

  6.                             l=Time_EW%10;

  7.                     P2=table[l];

  8.                             EW_LED2=0;

  9.                             Delay(2);

  10.                             EW_LED2=1;

  11.                   P2=table[h];

  12.                             EW_LED1=0;

  13.                             Delay(2);

  14.                             EW_LED1=1;



  15.                            

  16.                            

  17.                             h=Time_SN/10;

  18.                             l=Time_SN%10;

  19.                   P2=table[l];

  20.                             SN_LED2=0;

  21.                             Delay(2);

  22.                             SN_LED2=1;

  23.                   P2=table[h];

  24.                             SN_LED1=0;

  25.                             Delay(2);

  26.                             SN_LED1=1;

  27.                            



  28. 緊急中斷程序,全紅燈10s

  29. if(Special_Btton==0)              //緊急情況下,全紅燈10S

  30.      {

  31.               uchar i;

  32.               for(i=0;i<50;i++) //循環(huán)50次

  33.               {Flag_SN_Yellow=0;

  34.             Flag_EW_Yellow=0;

  35.               P1=0xEE;

  36.               Delay(200);     //延時200ms

  37.             

  38.               }

  39.       }            

  40. }

  41. /**********************外部0中斷服務(wù)程序************************/



  42. void              EXINT0(void)interrupt 0 using 1

  43. {

  44.    EX0=0; //關(guān)中斷

  45.    if(Reduces_Button==0) //時間減

  46.        {

  47.          EW1-=5;                  

  48.          SN1-=5;

  49.          if(EW1<=25)

  50.            {

  51.                    EW1=25;

  52.              SN1=15;

  53.            }

  54.         }

  55.    EX0=1;//開中斷

  56. }

  57. /**********************外部1中斷服務(wù)程序************************/



  58. void              EXINT1(void)interrupt 2 using 1

  59. {

  60.    EX1=0; //關(guān)中斷

  61.    if(Add_Button==0) //時間加

  62.      {

  63.        EW1+=5;                    

  64.        SN1+=5;

  65.        if(EW1>=45)

  66.               {

  67.                 EW1=45;

  68.                 SN1=35;

  69.         }   

  70.      }                    

  71.                     

  72.    EX1=1;//開中斷      

  73. }      

  74. /**********************T0中斷服務(wù)程序*******************/

  75. void timer0(void)interrupt 1 using 1

  76. {

  77.    static uchar count;

  78.    TH0=(65536-50000)/256;

  79.    TL0=(65536-50000)%256;

  80.    count++;

  81.    if(count==10)

  82.      {

  83.        if(Flag_SN_Yellow==1) //測試南北黃燈標(biāo)志位

  84.         {SN_Yellow=~SN_Yellow;}

  85.        if(Flag_EW_Yellow==1)  //測試東西黃燈標(biāo)志位

  86.         {EW_Yellow=~EW_Yellow;}

  87.      }



  88.      if(count==20)

  89.      {

  90.        Time_EW--;

  91.        Time_SN--;

  92.        if(Flag_SN_Yellow==1)//測試南北黃燈標(biāo)志位

  93.         {SN_Yellow=~SN_Yellow;}

  94.        if(Flag_EW_Yellow==1)//測試東西黃燈標(biāo)志位

  95.         {EW_Yellow=~EW_Yellow;}

  96.        count=0;

  97.      }            

  98. }

  99. 主程序,利用中斷調(diào)用,將不同的交通燈情況列成s1-s7情況

  100. /*********************主程序開始**********************/

  101. void main(void)

  102. {

  103.   IT0=1;      //INT0負(fù)跳變觸發(fā)

  104.   IT1=1;      //INT1負(fù)跳變觸發(fā)

  105.   TMOD=0x01;  //定時器工作于方式1

  106.   TH0=(65536-50000)/256;//定時器賦初值50ms

  107.   TL0=(65536-50000)%256;

  108.   EA=1; //CPU開中斷總允許

  109.   ET0=1;//開定時中斷

  110.   EX0=1;//開外部INTO中斷

  111.   EX1=1;//開外部INT1中斷

  112.   TR0=1;//啟動定時                           

  113.   Flag_SN_Yellow=0;                 //SN關(guān)黃燈顯示信號

  114.   Flag_EW_Yellow=0;                 //EW關(guān)黃燈顯示信號

  115.   Time_EW=TZ;            

  116.   Time_SN=TZ;

  117.   P1=0xFF;

  118.   while(Time_SN>=0)

  119.    {

  120.      EW_Red=0;              //全紅燈3S   0xEE

  121.      SN_Red=0;

  122.      Display();

  123.    }                                         

  124.    while(1)               

  125.     {   /*******S0狀態(tài)**********/

  126.          Flag_EW_Yellow=0; //EW關(guān)黃燈顯示信號

  127.               Time_EW=EW1;            

  128.               Time_SN=SN1;



  129.                   while(Time_SN>=0)

  130.                    {P1=S[0];              //SN通行,EW紅燈       0xBE

  131.                     Display();}







  132.        /*******S1狀態(tài)**********/

  133.               /*P1=0xFF;

  134.               while(Time_SN>=0)

  135.                   {Flag_SN_Yellow=1;              //SN開黃燈信號位

  136.                    EW_Red=0;      //SN黃燈亮,等待左拐信號,EW紅燈   0xDE

  137.                    Display();}





  138.               /*******S2狀態(tài)**********/

  139.               Flag_SN_Yellow=0; //SN關(guān)黃燈顯示信號

  140.               Time_SN=SNL;

  141.               while(Time_SN>=3)

  142.                  {P1=S[2];//SN左拐綠燈和直行綠燈亮,EW紅燈       0x3E

  143.                   Display();}







  144.               /*******S3狀態(tài)**********/

  145.               P1=0xFF;

  146.               while(Time_SN>=0)

  147.                  {Flag_SN_Yellow=1;//SN開黃燈信號位

  148.                   EW_Red=0;        //SN黃燈亮,等待停止信號,EW紅燈    0xDE

  149.                   Display();}





  150.               /***********賦值**********/

  151.               EW=EW1;

  152.               SN=SN1;

  153.               EWL=EWL1;

  154.               SNL=SNL1;





  155.               /*******S4狀態(tài)**********/

  156.               Flag_SN_Yellow=0;  //SN關(guān)黃燈顯示信號

  157.               Time_EW=SN;

  158.               Time_SN=EW;

  159.                 while(Time_EW>=0)

  160.             {P1=S[4];              //EW通行,SN紅燈    0xEB

  161.                    Display();}

  162.                                                       

  163.               /*******S5狀態(tài)**********/

  164.               /*P1=0XFF;

  165.               while(Time_EW>=0)

  166.                 {Flag_EW_Yellow=1;//EW開黃燈信號位

  167.                  SN_Red=0;//EW黃燈亮,等待左拐信號,SN紅燈    0xED

  168.                  Display();}

  169.                                              

  170.               /*******S6狀態(tài)**********/

  171.               Flag_EW_Yellow=0;//EW關(guān)黃燈顯示信號           0xE3

  172.               Time_EW=EWL;

  173.               while(Time_EW>=3)

  174.                  {P1=S[6];//EW左拐綠燈亮,SN紅燈

  175.                   Display();}

  176.                                                       



  177.               /*******S7狀態(tài)**********/

  178.               P1=0xFF;

  179.               while(Time_EW>=0)

  180.                 {Flag_EW_Yellow=1; //EN開黃燈信號位

  181.                  SN_Red=0;//EW黃燈亮,等待停止信號,SN紅燈    0xE7            

  182.                  Display();}

  183.                                          

  184.               /***********賦值**********/

  185.               EW=EW1;

  186.               SN=SN1;

  187.               EWL=EWL1;

  188.               SNL=SNL1;

  189.    }

  190. }
復(fù)制代碼

            

7.調(diào)試運行

7.1正常運行狀態(tài)

1.020.jpg

7.2左右行顯示

1.021.jpg







7.3黃燈閃爍顯示

1.022.jpg

7.4中斷全紅燈顯示

1.023.jpg

8.設(shè)計心得體會

一周的單片機課程設(shè)計很快就結(jié)束了,在這一周當(dāng)中,雖然開始有點困難,但是經(jīng)過一次次的失敗,合理地進(jìn)行設(shè)計安排,再加上老師的耐心指導(dǎo),終于順利地完成了本次單片機課程設(shè)計,同時也學(xué)到了很多東西。在本次課程設(shè)計中,通過動手實踐操作,進(jìn)一步學(xué)習(xí)和掌握了單片機原理的有關(guān)知識,特別是程序的編程方面,加深了對單片機原理及應(yīng)用技術(shù)的認(rèn)識,進(jìn)一步鞏固了對單片機知識的理解,掌握簡單單片機應(yīng)用系統(tǒng)的設(shè)計、制作、調(diào)試的方法。在設(shè)計時根據(jù)課題要求,復(fù)習(xí)相關(guān)的知識,查詢相關(guān)的資料。根據(jù)實驗條件,找到適合的方案,找到需要的元器件及工具,進(jìn)行實驗。

這次的單片機課程設(shè)計重點是通過實踐操作和理論相結(jié)合,提高動手實踐能力,提高科學(xué)的思維能力,更在一周的時間了解了更多的有關(guān)單片機的知識,使知識更加豐富,使自己更加充實。學(xué)會靜下心來自己學(xué)習(xí),相信這對以后在社會上工作和學(xué)習(xí)會有很多幫助,讓我們能更好的進(jìn)入工作狀態(tài)。最重要的是,這次課程設(shè)計也增加了我們對問題的研究和探討,對以后的學(xué)習(xí)中會有更多的幫助。

單片機為我們的主要專業(yè)課之一,但要做好一個課程設(shè)計,就必須做到:在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常德,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計結(jié)束了,但是從中學(xué)到的知識會讓我們受益終身。

在完成單片機課程設(shè)計后,我發(fā)現(xiàn)我還有許多不足,所學(xué)到的知識還遠(yuǎn)遠(yuǎn)不夠,以至于還有一些功能不能被動完成。但通過學(xué)習(xí)這一次實踐,增強了動手能力,提高和鞏固了單片機方面的知識,特別是軟件方面。讓我們認(rèn)識到把理論應(yīng)用到實踐中去是多么重要。

9.系統(tǒng)的優(yōu)缺點

系統(tǒng)功能:1、程序初始化,所有燈都是紅燈的,3S

2、先南北通,東西不通,時間30S,其中30S是直行(27S綠+3S黃),15S左轉(zhuǎn)(12S綠+3秒黃)

          3、時間加減按鈕一次是5S,緊急情況是10S(數(shù)碼管不足,沒顯示)

系統(tǒng)優(yōu)點:1、系統(tǒng)能夠比較準(zhǔn)確的實現(xiàn)十字路口交通燈的基本功能,并且擁有一種緊急情況處理系統(tǒng)(由中斷系統(tǒng)實現(xiàn)),當(dāng)南北方向綠燈亮?xí)r,南北方向車輛通行,同時倒計時30秒;當(dāng)?shù)褂嫊r到15秒時,指示轉(zhuǎn)向的路燈同時點亮;當(dāng)?shù)褂嫊r即將結(jié)束時,黃燈閃爍3秒,之后東西方向綠燈點亮,與南北方向運行方式相同。緊急情況是考慮到路口發(fā)生車禍或有緊急車輛通行時,按下按鈕后東西南北方向紅燈全部亮起,保持10秒后恢復(fù)正常運行。能夠基本符合老師給出的題目要求。

系統(tǒng)缺點:1、系統(tǒng)實用性較差,與實際情況相關(guān)性教差。首先,指示轉(zhuǎn)向的紅綠燈應(yīng)用相應(yīng)箭頭表示,可以用點陣實現(xiàn)。              其次,緊急情況不符合實際要求,當(dāng)車禍或緊急車輛通行時,應(yīng)先疏通當(dāng)時路口車輛,之后設(shè)置路障或恢復(fù)通行,靈活性應(yīng)較強,目前只通過交通燈的不容易實現(xiàn)。在之后的學(xué)習(xí)中應(yīng)將該題目中的缺點逐漸完善并創(chuàng)新,使其更加人性化。

改進(jìn):     1、針對應(yīng)急情況,要實際考慮應(yīng)急情況,把緊急轉(zhuǎn)換通行車道,變換成一紅一綠,不能全紅。

              2、添加指示箭頭



完整論文下載(word格式 可編輯):

實訓(xùn)報告模板.doc (475 KB, 下載次數(shù): 477)





評分

參與人數(shù) 3黑幣 +60 收起 理由
阿玲玲玲 + 5 絕世好帖!
137435504 + 5 nice
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2017-7-4 23:32 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

ID:200039 發(fā)表于 2017-7-5 13:41 | 顯示全部樓層
不錯啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!真的挺好的
回復(fù)

使用道具 舉報

ID:258074 發(fā)表于 2017-12-6 10:41 | 顯示全部樓層
412.C(13): error C202: 'Time_EW': undefined identifier
412.C(15): error C202: 'Time_EW': undefined identifier
412.C(19): error C202: 'EW_LED2': undefined identifier
請問一下按照上面的的程序這個怎么解決?謝謝
回復(fù)

使用道具 舉報

ID:87193 發(fā)表于 2017-12-6 15:29 | 顯示全部樓層
很詳細(xì)啊,下載了看看怎么樣
回復(fù)

使用道具 舉報

ID:259701 發(fā)表于 2017-12-13 13:18 | 顯示全部樓層
樓主能不能把原代碼發(fā)上來,在你這個基礎(chǔ)上改不好啊!
回復(fù)

使用道具 舉報

ID:259701 發(fā)表于 2017-12-13 13:25 | 顯示全部樓層
樓主可不可以把源程序共享上來,我是小白,這個程序有點駕馭不了
回復(fù)

使用道具 舉報

ID:276690 發(fā)表于 2018-1-16 18:13 | 顯示全部樓層
把圖紙也文件也發(fā)上來就好了
回復(fù)

使用道具 舉報

ID:276932 發(fā)表于 2018-1-17 12:17 | 顯示全部樓層
厲害了,我的天
回復(fù)

使用道具 舉報

ID:286111 發(fā)表于 2018-3-3 13:41 | 顯示全部樓層
好資料
回復(fù)

使用道具 舉報

ID:288294 發(fā)表于 2018-3-7 08:40 | 顯示全部樓層
hj1120 發(fā)表于 2017-12-6 10:41
412.C(13): error C202: 'Time_EW': undefined identifier
412.C(15): error C202: 'Time_EW': undefined  ...

請問解決了嗎
回復(fù)

使用道具 舉報

ID:308262 發(fā)表于 2018-5-4 09:41 | 顯示全部樓層
HELLO.C(5): error C202: 'Time_EW': undefined identifier
HELLO.C(6): error C202: 'Time_EW': undefined identifier
HELLO.C(7): error C202: 'P2': undefined identifier
HELLO.C(8): error C202: 'EW_LED2': undefined identifier
HELLO.C - 4 Error(s), 0 Warning(s).
求解決啊 大神們
回復(fù)

使用道具 舉報

ID:333595 發(fā)表于 2018-5-19 12:47 | 顯示全部樓層
nice 很給力
回復(fù)

使用道具 舉報

ID:336010 發(fā)表于 2018-5-22 20:47 | 顯示全部樓層

兄弟,幫幫忙唄,搞出來程序沒
回復(fù)

使用道具 舉報

ID:336281 發(fā)表于 2018-5-23 14:19 | 顯示全部樓層
很詳細(xì),對我很有用
回復(fù)

使用道具 舉報

ID:338103 發(fā)表于 2018-5-28 10:02 | 顯示全部樓層
不錯不錯
回復(fù)

使用道具 舉報

ID:339851 發(fā)表于 2018-6-1 01:00 來自手機 | 顯示全部樓層
你好,有事找你
回復(fù)

使用道具 舉報

ID:345806 發(fā)表于 2018-6-5 22:43 | 顯示全部樓層
111.C(8): error C202: 'table': undefined identifier
回復(fù)

使用道具 舉報

ID:349163 發(fā)表于 2018-6-11 09:13 | 顯示全部樓層
交通燈.C(8): error C202: 'Time_EW': undefined identifier 交通燈.C(10): error C202: 'Time_EW': undefined identifier 交通燈.C(12): error C202: 'P2': undefined identifier 交通燈.C(14): error C202: 'EW_LED2': undefined identifier
回復(fù)

使用道具 舉報

ID:352837 發(fā)表于 2018-6-16 13:03 | 顯示全部樓層
hi
你真棒
回復(fù)

使用道具 舉報

ID:353719 發(fā)表于 2018-6-18 16:19 | 顯示全部樓層
怎么下載不了
回復(fù)

使用道具 舉報

ID:353746 發(fā)表于 2018-6-19 00:31 | 顯示全部樓層
Build target 'Target 1'
compiling 交通信號燈.c...
交通信號燈.C(9): error C202: 'Time_EW': undefined identifier
交通信號燈.C(11): error C202: 'Time_EW': undefined identifier
交通信號燈.C(13): error C202: 'P2': undefined identifier
交通信號燈.C(15): error C202: 'EW_LED2': undefined identifier
Target not created

大神有在嗎?求解
回復(fù)

使用道具 舉報

ID:340020 發(fā)表于 2018-6-20 22:04 | 顯示全部樓層
不錯不錯!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報

ID:358220 發(fā)表于 2018-6-25 09:48 | 顯示全部樓層
大神求助!
回復(fù)

使用道具 舉報

ID:358220 發(fā)表于 2018-6-25 09:49 | 顯示全部樓層
厲害厲害!
回復(fù)

使用道具 舉報

ID:358220 發(fā)表于 2018-6-26 15:48 | 顯示全部樓層
Warrior10 發(fā)表于 2018-5-4 09:41
HELLO.C(5): error C202: 'Time_EW': undefined identifier
HELLO.C(6): error C202: 'Time_EW': undefine ...

請問這個問題解決了嗎?我也遇到了,非常著急,可以回復(fù)一下怎么解決的嗎?
回復(fù)

使用道具 舉報

ID:368258 發(fā)表于 2018-7-9 21:16 | 顯示全部樓層
很棒啊
回復(fù)

使用道具 舉報

ID:369970 發(fā)表于 2018-7-12 12:31 | 顯示全部樓層
LED1.c(9): error C202: 'table': undefined identifier
LED1.c(10): error C202: 'EW_LED2': undefined identifier
請問怎么解決
回復(fù)

使用道具 舉報

ID:369970 發(fā)表于 2018-7-12 12:34 | 顯示全部樓層
Nanjolno 發(fā)表于 2018-6-26 15:48
請問這個問題解決了嗎?我也遇到了,非常著急,可以回復(fù)一下怎么解決的嗎?

請問你解決了沒有?
回復(fù)

使用道具 舉報

ID:369970 發(fā)表于 2018-7-12 15:34 | 顯示全部樓層

你能運行?
回復(fù)

使用道具 舉報

ID:385228 發(fā)表于 2018-8-11 14:20 | 顯示全部樓層
你好,我想下載這文件,謝謝了
回復(fù)

使用道具 舉報

ID:205392 發(fā)表于 2018-8-25 17:09 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

ID:391085 發(fā)表于 2018-8-30 20:43 | 顯示全部樓層
666非常好
回復(fù)

使用道具 舉報

ID:399095 發(fā)表于 2018-9-20 19:38 | 顯示全部樓層
很有參考價值 謝謝
回復(fù)

使用道具 舉報

ID:400057 發(fā)表于 2018-10-9 16:28 | 顯示全部樓層
這個里面有源程序和仿真圖嗎
回復(fù)

使用道具 舉報

ID:407214 發(fā)表于 2018-10-9 20:20 | 顯示全部樓層
好貼頂起
回復(fù)

使用道具 舉報

ID:407265 發(fā)表于 2018-10-9 21:32 | 顯示全部樓層
頂起...
回復(fù)

使用道具 舉報

ID:406775 發(fā)表于 2018-10-9 21:53 來自手機 | 顯示全部樓層
強,解決了我們初學(xué)者很多問題
回復(fù)

使用道具 舉報

ID:411961 發(fā)表于 2018-10-19 16:55 | 顯示全部樓層
兄弟,幫幫忙唄,搞出來程序沒
回復(fù)

使用道具 舉報

ID:413618 發(fā)表于 2018-10-22 18:21 | 顯示全部樓層
nice  找了了好久
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区三区四区 | 亚洲精品乱码久久久久久黑人 | 成人在线免费观看视频 | 国产精品久久久久久久久免费丝袜 | 久久噜噜噜精品国产亚洲综合 | 欧美日韩在线观看视频网站 | 一区二区久久电影 | 国产视频精品在线观看 | 四虎免费视频 | 免费污视频 | 国产成人在线看 | 日韩毛片免费看 | 日韩三级免费观看 | 欧美一区二区三区四区五区无卡码 | 老牛嫩草一区二区三区av | 成人精品免费视频 | 国产综合精品一区二区三区 | 91玖玖 | 91极品尤物在线播放国产 | 性视频网 | 成人欧美一区二区三区黑人孕妇 | 精品1区2区 | 日本午夜一区 | www.国产| 99re6在线视频精品免费 | 综合色婷婷 | 免费成人av | 国产久 | 久久精品av麻豆的观看方式 | 国产精品呻吟久久av凹凸 | 亚洲欧美日韩精品久久亚洲区 | 精品久久久久久久久久久久久 | 91久色| 国产九九九九 | 啪啪免费网| 久久视频精品 | 久久久久国产一区二区三区 | 日韩av成人在线 | aaaaaaa片毛片免费观看 | 欧美一区二区三区在线观看 | 国产午夜精品一区二区三区 |