版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、綜合電子創(chuàng)新訓(xùn)練研究報(bào)告研究題目:CTS1600-1控制技術(shù)綜合試驗(yàn)院系名稱:專業(yè)名稱:學(xué)生姓名:指導(dǎo)教師:xxxx年xx月xx日xxxxxxxxxx目錄第一章緒論錯(cuò)誤!未定義書簽。課題背景與目的錯(cuò)誤!未定義書簽。課題研究方法錯(cuò)誤!未定義書簽。第二章電梯模型硬件設(shè)備錯(cuò)誤!未定義書簽。實(shí)驗(yàn)單片機(jī)模型與接口定義錯(cuò)誤!未定義書簽。實(shí)驗(yàn)用單片機(jī)錯(cuò)誤!未定義書簽。單片機(jī)接口定義錯(cuò)誤!未定義書簽。I/O接口DATA空制命令表錯(cuò)誤!未定義書簽電梯控制命令說(shuō)明錯(cuò)誤!未定義書簽。實(shí)驗(yàn)用電梯模型錯(cuò)誤!未定義書簽。第三章與電梯模型相關(guān)的實(shí)驗(yàn)程序.錯(cuò)誤!未定義書簽。數(shù)碼管連續(xù)顯示程序流程圖功能簡(jiǎn)介功能實(shí)現(xiàn)過(guò)程問(wèn)題的解
2、決及收獲外部按鍵燈連續(xù)閃爍程序流程圖功能簡(jiǎn)介功能實(shí)現(xiàn)過(guò)程問(wèn)題的解決及收獲鍵、燈、數(shù)碼管錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤! 未定義書簽。功能簡(jiǎn)介錯(cuò)誤! 未定義書簽。功能實(shí)現(xiàn)過(guò)程錯(cuò)誤! 未定義書簽。問(wèn)題的解決及收獲錯(cuò)誤!未定義書簽。外部按鍵上下行錯(cuò)誤! 未定義書簽。程序流程圖錯(cuò)誤! 未定義書簽。功能簡(jiǎn)介錯(cuò)誤! 未定義書簽。功能實(shí)現(xiàn)過(guò)程錯(cuò)誤! 未定義書簽。問(wèn)題的解決及收獲錯(cuò)誤!未定義書簽。計(jì)算器錯(cuò)誤! 未定義書簽。程序流程圖錯(cuò)誤!
3、未定義書簽。功能簡(jiǎn)介錯(cuò)誤! 未定義書簽。功能實(shí)現(xiàn)過(guò)程錯(cuò)誤! 未定義書簽。問(wèn)題的解決及收獲錯(cuò)誤!未定義書簽。密碼鎖錯(cuò)誤! 未定義書簽。程序流程圖錯(cuò)誤! 未定義書簽。功能簡(jiǎn)介錯(cuò)誤! 未定義書簽。實(shí)現(xiàn)功能過(guò)程錯(cuò)誤! 未定義書簽。問(wèn)題的解決及收獲錯(cuò)誤!未定義書簽。逐層停自動(dòng)開(kāi)關(guān)門循環(huán)錯(cuò)誤! 未定義書簽。程序流程圖錯(cuò)誤! 未定義書簽。功能簡(jiǎn)介錯(cuò)誤! 未定義書簽。實(shí)現(xiàn)功能過(guò)程錯(cuò)誤! 未定義書簽。問(wèn)題的解決及收獲功能簡(jiǎn)介實(shí)現(xiàn)功能過(guò)程問(wèn)題的解決及收獲外部按鍵電梯主程序開(kāi)關(guān)門模塊上下行模塊LED模塊錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!
4、未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤 !未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤! 未定義書簽。DoorEnable 函數(shù))錯(cuò)誤!未定義書簽。功能簡(jiǎn)介 錯(cuò)誤! 未定義書簽。第四章電梯模型完整控制程序完整控制程序(main函數(shù))功能說(shuō)明功能實(shí)現(xiàn)過(guò)程問(wèn)題的解決及收獲按鍵掃描模塊(getto函數(shù))功能簡(jiǎn)介問(wèn)題的解決及收獲當(dāng)前層判斷模塊(getat函數(shù))功能簡(jiǎn)介問(wèn)題的解決及收獲錯(cuò)誤! 未定義書簽。問(wèn)題的解決及收獲功能實(shí)現(xiàn)過(guò)程錯(cuò)誤!未定義書簽。錯(cuò)誤! 未定義
5、書簽。錯(cuò)誤 !未定義書簽。錯(cuò)誤 !未定義書簽。問(wèn)題的解決及收獲第五章總結(jié)與致謝總結(jié)錯(cuò)誤!未定義書簽。致謝錯(cuò)誤!未定義書簽。附錄控制電梯模型相關(guān)程序附錄一數(shù)碼管連續(xù)顯示錯(cuò)誤!未定義書簽。附錄二外部按鍵燈連續(xù)閃爍錯(cuò)誤!未定義書簽。附錄三外部按鍵逐個(gè)亮滅錯(cuò)誤!未定義書簽。附錄四鍵、燈、數(shù)碼管錯(cuò)誤!未定義書簽。附錄五外部按鍵上下行錯(cuò)誤!未定義書簽。附錄六計(jì)算器錯(cuò)誤!未定義書簽。附錄七密碼鎖錯(cuò)誤!未定義書簽。附錄八逐層停開(kāi)關(guān)門循環(huán)錯(cuò)誤!未定義書簽。附錄九可記錄順序逐層停自動(dòng)開(kāi)關(guān)門錯(cuò)誤!未定義書簽。附錄十外部按鍵電梯錯(cuò)誤!未定義書簽。附錄十一完整電梯程序錯(cuò)誤!未定義書簽。Figure1凌陽(yáng)單片機(jī)Figur
6、e2凌陽(yáng)單片機(jī)接口定義Figure3實(shí)驗(yàn)用電梯模型Figure4數(shù)碼管連續(xù)顯示流程圖Figure5外部按鍵燈連續(xù)閃爍流程圖Figure6LED1to7流程圖Figure7鍵、燈、數(shù)碼管流程圖Figure8外部按鍵上下行流程圖Figure9計(jì)算器數(shù)字掃描函數(shù)流程圖Figure10計(jì)算器主函數(shù)流程圖Figure11密碼鎖流程圖Figure12逐層停自動(dòng)開(kāi)關(guān)門循環(huán)Figure13逐層停自動(dòng)開(kāi)關(guān)門循環(huán)Figure14逐層停自動(dòng)開(kāi)關(guān)門循環(huán)Figure15可記錄順序逐層停自動(dòng)開(kāi)關(guān)門Figure16外部按鍵電梯主函數(shù)流程圖Figure17外部按鍵電梯開(kāi)關(guān)門函數(shù)流程圖Figure18外部按鍵電梯上下行函數(shù)流程
7、圖Figure19Figure20圖目錄main函數(shù)AtAndTo函數(shù)OpenAndClose函數(shù)外部按鍵電梯LED函數(shù)流程圖外部按鍵電梯btLED函數(shù)流程圖錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。第一章緒論課題背景與目的現(xiàn)代社會(huì)中,電梯已經(jīng)成為不可缺少的運(yùn)輸設(shè)備。電梯的存在使得
8、每幢高層建筑的交通更為便利。電梯控制技術(shù)的發(fā)展主要經(jīng)歷了三個(gè)階段:繼電器控制階段,微機(jī)控制階段,現(xiàn)場(chǎng)總線控制階段。隨著經(jīng)濟(jì)的高速發(fā)展,微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)控制技術(shù)也得到了迅速發(fā)展,交流變頻調(diào)速技術(shù)已經(jīng)進(jìn)入一個(gè)嶄新的時(shí)代,其應(yīng)用越來(lái)越廣。電梯是現(xiàn)代高層建筑的垂直交通工具,其設(shè)計(jì)要求穩(wěn)定性、安全性及高。隨著人們生活水平的不斷提高,對(duì)電梯的要求的也相應(yīng)提高,電梯得到了快速發(fā)展。電梯模型將機(jī)械和電氣兩方面有機(jī)地結(jié)合起來(lái),充分體現(xiàn)了機(jī)電結(jié)合的特點(diǎn),同時(shí)微機(jī)控制即單片機(jī)控制的電梯在成本上較低,同時(shí)還有著較高的精度,非常適合在學(xué)生機(jī)電實(shí)驗(yàn)方面得到廣泛的應(yīng)用,可以提高大家的編程能力,加深對(duì)單片機(jī)的理解
9、和應(yīng)用,同時(shí)增強(qiáng)創(chuàng)新精神和團(tuán)隊(duì)合作精神。課題研究方法參照凌陽(yáng)SPCE061AFF發(fā)的相關(guān)資料,加深對(duì)控制電梯模型的單片機(jī)的了解,進(jìn)行61板的相關(guān)實(shí)驗(yàn),掌握單片機(jī)實(shí)現(xiàn)基本功能的技術(shù)。對(duì)單片機(jī)編寫程序,以達(dá)到控制電梯模型的目的。第二章電梯模型硬件設(shè)備實(shí)驗(yàn)單片機(jī)模型與接口定義2.1.1實(shí)驗(yàn)用單片機(jī)實(shí)驗(yàn)用單片機(jī)為凌陽(yáng)SPCE061儆控制器(簡(jiǎn)稱61板),是以凌陽(yáng)16位單片機(jī)SPCE061的核心的精簡(jiǎn)開(kāi)發(fā)-仿真-電路板。61板除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、音頻電路、復(fù)位電路等,采用電池供電,方便攜帶。SPCE061A是繼unSP?系列產(chǎn)品SPCE500A?之后凌陽(yáng)科技推出的又一款16位
10、結(jié)構(gòu)的微控制器。跟市面上常見(jiàn)的avr、51等單片機(jī)相比,這款單片機(jī)具有一個(gè)絕招:語(yǔ)言功能。與SPCE500M同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061Al只內(nèi)嵌32K字的閃存(FLASH。較高的處理速度使unSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。SPCE061左要包才S輸入/輸出端口、定時(shí)/計(jì)數(shù)器、數(shù)/模轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換、申行設(shè)備輸入/輸出、通用異步串行接口、低電壓檢測(cè)和復(fù)位等部分,且內(nèi)置在線仿真電路ICE接口,較高的處理速度使其能夠快速地處理復(fù)雜的數(shù)字信號(hào)。本電梯模型就是采用此單片機(jī)進(jìn)行程序編寫和實(shí)現(xiàn)電梯的運(yùn)行控制。凌陽(yáng)單片機(jī)單片機(jī)接口
11、定義土+A0A8|=r電梯內(nèi)按鍵A去二層一 BA1A9A2A3A10A11A4A12實(shí)驗(yàn)用單片機(jī)接口定義如圖,其中 A 口為輸入,B 口為輸出。各樓層按鍵各樓層按鍵去三層去四層一層上二層上二層下三層上10+一層到達(dá)二層到達(dá)三層到達(dá)四層到達(dá)各樓層按鍵燈電梯上下運(yùn)行(1上0下)電梯運(yùn)行選通(1行0停)開(kāi)關(guān)門運(yùn)行(1開(kāi)0關(guān))開(kāi)關(guān)門選通(1行0禁)一層上燈二層上燈二層下燈三層上燈20實(shí)驗(yàn)單片機(jī)接口30開(kāi)門關(guān)門+三層下燈四層下燈開(kāi)門到位關(guān)門到位40電梯內(nèi)按鍵各樓層按鍵燈凌陽(yáng)單片機(jī)接口定義I/O接口DATA空制命令表單片機(jī)A口DATA空制命令表A口(信號(hào)輸入)*P_IOA_Data接口編號(hào)電梯動(dòng)作0 x0
12、001A0去一層(內(nèi)部按鍵)0 x0002A1去二層(內(nèi)部按鍵)0 x0004A2去三層(內(nèi)部按鍵)0 x0008A3去四層(內(nèi)部按鍵)0 x0010A4一層上(外部按鍵)0 x0020A5二層上(外部按鍵)0 x0040A6二層卜(外部按鍵)0 x0080A7三層上(外部按鍵)0 x0100A8三層卜(外部按鍵)0 x0200A9四層卜(外部按鍵)0 x0400A10一層到達(dá)(外部按鍵)0 x0800A11二層到達(dá)(外部按鍵)0 x1000A12三層到達(dá)(外部按鍵)0 x2000A13四層到達(dá)(外部按鍵)0 x4000A14開(kāi)門(內(nèi)部按鍵)0 x8000A15關(guān)門(內(nèi)部按鍵)單片機(jī)A口DAT
13、A空制命令表A口(信號(hào)輸入)*P_IOB_Data接口編號(hào)電梯動(dòng)作0 x0001B0電梯上下運(yùn)行(1上0下)0 x0002B1電梯運(yùn)行選通(1行0停)0 x0004B2開(kāi)關(guān)門運(yùn)行(1開(kāi)0關(guān))0 x0008B3開(kāi)關(guān)門選通(1行0禁)0 x0010B4一層上燈0 x0020B5二層上燈0 x0040B6二層卜燈0 x0080B7三層上燈0 x0100B8三層卜燈0 x0200B9四層卜燈0 x0400B10開(kāi)門到位0 x0800B11關(guān)門到位0 x1000B12數(shù)碼管0 x2000B13數(shù)碼管0 x4000B14數(shù)碼管0 x8000B15單片機(jī)接口屬性設(shè)置:*P_IOA_Dir=0*P_IOA_D
14、ata=0(設(shè)A0-A15口為輸入)*P_IOB_Dir=0 xf3ff*P_IOB_Attrib=0 xf3ff(設(shè)B0-B9口為輸出,B10、B11口為輸入)*P_IOB_Data=0;電梯控制命令說(shuō)明.一層上按鈕按下,*P_IOA_Data輸入值為0 x0010;使一層上按鍵燈亮起的命令為:*P_IOB_Data=0 x0010,同時(shí)其它層按鍵燈熄滅;如果要使其它層按鍵燈不受此按鍵燈影響,保持原來(lái)的狀態(tài),則輸入的命令應(yīng)為:*P_IOB_Data=0 x0010|P_IOB_Data;.二層上按鈕按下,*P_IOA_Data輸入值為0 x0020使二層上按鍵燈亮起的命令為:*P_IOB_D
15、ata=0 x0020同時(shí)其它層按鍵燈熄滅;如果要使其它層按鍵燈不受此按鍵燈影響,保持原來(lái)的狀態(tài),則輸入的命令應(yīng)為:*P_IOB_Data=0 x0020|P_IOB_Data;.二層下按鈕按下,*P_IOA_Data輸入值為0 x0040使二層下按鍵燈亮起的命令為:*P_IOB_Data=0 x0040時(shí)其它層按鍵燈熄滅;如果要使其它層按鍵燈不受此按鍵燈影響,保持原來(lái)的狀態(tài),則輸入的命令應(yīng)為:*P_IOB_Data=0 x0040|P_IOB_Data;.三層上按鈕按下,*P_IOA_Data輸入值為0 x0080使三層上按鍵燈亮起的命令為:*P_IOB_Data=0 x0080;同時(shí)其它層
16、按鍵燈熄滅;如果要使其它層按鍵燈不受此按鍵燈影響,保持原來(lái)的狀態(tài),則輸入的命令應(yīng)為:*P_IOB_Data=0 x0080|P_IOB_Data;.三層下按鈕按下,*P_IOA_Data輸入值為0 x0100,使三層下按鍵燈亮起的命令為:*P_IOB_Data=0 x0100,同時(shí)其它層按鍵燈熄滅;如果要使其它層按鍵燈不受此按鍵燈影響,保持原來(lái)的狀態(tài),則輸入的命令應(yīng)為:*P_IOB_Data=0 x0100|P_IOB_Data;.四層下按鈕按下,*P_IOA_Data輸入值為0 x0200,使四層上按鍵燈亮起的命令為:*P_IOB_Data=0 x0200,同時(shí)其它層按鍵燈熄滅;如果要使其它
17、層按鍵燈不受此按鍵燈影響,保持原來(lái)的狀態(tài),則輸入的命令應(yīng)為:*P_IOB_Data=0 x0200|P_IOB_Data;.電梯內(nèi)部開(kāi)門按鈕按下,*P_IOA_Data輸入值為0 x4000,使電梯開(kāi)門的命令為:*P_IOB_Data=0 x000c;.電梯內(nèi)部關(guān)門按鈕按下,*P_IOA_Data輸入值為0 x8000;使電梯關(guān)門的命令為:*P_IOB_Data=0 x0008。我們?yōu)榱四軌蚝?jiǎn)化我們的程序,我們?cè)陬^文件中定義了直觀易懂的單詞來(lái)表示數(shù)字指令,這樣使得編程過(guò)程更加容易直觀,并且使得程序的可讀性更強(qiáng),但是這種方法是在之前不斷地嘗試的基礎(chǔ)上才逐漸摸索出來(lái)的,因而在后來(lái)編寫的程序中普遍用
18、到了這種方法,而在開(kāi)始訓(xùn)練階段編寫的程序還往往是使用數(shù)字型的指令,具體的定義如下:#ifndef_DEFINE_h_#define_DEFINE_h_#defineIOA*P_IOA_Data#defineIOB*P_IOB_Data#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlong#definestop0 x0000#definedown0 x0002#defineup0 x0003#definebt1up0 x0010#definebt2up0 x0020#definebt2down0 x0040#d
19、efinebt3up0 x0080#definebt3down0 x0100#definebt4down0 x0200#definebtin20 x0002#definebtin30 x0004#definebtin40 x0008#definebtopen0 x4000#definebtclose0 x8000#defineopenok0 x0400#definecloseok0 x0800#definedown0 x0002#defineup0 x0003#defineclose0 x0008#defineopen0 x000c#defineL10 x1000#defineL20 x200
20、0#defineL30 x3000#defineL40 x4000#defineL1up0 x0010#defineL2up0 x0020#defineL2down0 x0040#defineL3up0 x0080#defineL3down0 x0100#defineL4down0 x0200#defineat10 x0400#defineat20 x0800#defineat30 x1000#defineat40 x2000#endifdog方便使用:#include#includevoiddog()*P_Watchdog_Clear=0 x0001;實(shí)驗(yàn)用電梯模型Figure3實(shí)驗(yàn)用電梯模
21、型第三章與電梯模型相關(guān)的實(shí)驗(yàn)程序數(shù)碼管連續(xù)顯示程序流程圖數(shù)碼管連續(xù)顯示流程圖功能簡(jiǎn)介程序初始化完成后,數(shù)碼管從0連續(xù)變化到7,再?gòu)?連續(xù)變化到1。功能實(shí)現(xiàn)過(guò)程通過(guò)定義一個(gè)指示當(dāng)前數(shù)碼管顯示數(shù)值的變量,以該變量為循環(huán)條件,每次循環(huán)結(jié)束后變量自動(dòng)加1,即指示下一個(gè)數(shù)碼管顯示數(shù)值,并且通過(guò)延時(shí)函數(shù)使得輸出持續(xù)一段時(shí)間一邊觀察現(xiàn)象。(代碼詳見(jiàn)附錄一)問(wèn)題的解決及收獲該程序較為簡(jiǎn)單,但是通過(guò)該程序我們對(duì)軟件的運(yùn)行、調(diào)試有了初步的認(rèn)識(shí),對(duì)采集輸入數(shù)據(jù)、設(shè)置輸出命令的基本方法的認(rèn)識(shí)更加清晰直觀,同時(shí)對(duì)控制命令部分有了更加深刻的了解。外部按鍵燈連續(xù)閃爍程序流程圖外部按鍵燈連續(xù)閃爍流程圖功能簡(jiǎn)介程序初始化完成后
22、,外部按鍵燈連續(xù)閃爍,即從一層上燈到四層下等逐個(gè)亮,并不斷循環(huán)。功能實(shí)現(xiàn)過(guò)程定義一個(gè)整形變量,通過(guò)該變量對(duì)6(外部按鍵一共有6個(gè)燈,可按順序定義六個(gè)燈分別為0,1,2,3,4,5)取余的結(jié)構(gòu)判斷應(yīng)該哪一個(gè)燈亮,同時(shí)通過(guò)延時(shí)函數(shù)使得輸出得到持續(xù)。(代碼詳見(jiàn)附錄二)問(wèn)題的解決及收獲這個(gè)程序的思路非常好,但是在邏輯上需要通過(guò)取余這種方法實(shí)現(xiàn),有些復(fù)雜,可以將代碼直接描述為外部按鍵逐個(gè)燈亮這樣也可以實(shí)現(xiàn),我們用這種思路寫了一個(gè)讓外部按鍵的燈逐個(gè)亮且保持,直到所有的燈都亮了之后,再逐個(gè)燈滅的程序,代碼見(jiàn)附錄三,程序流程圖如下:LED1to7流程圖鍵、燈、數(shù)碼管程序流程圖鍵、燈、數(shù)碼管流程圖功能簡(jiǎn)介程序運(yùn)
23、行后,按下電梯外部按鍵之后該層外部按鍵的燈亮,同時(shí)數(shù)碼管顯示按下的層數(shù),等待下一次輸入。功能實(shí)現(xiàn)過(guò)程程序初始化完成后,開(kāi)始掃描是否有按鍵按下,若接收到外部某一按鍵按下信號(hào)后,那么該層按鍵的燈亮,并且數(shù)碼管顯示對(duì)應(yīng)的層數(shù)。(代碼見(jiàn)附錄四)現(xiàn)以一層上按鍵被按下舉例:if(t&0 x0010)=0 x0010)/如果一層上按鍵被按下*P_IOB_Data=0 x1011;/輸出為一層上按鍵燈亮且數(shù)碼管顯示1*P_Watchdog_Clear=0 x0001;問(wèn)題的解決及收獲通過(guò)該程序,我們對(duì)多個(gè)部件的共同控制方法有了非常清晰的認(rèn)識(shí),在61中只需要將需要共同控制的部分的數(shù)字指令相加即可形成共同協(xié)調(diào)控制
24、。外部按鍵上下行程序流程圖外部按鍵上下行流程圖功能簡(jiǎn)介程序運(yùn)行后,當(dāng)按下電梯外部按鍵后,電梯從當(dāng)前層運(yùn)行至目標(biāo)層后停止,等待下一次輸入。功能實(shí)現(xiàn)過(guò)程首先程序定義了一個(gè)指示當(dāng)前所在層的變量at,以及一個(gè)指示目標(biāo)層的變量to,程序初始化完成后,給變量at賦上對(duì)應(yīng)的層數(shù)值,如若當(dāng)前所在層為2層:if(t&0 x0800)=0 x0800)/判斷當(dāng)前所在層數(shù),若當(dāng)前所在層數(shù)為2層at=2;/給變量at賦當(dāng)前層數(shù)值2*P_Watchdog_Clear=0 x0001;掃描外部按鍵是否按下,若按下,則對(duì)變量to賦上對(duì)應(yīng)層數(shù)值,如若三層上或三層下按鍵被按下:if(t&0 x0080)=0 x0080)|(t
25、&0 x0100)=0 x0100)/若三層上、三層下按鍵被按/下to=3;/給變量to賦目標(biāo)層數(shù)為3*P_Watchdog_Clear=0 x0001;進(jìn)行目標(biāo)層與當(dāng)前層的比較判斷,若目標(biāo)層大于當(dāng)前層,即toat,那么電梯應(yīng)向上運(yùn)行,直到獲取的當(dāng)前值at=to之后,電梯停止運(yùn)行:if(toat)*P_IOB_Data=up;*P_Watchdog_Clear=0 x0001;若目標(biāo)層等于當(dāng)前層,即to=at,那么電梯停止運(yùn)行:if(to=at)*P_IOB_Data=stop;*P_Watchdog_Clear=0 x0001;若目標(biāo)層小于當(dāng)前層,即toat,那么電梯應(yīng)向下運(yùn)行,直到獲取的當(dāng)
26、前值at=to之后,電梯停止運(yùn)行:if(toat,那么電梯應(yīng)向上運(yùn)行,直到獲取的當(dāng)前值at=to之后,電梯停止運(yùn)行:if(toat)*P_IOB_Data=up;*P_Watchdog_Clear=0 x0001;若目標(biāo)層等于當(dāng)前層,即to=at,那么電梯停止運(yùn)行:if(to=at)*P_IOB_Data=stop;*P_Watchdog_Clear=0 x0001;若目標(biāo)層小于當(dāng)前層,即toat,那么電梯應(yīng)向下運(yùn)行,直到獲取的當(dāng)前值at=to之后,電梯停止運(yùn)行:if(toat)*P_IOB_Data=down;*P_Watchdog_Clear=0 x0001;LED模塊程序流程圖外部按鍵電
27、梯LED函數(shù)流程圖外部按鍵電梯btLED函數(shù)流程圖功能過(guò)程程序初始化完成后,外部按鍵燈以及指示層數(shù)的數(shù)碼管根據(jù)現(xiàn)在電梯的運(yùn)行狀態(tài)正常顯示。實(shí)現(xiàn)功能過(guò)程當(dāng)外部六個(gè)按鍵按下后,外部按鍵的燈亮,電梯上部的LED燈顯示當(dāng)前運(yùn)行的所在層數(shù)。問(wèn)題的解決及收獲在程序調(diào)試過(guò)程中,我們發(fā)現(xiàn)如果在電梯運(yùn)行的過(guò)程中,即電梯不處于某層到位的狀態(tài)時(shí),若按下電梯外部的按鍵后,電梯有可能會(huì)卡死在中間部位,并且導(dǎo)致電梯無(wú)法運(yùn)行,在發(fā)現(xiàn)這樣的問(wèn)題之后,我們對(duì)程序進(jìn)行了修改,針對(duì)上下行部分,我們加入了使得電梯停止的條件,如果電梯沒(méi)有處于到位狀態(tài)的話就始終保持先前上行或下行的狀態(tài)不變,從而使得問(wèn)題得到了有效的解決。第四章電梯模型完
28、整控制程序完整控制程序(main函數(shù))功能說(shuō)明電梯完整程序主函數(shù)代碼見(jiàn)附錄十一功能實(shí)現(xiàn)過(guò)程在上下行的優(yōu)先級(jí)別判斷上,我們沒(méi)有使用以前的數(shù)組或者at和to大小判斷的方式,而是按照內(nèi)外部層數(shù)按鍵的個(gè)數(shù)分別定義了4個(gè)和6個(gè)變量,分別來(lái)指示目標(biāo)層數(shù),而何時(shí)選擇上下行這一問(wèn)題,舉例如下:如果電梯目前處于二層,首先判斷電梯之前的運(yùn)行方向,如果電梯之前運(yùn)行方向向下,那么,若外部二層下按鍵或者內(nèi)部二層按鍵被按下,電梯執(zhí)行開(kāi)門程序;若外部按鍵二層下被按下且外部按鍵一層上與內(nèi)部一層按鍵均未被按下,電梯執(zhí)行開(kāi)門程序。之后進(jìn)行上下行的判斷,如果電梯外部按鍵一層上或者內(nèi)部按鍵一層被按下,那么電梯下行至一層再做出判斷;如
29、果電梯外部按鍵一層上或者內(nèi)部按鍵一層均未被按下,且三、四層按鍵至少有一個(gè)被按下之后,電梯上行至三層再做出判斷。如果電梯之前運(yùn)行方向向上,那門,如果外部二層上或者內(nèi)部二層按鍵被按下,電梯執(zhí)行開(kāi)門程序;若外部按鍵二層下被按下,且三、四層均沒(méi)有按鍵被按下,那么電梯也執(zhí)行開(kāi)門程序。之后進(jìn)行上下行的判斷,如果電梯三、四層有至少一個(gè)按鍵被按下之后,電梯上行至三層再做出判斷;如果電梯外部按鍵一層上被按下且三、四層都沒(méi)有按鍵被按下的情況先,電梯執(zhí)行下行動(dòng)作至一層再做出判斷。其它功能的實(shí)現(xiàn)主要通過(guò)主函數(shù)調(diào)用其它函數(shù)實(shí)現(xiàn),例如開(kāi)關(guān)門函數(shù),LED控制函數(shù),外部按鍵掃描函數(shù),獲取目標(biāo)層函數(shù)等等。問(wèn)題的解決及收獲在電梯
30、完整程序中,我們改變了以往c文件過(guò)多的特點(diǎn),盡量把一些判斷都放在了主函數(shù)中完成,這也造成了主函數(shù)比較復(fù)雜。按鍵掃描模塊(getto函數(shù))功能簡(jiǎn)介程序初始化完成后,隨時(shí)掃描內(nèi)外部按鍵從而獲得目標(biāo)層,并通過(guò)各層的標(biāo)志位將其記錄下來(lái)。問(wèn)題的解決及收獲此次使用的獲取目標(biāo)層的函數(shù)雖與以往相同,但是由于實(shí)際的電梯會(huì)實(shí)時(shí)記錄電梯內(nèi)外按鍵的情況,同時(shí)在目標(biāo)層之后會(huì)把相應(yīng)的層數(shù)及方向清零并且對(duì)上下行做出判斷,所以在獲取目標(biāo)層與及時(shí)清除已到達(dá)層這一問(wèn)題上思路完全是嶄新的,而這部分主要是體現(xiàn)在主函數(shù)中,在此不做贅述。當(dāng)前層判斷模塊(getat函數(shù))功能簡(jiǎn)介當(dāng)程序初始化完成后,實(shí)時(shí)確定當(dāng)前所在層數(shù)。問(wèn)題的解決及收獲或
31、許當(dāng)前層數(shù)的模塊在前面使用也較多,但是在這一部分我們加入了一個(gè)判斷當(dāng)前上部LED指示的部分,即上部LED顯示當(dāng)前所在的層數(shù),并且通過(guò)此事state的狀態(tài)來(lái)判斷LED顯示部分箭頭的指向。電梯門的選通、禁止模塊(DoorEnable函數(shù))功能簡(jiǎn)介程序初始化完成后,根據(jù)電梯當(dāng)前的狀態(tài)判斷此時(shí)能否開(kāi)門的一個(gè)標(biāo)志位,例如當(dāng)電梯某層的兩個(gè)按鍵同時(shí)按下且上面層數(shù)沒(méi)有按鍵被按下的情況下,只開(kāi)門一次且清掉兩個(gè)按鍵的燈和相應(yīng)的標(biāo)志位。問(wèn)題的解決及收獲在開(kāi)關(guān)門選通的這一問(wèn)題上,由于前期做過(guò)很多這方面的訓(xùn)練,所以解決起來(lái)比較容易,主要是保證它能夠在應(yīng)該可能需要開(kāi)門的情況下該位是選通的,在不能開(kāi)門的情況下該位一定要是禁
32、止的。電梯開(kāi)關(guān)門模塊(openandclose函數(shù))功能簡(jiǎn)介開(kāi)門部分的實(shí)現(xiàn)相對(duì)較為簡(jiǎn)單,在這里僅對(duì)關(guān)門模塊進(jìn)行分析,流程圖如下:電梯完整程序openandclose函數(shù)流程圖功能實(shí)現(xiàn)過(guò)程問(wèn)題的解決及收獲針對(duì)開(kāi)門環(huán)節(jié),由于考慮到真實(shí)電梯在開(kāi)門過(guò)程中,電梯可以保持持續(xù)開(kāi)門的狀態(tài),但是如果在關(guān)門過(guò)程中,為保證安全,在電梯內(nèi)部按下開(kāi)門鍵,或者電梯外部當(dāng)前層被按下的情況下,電梯應(yīng)該是可以立即停止關(guān)門動(dòng)作從而進(jìn)行開(kāi)門動(dòng)作以保證安全或者外部有人要進(jìn)入電梯的需求。在面對(duì)這個(gè)問(wèn)題是我們一度遇到了很多困難,不知道如何實(shí)現(xiàn)在關(guān)門動(dòng)作進(jìn)行的過(guò)程中如何來(lái)實(shí)現(xiàn)外部當(dāng)前層按鍵按下后可以保證電梯轉(zhuǎn)而執(zhí)行開(kāi)門動(dòng)作,最后進(jìn)過(guò)深入
33、的思考之后,我們引入了一個(gè)變量k,使得如果按下的按鍵所指示的層數(shù)后,我們給變量k賦值為1,在當(dāng)k=1或者內(nèi)部開(kāi)門按鍵被按下的時(shí)候,終止之前的關(guān)門動(dòng)作,轉(zhuǎn)而執(zhí)行開(kāi)門動(dòng)作,直到開(kāi)門到位。在開(kāi)關(guān)門問(wèn)題上我們還遇到了另外一個(gè)問(wèn)題,如在上行過(guò)程中,三層的上下均被按下,且四層的按鍵又均未被按下的情況下,由于每次只能開(kāi)門動(dòng)作清掉一個(gè)標(biāo)志位,而導(dǎo)致電梯會(huì)自動(dòng)開(kāi)關(guān)兩次門,為了解決這一問(wèn)題我們引入了一個(gè)doorenable變量,該變量作為是否進(jìn)入開(kāi)關(guān)門程序的條件之一,同時(shí)在進(jìn)入開(kāi)關(guān)門函數(shù)之后,令該變量無(wú)效,而只有再次上行或者下行之后再令該變量有效,從而解決了這樣一個(gè)問(wèn)題。第五章總結(jié)與致謝總結(jié)本電梯模型的控制程序采
34、用凌陽(yáng)SPCES061用片機(jī)設(shè)計(jì)編寫完成。前期,我們通過(guò)編制電梯相關(guān)小程序熟悉單片機(jī)的基本編程技術(shù)。設(shè)計(jì)和制作該電梯模型的控制程序提升了我們的動(dòng)手和動(dòng)腦的積極性,鍛煉了團(tuán)隊(duì)合作能力。同時(shí)這也是機(jī)電結(jié)合方面的優(yōu)秀實(shí)例,是我們對(duì)控制理論和機(jī)電結(jié)合方面的知識(shí)有了更深入的認(rèn)識(shí)和了解。致謝感謝xx老師和xx老師在綜合電子創(chuàng)新訓(xùn)練過(guò)程中給予的大力幫助與支持,讓我們?cè)趧?chuàng)新實(shí)習(xí)的過(guò)程中得到了充分的鍛煉和提高。感謝工程訓(xùn)練中心提供的場(chǎng)地與實(shí)驗(yàn)設(shè)備的支持。最后也要感謝我們小團(tuán)隊(duì)的所有成員的共同努力,感謝其他同學(xué)的幫助,讓我們?cè)趧?chuàng)新實(shí)習(xí)中共同進(jìn)步、共同提高。附錄控制電梯模型相關(guān)程序附錄一數(shù)碼管連續(xù)顯示#includ
35、e#includevoidmain()*P_IOA_Dir=0;*P_IOA_Attrib=0;*P_IOA_Data=0;*P_IOB_Dir=0 xf3ff;*P_IOB_Attrib=0 xf3ff;*P_IOB_Data=0;inti,j;while(1)IOB=0 x0001;for(i=0,i=7,i+)DelayMs(100);IOB=IOB+0 x1000;IOB=0 x7000;for(j=0;j=7;j+)DelayMs(100);IOB=IOB+0 x1000;附錄二外部按鍵燈連續(xù)閃爍#include#includeintBTLED,LED;inti=1;voidDela
36、yMs(uintt)while(t-)uintj;for(j=0;j200;j+)dog();voidmain()P_IOA_Dir=0;P_IOA_Attrib=0;P_IOA_Data=0;P_IOB_Dir=0 xf3ff;P_IOB_Attrib=0 xf3ff;P_IOB_Data=0;while(1)switch(i)IOB=L1up+L1;i=(i+1)%6);DelayMs(100);dog();break;IOB=L2down+L2;i=(i+1)%6);DelayMs(100);dog();break;IOB=L2up+L2;i=(i+1)%6);DelayMs(100);
37、dog();break;IOB=L3down+L3;i=(i+1)%6);DelayMs(100);dog();break;IOB=L3up+L3;i=(i+1)%6);DelayMs(100);dog();break;case0:IOB=L4down+L4;i=(i+1)%6);DelayMs(100);dog();break;附錄三外部按鍵逐個(gè)亮滅#include#includevoidDelayMs(uintt)while(t-)uintj;for(j=0;jat)*P_IOB_Data=up;*P_Watchdog_Clear=0 x0001;if(to=at)*P_IOB_Data=
38、stop;*P_Watchdog_Clear=0 x0001;if(toat)*P_IOB_Data=down;*P_Watchdog_Clear=0 x0001;附錄六計(jì)算器#include#includevoidDelayMs(uintt)while(t-)uintj;for(j=0;j500;j+)intnum1=0,num2=0;intresult=0;inti=0;k=0;intGetnum()while(i=0)if(IOA&btin1)=btin1)num1=1;i+;IOB=0 x1000;DelayMs(100);dog();if(IOA&btin2)=btin2)num1=
39、2;i+;IOB=0 x2000;DelayMs(100);dog();if(IOA&btin3)=btin3)num1=3;i+;IOB=0 x3000;DelayMs(100);dog();if(IOA&btin4)=btin4)num1=4;i+;IOB=0 x4000;DelayMs(100);dog();dog();while(i=1)if(IOA&btin1)=btin1)num2=1;i+;IOB=0 x1000;dog();if(IOA&btin2)=btin2)num2=2;i+;IOB=0 x2000;dog();if(IOA&btin3)=btin3)num2=3;i+;
40、IOB=0 x3000;dog();if(IOA&btin4)=btin4)num2=4;i+;IOB=0 x4000;dog();dog();return(num1,num2);voidmain()*P_IOA_Dir=0;*P_IOA_Attrib=0;*P_IOA_Data=0;*P_IOB_Dir=0 xf3ff;*P_IOB_Attrib=0 xf3ff;*P_IOB_Data=0;while(1)Getnum();while(i=2)&(num1*num2)!=0)if(IOA&bt4down)=bt4down)result=num1+num2;i+;DelayMs(100);dog();if(IOA&bt3up)=bt3up)result=num1-num2;i+;DelayMs(100);dog();if(IOA&bt3down)=bt3down)result=num1*num2;i+;DelayMs(100);dog();dog();if(r
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生工程師工作總結(jié)
- 禮品包裝設(shè)計(jì)師的日常工作
- 2025版消防系統(tǒng)改造人工安裝費(fèi)用協(xié)議書3篇
- 關(guān)于公文處理工作規(guī)定的學(xué)習(xí)體會(huì)一、關(guān)于國(guó)家行政機(jī)關(guān)公文處理辦法
- 食品行業(yè)前臺(tái)工作總結(jié)
- 教研成果的學(xué)生產(chǎn)出評(píng)價(jià)
- 二零二五年度個(gè)人光伏發(fā)電貸款合同樣本3篇
- 二零二五年度新型建筑材料應(yīng)用個(gè)人房屋裝修合同模板
- 二零二五年度個(gè)人土地承包經(jīng)營(yíng)權(quán)租賃合同范本12篇
- 2025版鞋子行業(yè)市場(chǎng)趨勢(shì)分析與銷售預(yù)測(cè)合同3篇
- JJG 692-2010無(wú)創(chuàng)自動(dòng)測(cè)量血壓計(jì)
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- 徐州市2023-2024學(xué)年八年級(jí)上學(xué)期期末地理試卷(含答案解析)
- CSSD職業(yè)暴露與防護(hù)
- 飲料對(duì)人體的危害1
- 數(shù)字經(jīng)濟(jì)學(xué)導(dǎo)論-全套課件
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)項(xiàng)目三 移動(dòng)商務(wù)運(yùn)營(yíng)內(nèi)容的策劃和生產(chǎn)
- 中考記敘文閱讀
- 產(chǎn)科溝通模板
- 2023-2024學(xué)年四川省成都市小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)期末提升試題
- GB/T 2462-1996硫鐵礦和硫精礦中有效硫含量的測(cè)定燃燒中和法
評(píng)論
0/150
提交評(píng)論