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

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)級(jí)動(dòng) 1101班.名:孫海文號(hào):指導(dǎo)教師:趙峰蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué) 院2014 年 1 月 15 B1設(shè)計(jì)任務(wù)及要求設(shè)計(jì)題目基于單片機(jī)的三層電梯控制模型的設(shè)計(jì) 設(shè)計(jì)具體要求(4)用戶可通過(guò)按鍵發(fā)出請(qǐng)求: 可顯示電梯所在樓層; 滿足用戶升降要求: 顯示電梯升降超重狀態(tài):2所用器件原理介紹AT89C51是一個(gè)低功耗 > 高性能CMOS位單片機(jī),片內(nèi)含4k Bytes ISP的可反 復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器。AT89C51是低功耗、高性能的加型g位單 片機(jī)。片內(nèi)帶有8KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫(xiě)或用編程器編程。片內(nèi)有 128B的

2、RAM 32條I/O 口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、一個(gè)全 雙工串行口 等 >完全滿足該課題的需要。3系統(tǒng)設(shè)計(jì)本系統(tǒng)以AT89C51單片機(jī)的電梯自動(dòng)控制系統(tǒng)為核心,有硬件設(shè)計(jì),軟件設(shè) 計(jì), 軟件調(diào)試等幾個(gè)部分。數(shù)碼管顯示實(shí)時(shí)樓層 >單片機(jī)通過(guò)掃描按鍵指示燈來(lái)讀取請(qǐng)求> 根據(jù)所在樓層的不同 >逬行不同的分析、調(diào)度 > 然后做出正確的響應(yīng) > 更新?tīng)顟B(tài)并在指 示燈和數(shù)碼管上顯示出來(lái) >還有報(bào)警器的設(shè)計(jì) >上下呼叫指示燈的部分組成??傮w設(shè)計(jì)框圖如圖1所示。圖1總體設(shè)計(jì)框圖硬件設(shè)計(jì)(1) AT89C51 接口由單片機(jī)的P0 口控制數(shù)碼管的位碼&

3、#39; P1 口控制數(shù)據(jù)的讀取' P2 口控制電機(jī) 運(yùn)行 狀態(tài)、電梯運(yùn)行狀態(tài)和蜂鳴器狀態(tài)。(2)按鍵控制圖為了節(jié)省單片機(jī)的接口,故選用行列鍵盤(pán)矩陣,本電路初始按鍵 一端都加低電平 > 有按鍵按下時(shí) > 電路導(dǎo)通給輸入口 P1輸入低電平信號(hào) > 然后根據(jù)按鍵不同功能 實(shí)現(xiàn)電梯的控制。按鍵控制電路如圖2所示。圖2按鍵控制圖LED指示燈在本次設(shè)計(jì)中電機(jī)正反轉(zhuǎn)用兩個(gè)發(fā)光管來(lái)表示 >用單片機(jī)的 P1 口做輸入口來(lái) 輸入 > 其中L1亮表示電機(jī)正轉(zhuǎn)電梯向上運(yùn)行> L2亮表示電機(jī)反轉(zhuǎn)電梯向下運(yùn)行> L3 亮表示超重。當(dāng)電梯超重時(shí) > 單片機(jī)產(chǎn)生低電平

