版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 1 引言</b></p><p><b> 1.1 設(shè)計思路</b></p><p> 本次設(shè)計的題目是智能路燈控制系統(tǒng)的設(shè)計。要求實現(xiàn)以路燈為控制對象,完成軟件和硬件的設(shè)計,以手動和行人控制兩種方式實現(xiàn)路燈的亮滅功能。其中硬件電路部分主要包括以下部分:單片機最小系統(tǒng)、路燈控制電路部分、行人檢測電路部分。<
2、/p><p><b> 工作原理簡圖如下:</b></p><p> 本系統(tǒng)需要如下電路元器件,其中電路元器件及相關(guān)參數(shù)如下:</p><p> 1.AT89C52實驗板一塊;</p><p> 2.單片機最小系統(tǒng)所需的12M晶振一個;</p><p> 3.路燈控制電路部分所需的LED燈八
3、個,470歐姆電阻八個,單刀單置開關(guān)兩個;</p><p> 4.行人檢測電路所需的2K電阻八個,聲音傳感器八個;</p><p> 5.光敏傳感器一個;</p><p> 6.+5V直流電源一個。</p><p><b> 系統(tǒng)總框圖如下:</b></p><p> Proteus軟件
4、介紹:</p><p> 英國Labcenter公司推出的Proteus軟件是一款極好的單片機應(yīng)用開發(fā)平臺,它以其特有的虛擬仿真技術(shù)很好地解決了單片機及其外圍電路的設(shè)計和協(xié)同仿真問題,可以在沒有單片機實際硬件的條件下,利用PC以虛擬仿真方式實現(xiàn)單片機系統(tǒng)的軟、硬件同步仿真調(diào)試,使單片機應(yīng)用系統(tǒng)設(shè)計變得簡單容易。Proteus軟件涵蓋了PIC、AVR、MCS8051、68HC11、ARM等微處理器模型,以及多種常
5、用電子元器件,包括74系列、CMOS 4000系列集成電路、A/D和D/A轉(zhuǎn)換器、鍵盤、LCD顯示器、LED顯示器,還提供示波器、邏輯分析儀、通信終端、電壓/電流表等各種虛擬儀表,這些都可以直接用于仿真設(shè)計,極大地提高了設(shè)計效率和設(shè)計水平[1]。</p><p> Proteus軟件已有20多年的歷史,在國外應(yīng)用較為普遍,尤其在教育界的口碑極佳。近年來Proteus軟件被引入國內(nèi),在多所高等工科院校中得到成功應(yīng)
6、用。在單片機教學(xué)中采用Proteus軟件,使單片機的學(xué)習過程變得直觀形象,可以直接在基于原理圖的虛擬模型上進行編程,并實現(xiàn)源碼級的程序仿真調(diào)試,如有顯示及輸出,還能看到程序運行后的輸出效果,配合各種虛擬儀表來展現(xiàn)整個單片機系統(tǒng)的運行過程,很好地解決了長期以來困擾單片機教學(xué)過程中軟件和硬件無法很好結(jié)合的難題。</p><p> Proteus軟件已有20多年的歷史,在國外應(yīng)用較為普遍,尤其在教育界的口碑極佳。近年
7、來Proteus軟件被引入國內(nèi),在多所高等工科院校中得到成功應(yīng)用。在單片機教學(xué)中采用Proteus軟件,使單片機的學(xué)習過程變得直觀形象,可以直接在基于原理圖的虛擬模型上進行編程,并實現(xiàn)源碼級的程序仿真調(diào)試,如有顯示及輸出,還能看到程序運行后的輸出效果,配合各種虛擬儀表來展現(xiàn)整個單片機系統(tǒng)的運行過程,很好地解決了長期以來困擾單片機教學(xué)過程中軟件和硬件無法很好結(jié)合的難題。在Proteus軟件平臺上學(xué)習單片機知識,比以往單純學(xué)習書本知識更易于
8、接受,以原理圖虛擬模型進行程序仿真調(diào)試,更易于提高單片機編程能力,還可以通過繪制和修改原理電路圖增加很多實踐經(jīng)驗[2]。</p><p> Keil C51軟件介紹:</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯
9、器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會有很好的效果。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全W
10、indows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 C51工具包的整體結(jié)構(gòu),其中uVision與Ishell分別是C51 for Windows和fo</p><p> 使用獨立的Keil仿真器時,注意事項
11、:</p><p> * 仿真器標配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標系統(tǒng)。 * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統(tǒng)
12、中使用[4]。</p><p><b> 2 最小系統(tǒng)</b></p><p> 2.1 硬件接線圖</p><p> 圖2-1 系統(tǒng)硬件接線圖</p><p> 最小系統(tǒng)組成:電源電路、晶振電路、復(fù)位電路、單片機</p><p> 2.2 電路及元件介紹 </p>&
13、lt;p> 晶振電路:單片機內(nèi)部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。其中XYAL1接外部晶體的一個引腳,在單片機內(nèi)部,它是一個反向放大器的輸入端。若采用外部振蕩器,該引腳接收振蕩器的信號,即八次信號直接接到內(nèi)部時鐘發(fā)生器的輸入端;XTAL2節(jié)外部晶體的另一端,在單片機內(nèi)部接到反向放大器的輸入端,當采用外接晶體振蕩器時,此引腳可以不接。</p><p> 復(fù)位
14、電路:復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的RESET鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過外部電容充電來實現(xiàn)單片機自動復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復(fù)位操作。<
15、;/p><p><b> AT89C52</b></p><p> AT89C52單片機:AT89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-52指令集合輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C
16、52是一種高效微控器,為很多嵌入式控制系統(tǒng)提供了一種靈活性且廉價的方案[5]。</p><p> 單片機各引腳功能說明:</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每
17、腳可吸收8TTL門流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行。校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外
18、部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進
19、行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流
20、(ILL)這是由于上拉的緣故。P3口也可作為AT89C52的一些特殊功能口,P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。</p><p> /PSEN:外部
21、程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間選擇外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p>&
22、lt;p> XTAL2:來自反向振蕩器的輸出。</p><p><b> 3 路燈控制</b></p><p> 3.1電路設(shè)計原理圖及說明</p><p> 圖3-1 路燈控制電路接線圖</p><p> 此部分由單片機、LED顯示燈、電阻(470)組成</p><p> 連
23、接LED顯示燈時,注意其極性及連接方式,連接方式包括共陽極連接和共陰極連接兩種方法,而在本電路中要采用共陽極連接的方法。連接單片機時,要注意將LED顯示燈與P2口的連接方式,即按照順序依次從P2.0~P2.7一一對應(yīng)連接。</p><p> 在進行路燈控制程序設(shè)計的時候,主要考慮傳感器的獲取信號,在設(shè)計初期,采用高電平控制LED燈,結(jié)果,燈的亮度很低,發(fā)現(xiàn),單片機高電平帶負載能力很弱,于是,采用低電平控制LED
24、路燈。</p><p><b> 4 行人檢測</b></p><p> 4.1電路設(shè)計原理圖及說明</p><p> 圖4-1 行人檢測電路硬件接線圖</p><p> 此部分由單片機、按鈕、電阻(2K)組成。</p><p> 在設(shè)計的時候,主要是用高電平來模擬聲音傳感器的檢測信
25、號,當有人通過為低電平,無人通過為高電平。在開始時單片機就初始狀態(tài)P1口即為高電平,模擬情況下接了8個單刀開關(guān)。在實際的電路中根本沒有電源給傳感器供電,為了提高電源給傳感器,此處提供了上拉電源。</p><p><b> 5 手動控制 </b></p><p> 5.1電路設(shè)計原理圖及說明</p><p> 5-1 手動控制部分<
26、;/p><p> 通過手動部分可以處理緊急情況,讓所有燈全亮。</p><p><b> 6 智能路燈</b></p><p> 6.1電路設(shè)計原理圖及說明</p><p><b> 功能的實現(xiàn):</b></p><p> 當程序啟動后,單片機處于設(shè)置的原始狀態(tài);所以
27、燈全關(guān),所以打開手動控制開關(guān)處于關(guān)燈狀態(tài) 。此時系統(tǒng)開始正常工作。如果有行人進入智能路燈面前,聲音傳感器檢測到信號,并以電壓的形式把信號送給單片機,單片機根據(jù)傳感器送來的信號傳感器的布置,點亮相應(yīng)的傳感器所處的位置LED路燈,當行人通過這個路燈后,達到下一個路燈時,上一個路燈熄滅。所處位置處和所處位置下一個燈亮。從而實現(xiàn)自動控制,達到節(jié)能的效果。當人通過最后一個路燈后,最后一個燈熄滅。在緊急的情況下,所有的路燈都要打開,此時通過手動開關(guān)
28、打開路燈,緊急情況過后,關(guān)閉所以路燈。系統(tǒng)恢復(fù)正常。</p><p><b> 7 流程圖</b></p><p><b> 7.1主流程圖</b></p><p> 7.2 緊急情況流程圖</p><p><b> 功能的實現(xiàn):</b></p><
29、;p> 在緊急的情況下,所有的路燈都要打開,此時通過手動開關(guān)打開路燈,緊急情況過后,關(guān)閉所以路燈。系統(tǒng)恢復(fù)正常。</p><p><b> 8 軟件仿真</b></p><p> 8.1 軟件仿真截圖</p><p> 圖8-1 行人出現(xiàn),到達D1路燈下</p><p> 圖8-2 行人到達D2路燈下&l
30、t;/p><p> 圖8-3 行人到達D3路燈下</p><p> 圖8-4 緊急情況下手動全關(guān)</p><p> 圖8-5 緊急情況下手動全開</p><p> 8.2 軟件仿真結(jié)果分析</p><p> 通過PROREUS仿真測試,本系統(tǒng)具有“隨需隨控”,天黑時只有路上有行人或者車輛通過時路燈才點亮,且可根據(jù)
31、行人和車輛通過的聲音智能地打開前方一盞燈,同時熄滅經(jīng)過路段的路燈。同時具有緊急模式,可手動全開所有路燈和全部關(guān)閉所有路燈,基本符合本次設(shè)計要求。</p><p><b> 9 設(shè)計總結(jié)</b></p><p> 紙上學(xué)來終覺淺,絕知此事要躬行。古人說的話非常有道理,經(jīng)過了一個學(xué)期的單片機理論課程學(xué)習,感覺自己對AT89C52系列單片機已經(jīng)了然于心。直到開始著手做課
32、程設(shè)計時,才感到自己知識是多么的匱乏,不管是理論知識還是實踐知識??墒?,我并不會畏懼眼前的困難。從一開始對PROTEUS和KEIL這兩個軟件的一無所知,到后來的熟練運用,只有我自己知道其中付出了多大的努力。付出總是有回報的,最后終于完成了本次的課程設(shè)計。雖然課程設(shè)計到此結(jié)束了,但我前進的腳步不會因此而停止,我會繼續(xù)學(xué)習AT89C52及其他系列單片機。</p><p><b> 附錄一</b>
33、;</p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit SWN=P0^0;</p><p> sbit SWOFF=P3^2
34、;</p><p> sbit SWON=P3^3;</p><p> sbit p1_0=P1^0;</p><p> sbit p1_1=P1^1;</p><p> sbit p1_2=P1^2;</p><p> sbit p1_3=P1^3;</p><p> sbit p
35、1_4=P1^4;</p><p> sbit p1_5=P1^5;</p><p> sbit p1_6=P1^6;</p><p> sbit p1_7=P1^7;</p><p> sbit p2_0=P2^0;</p><p> sbit p2_1=P2^1;</p><p>
36、 sbit p2_2=P2^2;</p><p> sbit p2_3=P2^3;</p><p> sbit p2_4=P2^4;</p><p> sbit p2_5=P2^5;</p><p> sbit p2_6=P2^6;</p><p> sbit p2_7=P2^7;</p>&
37、lt;p> int main()</p><p><b> { </b></p><p> if(SWOFF==0) //手動全部關(guān)閉路燈</p><p> { P2=0xff;} //路燈全關(guān)</p><p> if(SWON==0) //手動全部打開路燈</p><p
38、> {P2=0;} //路燈全開</p><p> if(SWOFF==1&&SWON==1&&SWN==1) //夜間時段</p><p><b> {</b></p><p> if(p1_0==0)</p><p> { p2_0=0;}</p&
39、gt;<p> if(p1_0==1)</p><p> { p2_0=1;}</p><p> if(p1_1==0)</p><p> { p2_1=0;}</p><p> if(p1_1==1)</p><p> { p2_1=1;}</p><p>
40、if(p1_2==0)</p><p> { p2_2=0;}</p><p> if(p1_2==1)</p><p> { p2_2=1;}</p><p> if(p1_3==0)</p><p> { p2_3=0;}</p><p> if(p1_3==1)</
41、p><p> { p2_3=1;}</p><p> if(p1_4==0)</p><p> { p2_4=0;}</p><p> if(p1_4==1)</p><p> { p2_4=1;}</p><p> if(p1_5==0)</p><p>
42、 { p2_5=0;}</p><p> if(p1_5==1)</p><p> { p2_5=1;}</p><p> if(p1_6==0)</p><p> { p2_6=0;}</p><p> if(p1_6==1)</p><p> { p2_6=1;}<
43、;/p><p> if(p1_7==0)</p><p> { p2_7=0;}</p><p> if(p1_7==1)</p><p> { p2_7=1;}</p><p><b> }</b></p><p><b> }</b>&
44、lt;/p><p><b> 參考文獻</b></p><p> [1]孫涵芳.MCS-51/96系列 單片機原理及應(yīng)用(修訂版).北京航空航天大學(xué)出版社.1994 </p><p> [2]李朝青.單片機原理及接口技術(shù)(第3版).北京航空航天大學(xué)出版社.2005</p><p> [3]王曙霞.單片機實驗與實訓(xùn)指導(dǎo)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機控制課程設(shè)計---達林算法計算機控制系統(tǒng)設(shè)計
- 計算機控制課程設(shè)計---水位控制系統(tǒng)
- 計算機控制系統(tǒng)課程設(shè)計報告
- 計算機控制系統(tǒng)課程設(shè)計報告
- 計算機控制系統(tǒng)課程設(shè)計--最小拍控制設(shè)計
- 計算機控制系統(tǒng)課程設(shè)計--- 最少拍控制系統(tǒng)設(shè)計
- 計算機控制系統(tǒng)最小拍控制課程設(shè)計
- 計算機控制課程設(shè)計--啤酒發(fā)酵計算機溫度控制系統(tǒng)設(shè)計
- 溫度控制系統(tǒng)計算機控制課程設(shè)計
- 計算機控制系統(tǒng)、過程控制系統(tǒng)課程設(shè)計
- 溫度控制系統(tǒng)設(shè)計-計算機控制技術(shù)課程設(shè)計
- 溫度控制系統(tǒng)設(shè)計——計算機控制技術(shù)課程設(shè)計
- 計算機控制課程設(shè)計
- 計算機控制系統(tǒng)課程設(shè)計--直流伺服電機控制系統(tǒng)
- 計算機控制課程設(shè)計報告---數(shù)字pid控制系統(tǒng)設(shè)計
- 計算機控制技術(shù)課程設(shè)計-溫度控制系統(tǒng)設(shè)計
- 計算機控制_課程設(shè)計-
- 計算機控制課程設(shè)計(溫度控制系統(tǒng)的設(shè)計與實現(xiàn))
- 計算機控制系統(tǒng)課程設(shè)計---多點溫控采暖控制系統(tǒng)
- 計算機控制系統(tǒng)課程設(shè)計--液位控制監(jiān)控系統(tǒng)
評論
0/150
提交評論