單片機的電梯控制設(shè)計_第1頁
單片機的電梯控制設(shè)計_第2頁
單片機的電梯控制設(shè)計_第3頁
單片機的電梯控制設(shè)計_第4頁
單片機的電梯控制設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機的電梯控制設(shè)計Document number : BGCG-0857-BTDO-0089-2022單片機原理及系統(tǒng)課程設(shè)計評語:考勤(10 分)守紀(10 分)過程(30 分)設(shè)計報告 (30 分)答辯(20 分)總成績 (100 分)專業(yè):自動化班級:動1101姓名:孫海文學號:,指導(dǎo)教師:趙峰蘭州交通大學自動化與電氣工程學院2014年1月15日1設(shè)計任務(wù)及要求設(shè)計題目基于單片機的三層電梯控制模型的設(shè)計設(shè)計具體要求(1)用戶可通過按鍵發(fā)出請求;(2)可顯示電梯所在樓層;(3)滿足用戶升降要求;(4)顯示電梯升降超重狀態(tài);2所用器件原理介紹AT89c51是一個低功耗,高性能CMOS 8位

2、單片機,片內(nèi)含4kBytes ISP的可反復(fù)擦寫1000次的Flash只讀程序存儲器。AT89C51是低功耗、 高性能的CMOS型8位單片機。片內(nèi)帶有8KB的Flash存儲器,且允許在系 統(tǒng)內(nèi)改寫或用編程器編程。片內(nèi)有128B的RAM、32條I/O 口線、2個16 位定時計數(shù)器、5個中斷源、一個全雙工串行口等,完全滿足該課題的需 要。3系統(tǒng)設(shè)計本系統(tǒng)以AT89c51單片機的電梯自動控制系統(tǒng)為核心,有硬件設(shè)計, 軟件設(shè)計,軟件調(diào)試等幾個部分。數(shù)碼管顯示實時樓層,單片機通過掃描 按鍵指示燈來讀取請求,根據(jù)所在樓層的不同,進行不同的分析、調(diào)度, 然后做出正確的響應(yīng),更新狀態(tài)并在指示燈和數(shù)碼管上顯示出

3、來,還有報 警器的設(shè)計,上下呼叫指示燈的部分組成??傮w設(shè)計框圖如圖1所示。數(shù)碼管單片機控制系統(tǒng)P3P1 口接LED指示燈;LED指不燈鍵盤按鍵PLP2接2*4鍵盤硬件設(shè)計(1) AT89c51 接口由單片機的P0 口控制數(shù)碼管的位碼,P1 口控制數(shù)據(jù)的讀取,P2 口控 制電機運行狀態(tài)、電梯運行狀態(tài)和蜂鳴器狀態(tài)。(2)按鍵控制圖為了節(jié)省單片機的接口,故選用行列鍵盤矩陣,本電路初始按鍵一端 都加低電平,有按鍵按下時,電路導(dǎo)通給輸入口 P1輸入低電平信號,然后 根據(jù)按鍵不同功能實現(xiàn)電梯的控制。按鍵控制電路如圖2所示。9尸四第三層向下Pio O 0第二層【可上P13 K3廣,第二層向下p* 第一層向上

4、內(nèi)。 O OK5產(chǎn)、電梯內(nèi)F3 pxK6電梯內(nèi) F2 pi5.o 。K7尸,電梯內(nèi)F1 pi、9超重指示P27 O O(4)數(shù)碼管顯示圖2按鍵控制圖(3) LED指示燈在本次設(shè)計中電機正反轉(zhuǎn)用兩個發(fā)光管來表示,用單片機的P1 口做輸 入口來輸入,其中L1亮表示電機正轉(zhuǎn)電梯向上運行,L2亮表示電機反轉(zhuǎn) 電梯向下運行,L3亮表示超重。當電梯超重時,單片機產(chǎn)生低電平由P25 口輸出,同時由P17, P37 口輸出高電平,以此控制LED指示燈。LED指示燈如圖3所示。圖3 LED指示燈數(shù)顯管的基本功能是具備顯示當前電梯的層數(shù)。采用共陽極接法,把 二極管的陽極連接到一起構(gòu)成共陽極,使用時公共陽極接+5V

5、。這樣陰極段 端輸入低電平的段發(fā)光二極管導(dǎo)通點亮,而輸入高電平不點亮。因為POD 沒有上拉電阻所以不能輸出高電平,所以要接上拉電阻,排阻就是好多電 阻連接一起,有一個公共端輸入高電平,因為采用共陽極接法,所以采用 上拉。數(shù)碼管顯示電路如圖4所示。圖4數(shù)碼管顯示(5)蜂鳴器對于電梯超重問題的提示報警選用蜂鳴器,P25 口輸出信號,為了使 蜂鳴器有較大的聲音,給它加一個三極管放大,使其增大脈沖電流信號z蜂鳴器電路圖如圖5所示。軟件設(shè)計(1)程序流程圖軟件設(shè)計思想:采用模塊化的設(shè)計方法,不同功能由不同子程序?qū)?現(xiàn)。由于本設(shè)計采用單片機實現(xiàn)控制,其中主程序部分完成了系統(tǒng)初始 化,定時器的工作方式,中斷

