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

正文內(nèi)容

基于單片機的室內(nèi)空氣檢測畢業(yè)論文設(shè)計-資料下載頁

2025-08-18 14:49本頁面

【導(dǎo)讀】指導(dǎo)下進行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注。和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,了明確的說明并表示了謝意。的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。對本文的研究做出重。要貢獻的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本。聲明的法律后果由本人承擔(dān)。文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部。涉密論文按學(xué)校規(guī)定處理。視,室內(nèi)空氣質(zhì)量問題同時也受到人們的高度關(guān)注。正常情況下,我們每個人平均有。三分之二的時間在室內(nèi)度過。警功能的室內(nèi)空氣質(zhì)量檢測系統(tǒng)。其方案主要是以51單片機為控制核心,選擇數(shù)字。系統(tǒng)將傳感器輸出的標(biāo)準(zhǔn)信號通過。同時設(shè)計了報警系統(tǒng),實現(xiàn)在參數(shù)超標(biāo)時及時的報警。

  

【正文】 調(diào)用GotoXY()時,會進入死循環(huán), //可能在寫該控制字時,該模塊沒有返回寫入完備命令,即 DBPortamp。0x80==0x80 //實際硬件時打開此語句 LcdEn=0。 return DBPort。 } void LCD_Write(bit style, unsigned char input) { LcdRs=style。 LcdRw=0。 LcdEn=0。 LcdEn=1。 DBPort=input。 _nop_()。//注意順序 LcdEn=0。 _nop_()。 LCD_Wait()。 } void LCD_SetDisplay(unsigned char DisplayMode) { LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 } void LCD_SetInput(unsigned char InputMode) { LCD_Write(LCD_COMMAND, 0x04|InputMode)。 } void LCD_Move(unsigned char object, unsigned char direction) { if(object==LCD_CURSOR) LCD_Write(LCD_COMMAND,0x10|direction)。 if(object==LCD_SCREEN) LCD_Write(LCD_COMMAND,0x18|direction)。 } 基于單片機的室內(nèi)空氣檢測 25 //初始化LCD********************************************************** void LCD_Initial(void) { LCD_Write( LCD_COMMAND, LCD_CLEAR_SCREEN)。 //清屏 向 DDRAM 寫入 20H AC 值改變?yōu)?00H LCD_Write( LCD_COMMAND, DATA_MODE)。 //雙行顯示 八位數(shù)據(jù)接口 5x7 點陣字符 LCD_SetDisplay( LCD_SHOW | LCD_NO_CURSOR | LCD_NO_FLASH)。 //開啟顯示 無光標(biāo) 光標(biāo)不閃爍 LCD_SetInput( LCD_AC_UP | LCD_NO_MOVE)。 //AC 遞增 , 畫面不動 } void LCD_LoadChar(unsigned char user[8], unsigned char place) { unsigned char i。 LCD_Write(LCD_COMMAND,0x40|(place*8))。 for(i=0。 i8。 i++) LCD_Write(LCD_DATA,user[i])。 } //********************************************** void LCD_set_xy(unsigned char x,unsigned char y) { unsigned char address。 if(x == LINE1) address = LINE1_HEAD + y。 else address = LINE2_HEAD + y。 LCD_Write(LCD_COMMAND,address)。 } //**************************************************************** void LCD_write_char(unsigned x,unsigned char y,unsigned char dat) { LCD_set_xy(x,y)。 LCD_Write(LCD_DATA,dat)。 基于單片機的室內(nèi)空氣檢測 26 } //********************************************************************* void LCD_write_string(unsigned char x,unsigned char y,unsigned char *s) { LCD_set_xy(x,y)。 while(*s!=39。\039。) { LCD_Write(LCD_DATA,*s)。 s++。 } } void keyscan() { uchar i。 i=PC8255。//讀 PC i=iamp。0xf8。//屏蔽低 3 位 switch(i) //鍵值查詢 { case 0xf0:FuncHCHO()。break。 case 0xe8:FuncC6H6()。break。 case 0xd8:FuncNH3()。break。 case 0xb8:FuncTEM()。break。 case 0x78:FuncHUM()。break。 } } // ******** 按鍵子程序 *******/ void FuncHCHO() { uchar i。 lcd_wcmd(0x01)。//清屏 delay(1)。 基于單片機的室內(nèi)空氣檢測 27 lcd_pos(0x01)。//設(shè)置顯示位置 i = 0。 while(dis3[i] != 39。\039。) { lcd_wdat(dis3[i])。//顯示字符 i++。 } display_ad()。 display_ad1()。 bell_judgeHCHO()。 } void FuncC6H6() { uchar i。 PA8255=0x15。//00010101 P13=0。 P15=1。 lcd_wcmd(0x01)。//清屏 delay(1)。 lcd_pos(0x01)。//設(shè)置顯示位置 i = 0。 while(dis4[i] != 39。\039。) { lcd_wdat(dis4[i])。//顯示字符 i++。 } display_ad()。 display_ad2()。 } void FuncNH3() { 基于單片機的室內(nèi)空氣檢測 28 uchar i。 PA8255=0x15。//00010101 P13=0。 P15=1。 lcd_wcmd(0x01)。//清屏 delay(1)。 lcd_pos(0x01)。//設(shè)置顯示位置 i = 0。 while(dis5[i] != 39。\039。) { lcd_wdat(dis5[i])。//顯示字符 i++。 } display_ad()。 display_ad2()。 } void FuncTEM() { uchar i。 PA8255=0x15。//00010101 P13=0。 P15=1。 lcd_wcmd(0x01)。//清屏 delay(1)。 lcd_pos(0x01)。//設(shè)置顯示位置 i = 0。 while(dis6[i] != 39。\039。) { lcd_wdat(dis6[i])。//顯示字符 i++。 } lcd_pos(0x0b)。//設(shè)置顯示位置 基于單片機的室內(nèi)空氣檢測 29 i = 0。 while(dis10[i] != 39。\039。) { lcd_wdat(dis10[i])。//顯示字符 i++。 } TH_convert_display(tem2)。 bell_judgeTEM()。 } void FuncHUM() { uchar i。 lcd_wcmd(0x01)。//清屏 delay(1)。 lcd_pos(0x01)。//設(shè)置顯示位置 i = 0。 while(dis7[i] != 39。\039。) { lcd_wdat(dis7[i])。//顯示字符 i++。 } lcd_pos(0x0b)。//設(shè)置顯示位置 i = 0。 while(dis9[i] != 39。\039。) { lcd_wdat(dis9[i])。//顯示字符 i++。 } TH_convert_display(hum2)。 bell_judgeHUM()。 } 基于單片機的室內(nèi)空氣檢測 30 void bell_judgeHCHO() { if(den1) bell2()。 } void bell_judgeC6H6() { if(den2) bell()。 } void bell_judgeNH3() { if(den2) bell()。 } void bell_judgeTEM() { if(28tem2||tem218) bell2()。 } void bell_judgeHUM() { if(70hum2||hum230) bell()。 } // ******* 報警子程序 **********/ void bell() { PA8255=0x6a。//01101010。 P13=1。 while(1)。 } void bell2() { P15=0。 PA8255=0x6a。//01101010。 P13=1。 } 基于單片機的室內(nèi)空氣檢測 31 5. AM2301 溫濕度 傳感器 程序 //讀傳感器 端口位定義,可修改 sbit Sensor_SDA = P2^1。 // 變量定義 unsigned char Sensor_Data[5]。 /********************************************\ |* 功能: 讀傳感器發(fā)送的單個字節(jié) *| \********************************************/ unsigned char Read_SensorData(void) { unsigned char i,t。 unsigned char buffer,tmp。 buffer = 0。 for(i=0。i8。i++) { t=0。 while(!Sensor_SDA) //檢測上次低電平是否結(jié)束 { if(++t = 300) { break。 } } //延時 Min=26us Max50us 跳過數(shù)據(jù) 0 的高電平 delayus(2)。 //延時 30us //判斷傳感器發(fā)送數(shù)據(jù)位 tmp =0。 if(Sensor_SDA) { tmp = 1。 } t =0。 while(Sensor_SDA) //等待高電平 結(jié)束 { if(++t = 200) 基于單片機的室內(nèi)空氣檢測 32 { break。 } } buffer =1。 buffer |= tmp。 } return buffer。 } /********************************************\ |* 功能: 讀傳感器 *| \********************************************/ unsigned char Read_Sensor(void) { unsigned char i。 unsigned int Sys_CNT。 //主機拉低 (Min=800US Max=20Ms) Sensor_SDA = 0。 delayms(2)。 //延時 2Ms //釋放總線 延時 (Min=30us Max=50us) Sensor_SDA = 1。 delayus(1)。//延時 30us //主機設(shè)為輸入 判斷傳感器響應(yīng)信號 Sensor_SDA = 1。 //判斷從機 是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行 if(Sensor_SDA ==0) { Sys_CNT = 0。 //判斷從機是否發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束 while((!Sensor_SDA)) { if(++Sys_CNT300) //防止進入死循環(huán) {
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1