4、由P25 口輸出 > 同時(shí)由P17, P37 口輸 出高電平 > 以此控制LED指示燈。LED指示燈如圖3所示。圖3 LED指示燈(4)數(shù)碼管顯示 數(shù)顯管的基本功能是具備顯示當(dāng)前電梯的層數(shù)。采用共陽(yáng)極接法, 把二極管的陽(yáng)極連接到一起構(gòu)成共陽(yáng)極 > 使用時(shí)公共陽(yáng)極接+5V。這樣陰極段端輸入低 電平的段發(fā)光二極管導(dǎo)通點(diǎn)亮 >而輸入高電平不點(diǎn)亮。因?yàn)镻0 口沒(méi)有上拉電阻所以不 能輸出高電平 >所以要接上拉電阻 >排阻就是好多電阻連接一起 >有一個(gè)公共端輸入高 電平 > 因?yàn)椴捎霉碴?yáng)極接法 >所以采用上拉。數(shù)碼管顯示電路如圖4所示。圖4數(shù)碼管顯示(

5、5)蜂鳴器對(duì)于電梯超重問(wèn)題的提示報(bào)警選用蜂鳴器> P25 口輸出信號(hào) > 為了使蜂鳴器有較大的聲音 >給它加一個(gè)三極管放大 >使其增大脈沖電流信號(hào)。蜂鳴器電路圖如圖5所示。圖5蜂鳴器軟件設(shè)計(jì)(1)程序流程圖軟件設(shè)計(jì)思想:采用模塊化的設(shè)計(jì)方法 > 不同功能由不同子程序?qū)?現(xiàn)。由于本設(shè)計(jì)采用單片機(jī)實(shí)現(xiàn)控制 >其中主程序部分完成了系統(tǒng)初始化 >定時(shí)器的工 作 方式 > 中斷產(chǎn)生 > 延時(shí)等。電梯的整個(gè)軟件設(shè)計(jì)包括以下幾個(gè)部分:電梯邏輯控制 模塊、電梯運(yùn)行模塊、電機(jī)啟動(dòng)模塊、電機(jī)正反轉(zhuǎn)模塊、樓層數(shù)顯模塊、鍵盤(pán)按鍵輸入 模塊、指示燈模塊、超重報(bào)警器模

6、塊。程序流程圖如圖6所示。圖6主程序流程圖軟件設(shè)計(jì)源程序如附錄2所示。4軟件編譯調(diào)試在軟件調(diào)試中 > 采用keil仿真軟件逬行程序調(diào)試。首先分別調(diào)試各個(gè)功能程 序> 再對(duì)整個(gè)程序進(jìn)行調(diào)試 > 以便修改錯(cuò)誤碼。首先在keil軟件中選擇AT89C51作為CPU 新建一個(gè).C文件 > 將各個(gè)功能程序錄入 > 先檢査程序有無(wú)明顯錯(cuò)誤,保存過(guò)后編譯程 序 > 當(dāng)有錯(cuò)誤時(shí)就根據(jù)提示加以修改 > 當(dāng)各個(gè)功能程序編譯完成 后 >再對(duì)整個(gè)程序全速 執(zhí)行 > 査看程序有哪些地方出現(xiàn)錯(cuò)誤 > 對(duì)應(yīng)錯(cuò)誤提示逐步調(diào)整程序 > 糾正錯(cuò)誤直到程序 正確無(wú)誤。

7、分析實(shí)際生活中的電梯運(yùn)行情況 > 總結(jié) 電梯運(yùn)行規(guī)律及原則。電梯在掃描 到請(qǐng)求后 > 到底是否立即響應(yīng)'何時(shí)響應(yīng) > 總是遵循“順路”的原則 >若請(qǐng)求的運(yùn)動(dòng)方 向與電梯現(xiàn)行方向相同且在該方向上繼續(xù)運(yùn)行即可響應(yīng)該請(qǐng)求,則“順路”響應(yīng)。 5硬件仿真硬件仿真使用的是Proteus模擬單片機(jī)外圍器件的工具 > 它可以仿真51系列、AVR PIC等常用的MCU及其外圍電路(如LCD RAM ROM鍵盤(pán),馬達(dá),LED AD/DA 部分SPl器件,部分lie器件.)0然后右鍵AT89C51再左鍵,出現(xiàn)“ EditComponer ,在Program File中單擊 出現(xiàn)

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

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

10、99.何立民單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:北京航空航天大學(xué)出版社,1990.附錄1 : Proteus電路的連接圖附圖1 Proteus電路的連接圖B付錄2:電梯源程序 #in cludeo#in cludeo預(yù)定義#define uint unsigned int /#define uchar unsigned charuchar code LED_CODES二0xc0,0xf9,0xa4,0xb0;字形代表碼 03sbit weight=卩2人7;sbit F3D=P1A0;Sbit F1U=P1A1;sbit F2D=P1A2;sbit F2U=P1A3;sbit F1=P1A4;sbit

11、 F2=P1A5;sbit F3=P1A6;sbit ledu=P3A7;sbit ledd=P1A7;sbit ledw=P2A6;sbit beep=P2A5;sbit INA=P2A0;sbit INB=P2A1;uchar nf=1;uchar cf;uchar df;/超重信號(hào)/3樓向下按鈕/1 樓向上按鈕/2樓向下按鈕 /2樓向上按鈕 /電梯內(nèi)1樓 /電梯內(nèi)2樓 /電梯內(nèi)3樓/上行指示燈/ 下行指示燈/超重 指示燈/超重報(bào)警/電機(jī)信號(hào)1/電機(jī)信號(hào)2 /當(dāng) 前樓層呼叫樓層 要去樓層uchar f1 ,f2; uchar t1,t2;uchar flag;uchar dir;uint

