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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)溫濕度顯示報(bào)警系統(tǒng)設(shè)計(jì)(參考版)

2025-06-09 02:28本頁(yè)面
  

【正文】 zhuanhuan()。 if( TEMPUP1 || TEMPDOWN1 ) led1=1。\039。//℃ 的符號(hào) str[6]=0x43。 //轉(zhuǎn)換溫度為 uchar 方便液晶顯示 GotoXY(5,0)。 Print(Hum:)。// Print(Tep:)。)。 //converts integer to float calc_sht90(amp。 //in case of an error: connection reset else { =(float)。checksum,TEMP)。 error+=s_measure((unsigned char*) amp。,amp。 while(1) { error=0。//顯示歡迎畫面 delay(2021)。 s_connectionreset()。 led2=0。 LcdRw=0。 //return humidity[%RH] } /**************第二部分 SHT10 設(shè)置 END*****************************/ /***************************主函 ************************************/ void main(void) { value humi_val,temp_val。 //the physical possible range *p_temperature=t_C。 //calc. temperature pensated humidity 附錄 第 41 頁(yè)(共 43 頁(yè)) [%RH] if(rh_true100)rh_true=100。 //calc. temperature from ticks to [C] rh_lin=C3*rh*rh + C2*rh + C1。 // rh_true: Temperature pensated humidity float t_C。 // t: Temperature [Ticks] 14 Bit float rh_lin。 // for 14 Bit 5V float rh=*p_humidity。 // for 12 Bit const float T1=+。 // for 12 Bit const float C2=+。 //read checksum return error。 //read the first byte (MSB) *(p_value+1)=s_read_byte(ACK)。 //wait until sensor has finished the measurement 基于單片機(jī)溫濕度顯示報(bào)警系統(tǒng)設(shè)計(jì) 第 40 頁(yè)(共 43 頁(yè)) if(DATA) error+=1。i65535。 default : break。 case HUMI : error+=s_write_byte(MEASURE_HUMI)。 //transmission start switch(mode){ //send mand to sensor case TEMP : error+=s_write_byte(MEASURE_TEMP)。 unsigned int i。 //release DATAline return val。_nop_()。 _nop_()。_nop_()。 //clk 9 for ack _nop_()。_nop_()。 //如果是校驗(yàn) (ack==0),讀取完后結(jié)束通訊 _nop_()。 附錄 第 39 頁(yè)(共 43 頁(yè)) } if(ack==1)DATA=0。_nop_()。 //read bit _nop_()。i/=2) //shift bit for masking { SCK=1。 //release DATAline for (i=0x80。 //error=1 in case of no acknowledge //返回: 0 成功, 1 失敗 } /*****SHT10 讀函數(shù) reads a byte form the Sensibus and gives an acknowledge in case of ack=1****/ char s_read_byte(unsigned char ack) { unsigned char i,val=0。 DATA=1。_nop_()。 _nop_()。 //clk 9 for ack error=DATA。 } DATA=1。_nop_()。 //clk for SENSIBUS _nop_()。 //masking value with i , write to SENSIBUS else DATA=0。i/=2) //shift bit for masking { 基于單片機(jī)溫濕度顯示報(bào)警系統(tǒng)設(shè)計(jì) 第 38 頁(yè)(共 43 頁(yè)) if (i amp。 for (i=0x80。 } s_transstart()。i++) //9 SCK cycles { SCK=1。 //Initial state for(i=0。 DATA=1。 SCK=0。 DATA=1。 SCK=1。_nop_()。 SCK=0。 DATA=0。 SCK=1。 SCK=0。//測(cè)量溫濕度函數(shù) void calc_dht90(float *p_humidity ,float *p_temperature)。//SHT10 寫函數(shù) char s_read_byte(unsigned char ack)。 //啟動(dòng)傳輸函數(shù) void s_connectionreset(void)。 enum {TEMP,HUMI}。 //定義了兩個(gè)共用體 float f。 //定義通訊時(shí)鐘端口 sbit DATA = P1^1。_nop_()。 _nop_()。_nop_()。i0。 } void delay_n10us(uint n) //延時(shí) n個(gè) 10us12M 晶振 { uint i。 Print( Code of sht10 )。 Print( Wele! )。 } void wele() //初始界面函數(shù) { LCD_Initial()。 } } void zhuanhuan(float a)//浮點(diǎn)數(shù)轉(zhuǎn)換成字符串函數(shù) { memset(str,0,sizeof(str))。) { 基于單片機(jī)溫濕度顯示報(bào)警系統(tǒng)設(shè)計(jì) 第 34 頁(yè)(共 43 頁(yè)) LCD_Write(LCD_DATA,*str)。 } void Print(unsigned char *str) //將字符輸出到液晶顯示 { while(*str!=39。 //AC 遞增 , 畫面不動(dòng) } void GotoXY(unsigned char x, unsigned char y) //液晶字符輸入的位置 { if(y==0) LCD_Write(LCD_COMMAND,0x80|x)。 //開(kāi)啟顯示 , 無(wú)光標(biāo) LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 //8 位數(shù)據(jù)端口 ,2 行顯示 ,5*7 點(diǎn)陣 LCD_Write(LCD_COMMAND,0x38)。 } void LCD_Initial() //初始化 LCD 函數(shù) { LcdEn=0。 } void LCD_SetDisplay(unsigned char DisplayMode) //設(shè)置輸出 { LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 delay(5)。 delay(5)。 } void LCD_Write(bit style, unsigned char input) { LcdRs=style。y0。x0。 基于單片機(jī)溫濕度顯示報(bào)警系統(tǒng)設(shè)計(jì) 第 32 頁(yè)(共 43 頁(yè)) /***********1602 液晶顯示部分子程序 ****************/ void delay(uint z) //延時(shí)函數(shù) { uint x,y。 //向 LCD 寫入命令或數(shù)據(jù)************************************************************ define LCD_COMMAND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標(biāo)返回原點(diǎn) //設(shè)置顯示模式 ************************************************************ define LCD_SHOW 0x04 //顯示開(kāi) define LCD_HIDE 0x00 //顯示關(guān) define LCD_CURSOR 0x02 //顯示光標(biāo) define LCD_NO_CURSOR 0x00 //無(wú)光標(biāo) define LCD_FLASH 0x01 //光標(biāo)閃動(dòng) define LCD_NO_FLASH 0x00 //光標(biāo)不閃動(dòng) //設(shè)置輸入模式 ************************************************************ define LCD_AC_UP 0x02 define LCD_AC_DOWN 0x00 // default define LCD_MOVE 0x01 // 畫面可平移 define LCD_NO_MOVE 0x00 //default unsigned char LCD_Wait(void)。 bit start。 附錄 第 31 頁(yè)(共 43 頁(yè)) sbit ACC0 = ACC^0。 sbit led1 =P3^0。 //1602 液晶端口定義 sbit LcdRw= P2^1。總之,這次畢業(yè)設(shè)計(jì)收獲還是蠻大的。本文設(shè)計(jì)到的內(nèi)容還不是很完善, 我會(huì)在以后的學(xué)習(xí)和工作中會(huì)做進(jìn)一步的學(xué)習(xí)和探索,以取得更大的進(jìn)步。在這次設(shè)計(jì)中,我完成了 核心控制部分 、顯示部分、報(bào)警部分等基本功能。 5 結(jié)束語(yǔ) 本文的溫濕度顯示報(bào)警系統(tǒng)設(shè)計(jì)是以單片機(jī)( AT89C51)為核心, SHT10 溫濕度感應(yīng)器等部分組成。設(shè)置溫濕報(bào)警范圍后, LED 燈也能很好的體現(xiàn)報(bào)警的效果,在超出設(shè)置的正常顯示范圍后, LED 燈亮,很好的體現(xiàn)了報(bào)警功能。本系統(tǒng)很好的完成了本次畢業(yè)設(shè)計(jì)的各項(xiàng)任務(wù)和要求,通過(guò)溫濕度顯示報(bào)警系統(tǒng)程序,成功的完成了溫濕度采集功能、顯示功能、報(bào)警功能。同理,若 n在濕度 40%70%范圍內(nèi)則正常顯示到 1602 上,若超出范圍則報(bào)警,二極管點(diǎn)亮(綠) . 仿真原理圖 用
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1