液體點滴速度監(jiān)控裝置的設(shè)計_第1頁
液體點滴速度監(jiān)控裝置的設(shè)計_第2頁
液體點滴速度監(jiān)控裝置的設(shè)計_第3頁
液體點滴速度監(jiān)控裝置的設(shè)計_第4頁
液體點滴速度監(jiān)控裝置的設(shè)計_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、項目六 液體點滴速度監(jiān)控裝置的設(shè)計一、設(shè)計內(nèi)容與要求利用單片機設(shè)計并制作一個智能化的液體點滴速度監(jiān)測與控制裝置。該裝置由水滴速度測試系統(tǒng)、水速控制系統(tǒng)、顯示裝置、單片機系統(tǒng)、鍵盤和報警等系統(tǒng)組成。應(yīng)用水的壓強隨著高度差的變化而變化的原理,利用控制步進電動機的升降來控制點滴速度。點滴速度可用鍵盤來設(shè)定,設(shè)定范圍為20150(滴/分),控制誤差范圍在10%1滴左右。從改變設(shè)定值起到點滴速度基本穩(wěn)定整個過程的調(diào)整時間小于3分鐘。同時在水到達警戒線以下時能發(fā)出報警信號。二、硬件電路框圖1. 系統(tǒng)框圖 各個部分作用:(1)電機控速模塊:用步進電機來控制儲液瓶的高度來達到控速的目的。(2)步進電機的驅(qū)動:

2、采用硬件驅(qū)動。(3)紅外測速:采用對射式紅外傳系統(tǒng)。2. 傳感器對射式光電傳感器(以下簡稱為傳感器) 分為投光器和受光器兩部分。兩者光軸重合在同一直線上。工作時,投光器發(fā)出調(diào)制光,被受光器接收,變?yōu)殡娦盘枴.?dāng)被測體進入檢測區(qū)時,光被遮擋,受光器無光可受,傳感器輸出狀態(tài)改變。電路如下圖所示。3. 單片機最小系統(tǒng)原理圖三、軟件設(shè)計1. 主程序流程圖 2. 外部中斷0流程圖 case 1: AA=0xf9;break; /* 1*/ case 2: AA=0xa4;break; /* 2*/ case 3: AA=0xb0;break; /* 3*/ case 4: AA=0x99;break; /

3、* 4*/ case 5: AA=0x92;break; /* 5*/ case 6: AA=0x82;break; /* 6*/ case 7: AA=0xf8;break; /* 7*/ case 8: AA=0x80;break; /* 8*/ case 9: AA=0x90;break; /* 9*/ case 10: AA=0x88;break; /* A*/ case 11: AA=0x83;break; /* B*/ case 12: AA=0xc6;break; /* C*/ case 13: AA=0xa1;break; /* D*/ case 14: AA=0x86;bre

4、ak; /* E*/ case 15: AA=0x8e;break; /* F*/ case '-':AA=0xbf;break; /* 破折號,此處原誤為0xdf,系04級王資凱同學(xué)指正*/ case '_':AA=0xf7;break; /* 下劃線*/ case ' ':AA=0xff;break; /* 消隱*/ default: AA=0xff; return(AA);/* T0時鐘中斷服務(wù)程序在本例中,每5ms被執(zhí)行一次*/timer0() interrupt 1 using 0 EA=0; /*關(guān)中斷*/* 重新對計數(shù)器賦初值,并啟

5、動定時計數(shù) */TH0=V_TH0; TL0=V_TL0; TR0=1;/* 1秒鐘軟定時器計數(shù) */if (+clock1s>=V_T1s)clock1s_flag = 1; /*當(dāng)1秒到時,溢出標志置1 */clock1s = 0;output_sel = 0xf0; /*初值,令數(shù)碼管驅(qū)動位無效,指示燈全滅*/* 檢測到按鍵被按下(0)時,相應(yīng)的指示燈亮(0) */if (KEY1=0) led_1 = 0;if (KEY2=0) led_2 = 0;if (KEY3=0) led_3 = 0;if (KEY4=0) led_4 = 0;/* 數(shù)碼管掃描驅(qū)動指針值從1到4重復(fù)變換,

6、每5ms間隔對一個數(shù)碼管進行驅(qū)動,20ms一個輪回 */if (+digi_scaner>=5) digi_scaner = 1;switch (digi_scaner) case 1: /* 驅(qū)動第一個數(shù)碼管 */output_sel |= 0x01;ADDR_8SEG = NUMTOSEG7(digi0); /*輸出到鎖存器U5(在電路圖中找)*/break;case 2: /* 驅(qū)動第二個數(shù)碼管 */output_sel |= 0x02;ADDR_8SEG = NUMTOSEG7(digi1); /*輸出到鎖存器U5*/break;case 3: /* 驅(qū)動第三個數(shù)碼管 */out

7、put_sel |= 0x04;ADDR_8SEG = NUMTOSEG7(digi2); /*輸出到鎖存器U5*/break;case 4: /* 驅(qū)動第四個數(shù)碼管 */output_sel |= 0x08;ADDR_8SEG = NUMTOSEG7(digi3); /*輸出到鎖存器U5*/break;ADDR_SEL = output_sel; /*輸出到鎖存器U6(在電路圖中找)*/EA=1; /*開中斷*/* 主程序*/main()/* 單片機系統(tǒng)初始化 */ P1=0XFF; P3=0XFF; /* 中斷工作寄存器初始化 */ IE=0X80; IP=0; IT0=0; IT1=0;

8、 /* 定時器工作寄存器初始化 */TMOD=0X21;TH1=V_T1; TL1=V_T1; TH0=V_TH0; TL0=V_TL0; /* 串行通信口工作初始化 ,注:本例中雖未使用到串行通信口,但本段程序無妨保留*/SM0=0; /*SCOM MODE 1 (8BIT UART VARBR)*/ SM1=1;SM2=0;REN=1;TI=1;/* 全局變量賦初值 */clock1s=0;clock1s_flag=0;digi_scaner=1;test_counter=0;/* 開定時器,定時器0中斷允許 */ TR0=1; TR1=1;ET0=1;/* 主循環(huán),本例中,在T0中斷服務(wù)程序未被執(zhí)行的空余時間里,處理機在以下程序中不斷循環(huán) */while(1)if (clock1s_flag) /* 檢查1秒定時是否到 */clock1s_flag=0;/* 每秒加1的數(shù)碼管十進制顯示計數(shù) */if (+test_counter>=10000) test_counter=0;digi0 = test_counter/1000; /*計算千位數(shù)*/digi1 = (test_counter-digi0*100

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論