液體點(diǎn)滴速度監(jiān)控裝置(最終版)_第1頁(yè)
液體點(diǎn)滴速度監(jiān)控裝置(最終版)_第2頁(yè)
液體點(diǎn)滴速度監(jiān)控裝置(最終版)_第3頁(yè)
液體點(diǎn)滴速度監(jiān)控裝置(最終版)_第4頁(yè)
液體點(diǎn)滴速度監(jiān)控裝置(最終版)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、液體點(diǎn)滴速度監(jiān)控裝置組員:李海豹王會(huì)強(qiáng)楊亞娟時(shí)間:2011年7月27日液體點(diǎn)滴速度監(jiān)控裝置摘要: 本系統(tǒng)設(shè)計(jì)是以單片機(jī)STC89C52為核匕、,以鍵盤(pán)及紅外對(duì)射式傳感器作為輸 入系統(tǒng),以液晶顯示屏及電動(dòng)機(jī)作為輸岀系統(tǒng)的智能化輸液控制及監(jiān)測(cè)系統(tǒng)。鍵盤(pán)系統(tǒng)為矩 陣式按鍵系統(tǒng),紅外傳感器的功能為檢測(cè)點(diǎn)滴的速度,紅外對(duì)營(yíng)監(jiān)測(cè)儲(chǔ)液瓶?jī)?nèi)液體剩余量, 少于一定量時(shí)報(bào)警。報(bào)警系統(tǒng)用蜂鳴器。電動(dòng)機(jī)具有轉(zhuǎn)速可控功率大及輸入脈沖不變時(shí)可保 持大力矩等優(yōu)點(diǎn),這樣就可以自如控制吊瓶的上、下緩移可以達(dá)到智能控制的目的。關(guān)鍵字:紅外對(duì)射式傳感器矩陣式按鍵系統(tǒng)智能化輸液控制監(jiān)測(cè)系統(tǒng)目錄1.1 )j11.1.1點(diǎn)滴速度監(jiān)測(cè)方案

2、 11.1.2儲(chǔ)液量監(jiān)測(cè)方案11.13鍵盤(pán)顯示模塊方案設(shè)計(jì)11.1.4電機(jī)控制系統(tǒng)模塊11.2 系統(tǒng)最終方案確定12單元電路設(shè)計(jì)22.1點(diǎn)滴速度測(cè)量電路設(shè)計(jì)22.2儲(chǔ)液檢測(cè)電路22.3鍵盤(pán)顯示電路32.4點(diǎn)滴速度控制電路設(shè)計(jì)33系統(tǒng)軟件設(shè)計(jì)53.1檢測(cè)點(diǎn)滴速度子程序53.2儲(chǔ)液檢測(cè)子程序53.3點(diǎn)滴速度控制子程序63.4鍵盤(pán)顯示子程序63.5系統(tǒng)的主程序設(shè)計(jì)74系統(tǒng)測(cè)試85結(jié)論9參考文獻(xiàn)10附錄111系統(tǒng)設(shè)計(jì)1.1方案選擇1.1.1點(diǎn)滴速度監(jiān)測(cè)方案方案一,采用紅外對(duì)管測(cè)量點(diǎn)滴一段時(shí)間落下的液滴數(shù),點(diǎn)滴落下時(shí)擋住了紅外發(fā)射管發(fā) 出的光,接收管無(wú)法接受。此時(shí)計(jì)數(shù)一次。采用塑料泡沫將對(duì)營(yíng)固定在滴斗上

