【《垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例》8600字】_第1頁
【《垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例》8600字】_第2頁
【《垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例》8600字】_第3頁
【《垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例》8600字】_第4頁
【《垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例》8600字】_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例目錄TOC\o"1-3"\h\u22592垂直升降電梯控制系統(tǒng)的硬件和軟件設(shè)計(jì)案例 117092第1章硬件設(shè)計(jì) 196641.1單片機(jī)最小系統(tǒng)設(shè)計(jì) 2310121.2供電模塊設(shè)計(jì) 877141.3顯示模塊設(shè)計(jì) 8217861.4按鍵模塊設(shè)計(jì) 11297071.5驅(qū)動(dòng)電路設(shè)計(jì) 13286741.6報(bào)警模塊設(shè)計(jì) 14151031.7其他電路設(shè)計(jì) 15176801.8本章小結(jié) 1512206第2章軟件設(shè)計(jì) 17142202.1程序設(shè)計(jì)環(huán)境 17251482.2程序編寫思路 1838412.3主程序設(shè)計(jì) 18216502.4子程序設(shè)計(jì) 19141282.2.1判斷方向設(shè)計(jì) 19105792.2.2定時(shí)器中斷設(shè)計(jì) 19299282.2.3鍵盤掃描設(shè)計(jì) 2072612.2.4方向指示燈設(shè)計(jì) 20第1章硬件設(shè)計(jì)這次設(shè)計(jì)了4層低層電梯。電梯的樓層在二樓,所以一樓外面的按鈕只有一個(gè)電梯按鈕,而最高樓層的按鈕是四層,所以外面四層的按鈕有電梯按鈕。只有一個(gè)下拉按鈕。另外,位于第二層和第三層的外部呼叫按鈕分別具有一個(gè)上按鈕和一個(gè)下按鈕。電梯的內(nèi)部按鈕在1到4層之間設(shè)置為每個(gè)樓層的選擇按鈕,并且還具有手動(dòng)開門/關(guān)門按鈕,緊急一鍵警報(bào)按鈕和緊急移除裝置。剛開始,我準(zhǔn)備使用似乎可以區(qū)分的單獨(dú)按鈕,但是單片機(jī)沒有足夠的端口,因此我只能使用僅占用8個(gè)端口的矩陣鍵盤。單片機(jī)的。按下每個(gè)按鈕之后,您應(yīng)該能夠清楚地看到它是否被實(shí)際按下,因此您需要安裝一個(gè)發(fā)光二極管。此外,電梯的當(dāng)前樓層號(hào)應(yīng)由數(shù)字指示器指示,并且電梯的運(yùn)行狀態(tài)是上升還是下降也應(yīng)由兩個(gè)指示器分開。門的打開和關(guān)閉狀態(tài)也應(yīng)以不同顏色的燈光指示。1.1單片機(jī)最小系統(tǒng)設(shè)計(jì)STC89C52RC的最小系統(tǒng)如圖1.1所示,整個(gè)最小系統(tǒng)包括一個(gè)晶體振蕩器電路和一個(gè)復(fù)位電路。另外,除了單片機(jī)的最小系統(tǒng)部分外,還有一些外部電路[7]。由于STC89C52RC的P0端口是漏極開路輸出[7],因此將2.7k上拉電阻P1連接到P0端口,以便可以將P0端口用作通用I/O端口[7]。值得一提的是,在接通芯片的31引腳電源后,如果它處于高電平,則它開始在內(nèi)部工作;而在通電之后,它在低電平時(shí)將開始工作。從外部。由于我們的程序存儲(chǔ)在MCU中,因此我們需要將EA連接到更高級(jí)別,以便MCU可以讀取并執(zhí)行內(nèi)部程序[22]。圖1.1最小系統(tǒng)原理圖1.1.1STC89C52單片機(jī)介紹STC89C52RC單片機(jī)是新型的,具有非??斓倪\(yùn)行速度,并且功耗也非常低。它是由宏景科技公司開發(fā)的,是一個(gè)國產(chǎn)品牌。這些指令與先前的微控制器系列兼容。它使用現(xiàn)有的MCS-51內(nèi)核[23],并具有由于一些改進(jìn)而沒有現(xiàn)有芯片的功能。單獨(dú)的芯片就有一個(gè)靈活的8位CPU和在線可編程閃存,并且它的選擇和開發(fā)相對(duì)容易,因?yàn)樵S多用戶可以為用戶提供靈活而有效的解決方案[6]。功能特性如下:1.加強(qiáng)型8051控制器,6時(shí)鐘/機(jī)器周期/和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051[7];2.執(zhí)行電壓:5.5V~1.3V(5V單片機(jī))/1.8V~2.0V(3V單片機(jī));1.工作頻率范圍:0~40MHz,實(shí)際工作頻率可達(dá)48MHz;2.用戶應(yīng)用程序空間為8K字節(jié);5.片上集成512字節(jié)RAM;6.通用I/0口(32個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路出口,作為集成擴(kuò)展使用,無需添加上拉電阻,但作I/0口時(shí),要添加上拉電阻[24];7.ISP(在線可編算)/IAP(運(yùn)用可編算),不需要定制編算器,也無需定制模擬器,利用串口(RxD/P1.0,TxD/P1.1)直接下載用戶程序,完成度非常高;8.具有EEPROM功能;9.具有看門狗功能;10.共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2;11.外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒;12.通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART[24];11.溫度范圍:-40~+85C(工業(yè)級(jí))/0~75°C(商業(yè)級(jí));12.PDIP封裝;STC89C52RC單片機(jī)的主要工作模式如下[7]:(1)失電模式:功耗非常小,中斷回到開頭時(shí),會(huì)依然不停的運(yùn)行原來的代碼;(2)無占用模式:典型功耗2mA;(3)正常工作模式:典型功耗4mA-7mA;(4)掉電模式:可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備。圖1.2STC89C52引腳圖端口說明,管腳如圖1.2所示:VCC(40引腳):供電電壓VSS(20引腳):接地端口P0(P0.0至P0.7,39至32針):端口P0是漏極開路的8位雙向I/0端口。作為輸出端口,每個(gè)引腳可以驅(qū)動(dòng)8個(gè)TTL負(fù)載,并且向端口P0寫入“1”可用作高阻抗輸入。當(dāng)輸入外部程序或檢索數(shù)據(jù)時(shí),P0端口可以是8位總線,并且在添加這樣的電阻器之后,它可以補(bǔ)償自身的電阻不足并變得有效。編程時(shí),P0端口接收命令字節(jié):并在驗(yàn)證程序后輸出命令字節(jié)。驗(yàn)證需要一個(gè)外部上拉電阻[25]。P1端口(P1.0至P1.7,1至8針):P1端口也是具有自身上拉功能的輸入和輸出端口。P1的輸出緩沖器可以驅(qū)動(dòng)4個(gè)TTL輸入(灌電流或輸出電流模式)。當(dāng)端口輸入1時(shí),上拉電阻會(huì)增加內(nèi)部值以達(dá)到高電位,并可用作輸入端口。此外,P1.0和P1.1還可用作定時(shí)器/計(jì)數(shù)器2(P1.0/T2)的外部技術(shù)輸入和定時(shí)器/計(jì)數(shù)器2(P1.1/T2EX)的觸發(fā)輸入。當(dāng)用閃存ROM程序驗(yàn)證時(shí),P1接收低8位地址。P2端口(P2.0至P2.7,21至28針):P2端口具有其自身的內(nèi)部電阻。P2的輸出緩沖器可以驅(qū)動(dòng)4個(gè)TTL輸入(灌電流或輸出電流模式)。上拉電阻將端口拉至高電平,然后可用作輸入端口[25]。當(dāng)訪問外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器的16位地址時(shí)(例如,執(zhí)行“MOVX@DPTR”指令),P2發(fā)送高8位地址。當(dāng)使用8位地址訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)(例如,執(zhí)行“MOVX@R1”指令),P2端口引腳的內(nèi)容(即,特殊寄存器(SFR)區(qū)域中P2寄存器的內(nèi)容)不是在整個(gè)訪問期間使用。在FlashROM編程和程序驗(yàn)證期間,P2還從高位接收一些控制命令。P3端口(P1.0至P1.7,10至17針):P3具有內(nèi)置的非單向輸入和輸出端口,帶有上拉電阻。P3將其用作沒有外部上拉電阻的信號(hào)輸入端子,并輸入電流以減輕在外部信號(hào)影響下丟失的引腳。編譯并驗(yàn)證程序后,P3端口將用作接收程序,以接收其需要運(yùn)行的信息。

