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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 100820|回復(fù): 79
打印 上一主題 下一主題
收起左側(cè)

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

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

唐 山 學(xué) 院

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

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

系   (部) 計(jì)算機(jī)科學(xué)與技術(shù)系

班    級  

姓    名

學(xué)    號

指導(dǎo)教師  

2016 74 日至2016年 710

1

2016年 7 月8

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

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

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

內(nèi)容:

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

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

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

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

報(bào)告于系統(tǒng)驗(yàn)收答辯時(shí)交。

三、進(jìn)程安排

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

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

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

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

四、主要參考資料

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

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

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

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


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

教研室主任(簽名):

注:可以附頁


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

缺勤天數(shù)

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

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

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

總成績(100分)

提問
(答辯)
問題
情況


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

目錄

1.設(shè)計(jì)背景

2.需求分析

3.設(shè)計(jì)目的

4.設(shè)計(jì)要求

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

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

5.2硬件設(shè)計(jì)

5.3復(fù)位電路

5.4數(shù)碼管顯示

5.5紅綠燈顯示

5.6鍵盤:獨(dú)立鍵盤+中斷

5.7系統(tǒng)原理圖

6.軟件設(shè)計(jì)

              6.1總體流程

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

6.3主要程序設(shè)計(jì)

7.調(diào)試運(yùn)行

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

              7.2左右行顯示

              7.3黃燈閃爍顯示

              7.4中斷全紅燈顯示

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

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

1.設(shè)計(jì)背景

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

2.需求分析

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

3.設(shè)計(jì)目的

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

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

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

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

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

4.設(shè)計(jì)要求

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

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

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

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

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

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

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

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

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

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


5.2硬件設(shè)計(jì)

1)單片機(jī)選型:AT89C51

AT89S51單片機(jī)是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS 8位單片機(jī),片內(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公司的功能強(qiáng)大,低價(jià)AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(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 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量 2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。

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

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

引腳號第二功能

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

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

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

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

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

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

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

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

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

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

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

在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號。

   端口引腳 第二功能

   P3.0 RXD(串行輸入口)

   P3.1 TXD(串行輸出口)

   P3.2 INTO(外中斷0)

   P3.3 INT1(外中斷1)

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

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

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

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

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

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

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

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

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

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

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

AT89C51引腳分布圖如圖1-2

5.3復(fù)位電路

圖1-3

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

5.4數(shù)碼管顯示

            

圖1-3.1

5.5  紅綠燈顯示

圖1-4

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

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

5.6鍵盤:獨(dú)立鍵盤+中斷

圖1-5

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

中斷有三個(gè)功能:

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

5.7系統(tǒng)原理圖

總電路如圖1-6所示

圖1-6

6.軟件設(shè)計(jì)

6.1總體流程


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

         

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


流程控制圖

6.3主要程序設(shè)計(jì)

利用段碼位碼選址的方法,結(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);     //延時(shí)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) //時(shí)間減

  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) //時(shí)間加

  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;  //定時(shí)器工作于方式1

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

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

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

  109.   ET0=1;//開定時(shí)中斷

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

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

  112.   TR0=1;//啟動(dòng)定時(shí)                           

  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)試運(yùn)行

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

7.2左右行顯示







7.3黃燈閃爍顯示

7.4中斷全紅燈顯示

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

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

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

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

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

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

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

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

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

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

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

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

              2、添加指示箭頭



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

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





評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏18 分享淘帖 頂5 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-7-4 23:32 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:200039 發(fā)表于 2017-7-5 13:41 | 只看該作者
不錯(cuò)啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!真的挺好的
回復(fù)

使用道具 舉報(bào)

地板
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
請問一下按照上面的的程序這個(gè)怎么解決?謝謝
回復(fù)

使用道具 舉報(bào)

5#
ID:87193 發(fā)表于 2017-12-6 15:29 | 只看該作者
很詳細(xì)啊,下載了看看怎么樣
回復(fù)

使用道具 舉報(bào)

6#
ID:259701 發(fā)表于 2017-12-13 13:18 | 只看該作者
樓主能不能把原代碼發(fā)上來,在你這個(gè)基礎(chǔ)上改不好啊!
回復(fù)

使用道具 舉報(bào)

7#
ID:259701 發(fā)表于 2017-12-13 13:25 | 只看該作者
樓主可不可以把源程序共享上來,我是小白,這個(gè)程序有點(diǎn)駕馭不了
回復(fù)

使用道具 舉報(bào)

8#
ID:276690 發(fā)表于 2018-1-16 18:13 | 只看該作者
把圖紙也文件也發(fā)上來就好了
回復(fù)

使用道具 舉報(bào)

9#
ID:276932 發(fā)表于 2018-1-17 12:17 | 只看該作者
厲害了,我的天
回復(fù)

使用道具 舉報(bào)

10#
ID:286111 發(fā)表于 2018-3-3 13:41 | 只看該作者
好資料
回復(fù)

使用道具 舉報(bào)

11#
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ù)

使用道具 舉報(bào)

12#
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ù)

使用道具 舉報(bào)

13#
ID:333595 發(fā)表于 2018-5-19 12:47 | 只看該作者
nice 很給力
回復(fù)

使用道具 舉報(bào)