3、,簡(jiǎn)單輕巧, 減小滴管擺動(dòng)帶來(lái)的采集誤差,同時(shí)不影響電機(jī)工作。方案二,采用電感式傳感器測(cè)量點(diǎn)滴速度。在輸液器的漏斗外圍繞線圈作為敏感元件。 當(dāng)液滴滴下是電感量發(fā)生變化,通過(guò)LC振蕩電路后輸出變化的頻率值,經(jīng)過(guò)F/V變換電路 及電壓比較后輸出TTL電平信號(hào)來(lái)檢測(cè)點(diǎn)滴速度。此方案測(cè)量精度比較高,但是外圍電路 噥復(fù)雜。1.1.2儲(chǔ)液量監(jiān)測(cè)方案方案一:同點(diǎn)滴速度測(cè)量模塊,仍然采用紅外對(duì)管發(fā)射接收。根據(jù)該接收管收到的光 強(qiáng)的大小來(lái)判斷液位是否達(dá)到警戒水位。方案二:采用稱重傳感器檢測(cè)。利用稱重傳感器檢測(cè)總質(zhì)量,并與實(shí)際測(cè)量中當(dāng)液體液 面達(dá)到設(shè)定位置時(shí)的總質(zhì)量相比較,根據(jù)液體體積與質(zhì)量的關(guān)系,當(dāng)測(cè)量總質(zhì)量與

4、設(shè)定值相 等時(shí)發(fā)出報(bào)警。1.1.3鍵盤(pán)顯示模塊方案設(shè)計(jì)方案一:采用液晶顯示屏和通用矩陣鍵盤(pán)。液晶顯示屏用1602。液晶顯示屏(LCD ) 具有功耗小、輕薄短小無(wú)輻射危險(xiǎn),平面直角顯示以及影象穩(wěn)定不閃爍,可視面積大,畫(huà)面 效果好,抗干擾能力強(qiáng)等特點(diǎn)。輸入簡(jiǎn)單,靈活。方案二:采用三位LED七段數(shù)碼管顯示點(diǎn)滴數(shù)目。按鍵采用單列三按鍵。數(shù)碼營(yíng)具有: 低能耗、低損耗、低壓、壽命長(zhǎng)、耐老化,對(duì)外界環(huán)境要求較低。但數(shù)碼營(yíng)顯示時(shí),每個(gè)字 符者陲查詢段碼值,使用起來(lái)沒(méi)有液晶顯示方便。1.1.4電機(jī)控制系統(tǒng)模塊方案一:通過(guò)改變滴斗到受液瓶的高度來(lái)調(diào)節(jié)點(diǎn)滴的速度。由電動(dòng)機(jī)帶動(dòng)儲(chǔ)液瓶使儲(chǔ)液 瓶上升或下降改變滴斗到受液

5、瓶的高度,從而調(diào)節(jié)點(diǎn)滴速度。此種調(diào)節(jié)方法簡(jiǎn)單,容易實(shí)現(xiàn)。 方案二:通過(guò)控制滴速夾的松緊來(lái)控制點(diǎn)滴的速度。不過(guò)滴速夾用于大范圍的調(diào)節(jié)滴速,調(diào) 節(jié)是不精確,1.2最終方案確定綜合考慮,最終方案確定為點(diǎn)滴速度和儲(chǔ)液均用紅外對(duì)管監(jiān)測(cè),鍵盤(pán)顯示模塊用4x4矩陣 鍵盤(pán)和1602液晶顯示,液滴速度控制用電機(jī)實(shí)現(xiàn)。2單元電路設(shè)計(jì)2. 1點(diǎn)滴速度測(cè)量電路設(shè)計(jì)采用紅外對(duì)管發(fā)射接收測(cè)量點(diǎn)滴速度,其電路原理圖如圖2.1丄所示。圖2. 1點(diǎn)滴速度測(cè)雖電路由電路圖可以看到,接收管與發(fā)射管正相對(duì),無(wú)液滴滴下時(shí),接收管收到信號(hào),輸出低 電平;有液滴滴下時(shí),下落的水滴對(duì)紅外光有較強(qiáng)的漫反射、吸收及一定的發(fā)散作用,導(dǎo)致 接收光強(qiáng)

