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

正文內(nèi)容

stc89c52單片機倉庫溫濕度檢測系統(tǒng)設計畢業(yè)論文(留存版)

2025-08-03 14:54上一頁面

下一頁面
  

【正文】 工作人員根本不可能到現(xiàn)場去記錄溫度的顯示。M檔在測溫范圍內(nèi)非線形誤差為177。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線上可以掛很多這樣的數(shù)字溫度計,十分方便。 由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。當溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。 要想使DS18B20進行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達到1mA,當幾個溫度傳感器掛在同一根I/O線上進行多點測溫時,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃?,F(xiàn)在我們對這些引腳的功能加以說明: STC89C52 的引腳Pin9:RESET/Vpd復位信號復用腳,當STC89C52通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。RS232C規(guī)定最大的負載電容為2500pF,這個電容限制了傳輸距離和傳輸速率,由于RS232C的發(fā)送器和接收器之間具有公共信號地(GND),屬于非平衡電壓型傳輸電路,不使用差分信號傳輸,因此不具備抗共模干擾的能力,共模噪聲會耦合到信號中。 1Wire總線協(xié)議處理經(jīng)過單線接口訪問DS1820 的協(xié)議protocol 如下初始化ROM 操作命令存貯器操作命令處理數(shù)據(jù) 初始化單線總線上的所有處理均從初始化序列開始初始化序列包括總線主機發(fā)出一復位脈沖接著由從屬器件送出存在脈沖。 dq = 1。i8。 Temperature *= 10。}這里要說明的是: 1Wire協(xié)議提供了一種檢測數(shù)據(jù)是否存在著傳輸錯誤的手段,就是CRC校驗。 64位ROM注冊碼搜索算法搜索算法采用的是二叉樹型結(jié)構(gòu),搜索過程沿各分節(jié)點進行,直到找到器件的ROM 碼即葉子為止;后續(xù)的搜索操作沿著節(jié)點上的其它路徑進行,按照同樣的方式直到找到總線上的所有器件代碼。 分支選??;右側(cè)注釋欄對在流程圖中出現(xiàn)的符號進行了說明;在本文檔的源代碼附錄中也將用到這些專用符號。return FALSE。 OWWriteBit(search_direction)。 ‘FIRST’操作 ‘FIRST’操作是搜索1Wire 總線上的第一個從機器件。putbyte((y%10)+0x30)。 puthex(temp_buff[0])。 puthex(temp_buff[4])。 putbyte(39。 putbyte(lsi%100/10+39。知識固然得到了鞏固和提高,但我相信在實踐中的切身體會將會使我在以后的工作和學習中終身受用。基本消滅了糧食霉變事故,同時也節(jié)省了大量人力和物力,減輕了糧倉管理的工作強度,提高了糧庫管理效率,使糧食管理得到了安全可靠的保障。_nop_()。 //delayfloat gettemp(void)。 case 4: //2400 TH1=0xe8。 /* timer 1 run */// ES = 1。}/*************************************//*發(fā)送一個字節(jié)的hex碼,分成兩個字節(jié)發(fā)。 //delay 480 uS dr=R。 OWTempDelay(12)。 wb1=1。ls=((ui%100)/10+0x30)。 default: TH1=0xfa。 break。bit flag。_nop_()。我在1Wire總線的驅(qū)動電路設計上,就借助了實際產(chǎn)品的設計方案,收效甚佳。在此系統(tǒng)中,由于我采用了接口簡單的1Wire使本設計的硬件成本電路復雜程度大幅下降,利用1Wire總線協(xié)議提供的搜索機制,解決了器件的增減問題,提高了系統(tǒng)的可擴展性。 if (lsi310) LED=0。 puthex(temp_buff[7])。 puthex(temp_buff[3])。 }/*VT100 終端的數(shù)據(jù)顯示*/ putint(t)。putbyte(39。 search_result = FALSE。 if (search_direction == 0) {last_zero = id_bit_number。crc8 = 0。離如果當前位既有0 也有1,這種情況稱為位值差異,它對在后續(xù)搜索過程中查找器件起關(guān)鍵作用。 return (crc_data)。 WriteByte(0xcc)。 return (crc_data)。 dq=1。 //detect 1820 success! else flag = 0。 MAX232通信接口電路由于在本設計中, 過限指示不是關(guān)鍵設計,故采用LED加限流電阻的方式簡單實現(xiàn)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。(6)全雙工串行口:STC89C52內(nèi)置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。3)電路更加簡潔,僅用一根I/O口實現(xiàn)測溫。(3)DS18B20溫度傳感器的存儲器DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。既可以用在寄生電源下,也可以向器件提供電源。工作電源: 3~5V/DC。銅電阻的溫度系數(shù)比鉑電阻大,價格低,也易于提純和加工;但其電阻率小,在腐蝕性介質(zhì)中使用穩(wěn)定性差?,F(xiàn)場控制站現(xiàn)場控制站可用西門子PLC控制現(xiàn)場輸送機、提升機、電動閘門、通風機的啟動運行,以及報警等功能的反饋信號,實現(xiàn)自動化控制。倉庫溫濕度檢測系統(tǒng)設計摘要本設計使用STC89C52單片機作為主控制模塊,利用簡單的外圍電路來驅(qū)動1Wire總線,利用1Wire總線協(xié)議,實現(xiàn)了多點溫度和濕度的精確測量。上位機上位機運行組態(tài)通用工業(yè)過程監(jiān)控軟件,對現(xiàn)場的設備進行監(jiān)控、并對倉庫溫濕度進行巡回檢測。在工業(yè)中用于50~180℃測溫。在使用中不需要任何外圍元件;測量結(jié)果以9~12位數(shù)字量方式串行傳送。3VDD可選擇的VDD引腳。(4)配置寄存器該字節(jié)各位的意義如下: 配置寄存器 低五位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。(7)中斷系統(tǒng):STC89C52具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。3. 通訊接口本設計采用RS232C串行通信方式。LED指示燈如下圖所示。 //detect 1820 fail! TempDelay(20)。 wr = 1。}/*************************************************************Function:讀取溫度*parameter:*Return:*Modify:*************************************************************/void GemTemp (void){ read_bytes (9)。 //skip rom WriteByte(0xbe)。} 1Wire 器件的ROM搜索從上面的讀出溫度的過程我們看到,DS18B20是依靠64位注冊碼來作為地址,來區(qū)分每個器件的,我們要完成在一條1Wire總線上的多點測量必須知道每一個器件的注冊碼,當線路上只有一個器件的時候,這個問題處理起來很簡單,只要發(fā)出0X33命令就行,但是實際上我們看到,現(xiàn)場使用的測溫電纜已經(jīng)把多個18B20密封在一條電纜中了,我們不可能單獨來測量每一個18B20的注冊碼了,這樣問題就復雜了,各種參考文獻和網(wǎng)絡上的例程都沒有對這種情況的介紹,不解決這個問題,溫度檢測系統(tǒng)就沒有使用價值!通過對參考文獻DS1820 Programmable Resolution 1Wire174。搜索算法指定在第一輪查詢中若出現(xiàn)差異(數(shù)據(jù)位/補碼 = 0/0),則選用‘0’路徑。if (!LastDeviceFlag){OWInit()。 } } if (search_direction == 1) temp_buff[rom_byte_number] |= rom_byte_mask。 }return search_result。[39。 putbyte(39。 putbyte(39。 putbyte(39。 putbyte(lsi/100+39。同時也體會到,簡潔的硬件電路,是要以復雜的軟件設計為代價的??傊厴I(yè)設計完成了,但又面臨著工作。_nop_()。data uchar temp_buff[9]。 case 3: //4800 TH1=0xf4。 PCON=0。putbyte(ls)。 _nop_()。 //delay 80 uS //5 dr=R。 OWTempDelay(ys480)。putbyte(ls)。 } TR1 = 1。 break。void delay(uchar us)。define ysr5us2 _nop_()。本系統(tǒng)的試制成功,克服了以前糧庫靠管理人員手工檢查、測量和手工計算糧倉的溫度值和濕度值,并用人工方法進行糧倉溫度和濕度控制的缺點,提高了糧倉溫度和濕度的檢測速度和檢測精度,同時也提高了糧倉溫度和濕度的控制速度和控制精度。在這近兩個月的畢業(yè)設計中,我們有艱辛的付出,當然更多的是豐收的喜悅。)。)。)。)。putbyte((y%100)/10+0x30)。這兩個操作是搜索1Wire 器件ROM 碼的基礎。= ~rom_byte_mask。LastDeviceFlag = FALSE。記錄最后一次值差異的位置以供下一次搜索使用。ROM搜索是針對對器件的64位注冊碼進行的,每個1Wire器件的注冊碼都是唯一的。 GemTemp()。// Temperature *= 。 for(i=0。 _nop_()。其中溫度采集又是由單總線協(xié)議和注冊碼組成的,因此,軟件設計主要任務是實現(xiàn)1Wire總線協(xié)議?,F(xiàn)在,計算機上的串行通信端口(RS232C)是標準配置端口,已經(jīng)得到廣泛應用,計算機上一般都有1~2個標準RS232C串口,即通道COM1和COM2。 STC89C52的時鐘電路2. STC89C52的引腳STC89C52采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。(3)DS18B20的外部電源供電方式 在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位) 溫度分辨率設置表(5)高速暫存存儲器高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。 DS18B20內(nèi)部結(jié)構(gòu)           DS18B20內(nèi)部結(jié)構(gòu)。由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對STC89C52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。 DS18B20基本知識 DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點。采用AD590,它的測溫范圍在55℃~+150℃之間,而且精度高。 這就要求我們必須設計一種高可靠,高一致性,基本免維護,可自由增減測溫點,并具有和計算機聯(lián)網(wǎng)交換數(shù)據(jù)的能力的測溫組件。另外,本系統(tǒng)的濕度檢測沒有完成。因此現(xiàn)在的監(jiān)控系統(tǒng)都是由計算機監(jiān)控,采用專用組態(tài)軟件、單片機及數(shù)字傳感器組成的,具有5001000個測溫點的,網(wǎng)絡化的數(shù)字式溫度檢測的系統(tǒng)。(℃+ |t|),B級為177。具有獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 DS18B20引腳(底視圖) DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。 對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 DS18B20溫度值格式這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1