




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、物聯網技術及應用綜合訓練題目: 智能灌溉系統的研究與設計 專業(yè): 電子信息與技術 學院: 信息工程學院 學生姓名: 邢晨 學號: 2014520438 指導教師: 張軍朝 2015年 6 月 5 日目錄:一、系統需求分析11.1 滴灌施肥技術簡介11.2 課題研究的背景及目的意義11.3 國外發(fā)展概況21.4 國內發(fā)展概況3二、系統架構4二、硬件62.1 機械部分62.2電路部分設計8A濕度傳感器方案8B.運算放大器方案8C.電機方案9D顯示部分設計:12E 、舵機控制方案13F.電源部分設計14G、對單片機的改進設計15三、程序清單17A、程序流程17B、部分模塊驅動程序:18C、主程序:3
2、2一、系統需求分析1.1 滴灌施肥技術簡介 滴灌施肥是一種先進的灌溉施肥方式,它將兩個原本相互獨立的技術灌溉和施肥,采用旁路式的結構結合在一起。滴灌施肥技術把肥料液、酸液和水通過一定比例混合在一起并將其準確地施加在作物根系附近,使得作物的根系能夠充分直接吸收利用,滿足作物不同階段對養(yǎng)分的需求和土壤中的養(yǎng)分供給平衡。采用滴灌施肥技術可以方便地調節(jié)灌溉水中營養(yǎng)物質的濃度,滿足作物生長的營養(yǎng)需求規(guī)律,大幅度提高肥料和水的利用效率、提高作物的產量和質量,同時還減少了田間管理作業(yè)的時間;滴灌施肥技術能夠準確地控制滿足植物生長最優(yōu)的混合肥劑量以及滲入土壤的深度,而且施肥均勻、定位準確,使得灌溉施肥參數得到
3、精確有效地控制,減輕了土壤、地下水和環(huán)境的污染。 1.2 課題研究的背景及目的意義 我國水資源嚴重短缺,再加上農業(yè)灌溉用水方面普遍存在浪費嚴重和灌溉水利用效率低的問題,如何降低農業(yè)灌溉的用水量、提高灌溉用水的利用效率就成為急需解決的問題。從化肥的使用情況來看,我國的使用量居世界首位,但是肥料的利用效率卻很低,渠灌和溝灌等傳統的灌溉方式仍被廣泛采用,它們的灌溉水利用效率只有 40%左右,結果使得大部分卻被利用的水帶走了施用的肥料,造成肥料的浪費。 滴灌施肥智能控制系統將灌溉和施肥結合起來,通過計算機對施肥量、灌溉時間、灌溉頻率等參數的控制實現自動灌溉施肥的目的,一方面肥液直接到達作物的根系,肥料
4、的利用效率提高,肥料深層流失的現象也能夠得到遏制,同時還保護地下水免受肥料及化學藥劑的污染;另一方面系統利用灌水器將水以滴灌滲透的形式直接作用到作物的根系中,不僅降低了作物與作物之間水分的蒸發(fā)量而且還減少土壤深層水的滲漏量,最大限度減少了水分的損失,灌溉水的利用效率大大提高。經過多年的發(fā)展,節(jié)水灌溉技術和計算機控制技術相結合形成的新型灌溉技術日趨成熟,逐漸得到人們的重視,它不僅能夠及時準確地控制施肥和灌溉而且還能對作物的生長規(guī)律、生長情況以及生長環(huán)境等有良好的適應性,大大提高了灌溉水和肥料的利用率,節(jié)省田間管理作業(yè)的時間,提高了勞動生產率,對提高農業(yè)投入的經濟效益具有重要的意義。 1.3 國外
5、發(fā)展概況 現代高效農業(yè)成為農業(yè)生產領域中的一個大趨勢,而滴灌施肥又是高效農業(yè)的重點,它的核心是以傳感器技術和控制技術為基礎的智能控制系統以及操作裝置的研發(fā),西方發(fā)達國家在這方面的優(yōu)勢比較明顯。目前,設施農業(yè)比較先進的國家主要是美國、荷蘭、以色列、日本以及澳大利亞等發(fā)達國家。農業(yè)生產由機械灌溉轉變?yōu)樽詣庸喔?,水肥利用效率和作物產量得到大幅度提高,田間管理也越來越人性化,并且還能夠對灌溉施肥區(qū)域實施動態(tài)的監(jiān)測管理,其控制性能也越來越高。 伴隨著技術的不斷發(fā)展以及對現實農業(yè)生產的需要,與因特網、ZigBee 以及遠程控制等數據傳輸技術相結合的先進的控制器不斷被開發(fā)出來,由以色列的Eldar Shan
6、y 公司開發(fā)的帶有可編程控制器和 EC/PH 檢測單元的計算機專家控制系統,能夠實時檢測灌溉水的 EC 和 PH 值并且能高效準確地對作物的營養(yǎng)和水分實施供給,實現了水肥一體化。 美國的營養(yǎng)液供給控制系統中,不同的營養(yǎng)罐里裝有不一樣的化合物,按照滿足植物生長需要的比例將不同的化合物混合溶解在水中,利用計算機對營養(yǎng)罐的閥門進行統一控制,最后再把營養(yǎng)液通過管道輸送到作物培養(yǎng)槽中。荷蘭的溫室無土栽培也是采用類似的控制方式。法國、日本、澳大利亞等也都是滴灌施肥技術比較先進的國家,研發(fā)了各種先進的設施農業(yè)控制器,廣泛應用于溫室控制、幼苗育種以及溫室花卉種植等。其中法國研發(fā)的 DOSTRON 混肥器和澳大
7、利亞生產的 MICRO-MASTER 系列產品處于國際領先地位。 近年來,隨著信息技術的發(fā)展,越來越多的數據傳輸和互聯網技術應用于滴灌施肥領域。美國、以色列等國已通過互聯網將生產者和農技服務部門有效地連接起來,通過網絡,農技部門能夠為生產者提供施肥建議,解答生產者遇到的問題,最大限度地滿足實際生產的需要。 1.4 國內發(fā)展概況 從 20 世紀 70 年代起,我國開始引進國外先進的滴灌技術,并且對先進灌溉技術和施肥裝置不斷地進行研究,初步研究開發(fā)出以 8031 單片機為核心的滴灌施肥控制器的一系列產品。進入到 90 年代,我國滴灌施肥技術的總體水平有所提高,比如李銳,袁軍等人研制的灌溉及施肥智能
8、控制系統,將模糊控制原理應用到控制系統中;魯亞云等人設計的恒量施肥控制裝置實現了肥液高度與注肥管出口高度差保持不變,達到恒量施肥的目的等等。但從整體上來說,與國外同類產品仍有較大差距,主要表現在:灌溉水和肥料混合理論與應用研究成果較少,控制的精度不高;信息管理和決策系統不夠成熟;先進灌溉設備的性能、產品質量以及使用的可靠性、穩(wěn)定性不高等。近年來出現了一些滴灌與施肥相結合的滴灌施肥技術方面的研究報道,例如馮紹元等在棉花上進行了滴灌的水肥藕合效應試驗,實驗結果表明水的利用率較傳統方式提高了 20%,并且在相同灌水量條件下還可促進肥料的利用效率。 伴隨著我國農業(yè)現代化的發(fā)展以及農業(yè)結構調整等現實因素
9、,對農業(yè)滴灌施肥控制技術提出了更高的要求。根據我國的國情以及各地農業(yè)發(fā)展的需要,大力推廣實用可行、操作簡便、成本低廉的節(jié)水灌溉施肥控制措施和農業(yè)機械設備,這將是農業(yè)生產領域的一個重要措施,必然產生巨大的經濟和社會效益。二、系統架構本系統系統通過選擇合適的傳感器將對土壤中含水量以及空氣濕度等重要物理量進行采集,通過信號及采集部分將其轉化為數字信號,交給單片機系統進行處理,通過智能控制部分,在需要時驅動相關外設,進行自動精確定位地灌溉。具體流程圖如下:工作過程流程圖利用單片機內定時器計數器,每隔10分鐘(可調)定時向單片機發(fā)出中斷信號單片機相應中斷,驅動濕度傳感器電路,使?jié)穸葌鞲衅鞴ぷ?,采集數據?/p>
10、四個)并將其傳至單片機,由單片機驅動液晶顯示器輸出土地情況調用 土壤濕度分析子程序(即與標準濕度相比較),計算出土壤需要澆灌的部分,并計算出干濕度以決定澆灌用水量(由噴灌時間決定)根據分析結果,調用電機運轉子程序,同時控制電機與舵機分別旋轉、擺動,并打開節(jié)流閥,驅動水泵實現精確定位,完成澆灌單片機重置定時器計數后待機,使定時器30秒后發(fā)出中斷信號30s后響應中斷驅動濕度傳感器電路,采集數據,看是否符合濕度要求,并輸出此時濕度不符合要求符合濕度要求,重置定時器定時(10分鐘),單片機待機單片機處于待機狀態(tài),等待中斷信號關鍵字: 智能控制 精確定位 密封 濕度傳感器 差動放大 順序通電 液晶顯示二
11、、硬件2.1 機械部分整體的機構形式如下所述:水由出水口接入,經過水泵增壓后,經過導水軟管,最后從管的另一端噴射出來。機械臂主要由導水軟管,套筒,舵機,步進電機和與電機配合的傳動裝置組成。套筒下端固結有加工上錐齒的圓環(huán),電機通過錐齒輪傳動,帶動套筒轉動。舵機固定在套筒上,當套筒旋轉時,舵機也隨套筒旋轉。導水軟管穿過套筒與固定在套筒上端的舵機相固結,當舵機臂擺動時導水軟管噴頭處完成豎直方向的調整,以使噴出的水能夠調整遠近。而套筒轉動則實現了噴水方向的調整。這樣,通過水平旋轉及豎直擺動,實現了噴灌的精確定位??紤]到水對電機、齒輪傳動部分的腐蝕影響,電機及其與套筒的傳動部分通過密封箱密封,導線引出,
12、連接到控制電路部分及電源部分,以實現對機械系統的電力輸入及控制。機械臂通過套筒下端深埋入土壤進行固定。這種方案是我們經過多次調整最后確定出來的。下圖為我們用機械仿真軟件pro/engineer制作的圖形(具體見附圖)電機控制套筒水平轉動套筒導水軟管 我們的創(chuàng)新體現在我們的設計過程當中。在噴口的設計中,由于市場上所售的噴頭多利用水壓將水達到某個固定位置,因此不能實現噴灌位置的可調性要求。因此噴管管口需要重新設計。在噴頭處,我們曾試驗過多個方案。其中一個就是擬定用鋼管作導水管,將水直接引到噴頭,而噴頭處設計成噴口可以轉動的形式,通過增加一個電機并通過細桿與噴頭處連實現豎直方向的轉動,水平方向的轉動
13、還是靠另一個電動機帶動套筒來實現(具體見附proe仿真圖)。但是這種設計有兩個問題我們沒能解決。第一個問題就是密封的問題,噴口轉動時對其密封要求較高,且此處水壓較高,更增加密封難度。第二個問題就是底部的電機如何使上部的噴頭進行豎直方向的擺動。此處傳動距離較長,增加材料勢必增加水平轉動電機的負載,且此電機好密封,極易漏水燒毀電機。于是我們直接采用了接導水軟管的方法。導水軟管是用一種軟橡皮材料做成的,我們在進行試驗時,一端接從水泵流過的水,一端穿過套筒固定在舵機上,有較好的彈性,使灌溉機械臂在轉動時,水管不會產生較大的阻力矩,也不會發(fā)生塑性變形影響使用。這種形式的優(yōu)點是結構簡單,使用方便,一根管足
14、以解決噴頭出的設計問題。缺點是電機帶動套筒的轉角不能持續(xù)朝一個方向轉動,否則水管會打結使水流不通,且從水管澆灌到地面的水流呈柱狀,對地面沖擊較大。軟管長期拉伸壓縮會造成水管脫膠,碎裂等問題。在實際設計計算中,需進行軟管的拉壓的疲勞強度的校核,及齒輪傳動的校核計算。通過查機械設計的手冊可以計算出所需的材料及其他要求。在進行設計的過程中,我們查閱了上市的噴頭的基本的工作原理,對其有了初步的了解。在進行結構設計得過程中,我們查閱了相關的機械原理、機械設計方面的書籍,增長了我們的機械方面的知識及解決機械設計問題的能力。2.2電路部分設計 A濕度傳感器方案我們采用通DX-S2型土壤濕度傳感器,
15、通過測出被測土壤的介電常數,并根據土壤容積含水率與土壤介電常數之間的非線性關系推導出土壤的容積含水率和重量含水率。本傳感器對土壤水分變化有很高的靈敏度,因此溫度、鹽分、土壤性質變化因素的影響相對比較小,如果要求測量結果準確度高,應酌情對這些因素的影響進行修正?;虿扇∑渌胧p少這些因素的干擾。濕度傳感器各項參數如下:測量參數 土壤容積/重量含水率 量 程 450%(絕對重量含水率) 精 度 誤差不超過2% 響應時間 響應在1秒內進入穩(wěn)定 工作環(huán)境 -30+55 工作電壓 4.55.5VDC,典型值5.0VDC 工作電流 50mA 輸出信號 02.5VB.運算放大器方案傳感器輸出的電壓信號為毫伏
16、級,需要通過運放將信號放大,對運算放大器要求很高。 基于此,我們考慮了可以采用以下幾種方案: 方案 一 、利用普通低溫漂運算放大器構成多級放大器。 普通低溫漂運算放大器構成多級放大器會引入大量噪聲。由于 A/D 轉換器需要很高的精度,所以幾毫伏的干擾信號就會直接影響最后的測量精度。在調試中誤差較大,所以,此種方案不宜采用。 方案二、由高精度低漂移運算放大器構成差動放大器。 差動放大器具有高輸入阻抗,增益高的特點,可以利用普通運放 ( 如LM324) 做成一個差動放大器。 U1-U3組成儀表放大器,U4構成電壓跟隨器,用于調零電路. 基于以上分析,我們采用此種放大方式,(四集成度,芯片型號LM3
17、24)C.電機方案 由于對澆灌機械臂的轉速要求不高,且要實現精確定位,而且步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。由此,電機采用四相六線混合式步進電機,以實現對噴灌機械臂的轉動控制。在最初的電機驅動方案中,采用L298芯片+二極管吸收電路,用設計好的開關電源給L298以及步進電機供電。電路經keil+proteus
18、仿真后可以實現對電機的控制,仿真階段未出現任何問題。電路圖如下: 但此電路在實際調試中,由于從l298的2、3、13、14腳輸出信號變化較快,二極管導通出現問題;電機正轉調試c語言子程序如下:#include<reg51.h>void delay1s(void) unsigned char j,k; for(j=50;j>0;j-) for(k=100;k>0;k-); main() unsigned char a8=0x24,0x35,0x11,0x39,0x28,0x3a,0x12,0x36 ; unsigned char b; unsigned char i=0;
19、while(i<=50) for(b=0;b<8;b+) P1=ab; delay1s();i+; 1、電機的轉速控制:上程序中,通過j、k的取值,可以控制延時程序延時的時間,進而控制步進電機的轉動頻率,進而實現對電機速度的控制。實際應用中,可將其設置為函數間接口的變量,以實現調速。2、電機的轉動位置控制:在while循環(huán)中,沒執(zhí)行一次,電機轉動一個齒距角。由于所用電機為50齒,所以每完成一次上述程序,電機轉動一周。轉動角度與i的取值關系為:=i50*2可以將i設置成函數間接口的變量,通過對其賦值實現精確定位。3、實現正反轉反轉程序只需將0x24,0x35,0x11,0x39,0x
20、28,0x3a,0x12,0x36的順序倒過來,即依次為0x36,0x12,0x3a,0x28,0x39,0x11,0x35,0x24,依次循環(huán)。在運行時,電機的各項性能已經滿足使用需要,但仍有需改進的地方:此電機在高頻狀態(tài),轉速較高時,易出現丟步、振動現象,需用細分方案來解決;另外,電機驅動電路的散熱方法亦非盡善盡美,需要更好的解決方案。D顯示部分設計:在每次濕度傳感器采集到數據時,由單片機驅動液晶顯示器顯示土壤濕度。我們選用了成都市飛宇達實業(yè)有限公司出品的FYD12864-0402B型的液晶顯示模塊。此模塊提供硬體光標及閃爍控制電路,由地址計數器的值來指定DDRAM中的光標或閃爍位置。該模
21、塊具有2.75.5V的寬工作電壓范圍,且具有睡眠、正常及低功耗工作模式,可滿足系統各種工作電壓及便攜式儀器低功耗的要求。液晶模塊顯示負電壓,也由模塊提供,從而簡化了系統電源設計。模塊同時還提供LED背光顯示功能。除此之外,模塊還提供了畫面清除、游標顯示/隱藏、游標歸位、顯示打開/關閉、顯示字符閃爍、游標移位、顯示移位、垂直畫面旋轉、反白顯示、液晶睡眠/喚醒、關閉顯示等操作指令。下圖為液晶顯示程序流程圖: 下圖為proteus仿真圖:E 、舵機控制方案 舵機是一種位置伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統。其工作原理是:控制信號由接收機的通道進入信號調制芯片,獲得直流偏置電
22、壓。它內部有一個基準電路,產生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。單片機系統實現對舵機輸出轉角的控制,必須首先完成兩個任務:首先是產生基本的PWM周期信號,本設計是產生20ms的周期信號;其次是脈寬的調整,即單片機模擬PWM信號的輸出,并且調整占空比。當系統中只需要實現一個舵機的控制,采用的控制方式是改變單片機的一個定時器中斷的初值,將20ms分為兩次中斷執(zhí)行,一次短定時中斷和一次長定時中斷。這樣既
23、節(jié)省了硬件電路,也減少了軟件開銷,控制系統工作效率和控制精度都很高。 具體的設計過程:例如想讓舵機轉向左極限的角度,它的正脈沖為2ms,則負脈沖為20ms-2ms=18ms,所以開始時在控制口發(fā)送高電平,然后設置定時器在2ms后發(fā)生中斷,中斷發(fā)生后,在中斷程序里將控制口改為低電平,并將中斷時間改為18ms,再過18ms進入下一次定時中斷,再將控制口改為高電平,并將定時器初值改為2ms,等待下次中斷到來,如此往復實現PWM信號輸出到舵機。用修改定時器中斷初值的方法形成了脈沖信號,調整時間段的寬度便可使伺服機靈活運動。F.電源部分設計對于此系統的供電問題,由于需要對電機供電,因此需要大電流,傳統的
24、線性電源,體積笨重,內阻大,效率低,大電流時驅動負載能力差,因此我們采用了開關電源,內阻小,適合強電流供電。其電路圖如上,通過電路的連接,我們得到了12V (2A)5V(1A)3.5V(1A)三路電源,而且調試成功。對于此電路有一個亮點就是,電源系統中有兩個開關控制電路,一個是對強電的開關控制,另外一個是對變壓器副邊整流后電壓的開關控制以達到穩(wěn)壓目的,普通的穩(wěn)壓管,如果整流后的電壓為16V而穩(wěn)壓管是12V則在負載電流為1A時,穩(wěn)壓管的功率是4W,此時穩(wěn)壓管發(fā)燙,而且電能浪費,而對于由UA741控制的初步穩(wěn)壓電路可以實現在負載電流為1A使穩(wěn)壓功耗不足1W. 電路原理圖如下:G、對單片機的改進設計
25、在進行實驗過程中,由于處理中斷較多,我們感覺到51單片機的片內資源不夠,增加芯片勢必增加電路板的體積。所以我們最后學習并采用了MSP430的單片機來改進我們的系統。MSP430F247單片機具有超低功耗、集成高性能的模擬器件、16位RISC結構的CPU、在線編程、多時鐘、集成開發(fā)環(huán)境簡單等特點。片內資源豐富,有ADC,PWM,若干TIME,串行口,WATCHDOG,FLASH,比較器,模擬信號等。另外在本系統中我們需要應用多路A/D轉換功能,本單片機剛好為我們提供了8路A/D轉換接口。同時本單片機具有強大的處理功能,采用了精簡指令集( RISC )結構,具有豐富的尋址方式( 7 種源操作數尋址
26、、 4 種目的操作數尋址)、簡潔的 27 條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅動下指令周期為 125 ns 。這些特點保證了可編制出高效率的源程序。低功耗是目前一項很令人關注的性能指標,MSP430 系列單片機的電源電壓采用的是 1.83.6V 電壓。因而可使其在 1MHz 的時鐘條件下運行時, 芯片的電流會在 200400uA 左右,時鐘關斷模式的最低功耗只有 0.1uA 。其次是獨特的時鐘系統設計?;緯r鐘系統和鎖頻環(huán)( FLL 和 FLL+ )時鐘系統或 DCO 數字振蕩器時鐘系統。由
27、系統時鐘系統產生 CPU 和各功能所需的時鐘。并且這些時鐘可以在指令的控制下,打開和關閉,從而實現對總體功耗的控制。當系統處于省電的備用狀態(tài)時,用中斷請求將它喚醒只用 6us 。并且該單片機內的片內可擦寫FLASH為我們提供了一個很方便的存儲器,即使在掉電的情況下也不會改變內部的數據。Msp430F247單片機的種種功能剛好滿足了我們的需求,正是它的存在,是我們的系統更加完善。三、程序清單A、程序流程符合濕度要求,重置定時器定時(10分鐘),單片機待機不符合要求30s后響應中斷驅動濕度傳感器電路,采集數據,看是否符合濕度要求,并輸出此時濕度單片機重置定時器計數后待機,使定時器30秒后發(fā)出中斷信
28、號根據分析結果,調用電機運轉子程序,同時控制電機與舵機分別旋轉、擺動,并打開節(jié)流閥,驅動水泵實現精確定位,完成澆灌調用土壤濕度分析子程序(即與標準濕度相比較),計算出土壤需要澆灌的部分,并計算出干濕度以決定澆灌用水量(由噴灌時間決定)利用單片機內定時器計數器,每隔10分鐘(可調)定時向單片機發(fā)出中斷信號單片機處于低功耗狀態(tài),等待中斷信號單片機相應中斷,驅動濕度傳感器電路,使?jié)穸葌鞲衅鞴ぷ?,采集數據并將其傳至單片機,由單片機驅動液晶顯示器輸出土地情況B、部分模塊驅動程序: 1、液晶驅動: /*初始化液晶*/void initLCD(void) Delayms(50); WR_COM(0x30);
29、 Delay10us(20); WR_COM(0x30); Delay10us(5); WR_COM(0x0c); Delay10us(20); WR_COM(0x01); Delayms(20); WR_COM(0x06); WR_COM(0x0c); CLR(); /*清屏*/void CLR(void)Busy(); RS_0; RW_0; E_1; _NOP(); P4OUT=0x01; E_0;/*寫控制字函數*/void WR_COM(unsigned char ins) Busy();RS_0;RW_0;E_1; P4OUT=ins;E_0;/*寫數據函數*void WR_DAT
30、(unsigned char dat) Busy();RS_1;RW_0;E_1;P4OUT=dat;E_0;/*初始化I/O*void LCD_port_init(void) P5SEL =0X00; P4SEL =0X00; P5DIR|=BIT0; P5DIR|=BIT1; P5DIR|=BIT2; P4DIR =0XFF; P4OUT=0X00; initLCD();2、 步進電機驅動:void delay1s(void) unsigned char j,k; for(j=50;j>0;j-) for(k=100;k>0;k-); main() unsigned char
31、a8=0x24,0x35,0x11,0x39,0x28,0x3a,0x12,0x36 ; unsigned char b; unsigned char i=0;while(i<=50) for(b=0;b<8;b+) P1=ab; delay1s();i+; void power(float t/*速度值,保留一位小數*/,unsigned char m) unsigned char gaodu=0; uchar b,c,d,e,f,g; f=m; while(f) for(c=0;c<5;c+) for(b=8;b>0;b-) g=b-1; P3OUT=ag; pow
32、er_delay(t); f-; gaodu=m-f; d=gaodu/10; e=gaodu%10; now_hight9=d+0x30; now_hight10=e+0x30; write_char(now_hight,0,1); void anti_power(float t/*速度值,保留一位小數*/,unsigned char m) unsigned char gaodu=0; uchar b,c,d,e,f; f=0; while(m) for(c=0;c<5;c+) for(b=0;b<8;b+) P3OUT=ab; power_delay(t); f+; m-; g
33、aodu=70-f; d=gaodu/10; e=gaodu%10; now_hight9=d+0x30; now_hight10=e+0x30; write_char(now_hight,0,1); void anti_power_d(float t/*速度值,保留一位小數*/,unsigned char m) unsigned char gaodu=0; uchar b,c,d,e,f; f=0; while(m) for(c=0;c<5;c+) for(b=0;b<8;b+) P3OUT=ab; power_delay(t); f+; m-; gaodu=ii-f; d=ga
34、odu/10; e=gaodu%10; now_hight9=d+0x30; now_hight10=e+0x30; write_char(now_hight,0,1); 3、 舵機驅動: BCSCTL1=0x0; BCSCTL2=0x88; do IFG1&=OFIFG; for(i=0xff;i>0;i-); while (IFG1&OFIFG)!=0); P1DIR=0XFF; P1SEL=0XFF; TACTL=0x2d2; CCTL1=OUTMOD_7; CCR0=20000; while(1) CCR1=2000; delay(); CCR1=1000; de
35、lay();4、 鍵盤驅動:/初始化P1中斷void KEY_1_init(void) P1DIR=0; P1SEL=0; P1DIR|=BIT3; P1DIR|=BIT5; P1DIR|=BIT6; P1DIR|=BIT7; P1OUT=0X00; P1IE=0; P1IES=0; P1IFG=0; P1IE|=BIT0; P1IES|=BIT0; P1IE|=BIT1; P1IES|=BIT1; P1IE|=BIT2; P1IES|=BIT2; P1IE|=BIT4; P1IES|=BIT4;/初始化P2中斷+P3void KEY_2_init(void) P2DIR=0; P2SEL=0
36、; P2IE=0; /禁止P2口中斷 P2IES=0XFF; /現在是下降沿觸發(fā) P2IFG=0; /標志寄存器清零,無中斷請求。 P2IE|=BIT0; P2IES&=BIT0; P2IE|=BIT1; P2IES&=BIT1; P2IE|=BIT2; P2IES&=BIT2; P2IE|=BIT3; P2IES&=BIT3; P2IE|=BIT4; P2IES|=BIT4; P2DIR|=BIT5; P2DIR|=BIT6; P2DIR|=BIT7; P2_7_H;/高阻 P3SEL=0; P3DIR=0XFF; P6SEL=0; P6DIR|=BIT3;
37、/_EINT();int keyprocess(void) int np10,np11,np12,np13; int nres=0; /P1.5輸出低電平 P1OUT=0xd0; np10=P1IN&BIT0; if(np10=0) nres=7; np11=(P1IN&BIT1)>>1; if(np11=0) nres=1; np12=(P1IN&BIT2)>>2; if(np12=0) nres=4; np13=(P1IN&BIT4)>>4; if(np13=0) nres=11;/取消鍵 /P1.6輸出低電平 P1OUT
38、=0xb0; np10=P1IN&BIT0; if(np10=0) nres=8; np11=(P1IN&BIT1)>>1; if(np11=0) nres=2; np12=(P1IN&BIT2)>>2; if(np12=0) nres=5; np13=(P1IN&BIT4)>>4; if(np13=0) nres=0; /P1.7輸出低電平 P1OUT=0x70; np10=P1IN&BIT0; if(np10=0) nres=9; np11=(P1IN&BIT1)>>1; if(np11=0)
39、nres=3; np12=(P1IN&BIT2)>>2; if(np12=0) nres=6; np13=(P1IN&BIT4)>>4; if(np13=0) nres=12;/確定鍵 P1OUT=0x00; /恢復以前值 for(;) /讀各個管腳的狀態(tài) np10=P1IN&BIT0; np11=(P1IN&BIT1)>>1; np12=(P1IN&BIT2)>>2; np13=(P1IN&BIT4)>>4; if(np10=1&&np11=1&&np1
40、2=1&&np13=1) /等待松開按鍵 break; return nres;int keyscan(void) int np10,np11,np12,np13; int nres=0; for(;) /讀取各個管腳的狀態(tài) np10=P1IN&BIT0; np11=(P1IN&BIT1)>>1; np12=(P1IN&BIT2)>>2; np13=(P1IN&BIT4)>>4; /是否有鍵被按下 if(np10=0|np11=0|np12=0|np13=0) /有鍵被按下 _NOP(); break; Delay(50); /讀各個管腳的狀態(tài) np10=P1IN&BIT0; np11=(P1IN&BIT1)>>1; np12=(P1IN&BIT2)>>2; np13=(P1IN&BIT4)>>4; /是否有鍵被按下 if(np10=0|np11=0|np12=0|np13=0) /有鍵被按下,進行按鍵分析 nres=keyprocess(); else return 10;/非有效鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 午托學生合同協議書
- 員工進入車間協議書
- 商品鋪貨銷售協議書
- 園區(qū)綠化勞務協議書
- 社會問題的公共治理及其模式探索試題及答案
- 農村集中居住點2025年建設風險評估與可持續(xù)發(fā)展策略研究報告
- 迪拜產業(yè)投資潛力及發(fā)展趨勢分析
- 項目的不確定性管理方法試題及答案
- 2025年科技互聯網行業(yè)報告:虛擬現實技術在虛擬現實游戲開發(fā)中的應用
- 《潁州區(qū)構建“六項機制”強化安全生產風險工作實施方案》
- 2023年USAPA美國匹克球協會官方規(guī)則翻譯版
- 新一代國際結算系統需求規(guī)格說明書(匯款)V1.0
- 掃描電子顯微鏡SEM
- 煤礦測量規(guī)程
- 七年級下冊英語第三次月考試題
- 涉密人員錄用審查表
- GB/T 39559.2-2020城市軌道交通設施運營監(jiān)測技術規(guī)范第2部分:橋梁
- GB/T 19106-2013次氯酸鈉
- 2023年江西省三支一扶真題及答案解析
- 中國鋁業(yè)遵義氧化鋁有限公司氧化鋁工程分解分級槽基礎工程 施工組織設計
- 初中信息技術-算法基礎知識教學教學課件
評論
0/150
提交評論