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

正文內(nèi)容

高精度溫度檢測器(編輯修改稿)

2025-08-03 16:20 本頁面
 

【文章內(nèi)容簡介】 保留 應(yīng)用設(shè)計微處理器采用二線串行數(shù)字接口和溫濕度傳感器芯片SHT11進行通信,所以硬件接門設(shè)計非常簡單;然而,通信協(xié)議是芯片廠家自己定義的,所以在軟件設(shè)計中,需要用微處理器通用I/O口模擬通信協(xié)議。硬件設(shè)計SHT11通過二線數(shù)字串行接口來訪問,所以硬件接口電路非常簡單。需要注意的地方是:DATA數(shù)據(jù)線需要外接上拉電阻,時鐘線SCK用于微處理器和SHT11之間通信同步,由于接口包含了完全靜態(tài)邏輯,所以對SCK最低頻率沒有要求;,SCK頻率最高為10MHz, 時,SCK最高頻率則為1MHz。 所示。圖 微處理器和 SHT11 之間的硬件連接圖(1)軟件設(shè)計微處理器和溫濕度傳感器通信采用串行二線接口SCK和DATA,其中SCK為時鐘線,DATA為數(shù)據(jù)線。該二線串行通信協(xié)議和I2C協(xié)議是不兼容的。在程序開始,微處理器需要用一組“啟動傳輸”時序表示數(shù)據(jù)傳輸?shù)膯?。?dāng)SCK時鐘為高電平時,DATA翻轉(zhuǎn)為低電平;緊接著SCK變?yōu)榈碗娖?,隨后又變?yōu)楦唠娖剑辉赟CK時鐘為高電平時,DATA再次翻轉(zhuǎn)為高電平。圖 。其中,陰影部分為SHT11控制總線。主機發(fā)出啟動命令,隨后發(fā)出一個后續(xù)8位命令碼,該命令碼包含3個地址位(芯片設(shè)定地址為000)和5個命令位;發(fā)送完該命令碼,將DATA總線設(shè)為輸入狀態(tài)等待SHT11的響應(yīng);SHT11接收到上述地址和命令碼后,在第8個時鐘下降沿,將DATA下拉為低電平作為從機的ACK;在第9個時鐘下降沿之后,從機釋放DATA(恢復(fù)高電平)總線;釋放總線后,從機開始測量當(dāng)前濕度,測量結(jié)束后,再次將DATA總線拉為低電平;得知濕度測量已經(jīng)結(jié)束,給出SCK時鐘信號;從機在第8個時鐘下降沿,先輸出高字節(jié)數(shù)據(jù);在第9個時鐘下降沿,主機將DATA總線拉低作為ACK信號。然后釋放總線DATA;在隨后8個SCK 周期下降沿,從機發(fā)出低字節(jié)數(shù)據(jù);接下來的SCK下降沿,主機再次將DATA總線拉低作為接收數(shù)據(jù)的ACK信號;最后8個SCK下降沿從機發(fā)出CRC校驗數(shù)據(jù),主機不予應(yīng)答(NACK)則表示測量結(jié)束。S地址和命令A(yù)CK測量數(shù)據(jù)(高)ACK數(shù)據(jù)(低)ACKCRCMACK圖 SHT11 濕度測試時序圖由于微處理器通過二線串行數(shù)字接口訪問濕度傳感器SHT11,而訪問協(xié)議是芯片生產(chǎn)商定義的,所以需要用通用I/O口模擬該通信協(xié)議。我們選用Atmel公司的微處理器ATmega128。通過對I/O口寄存器的編程,該處理器的I/O口可以根據(jù)需要設(shè)置成輸入、輸出、高阻等狀態(tài)。這為模擬該通信協(xié)議提供了條件。在軟件實現(xiàn)過程中,通過宏定義來實現(xiàn)I/O口狀態(tài)的改變。define set_data_0() DDRB|=(1PB5)。PORTBamp。=~(1PB5) //DATA 輸出 0define set_data_1() DDRB|=(1PB5)。PORTB|=(1PB5) //DATA 輸出 1define release_data_1() DDRBamp。=~(1PB5)//釋放總線,總 DATA 設(shè)為輸入狀態(tài),因為外接上拉電阻,DATA總線被上拉為高電平define set_sck_output() DDRB|=(1PB4) //設(shè)置 SCK 為輸出define set_sck_1() PORTB|=(1PB4) //SCK 輸出高電平define set_sck_0() PORTBamp。=~(1PB4) //SCK 輸出為低電平通過以上宏定義,可以實現(xiàn)SCK和DATA總線的各種輸入和輸出狀態(tài)。為了模擬該二線串行數(shù)字協(xié)議,還需要一個延時函數(shù)。WINAVR 庫函數(shù)提供了一個延時函_delay_loop_2(unsigned char s),該延時函數(shù)運行用4個時鐘周期,所以自定義延時1μs函數(shù)可以定義如下:define //系統(tǒng)晶振(頻率單位為 MHz)void delay_us(unsigned char us){_delay_loop_2((unsigned int)((us)*CPU_CRYSTAL/4))。//延時 1us 程序}基于以上宏定義和延時函數(shù),可以方便地使SCK和DATA總線輸出持續(xù)一定時間的高電平或低電平, 所示的溫濕度傳感器SHT11的讀寫協(xié)議。(2)濕度線性補償和溫度補償SHT11可通過DATA數(shù)據(jù)總線直接輸出數(shù)字量濕度值。該濕度值稱為“相對濕度”,需要進行線性補償和溫度補償后才能得到較為準(zhǔn)確的濕度值。由于相對濕度數(shù)字輸出特性呈一定的非線性,因此為了補償濕度傳感器的非線性,可按下式修正濕度值:RH linear = = C1 + C2 180。 SORH + C3 180。 SORH式中:RHlinear為經(jīng)過線性補償后的濕度值,SORH為相對濕度測量值,CCC3 為線性補償系數(shù)。由于溫度對濕度的影響十分明顯,而實際溫度和測試參考溫度25℃有所不同,所以對線性補償后的濕度值進行溫度補償很有必要。補償公式如下:RH true = (T 25) 180。 (t1 + t2 180。 SORH ) + RH linear式中:RHtrue為經(jīng)過線性補償和溫度補償后的濕度值,T為測試濕度值時的溫度(℃),t1和t2為溫度補償系數(shù)。 濕度值溫度補償系數(shù) (3)溫度值輸出由于SHT11是采用PTAT能隙材料制成的溫度敏感元件,因而具有很好的線性輸出。實際溫度值可由下式算得:Temperature=d1+d2SOT式中:d1和d2為特定系數(shù),d1的取值與SHT11工作電壓有關(guān),d2的取值則與SHT11內(nèi)部A/D轉(zhuǎn)換器采用的分辨率有關(guān)。 d1與工作電壓的對應(yīng)關(guān)系表 d2 與分辨率的對應(yīng)關(guān)系 (4)露點計算露點是一個特殊的溫度值,是空氣保持某一定濕度必須達到的最低溫度。當(dāng)空氣的溫度低于露點時,空氣容納不了過多的水分,這些水分會變成霧、露水或霜。露點可以根據(jù)當(dāng)前相對濕度值和溫度值計算得出,具體的計算公式如下:LogEW=+T/(+T)+log10(SORH)2Dp=(())/()式中:T為當(dāng)前溫度值,SORH為相對濕度值,Dp為露點。 模塊功能介紹 復(fù)位電路部分這種復(fù)位電路的工作原理是:單片機的復(fù)位電路在剛接通電時,剛開始電容是沒有電的,電容內(nèi)的電阻很低,通電后,5V 的電通過電阻給電容進行充電,電容兩端的電會由 0V 慢慢的升到 4V 左右(此時間很短一般小于 秒),RC 構(gòu)成的微分電路在上電瞬間產(chǎn)生一個微分脈沖,其寬度大于兩個機器周期,89C51將復(fù)位。正因為這樣,復(fù)位腳的電由低電位升到高電位,引起了內(nèi)部電路的復(fù)位工作,RST 端電壓慢慢下降,降到一定電壓值以后,即為低電平,單片機開始正常工作(這是單片機的上電復(fù)位,也叫初始化復(fù)位);當(dāng)按下復(fù)位鍵時,電容兩端放電,電容又回到 0V 了,于是又進行了一次復(fù)位工作(這是手動復(fù)位原理)。圖 手動復(fù)位及晶振電路 傳感器電路部分此模塊是整個電路設(shè)計的信號采集及初步處理的模塊,由溫濕度傳感器芯片SHT11 構(gòu)成,主要的功能結(jié)構(gòu)在前面的芯片介紹中已有,這里不重新介紹。圖 SHT11 傳感器電路 顯示電路部分此模塊是由 LCD1604 芯片組成溫濕度顯示的電路部分,部分。LCD1604 是一個四行每行 16 字的液晶顯示屏,D0D7 接 P0 口,RS、RW、E接 、 起控制作用。圖 LCD1604 顯示及其連接電路 超限處理電路部分此部分電路是由 5 個發(fā)光二極管和一個蜂鳴報警器構(gòu)成,分別是 D0、DDD4 和 D5,蜂鳴器接單片機的 口,發(fā)光二極管與單片機的連接部分如圖所示。D0、DDDD5 分別代表著發(fā)光、降溫、加熱、干燥和加濕,一旦傳感器測定的溫濕度超過設(shè)定的限額,就會產(chǎn)生不同的發(fā)光反應(yīng),起警示作用,同時蜂鳴報警器連續(xù)發(fā)出“滴” 的聲音。圖 超限處理警示電路部分圖 蜂鳴器電路 整體電路圖 圖 整體電路圖 軟件介紹編程軟件采用的是keil uvision2軟件,程序采用C語言編程。軟件部分經(jīng)本人調(diào)試可以運行,能夠正確顯示結(jié)果。)主函數(shù)文件和9個h文件構(gòu)成。H文件如下所示:;(8051的相關(guān)參數(shù)初始化);;(偽本征函數(shù));(數(shù)學(xué)公式函數(shù));(1604液晶顯示函數(shù));(溫濕度采集計算函數(shù));(限額報警函數(shù)) 主程序框圖:開始 單片機開機初始化LCD 初始化SHT11 初始化LCD 初始化DS1302 初始化SHT11 初始化DS1302 運行確定時間/日期SHT11 運行進行溫濕度采集與測量LCD 顯示實時溫濕度檢測溫濕度是否改變N等待主程序框圖第 28 頁 共 43 頁Y 溫濕度采集及處理框圖開始SHT11 初始化啟動 SHT11等待主機發(fā)送指令測量溫濕度溫濕度計算浮點數(shù)轉(zhuǎn)換并發(fā)送至主機復(fù)位SHT11溫濕度采集處理框圖第 29 頁 共 43 頁 LCD 顯示框圖開始初始化 LCD設(shè)置顯示位置顯示字符結(jié)束LCD顯示框圖 主函數(shù)解析:/***************************************************//***************************************************/includeincludeincludeincludeincludeincludeincludeincludeincludevoid Delay1ms(unsigned int count){unsigned int i,j。//延時函數(shù)for(i=0。icount。i++)for(j=0。j120。j++)。}main(){SYSTEMTIME CurrentTime。//定義時間日期結(jié)構(gòu)體SHT_dat aa。//定義溫濕度測量處理結(jié)構(gòu)體Init_12864()。//12864 的顯示*/Initial_DS1302()。 //DS1302 初始化*/第 30 頁 共 43 頁 LCD_Initial()。{GotoXY(0,0)。//LCD 初始化//LCD 顯示函數(shù)Print(Date:)。GotoXY(16,0)。Print(Temper:)。GotoXY(0,1)。Print(Time:)。GotoXY(16,1)。Print(Humidi:)。while(1){convert_SHT(amp。aa,TEMP)。convert_SHT(amp。aa,HUMI)。caculation_SHT(amp。aa)。float_convert(amp。aa)。doing_temp(amp。aa)。//溫度轉(zhuǎn)換//濕度轉(zhuǎn)換//溫度和濕度的補償//將浮點數(shù)轉(zhuǎn)換成整型,各個位的數(shù)分別保存//檢測溫度是否超限doing_humi(amp。aa)。//檢測濕度是否超限D(zhuǎn)S1302_GetTime(amp。CurrentTime)。DateToStr(amp。CurrentTime)。TimeToStr(amp。CurrentTime)。GotoXY(5,0)。//第一行顯示日期Print()。GotoXY(23,0)。Print()。GotoXY(28,0)。//第三行顯示溫度Print()。GotoXY(5,1)。//第二行顯示時間Print()。GotoXY(23,1)。Print()。GotoXY(28,1)。Print()。Delay1ms(300)。//第四行顯示濕度//延時}}}/***************************************************//***************************************************/第 31 頁 共 43 頁 整個軟件通過 C 語言編程,先在 Keil C51 集成開發(fā)環(huán)境下將編好的程序進行編譯、調(diào)試, :新建一個項目文件,然后新建一個 C 語言程序,并把新建的 C 語言程序加到項目中,然后編譯項目。(編譯的目的就是把我們能看懂的程序設(shè)計語言轉(zhuǎn)化為上面的機器語言, 文件)。第一步:建立您的第一個 C 項目(1)點擊 Project 菜單,選擇彈出的下拉式菜單中的 New Project,如圖圖 新建項目文件項目名稱,這里我們用“test“, “保存“,這是KEILuVision2 項目文件擴展名,以后我們可以直接點擊此文件以打開此項目(你安裝的軟件是 KEIL UV3,可能與圖略有不同)。(2)選擇所要的單片機,這里我們選擇常用的 Ateml 公司的 AT89C51。第 32 頁 共 43 頁 (3)首先我們要在項目中創(chuàng)建新的程序文件。如果您沒有現(xiàn)成的程序,那么就要新建一個程序文件。Fil
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1