版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 單片機綜合實驗</b></p><p><b> 實驗報告</b></p><p> 學(xué)院 計 算 機 與 電 子 信 息 學(xué) 院 </p><p> 專業(yè) 電子信息工程 班級 電信11-2班 </p><p> 實驗題目
2、 基于單片機的電梯控制系統(tǒng) </p><p> 實驗報告評分:_______</p><p> 基于單片機的電梯控制系統(tǒng)設(shè)計</p><p> 摘要:本文介紹了一種采用單片AT89C52芯片進行電梯控制系統(tǒng)的設(shè)計方法,主要闡述如何使用單片機進行編程來實現(xiàn)電子設(shè)計的方法,利用單片機編程實現(xiàn)功能,簡潔而又多變的設(shè)計方法,縮短了研發(fā)周期,同時使電梯控
3、制系統(tǒng)體積更小功能更強大。硬件部分主要由單片機的最小模塊、電梯內(nèi)外按鈕控制模塊、數(shù)碼管顯示樓層模塊、發(fā)光二極管顯示目的樓層模塊、報警顯示模塊組成。軟件部分使用kiel軟件進行C語言程序編寫,用proteus軟件進行仿真調(diào)試。本設(shè)計具有電梯控制系統(tǒng)所需的一些基本功能,能通過方向按鍵選擇方向,能通過數(shù)字按鍵選擇樓層,數(shù)碼管顯示實時樓層數(shù),電動機控制部分采用直流電機及H橋驅(qū)動電路,使電梯箱能上下運動。硬件設(shè)計簡單可靠,結(jié)合軟件,基本實現(xiàn)了五層
4、電梯運行的模擬仿真。</p><p> 關(guān)鍵詞:AT89C52;單片機;電梯控制系統(tǒng); C語言</p><p><b> 1 引言</b></p><p> 隨著現(xiàn)代高科技的發(fā)展,住房和辦公用樓都已經(jīng)逐漸向高層發(fā)展。電梯是高層賓館、商店、住宅、多層倉庫等高層建筑不可缺少的垂直方向的交通運輸工具。因此電梯在我們的生活中起著舉足輕重的作用。
5、電梯已不僅是一種生產(chǎn)環(huán)節(jié)中的重要設(shè)備,更是一種人們頻繁乘用的交通運輸設(shè)備。由于傳統(tǒng)的電梯運行邏輯控制系統(tǒng)采用的是繼電器邏輯控制線路。采用這種控制線路,存在易出故障、維護不便、運行壽命較短、占用空間大等缺點。從技術(shù)發(fā)展來看,這種系統(tǒng)將逐漸被淘汰。而單片機價格相當(dāng)便宜,由單片機設(shè)計的控制系統(tǒng)可以隨著設(shè)備的更新而不斷修改完善,更完美的實現(xiàn)設(shè)備的升級。</p><p> 1.1 課題的提出及研究意義</p>
6、;<p> 電梯是集機械原理應(yīng)用、電氣控制技術(shù)、微處理技術(shù)、系統(tǒng)工程學(xué)等多科學(xué)和技術(shù)分支于一體的機電設(shè)備,它是建筑中永久垂直交通工具。電梯作為生產(chǎn)生活的典型運載工具使用已十分普及,其控制信號類型多,關(guān)系復(fù)雜,要求的控制性能特別高。隨著經(jīng)濟的發(fā)展高層建筑越來越多對電梯的運行速度和控制性能也提出了更高的要求。而在我國于八十年代初至九十年代初投入使用的電梯,其中絕大部分采用繼電器—繼電器陣列結(jié)構(gòu)該結(jié)構(gòu)體積大、接線復(fù)雜、噪音大、
7、觸點易磨損、故障率高、維護工作量大,已無法滿足現(xiàn)代社會的需要。</p><p> 自上世紀(jì)80年代以來,微機控制系統(tǒng)得到了極大的發(fā)展,現(xiàn)已深人到我國工農(nóng)業(yè)生產(chǎn)的各個方方面面,隨著電力電子技術(shù)和微電子技術(shù)的發(fā)展,使得以微機為核心的控制系統(tǒng)得到廣泛應(yīng)用。尤其是單片機的開發(fā)與應(yīng)用,其深度和廣度越來越大。微機應(yīng)用于電梯控制系統(tǒng),與傳統(tǒng)的采用繼電接觸邏輯控制系統(tǒng)相比,具有很大優(yōu)越性,一方面,它使整個系統(tǒng)的體積減小,可靠性
8、提高,使用壽命延長;另一方面,它還簡化了安裝調(diào)試和維護維修的工作量,使整個電梯的運行成本降低。更突出的優(yōu)點是微機具有靈活的算術(shù)和邏輯運算功能,具有很強的通信和可擴展功能,實現(xiàn)更完善的自動控制。</p><p> 常用的微機控制主要的有兩種技術(shù):基于PLC控制和基于單片機控制兩大技術(shù)。可編程控制器,是微機技術(shù)與繼電器常規(guī)控制技術(shù)相結(jié)合的產(chǎn)物,是在順序控制器和微機控制器的基礎(chǔ)上發(fā)展起來的新型控制器,是一種以微處理器
9、為核心用作數(shù)字控制的專用計算機,它有良好的抗干擾性能,適應(yīng)很多工業(yè)控制現(xiàn)場的惡劣環(huán)境,所以現(xiàn)在的電梯控制系統(tǒng)主要還是由可編程控制器控制。但是由于PLC的針對性較強,每一臺PLC都是根據(jù)一個設(shè)備而設(shè)計的,所以價格較昂貴。而單片機價格相當(dāng)便宜,也不像PLC那么有針對性,可以隨著設(shè)備的更新而不斷修改完善,更完美的實現(xiàn)設(shè)備的升級。基于單片機控制的電梯可以大大的降低成本而且運行也較可靠,采用單片機來實現(xiàn)老式電梯控制系統(tǒng)的改造無疑是最佳方案。由于單
10、片機具有體積小、線路簡單、無噪音、可靠性高、維護方便,是一種少投入、高回報的方案。同時能方便實現(xiàn)多臺電梯的群控,并通過通訊接口與樓宇自動化系統(tǒng)聯(lián)接,實施對電梯的監(jiān)控。</p><p> 1.2 國內(nèi)外電梯系統(tǒng)技術(shù)的發(fā)展現(xiàn)狀</p><p> 在現(xiàn)代社會和經(jīng)濟活動中,電梯已經(jīng)成為城市物質(zhì)文明的一種標(biāo)志。特別是在高層建筑中,電梯是不可缺少的垂直運輸工具。</p><p
11、> 電梯作為垂直運輸?shù)纳翟O(shè)備,其特點是在高層建筑物中所占的面積很小,同時通過電氣或其它的控制方式可以將乘客或貨物安全、合理、有效地送到不同的樓層?;谶@些優(yōu)點,在建筑業(yè)特別是高層建筑飛速發(fā)展的今天,電梯行業(yè)也隨之進入了新的發(fā)展時期。</p><p> 電梯的存在,使得每幢大型高樓都可以成為一座垂直的城市。在紐約的前世界貿(mào)易中心大樓里,除每天有5萬人上班外,還有8萬人次的來訪和旅游,因此250臺電梯和7
12、5臺自動扶梯的設(shè)置和正常運行,才使得合理調(diào)運人員、充分發(fā)揮大樓的功能成為現(xiàn)實。中國第一高樓、坐落在上海浦東的金茂大廈,高度420.5m,主樓地上88層,建筑面積220000㎡,集金融、商業(yè)、辦公和旅游為一體,其中60臺電梯、18臺扶梯的作用是顯而易見的。</p><p> 20世紀(jì)初,美國出現(xiàn)了曳引式電梯,鋼絲繩懸掛在曳引輪上,一端與轎廂連接,而另一端與對重連接,隨曳引輪的轉(zhuǎn)動,靠鋼絲繩與曳引輪槽之間的摩擦力,
13、使轎廂與對重作一生一降的相反運動。顯然,鋼絲繩不用纏繞,因此鋼絲繩的長度和股數(shù)均不受控制,當(dāng)然轎廂的載重量以及提升的高度就得到了提高,從而滿足了人們對電梯的使用需求。因此,近一百年來,曳引電梯一直受到重視,并發(fā)展沿用至今。其具體運行模型如圖1所示:</p><p> 圖1 曳引式電梯示意圖</p><p> 1—轎廂 2—曳引輪 3—對重</p><p>
14、 在后來的幾十年里,通過變換電動機級數(shù)的調(diào)速方法來調(diào)整電梯運行速度的技術(shù)相繼研制成功,1933年,世界上第一臺運行速度為6 m/s 的電梯被安裝在美國紐約的帝國大廈。</p><p> 第二次世界大戰(zhàn)后,建筑業(yè)的發(fā)展促使電梯進入了高峰發(fā)展時期,代表新技術(shù)的電子技術(shù)被廣泛應(yīng)用于電梯領(lǐng)域的同時,陸續(xù)出現(xiàn)了群控電梯、超高速電梯。</p><p> 隨著電力電子技術(shù)的發(fā)展,晶閘管變流裝置越來越
15、多地用于電梯系統(tǒng),使電梯的拖動系統(tǒng)簡化,性能提高。同時交流調(diào)壓調(diào)速系統(tǒng)的研制和開發(fā),使交流電梯的調(diào)速性能有了明顯的改善。進入20世紀(jì)80年代,通過控制電動機定子供電電壓與頻率調(diào)整電梯運行速度的調(diào)壓調(diào)頻技術(shù)研制成功,出現(xiàn)了交流變壓變頻(VVVF)調(diào)速電梯,開拓了電梯拖動的新領(lǐng)域。1993年,日本生產(chǎn)了12.5m/s的世界最高速交流變壓變頻調(diào)速電梯,結(jié)束了支流電梯獨占高速電梯領(lǐng)域的歷史。</p><p> 電梯發(fā)展
16、到今天,在使用需求和新技術(shù)應(yīng)用方面都到了全面發(fā)展的時期。隨著智能化、信息化建筑的興起與完善,要求電梯不只是完成垂直運輸?shù)幕竟δ?,還應(yīng)以人為本,提高舒適度,特別從電梯運行的控制智能化角度考慮,電梯的優(yōu)質(zhì)服務(wù)不再是單一的“時間最短”問題,而是采用模糊理論、神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)等方法,以期實現(xiàn)單梯與群控管理的最佳模式、合理的配置與使用、遠程監(jiān)控與故障診斷、節(jié)能以及減少環(huán)境污染等。</p><p> 現(xiàn)在電梯越來越朝著
17、綠色方向發(fā)展,目前意義上的“綠色”,一般是強調(diào)“天然”的一面,強調(diào)與環(huán)境的協(xié)調(diào)與和諧。電梯屬于純粹的工業(yè)產(chǎn)品,其天然性應(yīng)表現(xiàn)為對環(huán)境影響的盡可能小,與環(huán)境的協(xié)調(diào)與平衡,以及電梯本身的人性化。這也應(yīng)是綠色電梯的發(fā)展方向。綠色電梯主要有下面兩個方面:</p><p> 1、智能化:智能化電梯是傳統(tǒng)的人工智能是無法勝任的。傳統(tǒng)的智能控制是一種技術(shù)的事先安排,說到底是一種程序控制,是一種周期性的系統(tǒng)自動控制,實際上還算
18、不上智能。而真正的智能電梯應(yīng)更具人性化特點,不僅具有傳統(tǒng)的人工智能的所有優(yōu)點,而且還有傳統(tǒng)的人工智能無法比擬的東西,具有動念和隨機處理各種問題的能力,諸如能根據(jù)轎廂內(nèi)的情況和各層的候梯信息,自動地制定每次最優(yōu)的運動速度和停車政策;自動選擇運動方面;雙向語音交流;到達目的層的語音提示等,讓乘客有更多的主動性,使大樓交通運輸實現(xiàn)真正的人機對話。智能化要求電梯有自動安全檢測功能,讓電梯自己能夠檢測到電梯的故障所在,并及時報警予以排除。<
19、/p><p> 2、安全:運行安全是電梯的根本和關(guān)鍵。可以說,電梯的全部其他工作都是以此為中心展開的,使電梯安全運行更有保障。運行安全不僅要消除電梯啟動時較強的電磁輻射,使用安全材料和運行穩(wěn)定,而且要有一種良好的視覺效果,讓每一位乘客在寬敞、明亮轎廂內(nèi)有安全、舒適的好心情。同時,電梯運行安全也要求電梯在運行中發(fā)生故障時,不但要使乘客容易與外界溝通聯(lián)系,而且電梯本身應(yīng)當(dāng)能自動播放讓乘客感到放松的音樂,徹底消除產(chǎn)生緊張
20、不安的情緒。當(dāng)小孩和老人乘坐時,電梯對他們應(yīng)給予一種如同家人般的照顧,不但讓老人和孩子感到方便和舒適,而且更讓其家人感到放心。電梯運行安全還要求電梯有自動休眠功能,使電梯在保證運行效率最高的同時,使電梯能最大限度地得到休眠。</p><p> 1.3 課題研究的內(nèi)容</p><p> 隨著科技的發(fā)展,微型計算機領(lǐng)域的不斷進步,將使得將來電梯的體積大大減小,功能不斷完善,過程的控制更平
21、穩(wěn)、可靠、抗干擾性能增強、機械與電氣部件被機結(jié)合在一個設(shè)備內(nèi),把儀表、電子和計算機的功能綜合在一起。因此微型計算機控制技術(shù)將會成為電梯運行中的關(guān)鍵技術(shù)。</p><p> 本次設(shè)計的主要內(nèi)容是以單片機為主控制器的電梯控制系統(tǒng)。本來電梯系統(tǒng)是一個相對復(fù)雜的系統(tǒng),由于能力和經(jīng)驗有限,所以只能實現(xiàn)基本的功能如:層站呼叫、自動停層、轎廂命令響應(yīng)等。通過單片機輸出電壓通過驅(qū)動電路然后控制電梯拖動。在此,本文以五層電梯為研
22、究對象,選用52單片機(該機芯片選為AT89C52)作為其控制器,研究微機控制梯系統(tǒng)的設(shè)計方法。根據(jù)問題的提出、意義和文獻綜述,本課題研究的具體內(nèi)容包括以下四個方面:</p><p> ?。?)對電梯系統(tǒng)常用的控制方法的研究</p><p> ?。?)電梯控制系統(tǒng)硬件組成及其原理</p><p> ?。?)電梯的單片機系統(tǒng)軟件設(shè)計</p><p&
23、gt; ?。?)電梯在信號傳輸中遇到的問題</p><p><b> 2 總體設(shè)計方案</b></p><p><b> 2.1設(shè)計思路</b></p><p> 本次設(shè)計的基本思想是采用AT89C52單片機作為核心,利用其豐富的I/O接口與外圍電路配合進行控制。采用延時函數(shù)來控制電梯的位置校驗,采用數(shù)碼管靜態(tài)顯示來
24、實時顯示電梯所在樓層。采用行列式矩陣鍵盤矩陣作為外呼內(nèi)選電路,由于是5層樓,故選用4×4矩陣鍵盤。當(dāng)電梯到達目的樓層時電機停止,此時即可進、出乘客,乘客進入電梯之后可選擇去哪一層,然后電梯根據(jù)乘客的選擇判斷去哪一層,繼續(xù)運行。通過單片機控制電梯在上升過程中只響應(yīng)上升呼叫,下降過程中只響應(yīng)下降呼叫。電梯的正常運行通過單片機的控制來實現(xiàn)。</p><p><b> 2.1.1方案確立</b
25、></p><p> (1)主控芯片選擇 </p><p> 方案一:多片單片機控制方案。這種方案是使用多片單片機,其中一片是作為主控制器,另外設(shè)置了轎廂控制系統(tǒng),每層的控制系統(tǒng)分別由一個單片機控制,然后通過主控制器和副控制器之間的通訊,實現(xiàn)電梯系統(tǒng)的控制。這種方案的控制系統(tǒng)的結(jié)構(gòu)簡單明了,各個系統(tǒng)之間相互獨立便于維護和修檢。所
26、以根據(jù)功能要求需要選用5片AT89C51單片機就可以實現(xiàn)該電梯的功能。不過單片機之間的通訊較多,在目前通訊是個難點,可能導(dǎo)致電梯運行過程不夠穩(wěn)定。</p><p> 方案二 :采用CPLD 器件作為控制中心,對整個系統(tǒng)的運作進行統(tǒng)一管理,但這種方案要求平時有很多的知識積累和較強的專業(yè)水平,實現(xiàn)起來比較困難且器件較貴,不符合經(jīng)濟要求,而且升降電機的控制,運行時間的測量、顯示等還需要單片機的配合。</p>
27、;<p> 方案三:一片單片機為主控制器的方案。MCU采用一個單片機控制所有的按鍵、數(shù)碼管顯示、電動機的轉(zhuǎn)動、傳感器的輸出信號等,并對以上所有信號進行處理。這種方案的控制系統(tǒng)相對復(fù)雜,只適用于較簡單的電梯控制系統(tǒng),因為這次的設(shè)計的內(nèi)容是5層電梯控制系統(tǒng),所以選用這種方案。單片機技術(shù)目前較為成熟,自身資源豐富,硬件設(shè)計簡單,成本低,可靠性高,結(jié)合軟件完全可以實現(xiàn)電梯運行狀況的簡單模擬。</p><p&g
28、t; 權(quán)衡以上方案的分析,采用方案三。</p><p><b> (2)樓層顯示模塊</b></p><p> 方案一:采用點陣式液晶顯示器(LCD)顯示各種相關(guān)數(shù)據(jù)以及信息。點陣式液晶顯示器屬于低功耗器件,但其價格較貴。</p><p> 方案二:采用傳統(tǒng)的7段數(shù)碼管(LED)顯示電梯實時所到的樓層。雖功耗大,但其軟件驅(qū)動簡單,硬件電
29、路調(diào)試方便,價格便宜,亮度大,能滿足本設(shè)計的要求。</p><p> 以上兩種方案中,選擇方案二。</p><p> ?。?) 聲音提示模塊</p><p> 方案一:采用美國ISD公司的2590語音芯片,該語音芯片錄放時間為90 秒。ISD2500 系列具有抗斷電、音質(zhì)好,使用方便等優(yōu)點。它的最大特點在于片內(nèi)E2PROM容量為480K,所以錄放時間長;有10個
30、地址輸入端,尋址能力可達1024 位;最多能分600 段;設(shè)有OVF(溢出)端,便于多個器件級聯(lián)。</p><p> 方案二:采用蜂鳴提示音提示當(dāng)轎箱到達所需的樓層時,蜂鳴器響,提示乘客到達了所需的樓層,另外可以作為緊急停止時的報警提示信號,其軟件驅(qū)動、硬件電路調(diào)試非常簡潔方便,而且價格便宜,能滿足本設(shè)計的要求。</p><p> 以上兩種方案中,選擇方案二。</p>&
31、lt;p><b> ?。?)電動機模塊</b></p><p> 方案一:采用步進電機作為本設(shè)計的執(zhí)行元件,步進電機在定位性能方面十分優(yōu)越。步進電機和普通電機的區(qū)別主要就在于其脈沖驅(qū)動的形式,步進電機不需要A/D 轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號轉(zhuǎn)化成為角位移。常用的步進電機每轉(zhuǎn)一步,角度轉(zhuǎn)1.8°,在應(yīng)用中,步進電機可以同時完成兩個工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息,升降精
32、度很高。</p><p> 方案二:采用直流電機作為本設(shè)計的執(zhí)行元件,直流電機工作是讓線圈始終交替地處于穩(wěn)定狀態(tài)和非穩(wěn)定平衡狀態(tài),通過控制電流的方向可以實現(xiàn)電機的正反轉(zhuǎn)。直流電機在高起動轉(zhuǎn)矩、大轉(zhuǎn)矩、低慣量的系統(tǒng)中經(jīng)常使用到。</p><p> 此題目中電機要帶動的負載較大,對升降精度要求不是很,所以采用方案二。 </p><p> 2.1.2實現(xiàn)單片機控制電
33、梯的主要方法</p><p> 首先,對實際的電梯系統(tǒng)進行模擬,一般情況下,一個電梯應(yīng)該具備相關(guān)按鍵、顯示二極管、數(shù)碼管等,由于這是一個調(diào)度模塊,故沒有設(shè)計具體的轎廂等機械部分。然后,結(jié)合這些實物,選擇恰當(dāng)?shù)男酒?,并分成若干模塊,安排好各自之間的關(guān)系。由于其有諸多按鍵和顯示環(huán)節(jié),而單片機的I/O口管腳資源實在有限,故需要I/O口擴展,用以管理二極管;同時要有專門的按鍵控制芯片,從而便于按鍵管理。接著,要完成電路
34、圖的設(shè)計,焊接相關(guān)器件后進行硬件調(diào)試,看是否好用并加以適當(dāng)?shù)母罱K使硬件電路簡單又實用。</p><p> 同時,如果每個選層按鈕都采用獨立的按鍵設(shè)置,可以很大程度上簡化掃描按鍵程序,采集信號也容易得多,但是由于單片機接口有限,模擬電梯自動控制系統(tǒng)所需按鍵較多,如此會有接口不足的問題,所以本設(shè)計采用4×4按鍵矩陣開關(guān)電路作為外呼內(nèi)選呼叫控制。出于同樣問題,顯示樓層電路采用數(shù)碼管從串口輸出。為了更接
35、近實際的電梯控制系統(tǒng),設(shè)計中還應(yīng)該添加電梯外上下行請求顯示,可用五個發(fā)光二極管表示目的請求按鍵是否按下,有則亮,無則暗。</p><p> 軟件方面至于采用中斷方式還是采用查詢的方式來檢測用戶的請求信息,可根據(jù)具體的設(shè)計方案來確定,同時要想準(zhǔn)確地采集按鍵請求狀態(tài),就必須時時刻刻調(diào)用鍵盤矩陣掃描程序,也就增加了軟件編程的難度。采用單片機作為核心,配以適當(dāng)接口作為輸入輸出通道。實際電梯控制系統(tǒng)每層裝有一個傳感器,從
36、而判斷車廂所在位置,本模型使用延時函數(shù)對電梯運行樓層數(shù)進行控制。當(dāng)電梯到達所選層,電梯開門延時等待進人并選層,然后延時關(guān)門執(zhí)行請求,若無請求則停在本層等待請求。軟件部分使用kiel作為開發(fā)環(huán)境,用C語言進行編程,采用查詢方式來檢測用戶請求的按鍵信息并相應(yīng)相應(yīng)的函數(shù)。 </p><p> 隨著人類社會的不斷發(fā)展,電梯在人們生活中越來越占著重要位置,如何使電梯發(fā)揮更大的作用關(guān)鍵在于電梯的控制方法的改進以及控制費用的
37、降低。單片機之所以如此受歡迎在于其廉價的成本和可靠地運行性能。故應(yīng)用單片機進行電梯的控制勢必成為電梯今后發(fā)展的重要方向,最優(yōu)化的程序設(shè)計以及更廉價的費用對促進電梯行業(yè)的發(fā)展用著重要的作用,通過對具體問題的分析和探討,具體程序的優(yōu)化與改良,本設(shè)計也致力于解決這一問題。</p><p><b> 2.2功能框架圖</b></p><p> 本電路主要由6大部分電路組成
38、:鍵盤電路、單片機最小系統(tǒng)電路、樓層顯示電路、電機驅(qū)動顯示電路、目的樓層顯示電路、警報電路。其中單片機最小系統(tǒng)主要由復(fù)位電路組成。電路復(fù)位后樓層顯示數(shù)字1 表示電梯此時在一樓,顯示電路數(shù)碼管顯示,電梯樓層位置是由延時電路控制的,延時電路包括3秒延時和5秒延時,每層之間通過5秒延時控制即每延時5秒表示電梯走了一層,3秒延時是控制電梯的開門時間,3秒延時后電梯關(guān)門繼續(xù)運行。電梯狀態(tài)是通過兩個發(fā)光管顯示的,上行燈亮表示電梯在向上運行,下行燈亮
39、表示電梯在向下運行。鍵盤電路采用4×4鍵盤矩陣共16個按鍵分,其中8個按鍵是各層樓外呼按鍵,5個按鍵是電梯內(nèi)部的選擇鍵。電梯的正常工作是通過對單片機寫入程序控制的。</p><p> 總體方框圖如圖0所示:</p><p><b> 圖0 功能框架</b></p><p><b> 3 設(shè)計原理分析</b>
40、</p><p><b> 3.1硬件設(shè)計</b></p><p><b> 3.1.1時鐘電路</b></p><p><b> 圖1 時鐘電路圖</b></p><p> 單片機的時鐘電路有振蕩電路和分頻電路組成。其中振蕩電路由反相器以及并聯(lián)外接的石英晶體和電容構(gòu)成
41、,用于產(chǎn)生振蕩脈沖。而分頻電路則用于把振蕩脈沖分頻,以得到所需要的時鐘信號。</p><p> AT89C52單片機各功能部件的運行都是以時鐘控制信號為基準(zhǔn),有條不紊地一拍一拍地工作,因此時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。AT89C52單片機電路中的電容C1和C2典型值通常選擇為30pF。晶振的頻率越高則系統(tǒng)的時鐘頻率也越高,單片機的運行速度也越快。但反過來運行速度越快對
42、內(nèi)存的速度要求就越高,對印刷電路板的工藝要求也越高,即要求產(chǎn)生的寄生電容要小,晶振和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好的保證振蕩器穩(wěn)定、可靠的工作?;谝陨媳驹O(shè)計我們考慮選擇頻率為12MHz的晶振,當(dāng)振蕩脈沖頻率為12MHz時,一個機器周期為1us。</p><p><b> 3.1.2復(fù)位電路</b></p><p><b> 圖
43、2 復(fù)位電路圖</b></p><p> 復(fù)位是單片機的初始化操作,程序給單片機的復(fù)位引腳RST加大于2個機器周期(即24個時鐘振蕩周期)的高電平就可使單片機復(fù)位。AT89C52的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位電路通常采用上電復(fù)位和手動復(fù)位兩種方式,手動復(fù)位有電平方式和脈沖方式兩種,我們采用了手動復(fù)位為電平方式的復(fù)位。如圖3-2所示,我們通過RST端經(jīng)由電阻與電源VCC接通而實現(xiàn),當(dāng)按鍵按下時
44、,RST端為高電平復(fù)位。當(dāng)時鐘頻率選用12MHz時,C1取10uF,R1取10KΩ時,電容C1充放電時間τ=R1*C1=0.1s>2us(2個機器周期)。</p><p> 3.1.3鍵盤矩陣電路的設(shè)計</p><p> 由于本電路所需按鍵較多,為了節(jié)省單片機的I/O口,故選用行列式鍵盤矩陣(但是使用了矩陣鍵盤就與真實電梯有明顯的區(qū)別了)。本電路采用的是4×4鍵盤矩陣,
45、分為外部按鈕跟內(nèi)部按鈕兩部分。電路如圖2 所示,0 - 7是接單片機的P3 端口,單片機采用行和列掃描法來判別這16個按鍵中哪個鍵按下,并將其信號進行儲存,然后可根據(jù)每個按鍵的功能來通過單片機控制電梯的運行。下面將每個按鍵的功能說明一下:</p><p> 1L上: 一樓向上呼叫按鍵,此鍵按下表示一樓有人要乘坐電梯上樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p&g
46、t;<p> 2L上: 二樓向上呼叫按鍵,此鍵按下表示二樓有人要乘坐電梯上樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p><p> 3L上: 三樓向上呼叫按鍵,此鍵按下表示三樓有人要乘坐電梯上樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p><p> 4L上: 四樓向上呼叫按鍵,此按鍵按下
47、表示四樓有人要乘坐電梯上樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p><p> 2L下:二樓向下呼叫按鍵,此鍵按下表示二樓有人要乘坐電梯下樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p><p> 3L下:三樓向下呼叫按鍵,此鍵按下表示三樓有人要乘坐電梯下樓,并且單片機將此信號存入固定單元,等到電梯運行
48、到此樓層時判斷是否該響應(yīng)此呼叫;</p><p> 4L下:四樓向下呼叫按鍵,此按鍵按下表示四樓有人要乘坐電梯下樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p><p> 5L下:五樓向下呼叫按鍵,此按鍵按下表示五樓有人要乘坐電梯下樓,并且單片機將此信號存入固定單元,等到電梯運行到此樓層時判斷是否該響應(yīng)此呼叫;</p><p&
49、gt; 1L:電梯內(nèi)部選擇去一樓按鍵,此按鍵按下表示電梯里的乘客要去一樓,單片機根據(jù)此信號控制電梯的運行;</p><p> 2L:電梯內(nèi)部選擇去二樓按鍵,此按鍵按下表示電梯里的乘客要去二樓,單片機根據(jù)此信號控制電梯運行;</p><p> 3L:電梯內(nèi)部選擇去三樓按鍵,此按鍵按下表示電梯里的乘客要去三樓,單片機根據(jù)此信號控制電梯運行;</p><p> 4
50、L:電梯內(nèi)部選擇去四樓按鍵,此按鍵按下表示電梯里的乘客要去四樓,單片機根據(jù)此信號控制電梯運行;</p><p> 5L:電梯內(nèi)部選擇去五樓按鍵,此按鍵按下表示電梯里的乘客要去五樓,單片機根據(jù)此信號控制電梯運行;</p><p> ALARM:警報按鈕,此按鈕按下表示電梯有突發(fā)情況,單片機根據(jù)此信號會將電梯停止運行,點亮警報指示燈并發(fā)出警報;</p><p>
51、鍵盤電路如圖3 所示:</p><p><b> 圖3 鍵盤矩陣電路</b></p><p> 3.1.4 顯示電路設(shè)計</p><p> 本電路采用數(shù)碼管顯示電梯所到達的樓層數(shù),數(shù)碼管采用共陰極由單片機的P0口控制,當(dāng)電梯運行到兩樓層之間時,數(shù)碼管顯示為前一樓樓層。</p><p><b> 電路如
52、圖5 所示:</b></p><p><b> 圖5 樓層顯示電路</b></p><p> 3.1.5 電機正反轉(zhuǎn)控制</p><p> 本電路中用兩個發(fā)光二極管來表示電機正反轉(zhuǎn),如圖6所示:用單片機的P1.1口和P1.2口做輸出口來驅(qū)動發(fā)光二極管,其中上行燈亮表示電機正轉(zhuǎn),下行燈亮表示電機反轉(zhuǎn)、兩燈都不亮表示電機停轉(zhuǎn)。本
53、設(shè)計使用兩二極管反向并聯(lián)再與電機串聯(lián),有效的節(jié)約了單片機端口的使用,又能準(zhǔn)確的顯示電機的運行狀態(tài)。</p><p> 由于單片機的IO口電壓過低,不能驅(qū)動電機,故電機驅(qū)動部分采用常用的H橋電路,如圖6所示:</p><p> 圖6 直流電機H橋驅(qū)動電路</p><p> 3.1.6 目的樓層顯示電路</p><p> 本電路中用五個
54、發(fā)光二極管顯示電梯的目的樓層,置于電梯內(nèi)部,分別由單片機的P1.3到P1.7控制,當(dāng)對應(yīng)的目標(biāo)按鍵被按下時,向相應(yīng)的控制口輸入低電平,點亮二極管,其中亮的表示有人想前往該層樓,當(dāng)電梯到達該樓層時,對應(yīng)的二極管熄滅。每個二極管均用1K的電阻進行限流。</p><p> 目的樓層顯示電路如圖7所示:</p><p> 圖7 目的樓層顯示電路</p><p> 3.
55、1.7 警報電路</p><p> 本電路由蜂鳴器和發(fā)光二極管兩部分組成,其中蜂鳴器由單片機的P1.0口進行控制,二極管由單片機的P0.0口進行控制,由于P0口無內(nèi)部電壓,故在外部上拉電壓。當(dāng)有突發(fā)情況發(fā)生時,按下ALARM按鈕,蜂鳴器會發(fā)出警報,二極管將點亮。</p><p> 警報電路如圖8所示:</p><p><b> 圖8 警報電路<
56、/b></p><p><b> 3.2軟件設(shè)計</b></p><p> 3.2.1軟件運行整體設(shè)計</p><p> 軟件設(shè)計是智能化系統(tǒng)進行數(shù)據(jù)采集、處理、控制等工作的基礎(chǔ)。系統(tǒng)的軟件設(shè)計直接影響整個系統(tǒng)的運轉(zhuǎn)和硬件作用的發(fā)揮。</p><p> 本設(shè)計由于采用鍵盤矩陣來代替外呼內(nèi)選按鈕,而電梯的運行
57、方向是根據(jù)這些呼叫按鍵和選擇按鍵來決定的,所以單片機要不斷的掃描鍵盤來獲取各層呼叫狀態(tài)。從而來控制電梯的運行。故鍵盤矩陣掃描是本系統(tǒng)軟件設(shè)計的重要一部分,另外要把鍵盤掃描到的各層的按鍵信息存儲起來,然后和電梯的運行狀態(tài)比較,判斷是否響應(yīng)各層呼叫(電梯只響應(yīng)同方向呼叫),最后就是樓層顯示部分和警報部分了。整個軟件設(shè)計包括一下幾部分:</p><p> ⑴初始化程序使數(shù)碼管顯示“1”表示電梯處在一樓。</p&
58、gt;<p><b> ?、浦鞒绦蛑饕ǎ?lt;/b></p><p> ?、倥袛喑丝瓦M入電梯后選擇去哪一層,根據(jù)判斷情況來控制電梯運行;</p><p> ?、陔娞菰谶\行過程中要不斷的掃描鍵盤,從而來判斷各樓層有無呼叫請求,;</p><p> ?、垭娞菰谶\行過程中只響應(yīng)同方向的呼叫請求;</p><p>
59、 ④實時顯示電梯所在位置及運行狀態(tài)(上行/下行);</p><p> ?、蓍_關(guān)門有一定的延時來保證乘客走出/進入電梯;</p><p> 軟件流程圖如圖9 所示:</p><p><b> 圖9 軟件流程圖</b></p><p> 3.2.2 分析鍵值設(shè)計</p><p> 單片機在
60、讀取到鍵值后,自然會分析該鍵值來自于哪一層樓的哪個按鍵。然后才可以把該按鍵對應(yīng)的儲存單位置1,點亮相應(yīng)的二極管(實際中的電梯也是如此)。</p><p> 在本設(shè)計中,按鍵是按照行與列均勻分布的,特定的行與特定的列處的每個按鍵,均對應(yīng)有特定的鍵值。首先可以人為地規(guī)定每個按鍵在電梯中所處的位置。例如規(guī)定位第一行按鍵為上行呼叫的按鍵等等(具體可參照電路圖)。它有自己固定的鍵值。那么在返回鍵值后,只需用一個switc
61、h-case語句對相應(yīng)存儲數(shù)據(jù)進行置1即可。</p><p> 在程序中,我們定義了shang[]、xia[]、nei[]三個數(shù)組對相應(yīng)的按鍵狀況進行存儲,這一步是整個程序得以正常運行的前提與基礎(chǔ)。在程序開始之前,我們設(shè)置了這樣一些狀態(tài)變量,它們分別對應(yīng)于各個按鍵,當(dāng)某個按鍵按下時,其對應(yīng)的狀態(tài)變量就會被置位。這樣做的好處是使電梯在執(zhí)行判決操作時,有據(jù)可循。因為判決函數(shù)就是依靠當(dāng)前都有哪些鍵按下以及電梯此刻所處
62、的上下行狀態(tài)來判斷下一個需要停留的目標(biāo)樓層的。</p><p> 分析完鍵值的來源后,就要點亮相應(yīng)的二極管。由于二極管是由單片機控制且是低電平使發(fā)光二極管點亮,故一般來說,要點亮哪個二極管,只需在單片機向相應(yīng)端口輸入0即可。當(dāng)電梯到達該層后,我們再向該層對應(yīng)的端口輸入1即可熄滅該二極管。</p><p> 3.2.3電梯運行方向的判決方法</p><p> 這
63、是整個程序成功運行的核心保證。在電梯經(jīng)過一個樓層時,就會自動調(diào)用該函數(shù),它的作用是基于短時間、高效率、人性化的基礎(chǔ)上,合理智能的對電梯的運行進行調(diào)度,結(jié)合實際情況,最終得出電梯下一個目標(biāo)停留樓層。</p><p> 其流程如圖10所示:</p><p> 圖10 電梯判決流程圖</p><p> 由圖可知,程序中將實際情況分為四種情況來判斷:電梯上行且是去送
64、人(即電梯此時位于底層,而高層有人呼叫要上樓)、電梯上行且是去接人(即電梯此時位于底層,而高層有人呼叫要下樓)、電梯下行且是去送人(即電梯此時位于高層,而低層有人呼叫要下樓)、電梯下行且是去接人(即電梯此時位于高層,而低層有人呼叫要上樓)。</p><p> 在實際應(yīng)用中,最簡單的情況莫過于電梯當(dāng)前為閑置狀態(tài),然后有一人按下按鍵呼叫,然后電梯便響應(yīng)呼叫。但是,實際情況往往比這復(fù)雜的多,在第一個人按下按鍵電梯運行
65、的過程中,還很有可能會有其他不同樓層的人按下不同的按鍵(上行或者下行)的情況發(fā)生。那么就必須得為電梯規(guī)定好一個特定的優(yōu)先級規(guī)則,讓其依據(jù)這個規(guī)則來運行,以免亂作一團。那么這個規(guī)則就必須要高效且人性化,在此,我們規(guī)定,當(dāng)電梯上行時,均不理會那些按下行按鍵的顧客。并且,若在上行過程中,也有人在某層按的是上行按鍵,但是電梯此時已經(jīng)走過了該層,那么電梯也絕對不會再選擇先下行接他。當(dāng)然,當(dāng)將高層上行的顧客送完后(此時一般來說電梯已經(jīng)處于高層了),
66、電梯便會檢測下行按鍵,若更高層有人呼叫下行,則電梯會選擇先去響應(yīng)他們,然后再下行的過程中依次響應(yīng)按了下行處于等待中的顧客,最后這些顧客都送完后,再去相應(yīng)那些電梯上行過程中,處于比電梯低的樓層卻按了上行鍵的顧客。</p><p> 簡單地說,若電梯處于上行狀態(tài),則在該過程中響應(yīng)不同顧客的優(yōu)先級(或者電梯響應(yīng)的先后順序)為:高層呼叫上行顧客>高層呼叫下行顧客>底層呼叫下行顧客>底層呼叫上行顧客。&
67、lt;/p><p> 那么,當(dāng)電梯通過程序運行得知到相應(yīng)狀態(tài)后,又是如何具體的判斷當(dāng)天所鎖定的目標(biāo)樓層是否要變更呢?現(xiàn)以上行為例,加以詳細說明:</p><p> 若上行,且是送人,比如電梯當(dāng)前在一層,四樓有人呼叫上樓,那么它就要響應(yīng)這一呼叫,從而把自己的目標(biāo)樓層鎖定為四樓并向上運行,而在四樓呼叫后不久,三樓也有人呼叫上樓(且電梯此刻還未運行到三樓),那么在電梯運行中,沒經(jīng)過一個樓層,會做
68、一次判決,因為三樓也有人呼叫,所以正常情況下,它應(yīng)該在判決后將目標(biāo)樓層定位三樓。而若三樓的顧客按下的是下行鍵,或者二樓的人按下呼叫鍵,電梯此時都會暫時不予理會。部分程序代碼見附錄。</p><p> 由程序可以看出,當(dāng)四樓有上行鍵呼叫時,狀態(tài)變量shang[4]便會被置位,但電梯依然在判斷按鍵狀況,此時程序的檢測依據(jù)兩個標(biāo)準(zhǔn):第一,由低層向高層開始檢查;第二,對于電梯已經(jīng)過的樓層和按下下行鍵所發(fā)出的請求,電梯暫
69、時是不予理會的。這也是很明顯的,因為上行送人狀態(tài)中,低層的優(yōu)先權(quán)大于高層的。程序就是靠著上面這些if語句的嵌套,來完成這種優(yōu)先級設(shè)置的。</p><p> 至于上行接人狀態(tài)時,所堅持的標(biāo)準(zhǔn)是由高層到底層的順序進行排查,而對于上行鍵的呼叫暫時不予理會。下行的狀態(tài),恰好與上行相反,在此不再贅述。</p><p> 同時,我們設(shè)計了flag標(biāo)志位,當(dāng)flag=0表示電梯停止運行,當(dāng)flag=
70、1表示電梯向上運行,當(dāng)flag=2表示電梯向下運行。</p><p><b> 4 結(jié)束語</b></p><p> 本次畢業(yè)設(shè)計是對傳統(tǒng)設(shè)計電梯的部分改進,可以降低電梯的設(shè)計成本,實現(xiàn)樓層快速通行的模擬控制。另外由于此次設(shè)計實現(xiàn)的功能簡單,簡化處理了一些實際情況,沒有去考慮這種電梯在實際應(yīng)用中的故障問題,及一些更智能的硬件與軟件的安裝與調(diào)試,并且使用矩陣按鍵代替
71、獨立按鍵,與真實的電梯按鍵不符合。</p><p> 由于時間緊迫,本人能力有限,還有許多功能可以在此基礎(chǔ)上進行拓展,例如可以擴展單片機增加智能識別系統(tǒng),增加電梯內(nèi)部的溫度控制、增加單片機的故障預(yù)警等一些智能控制系統(tǒng)。隨著科技與經(jīng)濟的深入發(fā)展,單片機技術(shù)的不斷進步,以后的電梯控制系統(tǒng)將會越來越智能化,這對提升人們的生活質(zhì)量、生活的幸福指數(shù)有著深遠的意義。</p><p> 此次設(shè)計不僅
72、僅是一個硬件電路設(shè)計和程序編寫的過程,更重要的是實際問題的分析和設(shè)計階段的努力。我們將充分利用單片機開發(fā)上的靈活、快速的特點,來實現(xiàn)我們自己智能控制的設(shè)計。</p><p><b> 參考文獻</b></p><p> [1] 李林功·單片機原理與應(yīng)用-科學(xué)出版社,2011</p><p> [2] 李繼凱.楊艷·數(shù)字
73、電子技術(shù)及應(yīng)用-科學(xué)出版社,2012</p><p> [3] 華成英·模擬電子技術(shù)基本教程-清華大學(xué)出版社,2006</p><p> [4] 彭介華·電子技術(shù)課程設(shè)計指導(dǎo)-高等教育出版社,1997版.2010重印</p><p><b> 附錄</b></p><p><b>
74、 整體電路圖</b></p><p><b> 程序</b></p><p> #include <reg51.h> </p><p> #define uchar unsigned char</p><p> #define uint unsigned int </p>&
75、lt;p> sbit alarm1=P1^0; </p><p> sbit alarm2=P2^0; </p><p> sbit fz=P1^1;</p><p> sbit zz=P1^2;</p><p> sbit L1=P1^3; </p><p> sbit L2=P1^4; </
76、p><p> sbit L3=P1^5; </p><p> sbit L4=P1^6; </p><p> sbit L5=P1^7; </p><p> uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x00};</p><p> uint shang[6
77、]={0,0,0,0,0,0};</p><p> uint xia[6]={0,0,0,0,0,0};</p><p> uint nei[6]={0,0,0,0,0,0}; </p><p> uint num,temp,flag=0,lc=1,i,n; </p><p><b> //函數(shù)聲明語句</b>
78、</p><p> void delay(uint z); </p><p> void delay3();</p><p> void delay5(); </p><p> void keyscan(); </p><p> void display(uint aa);</p><p&
79、gt; void init(); </p><p> void zhishideng(); </p><p><b> //主函數(shù)</b></p><p> void main() </p><p> { init();//端口初始化 </p><p> while(1)
80、</p><p> { keyscan(); //鍵盤掃描 </p><p> zhishideng(); //有請求樓層亮對應(yīng)的指示燈 </p><p> if(flag==0) </p><p> { zz=fz=0;//電梯停止運行 </p><p> shang[lc]=0;/
81、/置位 </p><p> xia[lc]=0; </p><p> nei[lc]=0; </p><p> n=lc; </p><p> for(i=n+1;i<=5;i++)//檢測高樓層有無請求 </p><p> {keyscan();
82、 </p><p> zhishideng();</p><p> if(shang[i]==1||xia[i]==1||nei[i]==1) </p><p> { flag=1; </p><p> break; </p><p><b> } </b
83、></p><p><b> } </b></p><p> for(i=n-1;i>=1;i--)//檢測低樓層有無請求 </p><p> { keyscan();</p><p> zhishideng(); </p><p> if(shan
84、g[i]==1||xia[i]==1||nei[i]==1) </p><p> { flag=2; </p><p><b> break; </b></p><p><b> } </b></p><p><b> } </b></p&
85、gt;<p><b> } </b></p><p> if(flag==1) </p><p> { keyscan();</p><p> zhishideng(); </p><p><b> zz=1; </b></p><p> f
86、z=0; </p><p> delay5(); </p><p><b> lc++; </b></p><p> display(lc); </p><p> if(shang[lc]==1||nei[lc]==1)//是否已到達指定樓層 </p><p><
87、;b> {</b></p><p> shang[lc]=0; </p><p> nei[lc]=0; </p><p> zhishideng(); </p><p><b> fz=0; </b></p><p><b>
88、zz=0; </b></p><p> delay3(); </p><p><b> } </b></p><p><b> flag=0; </b></p><p><b> n=lc; </b></p><p&
89、gt; for(i=n+1;i<=5;i++) //檢測高樓層有無請求 </p><p> { keyscan(); </p><p> zhishideng(); </p><p> if(shang[i]==1||xia[i]==1||nei[i]==1) </p><p> { flag=1; </
90、p><p> break; </p><p><b> } </b></p><p><b> }</b></p><p> if(flag==0||lc>=5) </p><p> { n=lc; </p&g
91、t;<p> if(shang[n]==0&&nei[n]==0) </p><p><b> {</b></p><p><b> fz=0;</b></p><p><b> zz=0;</b></p><p><b>
92、; delay3();</b></p><p><b> } </b></p><p><b> xia[n]=0;</b></p><p> for(i=n-1;i>=1;i--) //檢測低樓層有無請求 </p><p> { keyscan();&
93、lt;/p><p> zhishideng(); </p><p> if(shang[i]==1||xia[i]==1||nei[i]==1) </p><p> { flag=2;</p><p><b> break;</b></p><p><b&g
94、t; } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p> if(flag==2)</p><p><b> {
95、</b></p><p> keyscan(); </p><p> zhishideng(); </p><p><b> zz=0; </b></p><p><b> fz=1; </b></p><p> delay5(); &
96、lt;/p><p><b> lc--;</b></p><p> display(lc); </p><p> if(xia[lc]==1||nei[lc]==1) </p><p> { xia[lc]=0;</p><p> nei[lc]=0;</p&
97、gt;<p> zhishideng();</p><p><b> fz=0; </b></p><p><b> zz=0;</b></p><p> delay3(); </p><p><b> }</b></p><p>
98、;<b> flag=0;</b></p><p><b> n=lc; </b></p><p> for(i=n-1;i>=1;i--) </p><p> { keyscan();</p><p> zhishideng(); </p>&l
99、t;p> if(shang[i]==1||xia[i]==1||nei[i]==1) </p><p> { flag=2;</p><p><b> break; </b></p><p><b> } </b></p><p><b>
100、} </b></p><p> if(flag==0||lc<=1) </p><p> { n=lc;</p><p> if(xia[n]==0&&nei[n]==0) </p><p> { fz=0;</p><p><b>
101、 zz=0;</b></p><p><b> delay3();</b></p><p><b> } </b></p><p> shang[n]=0; </p><p> for(i=n+1;i<=5;i++) </p><p>
102、; { keyscan();</p><p> zhishideng(); </p><p> if(shang[i]==1||xia[i]==1||nei[i]==1) </p><p> { flag=1;</p><p><b> break;</b></p&
103、gt;<p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b>
104、</p><p><b> }</b></p><p> //二極管點亮熄滅函數(shù)。 </p><p> void zhishideng() </p><p> { L1=!nei[1];</p><p> L2=!nei[2];</p><p> L3=!ne
105、i[3];</p><p> L4=!nei[4];</p><p> L5=!nei[5];</p><p><b> } </b></p><p> //端口初始化函數(shù)。</p><p> void init()</p><p> { P2=0xff;
106、</p><p><b> P1=0xf8;</b></p><p> P0=table[lc];</p><p><b> P3=0x00;</b></p><p><b> }</b></p><p> //數(shù)碼管顯示函數(shù)。</p&g
107、t;<p> void display(uint aa)</p><p> { P0=table[aa];</p><p><b> } </b></p><p><b> //延遲五秒函數(shù)。</b></p><p> void delay5() </p&g
108、t;<p> { uint x,y;</p><p> for(x=380;x>0;x--)</p><p> for(y=110;y>0;y--)</p><p> { keyscan();</p><p> zhishideng();</p><p><b>
109、 }</b></p><p><b> } </b></p><p><b> //延遲三秒函數(shù)。</b></p><p> void delay3() </p><p> { uint x,y; </p><p> for(x=280;x&
110、gt;0;x--) </p><p> for(y=110;y>0;y--) </p><p> { keyscan();</p><p> zhishideng();</p><p><b> }</b></p><p><b> } </b>&
111、lt;/p><p><b> //ms級延函數(shù)。</b></p><p> void delay(uint z) </p><p> { uint x,y;</p><p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--); } &
112、lt;/p><p> //鍵盤掃描函數(shù)。 </p><p> void keyscan() </p><p><b> { num=0;</b></p><p> P3=0xfe;//第一行為低電平</p><p> temp=P3;//讀入列按鍵值</p><
113、p> temp=temp&0xf0; </p><p> while(temp!=0xf0) </p><p> { delay(5);//調(diào)用延時消抖</p><p><b> temp=P3;</b></p><p> temp=temp&0xf0; </p>
114、<p> while(temp!=0xf0) </p><p> { temp=P3; </p><p> switch(temp) </p><p> { case 0xee:num=1; break; </p><p> case 0xde:num=2; break;
115、 </p><p> case 0xbe:num=3; break; </p><p> case 0x7e:num=4; break;</p><p><b> } </b></p><p> while(temp!=0xf0)//等待響應(yīng)結(jié)束(高四位變回全“1”)</p&
116、gt;<p> { temp=P3;</p><p> temp=temp&0xf0; </p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p&
117、gt;<p><b> P3=0xfd;</b></p><p><b> temp=P3;</b></p><p> temp=temp&0xf0; </p><p> while(temp!=0xf0) </p><p> {delay(5); </p&
118、gt;<p><b> temp=P3; </b></p><p> temp=temp&0xf0; </p><p> while(temp!=0xf0) </p><p> { temp=P3;</p><p> switch(temp) </p>&l
119、t;p> { case 0xed:num=5; break; </p><p> case 0xdd:num=6; break; </p><p> case 0xbd:num=7; break; </p><p> case 0x7d:num=8; break;</p>
120、<p><b> } </b></p><p> while(temp!=0xf0) </p><p> { temp=P3;</p><p> temp=temp&0xf0; </p><p><b> } </b></p><
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--基于單片機的水位控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--基于單片機的水位控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--基于單片機at89s51的電梯控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--基于51單片機的溫度控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計——基于51單片機的溫度控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計——單片機控制步進電機控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--基于51單片機的溫度控制系統(tǒng)設(shè)計
- 單片機控制系統(tǒng)課程設(shè)計--基于單片機的電壓測量系統(tǒng)的設(shè)計
- 單片機課程設(shè)計--基于單片機的交通控制系統(tǒng)模擬設(shè)計
- 單片機課程設(shè)計報告--基于單片機的交通燈控制系統(tǒng)
- 單片機課程設(shè)計報告---單片機控制秒表系統(tǒng)
- 單片機的控制系統(tǒng)課程設(shè)計
- 單片機課程設(shè)計--單片機控制的交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計---基于at89s52單片機的溫度控制系統(tǒng)
- 單片機課程設(shè)計---基于at89s52 單片機的溫度控制系統(tǒng)
- 單片機的控制系統(tǒng)課程設(shè)計
- 單片機課程設(shè)計--單片機控制步進電機
- 單片機課程設(shè)計--基于單片機的秒表系統(tǒng)設(shè)計
- 單片機課程設(shè)計-單片機控制步進電機
- 單片機課程設(shè)計--基于單片機的控制循環(huán)燈設(shè)計
評論
0/150
提交評論