版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章緒論1.1選題背景、研究目的及意義1.1.1選題背景隨著社會(huì)整體生活質(zhì)量的提高,人們居住、辦公場所逐漸從低矮樓層演變成高樓大廈,在其之中不可或缺的垂直運(yùn)輸與垂直交通工具即為電梯。電梯的應(yīng)用場景廣泛,涵蓋各類商用大樓與住宅大樓、商城、旅游業(yè)、醫(yī)院及交通樞紐中心。目前電梯的控制方式主要有繼電器控制、可編程控制器控制、微機(jī)控制(單片機(jī)控制)這三種控制方式REF_Ref32010\r\h[1]。其中利用單片機(jī)設(shè)計(jì)的電梯控制系統(tǒng)有明顯的優(yōu)點(diǎn):成本低、結(jié)構(gòu)簡單、運(yùn)行穩(wěn)定、有高精度的重量檢測和更智能的屏幕顯示等。采用單片機(jī)控制方式設(shè)計(jì)的控制系統(tǒng)可以隨著設(shè)備的更新而不斷修改、不斷完善,相較于其它控制方式更便于實(shí)現(xiàn)設(shè)備的升級(jí)REF_Ref32164\r\h[2]。1.1.2研究目的及意義電梯升降系統(tǒng)廣泛應(yīng)用于城市設(shè)施,其安全性、穩(wěn)定性和運(yùn)動(dòng)過程中的低能耗是電梯設(shè)計(jì)師和制造商更應(yīng)在意的REF_Ref3265\r\h[3]。同時(shí)用戶對(duì)于直梯的需求從基本運(yùn)輸轉(zhuǎn)變?yōu)楦踩?、更高效、功能性更多樣化。智能化的直梯控制系統(tǒng)無疑是直梯系統(tǒng)發(fā)展的主流,構(gòu)建這樣的系統(tǒng),采用單片機(jī)控制有很大的優(yōu)點(diǎn)。由于傳統(tǒng)電梯的運(yùn)行控制系統(tǒng)采用的是繼電器控制線路,采用這種方式控制線路存在顯著缺點(diǎn),如易出故障、維護(hù)不便、運(yùn)行壽命較短、占用空間大等REF_Ref3408\r\h[4]。由單片機(jī)控制的直梯控制系統(tǒng)功能更完全,在安全方面,系統(tǒng)能實(shí)時(shí)檢測電梯運(yùn)行狀態(tài),比如電梯的停靠樓層、電梯廂內(nèi)溫度、電梯是否超載等,一旦有異常能立即報(bào)警并停止運(yùn)行,這種系統(tǒng)能有效避免事故發(fā)生,最大程度的保障乘客生命安全。1.2國內(nèi)外研究現(xiàn)狀分析1.2.1國內(nèi)研究現(xiàn)狀根據(jù)目前的調(diào)查統(tǒng)計(jì),我國是全球最大的電梯新裝市場和電梯生產(chǎn)國家。建筑中電梯作為人們工作和生活中經(jīng)常使用的用電電器設(shè)備之一,截至2020年,我國電梯產(chǎn)量約110萬臺(tái),在用電梯超過800萬臺(tái)REF_Ref16\r\h[5]。中國電梯行業(yè)市場規(guī)模龐大,且隨著城市化進(jìn)程加速的到來,電梯市場迎來房地產(chǎn)市場發(fā)展迅速導(dǎo)致的電梯新裝、老樓新裝電梯以及舊電梯更換的需求大等問題,這使得電梯市場的需求持續(xù)增長。面對(duì)龐大的用戶需求,我國的電梯技術(shù)也在不斷創(chuàng)新,電梯智能化、數(shù)字化、安全節(jié)能的系統(tǒng)不斷被研發(fā)。伴隨著現(xiàn)代科學(xué)技術(shù)技術(shù)的迅猛發(fā)展,電梯自動(dòng)控制系統(tǒng)已發(fā)展成可以使傳統(tǒng)數(shù)字電路設(shè)計(jì)根據(jù)軟件驅(qū)動(dòng),而非硬件驅(qū)動(dòng)來提升電梯運(yùn)行全過程以適應(yīng)乘客的核心需求REF_Ref3444\r\h[6]。我國電梯的功能對(duì)于安全管理、數(shù)字監(jiān)控、人臉識(shí)別、語音播報(bào)、無障礙、智能化宣傳等功能的應(yīng)用已經(jīng)趨于熟練。節(jié)能電梯的研發(fā)在我國實(shí)現(xiàn)碳達(dá)峰、碳中和目標(biāo)中起著重要作用。電梯雖小,但它是在建筑中的能耗大戶,而且越高層的建筑能耗越高。我國現(xiàn)研究有聚焦于光儲(chǔ)直柔建筑中電梯的直流化技術(shù)REF_Ref5943\r\h[8]。更有針對(duì)光伏電梯系統(tǒng)用BLDC電機(jī)的曳引機(jī),采用伺服電機(jī)的電流、轉(zhuǎn)速、轉(zhuǎn)矩三閉環(huán)控制方式來對(duì)BLDC電機(jī)進(jìn)行仿真分析REF_Ref6779\r\h[9]。提高電梯運(yùn)行能效水平、能量回收效益和安全可靠性,對(duì)于實(shí)現(xiàn)雙碳目標(biāo)具有重要意義。目前,我國的節(jié)能電梯技術(shù)在某些方面已經(jīng)達(dá)到了國際領(lǐng)先水平,特別是最近幾年國家在政策導(dǎo)向上的傾斜,國內(nèi)很多公司都為節(jié)能電梯的研制投入了大量的人力、物力、財(cái)力,這為節(jié)能電梯的推廣、為我國的節(jié)能減排事業(yè)做出了一定的貢獻(xiàn)REF_Ref32291\r\h[7]。在提升運(yùn)輸效率方面,國內(nèi)有一種基于有軌制導(dǎo)車輛(RGV)的多維度電梯,它不僅克服了傳統(tǒng)電梯結(jié)構(gòu)的缺陷、提升了大跨度建筑內(nèi)乘客的移動(dòng)效率,在垂直方向?qū)崿F(xiàn)了電梯的循環(huán)運(yùn)行,同時(shí)突破了傳統(tǒng)電梯單維度運(yùn)行的限制,可以實(shí)現(xiàn)電梯的水平橫向移動(dòng)REF_Ref9151\r\h[10]?,F(xiàn)今,國內(nèi)電梯領(lǐng)域技術(shù)的各類技術(shù)發(fā)展迅速。有電梯的全數(shù)字識(shí)別乘客技術(shù),它可以通過用乘客進(jìn)入電梯前智能識(shí)別的面部、瞳孔信息,與錄入信息比對(duì),能對(duì)外來乘客進(jìn)行電梯使用限制。更有數(shù)字智能型安全控制技術(shù),它通過識(shí)別IC、ID卡或智能識(shí)別系統(tǒng),能有效拒絕外來人員進(jìn)入。另外還有:電梯的快速安裝技術(shù),它改變了傳統(tǒng)的電梯安裝方式,能夠快速組裝電梯;高速電梯技術(shù),其最高運(yùn)行速可達(dá)12.5m/s,實(shí)現(xiàn)了超高速情況下電梯的穩(wěn)定運(yùn)行及安全運(yùn)行;無機(jī)房電梯的研究,它不再需要建筑物提供封閉的專門機(jī)房,節(jié)省了占用空間,具有很大的靈活性和方便性。這些技術(shù)與各類研究都為我國直梯領(lǐng)域的發(fā)展做出巨大貢獻(xiàn)。1.2.2國外研究現(xiàn)狀在19世紀(jì)前,垂直運(yùn)輸一直是人們生活中一大挑戰(zhàn),長期以來,人們依靠人力及滑輪繩索來完成垂直運(yùn)輸,直到1889年美國奧梯斯升降機(jī)公司推出的世界上第1部以電動(dòng)機(jī)為動(dòng)力的升降機(jī)在紐約市馬累特大廈安裝成功REF_Ref451\r\h[11],自這以后,以美國、瑞士為首的發(fā)達(dá)國家對(duì)于電梯技術(shù)的使用及創(chuàng)新便領(lǐng)先于世界。國外電梯技術(shù)發(fā)展迅速,早在10年前就有對(duì)于利用三相電壓源轉(zhuǎn)換器減少電梯轉(zhuǎn)換器的功率損失研究REF_Ref5822\r\h[12],有效節(jié)約能源,進(jìn)一步提升了電梯的節(jié)能性。隨著全球自動(dòng)化進(jìn)程的推進(jìn)、技術(shù)革新及多樣化發(fā)展,如今曳引驅(qū)動(dòng)的電梯、變壓變頻控制的電梯以及無機(jī)房電梯的推出,電梯的性能、節(jié)能、安全性和舒適度進(jìn)一步提升。此外,美國研發(fā)出的使用扁平符合鋼帶取代鋼絲繩的GEN2電梯系統(tǒng)、瑞士研發(fā)的兩個(gè)轎廂在同一井道內(nèi)單獨(dú)運(yùn)行的雙子電梯系統(tǒng),以及德國磁懸浮電梯的研究、直線PMSM(永磁同步電機(jī))驅(qū)動(dòng)無繩電梯的研究REF_Ref5779\r\h[13]、齒輪感應(yīng)電機(jī)(IMS)上的無齒輪PMSM(永磁同步電機(jī))電梯的研究REF_Ref6986\r\h[14]等新型研發(fā)層出不窮。這些研發(fā)成果及研究使得電梯的功能愈發(fā)強(qiáng)大,其可靠性、實(shí)用性、安全性也進(jìn)一步提升,在人們的生活中也提供了更多的便利。對(duì)于電梯安全,電梯事故是最影響乘客安全的因素,其可能造成的嚴(yán)重傷害和財(cái)產(chǎn)損失巨大。如果電梯從高高的建筑物上掉下來并高速撞到地面,則乘客幾乎沒有生存的機(jī)會(huì)。現(xiàn)有一類具有分層結(jié)構(gòu)的電梯分形緩沖液,該緩沖液靈感來自壁虎的肉墊系統(tǒng),使用其緩沖可以最大程度地減少損壞REF_Ref13498\r\h[15]。還有一種用于電梯安全管理的遙控集成模型,利用遠(yuǎn)程管理實(shí)現(xiàn)系統(tǒng)電梯維護(hù)、電梯故障分析,是一種用于各種SME電梯產(chǎn)品的更安全管理的電梯的方法REF_Ref12981\r\h[16]。更有保證殘障人士乘梯安全的研究:電梯著陸門安全固定器,該研究可以有效防止由于電動(dòng)輪椅與電梯著陸門的碰撞行為,導(dǎo)致的在電梯的起落門處發(fā)生的電動(dòng)輪椅跌落事故REF_Ref16470\r\h[17]。在電梯運(yùn)輸方面,有一類在特定情況下可以實(shí)現(xiàn)不間斷將物品輸送到目的地的斗式電梯,通過固定運(yùn)輸帶上的不定量的承載物傳輸,這類電梯廣泛運(yùn)用于農(nóng)業(yè)、食品行業(yè)、裝修行業(yè)、制藥業(yè)及采礦工作中,大量的節(jié)省了時(shí)間和人工成本、提升了運(yùn)輸效率。現(xiàn)今電梯行業(yè)發(fā)展已趨于成熟,在全球物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展的推動(dòng)下,未來全球的電梯將向數(shù)字化、智能化和低碳環(huán)保發(fā)展。1.3主要研究內(nèi)容基于單片機(jī)的直梯控制系統(tǒng)利用紅外檢測模塊檢測是否有人進(jìn)出,利用重量檢測模塊和溫度檢測模塊對(duì)電梯內(nèi)的重量和溫度進(jìn)行監(jiān)測。通過鍵盤模塊來獲取樓層信息,通過電機(jī)正反轉(zhuǎn)模擬實(shí)現(xiàn)電梯的上下行。若直梯超載或者梯內(nèi)溫度過高,則通過指示燈和蜂鳴器進(jìn)行不同的聲光報(bào)警,且不能上下行。同時(shí)設(shè)置維修模式,此模式下電梯不可使用。通過顯示屏可顯示實(shí)時(shí)相關(guān)信息。本系統(tǒng)設(shè)計(jì)由單片機(jī)、紅外監(jiān)測模塊、重量監(jiān)測模塊、溫度監(jiān)測模塊、顯示模塊等構(gòu)成。綜上所述,本系統(tǒng)設(shè)計(jì)可實(shí)現(xiàn)以下基本功能:1)直梯上下行到不同樓層由不同指示燈顯示;2)超載或溫度過高有不同的聲光報(bào)警;3)自動(dòng)識(shí)別有人進(jìn)出開門防夾,無人進(jìn)出延遲關(guān)門;4)可實(shí)時(shí)顯示相關(guān)數(shù)據(jù);5)可設(shè)置維修模式。第2章總體設(shè)計(jì)于硬件選型2.1總體設(shè)計(jì)方案本文設(shè)計(jì)一個(gè)基于單片機(jī)的直梯控制系統(tǒng)。該系統(tǒng)由單片機(jī)、紅外檢測模塊、輸入按鍵模塊、重量檢測模塊、溫度檢測模塊、顯示模塊、電機(jī)驅(qū)動(dòng)模塊等構(gòu)成??梢耘袛嗍欠裼腥诉M(jìn)出實(shí)現(xiàn)防夾功能;通過指示燈和蜂鳴器判斷是否超載或溫度過高,實(shí)現(xiàn)聲光報(bào)警;利用按鍵實(shí)現(xiàn)各樓層外部呼叫電梯與電梯內(nèi)部選擇樓層等功能。硬件系統(tǒng)設(shè)計(jì)框圖如圖2-1所示:圖2-SEQ圖\*ARABIC1硬件系統(tǒng)框圖2.2硬件選型2.2.1主控芯片選型方案1:采用STC89C52作為主控芯片。STC89C52是一款基于8051內(nèi)核的單片機(jī),其采用CISC架構(gòu),具有結(jié)構(gòu)簡單、運(yùn)行穩(wěn)定和工作可靠的特點(diǎn)。它的優(yōu)點(diǎn)在于:采用低功耗設(shè)計(jì);搭載高速時(shí)鐘,最高可達(dá)33MHz,具有快速的響應(yīng)速度和運(yùn)算能力;支持多種編程方式,編程過程較簡便;使用方法簡單且成本較低。STC89C52如圖2-2所示。圖SEQ圖\*ARABIC2-2STC89C52方案2:采用STM32F103C8T6作為主控芯片。STM32F103C8T6是基于ARMCortex-M系列的32位處理器核心,其采用RISC架構(gòu)。它具有更高的時(shí)鐘頻率和更大的內(nèi)存容量,能夠處理更復(fù)雜的任務(wù)。同時(shí)配備有豐富的外設(shè)接口,包括GPIO、UART、SPI、I2C等,這些接口可以滿足復(fù)雜的數(shù)據(jù)處理和通信需求。其性能與功能相對(duì)更強(qiáng)大。STM32F103C8T6如圖2-3所示。圖2-SEQ圖\*ARABIC3STM32最小系統(tǒng)板綜上所述,對(duì)比STC89C52和STM32F103C8T6,STM32F103C8T6具有高性能、低功耗的特點(diǎn),同時(shí)它的相對(duì)內(nèi)存容量大,具有豐富的外設(shè)接口,能實(shí)現(xiàn)更復(fù)雜的功能,故本次設(shè)計(jì)采用方案2:采用STM32F103C8T6為主控芯片。2.2.2溫度檢測模塊選型方案1:采用DS18B20測溫模塊。DS18B20是一種單總線數(shù)字溫度傳感器,它的測溫范圍為-55℃~125℃。器件內(nèi)部高速暫存器區(qū)有兩個(gè)字節(jié)的溫度寄存器,用來存儲(chǔ)溫度傳感器輸出的數(shù)據(jù)。在這之外,高速暫存器區(qū)還有一字節(jié)的上下溫度報(bào)警寄存器(TH和TL),和一個(gè)字節(jié)的配置寄存器。DS18B20測溫模塊如圖2-4所示。圖2-SEQ圖\*ARABIC\s14DS18B20測溫模塊方案2:采用MLX90614ESF紅外測溫傳感器模塊。它是一種非接觸式紅外溫度傳感器,環(huán)境溫度測量范圍為-40℃~85℃。它具備高精度、高分辨率、響應(yīng)時(shí)間快的特點(diǎn),但是它的成本較高。MLX90614ESF紅外測溫傳感器模塊如圖2-5所示圖2-SEQ圖\*ARABIC\s15MLX90614ESF紅外測溫傳感器模塊綜上所述,對(duì)比兩個(gè)溫度檢測模塊,DS18B20雖精度度較低,但相對(duì)價(jià)格更低,且可檢測溫度的范圍更大,更符合本次設(shè)計(jì)的需求,故選用方案1:采用DS18B20測溫模塊。2.2.3顯示模塊選型方案1:以LCD1602液晶屏作為顯示模塊。LCD1602液晶屏能顯示的內(nèi)容豐富,可顯示文字、圖片等內(nèi)容,且顯示效果好,可以顯示32個(gè)字符。但是它占用的IO口較多,而且成本較高,對(duì)于環(huán)境有一定的限制,不夠穩(wěn)定可靠。LCD1602液晶屏如圖2-6所示。圖2-SEQ圖\*ARABIC\s16LCD1602液晶屏方案2:以0.96寸OLED液晶屏作為顯示模塊。OLED液晶屏的可視角度大,功耗低,同時(shí)它還具備自發(fā)光、不需要背光源、厚度薄等特點(diǎn)。也可以顯示文字、圖片等內(nèi)容,同時(shí)尺寸較小。驅(qū)動(dòng)芯片為SSD1315,采用IIC通信,對(duì)于IO口的占用少,只要2個(gè)IO口就能驅(qū)動(dòng)。0.96寸OLED液晶屏如圖2-7所示。圖2-SEQ圖\*ARABIC\s170.96寸OLED液晶屏綜上所述,對(duì)比上述兩種顯示屏,OLED液晶屏同樣可以顯示文字與圖片、且尺寸較小、占用IO口較少,更符合本次設(shè)計(jì)的需求,故選用方案2:以0.96寸OLED液晶屏為顯示模塊。2.2.4重量檢測模塊選型方案1:采用HX711測重模塊作為重量檢測模塊。此模塊由應(yīng)變片和HX711電路組成。HX711具有低功耗、抗干擾能力強(qiáng)、接口簡單的特點(diǎn)。同時(shí)它還具有高分辨率、高精準(zhǔn)、低耗能的特點(diǎn),能夠精確地檢測重量變化。HX711測重模塊如圖2-8所示。圖2-SEQ圖\*ARABIC\s18HX711測重模塊方案2:采用ADXL345模塊作為重量檢測模塊。ADXL345是一種數(shù)字三軸重力加速度傳感器,它可以用來間接測量重量。其通過檢測物體在各個(gè)方向上加速度的變化,來估算物體的重量。但間接測重容易存在誤差,而且操作復(fù)雜。ADXL345模塊如圖2-9所示。圖2-SEQ圖\*ARABIC\s19ADXL345模塊綜上所述,對(duì)比上述兩種測重模塊,HX711測重模塊操作簡易,可直接精準(zhǔn)測量重量,且安裝簡單。故本次設(shè)計(jì)選用方案1:采用HX711測重模塊。2.2.5紅外檢測模塊選型方案1:采用紅外線對(duì)射式傳感器QT30CM。紅外線對(duì)射式傳感器響應(yīng)時(shí)間短,能夠?qū)崿F(xiàn)快速檢測。檢測方向單一,具有針對(duì)性。它具有很高的靈敏度,且其精度高。紅外線對(duì)射式傳感器如圖2-10所示。圖2-SEQ圖\*ARABIC\s110紅外線對(duì)射式傳感器方案2:采用HC-SR501人體紅外感應(yīng)模塊。HC-SR501人體紅外感應(yīng)模塊是基于紅外線技術(shù)的一種自動(dòng)控制模塊。它采用LHI778探頭設(shè)計(jì),具備靈敏度高、可靠性強(qiáng)等特點(diǎn)。同時(shí)具有溫度補(bǔ)償,可以適應(yīng)各種環(huán)境。但檢測范圍過大,容易產(chǎn)生誤差。HC-SR501人體紅外感應(yīng)模塊如圖2-11所示。圖2-SEQ圖\*ARABIC\s111HC-SR501人體紅外感應(yīng)模塊綜上所述,紅外線對(duì)射式傳感器可靠性高、可實(shí)現(xiàn)快速檢測、具有高靈敏度、檢測具有針對(duì)性,更符合本次設(shè)計(jì)的需求,故選用方案1:紅外線對(duì)射式傳感器模塊。2.3本章小結(jié)綜上所述,本設(shè)計(jì)硬件電路部分各模塊選型為:采用STM32F103C8T6為主控芯片;采用DS18B20測溫模塊為溫度檢測模塊;采用0.96寸OLED液晶屏為顯示模塊;采用HX711測重模塊為重量檢測模塊;采用紅外線對(duì)射式傳感器模塊為紅外檢測模塊。第3章硬件介紹及子電路設(shè)計(jì)3.1系統(tǒng)主控設(shè)計(jì)單片機(jī)STM32F103C8T6是一款基于ARMCortex-M內(nèi)核、屬于STM32系列的32位微型控制器。它采用LQFP48封裝,具備有64KB的程序存儲(chǔ)器容量,并且擁有37個(gè)GPIO口。它具有更高的時(shí)鐘頻率和更大的內(nèi)存容量,能夠處理復(fù)雜的任務(wù)。同時(shí)集成有豐富的外設(shè)接口資源,包括多個(gè)通用定時(shí)器模塊、串行通信接口以及模擬數(shù)字轉(zhuǎn)換器等,可以滿足復(fù)雜的數(shù)據(jù)處理和通信需求。STM32F103C8T6單片機(jī)PB12-PB15連接指示燈,用于超載、超溫的聲光報(bào)警以及顯示開門和關(guān)門情況。PA8-PA15連接外部呼叫電梯獨(dú)立鍵盤,用來獲取電梯外部呼叫信息。PB3、PB4連接OLED屏幕作為顯示模塊,用于顯示實(shí)時(shí)信息。PB5連接蜂鳴器,用于在超重、超溫時(shí)的聲光報(bào)警或按下報(bào)警按鈕時(shí)手動(dòng)報(bào)警的發(fā)聲。PB6連接溫度檢測模塊,用于檢測電梯內(nèi)實(shí)時(shí)溫度。PB7、PB8連接重量檢測模塊,用于檢測實(shí)時(shí)重量,防止電梯超重。PB9連接紅外檢測模塊,用于檢測是否有人進(jìn)出,實(shí)現(xiàn)開門防夾功能。PA0-PA7連接電梯內(nèi)部操作獨(dú)立鍵盤,獲取電梯內(nèi)部操作信息。PB0、PB1、PB10、PB11連接步進(jìn)電機(jī)模塊,用于模擬電梯的上下行運(yùn)行。本設(shè)計(jì)使用STM32F103C8T6最小系統(tǒng)板,并將引腳額外引出,方便使用未使用的多余引腳,STM32F103C8T6最小系統(tǒng)板引腳圖如圖3-1所示。圖3-SEQ圖\*ARABIC\s11STM32F103C8T6最小系統(tǒng)板引腳圖STM32F103C8T6引腳豐富,具有PA0-PA5、PB0-PB15、PC13-PC15、PD0-PD2、PE0-PE5、PF0-PF1通用IO引腳,其中PA0-PA5、PB0-PB15可用于輸入/輸出、外部中斷、模擬輸入等,PC13-PC15、PD0-PD2、PE0-PE5、PF0-PF1可用于輸入/輸出、外部中斷等。剩下為特殊引腳,通用IO的其他引腳功能及特殊引腳說明如下表3-1。表3-SEQ表\*ARABIC\s11特殊引腳說明引腳引腳說明VBAT備用電源引腳VCC3V3電源輸入GND接地線HSE_IN外部高速時(shí)鐘輸入HSE_OUT外部高速時(shí)鐘輸出LSE_IN外部低速時(shí)鐘輸入LSE_OUT外部低速時(shí)鐘輸出NRST復(fù)位引腳PA13(JTMS/SWDIO)和PA14(JTCK/SWCLK)JTAG和SWD調(diào)試接口PA9/PA10USART1的TX/RX引腳PA2/PA3USART2的TX/RX引腳PB10/PB11I2C2的SCL/SDA引腳PA4/PA7、PB0/PB1ADC模數(shù)轉(zhuǎn)換器的模擬輸入引腳3.2電源模塊設(shè)計(jì)電源模塊在單片機(jī)的正常穩(wěn)定運(yùn)作起著至關(guān)重要的作用,起著整個(gè)系統(tǒng)的供電作用。電源模塊電路如圖3-4所示,其中PWD1為3.5插頭,U2為一個(gè)自鎖按鍵,插入電源后,按下自鎖按鍵時(shí)電源接通VCC,且電流可回到GND接地端形成回路,此時(shí)系統(tǒng)供電正常。同時(shí)設(shè)有電源指示燈電路,由1K電阻和紅色LED燈組成,通過LED的燈亮或燈滅來表示電源接通或斷開狀態(tài),當(dāng)供電正常且自鎖按鍵被按下時(shí),LED燈就會(huì)點(diǎn)亮。圖3-4電源電路3.3按鍵輸入模塊設(shè)計(jì)按鍵輸入模塊是本系統(tǒng)的重要模塊之一,它用于獲取主要操作命令,本設(shè)計(jì)使用獨(dú)立按鍵作為輸入模塊,按鍵一端與IO口連接,另一端接地,通過控制IO口輸出高電平檢測按鍵是否被按下,按下時(shí)IO口拉低,松開后回到高電平。按鍵輸入電路分為電梯內(nèi)部操作獨(dú)立按鍵和電梯外部上下呼叫獨(dú)立按鍵兩部分,如圖3-5所示。右側(cè)為電梯內(nèi)部操作獨(dú)立按鍵電路連接單片機(jī)的PA0-PA7,設(shè)有:1、2、3、4層數(shù)選擇按鈕,可向系統(tǒng)發(fā)出樓層指令;開門、關(guān)門按鈕,向系統(tǒng)發(fā)出開門或關(guān)門指令;報(bào)警按鈕,可通過按下此按鈕進(jìn)行聲光報(bào)警,防止電梯出現(xiàn)故障時(shí)有人員不能得到及時(shí)救援;維修按鈕,維修人員可通過此按鈕進(jìn)入維修模式,為保證維修人員的安全,設(shè)置在維修模式下電梯不可使用。左側(cè)為電梯外部上下呼叫獨(dú)立按鍵電路連接單片機(jī)的PA8-PA15,在每一層設(shè)有上行或下行呼叫按鍵(1層只設(shè)有上行呼叫、4層只設(shè)有下行呼叫),可以通過呼叫按鍵呼叫電梯。圖3-5按鍵輸入模塊電路3.4紅外檢測模塊設(shè)計(jì)對(duì)射式紅外傳感器可以通過紅外發(fā)射管向接收管發(fā)射紅外射線判斷是否有遮擋,發(fā)射端連接電源、接地和IO口,接收端接地,紅外射線有遮擋時(shí)輸出低電平,無遮擋時(shí)輸出高電平。單片機(jī)作為紅外檢測模塊的控制單元,接受來自對(duì)射式紅外傳感器不同的電信號(hào),并對(duì)這些電信號(hào)進(jìn)行分析處理。單片機(jī)根據(jù)預(yù)設(shè)的程序,判斷是否有遮擋,并根據(jù)此控制開關(guān)門,開關(guān)門通過指示燈觀察得到。當(dāng)紅外被遮擋時(shí),保持開門狀態(tài),遮擋移除時(shí),單片機(jī)控制延時(shí)5S關(guān)門。紅外檢測模塊連接電路如圖3-6所示。發(fā)射端輸出線接單片機(jī)的PB9,在輸出和正極之間接1K的上拉電阻。圖3-6紅外檢測模塊電路3.5溫度檢測模塊設(shè)計(jì)DS18B20是一種單總線數(shù)字溫度傳感器,只需一個(gè)IO口,抗干擾能力強(qiáng),由溫度傳感器、64位ROM、寄存器和溫度報(bào)警觸發(fā)器TH和TL組成。溫度檢測模塊內(nèi)置有上拉電阻,且有通電指示燈。單片機(jī)通過接收DS18B20測溫模塊檢測并寄存在內(nèi)部寄存器的溫度,判斷是否超過程序預(yù)設(shè)的溫度值,若超過單片機(jī)驅(qū)動(dòng)指示燈和蜂鳴器進(jìn)行聲光報(bào)警,并在OLED上顯示“超溫”字樣。溫度檢測模塊連接電路如圖3-7所示,數(shù)據(jù)輸出口連接單片機(jī)的PB6。圖3-7溫度檢測模塊電路3.6顯示模塊設(shè)計(jì)OLED液晶屏可視角度大,功耗低,可以自發(fā)光不需要背光源、厚度薄體積小。單位面積像素點(diǎn)多,可以顯示64個(gè)字母或32個(gè)漢字,文字、圖片等多種內(nèi)容都可以清晰顯示。內(nèi)部驅(qū)動(dòng)芯片為SSD1315。本設(shè)計(jì)采用的IIC通信的0.96寸OLED液晶屏顯示模塊的IO口占用少,只要兩個(gè)IO口就能驅(qū)動(dòng)。顯示模塊可將由單片機(jī)接收到并處理后的各種信息以可視化的方式展現(xiàn)出來。本次設(shè)計(jì)的顯示模塊可顯示電梯上下行狀態(tài)、當(dāng)前樓層的實(shí)時(shí)信息、當(dāng)前電梯狀態(tài)信息以及當(dāng)前電梯內(nèi)實(shí)時(shí)溫度。顯示模塊電路連接圖如圖3-8所示。SCL連接單片機(jī)的PB3,SDA連接單片機(jī)的PB4。圖3-8顯示模塊電路3.7重量檢測模塊設(shè)計(jì)HX711重量測量模塊由應(yīng)變片稱架和HX711電路組成。應(yīng)變片的測量原理基于電阻應(yīng)變效應(yīng),即當(dāng)導(dǎo)體或半導(dǎo)體材料在外界力的作用下產(chǎn)生機(jī)械變形時(shí),其電阻值會(huì)發(fā)生變化?。應(yīng)變片通常由敏感柵等構(gòu)成,可以將機(jī)械構(gòu)件上的應(yīng)變變化轉(zhuǎn)換為電阻變化。具體來說,應(yīng)變片式壓力傳感器通過橋式電路將應(yīng)變片的電阻變化轉(zhuǎn)換為毫伏級(jí)電勢輸出,從而測量壓力REF_Ref26214\r\h[18]。HX711芯片是一種24位的A/D轉(zhuǎn)換器,用于接收并轉(zhuǎn)換傳感器發(fā)出的信息。本設(shè)計(jì)重量檢測模塊用于檢測電梯內(nèi)是否超載,以保證電梯安全運(yùn)行。重量檢測模塊連接圖如圖3-9所示,數(shù)據(jù)口連接單片機(jī)的PB7、PB8。圖3-9重量檢測模塊電路3.8電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)電機(jī)驅(qū)動(dòng)模塊采用步進(jìn)電機(jī)驅(qū)動(dòng)模擬演示電梯上下行升降,正轉(zhuǎn)為上行,反轉(zhuǎn)為下行,每轉(zhuǎn)一圈表示已上或下一層樓,同時(shí)OLED顯示模塊同步顯示當(dāng)前樓層和上或下行狀態(tài)。電機(jī)驅(qū)動(dòng)模塊連接電路如圖3-10所示,步進(jìn)電機(jī)驅(qū)動(dòng)口連接單片機(jī)的PB0、PB1、PB10、PB11。圖3-10步進(jìn)電機(jī)驅(qū)動(dòng)模塊電路3.9聲光報(bào)警模塊設(shè)計(jì)聲光報(bào)警模塊用于在電梯載重和內(nèi)部溫度達(dá)到預(yù)設(shè)的峰值時(shí),以及電梯內(nèi)部報(bào)警按鈕被按下時(shí)進(jìn)行聲光報(bào)警,同時(shí)進(jìn)行基本的燈光指示。此模塊由指示燈和蜂鳴器組成,共同進(jìn)行聲光報(bào)警。在聲光報(bào)警的指示燈模塊中,每個(gè)LED燈都有正負(fù)極兩個(gè)引腳,當(dāng)正極電壓比負(fù)極高時(shí),LED燈就會(huì)亮。本設(shè)計(jì)的指示燈模塊分報(bào)警指示燈和開關(guān)門指示燈,如圖3-11所示。其中超載指示燈連接單片機(jī)的PB12,用于當(dāng)電梯超載時(shí)配合蜂鳴器進(jìn)行聲光報(bào)警,超載解除時(shí)燈滅;超溫指示燈連接單片機(jī)的PB13,用于當(dāng)電梯超溫時(shí)配合蜂鳴器進(jìn)行聲光報(bào)警,超溫解除時(shí)燈滅;當(dāng)按下手動(dòng)報(bào)警按鈕時(shí),超載指示燈和超溫指示燈同時(shí)閃爍,時(shí)長為5S。開門指示燈連接單片機(jī)的PB14,當(dāng)步進(jìn)電梯停下時(shí)開門指示燈亮,表示電梯開門,若無超載、超溫報(bào)警或手動(dòng)報(bào)警的情況下延時(shí)5S后燈滅,若有則常亮直至報(bào)警情況消失后延時(shí)5S關(guān)閉;關(guān)門指示燈連接單片機(jī)的PB15,當(dāng)開門指示燈滅后,延時(shí)1S關(guān)門指示燈亮,表示電梯門已關(guān)閉。圖3-11指示燈模塊電路在聲光報(bào)警的蜂鳴器模塊電路連接圖如圖3-12所示,連接單片機(jī)的PB5。在電梯載重和內(nèi)部溫度達(dá)到預(yù)設(shè)的峰值時(shí)以及電梯內(nèi)部報(bào)警按鈕被按下時(shí),單片機(jī)向蜂鳴器輸出低電平,蜂鳴器發(fā)聲報(bào)警,超載、超溫報(bào)警發(fā)聲至超載、超溫解除,手動(dòng)報(bào)警發(fā)聲時(shí)長為5S。圖3-12蜂鳴器模塊電路3.10本章小結(jié)本章介紹了系統(tǒng)硬件各個(gè)模塊的電路連接圖設(shè)計(jì)和作用,首先對(duì)于STM32F103C8T6最小系統(tǒng)板的引腳連接及引腳功能進(jìn)行了介紹,再分別對(duì)電源模塊、輸入按鍵模塊、紅外檢測模塊、溫度檢測模塊、顯示模塊、重量檢測模塊、電機(jī)驅(qū)動(dòng)、指示燈及報(bào)警模塊的電路設(shè)計(jì)及基本作用進(jìn)行了說明。軟件設(shè)計(jì)4.1軟件開發(fā)環(huán)境KeiluVision5作為一個(gè)用于對(duì)嵌入式系統(tǒng)中的微控制器進(jìn)行編程的集成開發(fā)環(huán)境,在對(duì)微控制器設(shè)計(jì)領(lǐng)域有著非常廣泛的應(yīng)用。它擁有源代碼編輯器、宏匯編、連接器、庫管理、項(xiàng)目經(jīng)理、調(diào)試器以及微控制器開發(fā)、調(diào)試和編程等提升廣大開發(fā)者開發(fā)效率和質(zhì)量的工具。兼容多種編譯語言,支持多種內(nèi)核的微處理器,可以直接進(jìn)行純軟件仿真,并在軟件調(diào)試時(shí)可以進(jìn)行跟蹤,能生成在線仿真和燒錄到芯片所處理器芯片中,而后進(jìn)行仿真及預(yù)調(diào)試REF_Ref6468\r\h[19]。這些功能大大提升了開發(fā)者的效率,減少了工作量。總的來說,Keil5是一款功能強(qiáng)大、便于開發(fā)者使用的嵌入式軟件開發(fā)環(huán)境。它為用戶提供了優(yōu)秀的開發(fā)工具和調(diào)試功能,無論是學(xué)生還是專業(yè)開發(fā)者都可以使用Keil5構(gòu)建出完整可靠的嵌入式系統(tǒng)。Keil5軟件如圖4-1所示。圖STYLEREF1\s4-SEQ圖\*ARABIC\s11Keil5軟件圖片4.2系統(tǒng)主程序本系統(tǒng)主要實(shí)現(xiàn)電梯的運(yùn)行功能,主流程圖如圖4-2所示。使用系統(tǒng)前首先要進(jìn)行系統(tǒng)初始化,確定系統(tǒng)可以接收到各個(gè)子模塊的狀態(tài)。然后判斷是否處于維修狀態(tài),處于維修狀態(tài)下系統(tǒng)不可用,判斷為“是”時(shí)循環(huán)判斷,直到判斷為“否”不處于維修狀態(tài)。接著判斷是否處于報(bào)警狀態(tài),處于報(bào)警狀態(tài)下有聲光報(bào)警且開門指示燈常亮,系統(tǒng)無法正常使用,判斷為“是”時(shí)循環(huán)進(jìn)行兩個(gè)狀態(tài)判斷,直到判斷為“否”不處于維修狀態(tài)也不處于報(bào)警狀態(tài)。隨后進(jìn)行鍵盤掃描,判斷電梯是否被呼叫,若無則循環(huán)掃描判斷。隨后確認(rèn)電梯被呼叫時(shí)判斷是否滿足關(guān)門條件,即紅外無遮擋且開門鍵未被按下,若不滿足則循環(huán)判斷,若滿足則關(guān)門燈亮,電機(jī)動(dòng)作,并隨之更新顯示內(nèi)容。繼續(xù)判斷電梯系統(tǒng)是否斷電,若判斷為否則繼續(xù)循環(huán)作業(yè),若判斷為是則結(jié)束循環(huán)。圖STYLEREF1\s4-SEQ圖\*ARABIC\s12主流程圖4.3顯示模塊子程序本系統(tǒng)顯示模塊子程序在單片機(jī)啟動(dòng)后開始執(zhí)行,執(zhí)行過程中需要實(shí)時(shí)更新顯示變化且循環(huán)執(zhí)行程序。本設(shè)計(jì)采用的是0.96寸OLED顯示屏作為顯示模塊,運(yùn)行需要程序驅(qū)動(dòng)才能顯示。首先執(zhí)行顯示模塊初始化,并通過單片機(jī)獲取各個(gè)模塊的當(dāng)前狀態(tài)信息,獲取信息內(nèi)容包括:升降狀態(tài)、當(dāng)前樓層、報(bào)警及維修信息和當(dāng)前溫度。然后判斷是否處于維修模式,如果是則更新顯示內(nèi)容,若否就繼續(xù)判斷是否處于報(bào)警狀態(tài),如果處于報(bào)警狀態(tài)則更新顯示內(nèi)容,若否就繼續(xù)判斷電機(jī)是否動(dòng)作,如果電機(jī)動(dòng)作則根據(jù)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)及圈數(shù)更新顯示內(nèi)容,若否就保留原顯示。設(shè)定單片機(jī)通過測溫模塊實(shí)時(shí)獲取當(dāng)前溫度并顯示在OLED顯示模塊上。圖4-3所示為顯示模塊子程序流程圖。圖STYLEREF1\s4-SEQ圖\*ARABIC\s13顯示模塊子程序流程圖4.4紅外模塊子程序本設(shè)計(jì)中的紅外檢測模塊子程序是在單片機(jī)啟動(dòng)后開始執(zhí)行。紅外檢測模塊是用來判斷是否有人遮擋,實(shí)現(xiàn)關(guān)門防夾的。紅外檢測模塊子程序流程圖如圖4-4所示。首先進(jìn)行系統(tǒng)初始化,紅外檢測模塊發(fā)射紅外對(duì)射信號(hào),并判斷對(duì)射信號(hào)是否被遮擋,若被遮擋則開門燈常亮且循環(huán)檢測,若無則延時(shí)5S后關(guān)門燈亮并結(jié)束循環(huán)。圖STYLEREF1\s4-SEQ圖\*ARABIC\s14紅外檢測模塊子程序流程圖4.5維修、報(bào)警模塊子程序4.5.1維修模塊子程序維修模式是為了方便檢修作業(yè)人員而設(shè)的模式,在此模式下,系統(tǒng)不可用。首先進(jìn)行系統(tǒng)初始化,獲取按鍵返回值,然后判斷維修鍵是否被按下,若否循環(huán)進(jìn)行返回值獲取,若被按下則進(jìn)行聲光報(bào)警且運(yùn)行系統(tǒng)不可使用并更新顯示信息,然后進(jìn)行判斷維修鍵是否再次被按下,若否則繼續(xù)循環(huán)進(jìn)行聲光報(bào)警直至再次被按下退出維修狀態(tài),電梯系統(tǒng)恢復(fù)正常。OLED實(shí)時(shí)更新顯示,處于報(bào)警狀態(tài)時(shí)OLED中的當(dāng)前狀態(tài)顯示為“維修”,退出后恢復(fù)為“正?!保S修模塊子程序流程圖如圖4-5所示。圖STYLEREF1\s4-SEQ圖\*ARABIC\s15維修模塊子程序流程圖4.5.2報(bào)警模塊子程序報(bào)警模塊由測溫模塊報(bào)警、測重模塊報(bào)警及手動(dòng)報(bào)警組成。各報(bào)警模塊的子程序流程圖如圖4-6所示。超溫報(bào)警模塊首先進(jìn)行測溫系統(tǒng)初始化,并進(jìn)行實(shí)時(shí)測溫獲取當(dāng)前溫度值,然后判斷是否超過設(shè)定的溫度閾值,若超過即為超溫就進(jìn)行聲光報(bào)警,且更新顯示報(bào)警狀態(tài)顯示為“超溫”,若未超過則進(jìn)行循環(huán)判斷。超重報(bào)警模塊首先進(jìn)行測重系統(tǒng)初始化,并進(jìn)行實(shí)時(shí)測重獲取當(dāng)前重量值,然后判斷是否超過設(shè)定的重量閾值,若超過即為超重就進(jìn)行聲光報(bào)警,且更新顯示報(bào)警狀態(tài)顯示為“超載”,若未超過則進(jìn)行循環(huán)判斷。手動(dòng)報(bào)警模塊首先進(jìn)行系統(tǒng)初始化,并獲取按鍵返回值,然后判斷報(bào)警鍵是否被按下,若否循環(huán)進(jìn)行返回值獲取,若被按下則進(jìn)行的聲光報(bào)警且此時(shí)系統(tǒng)不可用,然后判斷報(bào)警鍵是否再次被按下,若否則繼續(xù)循環(huán)進(jìn)行聲光報(bào)警直至再次被按下退出報(bào)警狀態(tài),電梯系統(tǒng)恢復(fù)正常。OLED實(shí)時(shí)更新顯示,處于報(bào)警狀態(tài)時(shí)OLED中的當(dāng)前狀態(tài)顯示為“報(bào)警”,退出后恢復(fù)為“正?!薄DSTYLEREF1\s4-SEQ圖\*ARABIC\s16報(bào)警模塊子程序流程圖4.6電機(jī)動(dòng)作模塊子程序電機(jī)動(dòng)作模塊子程序首先進(jìn)行系統(tǒng)初始化,并獲取當(dāng)前值,通過獲取按鍵返回值判斷返回值是否大于當(dāng)前值,若大于電機(jī)正轉(zhuǎn)當(dāng)前樓層減按下樓層的絕對(duì)值的圈數(shù),否則反轉(zhuǎn)當(dāng)前樓層減按下樓層所得值的圈數(shù),并實(shí)時(shí)更新顯示屏升降狀態(tài)及當(dāng)前樓層。電機(jī)正轉(zhuǎn)為上升、反轉(zhuǎn)為下降,每轉(zhuǎn)一圈代表一層樓。流程圖如圖4-7所示。圖STYLEREF1\s4-SEQ圖\*ARABIC\s17電機(jī)動(dòng)作模塊子程序流程圖4.6本章小結(jié)本章主要介紹了本設(shè)計(jì)的軟件設(shè)計(jì)過程。首先介紹了軟件開發(fā)環(huán)境,然后對(duì)系統(tǒng)主程序、顯示模塊子程序、紅外模塊子程序、維修、報(bào)警模塊及電機(jī)動(dòng)作模塊子程序進(jìn)行了詳細(xì)程序流程與作用分析,并完成了各個(gè)子模塊的程序設(shè)計(jì)。系統(tǒng)調(diào)試5.1系統(tǒng)硬件調(diào)試如圖5-1為基于單片機(jī)的直梯控制系統(tǒng)的實(shí)物圖。在將程序下載進(jìn)入單片機(jī)、通電啟動(dòng)系統(tǒng)之前,連接各個(gè)模塊時(shí)應(yīng)根據(jù)電路原理圖與PCB圖進(jìn)行詳細(xì)的核對(duì)和檢查,確保電路及模塊的連接準(zhǔn)確無誤,以保證模塊能夠正常運(yùn)行。在確認(rèn)沒有錯(cuò)接、漏接等發(fā)生短路的隱患后,將電路板安全地接入電源、按下總開關(guān),并觀察確認(rèn)電源指示燈是否正常點(diǎn)亮。時(shí)刻觀察各個(gè)模塊部件是否有發(fā)熱等異常,同時(shí)在運(yùn)行過程中時(shí)刻觀察通電指示燈的模塊指示燈是否正常點(diǎn)亮,以保證系統(tǒng)處于能夠正常工作的狀態(tài)。圖5-1實(shí)物圖5.2系統(tǒng)軟件調(diào)試將程序燒錄進(jìn)單片機(jī)前,首先根據(jù)需求對(duì)各個(gè)子程序進(jìn)行模塊化設(shè)計(jì),在每一個(gè)模塊設(shè)計(jì)完成后進(jìn)行編譯并修正其語法錯(cuò)誤及邏輯錯(cuò)誤,防止后續(xù)出現(xiàn)大量編譯錯(cuò)誤。再在主程序main.c中進(jìn)行引用、設(shè)計(jì),進(jìn)行編譯并修正其語法錯(cuò)誤及邏輯錯(cuò)誤。使用ST-LINK下載器連接單片機(jī)STM32F103C8T6最小系統(tǒng)板引出來的3V3、SWDIO、SWCLK、GND排針。連接好單片機(jī)后進(jìn)行調(diào)試,并根據(jù)單片機(jī)反饋的情況進(jìn)行程序的調(diào)整。軟件調(diào)試如圖5-2所示。圖STYLEREF1\s5-2軟件調(diào)試圖5.3功能調(diào)試5.3.1電梯初始化顯示按下電源總開關(guān)后,電源指示燈亮起,OLED屏幕亮起進(jìn)行初始化顯示,OLED初始化顯示為升降狀態(tài):停止;當(dāng)前樓層:1;電梯狀態(tài):正常;電梯系統(tǒng)實(shí)時(shí)獲取當(dāng)前溫度,并在OLED屏上顯示。電梯初始化顯示如圖5-3所示。圖5-3電梯初始化顯示5.3.2電梯開門、關(guān)門狀態(tài)及開門防夾當(dāng)電梯外部升降按鈕或電梯內(nèi)部按鈕按下選擇樓層并到達(dá)樓層時(shí),電梯開門燈亮并延時(shí)一段時(shí)間后關(guān)門燈亮,在電梯運(yùn)行途中關(guān)門燈常亮。當(dāng)按下電梯內(nèi)部開、關(guān)門按鈕時(shí),對(duì)應(yīng)的開門、關(guān)門燈亮。紅外對(duì)射模塊發(fā)射紅外信號(hào),根據(jù)遮斷情況判斷是否有人,在有人時(shí)開門燈亮,無人后延時(shí)一段時(shí)間關(guān)門燈亮。開門關(guān)門狀態(tài)在OLED屏幕中同步更新顯示。如圖5-4、圖5-5所示。圖STYLEREF1\s5-4電梯開門、關(guān)門狀態(tài)圖STYLEREF1\s5-5紅外遮擋情況下的開關(guān)門狀態(tài)5.3.3電梯上升、下降狀態(tài)當(dāng)電梯外部升降按鈕或電梯內(nèi)部按鈕按下選擇樓層時(shí),系統(tǒng)根據(jù)按鍵返回值判斷該上升還是該下降及升降多少層樓,并進(jìn)行電機(jī)旋轉(zhuǎn)表示,其正轉(zhuǎn)時(shí)為上升,反轉(zhuǎn)時(shí)為下降。同時(shí)升降狀態(tài)及樓層變化在OLED屏幕實(shí)時(shí)顯示,電梯運(yùn)作時(shí)關(guān)門燈常亮。如圖5-6所示為電梯升降時(shí)的狀態(tài)。圖STYLEREF1\s5-6電梯升降時(shí)狀態(tài)5.3.4電梯超載、超溫報(bào)警狀態(tài)當(dāng)重量檢測模塊檢測返回值不在設(shè)定的閾值內(nèi)時(shí),即承載重量大于設(shè)定的200g時(shí),進(jìn)行超載的聲光報(bào)警,超載報(bào)警燈亮、蜂鳴器響并在OLED屏幕上同步顯示電梯狀態(tài)為:超載。超載報(bào)警狀態(tài)如圖5-7所示。圖STYLEREF1\s5-7電梯超載報(bào)警狀態(tài)當(dāng)溫度檢測模塊檢測返回值不在設(shè)定的閾值內(nèi)時(shí),即檢測到的溫度大于的40°或小于0°時(shí),進(jìn)行超溫的聲光報(bào)警,超溫報(bào)警燈亮、蜂鳴器響并在OLED屏幕上同步顯示電梯狀態(tài)為:超溫。超溫報(bào)警狀態(tài)如圖5-8所示。圖STYLEREF1\s5-8電梯超溫報(bào)警狀態(tài)5.3.5電梯人工報(bào)警、維修狀態(tài)在按下報(bào)警按鍵后,所有指示燈閃爍、蜂鳴器響、OLED屏幕上同步顯示電梯狀態(tài)為報(bào)警且此時(shí)電梯不可用,再次按下報(bào)警按鍵退出報(bào)警狀態(tài),指示燈恢復(fù)正常,系統(tǒng)恢復(fù)正常,電梯處于報(bào)警狀態(tài)時(shí)如圖5-9所示。圖STYLEREF1\s5-9電梯報(bào)警狀態(tài)在按下維修按鍵后,所有指示燈常亮、OLED屏幕上同步顯示電梯狀態(tài)為維修且此時(shí)電梯不可用,再次按下后退出維修狀態(tài),指示燈恢復(fù)正常,系統(tǒng)恢復(fù)正常,電梯處于維修狀態(tài)時(shí)如圖5-10所示。圖STYLEREF1\s5-10電梯維修狀態(tài)5-4本章小結(jié)本章主要介紹了電梯系統(tǒng)的硬件及軟件調(diào)試過程,及各個(gè)功能的展示與調(diào)試。在硬件調(diào)試方面,應(yīng)逐步調(diào)試并對(duì)不足的部件進(jìn)行優(yōu)化。在軟件調(diào)試方面,使用更為方便的模塊化編程,并在每個(gè)模塊完成時(shí)進(jìn)行編譯,進(jìn)行錯(cuò)誤更改,再在主程序進(jìn)行使用,完成系統(tǒng)的功能設(shè)計(jì)。在功能調(diào)試方面,將硬件與軟件配合,反復(fù)測試功能,將出現(xiàn)的功能錯(cuò)誤逐步排查,最終實(shí)現(xiàn)完全功能。結(jié)論本文以STM32F103C8T6單片機(jī)作為核心控制器,結(jié)合了OLED屏幕、溫度傳感器、紅外對(duì)射傳感器、測重模塊和電機(jī)驅(qū)動(dòng)模塊,設(shè)計(jì)并實(shí)現(xiàn)了一套穩(wěn)定的直梯控制系統(tǒng)。通過理論分析、硬件電路設(shè)計(jì)、軟件程序開發(fā)及系統(tǒng)測試,驗(yàn)證了該系統(tǒng)的可行性和實(shí)用性。基于單片機(jī)的電梯控制系統(tǒng)通過采用模塊化設(shè)計(jì),實(shí)現(xiàn)了樓層和升降狀態(tài)檢測和顯示、按鍵響應(yīng)、維修模式、電機(jī)驅(qū)動(dòng)及超溫、超載和開門防夾安全保護(hù)等核心功能。與傳統(tǒng)PLC或其他復(fù)雜控制器相比,本設(shè)計(jì)采用的單片機(jī)方案顯著降低了系統(tǒng)成本,有效提高了系統(tǒng)的穩(wěn)定性。通過搭建實(shí)物模型進(jìn)行功能測試,系統(tǒng)各部分功能均達(dá)到預(yù)期目標(biāo)。本設(shè)計(jì)的目的在于能夠保證電梯的正常運(yùn)行,解決垂直運(yùn)輸?shù)男蕟栴},同時(shí)有效提升搭乘人員的安全,減少事故發(fā)生率。采用OLED屏幕便于電梯內(nèi)人員更及時(shí)便捷地了解電梯狀態(tài),采用紅外對(duì)射傳感器、測溫、測重模塊能夠有效預(yù)防事故發(fā)生、保證電梯搭乘人員的安全。在設(shè)計(jì)過程中,雖然整體已達(dá)到預(yù)期的功能目標(biāo),但依然存在一些不足之處。具體的說,一方面紅外模塊和測重模塊的使用局限性較高,比如紅外對(duì)射傳感器必需保證發(fā)送端和接收端在同一直線上以及測重模塊必需放置在光滑平面上;另一方面是本設(shè)計(jì)為針對(duì)四層建筑的電梯控制系統(tǒng),受限于單片機(jī)的處理能力,系統(tǒng)不適用于復(fù)雜情景;最后值得升級(jí)改進(jìn)的是電梯的智能性,比如使用聲控選樓層、APP控制等功能,提高用戶的體驗(yàn)。本篇論文對(duì)基于單片機(jī)的直梯控制系統(tǒng)進(jìn)行詳細(xì)介紹及優(yōu)化。參考文獻(xiàn)王榮娟.基于單片機(jī)電梯控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].河南科技,2013,32(7X):93-93.金正晉.基于單片機(jī)的電梯控制系統(tǒng)開發(fā)與實(shí)現(xiàn)[J].電子測試2018(22):21-22.VlachouIV,EfstathiouED,KarakatsanisST.Design,AnalysisandApplicationofControlTechniquesforDrivingaPermanentMagnetSynchronousMotorinanElevatorSystem[J].Machines,2024,12(8):560-560.陳勇俊.基于單片機(jī)的電梯門故障預(yù)警系統(tǒng)的研究及可靠性分析[D].廣東:華南理工大學(xué)2017.國家市場監(jiān)督管理總局.《電梯制造與安裝安全規(guī)范》國家標(biāo)準(zhǔn)解讀(上)[N].中國市場監(jiān)管報(bào),2021-08-24(7).鄭建琦,梁鑫旺,張洋.智能技術(shù)在電梯控制系統(tǒng)中的運(yùn)用研究[J].機(jī)械與電子控制工程,2022,4(12):46-48.壽慶.淺談國內(nèi)電梯節(jié)能發(fā)展現(xiàn)狀[J].中國新技術(shù)新產(chǎn)品,2013,(01):172-172.袁金榮,趙志剛,馮云,等.光儲(chǔ)直柔建筑電梯直流化研究與應(yīng)用實(shí)踐[J].供用電,2025,42(01):64-71.DOI:10.19421/ki.1006-6357.2025.01.007.陳軒,海濤.新型光伏電梯系統(tǒng)BLDC電機(jī)的仿真分析[J].科學(xué)技術(shù)創(chuàng)新,2021(8):169-170楊紅娟,周謙,李凱凱,等.基于有軌制導(dǎo)車輛的多維度電梯物理模型建立與控制系統(tǒng)研究[J].中國工程機(jī)械學(xué)報(bào),2021,19(03):201-206.薛建峰,王景芹.基于單片機(jī)的電梯系統(tǒng)模擬與研究[J].電子器件,2020,43(03):705-708.S.E.Cho,S.J.Park.AStudyofPowerLossfor3PhaseVoltageSourceConverterofElevator[J].科技信息,2013,(03):255-257.SoA,ChanW.AstudyoflinearPMSMdrivenropelesselevators[J].BuildingServicesEngineeringResearch&Technology,2019,40(1):93-108.Vlachou,VasileiosI.,Efstathiou,DimitriosE.,Karakatsanis,TheoklitosS..Design,AnalysisandApplicationofControlTechniquesforDrivingaPermanentMagnetSynchronousMotorinanElevatorSystem[J].MACHINES,2024,12(08).DOI:10.3390/machines12080560.Zuo,YuTing,Luo,FuFang,Zeng,ShiLong.GECKO-INSPIREDFRACTALBUFFERFORPASSENGERELEVATOR[J].FACTAUNIVERSITATIS-SERIESMECHANICALENGINEERING,2024,22(04):633-642.DOI:10.22190/FUME240314022Z.Ko,Young-Joon,Cheon,Seong-Bong,Lee,Hwa-Yong.AStudyontheElevatorSafetyManagementMethodUsingRemoteMonitoringSystem[J].InternationalJournalofMechanicalEngineering,2022,7(01):265-270.Ahn,SeungHo,Jung,HyunSeung,Kim,JinSung,etal.Developingelevatorlandingdoorsafetyretainerscapableofwithstanding1,000Jusingnumericalsimulationandexperimentalverification[J].JOURNALOFASIANARCHITECTUREANDBUILDINGENGINEERING,2024,23(02):687-697.DOI:10.1080/13467581.2023.2245010.王桂榮.李憲芝.傳感器原理及應(yīng)用[M].北京:中國電力出版社,2015.5楊學(xué)存,劉飛.基于Proteus+Keil5的“由虛入實(shí)”理念在嵌入式系統(tǒng)教學(xué)中的應(yīng)用[J].電子測試,2020,31(16):120-122.附錄A原理圖及PCB圖A-SEQ圖\*ARABIC\s11原理圖圖A-SEQ圖\*ARABIC\s12PCB附錄B元件清單表B-SEQ表\*ARABIC2元件清單名稱數(shù)量(個(gè))單價(jià)(元)STM32最小系統(tǒng)板18.90.96寸OLED屏18.32DS18B20測溫模塊13.42紅外對(duì)射模塊15.23HX711測重模塊114.1步進(jìn)電機(jī)16.61有源蜂鳴器11.99LED指示燈50.0510K電阻50.12按鍵140.14自鎖開關(guān)10.25電源母座11.14排母80.3排針20.3附錄C程序#include"stm32f10x.h"#include"Delay.h"#include"OLED.h"#include"DS18B20.h"#include"step.h"#include"HX711.h"#defineTemperature_MAX40#defineTemperature_MINI0#defineWeight_MAX200unsignedcharmark_flag=0;unsignedintLEDcnt=0;//報(bào)警燈翻轉(zhuǎn)計(jì)數(shù)標(biāo)志位unsignedintOpenCloseDoorCnt=0;//超時(shí)關(guān)門計(jì)數(shù)標(biāo)志位unsignedcharTempFloorNum=0;//臨時(shí)存儲(chǔ)電梯內(nèi)部按鍵變量unsignedcharTempElevatorOutKey=0;//臨時(shí)存儲(chǔ)電梯外部按鍵變量unsignedcharUpAndDownFlag=3;//外部上下樓層按鍵變量當(dāng)UpAndDownFlag為1表示乘客要上樓,為0表示乘客要下樓unsignedcharInfrareState=0;//紅外檢測狀態(tài)標(biāo)志位unsignedintInfrareStateCnt=0;//紅外檢測超時(shí)計(jì)數(shù)標(biāo)志位//定義一個(gè)顯示OLED內(nèi)容的結(jié)構(gòu)體類型typedefstruct{ //分別創(chuàng)建4個(gè)結(jié)構(gòu)體成員 char*UpDownState;//對(duì)應(yīng)升降狀態(tài) unsignedcharfloorState;//對(duì)應(yīng)當(dāng)前樓層 char*ElevatorState;//對(duì)應(yīng)電梯狀態(tài) floatTemperature;//對(duì)應(yīng)當(dāng)前溫度}ShowDat;//ShowDat為結(jié)構(gòu)體類型別名ShowDatOLED_Page;//定義一個(gè)ShowDat類型的結(jié)構(gòu)體變量OLED_Page//更新OLED顯示內(nèi)容voidOLED_Page_Updat(){ OLED_ShowChinese(72,0,OLED_Page.UpDownState);//顯示第一行的變量 OLED_Printf(72,16,OLED_8X16,"%d",OLED_Page.floorState);//顯示第二行的變量 OLED_ShowChinese(72,32,OLED_Page.ElevatorState);//顯示第三行的變量 OLED_Printf(72,48,OLED_8X16,"%.2f",OLED_Page.Temperature);//顯示第四行的變量 OLED_ShowChinese(112,48,"℃");//顯示攝氏度符號(hào) OLED_Update();//更新顯示 OLED_ClearArea(72,32,48,16);//第4行最后一個(gè)顯示漢字的位置默認(rèn)顯示空白}//OLED默認(rèn)界面函數(shù)voidOLEDHomePage(){ OLED_Page.UpDownState="停止"; OLED_Page.floorState=1; OLED_Page.ElevatorState="正常"; OLED_Page.Temperature=0; OLED_ShowChinese(0,0,"升降狀態(tài)");OLED_Printf(64,0,OLED_8X16,":");OLED_ShowChinese(72,0,OLED_Page.UpDownState); OLED_ShowChinese(0,16,"當(dāng)前樓層");OLED_Printf(64,16,OLED_8X16,":");OLED_Printf(72,16,OLED_8X16,"%d",OLED_Page.floorState); OLED_ShowChinese(0,32,"電梯狀態(tài)");OLED_Printf(64,32,OLED_8X16,":");OLED_ShowChinese(72,32,OLED_Page.ElevatorState); OLED_ShowChinese(0,48,"當(dāng)前溫度");OLED_Printf(64,48,OLED_8X16,":");OLED_ShowChinese(112,48,"℃"); OLED_Page_Updat();}//GPIO配置按鍵函數(shù)voidGPIOKey_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA和GPIOC的時(shí)鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//配置PA2和PA3為上拉輸入GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);}//GPIO配置LED函數(shù)voidGPIOLED_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA和GPIOC的時(shí)鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//配置PA2和PA3為上拉輸入GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);}//GPIO配置蜂鳴器函數(shù)voidGPIOBEEP_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA和GPIOC的時(shí)鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//配置PA2和PA3為上拉輸入GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_5);}//DS18B20初始化總線voidDS18B20_DQ_Init(){ inti=100; while(i--) { OLED_Page.Temperature=DS18B20_Get_Temp();//獲取溫度 }}//溫度和重量處理函數(shù)voidTemperatureWeight(){ OLED_Page.Temperature=DS18B20_Get_Temp();//獲取溫度 OLED_Printf(72,48,OLED_8X16,"%.2f",OLED_Page.Temperature);//顯示獲取到的溫度 Get_Weight();//獲取重量 if(OLED_Page.Temperature<Temperature_MINI||OLED_Page.Temperature>Temperature_MAX)//判斷溫度是否在正常區(qū)間 { OLED_Page.ElevatorState="超溫"; GPIO_ResetBits(GPIOB,GPIO_Pin_13); GPIO_ResetBits(GPIOB,GPIO_Pin_5);//蜂鳴器響 } elseif(Weight_Shiwu>Weight_MAX)//判斷重量是否在正常區(qū)間 { OLED_Page.ElevatorState="超載"; GPIO_ResetBits(GPIOB,GPIO_Pin_12); GPIO_ResetBits(GPIOB,GPIO_Pin_5);//蜂鳴器響 } else//如果都不是 GPIO_SetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_5); OLED_Page_Updat();//更新顯示數(shù)據(jù) //如果超載或者超溫則讓CPU卡死在while循環(huán)內(nèi),直到回到正常的閾值為止 while(OLED_Page.Temperature<Temperature_MINI||OLED_Page.Temperature>Temperature_MAX)OLED_Page.Temperature=DS18B20_Get_Temp(),//如果超溫則卡在這個(gè)while循環(huán)內(nèi) OLED_Page_Updat(); while(Weight_Shiwu>Weight_MAX)Get_Weight(),OLED_Page.Temperature=DS18B20_Get_Temp(),//如果超載則卡死在這個(gè)while循環(huán)內(nèi) OLED_Page_Updat();}//開門處理函數(shù)voidOpenDoor(){ OLED_Page.ElevatorState="已開門"; OLED_Page_Updat(); GPIO_ResetBits(GPIOB,GPIO_Pin_14);//開門燈亮 GPIO_SetBits(GPIOB,GPIO_Pin_15);//關(guān)門燈滅 Delay_ms(4000); OLED_Page.ElevatorState="已關(guān)門"; OLED_Page_Updat(); GPIO_ResetBits(GPIOB,GPIO_Pin_15);//關(guān)門燈亮 GPIO_SetBits(GPIOB,GPIO_Pin_14);//開門燈滅}//關(guān)門處理函數(shù)voidCloseDoor(){ OLED_Page.ElevatorState="已關(guān)門"; OLED_Page_Updat(); GPIO_ResetBits(GPIOB,GPIO_Pin_15);//關(guān)門燈亮 GPIO_SetBits(GPIOB,GPIO_Pin_14);//開門燈滅 Delay_ms(100);}//報(bào)警和維修處理函數(shù)voidFault(){ //報(bào)警 if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0) { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0) { OLED_Page.ElevatorState="報(bào)警";OLED_Page_Updat(); GPIO_ResetBits(GPIOB,GPIO_Pin_5);//蜂鳴器響 while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0); while(1)//進(jìn)入死循環(huán)直到再次按下則退出 { if(++LEDcnt==100000)//這里計(jì)數(shù)達(dá)到一定數(shù)值之后使4個(gè)LED電平翻轉(zhuǎn)一次,實(shí)現(xiàn)LED閃爍 { LEDcnt=0;//清除計(jì)數(shù)變量 GPIO_Write(GPIOB,(~GPIO_ReadOutputData(GPIOB))&0xf000); } if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0) { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0) { while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0); GPIO_SetBits(GPIOB,GPIO_Pin_5|0xf000); //全部燈滅并且蜂鳴器停 LEDcnt=0;//清除計(jì)數(shù)變量 OLED_Page.ElevatorState="正常"; OLED_Page_Updat(); break; } } } } } //維修 if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0) { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0) { OLED_Page.ElevatorState="維修";OLED_Page_Updat(); GPIO_ResetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//全部燈亮 while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0); while(1)//進(jìn)入死循環(huán)直到再次按下則退出 { if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0) { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0) { while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0); GPIO_SetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//全部燈滅 OLED_Page.ElevatorState="正常"; OLED_Page_Updat(); break; } } } } }}//返回內(nèi)部按鍵的鍵值unsignedcharReturnFloorNum(){ if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7)==0)return1; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)==0)return2; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)==0)return3; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)==0)return4; return0;}//返回外部按鍵的鍵值unsignedcharElevatorOutKey(){ if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==0)return11;//返回值的十位表示樓層數(shù),個(gè)位表示up或者down,1是up,0是down elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_9)==0)return21; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==0)return31; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11)==0)return20; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0)return30; elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)==0)return40; return0;}////GPIO配置紅外傳感器函數(shù)voidGPIOInfrared_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOA和GPIOC的時(shí)鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//配置PA2和PA3為上拉輸入GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_9);}//紅外檢測處理函數(shù)voidInfraredDetection(unsignedcharsw){ if(sw==1) { if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0) { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0) { OpenDoor(); } } elseif(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==1) { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==1) { CloseDoor(); } } }}//內(nèi)部下樓按鍵處理函數(shù)voidElevatorDown(){ if(OLED_Page.floorState>ReturnFloorNum()&&ReturnFloorNum()!=0) { TempFloorNum=ReturnFloorNum(); for(unsignedintn=0;n<1000;n++) { Delay_ms(5); if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)==0)break; } CloseDoor(); Delay_ms(500); OLED_Page.ElevatorState="正常"; OLED_Page.UpDownState="下降"; OLED_Page_Updat(); for(unsignedchari=OLED_Page.floorState;i>TempFloorNum;) { motor_circle_fan(64,3);//下一層樓反轉(zhuǎn)一圈 OLED_Printf(72,16,OLED_8X16,"%d",--i);//樓層數(shù)改變 OLED_UpdateArea(72,16,8,16); } GPIO_ResetBits(GPIOB,GPIO_Pin_5); Delay_ms(1000); GPIO_SetBits(GPIOB,GPIO_Pin_5); OLED_Page.UpDownState="停止"; OLED_Page.floorState=TempFloorNum;//樓層數(shù)改變 OLED_Page_Updat(); OpenDoor(); Delay_ms(500); OLED_Page.ElevatorState="正常"; OLED_Page_Updat(); while(ReturnFloorNum()==0&&ReturnFloorNum()==TempFloorNum)//判斷其他樓層有沒有被按下 { OpenCloseDoorCnt++; if(OpenCloseDoorCnt==8000000) { OpenCloseDoorCnt=0; CloseDoor(); Delay_ms(500); OLED_Page.ElevatorState="正常"; GPIO_SetBits(GPIOB,GPIO_Pin_15); OLED_Page_Updat(); break; } } }}//電梯開門和關(guān)門按鍵處理函數(shù)voidDoorOnOffKey(unsignedcharsw){ if(sw==1) { if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)==0&&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)==1)//開門按鍵處理 { Delay_ms(10); if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)==0&&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)==1)//開門按鍵處理 OpenDoor(); } elseif(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)==0&&GPIO_ReadInputDataBit(GPIOA,GPIO_Pi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河南永錦能源招聘210人考試備考題庫及答案解析
- 2026內(nèi)蒙古包頭鐵道職業(yè)技術(shù)學(xué)院赴鐵路院校招聘急需專業(yè)教師16人考試備考試題及答案解析
- 2026年淮南經(jīng)濟(jì)技術(shù)開發(fā)區(qū)公益性崗位征集考試備考題庫及答案解析
- 2026廣東深圳市眼科醫(yī)院招聘工作人員招聘11人考試參考試題及答案解析
- 2026天津市津南創(chuàng)騰經(jīng)濟(jì)開發(fā)有限公司招聘8人考試備考試題及答案解析
- 文庫發(fā)布:exo介紹教學(xué)
- 2026日照銀行見習(xí)人員招聘10人考試參考題庫及答案解析
- 2026安徽亳州市蒙城縣商業(yè)綜合體招聘勞務(wù)派遣人員(四次)考試參考題庫及答案解析
- 2026年西安市鄠邑區(qū)就業(yè)見習(xí)基地見習(xí)招聘(163人)考試參考試題及答案解析
- 2026年合肥幼教集團(tuán)光明之家幼兒園門衛(wèi)招聘考試參考題庫及答案解析
- 2025年中考數(shù)學(xué)壓軸訓(xùn)練:一次函數(shù)綜合題 (學(xué)生版)
- 操作系統(tǒng)安全基礎(chǔ)的課件
- 人教版(2024)八年級(jí)上冊物理期末復(fù)習(xí)全冊知識(shí)點(diǎn)提綱
- 智慧廣場移多補(bǔ)少課件
- 2025年建筑工程勞務(wù)公司的年終總結(jié)大全5篇
- 2025年UOM無人機(jī)理論培訓(xùn)合格證題庫及答案
- 半導(dǎo)體車間消防安全教育培訓(xùn)
- 質(zhì)量管理部門介紹
- 分裝合同協(xié)議書范本
- 江蘇省南京市南京師范大學(xué)附屬中學(xué)2025年高二上生物期末聯(lián)考試題含解析
- 【MOOC】《學(xué)校體育學(xué)》(上海體育大學(xué))章節(jié)作業(yè)慕課答案
評(píng)論
0/150
提交評(píng)論