6、產(chǎn)生,延時等。電梯的整個軟件設(shè)計包括以 下幾個部分:電梯邏輯控制模塊、電梯運行模塊、電機啟動模塊、電機正 反轉(zhuǎn)模塊、樓層數(shù)顯模塊、鍵盤按鍵輸入模塊、指示燈模塊、超重報警器 模塊。程序流程圖如圖6所示。初始化(設(shè)定電梯 初始狀態(tài))R示當前樓層now等待中斷圖6主程序流程圖軟件設(shè)計源程序如附錄2所示。4軟件編譯調(diào)試在軟件調(diào)試中,采用keil仿真軟件進行程序調(diào)試。首先分別調(diào)試各個 功能程序,再對整個程序進行調(diào)試,以便修改錯誤碼。首先在keil軟件中 選擇AT89c51作為CPU,新建一個.c文件,將各個功能程序錄入,先檢查 程序有無明顯錯誤,保存過后編譯程序,當有錯誤時就根據(jù)提示加以修 改,當各個功

7、能程序編譯完成后,再對整個程序全速執(zhí)行,查看程序有哪 些地方出現(xiàn)錯誤,對應(yīng)錯誤提示逐步調(diào)整程序,糾正錯誤直到程序正確無 誤。分析實際生活中的電梯運行情況,總結(jié)電梯運行規(guī)律及原則。電梯在 掃描到請求后,到底是否立即響應(yīng)、何時響應(yīng),總是遵循“順路”的原 則,若請求的運動方向與電梯現(xiàn)行方向相同且在該方向上繼續(xù)運行即可響 應(yīng)該請求,則“順路”響應(yīng)。5硬件仿真硬件仿真使用的是Proteus模擬單片機外圍器件的工具,它可以仿真 51系列、AVR, PIC等常用的MCU及其外圍電路(如LCD, RAM, ROM,鍵 盤,馬達,LED, AD/DA,部分SPI器件,部分IIC器件.)。然后右鍵 AT89C51

8、 再左鍵,出現(xiàn)Edit Componetn ,在 Program File 中單擊 出 現(xiàn)文件瀏覽對話框,找到文件,單擊確定.完成添加文件,單擊0K退 出。單擊仿真按鈕,系統(tǒng)開始工作,通過按鍵,電梯都能完成請求,基本 實現(xiàn)了電梯運行的模擬。首先利用Proteus中的器件庫完成電路的連接,如附錄1所示。6設(shè)計總結(jié)本次課程設(shè)計主要是對單片機控制的實踐,經(jīng)過這一實踐,讓我更對 單片機的工作原理、功能、應(yīng)用及其常見的外圍電路都有了更進一步的理 解和切身的體會。無論是查資料、分析課題、設(shè)計電路、調(diào)試電路、設(shè)計 軟件、調(diào)試程序還是系統(tǒng)調(diào)試,每一步都認真的去學習,把理論知識應(yīng)用 到實踐中,動手能力得到很大提

9、高。本次課設(shè)過程中遇到了很多問題,如數(shù)碼管和按鍵模塊的電阻阻值設(shè) 置不合理,分析課題時沒有抓準電梯運行的規(guī)律、原則導(dǎo)致程序設(shè)計的不 完善,寫條件語句時考慮不全面等等。這些問題不但使我深深的感到對原 理知識理解、運用的缺乏,還讓我體會到了許多理論與實際的差距。在解 決這些問題的過程中,讓我懂得了在面對不同的故障現(xiàn)象時,如何找出故 障原因及排除故障的方法,充分鍛煉了分析、解決問題的能力。參考文獻1王思明,張金敏,張鑫等.單片機原理及應(yīng)用系統(tǒng)設(shè)計M.北京:北京科 學出版社,2012.2李超青.單片機原理及接口技術(shù)M.北京:北京航空航天大學出版社,1社9.3何立民.單片機應(yīng)用系統(tǒng)設(shè)計M.北京:北京航空