6、的較大改變,接收管不能收到較強(qiáng)的信號(hào),產(chǎn)生一個(gè)較長(zhǎng)的脈動(dòng),但是波形不是太 好,需要經(jīng)過(guò)一級(jí)施密特觸發(fā)器整形,輸出一個(gè)正向的脈沖信號(hào)送給單片機(jī)中斷口 ,據(jù)此就 可以正確的測(cè)出液滴的滴數(shù),即點(diǎn)滴的速度(滴/分2.2儲(chǔ)液檢測(cè)電路液檢測(cè)電路圖仍然是和點(diǎn)滴速度測(cè)量電路一樣,只是所接單片機(jī)的接口不同。其電路圖LM324如2.2.2圖帰2. 2.1儲(chǔ)液檢測(cè)電路該電路圖的原理和點(diǎn)滴雕塑度檢測(cè)電路的原理是一樣的。由于紅外光在水中和空氣中 的吸收系數(shù)不同,從而通過(guò)空氣和水后的光強(qiáng)也是不同的。其報(bào)警信號(hào)也是由儲(chǔ)液信號(hào)來(lái)決定的。當(dāng)儲(chǔ)液的液面的高度為2 3cm后,會(huì)由紅外 對(duì)營(yíng)發(fā)射接收產(chǎn)生檢測(cè)信號(hào),即為報(bào)警信號(hào)。2.3

7、!盤(pán)顯示電路鍵盤(pán)采用4x4矩陣鍵盤(pán),按鍵有09, + , x-,二,ON 字符,采用1602液晶顯示屏2.4點(diǎn)滴速度控制電路設(shè)計(jì)系統(tǒng)將點(diǎn)滴速度采集信號(hào)和儲(chǔ)液信號(hào)進(jìn)行處理后,在相應(yīng)的單片機(jī)的I/O控制口輸出 對(duì)應(yīng)的控制信號(hào)來(lái)驅(qū)動(dòng)電動(dòng)機(jī)的正反轉(zhuǎn),從而進(jìn)行精確的控制。點(diǎn)滴的控制其實(shí)是靠單片機(jī)檢測(cè)滴速,得到一個(gè)反饋量,輸出一定信號(hào)驅(qū)動(dòng)電動(dòng)機(jī), 控制電動(dòng)機(jī)的正轉(zhuǎn)或反轉(zhuǎn),進(jìn)而帶動(dòng)儲(chǔ)液瓶的上升或下降來(lái)調(diào)節(jié)滴斗的高度即控制點(diǎn)滴的速 度。電動(dòng)機(jī)動(dòng)電路就如圖2.4.1示。圖2.2. 4路是用ULN20003來(lái)驅(qū)動(dòng)電機(jī),圖241電動(dòng)機(jī)驅(qū)動(dòng)電路點(diǎn)滴控制靠單片機(jī)檢測(cè)滴速,得到一個(gè)反饋量,輸出一定信號(hào)控制電機(jī)上升或下降調(diào)

8、節(jié)滴斗的高度。3系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)采用c語(yǔ)言,對(duì)單片機(jī)進(jìn)行編程來(lái)實(shí)現(xiàn)各項(xiàng)功能。主程序?qū)δK進(jìn)行初始化,接收從傳感器傳來(lái)的信號(hào),并對(duì)此信號(hào)進(jìn)行處理,輸出調(diào)整信號(hào)控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng),掃描鍵盤(pán)進(jìn)行動(dòng)態(tài)顯示。用的是循環(huán)查詢方式,來(lái)顯示和控制點(diǎn)滴 的速度。3. 1監(jiān)測(cè)點(diǎn)滴速度子程序檢測(cè)點(diǎn)滴速度子程序主要是用與系統(tǒng)信號(hào)的采集。經(jīng)過(guò)光電傳感器采集,后由施密特 觸發(fā)器整形,輸出到單片機(jī)的端口送入單片機(jī)內(nèi)部。32儲(chǔ)液監(jiān)測(cè)子程序本程序主要是用于測(cè)量?jī)?chǔ)液瓶?jī)?nèi)部的液位高度的,當(dāng)液位低于2 3cm時(shí),發(fā)出報(bào)警信號(hào)。如果液位的高度不在此區(qū)間內(nèi),則點(diǎn)滴的速度照常采集,并送入單片機(jī)內(nèi)部。其儲(chǔ)液 子程序流程圖如圖3.2.

