魚缸溫度控制系統(tǒng)_第1頁
魚缸溫度控制系統(tǒng)_第2頁
魚缸溫度控制系統(tǒng)_第3頁
魚缸溫度控制系統(tǒng)_第4頁
魚缸溫度控制系統(tǒng)_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

魚缸溫度控制系統(tǒng)實驗一:溫度采集與顯示1.實驗目的掌握溫度傳感器的原理、工作方式和使用方法復習使用數(shù)碼管進行字符的顯示2.實驗要求使用溫度傳感器進行溫度的采集使用數(shù)碼管進行溫度的顯示,要求保留小數(shù)點后兩位有效數(shù)字3.實驗需求與設計分析硬件需求溫度傳感器數(shù)碼管溫度傳感器選型4.溫度傳感器簡述發(fā)展階段分立式溫度傳感器模擬集成溫度傳感器智能溫度傳感器數(shù)字化、集成化、網(wǎng)絡化5.溫度傳感器原理(一)塞貝克——熱電效應兩種不同電導體或半導體的溫度差異而引起兩種物質(zhì)間的電壓差的熱電現(xiàn)象6.熱電效應示意圖7.溫度傳感器原理(二)熱電阻導體的電阻隨溫度變化而改變,通過測量其阻值推算出被測量物體的溫度8.制造的材料:純金屬一般工作溫度:-200℃~+500℃9.其他紅外測溫輻射測溫表面波測溫......10.集成溫度傳感器的分類模擬式溫度傳感器邏輯輸出溫度傳感器數(shù)字式溫度傳感器溫度傳感器的供應商11.模擬式溫度傳感器傳統(tǒng)的模擬溫度傳感器,如熱電偶、熱敏電阻和電阻溫度檢測器(RTDS)對溫度的監(jiān)控,在一些溫度范圍內(nèi)線性不好,需要進行冷端補償或引線補償;熱慣性打,相應時間慢。集成模擬溫度傳感器與之相比,具有靈敏度高、線性度好、響應速度快等優(yōu)點,而且它還將驅動電路、信號處理電路以及必要的邏輯控制電路集成在單片IC上,有實際尺寸小、使用方便等優(yōu)點。常見的模擬溫度傳感器電壓輸出型和電流輸出型兩種,電壓輸出型有LM3911、LM335、LM45、AD22103、電流輸出型有AD590。12.模擬溫度傳感器MAX6605(電壓輸出型)13.邏輯輸出溫度傳感器在許多應用中,我們并不需要嚴格測量溫度值,只關心溫度是否超出一個設定范圍,一旦超出所規(guī)定的范圍,則發(fā)出報警信號,啟動或關閉風扇、空調(diào)、加熱器或其他控制設備,此時可選用邏輯輸出式溫度傳感器。LM56、MAX6501-MAX6504、MAX6509/6510是其中的典型代表。14.LM56功能和引腳15.數(shù)字式溫度傳感器最大特點,直接輸出溫度的數(shù)值內(nèi)含不揮發(fā)型存儲器,可以設定溫度值的上限或者下限可以直接通過寄存器進行設置工作方式常見數(shù)字溫度傳感器的數(shù)字接口:I2C、SPI、1-Wire常見代表:AD7416、DS1620、DS182016.DS1620SPI接口(DQ、CLK、RST#)17.溫度傳感器的比較模擬式數(shù)字式優(yōu)點價格便宜輸出數(shù)字信號抗干擾能力強多個設備同時工作缺點需要AD轉換電路模擬信號易被干擾價格較高18.溫度傳感器的供應商ADI公司AD74xx、AD78xx系列、ADM102x系列(數(shù)字輸出型)TM35/6/7(電壓輸出型)MAXIM&DALLASDS16XXDS18X2XMAX6509/10NS國家半導體公司LM76/77/83/9219.溫度傳感器選型數(shù)字型價格精度要求工作范圍關鍵字“溫度傳感器”20.硬件電路設計系統(tǒng)結構框圖21.DS18B20的引腳定義pin1: GNDpin2: DQ(數(shù)據(jù)通道)pin3: Vdd22.引腳定義NO.PINNAME功能1GND電源接地2DQ數(shù)據(jù)的I/O口;也可以為DS18B20提供電源3Vdd電源正極,在使用DQ引腳進行供電時(寄生電源供電時),Vdd必須接到地23.DS18B20寄生電源電路24.DS18B20的供電方式方式一:使用DQ引腳進行供電——寄生電源供電25.方式二:使用Vdd進行供電——外部電源供電26.開發(fā)板原理圖設計27.上拉電阻R43(容易引起誤會的地方)28.上拉電阻的作用:提高驅動能力寄生電源供電時供電(當DQ高電平時)29.MCU上引腳連接30.P3.x內(nèi)部結構31.P3口的每一位除了普通的I/O口外,都有第二功能,功能如下圖所示通道位第二功能注釋P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2INT0#外部中斷0輸入P3.3INTT1#外部中斷1輸入P3.4T0計數(shù)器0計數(shù)輸入P3.5T1計數(shù)器1計數(shù)輸入P3.6WR#外部數(shù)據(jù)RAM寫選通信號P3.7RD#外部數(shù)據(jù)RAM讀選通信號32.33.34.程序設計流程35.DS18B20驅動分析1-Wire接口讀、寫操作36.DS18B20的操作過程DS18B20resetROM操作命令功能操作命令每次使用ROM命令之前都需要進行reset操作,兩個ROM命令除外:SEARCHROM[F0h]ALARMSEARCH[ECh]37.ROM命令集指令代碼READROM(讀ROM)33HMATCHROM(匹配ROM)55HSKIPROM(跳過ROM)CCHSEARCHROM(搜索ROM)F0HALARMSEARCH(警告搜索)ECH38.功能命令集指令指令WRITESCRATCHPAD(寫暫存器)4EHREADSCRATCHPAD(讀暫存器)BEHCOPYSCRATCHPAD(復制暫存器)48HCONVERTTEMPERATURE(溫度轉換)44HREACALLEPROM(重新調(diào)出)B8HREADPOWERSUPPLY(讀電源)B4H39.DS18B20通信流程圖40.DS18B20RESET操作操作過程主設備發(fā)送reset脈沖DS18B20發(fā)送一個應答信號presence脈沖應答信號的作用通知主設備,有從設備掛載在1-Wire總線上表明從設備已經(jīng)準備好接受數(shù)據(jù)41.1-Wire信號信號的分類reset信號presence信號寫'0'信號讀'0'信號寫'1'信號讀'1'信號42.Reset信號&&Presence信號43.unsignedcharow_reset(void){unsignedcharpresence; DQ=1; ; ; DQ=0;//pullDQlinelow ; ; delay(250);//leaveitlowfor600us delay(100); DQ=1;//allowlinetoreturnhigh delay(30);//waitforpresence40us presence=DQ;//getpresencesignal delay(100);//waitforendoftimeslot200us returnpresence;//presencesignalreturned}44.寫'0'信號&&寫'1'信號45.voidwrite_bit(charbitval){ DQ=1; ; ; DQ=0;//pullDQlowtostarttimeslot delay(2); if(bitval==1)DQ=1;//returnDQhighifwrite1 delay(30);//holdvalueforremainderoftimeslot65us DQ=1;}//Delayprovides16usperloop,plus24us.Thereforedelay(5)=104us46.讀'0'信號&&讀'1'信號47.unsignedcharread_bit(void){ unsignedchari; DQ=1; ; ; DQ=0;//pullDQlowtostarttimeslot ; ; DQ=1;//thenreturnhigh delay(1);//delay7us i=DQ; return(i);//returnvalueofDQline}48.voidwrite_byte(charval){ unsignedchari; unsignedchartemp; for(i=0;i<8;i++)//writesbyte,onebitatatime { temp=val>>i;//shiftsvalright'i'spaces temp&=0x01;//copythatbittotemp write_bit(temp);//writebitintempinto } delay(30);}49.unsignedcharread_byte(void){ unsignedchari; unsignedcharvalue=0; for(i=0;i<8;i++) { if(read_bit())value|=0x01<<i; delay(20);//waitforrestoftimeslotdelay45us } return(value);}50.作業(yè)對驅動程序unsignedcharread_bit(void)和voidwrite_bit(charbitval)進行分析嘗試自己寫voidwrite_byte(charval)和unsignedcharread_byte(void)這兩個驅動51.驅動程序unsignedcharow_reset(void);unsignedcharread_bit(void);unsignedcharread_byte(void);voidwrite_bit(charbitval);voidwrite_byte(charval);52.主函數(shù)設計程序設計流程53.程序初始化數(shù)碼管顯示的初始化設置工作方式設置譯碼方式溫度傳感器的初始化主設備reset脈沖18B20presence脈沖54.初始化代碼數(shù)碼管的初始化 CH452_Write(CH452_SYSON2);//兩線制方式 CH452_Write(CH452_BCD); //BCD譯碼 Write_Disp(); //數(shù)碼管顯示DS18B20初始化 ow_reset();55.voidWrite_Disp(){ CH452_Write(CH452_DIG0|time[0]); CH452_Write(CH452_DIG1|time[1]); CH452_Write(CH452_DIG2|time[2]); CH452_Write(CH452_DIG3|time[3]); }time[]數(shù)組的初值都是0x88,所以一開始的時候,在顯示溫度之前,最后4個數(shù)碼管是全部點亮的56.DS18B20reset時序要求主設備拉低DQ信號至少480us;主設備釋放DQ信號,并進入接收模式;內(nèi)部上拉電阻將DQ信號拉高;DS18B20檢測到上升沿,然后等待15~60us,緊接著應答一個60~240us的低電平57.unsignedcharow_reset(void){ unsignedcharpresence; DQ=1; ; ; DQ=0; ; ; delay(250); delay(100); DQ=1; delay(30); presence=DQ; delay(100); returnpresence;}58.延遲函數(shù)1voiddelays(unsignedchartimes)voiddelays(unsignedchartimes){ unsignedcharonescd=5; for(;times>0;times--) //Delay'times'second. { for(onescd=5;onescd>0;onescd--) //Delayone second. { delayms(200); } }}59.延遲函數(shù)2voiddelayms(unsignedchartimes)voiddelayms(unsignedchartimes){ unsignedcharonems=CLK; unsignedcharms=200; for(;times>0;times--) { for(onems=CLK;onems>0;onems--) { ms=200; while(ms--); } }}60.溫度采集1-Wire總線工作方式61.溫度采集分為兩個步驟發(fā)指令,要求DS18B20采集溫度進行轉化主設備讀取溫度寄存器(2byte)中的數(shù)據(jù)62.控制DS18B20進行溫度轉換 ow_reset();//reset write_byte(0xcc);//ROM命令write_byte(0x44);//功能命令讀取溫度 ow_reset(); write_byte(0xcc);write_byte(0xbe);

temp_lsb=read_byte();

temp_msb=read_byte();63.write_byte(0xbe); //使能讀數(shù)據(jù)發(fā)送完上面這個命令之后,主設備就可以從Byte0開始連續(xù)讀取數(shù)據(jù),byte0和byte1中存放的是經(jīng)過轉換后的溫度值18B20內(nèi)存地址64.18B20溫度寄存器數(shù)據(jù)格式如下圖所示其中:BIT11是符號位,用來區(qū)分零下或者零度以上溫度BIT10~BIT0存放的是轉換后的溫度數(shù)值65.數(shù)據(jù)處理輸入的數(shù)據(jù)是2byte的二進制數(shù)輸出的數(shù)據(jù)是十進制數(shù),小數(shù)點后保留兩位有效數(shù)字,小數(shù)點前也是兩位處理過程小數(shù)部分數(shù)據(jù)處理整數(shù)部分數(shù)據(jù)處理66.原碼、補碼和反碼機器數(shù)的表示原碼:將數(shù)的真值形式中“+”號用“0”表示,“-”號用“1”表示時,叫做數(shù)的原碼形式,簡稱原碼。反碼:對正數(shù)來說,其反碼和原碼的形式相同;對負數(shù)來說,反碼為其原碼的數(shù)值部分各位變反。補碼:對正數(shù)來說,其補碼和原碼的形式相同;對于負數(shù),補碼為其反碼的末位加1。67.舉例68.如何根據(jù)補碼求原碼?求解步驟:將補碼減去一,得到反碼將反碼各位取反,得到原碼69.求原碼舉例測量到的溫度是0.5℃,求發(fā)送的2byte的數(shù)據(jù)測量到的溫度是-55℃,求發(fā)送的2byte的數(shù)據(jù)2byte的數(shù)據(jù)為0xFF5E,求現(xiàn)在的溫度2byte的數(shù)據(jù)為0x0191,求現(xiàn)在的溫度70.數(shù)據(jù)處理步驟先判斷數(shù)據(jù)的符號計算小數(shù)部分計算整數(shù)部分71.數(shù)據(jù)處理代碼先判斷數(shù)據(jù)的符號if(temp_msb>0x7f){ temp_lsb=~(temp_lsb-1); temp_msb=~temp_msb; Temp_Flag=1;}72.計算小數(shù)部分

Temp_Decimal=(temp_lsb&0x0f)*6;計算整數(shù)部分temp_lsb=temp_lsb>>4;temp_msb=temp_msb<<4;

Temp_Integer=temp_msb|temp_lsb;73.溫度的顯示通過補碼到原碼的轉換得到的是要顯示數(shù)據(jù)整數(shù)部分和小數(shù)部分,還要先計算要顯示的每一位,然后進行顯示計算每一位數(shù)值 time[0]=Temp_Decimal%10; time[1]=Temp_Decimal/10; time[2]=Temp_Integer%10|0x80; time[3]=Temp_Integer/10;數(shù)碼管顯示W(wǎng)rite_Disp();74.回顧程序設計流程75.溫度傳感器DS18B20DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉換精度,測溫分辨率可達0.0625℃。76.其他封裝形式77.開發(fā)板硬件設計78.DS18B20的主要技術參數(shù)供電電壓:3.0V~5.5V測量溫度范圍:-55℃~+125℃測量精度:±0.5℃(-10℃~+85℃)9~12bit存儲溫度數(shù)據(jù)轉換時間750ms(max)接口:1-Wirebus軟件與DS1822兼容79.DS1822的主要技術參數(shù)供電電壓:3.0V~5.5V測量溫度范圍:-55℃~+125℃測量精度:±2℃(-10℃~+85℃)9~12bit存儲溫度數(shù)據(jù)轉換時間750ms(max)接口:1-Wirebus軟件與DS18B20兼容80.DS18B20常見應用恒溫控制消費類電子產(chǎn)品熱傳感系統(tǒng)通風和空調(diào)系統(tǒng)控制溫度檢測系統(tǒng)81.引腳定義NO.PINNAME功能1GND電源接地2DQ數(shù)據(jù)的I/O口;也可以為DS18B20提供電源3Vdd電源正極,在使用DQ引腳進行供電時(寄生電源供電時),Vdd必須接到地82.內(nèi)部結構框圖83.64bitROMcode獨一無二的設備號總線可以掛載多個設備64-bit編碼的組成84.多設備電路設計85.多個設備識別SEARCHROMCommand流程圖分析SEARCHROM[F0h]86.87.算法過程描述1、DS18B20reset2、主設備發(fā)送ROMSEARCH[F0h]命令3、所有從設備接受到這個命令之后,都對主設備進行響應:先發(fā)送BIT0的數(shù)據(jù)到總線上,然后再發(fā)送BIT0的反碼(取反后的數(shù)據(jù))到總線上所有設備都向總線發(fā)送數(shù)據(jù)時,這些數(shù)據(jù)相當于是一個線與的操作(也就是說,如果同時發(fā)送0和1,那么線與的結果是0,主設備接收到的數(shù)據(jù)也是0)88.主設備連續(xù)接受到兩位數(shù)據(jù)后,這兩個數(shù)據(jù)可能四種情況,并分別代表不同的意義:情況一00:連接到總線上的設備的這個bit的數(shù)據(jù)不一樣,有的是‘1’,有的是‘0’,也就是說至少有兩個設備掛載在總線上;情況二01:連接到總線上的設備的這個bit的數(shù)據(jù)相同,都是‘0’情況三10:連接到總線上的設備的這個bit的數(shù)據(jù)相同,都是‘1’情況四11:沒有設備連接到總線上89.4、主設備根據(jù)接收到的數(shù)據(jù)進行響應操作:如果是情況四,則直接退出;如果是情況三,則主設備發(fā)送1到總線上;如果是情況二,則主設備發(fā)送0到總線上;如果是情況一,則主設備發(fā)送0到總線上;(注意這種情況下實際上是發(fā)生一次選擇,我們稱之為分支)5、從設備將接收到的數(shù)據(jù)和現(xiàn)在的bit位上的數(shù)據(jù)進行比較,如果相同,則不作處理,如果不同,則不再響應主設備6、從設備繼續(xù)響應主設備:發(fā)送BIT1的數(shù)據(jù)到總線上,然后再發(fā)送BIT1的反碼到總線上......90.從設備一直響應到BIT63,這樣就識別出了一個ROMcode下面開始識別第二個ROMcode:從第1步開始重新執(zhí)行,執(zhí)行到倒數(shù)最后一次分支處時,這時主設備同樣面臨一次分支選擇,這次主設備選擇向總線上發(fā)送‘1’91.92.算法舉例:ROM1 00110101...ROM2 10101010...ROM3 11110101...ROM4 00010001...93.作業(yè)1:單一設備時,讀取設備號,并進行數(shù)據(jù)格式的分析作業(yè)2:簡述多設備時,如何進行設備的識別94.內(nèi)容回顧硬件設計部分 供電 DQ程序設計部分 程序設計流程 DS18B20操作流程 ROM命令 funtion命令 1-Wire信號時序 DS18B20驅動 溫度的讀取過程(數(shù)據(jù)的存儲) 數(shù)值的處理(原碼、補碼、反碼) 64-bitromcode95.ScratchpadMemory96.Memorymap97.溫度寄存器數(shù)據(jù)格式98.TH和TL寄存器數(shù)據(jù)格式99.警報信號的操作在DS18B20進行一次溫度轉換之后,這個得到的溫度值將會和用戶所設置的兩個臨界值進行比較,這兩個臨界值分別存放在1個byte的TH和TL這兩個寄存器中,最高位S用來代表這個值是正值還是負值TH和TL這兩個寄存器一個存放的是觸發(fā)警報信號的溫度上限值,一個存放的下限值,只要實際得到的溫度超過了這兩個值,就會發(fā)出警報信號(這里指修改一個警報的標志位)如果下次轉換的溫度在設定的界限之間,則會關閉這個警報的標志位100.配置寄存器數(shù)據(jù)格式和使用方法默認情況下R1=1;R0=1

101.循環(huán)冗余校驗字CRC循環(huán)冗余校驗字(CRC,cyclicredundancycheck)通過計算64bitROM中的其他56bit數(shù)據(jù)得到64bitROMcode中的CRC的數(shù)值通過計算暫存器里面的Byte0~Byte7(8字節(jié))的數(shù)據(jù),得到暫存器里面CRC的數(shù)值可以用來檢驗得到的數(shù)據(jù)是否正確,方法就是重新計算CRC的值,然后分別與ROM中的CRC或者與寄存器中CRC的值進行比較,如果一致,說明收到的數(shù)據(jù)沒有錯誤,如果不一致,說明數(shù)據(jù)有誤102.為什么要數(shù)據(jù)校驗通俗的說,就是為保證數(shù)據(jù)的完整性用一種指定的算法對原始數(shù)據(jù)計算出的一個校驗值。接收方用同樣的算法計算一次校驗值,如果和隨數(shù)據(jù)提供的校驗值一樣,就說明數(shù)據(jù)是完整的。103.奇偶校驗奇校驗:實際要發(fā)送的數(shù)據(jù)等于校驗位(1位)+等待發(fā)送的數(shù)據(jù),實際發(fā)送的數(shù)據(jù)要滿足1的個數(shù)為基數(shù)這個性質(zhì)偶校驗:實際要發(fā)送的數(shù)據(jù)等于校驗位(1位)+等待發(fā)送的數(shù)據(jù),實際發(fā)送的數(shù)據(jù)要滿足1的個數(shù)為偶數(shù)這個性質(zhì)104.舉例105.奇偶校驗的問題奇偶校驗:只能檢測誤碼數(shù)為奇數(shù)個的情況,如果誤碼數(shù)為偶數(shù)個,則無法檢驗106.bcc異或校驗法把所有數(shù)據(jù)都和一個指定的初始值(通常是0)異或一次,最后的結果就是校驗值,通常把她附在通訊數(shù)據(jù)的最后一起發(fā)送出去。接收方收到數(shù)據(jù)后自己也計算一次異或和校驗值,如果和收到的校驗值一致就說明收到的數(shù)據(jù)是完整的。107.算法實現(xiàn)unsigneduCRC=0;for(inti=0;i<DataLenth;i++)uCRC^=Data[i];108.其他校驗方法MD5校驗數(shù)字簽名海明校驗109.CRC的計算等式表示:問題:如何實現(xiàn)?110.CRC的硬件實現(xiàn)移位寄存器+異或門111.112.CRC特性一如果寄存器中存放的8bit數(shù)據(jù)和即將輸入的8bit數(shù)據(jù)相同,則當這8bit輸入結束后,寄存器中所有位都是0113.CRC特性二如寄存器中的數(shù)據(jù)和即將輸入的數(shù)據(jù)(8bit)的每一位都不相同,則數(shù)據(jù)輸入結束后,寄存器里面的值一定是35h114.CRC的軟件實現(xiàn)硬件實現(xiàn)CRC只是一種方法使用軟件編程也能實現(xiàn)CRC查找表(LookupTable)算法描述NEWCRC=Table[i]fori=0to255wherei=(CurrentCRC)EXOR(Inputbyte)115.查找表116.軟件實現(xiàn)舉例ROMcode:A200,0000,01B8,1C02hfamilycode:02hSerialNumber:0000,0001,B81ChCRC初始值0000,0000h117.DS18B20操作舉例(一)應用場景:多個DS18B20加載總線上主機從指定某一DS18B20進行溫度轉換通過讀取CRC來進行數(shù)據(jù)校驗118.操作步驟DQ數(shù)據(jù)(低位優(yōu)先)操作說明Reset主設備發(fā)送reset脈沖PresenceDS18B20應答55h主設備匹配ROM命令64-bitROM編碼主設備發(fā)送DS18B20ROM編碼44h主設備發(fā)送溫度轉換命令DQ強上拉溫度轉換期間主設備將DQ強上拉Reset主設備發(fā)送reset脈沖PresenceDS18B20應答55h主設備匹配ROM命令64-bitROM編碼主設備發(fā)送DS18B20ROM編碼BEh主設備發(fā)送讀暫存器命令9databytes主設備讀取整個暫存器數(shù)據(jù)9bytes119.DS18B20操作舉例(二)應用場景總線上只掛載一個DS18B20主設備配置TH、TL和配置寄存器(configurationregister)讀取數(shù)據(jù),并進行CRC檢驗復制暫存器的數(shù)據(jù)到E2PROM中120.操作步驟DQ數(shù)據(jù)(低位優(yōu)先)操作說明Reset主設備發(fā)送reset脈沖PresenceDS18B20應答CCh主設備發(fā)送跳過ROM命令4Eh主設備發(fā)送寫暫存器命令3databytes主設備發(fā)送數(shù)據(jù)到暫存器Reset主設備發(fā)送reset脈沖PresenceDS18B20應答CCh主設備發(fā)送跳過ROM命令BEh主設備發(fā)送讀暫存器命令9databytes主設備讀取整個暫存器數(shù)據(jù)9bytes121.續(xù)上一頁Reset主設備發(fā)送reset脈沖PresenceDS18B20應答CCh主設備發(fā)送跳過ROM命令48h主設備發(fā)送復制暫存器命令DQ強上拉在復制數(shù)據(jù)期間,主設備將DQ強上拉至少10ms122.DS18B20使用總結精度高、設計簡單其他使用注意點較小的硬件開銷需要相對復雜的軟件進行補償多設備時,需要考慮總線驅動問題遠距離使用時,要考慮線路分布電容和阻抗匹配問題123.bPD)hMEcVRkOlqd3h3SM5hy4kvWNp7g0RPfC(ShOuNV1L0o(9bo)lKlCL*MbMA(kWXGtFq50uI$CW3Ayi9rme7v&mkF!%s1AF*koXv$%dvrQdxjno15gdKo)gZE20dk+3b1p#klJ+7Kq(9G5gHYf2F9+vTjf&KOq*O&&-rtqCdJb3G4MvsiRDs-2ip446Y1qEoswfsUJ&)1rpgjT3p0jwYPprmG(5OCjJn4ECNRrabvi&Q*ZS)Qp9pbe*6pv5)Woiiu5A+XlNkrjh#!(U7H01qR#3lMw&r7tDY$x2l-UvK7)YnOik5%qFZ(Dp7zivZUAnAqjfIfNTb&TbtUF5F6RBanVi9G&vuaDwR9n3AI5cevjR9aA*rQ#9T65CwCzwHRa8(B80#w4(0ARvZLEl(w0$uG(W%F&&Z0UmRVe#N2e)k%DEQS%yOtYOV)F%dBj8Oy1G)v0rf629eojVcIvC7vhipZtj#&qjGYXDWBqLUSw(RNqg3E22fFbNJ4uwsD#a5BuW7Hzs#7OX4Rs50a9dKrq&stiYbBk1#(QcGMpV1$+xURXQrUjnVc!8k9&bpJIQOqjeLG59QX&89hkMvb*9f&p!-40yc68uXEEb%-ne%!(+kN)xAi!P5VgUvSBd6IlwAH5taAsZA6S#3#N&hqTz#774%Ikq!5Vrjwo-#zSN1Utxb0K-Na&J9Tq0og-7ehR32lG&)IB(&-wm8O(P!3EfNy!5g7uJ7*x3WCchJM0CSV4JswAHnEedx+jrTSy8#E-OuxQHUBXo!!Q#+M19Afl5VWQ#0YhwvOmol76ndc*5(G+4Gj+WBBrsn2OpPbHabJrFvdRqJX6e89KPqj)7n)%LC9B7chWiRJgXW5bN++-kX#g5ZdtCGu4aD2PrjA!Qjn7K5)!He!R7dEgGEzZFX9aABy#Gn-MnenhN64tm1U!aPPdUATNRajh0iS6ssPJulXtIk0fp$hIzJH)jDoNCGnE34RQqGHXLZhdh37Gn5Wi+dtKgCM9sc9UD3y1kkUX+3xs0+k!fx!%Qe!Z2*LIY&92wU01VRv9uAWjwB0Q3f-hKtM6j!7ZsiK++1c(vPrf)#Sj5+TFmI$JdjI!hyuY+SO*DKoNYKz$#eMwpq6*vYkIppGNZZ9eM!cMqnVV$0QNHT1yXMubcSoUKo2y$xZJugauW1NOSbnsjKeLx&mFwCCaooFp*#T0ihTcOKl(I8ShlI*A6Eel90f2RYwl6Cog%5xMQv6-sH&I0o*528IV-uukkP#0wyrv(ey4ioHoYriScU$UPtwEwXs!+v&nIQ(E#aNMQMd+Vng9eO&cQFDoMgMwZaXZ8mc7WQb6V9X*vwkh&&CSA7JANIOpZ)!6el-&e2rm!1jbFRz*RZaA&kf#+cZU+ZG9HY15SULs*H3XHCO$i49apL!6qVyiU(ub6YibQgAehbV&xnbL%P&as-4-&#jdU3C+9UQmPbp8C6W1k!YRjkj+dVj9Ue%mf8H4iJ%bd0v5!qyRDXNHJf2ffc1op4+KIsC!Z#9SLhQ1NTWj4AKN89daB2W8TP47sIwE*hByGsPKM&R%jmCVGt$LBQc(BXhtu%W1O2&H+-$z45m5Ajc8M%ofXSGnrbu19P3O0266I)R2pUyl+aIchp7+%GGQui+tp&9-Py*%lvTNumlPIX0YtBpNmQXVY&$WD!2H*mQF)n+dI2TC1i&eWmEOATmKw#nY!j28L2e$LWo0%GTm17Z*-AeVw(t9t)P3MmV17o0tM(Kw5iN5m#m(5)&fa+4J-5kXuUJMHb2*GO*7Z%-T0sJv)#5#CqKLN30#D2TwWCo(v7Y&LofWHlJkA49220%YA!IySOPvGIyUJFfj45DNuY#)jsYjgX7q9sBwmgFuqI1ZKScRleDGAw8ZT3t1DA*Enph($7KMPlgj82xy!sH*RPJn+$*K(p$+q*iV-Iufrt#n+qh0jzKbgrJF!uPnKyAqx9tuv+xUvxMRyboKyx9*)qN4+oEA6#iQTtmfFxiw2zH$K)JuC5$91jemO%xqg)Wv(I1Q93k2HvRa4jk87g-Gju!6heAhQlgOi-lckRZ*gqS)UBo51zttSx3zrEEHo9Aw8ir)d1RW2e5B9hE8AJMqzJftN9UyBID%xnhKGsbVQWd9)E9)Tcjjv52GXu8XXGuIwfmWBas-I0#CH4emNIrkGHI%TAqNPT84$$oDUoAGZG7U#n#d03+%)-f)CeeyVZqv#OhS%Dp0iRh14Wu&B93#wYQDvW-jgLEkJaqJN&tJ*6z7%quOlk#$kpYcz8I+J6-Z9PghBRI%e0brzz6788Kfi!0lIN3UykK%WIl1%)CTRqg9TOKLnrYe6wT4$2mLgJ(JVp6z8QdSJjR(XAfId-5jddWukMD!yDJaQ(4a4$6)3U8sgqnk-0)WkAqR9w6tZB1qh*Uw(%qFBd-uq!t8AdovKISK4Q8Kkw&%Y0JyhhQ3xgT7U+yoL$8$Z-z*6iWUDG5k-vkis4z(Ro1AzQESFomPv5p)J3(2vY*0nd$Q)%Z4YyjyurJxd5tzH362bNm$9Ru%!tkBthlFeQ#oKrLS-ZChW*%1$LtJRQG+MbX5g%8%A2z37gmoyw7-9ErAC1NuanDkw(xF&7-K3v$#cxIrb5kT445o*%P81vNgxk80-og%63M*QB&ryy%(8ztU7&02GnZ6yKblGqwav)io&DtV+U0eSQ&vUH0GiSkg$D3#nEtCxeV%cnPebKyAAhw7M3g-%L8jevnVifK6bz!KuPC1yq9QY&ekA#ffaUIvuKxjNVWzXtAmR5!Y1aDvilZkY1C6sjmx0hx*)LKg7)EFQPk8&voqgIj!bXGbhEWTAa1rDUrVGacsBhd7j+&icsZ$z($#89dX8vm3(bySJ096F59slSpnA(nIRDARB5sdpww2UAlCb4yf-YvMXK*JJ!xd5(6lvkUjjUdzejlO$*g6RyZwhkHlIMxq3*$5nAJ!aGlfxXBO9b0BLpejtqHdqMl%dgsDnmSLw9IJ$WIg0fp1gxJwUVLAGMLsdA6f8KuA!DbV2NS%5$O4)X0LDu(kTmp7ZJ2Gwyg+vUhDs($a0TPpb%n7)ITav5VwoR)j)nLgokoV)7(-bfXRKilw2xKYpx+WcTc(pLckAM1ZIHp4NE-7Aq6aHPHjezHlff(68-basRTCBzlu)ngyhRliQgFt2s0C*UBrSM)doIDacTfyaBIJqG7QA9cPpeVjVIM*R%lhLHaOtjUJ7e5jslTlOZgXV5bMyzxh!VmzzvFoWm8L$JcEM(A3z&&RxB*x5#6MVy!Z7IY)y$+t3971q3-HVIHwj4D24i*qKXr2x2#T2(UZvWfqZrLtobFl4DyFC4$Qkh9cL!7KUKwVs(dO+yvdxnCMG1h%h%Zqsei&GFJZh+awI+MhEw#OHHezjcb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論