10、航天大學出版社,1990.附錄1: Proteus電路的連接圖“尸J第三層向下pl 上產(chǎn)產(chǎn)第二層向1 p* 心尸產(chǎn)第二層向下a- 臣尹式第一是向上p”.K5產(chǎn)產(chǎn)電梯內(nèi)F3 p帕K7個電梯內(nèi)門尹士超重指不puPZ(U1411,%_.上jLtD-GKEENRio_ A 下行 pnSBSft LtD-GKEENLS1號 i盤歪四、 ICLCD-GRCCNCUJpmwaPD.IftDIPU2AD2muP33ACO即岫”POSADSPJS* 6rstPD.7IAD?P2 口修P21A電P2tprP211ALEP2Mt2ESP2m口92&MiP2.7依 6pwP31WXDphP11.TXDP12PJ2XT

11、TUP13PJ3IHTTPUP3VTOPISP35nlPIS內(nèi)創(chuàng)識Plf加T191Ug01。 1P112P匕 3 P13 4P14 5PIS 邑 P16 ?pi73ATOCS1C123466?7;9P1 RESVM*2122 NW附圖1 Proteus電路的連接圖附錄2:電梯源程序ttincludeOttincludeOttdefine uint unsigned int /預(yù)定義#define uchar unsigned charuchar code LED_CODES 二OxcO, 0xf9, 0xa4, OxbO; 字形代表碼 0-3sbitweight=P2 7;超重信號sbitF3

12、D=pro;/3樓向下按鈕sbitFiu=pri;/I樓向上按鈕sbitF2D 二P2;/2樓向下按鈕sbitF2U=P3;/2樓向上按鈕sbitF1=P14;電梯內(nèi)1樓sbitF2=P1-5;電梯內(nèi)2樓sbitF3=P1-6;電梯內(nèi)3樓sbitledu=P37;上行指示燈sbitledd二P7;下行指示燈sbitledw=P2*6;超重指示燈sbitbeep=P2-5;超重報警sbitINA = P2P;電機信號1sbitINB = P21;電機信號2ucharnf=l;當前樓層ucharcf;呼叫樓層uchardf;要去樓層uchar fl, f2;樓層差(電梯停止依據(jù)):fl= cf-n

13、f ;f2=|df-nfuchar tl, t2;暫存當前樓層(顯示碼指針):tl二nf; t2=nfuchar flag;呼叫 flagR,乘電梯 flag=luchar dir; 電機方向1 -正轉(zhuǎn),0-反轉(zhuǎn)uint MA;脈沖頻率uint Speed=25;50%占空比,脈沖寬度占電機周期比 void delay (uint z)uint x, y;for(x=z;x0;x一)for(y=125;y0;y-);)定時器初始化void Timer_Init() THO-OxEC;TL0=0x78;TMOD=OxOl;ETO-1;EA=1;EXO=1;ITO=1;EX1=1;IT1=1;)/

14、電機運行及指示燈函數(shù)void step (uchar dir)電機啟動 (if(dir=l)(TRO=1; 開定時器,啟動電機ledu=0; 正反轉(zhuǎn)指示燈ledd=l;)else if(dir=0)(TRO=1; 開定時器,啟動電機ledd=0;ledu=l;)else if(dir=2)TRO=O;delay(50); 延時穩(wěn)定電機)乘坐電梯運行,flag=l為該運行方式標記置乘坐運行標記;置目的樓層;若當前電梯正在1樓則不動作;計算當前電梯距目標樓層的層數(shù);置電機轉(zhuǎn)向;暫存當前樓層;修改當前樓層為目的樓層;電梯運轉(zhuǎn);void Floors()電梯內(nèi)部呼叫(if(Fl=0)flag=l;df

15、=l;if(df=nf)return;f2=abs(df- nf);dir=0;t2=nf;nf=df;step(dir);delay (5000);else if(F2=0)flag=l;df=2;if (df=nf)return;f2=abs(df-nf);if(dfnf)dir=l;else dir=0;t2=nf;nf=df;step(dir);delay (5000);else if (F3=0)flag=l;df=3;if(df=nf)return;f2=abs (df- nf) ;dir=l;t2=nf;nf=df;step(dir);delay(5000);dir=2;dela

16、y(50);)呼叫電梯運行,flag=0為該運行方式標記同乘坐電梯運行void Calls()電梯外部呼叫(if(F3D=0)flag=0;cf=3;if (cf=nf)return;fl=abs(cf-nf);dir=l;tl=nf;nf=cf;step(dir);delay (5000);else if(FlU=0)flag=0;cf=l;if (cf=nf)return;fl=abs(cf-nf) ;dir=0;tl=nf;nf=cf;step(dir);delay (5000);else if(F2D=0)flag=0;cf=2;if(cf=nf)return;fl=abs(cf-nf);if(cfnf)dir=l;else dir=0;tl=nf;nf=cf;step(dir);delay (5000); else if(F2U=0)flag=0;cf=2;if (cf=nf)return;fl=abs(cf-nf);if(cfnf)dir=l;else dir=0;tl=nf;nf=cf;step(dir);delay(5000); dir=2; 停止電機 delay (50);)void main()主函數(shù),LED數(shù)顯管顯示(Timer_Init ();定時器初始化PO=LED_CO

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論