9、1所示。圖3.2.1儲(chǔ)液子程序流程圖3. 3點(diǎn)滴速度控制子程序先設(shè)定一個(gè)速度值,隨看點(diǎn)滴數(shù)落下,檢測(cè)到信號(hào)后。滴數(shù)值加一,同時(shí)定時(shí)器工作計(jì)時(shí),每有液滴被檢測(cè)到時(shí),程序計(jì)算出當(dāng)前液滴落下速,與之前設(shè)定的值比較,來(lái)控制電 機(jī)是正轉(zhuǎn)、反轉(zhuǎn)還是停止。3. 4鍵盤(pán)顯示子程序鍵盤(pán)及顯示字程序主要是用于判斷速度有沒(méi)有調(diào)整的動(dòng)向和點(diǎn)滴速度的顯示(包括當(dāng) 前值和設(shè)定值X其程序流程圖如3.4.1所示。圖3.4.1系統(tǒng)鍵盤(pán)顯示子程序3. 5系統(tǒng)的主程序繼續(xù)執(zhí)行.等待4系統(tǒng)測(cè)試4. 1系統(tǒng)測(cè)試數(shù)據(jù)表4. 2. 1液滴速度檢測(cè)測(cè)試速據(jù)單片機(jī)檢測(cè)速度(滴/分)實(shí)際速度303052532323343585857374133

10、133144145表4. 2. 2流速調(diào)整測(cè)試原始值 (滴/分)預(yù)置值 (滴/分)調(diào)整后低速 (滴/分)穩(wěn)定時(shí)間 秒238083349312011978103so77434.2報(bào)警功能測(cè)試:將夾頭放松,使瓶中的水快速流出至警戒線附近,稍稍?shī)A緊夾頭,可以看到當(dāng)水位降至 警戒水位時(shí),從機(jī)蜂鳴器發(fā)出報(bào)警信號(hào)。此功能正常。4. 3測(cè)試結(jié)果分析從以上測(cè)試結(jié)果可以看出,本系統(tǒng)已基本完成題目中的各項(xiàng)要求并在此基礎(chǔ)上有所發(fā) 揮,其中點(diǎn)滴速度的測(cè)量比較精確,在全量程內(nèi)其誤差小于3(滴/分)。設(shè)置點(diǎn)滴速度功能中, 控制精度在全量程范圍內(nèi)優(yōu)于4(滴/分),但是還是有一定的誤差,經(jīng)分析主要是由以下原因 造成的:1 由

11、于瓶中的水不斷減少,造成水滴的下落速度不均勻。2 中斷處理的進(jìn)入和中斷處理程序都會(huì)有一定時(shí)間的延時(shí),這也是造成測(cè)量誤差的一 個(gè)因素。3 在動(dòng)態(tài)控制時(shí),由于瓶處于運(yùn)動(dòng)狀態(tài),其上升、下降運(yùn)動(dòng)不可避免的會(huì)產(chǎn)生加速度,導(dǎo)致水滴下落時(shí)速度不穩(wěn)定。5結(jié)論本系統(tǒng)完成了在滴斗處檢測(cè)點(diǎn)滴速度,并制作了一個(gè)數(shù)碼管顯示裝置,能動(dòng)態(tài)顯 示點(diǎn)滴速度(滴/分)。通過(guò)改變高度控制點(diǎn)滴速度,點(diǎn)滴速度可用鍵盤(pán)設(shè)定并顯示,設(shè)定范 圍為20150(滴/分),誤差在要求范闈內(nèi)。當(dāng)高度降到警戒值是能發(fā)出報(bào)警信號(hào)。每個(gè)從站 都可以和主站通信。主站可以工作在定點(diǎn)和巡回檢測(cè)兩種方式卞,可以顯示從站傳輸來(lái)的從 站號(hào)和點(diǎn)滴速度。參考文獻(xiàn):1 郭