14#
ID:336010 發(fā)表于 2018-5-22 20:47 | 只看該作者

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

使用道具 舉報(bào)

15#
ID:336281 發(fā)表于 2018-5-23 14:19 | 只看該作者
很詳細(xì),對我很有用
回復(fù)

使用道具 舉報(bào)

16#
ID:338103 發(fā)表于 2018-5-28 10:02 | 只看該作者
不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

17#
ID:339851 發(fā)表于 2018-6-1 01:00 來自手機(jī) | 只看該作者
你好,有事找你
回復(fù)

使用道具 舉報(bào)

18#
ID:345806 發(fā)表于 2018-6-5 22:43 | 只看該作者
111.C(8): error C202: 'table': undefined identifier
回復(fù)

使用道具 舉報(bào)

19#
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ù)

使用道具 舉報(bào)

20#
ID:352837 發(fā)表于 2018-6-16 13:03 | 只看該作者
hi
你真棒
回復(fù)

使用道具 舉報(bào)

21#
ID:353719 發(fā)表于 2018-6-18 16:19 | 只看該作者
怎么下載不了
回復(fù)

使用道具 舉報(bào)

22#
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ù)

使用道具 舉報(bào)

23#
ID:340020 發(fā)表于 2018-6-20 22:04 | 只看該作者
不錯(cuò)不錯(cuò)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

24#
ID:358220 發(fā)表于 2018-6-25 09:48 | 只看該作者
大神求助!
回復(fù)

使用道具 舉報(bào)

25#
ID:358220 發(fā)表于 2018-6-25 09:49 | 只看該作者
厲害厲害!
回復(fù)

使用道具 舉報(bào)

26#
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 ...

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

使用道具 舉報(bào)

27#
ID:368258 發(fā)表于 2018-7-9 21:16 | 只看該作者
很棒啊
回復(fù)

使用道具 舉報(bào)

28#
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ù)

使用道具 舉報(bào)

29#
ID:369970 發(fā)表于 2018-7-12 12:34 | 只看該作者
Nanjolno 發(fā)表于 2018-6-26 15:48
請問這個(gè)問題解決了嗎?我也遇到了,非常著急,可以回復(fù)一下怎么解決的嗎?

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

使用道具 舉報(bào)

30#
ID:369970 發(fā)表于 2018-7-12 15:34 | 只看該作者

你能運(yùn)行?
回復(fù)

使用道具 舉報(bào)

31#
ID:385228 發(fā)表于 2018-8-11 14:20 | 只看該作者
你好,我想下載這文件,謝謝了
回復(fù)

使用道具 舉報(bào)

32#
ID:205392 發(fā)表于 2018-8-25 17:09 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

33#
ID:391085 發(fā)表于 2018-8-30 20:43 | 只看該作者
666非常好
回復(fù)

使用道具 舉報(bào)

34#
ID:399095 發(fā)表于 2018-9-20 19:38 | 只看該作者
很有參考價(jià)值 謝謝
回復(fù)

使用道具 舉報(bào)

35#
ID:400057 發(fā)表于 2018-10-9 16:28 | 只看該作者
這個(gè)里面有源程序和仿真圖嗎
回復(fù)

使用道具 舉報(bào)

36#
ID:407214 發(fā)表于 2018-10-9 20:20 | 只看該作者
好貼頂起
回復(fù)

使用道具 舉報(bào)

37#
ID:407265 發(fā)表于 2018-10-9 21:32 | 只看該作者
頂起...
回復(fù)

使用道具 舉報(bào)

38#
ID:406775 發(fā)表于 2018-10-9 21:53 來自手機(jī) | 只看該作者
強(qiáng),解決了我們初學(xué)者很多問題
回復(fù)

使用道具 舉報(bào)

39#
ID:411961 發(fā)表于 2018-10-19 16:55 | 只看該作者
兄弟,幫幫忙唄,搞出來程序沒
回復(fù)

使用道具 舉報(bào)

40#
ID:413618 發(fā)表于 2018-10-22 18:21 | 只看該作者
nice  找了了好久
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕色站 | 成年人网站免费 | 国产精品精品3d动漫 | 国产欧美一区二区三区在线看 | 久久久久久久久久久久久9999 | 嫩草懂你的影院入口 | 久久免费精品 | 国产精品久久国产精品 | 综合色在线 | 亚洲天堂一区 | 91精品国产一区二区三区香蕉 | 久久99精品久久久久久 | 夜久久| 亚洲毛片网站 | 精品久久久精品 | 亚洲综合在线视频 | 日日干干 | 久久爱综合 | 久久精品91 | 一区二区三区免费观看 | va在线| 久久国产日韩欧美 | 精品国产一区二区三区免费 | 亚洲视频免费在线观看 | 91国内精品久久 | 天天综合网天天综合色 | 精品国产网 | 99成人精品 | 亚洲免费人成在线视频观看 | 青青草在线播放 | 日韩在线视频播放 | 久久夜视频 | 欧美日韩一区二区三区不卡视频 | 精品无码久久久久久国产 | 国产精品欧美一区二区 | 91精品在线看 | 一区二区福利视频 | 午夜精 | 欧美激情综合 | 在线免费国产视频 | 黄免费观看视频 |