版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示摘要:文章介紹了用AT89S8252單片機(jī)的串行接口與智能溫度巡回檢測(cè)儀(XJ-08S)通過RS485總線相互通訊實(shí)現(xiàn)熱水溫度遠(yuǎn)程顯示的一種低成本解決方案,內(nèi)容涉及RS485總線通訊、單片機(jī)驅(qū)動(dòng)數(shù)碼管顯示、數(shù)據(jù)轉(zhuǎn)換以及鍵盤處理軟硬件設(shè)計(jì)等內(nèi)容。關(guān)鍵詞:?jiǎn)纹瑱C(jī)RS485總線數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換鍵盤處理一、前言目前檢測(cè)溫度一般采用熱電偶或熱敏電阻作為傳感器,這種傳感器至儀表之間一般都要用專用的溫度補(bǔ)償導(dǎo)線,而溫度補(bǔ)償導(dǎo)線價(jià)格很貴,并且線路太長(zhǎng)也會(huì)影響測(cè)量精度。在實(shí)際應(yīng)用中往往需要對(duì)較遠(yuǎn)處(1KM左右)的溫度信號(hào)進(jìn)行監(jiān)視。現(xiàn)有的解決方案有很多,例如:1、在現(xiàn)場(chǎng)用智能儀表對(duì)溫度
2、信號(hào)進(jìn)行測(cè)量,用計(jì)算機(jī)作上位機(jī)與智能儀表進(jìn)行通訊來(lái)實(shí)現(xiàn)遠(yuǎn)程溫度監(jiān)測(cè)(采用這種方案要增加計(jì)算機(jī)設(shè)備及相關(guān)計(jì)算機(jī)軟件)。2、NCU+DDC實(shí)現(xiàn)遠(yuǎn)程溫度監(jiān)測(cè)。用兩個(gè)DDC,個(gè)安裝在現(xiàn)場(chǎng)測(cè)量溫度,另一個(gè)安裝在監(jiān)視地,兩個(gè)DDC通過NCU進(jìn)行通訊從而實(shí)現(xiàn)遠(yuǎn)程溫度監(jiān)測(cè)。但以上方案都存在成本高的問題,有沒有低成本的解決方案呢?其實(shí),在單片機(jī)應(yīng)用日益廣泛的今天,完全可以用單片機(jī)以極低的成本來(lái)實(shí)現(xiàn)遠(yuǎn)程溫度監(jiān)測(cè)。二、問題的提出我單位管理的鍋爐房同時(shí)給兩棟建筑物內(nèi)的兩家酒店供應(yīng)蒸汽,由安裝在兩棟建筑物地下室的熱交換器進(jìn)行熱交換后產(chǎn)生熱水送給客房。從鍋爐房至兩個(gè)熱交換站的距離分別約600米,值班人員要不停地奔波于兩個(gè)
3、熱交換站與鍋爐房之間進(jìn)行設(shè)備巡視,檢查熱水溫度是否控制在規(guī)定的范圍,這樣不僅增加了值班人員的勞動(dòng)強(qiáng)度,同時(shí)也使鍋爐房經(jīng)常無(wú)人(因每班1人值班)。如果能在鍋爐房顯示兩個(gè)熱交換站內(nèi)各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時(shí)才需到各熱交換站檢查設(shè)備,這樣便可解決上述問題。我公司曾就此問題找專業(yè)公司作過方案,其報(bào)價(jià)在人民幣10萬(wàn)元左右,后因種種原因該項(xiàng)目未實(shí)施。經(jīng)過分析,本人發(fā)現(xiàn)可以用單片機(jī)+智能儀表以低成本實(shí)現(xiàn)溫度遠(yuǎn)程顯示,并且經(jīng)過實(shí)驗(yàn)取得了成功,現(xiàn)將設(shè)計(jì)方案簡(jiǎn)述如下:三、控制要求及解決方案選擇1、兩個(gè)熱交換站分高低區(qū)共安裝有8個(gè)熱交換器,正常水溫在45oC至65oC之間;兩個(gè)熱交換站與鍋爐
4、房的距離分別為500米和600米左右。2、要求在鍋爐房能以巡回及定點(diǎn)兩種方式顯示8個(gè)熱交換器的熱水溫度,巡回方式以3秒為周期輪流更新及顯示各熱交換器熱水溫度。定點(diǎn)方式時(shí)每按上鍵或下鍵一次則顯示上或下一個(gè)熱交換器熱水溫度,每3秒自動(dòng)更新數(shù)據(jù)一次。3、根據(jù)控制要求選擇單片機(jī)+智能儀表的解決方案:用帶通訊接口的智能儀表安裝在現(xiàn)場(chǎng)測(cè)量溫度,設(shè)計(jì)制作一個(gè)單片機(jī)裝置完成與智能儀表的通訊及數(shù)據(jù)顯示。四、通訊協(xié)議、智能儀表選擇及其參數(shù)介紹因熱水溫度信號(hào)變化較慢,因而對(duì)通信的速度要求不高,對(duì)于這種低速率遠(yuǎn)距離的通訊選用RS-485總線適宜。RS-485是EIA(美國(guó)電子工業(yè)聯(lián)合會(huì))在1983年公布的新的平衡傳輸
5、標(biāo)準(zhǔn),是工業(yè)界使用最為廣泛的雙向、平衡傳輸線標(biāo)準(zhǔn)接口,它以半雙工方式通信,支持多點(diǎn)連接,傳統(tǒng)驅(qū)動(dòng)器允許創(chuàng)建多達(dá)32個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò),且其具有傳輸距離遠(yuǎn)(最大傳輸距離為1200M),傳輸速度快(1200M時(shí)為100KBPS)等優(yōu)點(diǎn)。其連接方法如下圖所示。RS485通訊端口的智能儀表。經(jīng)過對(duì)市場(chǎng)上常用的溫度檢測(cè)儀進(jìn)行分析,選擇由重慶川儀十八廠生產(chǎn)的XJ-08S型巡回檢測(cè)儀作現(xiàn)場(chǎng)測(cè)量?jī)x表。(一)該儀表主要特點(diǎn)如下:1、多量程方式,熱電偶、熱電阻,1-5V標(biāo)準(zhǔn)信號(hào)混合輸入,可通過鍵盤進(jìn)行設(shè)置;2、最多8個(gè)測(cè)量通道(能測(cè)量8個(gè)溫度信號(hào));3、采用RS-485通訊標(biāo)準(zhǔn),可將各通道最新數(shù)據(jù)向上位機(jī)傳送。重要的是
6、,該儀表的說(shuō)明書詳細(xì)介紹了與該儀表進(jìn)行數(shù)據(jù)交換的命令及格式,其通訊協(xié)議也相對(duì)較簡(jiǎn)單,這給我們用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示降減低了難度(雖然有RS-485端口的儀表很多,但大多沒有通訊命令的詳細(xì)說(shuō)明,給我們用單片機(jī)編程增加了難度)。(二)XJ-08S巡回檢測(cè)儀通訊協(xié)議1、通訊口設(shè)置通訊方式:RS-485標(biāo)準(zhǔn)電平同步方式:起停同步方式波特率:9600BPS通訊距離:不大于1200M通訊線:二線數(shù)據(jù)代碼:ASCII碼數(shù)據(jù)格式:每字符10位,1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位2、數(shù)據(jù)傳輸格式地址:2字節(jié)(高字節(jié)在前,低字節(jié)在后);數(shù)據(jù):按地址順序,儀表數(shù)據(jù)傳輸格式為十六進(jìn)制2字節(jié)定點(diǎn)數(shù);2字節(jié)定點(diǎn)數(shù)=低字
7、節(jié)高4位(ASCII碼)+低字節(jié)低4位(ASCII碼)高字節(jié)高4位(ASCII碼)+高字節(jié)低4位(ASCII碼)若數(shù)據(jù)為負(fù)數(shù),則采用補(bǔ)碼方式傳輸;在傳輸實(shí)時(shí)測(cè)量值時(shí),傳輸完2字節(jié)定點(diǎn)數(shù)后,緊接著又傳輸2字節(jié)定點(diǎn)數(shù),其中高字節(jié)低4位為小數(shù)點(diǎn)位數(shù)。例:(50.0)10表示為4634303130303031低字節(jié)高字節(jié)小數(shù)位數(shù)3、儀表通訊格式:DE幀類型幀數(shù)據(jù)CRCCR:通訊起始符DE:儀表設(shè)備號(hào)(地址)幀類型:操作命令幀數(shù)據(jù):各種操作命令所對(duì)應(yīng)的命令及數(shù)據(jù)CRC:校驗(yàn)字節(jié)(除外。只。之前的其他幾個(gè)字節(jié)的異或值CR:結(jié)束符(回車符)4、應(yīng)用中用到的命令及數(shù)據(jù)格式:讀儀表全部動(dòng)態(tài)數(shù)據(jù)命令幀DERDCR
8、CCR命令回送幀正確DERD幀數(shù)據(jù)CRCCR錯(cuò)誤DE*CRCCR例:讀28號(hào)儀表的全部動(dòng)態(tài)數(shù)據(jù)命令:1CRD64,OD(ASCII碼403143524436340d)錯(cuò)誤返回碼1C*72,0D(ASCII碼4031432A2A37320D)正確返回?cái)?shù)據(jù)1CRDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX第3通道第4通道XXXXXXXXXX,0D第7通道校驗(yàn)第0通道第1通道第2通道XXXXXXXXXXXXXXXX第5通道第6通道五、單片機(jī)選擇及硬件電路設(shè)計(jì)1、選用ATMEL公司生產(chǎn)的AT89S8252-24PC單片機(jī),其主要參數(shù)及特點(diǎn)如下:與MCS-51產(chǎn)品兼
9、容(其引腳圖見原理圖)具有8K字節(jié)可擦寫的FLASH內(nèi)部程序存儲(chǔ)器,可擦寫1000次;2K字節(jié)EEPROM,可擦寫100,000次,SPI口(用PC機(jī)的并口連接5條線即可通過SPI口下載程序,下載軟件可從網(wǎng)上下載,這樣可節(jié)省購(gòu)買編程器的費(fèi)用;)。注:筆者現(xiàn)已制作成了ISP2000三合一燒寫器,詳情見 HYPERLINK 256字節(jié)RAM,32根可編程I/O線,可編程串行口,內(nèi)置看門狗。與看門狗有關(guān)的特殊功能寄存器WMCON地址=96H,與看門狗有關(guān)的控制位為96h第0、1、5、6、7位,第5、6、7位用于設(shè)置看門狗定時(shí)時(shí)間(具體見第5頁(yè)表格),本應(yīng)用中第5、6、7位均置1,設(shè)置看門狗溢出時(shí)間為
10、2048ms,第0位為看門狗使能控制位,該位置1將使能看門狗,其第1位為復(fù)用位,向第1位寫1將復(fù)位看門狗定時(shí)器,具體操作如下:使能看門狗,并將其溢出時(shí)間設(shè)定為2048ms:ORL96H,#0E1H;看門狗定時(shí)器清0:ORL96H,#22、按鍵設(shè)計(jì):為方便使用,設(shè)計(jì)了三個(gè)按鍵,分別為巡回/定點(diǎn)切換鍵、上鍵、下鍵。切換鍵用于巡檢與定點(diǎn)模式的切換,上鍵向上切換通道,下鍵向下切換通道;其中巡檢/定點(diǎn)切換鍵通過外部中斷1以中斷方式工作,中斷程序?qū)⒀不?定點(diǎn)標(biāo)志取反后直接跳到主程序中巡回/定點(diǎn)標(biāo)志判斷程序前運(yùn)行,由判斷程序完成巡回/定點(diǎn)的切換。按鍵信號(hào)由單片機(jī)P3.3,P3.4,P3.5引腳輸入。3、顯示
11、電路設(shè)計(jì)為方便觀察,選用三個(gè)二位共陽(yáng)級(jí)8段數(shù)碼顯示管(TOD5201AE)動(dòng)態(tài)顯示,一位顯示儀表地址(從A至F),位顯示通道號(hào)(從0至7通道),其余四位用來(lái)顯示實(shí)時(shí)溫度值;用單片機(jī)P1口驅(qū)動(dòng)一片74HC244以吸收電流的方式控制段碼,用單片機(jī)P0.0至P0.5引腳驅(qū)動(dòng)六個(gè)PNP三極管(9012)控制位選。4、電源選用5V/1A市售成品開關(guān)電源。5、根據(jù)智能儀表通訊協(xié)議的要求,串行口定義為方式1工作,一幀10位:1個(gè)起始位、8個(gè)數(shù)據(jù)位、一個(gè)停止位;用一片75176完成數(shù)據(jù)的發(fā)送與接收,由于RS-485為半雙工,故用單片機(jī)P3.2引腳控制發(fā)送與接收的切換;兩個(gè)智能儀表處于RS-485總線的兩個(gè)端點(diǎn)
12、,為提高可靠性,在RS-485總線的兩個(gè)端點(diǎn)上分別并聯(lián)一個(gè)120Q、1/4W終端電阻。系統(tǒng)方框圖如右示:?jiǎn)纹瑱C(jī)裝置電原理圖見下頁(yè):熱水溫度遠(yuǎn)程顯示器看門狗溢出時(shí)間表765定時(shí)值00016ms00132ms01064ms011128ms100256ms101512ms1101024ms1112048ms儀表.日.通道5實(shí)時(shí)溫度地址號(hào)OV巡回/定點(diǎn)上下巡回下nd120QBGndBGnd120QXJ-08S巡回檢測(cè)儀AXJ-08S巡回檢測(cè)儀BF-uuP2ijP:j-nj:iFii1曲in-njjF11-1F-utFii4Ft4Tti)F-u5Pi5|TI)FiiEitirWR1)FO?PIup-iu
13、PI1F-iIPliF-i-iPIJF-i上Fl4F-i4Fl5F-i5FlciF-iciFl?F-i?P:5TE-Ji.f.T-FjX占LE(FP:8iXFShVrJiiTjvee-_veet:EDE.iDIcH-iD六、單片機(jī)軟件設(shè)計(jì)說(shuō)明及程序流程圖為方便調(diào)試,采用模塊化編程,共分1個(gè)主模塊及5個(gè)子模塊,各模塊功能說(shuō)明及流程圖如下(源程序見附錄):1、主模塊(rand_main.a51)上電后程序顯示初始化標(biāo)志并等待3秒,然后進(jìn)入巡回模式,自動(dòng)檢測(cè)地址為A(10)至F(15)的智能儀表,對(duì)在線的儀表及已使用通道以3秒為周期自動(dòng)巡回讀取實(shí)時(shí)溫度并送數(shù)碼管顯示,儀表未在線或未用通道則自動(dòng)跳過;
14、定點(diǎn)模式時(shí)根據(jù)上、下按鍵情況自動(dòng)向前或向后移動(dòng)一個(gè)通道后等待下一次按鍵(向上至最高通道號(hào)時(shí)跳到上一個(gè)儀表的最低在用通道,向下至最低通道號(hào)時(shí)跳到下一個(gè)儀表的最高在用通道);等待期間以3秒為周期讀取當(dāng)前儀表當(dāng)前通道實(shí)時(shí)溫度并送數(shù)碼管顯示,另外,為了區(qū)分巡回、定點(diǎn)工作模式,定點(diǎn)工作模式時(shí)最低位數(shù)碼管以約0.5Hz的頻率閃爍顯示。當(dāng)檢測(cè)到巡回/定點(diǎn)切換鍵按下時(shí)自動(dòng)在巡回及定點(diǎn)模式間轉(zhuǎn)換,當(dāng)檢測(cè)到溫度值低于199.9度時(shí)顯示-199.9度。主模塊流程圖見下頁(yè):YD_N100=儀表地址TD_N=通道號(hào)開外部中斷1并置最低位閃爍清軟硬看門狗N-下鍵N定時(shí)到-NTdn=07=tdn調(diào)用命令發(fā)送程序Ydn100
15、-1=yd100正確嗎?NYYdn100=9?Y0fh=yd100嗎?送顯示正確嗎?Y調(diào)用數(shù)據(jù)轉(zhuǎn)換程序調(diào)用數(shù)程據(jù)轉(zhuǎn)換*序1r正確上鍵處理流程與下鍵相似,此I處從略。Tdn-1=tdn調(diào)用命令發(fā)送程序送顯示、置一2S定時(shí)初值巡回/定點(diǎn)標(biāo)志=1?2、數(shù)據(jù)轉(zhuǎn)換子模塊(rand_data.a51)功能:本模塊先將ASCII碼轉(zhuǎn)換成BIN碼,然后將BIN碼轉(zhuǎn)換成BCD碼并將數(shù)據(jù)轉(zhuǎn)換成可直接顯示的格式入口:a=通道號(hào)出口:rl=個(gè)位,r2=十位,r3=百位,r4=千位(顯示數(shù)據(jù))&=非0表示該通道未用注:本子模塊中直接將小數(shù)點(diǎn)信息加到相應(yīng)位數(shù)據(jù)上,如需在某位顯示小數(shù)點(diǎn),則將該位數(shù)據(jù)加10H,顯示子模塊根據(jù)
16、此信息顯示小數(shù)點(diǎn)。各子程序功能介紹:bcd2_bcdl:將r3,r4中的4位bed碼由低至高分別存入rl,r2,r3,r4中;ascii4_bcd3:將(r0)為首地址的4字節(jié)ascii碼轉(zhuǎn)換成bed碼并將bed碼由低至高依次存放在r3,r4,r5中,r3,r4中各存放2位bcd碼,r5中存放一位bcd碼;bin_bcd:將rl,r2中的bin碼轉(zhuǎn)換成bcd碼并將bcd碼由低至高依次存放在r3,r4,r5中,r3,r4中各存放2位bcd碼,r5中存放一位bcd碼;ascii4_bin2:將(r0)為首地址的4字節(jié)ascii碼轉(zhuǎn)換成2位bin碼存放在r1(低字節(jié)),r2(高字節(jié))中;注:(r0)
17、指r0中內(nèi)容ascii_bin:將(r0)為地址的一位ascii碼轉(zhuǎn)換成bin碼存A中。高級(jí)子程序調(diào)用低級(jí)子程序以實(shí)現(xiàn)更強(qiáng)的功能,源程序中對(duì)各子程序有較詳細(xì)的注釋,故此處僅畫出主流程圖)3、顯示、軟件看門狗、20ms定時(shí)器子程序(rand_disp.a51)功能:通過定時(shí)器0以IMS為周期動(dòng)態(tài)顯示緩沖區(qū)中的內(nèi)容;同時(shí)完成20ms定時(shí)器及軟件看門狗計(jì)數(shù);當(dāng)軟件看門狗定時(shí)器溢出時(shí)自動(dòng)復(fù)位。入口:以disp_buf為首地址依次存放從個(gè)位至十萬(wàn)位待顯示數(shù)據(jù),以disp_wc為首地址(位地址)依次存放個(gè)位至千位閃爍控制位信息,為0常亮,為1閃爍.出口:wdt中存放軟件看門狗計(jì)數(shù)值,time_20ms中存
18、放20ms的計(jì)數(shù)值。Wdt溢出時(shí)跳至程序存儲(chǔ)器0000H單元Disp_s:閃爍控制計(jì)數(shù)器Disp_s_c:閃爍控制標(biāo)志R0=1?個(gè)位數(shù)據(jù)及閃爍信息=人Y十位數(shù)據(jù)及閃爍信息=人Y百位數(shù)據(jù)及閃爍信息=人Y千位數(shù)據(jù)及閃爍信息=人YN-R0=3?N-R0=4?NR0=5?NR0=2?萬(wàn)位數(shù)據(jù)=ADisp_c:顯示控制計(jì)數(shù)器N將定時(shí)器0設(shè)定為模式1定時(shí)工作,每ms產(chǎn)生一次中斷,即顯示一位,每10ms6位數(shù)據(jù)輪流顯示1ms;為進(jìn)一步提咼可靠性,在該模塊中設(shè)計(jì)了軟件看門狗,實(shí)現(xiàn)方法見源程序。輸出處理模塊流程圖如本頁(yè)所示:4、命令發(fā)送及接收控制子模塊(rand_send.a51)功能:發(fā)送命令緩沖區(qū)中命令并等
19、待接收完畢,然后檢查接收到的數(shù)據(jù),接收錯(cuò)誤則重發(fā)命令,達(dá)到設(shè)定的次數(shù)仍錯(cuò)則存入錯(cuò)誤碼后退出.入口:人=儀表地址出口:A=0表示接收正確1表示校驗(yàn)錯(cuò)*表示命令錯(cuò)N表示無(wú)回應(yīng)模塊流程圖如下:計(jì)算儀表命令偏移地址,取出命令及送入命令緩沖區(qū)發(fā)送命令在80ms內(nèi)檢測(cè)到正在接收標(biāo)志?返回錯(cuò)誤信息YY在200ms內(nèi)檢測(cè)到接收結(jié)束標(biāo)志?清正在接收標(biāo)志N1返回命令錯(cuò)信息4N返回校驗(yàn)錯(cuò)信息允許錯(cuò)誤次數(shù)-1允許錯(cuò)誤次數(shù)=0?Y接收到命令錯(cuò)信息?緩沖區(qū)結(jié)束標(biāo)志符正確?Y校驗(yàn)接收緩沖區(qū)返回正確信息退出5、串行接收子模塊(rand_rec.a51)功能:串行接收模塊通過中斷自動(dòng)執(zhí)行,程序檢測(cè)到時(shí)置ri_f標(biāo)志并開始接收,
20、檢測(cè)到回車符時(shí)清ri_f后退出,接收到的數(shù)據(jù)存放在以rec_buf為首地址的緩沖區(qū)中。串行中斷(rand_rec.a51)流程圖巡回/定點(diǎn)鍵中斷(rand_key.a51)流程圖NYN?接收到Odh?YNY接收緩沖區(qū)溢出?RIF=0?RI_F:正在接收標(biāo)志REC_BUF_Z:接收指針接收緩沖區(qū)首地tt=recbufz數(shù)據(jù)存入接收緩沖區(qū)串行中斷入口保護(hù)現(xiàn)場(chǎng)1=RIF中斷返回恢復(fù)現(xiàn)場(chǎng)0=RIF0=RIF清RINv接收中斷?關(guān)中斷6、巡回/定點(diǎn)轉(zhuǎn)換檢測(cè)模塊(rand_key.a51)功能:模塊通過外部中斷1自動(dòng)執(zhí)行,檢測(cè)到巡回/定點(diǎn)按鍵后先延時(shí)去抖動(dòng),并等待按鍵釋放后將巡回/定點(diǎn)標(biāo)志位取反,然后自動(dòng)
21、跳至主模塊中start處,并不返回原中斷點(diǎn)。模塊流程圖如見本頁(yè):七、調(diào)測(cè)及運(yùn)行情況介紹1、調(diào)試步驟:硬件連接:將各芯片插在面包板上并用導(dǎo)線按原理圖連接軟件開發(fā)環(huán)境:KeiluVision2forWindows,該軟件的模擬調(diào)試器支持C語(yǔ)言及匯編語(yǔ)言源代碼調(diào)試,其匯編程序支持宏匯編及模塊化編程,使用方便。首先在模擬調(diào)試器中調(diào)試各子模塊,各子模塊調(diào)試正常后再將各子模塊及主模塊全部匯編連接成目標(biāo)文件,最后將目標(biāo)代碼下載到單片機(jī)中并連接智能儀表進(jìn)行統(tǒng)調(diào)。2、該系統(tǒng)軟件部分除報(bào)警子模塊外已全部開發(fā)完成并實(shí)際測(cè)試通過,測(cè)試時(shí)用一對(duì)長(zhǎng)度約1100M的0.5mm2普通電話線作為單片機(jī)裝置與兩個(gè)智能儀表的通訊線
22、,經(jīng)過一個(gè)多星期的連續(xù)運(yùn)行觀察,運(yùn)行可靠穩(wěn)定,完全滿足使用要求。注:報(bào)警子模塊的開發(fā)及硬件制版工作正在進(jìn)行中。八、結(jié)束語(yǔ)用單片機(jī)+智能儀表構(gòu)成的溫度遠(yuǎn)程顯示系統(tǒng)總造價(jià)約人民幣7000元(兩塊智能儀表+溫度傳感器約3500元,通訊電纜約2000元,單片機(jī)裝置及施工費(fèi)用約1500元),與采用其它方案的系統(tǒng)比較造價(jià)較低,其硬件及軟件的設(shè)計(jì)、制作都較簡(jiǎn)單,有一定的電子及單片機(jī)知識(shí)便可完成。同時(shí)對(duì)該裝置軟件稍加修改即可與其他帶有RS-485通訊端口的儀器儀表通訊(如變頻器、電路傳感器等),實(shí)現(xiàn)遠(yuǎn)程測(cè)量、監(jiān)視及控制。與發(fā)達(dá)國(guó)家相比,我國(guó)單片機(jī)應(yīng)用的普及程度較低。通過該實(shí)例說(shuō)明,我們完全可以把我們學(xué)到的單片
23、機(jī)知識(shí)應(yīng)用到實(shí)際工作中,直接創(chuàng)造經(jīng)濟(jì)效益。九、參考資料電子工業(yè)出版社電子工業(yè)出版社徐愛鈞彭秀華編著VVATMEL89系列Flash單片機(jī)原理與應(yīng)用余永權(quán)主編電子工業(yè)出版社vvATMELAT89S8252數(shù)據(jù)手冊(cè)ATMEL公司重慶川儀十八廠清華大學(xué)出版社vvXJ-08H(S)巡回檢測(cè)儀使用說(shuō)明書孫廷才王杰孫中健編著2001年11期十、附錄(源程序)1、主模塊(randmaina51);1rand_main.a51namerand_mainEXTRNCODE(I_T0,send_order,rec_si,ascii_bcd,key)extrndata(DISP_buf,disp_wc,time_2
24、0ms,wdt)extrnidata(rec_buf)publicTH0_H,TL0_L,START,ri_f,wdt_time,key_work,key_fprogSEGMENTCODE;定義代碼段;定義字節(jié)數(shù)據(jù)段1;定義字節(jié)數(shù)據(jù)段2byte_buffsegmentdatabyte_buffIsegmentidatabit_buffsegmentdatabitaddressable;定義位數(shù)據(jù)段bit_flagsegmentbitstacksegmentidatarsegstackds20CSEGAT00HUSING0lJMPrandCSEGAT03HRETICSEGAT0BHlJMPI_T
25、0CSEGAT13HljmpkeyRETICSEGAT1BHRETICSEGAT23Hljmprec_siRSEGBYTE_BUFFtd_temp:ds1TD_n:DS1YD_n100:ds1;定義堆棧數(shù)據(jù)段;為堆棧保留20個(gè)字節(jié);定義絕對(duì)代碼段;選擇工作寄存器組第0組;復(fù)位時(shí)程序執(zhí)行執(zhí)行點(diǎn);外部中斷0;定時(shí)器0中斷;外部中斷1;定時(shí)器1中斷;串行中斷;通道號(hào);儀表地址rsegbit_flagkey_work:dbit1ri_f:dbit1;串行口正在接收標(biāo)志;主程序RSEGprog符號(hào)定義key_fequp3.3key_upequp3.4key_downequp3.5wdt_timeequ1
26、00scon_cequ01010000bth1_hequ0fdhtmod_nequ21hie_nequ82hip_nequ12h;軟件看門狗定時(shí)器計(jì)數(shù)值;串行口設(shè)置為10位UART,允許接收;晶振為11.0592M,波特率為9600時(shí)初值;設(shè)置定時(shí)器(T1作為波特率發(fā)生器工作在模式2,T0為模式1);設(shè)置串行,定時(shí)器0中斷;設(shè)置串行,定時(shí)器0中斷為高級(jí)中斷TH0_HEQU0FCHTL0_LEQU06BH;設(shè)定定時(shí)器0為1MS中斷初值;初始化代碼clear_wdtmacro;清硬看門狗宏定義orl96h,#2ENDMrand:ORL96H,#0E1H;啟動(dòng)硬件看門狗movp0,#0ffhmovr
27、0,#20hmova,#0start_300:movr0,aincr0cjner0,#128,startsetbkey_workmovp3,#0ffhmovp2,#0ffhmovdisp_wc,#0movip,#ip_nmovscon,#scon_cMOVTMOD,#tmod_nMOVTH0,#TH0_HMOVTL0,#TL0_Lmovth1,#th1_hmovtl1,#th1_hmovie,#ie_nmovpcon,#0SETBtr1SETBTR0;顯示初始化提示acallchuhaoCLEAR_WDTstart:clreamovsp,#stack-1setbea300;置巡回定點(diǎn)標(biāo)志;初始
28、化閃爍控制位;設(shè)置串行,定時(shí)器0中斷為高級(jí)中斷;設(shè)定定時(shí)器初值clrri_f;清接收中標(biāo)志clrp3.2;置75176為接收狀態(tài)jnbkey_work,db_worksetbex1movyd_n100,#0ahmovtd_n,#0s_0:anldisp_wc,#0f0hmovwdt,#0;清看門狗定時(shí)器clear_wdtmova,yd_n100lcallsend_orderJNZs_1movdisp_buf+5,yd_n100mova,td_nlcallascii_bcdjnzs_2movdisp_buf+4,td_nacallmov_to_dispmovwdt,#0clear_wdtmova
29、,#75adda,time_20mscjnea,time_20ms,$movwdt,#0clear_wdtmova,#75adda,time_20mscjnea,time_20ms,$s_2:inctd_nmova,td_ncjnea,#8,s_0movtd_n,#0s_1:incyd_n100MOVA,YD_N100cjnea,#10h,s_0movyd_n100,#0ahajmps_0db_work:setbex1orldisp_wc,#01hd_3:movwdt,#0;清看門狗定時(shí)器clear_wdtjbkey_up,d_4mova,#2adda,time_20mscjnea,time_
30、20ms,$jbkey_up,d_4d_5:movwdt,#0clear_wdtjnbkey_up,d_5;等待向上鍵松開d_53:mova,td_ncjnea,#7,d_50movtd_n,#0d_52:incyd_n100mova,yd_n100cjnea,#10h,d_51movyd_n100,#0ahajmpd_51d_50:inctd_nd_51:mova,yd_n100lcallsend_orderJNZd_52movdisp_buf+5,yd_n100mova,td_nlcallascii_bcdjnzd_53movdisp_buf+4,td_nacallmov_to_dispm
31、ova,#100;2秒鐘定時(shí)設(shè)定adda,time_20msajmpd_3d_4:jbkey_down,d_10mova,#2adda,time_20mscjnea,time_20ms,$jbkey_down,d_3d_6:movwdt,#0clear_wdtjnbkey_down,d_6;等待向下鍵松開d_43:mova,td_ncjnea,#0,d_40movtd_n,#7d_42:decyd_n100mova,yd_n100cjnea,#9h,d_41movyd_n100,#0fhajmpd_41d_40:dectd_nd_41:mova,yd_n100lcallsend_orderJN
32、Zd_42movdisp_buf+5,yd_n100mova,td_nlcallascii_bcdjnzd_43movdisp_buf+4,td_nacallmov_to_dispmova,#100;2秒鐘定時(shí)設(shè)定adda,time_20msajmpd_3d_10:cjnea,time_20ms,d_30mova,yd_n100lcallsend_orderjnzd_30mova,td_nlcallascii_bcdjnzd_30acallmov_to_dispmova,#100adda,time_20msd_30:ajmpd_3mov_to_disp:movdisp_buf,r1movdis
33、p_buf+1,r2movdisp_buf+2,r3movdisp_buf+3,r4retchuhao:movr1,#1eh;初始化等待提示movr2,#22hmovr3,#21hmovr4,#1fhmovdisp_buf+4,#21hmovdisp_buf+5,#20hacallmov_to_dispmova,#75adda,time_20mscjnea,time_20ms,$movwdt,#0clear_wdtmova,#75adda,time_20mscjnea,time_20ms,$retend2、數(shù)據(jù)轉(zhuǎn)換子模塊(randdataa51);2namerand_dataextrnidat
34、a(rec_buf)publicascii_bcdprogSEGMENTCODEbyte_buffsegmentdatabyte_buffIsegmentidatarand_data.a51;定義代碼段;定義字節(jié)數(shù)據(jù)段1;定義字節(jié)數(shù)據(jù)段2bit_buffsegmentdatabitaddressable;定義位尋址區(qū)字節(jié)數(shù)據(jù)段rsegprogusing0ASCII_BCD:movb,#8mulabadda,#5movr0,#rec_bufadda,r0movb,amovr0,aacallascii4_bcd3mova,badda,#7movr0,aacallascii_binmovr6,amo
35、va,r5jzasc_oKmova,dplcplaclrcincamovdpl,amova,dphcplaaddca,#0movdph,ajnzasc_basc_0:mova,dpldecajnzasc_bmovr1,#0fhmovr2,#0fhmovr3,#0fhmovr4,#0fhmova,#0fhajmpasc_outasc_b:movr1,dplmovr2,dphacallbin_bcdmova,badda,#7movr0,aacallascii_binmovr6,aacallbcd2_bcd1mova,r4;計(jì)算該通道數(shù)據(jù)偏移首地址;還原小數(shù)位數(shù);小數(shù)位數(shù)暫存在R6中;為負(fù)數(shù)處理;還
36、原小數(shù)位數(shù);小數(shù)位數(shù)暫存r6decajnzasc_100;數(shù)據(jù)小于-199.9時(shí)顯示-199.9movr4,#23hajmpasc_swasc_100:movr4,#23hmovr3,#9movr2,#19hmovr1,#9ajmpasc_sw_1asc_ok:acallbcd2_bcd1;正常數(shù)據(jù)處理程序asc_sw:mova,r4;清除有效位前面的0jnzasc_sw_1movr4,#1chmova,r3jnzasc_sw_1movr3,#1chasc_sw_1:clraasc_out:ret;每字節(jié)兩位BCD碼轉(zhuǎn)換為每字節(jié)一位BCD碼子程序;入口:r3=個(gè)位及十位BCD碼,r4=百位及千
37、位BCD碼,r6=小數(shù)位數(shù);出口:r1=個(gè)位BCD碼,r2=十位BCD碼,r3=百位BCD碼,r4=千位BCD碼bcd2_bcd1:mova,r3;個(gè)位及十位BCD數(shù)處理anla,#0fhmovr1,amova,r3anla,#0f0hswapamovr2,amova,r4;百位及千位BCD數(shù)處理anla,#0fhmovr3,amova,r4anla,#0f0hswapamovr4,amova,r6;加入小數(shù)點(diǎn)信息jzbcd2_outadda,#ar1movr0,amova,r0adda,#10hmovr0,abcd2_out:ret;ASCii4_BCD3轉(zhuǎn)換子程序;入口:r0=四字節(jié)ASC
38、II碼首地址;出口:r5,r4,r3從高至低依次存放BCD碼(r3,r4各存2位,r5存1位)ascii4_bcd3:acallascii4_bin2movdpl,r1movdph,r2acallbin_bcdret;BIN_BCD轉(zhuǎn)換子程序;入口:r1=BIN低字節(jié),r2=BIN高字節(jié)共2字節(jié);出口:r3=低2位BCD碼,r4=高2位BCD碼,r5=可能的最高位BCD碼bin_bcd:PUSHACCPUSHPSWmovr3,#0;BCD單元清0movr4,#0movr5,#0movr6,#16;設(shè)置二進(jìn)制數(shù)位數(shù)clrcbin_0:mova,r1rlcamovr1,amova,r2rlcamo
39、vr2,amovr0,#ar3movr7,#3;設(shè)置BCD字節(jié)數(shù)bin_1:mova,r0addca,r0daamovr0,aincr0djnzr7,bin_1djnzr6,bin_0POPPSWPOPACCret;ASCII4_BIN2轉(zhuǎn)換子程序;入口:RO=ASCII碼首地址(共四字節(jié)ASCII碼);出口:rl=BIN碼低字節(jié),R2=BIN碼高字節(jié)ascii4_bin2:PUSHACCacallascii_binanla,#0fhswapamovr1,aincr0acallascii_binanla,#0fhorlar1,aincr0acallascii_binanla,#0fhswapa
40、movr2,aincr0acallascii_binanla,#0fhorlar2,aPOPACCret;ASCII_BIN轉(zhuǎn)換子程序;入口:R0=ASCII地址;出口:A=BIN碼ascii_bin:mova,r0clrcsubba,#3ahjncascii_0adda,#7ascii_0:adda,#3retend3、顯示、軟件看門狗及20ms定時(shí)器子模塊(rand_dispa51)3rand_disp.a51namerand_dispextrnnumber(TH0_H,TL0_L,wdt_time)PUBLICI_T0,disp_buf,disp_wc,time_20ms,wdtprog
41、SEGMENTCODE;定義代碼段BYTE_BUFFsegmentdata;定義字節(jié)數(shù)據(jù)段1byte_buffIsegmentidata;定義字節(jié)數(shù)據(jù)段2bit_buffsegmentdatabitaddressable;定義位數(shù)據(jù)段rsegbit_buffdisp_wc:ds1disp_c_1bitdisp_wc.0disp_c_2bitdisp_wc.1disp_c_3bitdisp_wc.2disp_c_4bitdisp_wc.3disp_s_cbitdisp_wc.4;個(gè)位閃爍標(biāo)志位1-閃爍;十位閃爍標(biāo)志位;百位閃爍標(biāo)志位;千位閃爍標(biāo)志位;閃爍控制位1-閃爍RSEGBYTE_BUFFw
42、dt:ds1time_s_c:ds1time_20ms:ds1DISP_C:ds11;顯示位disp_bufdatadisp_c+1;個(gè)位緩沖區(qū),此個(gè)位并非真正的個(gè)位,指最右一位,以下類推disp_2datadisp_c+2;十個(gè)位緩沖區(qū)disp_3datadisp_c+3;百位緩沖區(qū)disp_4datadisp_c+4;千位緩沖區(qū)disp_5datadisp_c+5;通道位緩沖區(qū)disp_6datadisp_c+6;地址位緩沖區(qū)disp_7datadisp_c+7;無(wú)disp_8datadisp_c+8;無(wú)disp_sdatadisp_c+9;閃爍計(jì)數(shù)器RSEGPROGusing0dsbeq
43、up3.4cr_notequp3.5cpequp3.6I_T0:pushaccpushar0pushdphpushdplpushpswmovth0,#th0_hmovtl0,#tl0_lmovdptr,#tabdjnzdisp_s,d_20cpldisp_s_cd_20:INCDISP_CMOVR0,DISP_CCJNER0,#1,DISP2;r0=1顯示個(gè)位movc,disp_c_1movA,disp_bufmovp1,#0FFHmovp0,#0fehajmpd_10DISP2:CJNER0,#2,DISP3;顯示十位setbp0.0movc,disp_c_2movA,disp_2movp1
44、,#0FFHmovp0,#0fdhajmpd_10DISP3:CJNER0,#3,DISP4movc,disp_c_3movA,disp_3movp1,#0FFHmovp0,#0fbhajmpd_10DISP4:CJNER0,#4,DISP5movc,disp_c_4movA,disp_4movp1,#0FFHmovp0,#0f7hajmpd_10DISP5:CJNER0,#5,DISP6movA,disp_5movp1,#0FFHmovp0,#0efhajmpd_10DISP6:CJNER0,#6,DISP7movA,disp_6movp1,#0FFHmovp0,#0dfhajmpd_10D
45、ISP7:CJNER0,#7,DISP8movA,disp_7movp1,#0FFHmovp0,#0bfhajmpd_10DISP8:CJNER0,#8,d_10movA,disp_8movp1,#0FFHmovp0,#7fhd_10:acalldisp_wmovr0,disp_ccjner0,#10,d_12;顯示百位;顯示千位;顯示通道號(hào);顯示儀表地址;無(wú);無(wú);若disp_c=10則清disp_cmovdisp_c,#0inctime_s_c;MS,S計(jì)數(shù)處理程序mova,time_s_ccjnea,#2,d_12movtime_s_c,#0inctime_20msincwdt;軟看門狗處
46、理程序mova,wdtcjnea,#wdt_time,d_12movwdt,#0mova,#0pushaccpushaccretid_12:poppswpopdplpopdphpopar0popaccRETIdisp_w:jncd_0jnbdisp_s_c,d_0movp1,#0FFHajmpd_1d_0:movca,a+dptrcplamovp1,aD_1:retTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0123456789db77H,7CH,39H,5EH,79H,71H;ABCDEFDB0BFH,86H,0DBH,0CFH,0E6H,0E
47、DH,0FDH,87H,0FFH,0EFH;.8.9.db40H,80H,00H,37h,5ch,1ch,58h,74h,0dch,46h;-.空noucha-1;1a1b1c1d1e1f20212223END4、命令發(fā)送及接收控制子模塊(randsend.a51)4rand_send.a51namesend_orderextrnidata(rec_buf);rec_buff接收緩沖區(qū)extrndata(time_20ms)extrnbit(ri_f);ri_fPUBLICsend_orderprogSEGMENTCODEbyte_buffsegmentdatabyte_buffIsegmen
48、tidata正在接收標(biāo)志;定義代碼段;定義字節(jié)數(shù)據(jù)段1;定義字節(jié)數(shù)據(jù)段2bit_buffsegmentdatabitaddressable;定義位數(shù)據(jù)段rsegbyte_buffsend_n:ds1order_buf:ds10rsegprogdd_cequ4;等待回應(yīng)20m數(shù)cw_nequ7;設(shè)置允許錯(cuò)誤次數(shù)using0;清命令緩沖區(qū)send_order:movdpl,#8movr0,#order_bufsend_0:movr0,#0incr0djnzdpl,send_0MOVDPL,#72;清接收緩沖區(qū)MOVR0,#REC_BUFSEND_A:MOVR0,#0INCR0DJNZDPL,SEN
49、D_A;發(fā)送命令控制程序movsend_n,#cw_n;設(shè)置允許錯(cuò)誤次數(shù)movb,#10clrcsubba,bmovb,#8mulabmovdptr,#a_ordermovr0,#order_buf-1movr1,#10start_mov:incr0pushaccmovca,a+dptrmovr0,aincdptrpopacccjner0,#0dh,start_mov;發(fā)送命令子程序send_start:setbp3.2;切換75176至發(fā)送狀態(tài)movr0,#order_buf-1send_10:incr0movsbuf,r0jnbti,$;等待一幀數(shù)據(jù)發(fā)完CLRTIcjner0,#0dh,s
50、end_10;檢測(cè)到結(jié)束標(biāo)志退出;檢測(cè)接收標(biāo)志movr0,#30;延時(shí)60uS等待停止位發(fā)送完畢djnzr0,$setbesclrp3.2;切換75176至接收狀態(tài)mova,#dd_c;延時(shí)檢測(cè)儀表有無(wú)回應(yīng)adda,time_20mssend_21:jbri_f,send_20cjnea,time_20ms,send_21mova,#Najmpsend_23;檢測(cè)接收是否正確send_20:mova,#10;延時(shí)200MS等待接收結(jié)束adda,time_20mssend_28:jnbri_f,send_29cjnea,time_20ms,send_28clrri_f;200MS仍未結(jié)束清接收中
51、標(biāo)志send_29:movr0,#rec_buf+4cjner0,#*,send_22mova,#*send_23:djnzsend_n,send_start;達(dá)到允許錯(cuò)誤次數(shù)退出ajmpsend_outsend_22:movr0,#rec_buf+71cjner0,#0dh,send_23;接收緩沖區(qū)第72字節(jié)不為回車符轉(zhuǎn)出錯(cuò)處理;還原校驗(yàn)碼movr0,#rec_buf+70mova,r0clrcsubba,#3ahjncSEND_25adda,#7send_25:adda,#3movr0,adecr0mova,r0clrcsubba,#3ahjncSEND_26adda,#7send_26
52、:ADDA,#3swapaincr0 xchda,r0decr0 xcha,r0incr0movr0,#0dh;檢驗(yàn)碼后加回車符;檢驗(yàn)接收緩沖區(qū)數(shù)據(jù)movr0,#rec_buf+1mova,r0incr0send_24:xrla,r0incr0cjner0,#0dh,send_24cjnea,#0,send_200;接收校驗(yàn)未通過轉(zhuǎn)出錯(cuò)處理send_out:clresretsend_200:mova,#1ajmpsend_23a_order:db0ARD67,0DHb_order:db0BRD64,0DHc_order:db0CRD65,0DHd_order:db0DRD62,0DHe_ord
53、er:db0ERD63,0DHf_order:db0FRD60,0DHEND;讀A表全部動(dòng)態(tài)數(shù)據(jù)命令;讀B表全部動(dòng)態(tài)數(shù)據(jù)命令;讀c表全部動(dòng)態(tài)數(shù)據(jù)命令;讀d表全部動(dòng)態(tài)數(shù)據(jù)命令;讀e表全部動(dòng)態(tài)數(shù)據(jù)命令;讀f表全部動(dòng)態(tài)數(shù)據(jù)命令5、串行接收子模塊(randrec.a51)5rand_rec.a51namerec_siextrnbit(ri_f)publicrec_si,rec_bufprogSEGMENTCODEbyte_buffsegmentdatabyte_buffIsegmentidata;定義代碼段;定義字節(jié)數(shù)據(jù)段1;定義字節(jié)數(shù)據(jù)段2;接收區(qū)指針;接收緩沖區(qū)溢出計(jì)數(shù)器;為發(fā)送中斷跳出bit_b
54、uffsegmentdatabitaddressable;定義位數(shù)據(jù)段rsegbyte_buffrec_buf_z:ds1rec_err:ds1rsegbyte_buffirec_buf:ds75rsegprogusing0rec_si:PUSHPSWpushar0pushaccJNBRI,REC_OUTclrrijbri_f,rec_0mova,sbufcjnea,#,rec_out;無(wú)效命令過濾處理setbri_f;置接收中標(biāo)志movrec_buf_z,#rec_buf;接收緩沖區(qū)首地址給接收指針movrec_err,#73;設(shè)置最大接收字節(jié)數(shù)ajmprec_1rec_0:mova,sbu
55、fcjnea,#0dh,rec_1clrri_frec_1:movr0,rec_buf_zmovr0,aincrec_buf_zdjnzrec_err,rec_out;接收溢出清接收標(biāo)志clrri_frec_out:popaccpopar0POPPSWretiend6、巡回/定點(diǎn)轉(zhuǎn)換檢測(cè)子模塊(rand_keya51);6rand_key.a51namekeyEXTRNCODE(START)extrnbit(key_work,key_f)EXTRNDATA(DISP_buf,disp_wc,time_20ms,wdt)PUBLICKEYprogSEGMENTCODE;定義代碼段RSEGPROG
56、KEY:mova,#2adda,time_20mscjnea,time_20ms,$key_1:movwdt,#0orl96h,#0e1hjnbkey_f,key_1mova,#2adda,time_20mscjnea,time_20ms,$jnbkey_f,key_1clreaclrex1cplkey_workkey_out:movdptr,#startpushdplpushdphretiend7、rand_js.hex100026007582087823760008D582FA75824878406A10003600760008D582FA75220775F00AC395F07521100
57、04600F008A49000D07822790A08C0E093F6A3BD10005600D0E0B60DF5D2B278220886993099FDC2651000660099B60DF5781ED8FED2ACC2B27404252F0F10007600200907B52FFA744E0193740A252F30090B1000860005B52FFAC2097844B62A07742AD522C5BF1000960001C97887B60DF67886E6C3943A500224ED1000A600072403F618E6C3943A500224072403C42F1000B6000
58、8D618C608760D7841E6086608B60DFB201000C600B40003C2AC22740101934030415244365D1000D600370D403042524436340D403043524436981000E600350D403044524436320D403045524436880A00F600330D403046524436300D0110010000C0E0C000C083C082C0D0758CFC758A6B13100110009001CDD53902B2040530A830B8010CA2471001200000E5317590FF7580FE2
59、18CB8020ED280FB10013000A201E5327590FF7580FD218CB8030CA2F91001400002E5337590FF7580FB218CB8040CA2038710015000E5347590FF7580F7218CB8050AE53575931001600090FF7580EF218CB8060AE5367590FF75131001700080DF218CB8070AE5377590FF7580BF21B5100180008CB80808E5387590FF75807F31BEA830BF10019000B80A20753000052EE52EB40216752E00231001A000052F052DE52DB4640A752D007400C0E0FF1001B000C0E032D0D0D082D083D000D0E03250081E1001C0003004057590FF21CC93F4F590223F065B371001D0004F666D7D077F6F777C395E7971BF86DBF71001E000CFE6EDFD87FFEF408000375C1C5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度按摩技師個(gè)人工作室加盟合同范本3篇
- 2025年度環(huán)境工程特許經(jīng)營(yíng)權(quán)合同2篇
- 二零二五年度大數(shù)據(jù)分析技術(shù)服務(wù)協(xié)議3篇
- 二零二五年度化工產(chǎn)品安全生產(chǎn)事故案例分析合同3篇
- 二零二五年度商業(yè)機(jī)密保密協(xié)議2篇
- 二零二五年度企業(yè)通勤車雇傭司機(jī)管理服務(wù)協(xié)議3篇
- 二零二五年度服裝店個(gè)體戶服裝產(chǎn)品外貿(mào)出口合同3篇
- 2025年度深圳市中心區(qū)精裝公寓出租合同3篇
- 礦山電工課程設(shè)計(jì)概述
- 括號(hào)匹配課程設(shè)計(jì)
- 專項(xiàng)債券培訓(xùn)課件
- CNAS-CL01-G001:2024檢測(cè)和校準(zhǔn)實(shí)驗(yàn)室能力認(rèn)可準(zhǔn)則的應(yīng)用要求
- 校園重點(diǎn)防火部位消防安全管理規(guī)定(3篇)
- 臨時(shí)施工圍擋安全應(yīng)急預(yù)案
- ICP-網(wǎng)絡(luò)與信息安全保障措施-1.信息安全管理組織機(jī)構(gòu)設(shè)置及工作職責(zé)
- 碼頭安全生產(chǎn)管理制度
- 部隊(duì)冬季常見病的防治
- DB51-T 2944-2022 四川省社會(huì)組織建設(shè)治理規(guī)范
- 4《古詩(shī)三首》(說(shuō)課稿)2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 醫(yī)院改擴(kuò)建工程可行性研究報(bào)告(論證后)
- 市政給水管道工程監(jiān)理細(xì)則
評(píng)論
0/150
提交評(píng)論