12、天祥.51單片機(jī)C語(yǔ)言教程M.北京:電子工業(yè)出版社,20092 譚浩強(qiáng).C程序設(shè)計(jì).北京:清華人學(xué)出版社,19913 單片機(jī)應(yīng)用開(kāi)發(fā)實(shí)用子程序.邊春元等編著.人民郵電出版社2005序 號(hào)元器件數(shù)量備注1STC89C512個(gè)2液晶顯ZK 16021個(gè)3紅外對(duì)管2對(duì)44x4矩陣鍵盤(pán)1個(gè)528BYJ-48 電機(jī)1個(gè)6LM3241個(gè)7ILN20031個(gè)8電阻若干9晶振1個(gè)12MHz10排阻1個(gè)103附錄:元器件明細(xì)表:程序清單:#mclude define DB0_DB7 POdefine busy 0x80#define SCANPORT Plsbit E=P2A5;sbit RW=P2A6;sbi

13、t RS=P2A7;unsigned char uca_LmeScan4=0xEF,0xDE0xBF,0x7F;/列線打描電壓,分為第 1,23,4 根列 線/連續(xù)測(cè)得的三點(diǎn)的時(shí)間/unsigned char kev_ctt4=0;unsigned iiit time_sq4=0;unsigned char speed_bcd4=0;unsigned iiit speed_ck4=0;unsigned iiit di_xx2=0;unsigned char spe亡d_sc2=0;unsigned char yy=0jemp;unsigned iiit ct=0,ttb=0,xx=0,tt3=

14、0,speedct=0,speed=0,speedcd=10xott=0; tvpedef unsigned chai uchar;uchai code lcd3=n0123456789abcdefr;uchai code lcdnow=TOW:000n;uchai code lcdset=nSET:000H;unsigned chai CONTROL8=Ox3&0xl&0x9&0x8&0xC&0x4&0x68,0x28;unsigned char codesl8=0xb&0x98,Oxd8,0xc&0xe8,0x68,0x7&0x38#/9,18,36,45,54,63/72,81 度順時(shí)針

15、unsigned char codes28=0x38.0x78.0x68.0xe&0xc&0xd&0x9&0xb8; /9,18,36,45,54,63/72,81 度逆時(shí)針unsigned char counts,pt;bit flag=l; 度數(shù),正反轉(zhuǎn),速度控制bit a_ac=0;/比較系統(tǒng)標(biāo)志unsigned char uc_KevTemp=0;/按鍵鍵碼暫存。unsigned char uc_ClickCount=0;unsigned char ucCount;void vKeyProcess(unsigned chai ucKevCode);void bleep();/報(bào)警bit

16、 bleept=O;報(bào)警標(biāo)準(zhǔn)bit moto=0;/電機(jī)標(biāo)志位void acQ;/電機(jī)速度比較void akey();/功能處理 Abit a_key=0;bit b_key=O;void getspeed。;/速度檢測(cè)void stdisplayQ;/顯示void Delay(unsigned mt f);延時(shí)void delay_50ms(unsigned int t);void SendCommand(unsigned chai ch);/發(fā)送命令void vWriteData(unsigned char ch);/發(fā)送數(shù)據(jù)void InitLcd();/初始化void DisplavO

17、neChar(unsigned char x.unsigned y,unsigned char ddata)#按扌旨定位置顯示一個(gè)字 符void DisplayListChai(unsigned char x, unsigned char v, unsigned char *DData);按指定位置顯 示一串字符一void Delay(unsigned mt t) / delay 40us/fbr(;t!=O;t-);wliile(t);void delay_50ms(unsigned int t)unsigned int j;可以在此加少許延時(shí)補(bǔ)償,以禰補(bǔ)人數(shù)值傳遞時(shí)(如delay_50ms

18、(1000))造成的誤差, 但付出的代價(jià)是造成傳遞小數(shù)值(delay_50ms(l)造成更犬的誤差。因?yàn)閷?shí)際應(yīng)用更多時(shí)候是傳遞小數(shù)值,所以補(bǔ)建議加補(bǔ)償!*/for(j=6245j0j-);void SendConunand(unsigned chai ch)發(fā)送命令/*CheckBusyQ;*/RS=0;RW=0;DB0_DB7=ch;E=l;Delav(lOOO);E=0;Delav(lOOO); /delay 40us/=void vWriteData(unsigned chai ch)/發(fā)送數(shù)據(jù)/* CheckBusyQ; */RS=1;RW=0;DB0_DB7=ch;E=l;Delav

