freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機---魚缸自動換水系統(tǒng)設(shè)計(編輯修改稿)

2025-06-25 12:08 本頁面
 

【文章內(nèi)容簡介】 時間及換水量選擇 圖 31 魚缸尺寸示意 (長 2米,寬 ,高 ) 魚缸的大小如圖 31所示,首先我們要先求出魚缸水 的體積 ,公式為: Vs=2***=( 立方米 ) (注: 的 意思是水的體積是魚缸總體積的 85%) 根據(jù)有關(guān)資料證明,每天換水量占水總體積的 15%是 最 好的,對魚兒的生長是最有利的,故可以算出每天換水量 ,所用公式為: Vh=*= 立方米 根據(jù)前面水泵 的 選擇,計算每天只要排 15 分鐘水就可以了。由于家里自來水每分鐘流量是一定的,根據(jù)實際考察所得算出進水只需要 20分鐘。 算出每天換水的時間后,即在系統(tǒng)中設(shè)置, 本系統(tǒng)開機后顯示實時時間,默認是自動控制兩個電磁閥 。 每天換水一般在中午,所以整個單片機程序設(shè)置如下 : 電磁閥 1接通時間為每天 13: 00,斷開時間 13: 20。 電磁閥 2接通時間為每天 14: 00,斷開時間 14: 15。 3. 2 控制過程: 在 自動模式中 , 系統(tǒng) 是根據(jù)我自己 設(shè)定的時間控制兩個電磁閥在指定的時間接通和斷開。 在 手動模式中 ,即 在非設(shè)置狀態(tài)下 ,可通過按鍵控 制電磁閥的接通與斷開,如下: 點按 K1鍵控制電磁閥 1 接通和斷開 ; 點按 K2鍵控制電磁閥 2 接通和斷開。 13 自動 與 手動控制 模式的 切換 方法為 : 首先 點按 K3鍵可查看狀態(tài) , 自動數(shù)碼管顯示 OPEN, 手動顯示 OFF, 繼續(xù)點按 K3鍵切換自動 /手動,數(shù)碼管 會 有相應(yīng)的顯示 。 在設(shè)置定時時間狀態(tài)下: LED2( out1on)亮表示設(shè)置電磁閥 1 定開時間 LED3( out1off)亮表示設(shè)置電磁閥 1定關(guān)時間 LED4( out2on)亮表示設(shè)置電磁閥 2 定開時間 LED4( out1off)亮表示設(shè)置電磁閥 2定關(guān)時間 詳細內(nèi)容請看圖 32 圖 32 14 主程序設(shè)計 子程序設(shè)計 主要控制子程序說明如下: ● Timer2_Server:定時器 2 計時中斷程序每隔 中斷一次; ● DELAY:延時子程序; ● feng: 蜂鳴器鳴 響處理程序; ● display:工作 LED 閃動控制;轉(zhuǎn)換數(shù)據(jù)為七段顯示器顯示數(shù)據(jù)并寫入顯示內(nèi)存內(nèi) 主程序開始 掃描顯示器更新時間數(shù)據(jù) 初始化定時器 初始化變量 K1: 繼電器 1 ON/OFF K2: 繼電器 2 ON/OFF K3:點按顯示鐘控狀態(tài),長按設(shè)置定時 時間 K4:點按顯示秒,長按設(shè)置現(xiàn)在的時間 是否按 K KK K4 鍵? 15 ● LED_out:七段數(shù)碼管顯 示程序; ● CONV:將時及分的數(shù)據(jù)轉(zhuǎn)換為七段顯示器顯示數(shù)據(jù)并寫入顯示內(nèi)存內(nèi); ● key: 按 *鍵檢測 包括設(shè)置現(xiàn)在的時間小時及分鐘,查看 /設(shè)置定時時間等 中 斷時間到 對時分秒進行計數(shù) 執(zhí)行 繼電器 1 ON/OFF 繼電器 2 ON/OFF 1秒是否到? 對比 2 路定時時間是否到 ? 中 斷退出 16 /********************************************** - 與數(shù)碼管中的 ABCDEFGH 端口連接。 - 與數(shù)碼管中的 S1,S2,S3,S4 端口。 **********************************************/ include define uint unsigned int define uchar unsigned char uchar code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0xFF,0xC0,0x8E,0x8C,0x86,0xC8,}。 /* O F P E N */ uchar timecount,Hour,Cent,Second,qian,bai,shi,ge,THour,TCent,offTH,offTC, onTH2,onTC2,offTH2,offTC2。 uchar disL,disH,keytemp,mbiao,App,onHour,onCent,offHour,offCent。 uchar onHour2,onCent2,offHour2,offCent2。 bit biaoA。 sbit led0=P1^0。 sbit led1=P1^1。 sbit led2=P1^2。 sbit led3=P1^3。 sbit led4=P3^7。 sbit K0=P2^0。 sbit K1=P2^1。 sbit K2=P2^2。 sbit K3=P2^3。 sbit BP=P3^2。sbit Aout=P1^6。sbit Aout2=P1^7。 17 void display()。 void key()。 uchar AddReduce(uchar dd,uchar max,char min)。 void Alarm_clock()。 void LED_out()。 void delay(uchar i) /***延時 ***/ { uint x。 for(。i0。i) for(x=114。x0。x)。 //=228,=114 } void feng(uchar i) /***蜂鳴器 ***/ { uint x。 for(。i0。i){BP=~BP。 for(x=114。x0。x)。} BP=1。 } void main(void) { Hour=12。Cent=00。//Second=50。 onHour=13。onCent=0。offHour=13。offCent=20。biaoA=1。 onHour2=14。onCent2=0。offHour2=14。offCent2=15。 RCAP2H=0x8F。 /* =8F80,=1F00 */ RCAP2L=0x80。 ET2=1。 // 允許 T2 定時器中斷 TR2=1。 // 啟動 T2 定時器 EA=1。 while(1) { display()。 key()。 18 } } /***T2***中 ***斷 ***函 ***數(shù) ***/ void Timer2_Server(void) interrupt 5 using 3 { TF2=0。 //清除溢出標記 timecount++。 if(timecount==32) {timecount=0。 Second++。 if(Second==60) {Second=0。 Cent++。 if(Cent==60) {Cent=0。 Hour++。 if(Hour==24) Hour=0。 } } Alarm_clock()。 } switch (mbiao) { case 0: {disH=Hour。disL=Cent。} break。 case 1: {disH=100。disL=Second。} break。 } } /***顯 ***
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1