12、MA; uint Speed=25;樓層差(電梯停止依據(jù)):f1=|cf-nf|:f2=|df-nf| 暫存當(dāng)前樓層(顯示碼指針):t1=nf:t2=nf/呼叫flag=O,乘電梯flag=1電機(jī)方向1 正轉(zhuǎn),0反轉(zhuǎn)/脈沖頻率/50%占空比 > 脈沖寬度占電機(jī)周期比/X*1MS延時(shí)函數(shù) void delay(uint z)uint x,y; for(x=z;x>0:x-)for(y=125;y>0;y-);定時(shí)器初始化void TimerJnitOTH0=0xEC; TL0=0x78; TMOD=0x01; ET0=1; EA=1; EX0=1; IT0=1; EX1=1;

13、IT1=1;/電機(jī)運(yùn)行及指示燈函數(shù) void step(uchar dir)/ 電機(jī)啟動(dòng)ifdir=1)TR0=1; 開(kāi)定時(shí)器,啟動(dòng)電機(jī) ledu=O; /正反轉(zhuǎn)指示燈 ledd=1;else if(dir=O)TR0 = 1; 開(kāi)定時(shí)器 ' 啟動(dòng)電機(jī) ledd=O;ledu=1;else ifdir=2) TR0=0;delay(50): /延時(shí)穩(wěn)定電機(jī)/乘坐電梯運(yùn)行 flag=1為該運(yùn)行方式標(biāo)記/置乘坐運(yùn)行標(biāo)記;置目的樓層;若當(dāng)前電梯正在1樓則不動(dòng)作;計(jì)算當(dāng)前電梯 距目標(biāo)樓層的層數(shù);置電機(jī)轉(zhuǎn)向;暫存當(dāng)前樓層;修改當(dāng)前樓層為目的樓層;電 梯運(yùn)轉(zhuǎn);void FloorsO /電梯內(nèi)部呼

14、叫if(F1=0) flag=1 ;df=1 ;ifdf=nf)return;f2=abs(df-nf);clir=0;t2=nf:nf=df;step(dir );delay(5000); else if(F2=0) flag=1;df=2;ifdf=nf)return;f2=abs(df-nf);if(df>nf)dir=1:else dir=0;t2=nf;nf=df;step(clir);delay(5000);else if(F3=0)flag=1;df=3;ifdf=nf)return;f2=abs(df-nf);clir=1;t2=nf:nf=df;step(dir );d

15、elay(5000); dir=2;delay(50);/呼叫電梯運(yùn)行 flag=0為該運(yùn)行方式標(biāo)記/同乘坐電梯運(yùn)行void CallsO /電梯外部呼叫if(F3D=0)flag=0;cf=3;ifcf=nf)return;f1=abs(cf- nf);dir=1;t仁nf;nf=cf;ste p(dir );delay(5000); else if(F1U=0)flag=0;cf=1 ;ifcf=nf)return;f1 =abs(cf-nf);clir=0;t1 =nf:nf=cf;ste p(dir );delay(5000); else ifF2D=0) flag=0;cf=2;if

16、cf=nf)return;f1=abs(cf-nf);if(cf>nf)dir=1:else dir=0;t1=nf;nf=cf;step(clir);delay(5000);else ifF2U=0) flag=0;cf=2;ifcf=nf)return;f1=abs(cf-nf);if(cf>nf)dir=1:else dir=0;t1=nf;nf=cf;step(clir);delay(5000);dir=2; / 停止電機(jī) delay(50);void mai n()/主函數(shù)* LED數(shù)顯管顯示/定時(shí)器初始化TimerJnitO;PO=LED_CODES(1;/啟動(dòng)時(shí)電梯在1樓,顯示樓號(hào)while(1)PO=LED_CODES(nf;CallsO;呼叫電梯FloorsO:/乘坐電梯while1)/超重檢測(cè)if(weight=O) beep=beep;ledw=Tedw;ledu=1 ;ledd=1 ;delay(15

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論