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

正文內(nèi)容

基于52單片機(jī)的自動(dòng)澆灌系統(tǒng)_畢業(yè)設(shè)計(jì)論文-在線瀏覽

2024-10-31 20:00本頁面
  

【正文】 間隔時(shí)間到 /開閥 澆灌時(shí)間到 /關(guān)閥 \間隔時(shí)間到 /開閥 澆灌時(shí)間到 /關(guān)閥 降溫 常溫 /開閥 低溫 常溫 /開閥 高溫 /開閥 高溫 低溫 iii. iv. 主要流程圖 v. 程序總體結(jié)構(gòu)圖 vi. 接口設(shè)計(jì) 自動(dòng)澆灌系統(tǒng) 澆灌處理 顯示 溫度儀 鍵盤處理 水閥處理 澆灌系統(tǒng) 澆灌 初始化 MCU/P 繼電器 水閥 溫度傳感器 鍵盤 顯示器 蜂名器 c) 硬件詳細(xì)設(shè)計(jì) i. Proteus 圖 d) 軟件詳細(xì)結(jié)構(gòu)圖 Ds18b20 Reset(初始化 DS18B20) Convert(啟動(dòng)溫度轉(zhuǎn)換 ) Readt(讀取溫度暫存器的值 ) Wrbyte(寫字節(jié) ) Rdbyte(讀字節(jié) ) 定時(shí)器 —— 液晶顯示模塊 i. 函數(shù)描述 名稱: void wrbyte(uchar d) 功能: 向 DS18B20 寫入一個(gè)字節(jié) 入口參數(shù): d(uchar 型 寫入字節(jié) ) 出口參數(shù): 無 返回值: 無 名稱: uchar rdbyte(void) 功能: 從 DS18B20 讀取一個(gè)字節(jié) 入口參數(shù): 無 出口參數(shù): 無 返回值: 無 名稱 : int readt(void) 功能: 讀取 DS18B20 暫存器中的溫度值 入口參數(shù): 無 出口參數(shù): 無 返回值: 無 名稱 : void LCD_DispChar(uchar cy, uchar cx, char dispdata) LCD_DispChar(顯示字符 ) LCD_DispStr(顯示字符串 ) LCD_DispHZ(顯示漢字 ) LCD_DispHZStr(顯示漢字字符串 ) Lcd_ LCD_DispFill (填充液晶屏 ) Lcd_dispIni(初始化液晶屏 ) InitTimer0 (定時(shí)器 T0 中斷 ) InitTimer0 (定時(shí)器 T1 中斷 ) 功能 : 在液晶屏的 cy(07)行、 cx(015)列顯示字符 dispdata 入口參數(shù) : cy(uchar 型 設(shè)置行 ) ; cx( uchar 型 設(shè)置列); dispdata( char型 顯示字符); 出口參數(shù) :無 返回值 : 無 名稱 : void LCD_DispStr(uchar cy, uchar cx, char *disp_str) 功能 : 在液晶屏的 cy(07)行、 cx(015)列顯示字符串 disp_str 入口參數(shù) : cy( uchar型 設(shè)置行 ) cx( uchar型 設(shè)置列 ) *disp_str( char型 顯示 字符串) 出口參數(shù) : 無 返回值 : 無 名稱 : void LCD_DispHZ(uchar cy, uchar cx, uchar dispdata 功能 : 在液晶屏 cy,cx位置顯示漢字字符 入口參數(shù) : cy(uchar 型 設(shè)置行 ) ; cx( uchar 型 設(shè)置列); dispdata( uchar顯示漢字字符 ) 出口參數(shù) : 無 返回值 : 無 名稱 : void LCD_DispHZStr(uchar cy, uchar cx, uchar *disp_str) 功能 : 在液晶屏 cy,cx位置顯示漢字字符串 入口參數(shù) : cy( uchar型 設(shè)置行 ) cx( uchar型 設(shè)置列 ) *disp_str( uchar型 顯示漢字字符) 出口參數(shù) : 無 返回值 : 無 名稱 : void LCD_DispFill(uchar filldata) 功能 : 以 filldata 充填液晶屏 入口參數(shù) : filldata(uchar); 出口參數(shù) : 無 返回值 : 無 名稱 : void LCD_DispIni(void) 功能 : 初始化液晶 入口參數(shù) : 無 出口參數(shù) : 無 返回值 : 無 名稱 : void InitTimer0(void) 功能 : 定時(shí)器中斷 入口參數(shù) : 無 出口參數(shù) : 無 返回值 : 無 、集成和調(diào)試 主函數(shù)模塊: include include define uchar unsigned char define uint unsigned int define water_time 3 //常溫的澆灌時(shí)間 define water_time1 6 //高溫的澆灌時(shí)間 extern void LCD_DispIni(void)。 extern void LCD_DispChar(uchar cy,uchar cx,char dispdata)。 extern void LCD_DispHZ(uchar cy,uchar cx,uchar dispdata)。 extern void late()。 extern void convert(void)。//小數(shù)部分轉(zhuǎn)換 uchar count,count1。 uchar m。 uchar s1。 uchar h1。 uchar counter。 //小數(shù)部分轉(zhuǎn)換 uchar dbuf1[]= 。 uchar idata t。 sbit SOUND=P1^7。 //定時(shí)時(shí)間為 50MS //取高 8 位 TL0=50000%256。 //每中斷一次,計(jì)數(shù)器加 1 if(count==20) //每秒執(zhí)行一次 { count=0。 if(s==60) { m++。 if(m==60) { m=0。 } } } } void time1(void) interrupt 3 //3:定時(shí)器 /計(jì)數(shù)器 T1 中斷 { TH1=50000/256。 count1++。 s1++。 s1=0。 h1++。 //用來存放傳感器的溫度值 uchar str[7]={0,0,0,0,0,0}。 uchar buf[]={0,1,2,3,4,5,0xff}。 uchar chang[]={9,10,8,0xff}。 uchar gao[]={6,7,8,0xff}。 uchar dcf[]={13,14,8,0xff}。 uchar off[]={23,0xff}。 uchar miao[]={21,0xff}。 int fleg=1,flag=1。 //正負(fù)標(biāo)記 溫度在 0 度以下為 1,否則為 0 LCD_DispIni()。:39。 LCD_DispHZStr(1,6,du)。 LCD_DispHZStr(2,0,jgsj)。 LCD_DispHZStr(2,7,miao)。 count=0。 TMOD=0x11。 TL0=50000%256。 TL1=50000%256。 //允許 T0 中斷 TR0=1。 TR1=1。 //開 CPU 中斷 while(1) { EA=0。 for(i=0。i++)。 temp=readt()。 if(temp0x01E0) //判斷溫度是否大于 30 度 { LCD_DispHZStr(1,0,gao)。 if(counter=water_time1)//高溫澆灌時(shí)間 { TR0=1。 //關(guān)閉定時(shí)器 1 LCD_DispHZStr(2,3,on)。 fleg=0。 m1=0。 time_s=s。 led=0。 } else { TR0=0。 //打開定時(shí)器 1 LCD_DispHZStr(2,3,off)。 m=0。 fleg=1。 time_m=0。 } } else if(temp0x0190)//判斷溫度是否低于 25 度 { TR0=0。 s=0。 h=0。 m1=0。 LCD_DispHZStr(1,0,di)。 time_s=0。 led=1。 time_s=0。 counter=m*60+s。 TR1=0。 m1=0。 time_s=s。 LCD_DispHZStr(2,3,on)。 flag=0。 SOUND=~SOUND。 LCD_DispHZStr(2,3,off)。 if(s13) //常溫澆灌時(shí)間間隔 { s=0。 h=0。 } time_s=0。 led=1。 //正負(fù)標(biāo)志置 1 temp=temp。0x0f]+0x30。 //舍去小數(shù)部分 str[0]=temp/100+0x30。 str[1]=temp/10+0x30。 //求出個(gè)位的 ASCII 碼 str[3]=39。 dbuf[0]=(time_s%100)/10+0x30。 dbuf1[0]=(time_m%100)/10+0x30。 dbuf2[0]=(t%100)/10+0x30。 if(zf==1) //如果是負(fù)數(shù) { if(str[1]==39。) //如果十位為 0 { str[0]=39。 //顯示格式為 39。 str[1]=39。 } else //如果十位不為 0 str[0]=39。 //顯示格式為 39。 } else //如果是正數(shù) { if(str[0]==39。) //如果百位、十位都是 0 { if(str[1]==39。) //顯示格式為 39。 str[1]=39。 // 如果只有百位為 0 str[0]=39。 //顯示格式為 39。 } } LCD_DispStr(3,7,str)。 //顯示分 LCD_DispStr(5,12,dbuf)。 } } DS18B20 模塊 : define uchar unsigned char define uint unsigned int include include sbit DQ=P1^0。 sbit dat0=dat^0。 void delay15(uchar n) //約 15us 延時(shí) { do { _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 n。 } bit reset(void) { bit err。 delay15(40)。 delay15(6)。 delay15(18)。 } void wrbyte(uchar d)//向總線寫入一個(gè)字節(jié) { uchar i。 for(i=8。i) { DQ=0。 DQ=dat0。 delay15(1)。 } } uchar rdbyte(void) //從總線上讀取一個(gè)字節(jié) { uchar i。 for(i=8。i) {
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1