19、(lOOO);E=0;Delav(lOOO); /delay 40usvoid InitLcd()/SendConunand(0x38);Delay(1000);SendConunand(0x08); /Delay(10);SendConunand(OxO 1); /顯示狀態(tài)設(shè)置Delay(1000);SendConunand(0x06); 清屏Delay(2000);SendConunand(OxOc); /輸入方式設(shè)置 void DisplavOneChar(unsigned chai x,unsigned y,unsigned char ddata)/按指定位置顯示一個(gè)字y &= 0x1

20、;x& = OxF;/限制X不能大于15, Y不能大于1 if (v) x |= 0x40; 當(dāng)要顯示第二行時(shí)地址碼+0x40;x |= 0x80; /算出指令碼SendConunand(x);vWriteData(ddata);/=void DisplayListChai(unsigned char x. unsigned char y, unsigned char *DData)按指定開(kāi)始位 置顯示字符串unsigned char ListLength;ListLength = 0;y &= 0x1;x &= OxF; 限制X不能大于15, Y不能大于1while (DDataListLe

21、ngth0x20) /若到達(dá)字串尾則退出if (x = OxF) /X 坐標(biāo)應(yīng)小于 OxFDisplaOneChai(x, y, DDataListLength); /顯示單個(gè)字符 ListLength+;x+;void vShowOneChar(unsigned chai ucChar)switch(ucChar)case O: vWiiteData(0x30);break;case T: vWiiteData(0x31);break; case 2: vWriteData(0x32);break; case vWriteData(0x33);break;case vWriteData(0x

22、34);break;case *5*: vWriteData(0x35);break;case & vWriteData(0x36);break;case T: vWriteData(0x37);break;case 8: vWriteData(0x38);break;case 9: vWriteData(0x39);break;case *3*: vWriteData(0x61 );bieak;casevWiiteData(0x62);break;case vWriteData(0x63);break;casevWiiteData(0x64);break;case e: vWriteData

23、(0x65);bieak;case *f: vWriteData(0x66);bieak; default: break;unsigned char ucKeyScan()unsigned char ucTemp=O;打描狀態(tài)暫存。unsigned char ucRow=0ecLine=0; 行號(hào),列號(hào)。 for(ucLine=0;ucLine4;ucLine+) 列掃描SCANPORT=uca_LmeScanucLine; / 輸出打描電位。 ucTemp=SCANPORT&OxOF;輸入掃描電位,并屏蔽高4位。if(ucTemp !=OxOF)判斷該列是否有按鍵按下。switch(ucTe

24、mp)case OxOE: iicRow=10;bwak; 如果有,則判斷行號(hào)。case OxOD: ucRow=20;beak;case OxOB: ucRow=30;beak;case 0x07: iicRov=40;bieak;default:ucRoxr=50;break; break;恢復(fù)鍵掃描處理前初始狀態(tài)SCANPORT=OxOF;恢復(fù) Pl 匚1rennnucRow+ucLme+1;返回按鍵編碼。格式為2位數(shù),高位為行號(hào),低位為列號(hào)void vKeyProcess(unsigned chai ucKevCode)SendConmiand(0xC4+uc_ClickCount);

25、 亡 y=)switch(ucKeyCode)case 41:vShowOneChar(,7,);tenip=7;bieak;case 42:vShowOneChar(,8,);tenip=8;bieak;case 43:vShowOneChar(,9,);tenip=9;bieak;case 31:vShowOneCha】(4);teinp=4;bieak;case 32:vShowOneChar(,5,);tenip=5;bieak;case 33:vShowOneChar(,6,);tenip=6;bieak;case 21:vShowOneChai 1 *);tenip= 1 ;bie

26、ak;case 22:vShowOneChar(,2,);tenip=2;bieak;case 23:vShowOneChar(3,);tenip=3;bieak;case 12:vShowOneChar(,0,);tenip=0;bieak; SendConmiand(0xc4+uc_ClickCount);SendConmiand(OxOf);switch(ucKeyCode)/PT他/AT/51/61/T2case 44:/*vShowOneChar(,c,);*/temp= 12;break; case 34:/*vShowOneChar(,dt)*/teinp= 13 ;break;

