




已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
全自動可遙控旗幟升降系統的設計與制作編號:F甲1060參賽者: 古欣 王智涌 張興成山東大學物理與微電子學院指導老師:李茂奎摘要: 全自動可遙控旗幟升降系統以AVR單片機為核心,由PWM對電機進行變頻調速,高精度光電編碼器測速,閉環(huán)式電路控制。能夠利用按鍵輸入相應的指令控制旗幟的升降,還可以實現在特定位置停留的功能。利用LCD可以顯示旗幟的實時高度和相應的控制命令,用LED指示旗幟是否處于半旗狀態(tài),具有語音提示報警功能,并可利用無線模塊實現遙控功能,準確均勻地實現旗幟的升降。關鍵詞:PWM調速 無線數據傳輸 MP3解碼 碼盤 閉環(huán)控制 STA013(一) 系統特性 PWM變頻調速 利用L298和PWM配合可以對電機實現高精度的速度調節(jié)。 高精度光電編碼器測速 具有最小7.5度的角度精度。系統精度高達0.05MM. 閉環(huán)式控制 PID算法 利用PID算法構成的閉環(huán)式控制電路具有精度高,實時反饋等優(yōu)點。 高速無線數據傳輸 以MEGA8為核心,使用cc1000芯片,速度高達38400bps。 MP3解碼芯片的應用 利用STA013芯片對MP3進行解碼,實現音樂的播放與控制。 語音提示與報警功能 采用高達1G容量的SD存儲卡 系統采用高達1G的SD卡存儲MP3及各種音頻數據,容量大。 利用非接觸式霍爾傳感器進行上下限位 128*32LCD顯示系統信息(二) 系統框圖PWMML298脈沖PWM74LS04整形放大反饋整形放大74LS04L298電動機碼盤主機MCUMEGA32INT電源:LCD:128*32LED:顯示半旗狀態(tài)KEY BOARDTWIMCUSD卡STA013揚聲器上限位下限位上下限位開關M鼓風機無線模塊CC1000芯片MCULM386(三) 方案比較與論證(1) 電機的選擇方案一:采用步進電機 步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構,具有精度高易調控的特點。但是步進電機的力矩會隨轉速的升高而下降,調速潛力不大。并且低速時可以正常運轉,但若高于一定速度就無法啟動,并伴有嘯叫聲。所以放棄使用步進電機。 方案二:采用減速電機+閉環(huán)控制減速電機是減速器與電機聯體,相對于步進電機具有高效率、傳遞力矩大、可靠性高等顯著優(yōu)點。但是如果采用開環(huán)的控制方式精度不高。為了提高它的精度,我們采用減速電機+閉環(huán)控制的方案。閉環(huán)控制利用PID算法通過檢測電機速度對電機進行實時的調節(jié),從而提高系統的調節(jié)精度。(2) 電機升旗方案方案一:采用恒速上升的方案 使用步進電機如果采用恒速上升的方法則只需要測定啟動初期的速度即可,上升過程中不進行測速。但是系統處在外界,難免會受到各種因素的影響,如果旗幟在上升的過程中受到影響速度改變的話就會使升旗出現誤差。所以這種方式雖然簡單但是非常不穩(wěn)定。 方案二:閉環(huán)控制 PID算法 閉環(huán)控制是從輸出量變化取出控制信號作為比較量反饋給輸入端控制輸入量,一般這個取出量和輸入量相位相反,所以也叫負反饋控制。 PID是比例,積分,微分的縮寫。它是本系統實現閉環(huán)控制的核心。 比例調節(jié)作用:是按比例反應系統的偏差,系統一旦出現了偏差,比例調節(jié)立即產生調節(jié)作用用以減少偏差。比例作用大,可以加快調節(jié),減少誤差,但是過大的比例,使系統的穩(wěn)定性下降,甚至造成系統的不穩(wěn)定。積分調節(jié)作用:是使系統消除穩(wěn)態(tài)誤差,提高無差度。因為有誤差,積分調節(jié)就進行,直至無差,積分調節(jié)停止,積分調節(jié)輸出一常值。積分作用的強弱取決于積分時間常數Ti,Ti越小,積分作用就越強。反之Ti大則積分作用弱,加入積分調節(jié)可使系統穩(wěn)定性下降,動態(tài)響應變慢。積分作用常與另兩種調節(jié)規(guī)律結合,組成PI調節(jié)器或PID調節(jié)器。微分調節(jié)作用:微分作用反映系統偏差信號的變化率,具有預見性,能預見偏差變化的趨勢,因此能產生超前的控制作用,在偏差還沒有形成之前,已被微分調節(jié)作用消除。因此,可以改善系統的動態(tài)性能。在微分時間選擇合適情況下,可以減少超調,減少調節(jié)時間。微分作用對噪聲干擾有放大作用,因此過強的加微分調節(jié),對系統抗干擾不利。此外,微分反應的是變化率,而當輸入沒有變化時,微分作用輸出為零。微分作用不能單獨使用,需要與另外兩種調節(jié)規(guī)律相結合,組成PD或PID控制器。 本系統采用PID算法,適當的調節(jié)比例,積分,微分的份額,實現閉環(huán)控制電動機的速度以保證旗幟準時升到頂。相關原理圖如下:ML298脈沖PWM74LS04反饋整形放大(3) 速度測量方式方案一:單脈沖計數 單脈沖計數的方式是電動機每轉一周,系統就獲得一個脈沖。這種計數方式雖然比較簡單,但是它的精度不夠高。 方案二:透過式高精度光電編碼器(碼盤) 原理圖如圖所式: 碼盤從光電對管中間穿過,馬盤上有很多細線,細線將馬盤均勻的分割開。本系統采用的碼盤共有48條阻隔線,所以電機每轉過7.5度系統就獲得一個脈沖。電動機與碼盤相連的軸直徑為0.800MM,所以系統的位置測量精度高達0.005MM。根據速度等于位移變化量除以時間間隔的計算公式可以高精度地測量電機速度從而判斷是否需要調速。 方案三:反射式碼盤開關 反射式碼盤開關的原理與透過式碼盤開關的原理類似,但是它必須采取靜態(tài)固定的方式,對固定的位置、牢固性等的要求較高。而透過式碼盤開關則不同,對固定的要求沒有那么高。所以從這方面考慮不采用反射式碼盤開關。(4) 調速方式方案一:調壓通過調壓的方式進行電機調速的原理是將一部分電壓轉化成熱,這樣就浪費了能源,與建設節(jié)約型社會的宗旨相背離,況且對于移動式的設備來說節(jié)能也至關重要。調壓方式下轉速與外界的負載有關,另外,當電壓較低時,電機力矩小,輸出不穩(wěn)定。方案二:PWM調速 PWM(脈寬調制)是一種對模擬信號電平進行數字編碼的方法,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。通過高分辨率計數器的使用,方波的占空比被調制用來對一個具體模擬信號的電平進行編碼。相比電壓調速的方法,PWM調速具有精度高,易于控制等優(yōu)點。另外,它的調速方式為脈寬調制所以不會有太多的能源浪費,可以保證系統較長時間的工作,這對于移動設備而言是巨大的優(yōu)勢。因此采用PWM調速的方式。PWM調速電路圖: L298: L298是內含兩個H橋的高電壓大電流雙全橋式驅動器,是性能優(yōu)越的小型直流電機驅動芯片之一 。接受標準TTL邏輯電平信號,可驅動電壓46 V、每相2.5 A及以下的減速電機或者是步進電機,在4-46V的電壓下,可以提供2A的驅動電流。它具有兩個使能輸入端, 在不受輸入信號 影響的情況下允許或禁止器件工作, 每個橋對的下部三極管的發(fā)射極接在一起并引出, 用 以外接檢測電阻, 它設置了一附加電源輸入端使邏輯部分在低電壓下工作。L298還有過熱自動關斷功能,并有反饋電流檢測功能,符合電機驅動的需要。L298的圖解:L298引腳圖示:(5) 音樂同步播放方案一:利用系統控制錄音機 這種方案雖然簡單,但是無法對音樂曲目、播放時間、播放速度進行精確的選擇和控制。系統要求既能播放音樂又能進行適當的語音報錯,所以這樣無法滿足系統需求。方案二:語音存儲芯片 語音存儲芯片同樣存在無法精確巧妙跳躍式地控制音樂播放的缺點。方案三:模擬MP3按鍵控制MP3 這種方式只是將MP3的按鍵控制移植到系統中。利用系統模擬按鍵的功能實現對MP3的控制。但是系統要求可以跳躍式地任意播放曲目,MP3尚不能滿足這種要求。方案四:MP3音頻解碼芯片 STA013+1G的SD卡采用STA013芯片+1G的SD卡的音頻處理模式,利用LM386進行音頻的放大,利用TWI或者是I2C進行通信,能夠對音樂播放進行較好的控制??梢詫崿F只要輸入音樂的名稱就可以播放的功能,剛好滿足了系統語音報錯和音樂播放的功能要求,另外超大容量的存儲芯片可以使系統功能具有較大的擴展空間。另外通過對99年國慶閱兵典禮的反復觀看,發(fā)現標準的國歌播放時間有46秒,而前3秒不升旗,所以真正的升旗時間有43秒,這就要求系統有延時的功能。這可以利用MP3音頻解碼器輕松準確地實現。3秒占46秒的6.5%,當MP3播放到6.5%的時候會向系統發(fā)出升旗的請求,系統做出反應進行升旗,輕松準確地實現延時。 STA013芯片: STA013芯片是一顆標準的MP3音訊譯碼器(audio decoder)。若不考慮體積大小、耗電量、額外的復雜功能、生產成本,它是能以單一的技術整合方案,來實現一臺可用的(workable)MP3播放機。STA013具有高可設定性(configurable)的功能,不同的設定組合可以滿足不同的應用需求。另外STA013會忽略掉不屬于MP3格式的數據它們不會產生聲音。所以,不需要另外設計程序,以求事先將MP3檔案的ID3標簽(tag)去除掉。可以直接將一個完整的MP3檔案,傳送給STA013處理。萬一將毀損的MP3數據串流(例如:由于下載中斷,造成檔案被截斷)輸入給STA013,它會忽略掉大部分已經毀損的數據;只有一部分毀損的數據,會產生一個短暫的吱喳聲(通常這視緊接在毀損部位后面的數據而定),但是STA013會自動立即與毀損部位后面的正常數據同步。 STA013芯片MP3解碼原理圖如下: STA013引腳連接圖:MP3音頻解碼器的原理圖:TWI通信MCUSD卡STA013解碼判斷是否讀取數據讀取數據送數據是否無動作播放音樂(6) 限位開關方案一:行程開關 該開關的關鍵之處就是在旗子到達最頂端或者最底端時對行程開關造成碰撞從而使開關接觸,這一動作會即時反饋到單片機,單片機對此做出相應的反應。但是,小型行程開關彈簧觸片太短太小以至于使開關起作用需要的力較大,有可能在使用過程中出現意外,大型行程開關裝在該設備上極不美觀。所以放棄該方案。方案二:霍爾傳感器 霍爾元件是基于霍爾效應來測量電位差的一種器件,霍爾元件與磁鐵配合是一種很好的可實現非接觸式信號傳遞的組合,也稱霍爾傳感器?;魻杺鞲衅骼没魻栐械拇磐渴闺娮釉诨魻栐囊粋染奂诨魻栐蓚犬a生電壓差,并由霍爾器件檢測出霍爾電壓信號,經過放大器放大,該電壓信號精確地反映原邊電流,或者是磁通量的變化。從而根據事先預定好的情況做出相應的反應。但是這又存在另外一個問題,如果旗桿使用鐵制的則將會被磁鐵磁化從而對霍爾傳感器產生不良影響。這套儀器采用合金材料制作旗桿,不會或極少被磁化,所以綜合考慮以后選擇方案二。 霍爾元件連接電路如圖所示:(7) 顯示方式 系統具有的顯示功能是體現人機交互的重要方式。通過系統的顯示信息,人們可以知道它在干什么,從而決定自己應該干什么。 方案一:采用LED(數碼管)顯示 LED(數碼管)是light-emitting diode的縮寫,它經過合理的設置可以完成顯示旗幟位置信息的任務,并且經濟耐用。同時LED具有高亮度,高刷新率的優(yōu)點,能提供寬達160的視角,可以在較遠的距離上看清楚。但是它的顯示存在信息量少,顯示不直觀,不易理解的缺點。方案二:采用LCD(液晶屏)顯示LCD(液晶屏)是Liquid Crystal Display的縮寫,它具有漢字顯示的功能,不但可以指示旗幟的位置,還可以顯示相應的控制命令,如升旗、降旗等,信息量豐富且直觀易懂。另外,液晶顯示有功耗低,體積小,質量輕,壽命長,不產生電磁輻射污染等優(yōu)點。綜合二者的優(yōu)缺點,半旗的指示用LED顯示,旗幟位置和控制命令的顯示用LCD顯示。相關電路連接圖如下: (8) 掉電檢測系統要求在任意時刻掉電后系統的數據信息不丟失,但是又不可能每一時刻的數據都寫入EEPROM,因為EEPROM擦寫次數有限而單片機數據變化迅速。因此必須進行掉電檢測,只有判斷掉電以后才可以將數據寫入EEPROM。電路連接狀況如下: VCC輸入一個12V的電壓使穩(wěn)壓電容保持4.7V的電壓。當系統掉電時會破壞穩(wěn)壓電容的電壓,反饋到系統使系統將數據寫入EEPROM。此時系統CPU靠4700uF的大電容供電,為了防止其它耗電元件耗電,在電容之前接一個二極管,保證單向連通。(9) 掉電數據不丟失的實現EEPROM是電子可擦寫可編程只讀存儲器 (electrically erasable programmable read-only memory) 的縮寫。它是一種非揮發(fā)性記憶體 (Memory ) ,與抹除式唯讀記憶體 (EPROM ) 相似,電源消失后,儲存的資料 (Data) 依然存在,要消除儲存在其中的內容,不是用紫外線照射方式,而是以電子訊號直接消除即可。一般消費者常用的電視遙控器,內部所用的一、二千位元 (bit ) 的非揮發(fā)性記憶體 (NVRAM ) ,通常就是EEPROM。DRAM斷電后存在其中的數據會丟失,而EEPROM斷電后存在其中的數據不會丟失。另外,EEPROM可以清除存儲數據和再編程。正是由于EEPROM具有以上特點,該器件可廣泛應用于對數據存儲安全性及可靠性要求高的應用場合,如門禁考勤系統,測量和醫(yī)療儀表,非接觸式智能卡,稅控收款機,預付費電度表或復費率電度表、水表、煤氣表以及家電遙控器等應用場合。該類型存儲器在可靠數據存儲領域會獲得越來越廣泛的應用。在平常情況下,EEPROM是只讀的,需要寫入時,在指定的引腳加上一個高電壓即可寫入或擦除,而且其擦除的速度極快!它可以電改寫,也可以逐字節(jié)改寫。 但是,EEPROM有固定的使用壽命,這是指某一位由1寫為O或由O寫為1的次數。不同廠家的產品,相同廠家不同型號、系列的產品,它們的壽命也不盡相同,100萬次為常見主流產品。這種壽命已經足以滿足本系統的要求。 為了實現在任意時刻任意位置掉電后旗幟位置數據不丟失的功能,本系統采用EEPROM作為數據存儲芯片。(10)遙控方式 方案一:FM模擬遙控 這種遙控器由形成遙控信號的微處理器芯片、晶體振蕩器、放大晶體管、紅外發(fā)光二極管以及鍵盤矩陣組成。其工作原理是微處理器芯片IC1內部的振蕩器通過2、3腳與外部的振蕩晶體X組成一個高頻振蕩器,產生高頻振蕩信號(480kHz)。此信號送入定時信號發(fā)生器后產生40KHz的正弦信號和定時脈沖信號。正弦信號送入編碼調制器作為載波信號;定時脈沖信號送制掃信號發(fā)生器、鍵控輸入編碼器和指令編碼器作為這些電路的時間標準信號。IC1內部的掃描信號發(fā)生器產生五中不同時間的掃描脈沖信號,由59腳輸出送至鍵盤矩陣電路。當按下某一鍵時,相應于該功能按鍵的控制信號分別由1014腳輸入到鍵控編碼器,輸出相應功能的數碼信號。然后由指編碼器輸出指令碼信號,經過調制器調制在載波信號上,形成包含有功能信息的高頻脈沖串,由17腳輸出經過晶體管BG放大,推動紅外線發(fā)光二極管D發(fā)射出脈沖調制信號。這種遙控方式遙控距離短,傳輸速率低,而且易受干擾。 方案二:數字遙控 這種方案采用速度高達38400bps的無線傳輸模塊進行數據傳輸。采用CC1000芯片,以MEGA8為核心,充分顯示了現代單片機技術在無線傳輸中應用的優(yōu)勢。具有傳輸距離遠,速率高,不易受干擾等優(yōu)點。而且可傳輸的信息多種多樣,只要能夠轉化成數字信號就能傳輸。所以采用這種傳輸方式作為無線模塊。 (11)出錯提示音 為了防止誤操作,系統需要對一些情況進行錯誤提示。 方案一:在特定情況下屏蔽掉相關按鍵 這種方式雖然簡單但是不能體現人性化,如果操作者不知道自己的錯誤往往造成操作者摸不清頭腦,甚至以為設備出了毛病。 方案二:嘀嘀聲作為錯誤提示 這種方式雖然可以讓操作者知道自己操作錯誤但不能知道為什么,功能仍然不夠完善。 方案三:語音提示 這種方式更能夠體現人機交互。當操作者無操作時,系統會利用音頻播放設備播放相應的提示音,使人們知道式自己操作不當,并且知道哪里出了錯。這樣更能夠體現人性化。(12)分機設計 分機的設計相對簡單,包括鍵盤模塊,無線模塊,LCD顯示模塊和MCU模塊,在此不過多敘述。 LCD的電路連接如圖所示:分機整體電路圖如圖所示:(四) 系統工作原理主機電路圖: 工作原理:系統由按鍵控制,利用PWM驅動電機按照程序設計的轉速和方向利用滑輪實現旗幟的升降。按上升鍵以后,旗幟按照預定速度勻速上升,并由音頻設備流暢地演奏國歌。上升到最高端時,旗幟停止上升,國歌停奏。按下降鍵后,旗幟按照預定速度勻速下降,此時音頻設備不演奏國歌。按特定的停止鍵可以實現在特定的位置上停留。旗幟上安裝有磁鐵,旗桿的頂端和底端安裝有霍爾元件,當旗幟上升到頂端或下降到底端時,霍爾元件做出感應,以免誤操作。當旗幟在頂端時如果按上升鍵或者旗幟在底端時按下降鍵則會聽到語音報警提示音。由測量模塊實時測量旗幟的高度并由LCD顯示出來。 由一個半旗開關控制旗幟是否處于半旗狀態(tài),由LED指示是否處于半旗狀態(tài)。半旗狀態(tài)下(根據國旗法)升旗時,按上升鍵,奏國歌,國旗從最低端上升到最高端之后,國歌停奏,然后自動下降到總高度的2/3高度處停止;降旗時,按下降鍵,國旗先從2/3高度處上升到最高端,再自動從最高端下降到底之后自動停止,國歌停奏。 由EEPROM實時記錄旗幟的位置,不論旗幟是在頂端還是在底端,關斷電源之后重新合上電源,旗幟所在的高度數據不會丟失,顯示不變。旗幟的升降速度可調,在旗桿高度不變的情況下,升旗的時間范圍在30秒到120秒之間,步進1秒。用停止鍵可以實現任意位置的急停。 另外,利用無線模塊可以實現遙控旗幟的升降及停止。 程序流程圖:(五)成員分工與時間安排 在系統的框圖完成以后,小組成員對自己的工作已經有了比較明確的認識,根據個人的具體情況大家進行了分工。擅長程序編寫的就負責系統所需程序的編寫工作,精通硬件的則負責元器件的選購和硬件的架設,而我則負責文檔的整理,畢竟團結協作才算是一個團體嘛。由于時間緊迫,我們把時間進行了細分,從9月8號到9月11號大家吃住在一起,每天至少工作18個小時,每一個小時都有具體的任務,如果有任務完不成則自己擠出休息的時間來完成。為了大家互相監(jiān)督以及自我提醒,我們還特意打印了這幾天每一個小時的時間表。每過一個小時大家就在表上填上自己這一個小時的工作成果并相互提醒時間又少了一個小時。這樣雖然有些忙,但是大家感到很充實,工作效率也很高,經常是提前完成計劃的任務。大家就這樣忙并快樂著。(六)系統功能調式與結果測量 雖然我們在制作的過程中進行過無數次的測試,但是最后還是要進行總體性能的測試。9月11號上午,我們對經過多次調式的系統進行了總體性能的測試。 測試的內容主要有升旗、降旗、半旗、語音報錯、掉電數據保存、LCD、LED顯示等。 經過測試系統能夠按照鍵盤設定的時間將旗幟升到旗桿頂部,鍵盤可設定的時間范圍是30到120秒,當然也能在43秒鐘完成升旗任務。在錯誤的操作下,系統準確的進行了語音報錯。半旗狀態(tài)下,LED指示燈亮,此時按升旗鍵奏國歌,國旗從最低端上升到最高端之后,國歌停奏,然后自動下降到總高度的2/3高度處停止;降旗時,按下降鍵,國旗先從2/3高度處上升到最高端,再自動從最高端下降到底之后自動停止,國歌停奏。LCD能正確顯示旗幟高度和所用時間,掉電后旗幟高度的數據不丟失??蓪崿F任意位置停止的功能,無線遙控能夠正常工作。(七)參考文獻:(1) AVR單片機C語言開發(fā)入門指導 沈文 Eagle lee 詹衛(wèi)前編著 清華大學出版社(2) 音訊放大器LM386簡介(作者:陳明周(2003-04-07))(3) /bbs/viewtheme.asp?area=105&lstsort=0&lstday=-1&page=1&id=217 (室外LED顯示屏技術規(guī)范)(4) ./udchina/mb_forum/detail2.asp?f2_id=2&f3_id=767&f3_name=%CD%F5%D2%AB (霍爾元件概念一覽)(5) /question/10320980.html (步進電機驅動器恒流脈寬調制(pwm)的原理)(6) .tw/article/articles/technical/file/(2003-04-07)%20%AD%B5%B0T%A9%F1%A4j%BE%B9LM386%C2%B2%A4%B6.pdf (音頻放大器LM386簡介)(7) /asp300/showtopic.asp?TOPIC_ID=17&Forum_id=3 (數碼存儲卡技術介紹)(8) /qikan/periodical.articles/bjhgdxxb/bjhg99/bjhg9901/990114.htm (在線自動寬度測量儀的研制*北京化工大學學報990114)(八)本系統部分程序源代碼* (c) Copyright 2006-2008, * All Rights Reserved* V1.2.0/* 文件名: main.c 工程主文件*/*/ eeprom 0x0a: 旗幟位置 0x0b: 是否半旗 / 0:底; 244,頂: 其他:中間 1:y 0:n*/#include config.hextern uint16 haveused_time; /已經耗時extern uint16 s,get_s,T;extern uint8 S;uint8 position_flag=0; /旗幟位置,0:底 254:頂 1180: 高度cmuint8 if_half_flag=0; /是否半旗,默認0:否 1:是uint8 move_flag; /是否在移動volatile uint8 up_or_down=1; /在上升(1)還是下降(0)volatile uint8 half_up_or_down; /半旗升旗到頂(1),還是半旗降旗到頂(0)。volatile uint8 lcd_fresh_flag; /是否允許刷新LCDvolatile uint8 speed_change_flag=0;/ 是否允許調速度uint8 SIO_buff10; /遙控數據緩沖uint8 lcd_show32; /LCD顯示緩沖uint8 timer_i=0; /內部計時循環(huán)void main(void) uint8 read; /readkey /float pass_speed,forward_speed; init_devices(); position_flag = EepromRead(0x0a); /讀旗幟位置和是否半旗 if(position_flag=255) position_flag = 0; if_half_flag = EepromRead(0x0b); if(if_half_flag1)if_half_flag = 0; /防止讀到錯誤數據 strcpy(lcd_show,高 度: 000 CM 時 間: 000 MS ); Lcd_init(); Lcd_stringdisp(程序啟動,8); music_state_ask(S ); /*/ /半旗狀態(tài)顯示 if(if_half_flag=1) half_flag_show; lcd_show15 = 0x08; else half_flag_unshow; lcd_show15 = 0x0A; /*/ while(1) read=kbscan(); /鍵盤操作 switch(read) /*-*/ case u: /up if(move_flag=1) break; /運動中按鍵屏蔽 if(position_flag254) /只有在頂端以下才有動作if(position_flag=0)music_state_ask(PGUOGE.MP3 ); /音樂elsemusic_state_ask(C );Delay1s(30); if(if_half_flag=1) Lcd_stringdisp(半旗模式升旗,12); MOTOR(1,170,46); half_up_or_down=1; /半旗升旗到頂,霍爾中斷的時候判斷。 else Lcd_stringdisp(升旗,4); MOTOR(1,170,46); break; music_state_ask(PA05.MP3 ); /音樂 break;/*-*/ case d: /down if(move_flag=1) break; /運動中按鍵屏蔽 if(position_flag!=0) /只有在底部以上才有動作 if(if_half_flag=1) MOTOR(1,60,15); /半旗模式,上升1/3 降旗 half_up_or_down=0; /半旗降旗到頂,霍爾中斷的時候判斷。 Lcd_stringdisp(半旗模式降旗,4); else MOTOR(0,position_flag,46-haveused_time); Lcd_stringdisp(降旗,4); break;/*-*/ case h: /half if(move_flag=1) break; /運動中按鍵屏蔽 if(position_flag!=0) break; /如果不在底端,不允許改變半旗模式 if(if_half_flag=1) half_flag_unshow; /如果是,則改為不是 if_half_flag=0; lcd_show15 = 0x0A; /非半旗標志 Lcd_stringdisp(取消半旗模式,12); else half_flag_show; if_half_flag=1; lcd_show15 = 0x08; /半旗標志 Lcd_stringdisp(設定半旗模式,12); break;/*-*/ case s: /stop if(move_flag=0) break; /停止中按鍵屏蔽 if(position_flag!=254)&(position_flag!=0) /只有在運動時才有動作all_stop();/停止操作 Lcd_stringdisp(停止,4); break;default: break; /switch end/*/ 遙控模塊 if(Com_R_count(&RTbuf_UART0)!=0) Com_getstring (SIO_buff,4,&RTbuf_UART0); switch(SIO_buff0) /*-*/ case u: /up if(move_flag=1) break; /運動中按鍵屏蔽 if(position_flag254) /只有在頂端以下才有動作if(position_flag=0)music_state_ask(PGUOGE.MP3 ); /音樂elsemusic_state_ask(C );Delay1s(30); if(if_half_flag=1) Lcd_stringdisp(半旗模式升旗,12); MOTOR(1,170,46); half_up_or_down=1; /半旗升旗到頂,霍爾中斷的時候判斷。 else Lcd_stringdisp(升旗,4); MOTOR(1,170,46); break; music_state_ask(PA05.MP3 ); /音樂 break;/*-*/ case d: /down if(move_flag=1) break; /運動中按鍵屏蔽 if(position_flag!=0) /只有在底部以上才有動作 if(if_half_flag=1) MOTOR(1,60,15); /半旗模式,上升1/3 降旗 half_up_or_down=0; /半旗降旗到頂,霍爾中斷的時候判斷。 Lcd_stringdisp(半旗模式降旗,4); else MOTOR(0,position_flag,46-haveused_time); Lcd_stringdisp(降旗,4); break;/*-*/ case h: /half if(move_flag=1) break; /運動中按鍵屏蔽 if(position_flag!=0) break; /如果不在底端,不允許改變半旗模式 if(if_half_flag=1) half_flag_unshow; /如果是,則改為不是 if_half_flag=0; lcd_show15 = 0x0A; /非半旗標志 Lcd_stringdisp(取消半旗模式,12); else half_flag_show; if_half_flag=1; lcd_show15 = 0x08; /半旗標志 Lcd_stringdisp(設定半旗模式,12); break;/*-*/ case s: /stop if(move_flag=0) break; /停止中按鍵屏蔽 if(position_flag!=254)&(position_flag!=0) /只有在運動時才有動作all_stop();/停止操作 Lcd_stringdisp(停止,4); break; default: break; /switch end /*/ 動態(tài)顯示/*/ if(lcd_fresh_flag=1) lcd_fresh_flag=0; lcd_show24 = haveused_time/100+0x30; /時間 lcd_show25 = (haveused_time%100)/10+0x30; lcd_show26 = haveused_time%10 +0x30; lcd_show27 = timer_i/20+0x30; /0.1s if(up_or_down=1) lcd_show31=0x1E; /向上標記 lcd_show8 = s/100+0x30; /位置顯示 lcd_show9 = (s%100)/10+0x30; lcd_show10 = s%10+0x30; position_flag = s;else if(up_or_down=0) /降旗 lcd_show31=0x1F; /向下標記 lcd_show8 = (180-s)/100+0x30; /位置顯示 lcd_show9 = (180-s)%100)/10+0x30; lcd_show10 = (180-s)%10+0x30; position_flag = 180-s; Lcd_stringdisp(lcd_show,32);/*/ 電機調速/*/ if(speed_chan
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣道吸入性損傷的護理
- 科學活動《小樹排排隊》設計大綱
- 招商人員年終工作總結
- 關于《玉堂春》的舞臺表演藝術探究
- 生產總監(jiān)年度工作總結
- 元旦的節(jié)日教育
- 沉井施工環(huán)保措施及責任協議書
- 綠色能源營銷團隊勞動合同規(guī)范解讀
- 企業(yè)核心財務數據保密及財務總監(jiān)責任合同書
- 餐飲連鎖品牌加盟權及管理權轉讓合同
- 廣西壯族自治區(qū)桂林市2023-2024學年七年級下學期期末考試數學試題
- 企業(yè)所得稅匯算清繳申報表電子表格版(帶公式-自動計算)
- 訂婚解除婚約協議書模板
- 護理一科一品成果課件
- 馬生產學智慧樹知到期末考試答案2024年
- 試驗檢測實施方案
- 湘美版六年級下冊美術全冊教案
- 車輛爆胎突發(fā)事件的應對與處理技巧
- 2024年新蘇教版六年級下冊科學全冊知識點(精編版)
- 老年綜合評估課件
- 外科手術中自動打結器在強化縫合中的作用
評論
0/150
提交評論