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

正文內(nèi)容

畢業(yè)設計論文:基于at89c51單片機溫濕度顯示報警系統(tǒng)設計(參考版)

2025-06-09 02:49本頁面
  

【正文】 zhuanhuan()。 if( TEMPUP1 || TEMPDOWN1 ) led1=1。\039。//℃ 的符號 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 設置 END*****************************/ /***************************主函 ************************************/ void main(void) { value humi_val,temp_val。 //the physical possible range *p_temperature=t_C。 //calc. temperature pensated humidity 附錄 第 41 頁(共 43 頁) [%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 基于單片機溫 濕度顯示報警系統(tǒng)設計 第 40 頁(共 43 頁) 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_()。 //如果是校驗 (ack==0),讀取完后結(jié)束通訊 _nop_()。 附錄 第 39 頁(共 43 頁) } 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 { 基于單片機溫 濕度顯示報警系統(tǒng)設計 第 38 頁(共 43 頁) 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。//測量溫濕度函數(shù) void calc_dht90(float *p_humidity ,float *p_temperature)。//SHT10 寫函數(shù) char s_read_byte(unsigned char ack)。 //啟動傳輸函數(shù) void s_connectionreset(void)。 enum {TEMP,HUMI}。 //定義了兩個共用體 float f。 //定義通訊時鐘端口 sbit DATA = P1^1。_nop_()。 _nop_()。_nop_()。i0。 } void delay_n10us(uint n) //延時 n個 10us12M 晶振 { uint i。 Print( Code of sht10 )。 Print( Wele! )。 } void wele() //初始界面函數(shù) { LCD_Initial()。 } } void zhuanhuan(float a)//浮點數(shù)轉(zhuǎn)換成字符串函數(shù) { memset(str,0,sizeof(str))。) { 基于單片機溫 濕度顯示報警系統(tǒng)設計 第 34 頁(共 43 頁) LCD_Write(LCD_DATA,*str)。 } void Print(unsigned char *str) //將字符輸出到液晶顯示 { while(*str!=39。 //AC 遞增 , 畫面不動 } void GotoXY(unsigned char x, unsigned char y) //液晶字符輸入的位置 { if(y==0) LCD_Write(LCD_COMMAND,0x80|x)。 //開啟顯示 , 無光標 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 //8 位數(shù)據(jù)端口 ,2 行顯示 ,5*7 點陣 LCD_Write(LCD_COMMAND,0x38)。 } void LCD_Initial() //初始化 LCD 函數(shù) { LcdEn=0。 } void LCD_SetDisplay(unsigned char DisplayMode) //設置輸出 { LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 delay(5)。 delay(5)。 } void LCD_Write(bit style, unsigned char input) { LcdRs=style。y0。x0。 基于單片機溫 濕度顯示報警系統(tǒng)設計 第 32 頁(共 43 頁) /***********1602 液晶顯示部分子程序 ****************/ void delay(uint z) //延時函數(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 // 光標返回原點 //設置顯示模式 ************************************************************ define LCD_SHOW 0x04 //顯示開 define LCD_HIDE 0x00 //顯示關(guān) define LCD_CURSOR 0x02 //顯示光標 define LCD_NO_CURSOR 0x00 //無光標 define LCD_FLASH 0x01 //光標閃動 define LCD_NO_FLASH 0x00 //光標不閃動 //設置輸入模式 ************************************************************ 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 頁(共 43 頁) sbit ACC0 = ACC^0。 sbit led1 =P3^0。 //1602 液晶端口定義 sbit LcdRw= P2^1??傊@次畢業(yè)設計收獲還是蠻大的。本文設計到的內(nèi)容還不是很完善, 我會在以后的學習和工作中會 做進一步的學習和探索,以取得更大的進步。在這次設計中,我完成了 核心控制部分、顯示部分、報警部分等基本功能。 5 結(jié)束語 本文的溫濕度顯示報警系統(tǒng)設計是以單片機( AT89C51)為核心, SHT10 溫濕度感應器等部分組成。設置溫濕報警范圍后, LED 燈也能很好的體現(xiàn)報警的效果,在超出設置的正常顯示范圍后, LED 燈亮,很好的體現(xiàn)了報警功能。本系統(tǒng)很好的完成了本次畢業(yè)設計的各項任務和要求,通過溫濕度顯示報警系統(tǒng)程序,成功的完成了溫濕度采集功能、顯示功能、報警功能。同理,若 n在濕度 40%70%范圍內(nèi)則正常顯示到 1602 上,若超出范圍則報警,二極管點亮(綠) . 仿真原理圖
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1