表1.1P3口引腳復(fù)位功能引腳號(hào)復(fù)位功能P1.0RXD(串口輸入口)P1.1TXD(串行輸出口)P1.2外部中斷0P1.3外部中斷1P1.4T0P1.5T1P1.6外部數(shù)據(jù)存儲(chǔ)器寫選通P1.7外部數(shù)據(jù)存儲(chǔ)器讀選通RST(9針):重置。該按鈕的功能是復(fù)位。例如,在調(diào)試過程中,當(dāng)結(jié)構(gòu)不清楚并需要重新分類時(shí),按復(fù)位按鈕可使MCU返回其初始狀態(tài)。當(dāng)您的周期為2微秒或更長時(shí),這很有用。在計(jì)算了看門狗時(shí)間之后,復(fù)位將定期具有高電平的連續(xù)輸出。特殊寄存器不能使用此功能。如果沒有校正,則在高電平時(shí)復(fù)位有效。ALE/(30針):用于進(jìn)入外部存儲(chǔ)器以查看程序。鎖存地址位的低8位。在閃存編程期間,該引腳也應(yīng)用于脈沖輸入編程。除非特別說明,否則ALE可以具有固定的脈沖輸出,其大小為晶體振蕩器的1/6。它還具有一個(gè)外部定時(shí)器功能和一個(gè)時(shí)鐘功能。但是,請(qǐng)?zhí)貏e注意以下事實(shí):這些脈沖將始終跳過對(duì)數(shù)據(jù)的外部訪問。如果可用,則需要將地址位的0位置更改為“1”,以使ALE不起作用。位置“1”處ALE的有效范圍受到特別限制。如果您不這樣做,則ALE會(huì)增加。對(duì)于此ALE激活設(shè)置,在外部運(yùn)行它會(huì)降低效率。/VPP(31針)可從外部程序訪問。僅當(dāng)接地時(shí),激活才能接受來自外部存儲(chǔ)器的命令。對(duì)于模式1的機(jī)密性,您可以在內(nèi)部鎖定重置。在內(nèi)部代碼中執(zhí)行命令時(shí),應(yīng)將其連接到更高級(jí)別。閃存編程中可能有12V的VPP電壓。XTAL1(19針):振蕩器反相放大器和內(nèi)部時(shí)鐘生成電路[25]的輸入端子。XTAL2(18引腳):振蕩器反相放大器輸入。并非所有地址都在該芯片的寄存器中定義。讀寫時(shí),任何未定義的內(nèi)容都沒有任何意義。無法檢查讀取的數(shù)據(jù),并且記錄的數(shù)據(jù)消失。“1”不能出現(xiàn)在未定義的區(qū)域中。由于功能不是固定的,因此原功能可能會(huì)在不久的將來更改,因此,這些數(shù)據(jù)將在重置為零后恢復(fù)。STC89C52RC本身具有計(jì)時(shí)器0和1,計(jì)數(shù)器0和1,T2CON具有附加的計(jì)時(shí)器2,T2MOD具有附加的計(jì)數(shù)器2。計(jì)時(shí)器2的邊界不清楚,它可能是計(jì)數(shù)器或計(jì)時(shí)器。三種操作模式是首先捕獲,然后加載,最后將其用作波特率發(fā)生器[12]。1.1.2復(fù)位電路設(shè)計(jì)如果計(jì)算機(jī)在使用過程中崩潰,則可以按重新啟動(dòng)按鈕。單片復(fù)位電路等效于重新啟動(dòng)計(jì)算機(jī)。按下重置按鈕可使系統(tǒng)返回其初始狀態(tài),一切都從頭開始。復(fù)位的優(yōu)點(diǎn)是,在單片機(jī)運(yùn)行期間,由于某些特殊情況的出現(xiàn),有必要用一個(gè)鍵將其更改為初始狀態(tài),然后再次執(zhí)行相應(yīng)的操作。復(fù)位電路由一個(gè)10uFC5極性電容器和一個(gè)10KR9電阻器組成。電容電壓是不變的介質(zhì)。系統(tǒng)上電時(shí),復(fù)位引腳為高電平,電容電壓的RC值可以確定該電平的持續(xù)時(shí)間。電路RC值可通過將電阻和電容相乘得出,即時(shí)間常數(shù)t=10uF*0.01M=0.1s>2us(兩個(gè)機(jī)器周期)。1.1.3晶振電路設(shè)計(jì)單片晶體振蕩器可以為系統(tǒng)提供由兩個(gè)電容器C6和C7晶體振蕩器以及一個(gè)12M晶體振蕩器組成的基本時(shí)鐘信號(hào)。它的作用是在此處振動(dòng),從而使晶體振蕩器不再是晶體振蕩器。振動(dòng)的采樣范圍為1533pF,晶體濾波器的值可以為24MHz,晶體濾波器的值較高,單片機(jī)的運(yùn)行速度較快。繪制時(shí),晶體濾波器最接近單片機(jī)。如圖1.4所示:圖1.4晶振電路圖1.2供電模塊設(shè)計(jì)電源模塊如圖1.5所示。直接電源使用5VUSB接口,可以通過計(jì)算機(jī)USB接口,移動(dòng)電源和其他設(shè)備供電。由于開關(guān)電源非常不穩(wěn)定,因此需要在電路的輸出端添加一個(gè)220uF的濾波電容器,以使其并聯(lián)工作。它可以降低交流效率,穩(wěn)定電源,并減少交流電對(duì)電子電路的影響。并且電路性能不容易波動(dòng)。圖1.5供電模塊圖1.3顯示模塊設(shè)計(jì)1.1.1樓層顯示設(shè)計(jì)在LED和數(shù)碼管顯示領(lǐng)域,為了確保數(shù)據(jù)始終顯示在屏幕上,有必要不斷地用下一秒的數(shù)據(jù)替換前一秒的數(shù)據(jù)。特別是在需要區(qū)分頻道的顯示屏上。典型的刷新率是30ms,這也是正常的人類可接受的值,但這會(huì)影響處理器處理其他任務(wù),并使處理器體驗(yàn)到能耗。使用閂鎖可以很好地解決此問題,并減輕處理器的負(fù)擔(dān)。來自處理器的數(shù)據(jù)被傳輸?shù)芥i和鎖,并且鎖的輸出觸發(fā)器保持?jǐn)?shù)據(jù)狀態(tài),直到出現(xiàn)新數(shù)據(jù)為止。您可以在修改數(shù)字管的顯示內(nèi)容之前釋放處理器和IO端口的處理時(shí)間,因此修改顯示內(nèi)容將限制處理器的處理時(shí)間,這相當(dāng)于整體的一部分。顯示時(shí)間和處理處理器可以在處理后留出足夠的時(shí)間來執(zhí)行其他必要的任務(wù),以盡快完成顯示。這是LED和數(shù)字電子管顯示屏上的固定功能,可以節(jié)省單芯片計(jì)算機(jī)的時(shí)間。74HC573功能簡介:D0D7是數(shù)據(jù)輸入端子,Q0Q7是輸出端子,GND是接地端子(0V),VCC輸出高電平。0E用于激活該端子的輸出。當(dāng)輸入為高時(shí),輸出關(guān)閉;當(dāng)輸入為低時(shí),輸出正常[13];當(dāng)輸入為低時(shí),輸出正常。LE為輸出使能端,當(dāng)該端口為高電平時(shí),輸出跟隨D0D7;當(dāng)該端口為低電平時(shí),輸出保持最后一分鐘的狀態(tài)[8];當(dāng)該端口為低電平時(shí),輸出保持最后一分鐘的狀態(tài)。端口如圖1.6所示。圖1.674HC573引腳圖此級(jí)別的顯示平面包括74HC573鎖存器,數(shù)字電子管和1200電阻器。選擇單芯片多路復(fù)用計(jì)算機(jī)的P0端口。高硅柵CMOS器件性能輸入電流為1uA,工作電壓為2V至6V。如果G為高,則Q輸出將根據(jù)給定的數(shù)據(jù)輸入而變化。如果使能為低電平,則將輸出鎖定在設(shè)置的數(shù)據(jù)級(jí)別[9]。如果可能的話,輸出將被鎖定在數(shù)據(jù)級(jí)別。輸出控制不影響鎖的內(nèi)部操作。這意味著即使關(guān)閉輸出,也可以保留現(xiàn)有數(shù)據(jù)并插入新數(shù)據(jù)。該電路可以產(chǎn)生高容量或低阻抗。它可以直接加載并連接到系統(tǒng)總線,并驅(qū)動(dòng)非接口總線。特別適用于緩沖寄存器,I/O通道,雙向總線驅(qū)動(dòng)器和操作。同時(shí),由于設(shè)備的端口有限,74HC573還可以執(zhí)行擴(kuò)展功能。目前,電梯樓層顯示為7段數(shù)碼管,并且74HC573的Q0Q7端口與數(shù)碼管端口相連。D0至D7連接到排除對(duì)象,最后連接到微控制器。74HC573是低電平接地,LE輸入使能端子連接到微控制器的P27端口。這是因?yàn)長E端子由微控制器的I/O控制。當(dāng)鎖存器打開到高電平時(shí),由于D端子和Q端子已連接,因此可以進(jìn)行傳輸;當(dāng)LE為低電平時(shí),由于D端子的改變,Q0Q7不會(huì)改變。在仿真中,您不需要像真實(shí)物體那樣串聯(lián)連接限流電阻,只需直接將兩者連接即可。數(shù)碼管的驅(qū)動(dòng)電流為3mA至10mA,當(dāng)數(shù)碼管打開時(shí),使用1.2K電阻限制電流,以防止數(shù)碼管因過大的電流而燃燒[10]。原理圖如圖1.7所示。圖1.7樓層顯示原理圖1.1.4電梯內(nèi)部指示燈設(shè)計(jì)在這種設(shè)計(jì)中,74HC573可以保持燈光穩(wěn)定,而不會(huì)閃爍或亮度不足。如圖1.10所示。圖1.8內(nèi)部指示燈電梯中的每個(gè)按鈕都配備有發(fā)光二極管指示燈,按下該按鈕時(shí),相應(yīng)的指示燈也會(huì)亮起。D1和D2用于指示電梯當(dāng)前正在上升還是下降。D3至D8和D15對(duì)應(yīng)于電梯內(nèi)部按鈕KEY2至KEY9。按鈕指示器通過74HC573的LE輸入啟用端子連接到單片機(jī)的P21端口。74HC573僅在低電平時(shí)有效,因此LE端由單片機(jī)的I/O控制,因此連接了單片機(jī)的P27端口。此時(shí),可以將數(shù)據(jù)輸入到鎖存器。將Q0鎖存器D0更改為鎖存器D7不會(huì)影響Q0至Q7。上電后,MCU端口的默認(rèn)電平為高電平,因此即使上電后指示燈也不亮,請(qǐng)將LED指示燈設(shè)置為低電平激活。也就是說,當(dāng)D1=0時(shí),LED指示燈可以點(diǎn)亮。1.1.4電梯外部指示燈設(shè)計(jì)電梯外部的六個(gè)按鍵對(duì)應(yīng)六個(gè)發(fā)光二極管,D9到D14為外部按鍵對(duì)應(yīng)的指示燈。圖1.9外部指示燈1.4按鍵模塊設(shè)計(jì)電梯具有方便乘客選擇的按鈕,因此此設(shè)計(jì)也需要按鈕。這次是設(shè)計(jì)的4樓電梯。由于執(zhí)行呼叫和內(nèi)部選擇功能所需的按鈕數(shù)量相對(duì)較大,因此每個(gè)按鈕還應(yīng)具有相應(yīng)的指示燈。考慮到微控制器上端口的數(shù)量有限,這次設(shè)計(jì)的按鈕采用了一個(gè)44矩陣鍵盤。圖1.10內(nèi)外按鍵整體圖共有14個(gè)按鈕,并且它選擇了矩陣鍵盤,因此您只需要使用8個(gè)單片機(jī)的端口,按鍵就連接到每個(gè)單片機(jī)的端口P10至P17。將其設(shè)置為低電平有效,然后在通電后檢查低電平。按鍵功能如圖1.2所示。表1.2按鍵對(duì)應(yīng)功能按鍵編號(hào)按鍵對(duì)應(yīng)功能KEY2報(bào)警KEY3消警KEY4開門KEY5關(guān)門KEY6四樓KEY7三樓KEY8二樓KEY9一樓KEY10一樓上KEY11二樓上KEY12三樓上KEY15二樓下KEY16三樓下KEY17四樓下1.5驅(qū)動(dòng)電路設(shè)計(jì)模擬垂直提升的電梯系統(tǒng)的設(shè)計(jì)是模擬實(shí)際電梯的運(yùn)行狀況,并且電梯的控制以及電梯的打開和關(guān)閉是通過電動(dòng)機(jī)來模擬的。步進(jìn)電動(dòng)機(jī)是開環(huán)控制電動(dòng)機(jī),可將電脈沖信號(hào)轉(zhuǎn)換為角位移或線性位移。它是現(xiàn)代數(shù)字程序控制的主要執(zhí)行組件。它被廣泛使用。在沒有過載的情況下,電動(dòng)機(jī)的速度和停止位置僅取決于脈沖信號(hào)的脈沖數(shù)和頻率,而不受負(fù)載的影響[12]。如果將脈沖信號(hào)提供給步進(jìn)電機(jī),則需要指定步進(jìn)電機(jī)的旋轉(zhuǎn)角度,并且可以通過單個(gè)芯片來控制步進(jìn)電機(jī),從而實(shí)現(xiàn)精確的定位和速度控制[12]。由于單片機(jī)的輸出電流很小,因此ULN2003芯片用于放大并驅(qū)動(dòng)電機(jī)以增強(qiáng)單片機(jī)的端口信號(hào)。ULN2003是一種非門電路,高耐壓,高電流的復(fù)合晶體管陣列[13],其電流上限為500mA。ULN2003端口詳情:圖1.13報(bào)警模塊電路端口1~端口7:CPU脈沖輸入端[2];端口8:接地端;端口9:脈沖輸出端;端口10~端口16:脈沖輸入端[2];這次選擇了28BYJ-48型步進(jìn)電機(jī),電壓范圍為5V至12V[2]。步進(jìn)電機(jī)的藍(lán)色線,粉紅色線,黃色線,橙色線和紅色線分別連接到ULN2003的OT1(端口16),OT2(端口15),OT3(端口14),OT4(端口13),COM。(端口9)[14]。在門開關(guān)控制驅(qū)動(dòng)電路中,ULN2003的端口IN1到IN4連接到單片機(jī)的端口P34到P37,另一端連接到電動(dòng)機(jī),電動(dòng)機(jī)通過脈沖作用工作。開門和關(guān)門的控制圖如圖1.16所示。圖1.14開關(guān)門控制電路在運(yùn)轉(zhuǎn)控制驅(qū)動(dòng)電路中,通過P5的步進(jìn)電動(dòng)機(jī)的正反轉(zhuǎn)來模擬電梯的上端和下端。在該電路中,ULN2003的端口IN1至IN4連接至微控制器的端口P30至P33,另一端OT1至OT4連接至電動(dòng)機(jī),并且輸出脈沖信號(hào)以控制電動(dòng)機(jī)的操作。1.6報(bào)警模塊設(shè)計(jì)電梯內(nèi)部有一個(gè)緊急警報(bào)按鈕。當(dāng)電梯發(fā)生故障并有乘客被困時(shí),按緊急警報(bào)按鈕,電梯將立即發(fā)出警報(bào),通知被困的電梯需要救援,并等待救援人員。發(fā)生錯(cuò)誤后,請(qǐng)按警報(bào)清除按鈕以取消警報(bào)。聲光報(bào)警電路由發(fā)光二極管和蜂鳴器組成[11]。蜂鳴器類型不多。有源蜂鳴器連接到直流電源后可以發(fā)出聲音,但是無法對(duì)其進(jìn)行控制并且頻率也不會(huì)改變。被動(dòng)蜂鳴器連接到直流電源時(shí)不會(huì)發(fā)出任何聲音,只有連接到交流電源后,它才會(huì)根據(jù)交流電源的更改頻率發(fā)出聲音。您可以控制其他聲音的輸出,但是您需要它。在操作過程中,很難用作外部提供的信號(hào)庫。發(fā)光二極管D15是警報(bào)指示器,按警報(bào)按鈕時(shí),二極管點(diǎn)亮,并且蜂鳴器鳴響;按警報(bào)鍵時(shí),指示燈熄滅,蜂鳴器熄滅。如圖1.15所示。圖1.13報(bào)警模塊電路1.7其他電路設(shè)計(jì)下載接口連接到單片機(jī)的P30和P31端口,已編譯的程序被寫入下載器,并插入接口以與單片機(jī)通信。如圖1.18所示。圖1.16下載接口電路1.8本章小結(jié)本章主要介紹如何設(shè)計(jì)整個(gè)硬件系統(tǒng)的各個(gè)模塊,例如單芯片引導(dǎo)功能,單芯片最小系統(tǒng)以及基本電路,例如時(shí)鐘電路,復(fù)位電路,顯示電路,按鈕電路和輸入??刂齐娐吩O(shè)計(jì)可以更好地理解單片機(jī)控制理論的基本結(jié)構(gòu)和基本操作,學(xué)習(xí)如何連接電路,實(shí)現(xiàn)從定位到組件的電路設(shè)計(jì)思想,為軟件設(shè)計(jì)和后續(xù)學(xué)習(xí)打下更加堅(jiān)實(shí)的電路基礎(chǔ)。