27、 case 24:/*vShowOneChar(,er)*/teinp=14;break; case 14:/*vShowOneChar(T)*/temp= 15 ;break;/71/* /?- 屮case 13:/*vShowOneChar(,br);*/temp=l 1 ;break;case 11 :嚴(yán) vShowOneChar(la,);*/teinp= 10;break;default: break;if(temp=ll)判斷按鍵與上一次所按的鍵是否相同IM/ON/Crdelay_50ms(100);if(uc_ClickCount255)同一個(gè)按連續(xù)按卜的次數(shù)J255 uc_Cl

28、ickCount+;SendCoiiuiiand(0xc3+uc_ClickCount);SendCoiniiiand(OxOf);if(uc_ClickCount=3)uc_ClickCount=0;SendConmiand(0xc4+uc_ClickCount);SendC onmiand(OxOf);if(temp=9)switch(uc_ClickCount)case O:key_cttO=temp:break;case 1:key_cttl=temp:break;case 2:key_ctt2=temp:break;default:break:void int_timerO(void

29、)TMOD=0X10;TMOD=OXOi;TH0=0X3C;TL0=0XB0;TH1=OX3C;TL1=OXBO;ET1=1;TR1=1;ETO=1;TRO=1;EA=1;IT1=1;EX1=1;void Timerl() mterrupt 3THl=0X3c;TLl=OXbO;pt+;控制速度if(pt=2) pt=o;if(flag=0&moto= 1)P2=(P2&OxOf)|CONTROLcoim ;if(flag=0&moto=0)P2=(P2 &0x0f)|codes2 counts; counts+;if(counts=8)counts=0;角度重置void TimeiO() m

30、terrupt 1TH0=0X3c;TL0=0Xb0;yy+;if(yy=2)ct+;tt3+;yy=o;if(ct=600)/60 秒定時(shí)ct=O;xx=0;if(tt3=2O)tt3=O;di_xxl =di_xx0;di_xx0=xx;if(di_xxO=di_xx 1 )&a_ac=l)bleept=l;flag=l;void IntlQ internipt 2static cott=0;cott+;if(cott=2)xx+;tune_sq2=tune_sq 1 ;把當(dāng)前檢測(cè)到液滴的時(shí)間保存起來(lái)tmie_sq 1 =tiine_sq0;tiine_sqO=ct;if(a_key=O)

31、DisplaOneChai( 10.0 Jcd3 speed.;,100);DisplaOneChai(l 1 Qlcd3 speed% 100/10);DisplaOneChai(12.0jcd3 speed% 10);DisplaOneChai( 10.1 Jcd3 xx/100);DisplaOneChai( 11,1 Jcd3 xx% 100/10);DisplaOneChai( 12,1 Jcd3 xx% 10);SendConmiand(0xC4+uc_ClickCount);getspeedQ;cott=0;void stdisplayQDisplayListChai(0,OJc

32、dnow);DisplayListChai(0,1 Jcdset);DisplaOneChai(14.0,0x4f);DisplaOneChai(l 5.0,0x46);DisplayListChai(&0S“);DisplayListChai( &1JT);void main(void)delay_50ms(l);IiutLcdQ;P2_3=l;SCANPORT=OxOF;stdisplay();wlule(l)bleepQ;if(SCANPORT!=0x0F)fbi(ucCount=0;ucCount=(speedcd+5)moto=0:flag=0;else if(speedct=(speedcd-5)moto=l;flag=0;elseflag=l;void bleepQif(a_ac=l)if(bleept=l)P2_3=0;if(bleept=O)P2_3=l;void akey()亡 y=)SendConmiaiid(OxOc);DisplayOneChar( 14,0,0x4f);DisplaOneChai(l 5.0,0x4e); /OnSendConmiand(0xc4);SendConmiand(OxOf);if(a_key=O)SendCon

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論