freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于mcs-51單片機的電梯控制系統(tǒng)設計-資料下載頁

2025-11-27 01:21本頁面

【導讀】檢測當前是否是所要到達的樓層。降和運行時間,還有轎廂的開關等。在轎廂的內部和外部都設置樓層選擇按鍵,控制電梯。電梯控制的基本功能[2]。

  

【正文】 XTAL1:振蕩器反相放大器的及內部時鐘發(fā)生器的輸入端。 XIAL2:振蕩器反相放大器的輸出端 [6]。 SST89E516RD的引腳如圖 31所示。 圖 314 SST89E516RD 單片機引腳 啟停檢測信號及開、關門控信號 啟停檢測信號是檢測轎廂運行時所在井道中的位置, 由掃描電路輸入到主機,決定何時發(fā)送減速信號、平層停車信號、層站顯示信號,以及是否啟動超程保護信號等。層位檢測器一般由安裝在導軌對應層位上的干黃管磁控開關和傳感器等構成,當表面裝有磁鐵的小轎廂經過時,干黃管吸合,通過傳感器發(fā)送層位信號至掃描電路。開、關門控信號,在正常情況下,當轎廂平層停車后,系統(tǒng)發(fā)出開門信號,控制門機系統(tǒng)使廳,轎門逐漸打開,當完全打開后發(fā)出開門到位信號,系統(tǒng)關閉門機。當乘客在轎廂按下關門按鈕后,系統(tǒng)發(fā)出關門信號,廳,轎門逐漸閉合,完全閉合后發(fā)出關門到位信號,系統(tǒng)關閉門機。若 30 秒內無關門信號 ,則系統(tǒng)自動關門。當門系統(tǒng)故障情況下,若系統(tǒng)在發(fā)出開,關門信號 30秒后未收到門到位信號,則重新發(fā)出開,關門信號,若仍無效,則認定門系統(tǒng)發(fā)生故障,發(fā)出報警信號并顯示故障代碼 [14]。 基于 MSC51 單片機的電梯控制系統(tǒng)設計 24 電梯內部按鍵電路如圖 315 所示 圖 315 電梯轎廂內部按鈕 吉林化工學院畢業(yè)設計說明書 25 第 4 章 系統(tǒng)軟件設計 系統(tǒng)的軟件設計實現(xiàn) 系統(tǒng)程序控制流程設計 圖 41 自動運行程序流程 系統(tǒng)軟件由電梯控制系統(tǒng)主程序、自動開關門子程序、自動運行子程序。電梯控制系統(tǒng)主程序結構如圖 43,主要完成轎箱的運行、狀態(tài)信號的檢測和過程信 號的判斷,基于 MSC51 單片機的電梯控制系統(tǒng)設計 26 是軟件的核心部分;自動開關門子程序流程如圖 42,用來實現(xiàn)開關門信號的檢測、驅動和報警;電梯自動運行流程如 圖 41,主要完成對電梯運行過程的自動控制,工作時反復檢測順呼信號,判斷電梯是否有定向截車服務,根據邏輯判斷結果,決定電梯啟動、加速、運行、減速及平層制動等動作時間;信號處理流程通過對鍵盤掃描,完成對各種鍵值的登記、保存和判別,設置相應的反饋信號;異常處理流程和中斷處理流程,主要是將安全回路檢測出的各類故障信號與掃描電路產生的實時控制信號,通過中斷服務方式將數據傳送給 CPU,保證電梯運行的穩(wěn)定 性。上述所有軟件均采用模塊化設計思想,根據不同的功能設計成不同的軟件模塊,主流程與子模塊、以及各子模塊之間通過程序調用方式相互融合,使設計出的整個程序,結構簡單,功能分明,修改和維護方便。 圖 42 開關門子程序流程 電梯控制基本問題:要對電梯控制進行建模,必須知道電梯控制的基本任務是什么,在 M層建筑物內安裝 l部電梯,電梯控制是指如下的邏輯控制: ( 1)電梯有一些按鈕,每個按鈕對應 1個樓層。按下按鈕后,按鈕燈亮,并指出電梯開往的相應樓層。電梯到達該樓層后按鈕燈熄滅。 吉林化工學院畢業(yè)設計說明書 27 ( 2)除底層和頂層只有 1個按鈕外 。每個樓層有 2個按鈕,分別指上樓和下樓請求。按下按鈕后燈亮; 如果電梯到達該樓層則按鈕燈滅。如遇到有沖突請求。決定服務優(yōu)先次序的算法井盡量減少請求等待的時間。 ( 3)當沒有服務請求馴、電梯等待在最后一個目的層,電梯門關閉。 ( 4)系統(tǒng)以事件驅動療式響應電梯內部對到達樓層的要求。并按照電梯運動方向依此完成這些要求。 ( 5)電梯有一緊急按訊。按下后向管理人員發(fā)出報警信號,然后電梯被置為不可用狀態(tài),并且有取消“不可用”狀態(tài)的機制。 系統(tǒng)程序控制實現(xiàn) 整個硬件通過 SST89E516RD 單片機控制外圍芯 片實現(xiàn)要求的功能。單片機外接 12M晶振。通過 、 、 EEPROM X25045相連,由 X25045完成預置值存儲、電壓檢測、開機復位和看門狗功能。 接在 、 ,其公共端接地,低電平有效。 , ,地點平是“自動”。 “預置”,高電平是“運行”。 行程開關 [17]。 針對這樣的單片機資源配置,利用 C51 編程語言進行控 制軟件開發(fā),共分成初始化、讀寫 EEP2ROM、中斷處理、自動運行、手動運行 (預置 ) 以及主程序等模塊。一個值得重視的問題是中斷服務程序的設計。 C51 編譯器支持在 C 源程序中直接開發(fā)單片機的中斷程序,因此減輕了用匯編語言開發(fā)中斷程序的煩瑣過程。中斷函數的一般形式為: void 函數名() interrupt m using n 其中 , m 為中斷號,為 0~ 31 的常整數,不允許使用表達式。在 51 系列單片機中: 0 對應外部中斷 0, 1 對應片內定時器 0 中斷, 2 對應外部中斷 1, 3 對應片內定時器 1 中斷, 4 對應片內串行口中斷,而 n 是一個 0~ 3 的常整數 ,用于寄存器組的切換。 另外 ,考慮到 X25045 與 CPU 的 I/ O 口是串行相接,對其讀寫采用匯編語言編程比較方便。在 C51 程序中,將其作為外部函數定義,再一起進行編譯和連接。根據流程圖和技術要求,用 C51 語言編寫控制軟件源程序如下 : include stdio. h include reg51. h define uchar unsigned char define uint unsigned int sbit clr = P3^7 。/ *底層復位 */ 基于 MSC51 單片機的電梯控制系統(tǒng)設計 28 sbit inchup = P3^0 。 / *手動升 * sbit inchdown = P3^1 。 / *手動降 */ sbit autom = P1^3 。 / *自動 / 手動切換 */ sbit go = P1^2 。 / *預置 / 起動 */ sbit outup = P1^0 。 /*輸出升 */ sbit outdown = P1^1 。 / *輸出降 */ bit flag ,flag1 。 uchar layer 。 uint cucount = 500 ,precount 。 / *以下 3 行是對匯編語言程序的說明 */ extern byte_write (uint xx ,uint yy) 。/ * 將 yy 值寫入 25045 的第 xx 個字節(jié)* / extern byte_ read(uint yy) 。/ * 讀 25045 中第 yy 個字節(jié)的內容 * / extern wrsr_cmd(void) 。/ * 寫 25045 的狀態(tài)寄存器 ,對 25045 初始化 * /? void write25 (uchar wa ,uint wd) {uint wa1 。 wa1 = ( uint ) (wa 1) 。 / * 相當于 wa 乘 2* / byte_write (wa1 ,wd) 。 } void counter () interrupt 0 using 2 / * 中斷處理 * / {if (flag = = 1) {cucount + + 。}/ * 當前計數值加 1 * / else {cucount%%。}/ * 當前計數值減 1 * / } void aut run(void) / * 自動運行 * / {if (go = = 0) {outup = 1 。outdown = 1 。 / * 禁輸出 * / layer = ~ P2 amp。0x07 。 / * 取撥盤開關的值 * / precount = read25 (layer) 。 / * 讀預置值 * / flag1 = 1 。 do {} while (go = = 0) 。} 吉林化工學院畢業(yè)設計說明書 29 if (flag1 = = 1) { if (cucount = = precount) {outup = 1 。outdown = 1 。} else { if (cucount precount) / * 計數值大于預置值 * / {outup = 1 。 outdown = 0 。 flag = 0 。} / * 輸出“降 * / else {outdown = 1 。 outup = 0 。 flag = 1 。} / * 輸出“升 * / } } else {outup = 1 。outdown = 1 。} } ? void main (void) { outup = 1 。 outdown = 1 。 flag1 = 0 。 TCON = 0x01 。 / * 外部中斷 0 下降沿觸發(fā) * / IE = 0x81 。 / * 開外部中斷 0 * / wrsrcmd () 。/ * 寫 X25045 狀態(tài)寄存器 * / for ( 。 。) { if (clr = = 0) / * 底層清零 * / {cucount = 500 。} / * 清零 (留余量 ,置 500) * / if (autom = = 0) {aut run () 。} else {manual () 。} 基于 MSC51 單片機的電梯控制系統(tǒng)設計 30 } } 程序第 2 句中的 reg51. h 頭文件定義了所有 51系列單片機的特殊功能寄存器及中斷。程序讀取撥盤開關的狀態(tài)時 ,先將 P2 口按位取反,將其與數值 7 (二進制為 00000111)進行“與”運算,屏蔽了不相關的高 5 位,而運算的結果正好反映了剩下的* 位所代表的樓層 [18]。 程序中用到了 3 個與 EEPROM X25045 相關的函數,分別用于讀字節(jié),寫字節(jié)和寫X25045 的狀態(tài)寄存字。它們均是用 ASM 匯編語言編成的。舉寫字節(jié)程序為例: ** PUBL IC byte_write 。說明公共模塊 ** WRITEP SEGMENT CODE ** CS_045 BIT P1. 5 。 SI_045 BIT P1. 7 。 SCK_045 BIT P1. 6 。 SO_045 BIT P1. 4 。 ** RSEG WRITEP byte_write : ACALL WREN_CMD 。 允許寫 clr SCK_045 。 X25045 的 SCK 置低 clr CS_045 。 X25045 的 CS 置低 mov A , WRITE INST 。 mov B , R6 mov C , B. 0 mov ACC. 3 , C ACALL outbyt 。 向 X25045 發(fā)控制字 mov A , R7 ACALL outbyt 。 向 X25045 發(fā)地址 mov A ,R4 吉林化工學院畢業(yè)設計說明書 31 ACALL outbyt 。 向 X25045 發(fā)高 8 位 mov A ,R5 ACALL outbyt 。 向 X25045 發(fā)低 8 位 clr SCK_045 。 X25045 的 SCK 置低 setb CS_045 。 X25045 的 CS 置高 ACALL wip_poll 。 Ret C51 中通過語句 byte_write (wa1 ,wd) 調用匯編程序,采用 CPU 寄存器傳遞參數。其中 wa1 為樓層數乘 2,單字節(jié),調用過程中存于 R7 寄存器, wd 為計數值,雙字節(jié),存于 R4 、 R5 寄存器。程序中被調用的 WREN_CMD, outbyt, wippoll 均為另用匯編語言編成的子程序,此處略。對以上程序進行編譯和連接再寫入單片機,應用于生產實際,效果令人滿意。 軟件流程圖及編譯語言 控制系統(tǒng)流程如圖 43 所示: 圖 43 控制系統(tǒng)流程 本設計中對芯片 89C51進行編程利用 C語言作為開發(fā)語言,整個程序以 C51語言為基于 MSC51 單片機的電梯控制系統(tǒng)設計 32 主,輔以匯編語言編程 EEPROM處理程序實現(xiàn)對電梯啟停、速度、升降和 運行時間,還有轎廂的開關等。利用傳統(tǒng)的匯編語言開發(fā)單片系統(tǒng)雖然具有代碼緊湊,實時性好等優(yōu)點,但缺點也十分突出:程序可讀性、可移植性差,不宜進行復雜的邏輯數學運算,大程序的軟件開發(fā)周期長等。而 C51 則是一種以 C語言為基礎的針對 51 系列單片機的軟件開發(fā)工具,為用戶利用 C語言來開發(fā)單片機提供了支撐環(huán)境 [15]。 為了對各樓層的預置值進行斷電保持,系統(tǒng)通過 P1. 4 、 P1. 5 、 P1. 6 和 P1. 7 外接了 EEPROM X25045,此外 X25045 還有電壓監(jiān)測、開機復位和看門狗功能。利用撥盤開關控制 P2. 0 、 P2. 1 和 P2. 2 的電位,可以用來選樓層。計數脈沖進入單片機的 P3. 2 腳,該管腳是外部中斷 0 的輸入腳,一旦有脈沖進入,就會觸發(fā)單片機的中斷,調用中斷處理程序進行加減計數。單片機的剩余管腳用于其它開關量的輸入輸出,涉及到控制輸出,手動自動切換,預置,底層計數清零等功能。 匯編語言介紹 為了克服機器語言的缺點,用英文字條來代替機器語言,這些英文字符被稱為助記符,用助記符表示的指令稱為符號語言或匯編語言。 單片機不能直接執(zhí)行匯編語言程序,需將匯編語言程序轉換成為二進制代碼表示的機 器語言程序,單片機才能識別和執(zhí)行,通常把這一轉換(翻譯)工作稱為“匯編”。匯編可由專門的程序來完成,這種程序稱為匯編程序。經匯編程序“匯編(翻譯)”得到的機器語言程序稱為目標程序,原來的匯編語言程序稱為源程序。匯編語言的特點如下: ( 1)匯編語言是面向機器的語言,程序設計人員必須對 MCS51 單片機的硬件有相當深入的了解。 ( 2)助記符指令和機器指令一一對應,所以用匯編語言編寫的程序效率高,占用的存儲空間小,運行速度快,因此用匯編語言能編寫出最優(yōu)化的程序。 ( 3)匯編語言程序能直接管理和控制硬件設備(功能部 件),它能處理中斷,也能直接訪問存儲器及 I/O 接口電路。 但是,匯編語言和機器語言一樣,都脫離不開具體機器的硬件,因此,這兩種語言均是面向機器的語言,缺乏通用性。 C 語言介紹 C 語言是國際上廣泛流行的計算機高級語言,既可用來寫系統(tǒng)軟件,也可用來寫應用軟件。 C 語言功能豐富,表達能力強,使用靈活方便,應用面廣,目標程序效率高,可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點。因此, C 語言特別適合于編寫系統(tǒng)軟件。 C語言的特點如下: 吉林化工學院畢業(yè)設計說明書 33 ( 1)語言簡潔、緊湊,使用方便、靈活。 C 語言一共只有 32 個關鍵字, 9 種控制語句,程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分。 ( 2)運算符豐富。 C 的運算符包含的范圍很廣泛,共有 34 種運算符。 C把括號、賦值、強制類型轉換等都作為運算符處理。從而使 C 的運算類型極其豐富,表達式類型多樣化,靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。 ( 3)數據結構豐富,具有現(xiàn)代化語言的各種數據結構。 C 的數據類型有:整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現(xiàn)各種復雜的數據結構(如鏈表、樹、棧等)的運算。尤其是指針類型 數據,使用起來比匯編語言更為靈活、多樣。 ( 4)具有結構化的控制語句(如 if...else 語句、 whi1e 語句、 do? whi1e 語句、for 語句)。 用函數作為程序的模塊單位,便于實現(xiàn)程序的模塊化。 C是良好的結構化理想語言,符合現(xiàn)代編程風格要求。 ( 5)語法限制不大嚴格,程序設計自由度大。 例如,對數組下標越界不作檢查,由程序編寫者自己保證程序的正確。對變量的類型使用比較靈活,例如,整型量與字符型數據以及邏輯型數據可以通用,一般的高級語言語法檢查比較嚴,能檢查出幾乎所有的語法錯誤。而 C 語言允許程序編寫者有較 大的自由度,因此放寬了語法檢查。程序員應當仔細檢查程序,保證其正確,而不要過分依賴 C 編譯程序去查錯?!跋拗啤迸c“靈活”是一對矛盾。限制嚴格,就失去靈活性;而強調靈活,就必然放松限制。一個不熟練的人員,編一個正確的 C 程序可能會比編一個其它高級語言程序難一些。也就是說,對用 C語言的人,要求對程序設計更熟練一些。 ( 6) C 語
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1