第2章軟件設(shè)計(jì)2.1程序設(shè)計(jì)環(huán)境C語言是具有高級(jí)語言和匯編語言特性的編程語言。它是由美國BellLabs的DennisM.Ritchie于1972年發(fā)起的。[15]在改革開放之際,C語言被用于大型,中型,小型和微型計(jì)算機(jī)。它可以用作編寫系統(tǒng)應(yīng)用程序的工作系統(tǒng)設(shè)計(jì)語言,也可以用作編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序的應(yīng)用程序編程語言[16]。它具有廣泛的應(yīng)用程序和強(qiáng)大的數(shù)據(jù)處理能力,不僅需要在軟件開發(fā)中使用C語言,而且還需要在各種科學(xué)研究中使用C語言。系統(tǒng)軟件,適用于創(chuàng)建3D和2D圖形和動(dòng)畫。諸如MCU和嵌入式系統(tǒng)開發(fā)等應(yīng)用[16]。KeilC51是與Model51兼容的系統(tǒng)。由美國KeilSoftwareCorporation[22]開發(fā)和生產(chǎn)的單芯片C語言軟件具有明顯的特征,結(jié)構(gòu)和優(yōu)勢(shì)。與編譯相比,它具有很高的可讀性和可維護(hù)性,因此易于使用。它提供了一個(gè)完整的開發(fā)仿真程序,包括C編譯器,宏組件和鏈接器。將這些元素組合在一個(gè)綜合的開發(fā)環(huán)境中。為了運(yùn)行該軟件,必須使用Microsoft系統(tǒng)軟件對(duì)其進(jìn)行控制。如果您想用C語言編程,那么Keil是您的最佳選擇。即使您不使用C語言,而是想用一種編譯語言進(jìn)行編程,用戶友好的集成環(huán)境和強(qiáng)大的軟件仿真工具也將使您感到耳目一新。圖2.1軟件運(yùn)行環(huán)境2.2程序編寫思路首先,您可以同時(shí)按下不同層的按鈕。例如,當(dāng)電梯上升時(shí),較低樓層的乘客會(huì)呼叫電梯,為此,您需要一個(gè)電梯程序,該程序反映每個(gè)按鈕的當(dāng)前狀態(tài)以及哪個(gè)樓層。有乘客的需求,您需要考慮當(dāng)前呼叫的電梯樓層是否與當(dāng)前電梯的前進(jìn)方向匹配。電梯要及時(shí)計(jì)劃合理的運(yùn)行方式,并堅(jiān)持先上后下的原則。此外,電梯在每層之間移動(dòng)需要一定的時(shí)間,并且根據(jù)向上或向下的方向,向上和向下的指示燈會(huì)及時(shí)亮起,樓層顯示數(shù)字管應(yīng)作出響應(yīng),并且時(shí)間必須改變。當(dāng)電梯停在有乘客需求的地板上時(shí),電梯會(huì)自動(dòng)打開和關(guān)閉門。此時(shí),通過使電動(dòng)機(jī)旋轉(zhuǎn),開閉門需要一定時(shí)間。當(dāng)電梯上升或下降時(shí),上下驅(qū)動(dòng)馬達(dá)在控制芯片的控制下來回驅(qū)動(dòng)馬達(dá)。最后,如果電梯未收到呼叫信號(hào),則電梯將停在上次上落操作的底部,等待下一次電梯呼叫。2.3主程序設(shè)計(jì)主程序流程圖如圖2.2所示。主程序由STC89C52單片機(jī)控制,接通系統(tǒng)電源后,首先執(zhí)行數(shù)字顯像管的初始化程序,初始化開始停止,每次掃描按鈕和地板檢測模塊10毫秒如果有呼叫,它將讀取寄存器中注冊(cè)的呼叫數(shù)據(jù),然后調(diào)用子例程,當(dāng)電梯的位置發(fā)生變化或其他狀態(tài)發(fā)生變化時(shí),它將刷新。電梯啟動(dòng)并初始化后,可以看到數(shù)字管上顯示的數(shù)字為“1”。用于指示門已打開和關(guān)閉狀態(tài)的指示燈的顏色為紅色。如果當(dāng)前樓層是二樓,則先開門,然后按樓層請(qǐng)求按鈕,電梯門打開指示燈亮,電機(jī)旋轉(zhuǎn),等待5秒鐘后,電梯門關(guān)閉指示燈亮,電梯判斷行駛方向,并顯示上下行駛指示,并調(diào)用地板子程序。之后,電梯開始運(yùn)行,交通指示燈同時(shí)亮起。電梯每層的運(yùn)行時(shí)間為5秒。當(dāng)電梯到達(dá)目標(biāo)樓層時(shí),電梯將連續(xù)打開和關(guān)閉。門自動(dòng)關(guān)閉,最后方向指示燈熄滅。電梯運(yùn)行狀態(tài)的指示非常重要。它從靜止?fàn)顟B(tài)獲取第一狀態(tài)并繼續(xù)行駛,直到?jīng)]有方向請(qǐng)求或到達(dá)最高或最低樓層為止。當(dāng)前層數(shù)的上下兩層如下。您只負(fù)責(zé)跑到下一層樓,我們將繼續(xù)進(jìn)行下一步并再次進(jìn)行判斷。當(dāng)電梯通過運(yùn)行到達(dá)最高樓層時(shí),或者沒有從當(dāng)前電梯降下的請(qǐng)求時(shí),電梯將在此位置停止。如果沒有要求下降到最低樓層或上升到當(dāng)前樓層以下的請(qǐng)求,電梯將自動(dòng)停止。2.4子程序設(shè)計(jì)2.2.1判斷方向設(shè)計(jì)當(dāng)乘客按下電梯上的按鈕時(shí),電梯內(nèi)的控制中心將確定電梯是上升還是下降。該子程序首先確定中斷子程序中的標(biāo)記數(shù),以確定電梯將要達(dá)到的目標(biāo)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論