




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、STC_EEPROM延長(zhǎng)使用壽命的大數(shù)據(jù)記錄C程序在我們?nèi)A清士科技公司的產(chǎn)品研發(fā)中,使用很多遠(yuǎn)程傳感器的記錄方案,在單片機(jī)編程的時(shí)候,覺(jué)得以下程序切實(shí)提高了STC單片機(jī)的EEPROM使用靈活性和壽命。特此分享出來(lái),期待可以拋磚引玉。原理是這樣的:STC-eeprom一個(gè)字節(jié)的寫(xiě)入,只能將1的狀態(tài) 寫(xiě)成 0。這樣一個(gè)字節(jié)就可以被寫(xiě)8次,記錄8個(gè)狀態(tài)(分別是0xFE 0XFB 0XF8 0XE0 0XB0 0X80 0X00)。當(dāng)然其實(shí)還有一個(gè)狀態(tài)是0XFF,這是扇區(qū)被整個(gè)擦寫(xiě)后的狀態(tài)。我們就每記錄一個(gè)數(shù)據(jù),就在檢索區(qū)加寫(xiě)1/8個(gè)字節(jié),作為記錄次數(shù)標(biāo)識(shí)。這樣一組數(shù)據(jù)(示例之中為6個(gè)字節(jié))所占用的空
2、間實(shí)際上是 6+1/8字節(jié)。以此我們可以根據(jù)STC單片機(jī)型號(hào)的不同,將策劃好的扇區(qū)數(shù)填入程序函數(shù)里面,每一次加電重啟,都有一個(gè)程序來(lái)讀取檢索區(qū)的記憶次數(shù),順便,記錄區(qū)的地址,都會(huì)有了。(EEPROM_start0-EEPROM_start1 作為次數(shù)記錄區(qū),總共記錄EEPROM_mu_MAX組數(shù)據(jù)。)(x_ready_ok,x_ready_out,x_eeprom_need為該示例eeprom的標(biāo)志)這個(gè)程序我們已經(jīng)上機(jī)演示調(diào)試成功。類(lèi)似的應(yīng)用也在華清士公司的幾種除濕模塊產(chǎn)品上得到廣泛使用。效果良好。寫(xiě)此文是希望為我們鐘愛(ài)的STC單片機(jī)開(kāi)發(fā)做一些支持。希望也得到廣大工程師的交流溝通,共同提高。
3、下面是該C語(yǔ)言的程序。應(yīng)該在STC公司的 IAP型號(hào)上面都可以調(diào)試成功。當(dāng)然在別的型號(hào)上面,比如STC12F04XE等上面,程序之中的起始扇區(qū)當(dāng)然是1了,因?yàn)閑eprom記錄地址是從0x00(第一個(gè)扇區(qū))開(kāi)始的。20170504_STC_EEPROM連續(xù)存儲(chǔ)示例.c/-/ 程序開(kāi)始 宏定義 硬件接口定義/- #include "STC15F2K60S2.h"#include "intrins.h"/#include "absacc.h"/#include "math.h" #define _Nop() _nop_(
4、)/STC15W413AS -TSSOP20 單片機(jī)封裝/該程序?yàn)檠菔境绦?0170508 演示EEPROM 13k 空間的自動(dòng)分配 以及 多次記錄數(shù)據(jù)檢索/原始目的:利用STC-eeprom讀寫(xiě)規(guī)則,盡量減少擦寫(xiě)次數(shù),以延長(zhǎng)EEPROM使用壽命。/策劃好串口命令后,可以連續(xù)讀出24小時(shí)記錄的傳感器數(shù)據(jù)等等功能。/深圳市華清士科技發(fā)展有限公司研發(fā)部 DONGsq /sfr P1 = 0x90; /1111,1111 端口1sbit T_W3D = P10 ;/ = P10;sbit T_W6D = P11 ;/ = P11;sbit T_W9D = P12 ;/ = P12;sbit T_K0
5、 = P13 ;/ = P13;sbit T_K1 = P14 ;/ = P14;網(wǎng)絡(luò)正常指示sbit T_K2 = P15 ;/ = P15;低電平有效 sbit T_K3 = P16 ;/ = P16;輸入測(cè)試1sbit T_K4 = P17 ;/ = P17;輸入測(cè)試2/sfr P3 = 0xB0; /1111,1111 端口3/sbit com_RXD = P30; /0xB0 /sbit com_TXD = P31; /0xB1 外接燒寫(xiě)口sbit IO_IN0 = P32;/ = P32; 懸空sbit BUZ = P33;/ = 蜂鳴器 高電平有效。sbit OUT1 = P34
6、;/ = 電機(jī)驅(qū)動(dòng) 低電平有效 sbit k485 = P35;/ = P35; 大電流開(kāi)啟/sbit TXD485 = P36; /0xB6 寫(xiě)入485的串口TXD/sbit RXD485 = P37; /0xB7 讀取485的串口RXD /sfr P5 = 0xC8; /xxxx,1111 端口5sbit IN1 = P54;/ = P54; sbit IN2 = P55; / = P55; /-/ 公用程序集合 公共變量 定義/-void beigin0_mu();/初始化void beigin1_mu();/引導(dǎo)程序void xx_EA0 ();/ 中斷關(guān)閉void xx_EA1 ()
7、;/ 中斷開(kāi)啟void UART_send_byte( unsigned char dat ); /send one byte void UART_out_ready (); /串口外發(fā)數(shù)據(jù)準(zhǔn)備函數(shù)1 void UART_get_mu();/接收到有效數(shù)據(jù)的處理unsigned char get_i;/unsigned char get_UART_mu11;bit x_ready_ok,x_ready_out,x_eeprom_need,x_WEIZHI_no_eeprom;unsigned char WEIZHI_bak_ok0,WEIZHI_ok0,DIZHI_mu0,WEIZHI_BAK
8、0,WEIZHI_sz1,WEIZHI_sz0;/unsigned char UART_mu11;unsigned char idata UART_mu12;unsigned char idata get_UART_mu12;unsigned int EEPROM_N_mu;bit x_dianji_time_delay,x_time_start;bit x_crc_ok,WEIZHI_ok02,WEIZHI_ok01;/unsigned char WEIZHIi_sz0, WEIZHI_T9,WEIZHI_T6,WEIZHI_T3;bit x_weizhi_BAK,x_weizhi_BAK_
9、ok,x_WEIZHI_get_ok,x_new_weizhi,x_WEIZHI_no;unsigned char WEIZHI_BAK0,WEIZHI_BAK1,weizhi_BAK2;/weizhi_BAK, bit x_dis;void xx_EA0 ()/; x_dis=0; if(EA)EA=0; x_dis=1; void xx_EA1 ()/; if(x_dis) EA=1; x_dis=0; /-/ 公用程序集合 公共變量 定義 結(jié)束/-/-/ EEPROM讀寫(xiě)程序集合 開(kāi)始/-/定義Flash 操作等待時(shí)間及允許IAP/ISP/EEPROM 操作的常數(shù)/#define ENA
10、BLE_ISP 0x80 /系統(tǒng)工作時(shí)鐘<30MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#define ENABLE_ISP 0x81 /系統(tǒng)工作時(shí)鐘<24MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#define ENABLE_ISP 0x82 /系統(tǒng)工作時(shí)鐘<20MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值#define ENABLE_ISP 0x83 /系統(tǒng)工作時(shí)鐘<12MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#define ENABLE_ISP 0x84 /系統(tǒng)工作時(shí)鐘<6MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#de
11、fine ENABLE_ISP 0x85 /系統(tǒng)工作時(shí)鐘<3MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#define ENABLE_ISP 0x86 /系統(tǒng)工作時(shí)鐘<2MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#define ENABLE_ISP 0x87 /系統(tǒng)工作時(shí)鐘<1MHz 時(shí),對(duì)IAP_CONTR 寄存器設(shè)置此值/#define DEBUG_DATA 0x5A /本測(cè)試程序最終存儲(chǔ)在 EEPROM 單元的數(shù)值/#define DATA_FLASH_START_ADDRESS 0x00 /STC5Axx 系列 EEPROM 測(cè)試起始地址 union u
12、nion_temp16 unsigned int un_temp16; unsigned char un_temp82;my_unTemp16; /聯(lián)合類(lèi)型數(shù)據(jù)聲明unsigned char EEPROM_Byte_Read(unsigned int add); /讀一字節(jié),調(diào)用前需打開(kāi)IAP 功能void EEPROM_Byte_Program(unsigned int add, unsigned char ch); /字節(jié)編程,調(diào)用前需打開(kāi)IAP 功能void EEPROM_Sector_Erase(unsigned int add); /擦除扇區(qū)void EEPROM_IAP_Disab
13、le(); /關(guān)閉IAP 功能 /-/讀一字節(jié),調(diào)用前需打開(kāi)IAP 功能,入口:DPTR = 字節(jié)地址,返回:A = 讀出字節(jié) unsigned char EEPROM_Byte_Read(unsigned int add) IAP_DATA = 0x00; IAP_CONTR = ENABLE_ISP; /打開(kāi)IAP 功能, 設(shè)置Flash 操作等待時(shí)間 IAP_CMD = 0x01; /IAP/ISP/EEPROM 字節(jié)讀命令 my_unTemp16.un_temp16 = add; IAP_ADDRH = my_unTemp16.un_temp80; /設(shè)置目標(biāo)單元地址的高8 位地址 I
14、AP_ADDRL = my_unTemp16.un_temp81; /設(shè)置目標(biāo)單元地址的低8 位地址 xx_EA0 ();/ IAP_TRIG = 0x5A; /先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此 IAP_TRIG = 0xA5; /送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動(dòng) / _nop_(); xx_EA1 ();/ EEPROM_IAP_Disable(); /關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), /一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān) return (IAP_DATA);/字節(jié)編程,
15、調(diào)用前需打開(kāi)IAP 功能,入口:DPTR = 字節(jié)地址, A= 須編程字節(jié)的數(shù)據(jù) void EEPROM_Byte_Program(unsigned int add, unsigned char ch) IAP_CONTR = ENABLE_ISP; /打開(kāi) IAP 功能, 設(shè)置Flash 操作等待時(shí)間 IAP_CMD = 0x02; /IAP/ISP/EEPROM 字節(jié)編程命令 my_unTemp16.un_temp16 = add; IAP_ADDRH = my_unTemp16.un_temp80; /設(shè)置目標(biāo)單元地址的高8 位地址 IAP_ADDRL = my_unTemp16.un_
16、temp81; /設(shè)置目標(biāo)單元地址的低8 位地址 IAP_DATA = ch; /要編程的數(shù)據(jù)先送進(jìn)IAP_DATA 寄存器 xx_EA0 ();/ IAP_TRIG = 0x5A; /先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此 IAP_TRIG = 0xA5; /送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動(dòng) xx_EA1 ();/ EEPROM_IAP_Disable(); /關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), /一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)/擦除扇區(qū), 入口:DPTR = 扇區(qū)地址voi
17、d EEPROM_Sector_Erase(unsigned int add) IAP_CONTR = ENABLE_ISP; /打開(kāi)IAP 功能, 設(shè)置Flash 操作等待時(shí)間 IAP_CMD = 0x03; /IAP/ISP/EEPROM 扇區(qū)擦除命令 my_unTemp16.un_temp16 = add; IAP_ADDRH = my_unTemp16.un_temp80; /設(shè)置目標(biāo)單元地址的高8 位地址 IAP_ADDRL = my_unTemp16.un_temp81; /設(shè)置目標(biāo)單元地址的低8 位地址 xx_EA0 ();/ IAP_TRIG = 0x5A; /先送 5Ah,再
18、送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此 IAP_TRIG = 0xA5; /送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動(dòng) _nop_(); xx_EA1 ();/ EEPROM_IAP_Disable(); /關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), /一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)void EEPROM_IAP_Disable() /關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài), /一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān) xx_EA0 ();/ IAP_CON
19、TR = 0; /關(guān)閉IAP 功能 IAP_CMD = 0; /清命令寄存器,使命令寄存器無(wú)命令,此句可不用 IAP_TRIG = 0; /清命令觸發(fā)寄存器,使命令觸發(fā)寄存器無(wú)觸發(fā),此句可不用 IAP_ADDRH = 0; IAP_ADDRL = 0; xx_EA1 ();/-/ EEPROM讀寫(xiě)程序集合 結(jié)束/-/-/ EEPROM多寫(xiě)少擦除 讀寫(xiě)程序集合 START/- / /*unsigned int EEPROM_start0,EEPROM_start1,EEPROM_end ,EEPROM_mu_MAX,EEPROM_mu0; /eeprom記錄開(kāi)始地址、數(shù)據(jù)組開(kāi)始記錄地址、最后的地
20、址、數(shù)組數(shù)量/8./EEPROM_N_mu = read_N_eeprom(8,26,5); unsigned int EEPROM_read_N(unsigned char sanye1,unsigned char sanye2,unsigned char shuju_mu)/ ; 讀取累計(jì)記錄次數(shù) /;讀出設(shè)定值 (起始扇頁(yè)、終止扇頁(yè)/數(shù)據(jù)字節(jié)數(shù)) unsigned int chishu=0;/次數(shù)值unsigned int eeprom_add; / unsigned char eeprom_add_mu,i,EEPROM_bak,xx_EEPROM_bak;/取出的數(shù)據(jù)/eeprom_
21、add_mu=0xff;/ EEPROM_start0=(sanye1-1)*512;/起始地址 EEPROM_end=sanye2*512-8; /最終地址/最后一個(gè)扇區(qū)有7BIT個(gè)出廠編碼,是不可修改的。 EEPROM_bak= (sanye2-sanye1+1); /19 /總扇區(qū) 數(shù)量 xx_EEPROM_bak = EEPROM_bak/16 ; /為了計(jì)算中間值不超過(guò)0xffff而設(shè) EEPROM_mu_MAX= (EEPROM_bak%16)*512*8/(shuju_mu*8+1); for(i=0;i<xx_EEPROM_bak;i+) EEPROM_mu_MAX =
22、EEPROM_mu_MAX + 0xffff/(shuju_mu*8+1); /有效扇區(qū)存儲(chǔ)的 最大數(shù)組 數(shù)量 /記錄的最大有效數(shù)據(jù) if(EEPROM_mu_MAX%8)!=0) EEPROM_mu0=EEPROM_mu_MAX/8+1; else EEPROM_mu0=EEPROM_mu_MAX/8; /?m0為最大可以記錄的數(shù)組數(shù)量/8。0xee 238 EEPROM_start1=EEPROM_start0 + EEPROM_mu0;/數(shù)組開(kāi)始記錄的首地址 /EEPROM_start0-EEPROM_start1 作為次數(shù)記錄區(qū),總共記錄EEPROM_mu_MAX組數(shù)據(jù)。 /每組數(shù)據(jù)含
23、shuju_mu個(gè)字, eeprom_add = EEPROM_start0; eeprom_add_mu = EEPROM_Byte_Read(eeprom_add);while (eeprom_add_mu!=0xff) do eeprom_add_mu>>=1; chishu+; eeprom_add_mu|=0x80; while(eeprom_add_mu!=0xff); eeprom_add+;eeprom_add_mu = EEPROM_Byte_Read(eeprom_add);if(eeprom_add_mu=0xff)|(eeprom_add>=EEPRO
24、M_start1)break; /得出記錄次數(shù) / if(chishu=0) if (chishu>=EEPROM_mu_MAX) chishu=0; for(i=sanye1;i<(sanye2+1);i+) EEPROM_Sector_Erase(i); return chishu;/ */ /- unsigned char EEPROM_mu;void EEPROM_read_1 (unsigned int cishu_mu,unsigned char shuzu_mu)/;讀取對(duì)應(yīng)次數(shù)下面的數(shù)組 unsigned int eeprom_add; / unsigned cha
25、r i;/取出的數(shù)據(jù) eeprom_add_mu, eeprom_add = EEPROM_start1+(cishu_mu-1)*shuzu_mu; for(i=0;i<shuzu_mu;i+) EEPROM_mui = EEPROM_Byte_Read(eeprom_add); /存儲(chǔ)有效數(shù)組 eeprom_add +; /- /- bit x_eeprom_write_ok; void EEPROM_write_N_mus(unsigned int eeprom_chishu,unsigned char shuzu_mu) /;記錄次數(shù)+數(shù)組 unsigned char i; un
26、signed char code EEPROM_N0_mu8= 0X00,0XFE,0XFC,0XF8,0XF0,0XE0,0XC0,0X80; / 8 1 2 3 4 5 6 7 unsigned int eeprom_add; if(eeprom_chishu=0)|(eeprom_chishu>=EEPROM_mu_MAX)/自動(dòng)寫(xiě)扇區(qū)0xff for(i=(EEPROM_start0/512 );i<(EEPROM_end/512+1);i+)EEPROM_Sector_Erase(i*0x200); EEPROM_IAP_Disable(); eeprom_chishu=
27、1; i=eeprom_chishu%8; /8 1 2 3 4 5 6 7 次=0 1234567 eeprom_add = EEPROM_start0 + (eeprom_chishu-1)/8 ; EEPROM_Byte_Program(eeprom_add, EEPROM_N0_mui); / eeprom_add= (eeprom_chishu-1)*shuzu_mu+EEPROM_start1);/開(kāi)始記錄數(shù)據(jù)的區(qū)域。 for(i=0;i<shuzu_mu;i+) EEPROM_Byte_Program(eeprom_add, EEPROM_mui);/具體儲(chǔ)存的數(shù)列 eep
28、rom_add+; EEPROM_IAP_Disable(); / xx_EA1 (); /-/ EEPROM多寫(xiě)少擦除 讀寫(xiě)程序集合 END/- /-/ 中斷讀寫(xiě)程序集合 開(kāi)始/-void UartInit(void)/19200bps11.0592MHzIP=0X10; /將串口中斷優(yōu)先級(jí)置于最高。 /AUXR |= 0xe7;/testSCON = 0x50;/8位數(shù)據(jù),可變波特率AUXR |= 0x01;/串口1選擇定時(shí)器2為波特率發(fā)生器AUXR |= 0x04;/定時(shí)器2時(shí)鐘為Fosc,即1TT2L = 0x70;/設(shè)定定時(shí)初值T2H = 0xFF;/設(shè)定定時(shí)初值A(chǔ)UXR |= 0x
29、10;/啟動(dòng)定時(shí)器2 / /IE2=0X04;/容許定時(shí)器2的中斷。ES=1;EA=1;void UART_change_com(unsigned char xx_con1)/STC15W413 20170331核準(zhǔn)使用 switch (xx_con1) case 0x00: AUXR1 &= 0X3F; CLK_DIV&=0Xef; break; /串口1選擇P30P31case 0x01: AUXR1 &= 0X7F;AUXR1 |= 0x40; CLK_DIV&=0Xef; break; /串口1選擇P36 P37case 0x02: AUXR1 &
30、;= 0XBF;AUXR1 |= 0x80; CLK_DIV&=0Xef; break; /串口1選擇P16 P17 case 0x10: AUXR1 &= 0X3F; CLK_DIV|=0X10; /CLK_DIV&=0Xef; break; /串口1選擇P30P31/串口中繼方式工作 case 0x11: AUXR1 &= 0X7F;AUXR1 |= 0x40; CLK_DIV|=0X10; break; /串口1選擇P36 P37 /串口中繼方式工作case 0x12: AUXR1 &= 0XBF;AUXR1 |= 0x80; CLK_DIV|=0
31、X10; default: AUXR1 &= 0X3F;break; /發(fā)送一個(gè)字節(jié)函數(shù)/void UART_send_byte( unsigned char dat ) /send one byte / k485 = 1;/485為發(fā)送 /Delayus( 30 ); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SBUF = dat; while ( !TI ) ; /等待發(fā)送結(jié)束_Nop(); TI = 0; /發(fā)送完畢后標(biāo)志位清零 / k485 = 0;/485為接收/*/發(fā)送一串字節(jié) 函數(shù)/ void UART_send_by
32、tes( unsigned char mun ) /send same bytes 字節(jié)數(shù) unsigned char i,dat; if(x_ready_out) k485 = 1;/485為發(fā)送 /Delayus( 30 ); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); for(i=0;i<mun;i+) _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); dat=UART_mui;/從發(fā)送緩沖中取數(shù)據(jù) UART_send_byte(dat); k485 = 0;/485為接收 x_rea
33、dy_out=0; x_ready_ok=0; /-/定時(shí)器 0 。 定時(shí)器2,作為串口的定時(shí)器使用。 定時(shí)器1不能使用!void Timer0Init(void)/5毫秒11.0592MHzAUXR |= 0x80;/定時(shí)器時(shí)鐘1T模式TMOD = 0xf3;/0x33;/ 0xF0;/設(shè)置定時(shí)器模式TL0 = 0x00;/設(shè)置定時(shí)初值 TH0 = 0x28;/設(shè)置定時(shí)初值 TF0 = 0;/清除TF0標(biāo)志TR0 = 1;/定時(shí)器0開(kāi)始計(jì)時(shí)ET0 = 1; unsigned int t0_bibi ; /定時(shí)器0計(jì)時(shí)bit contr1,contr2,contr3,contr4; /定時(shí)發(fā)送
34、標(biāo)志unsigned char dizhi_mu;void Timer0_Rountine(void) interrupt 1 using 2 t0_bibi+; /5毫秒 if(t0_bibi>=60000) t0_bibi=0; if(t0_bibi%100=97) BUZ=!BUZ; /0.5秒翻轉(zhuǎn) if(t0_bibi%1000=998) contr1=1; if(t0_bibi%1000=999)&&(contr1) /5秒記錄一次 x_eeprom_need=1; contr1=0; /TR0=1; / ET0=1; /-/ 中斷指針 程序集合 結(jié)束/- /-
35、/ 串口數(shù)據(jù)操作函數(shù)集合/- / / */ void beigin0_mu()/初始化 /初始化 P1M0=0x00; /設(shè)/P10/P11/P12/P13/P14 P16/P17 為高阻方式,/ 0010 0000 P1M1=0xFF; / 1111 1111 P5M0=0x00; /設(shè)/P10/P11/P12/P13/P14 P16/P17 為高阻方式,/ 0010 0000 P5M1=0xFF; Timer0Init(); UartInit();/19200bps11.0592MHz UART_change_com(0x00);/=1串口1選擇P37 P36 ; =0 P31 P30 =0x10 串口1+中繼方式工作 EA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 長(zhǎng)租房委托協(xié)議
- 2025年度按揭購(gòu)車(chē)信用保險(xiǎn)合作協(xié)議范本
- 物流行業(yè)智能調(diào)度與配送優(yōu)化方案
- 品牌推廣策略實(shí)施指南
- 生態(tài)旅游開(kāi)發(fā)居間合同
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第4章 病因
- 家庭醫(yī)生育兒指南
- 三農(nóng)村社區(qū)建設(shè)方案推廣手冊(cè)
- 項(xiàng)目可行性研究包括
- 污水處理廠建設(shè)項(xiàng)目
- 2025年合肥幼兒師范高等專(zhuān)科學(xué)校單招職業(yè)適應(yīng)性測(cè)試題庫(kù)新版
- 2025年浙江寧波交投公路營(yíng)運(yùn)管理限公司招聘12人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 勞務(wù)派遣勞務(wù)外包項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 第四單元 第三課 拍攝學(xué)校創(chuàng)意短視頻教學(xué)設(shè)計(jì) 2024-2025學(xué)年西交大版(2024)初中信息技術(shù)七年級(jí)上冊(cè)
- 2025年蘇州工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年尖葉菠菜種子項(xiàng)目可行性研究報(bào)告
- DB3306T 074-2025 餐用具消毒房管理規(guī)范
- 2025年重慶市初中學(xué)業(yè)水平暨高中招生考試數(shù)學(xué)試題預(yù)測(cè)卷(二)
- “記憶中的人、事兒”為副標(biāo)題(四川眉山原題+解題+范文+副標(biāo)題作文“追求”主題)-2025年中考語(yǔ)文一輪復(fù)習(xí)之寫(xiě)作
- 醫(yī)療器械進(jìn)院流程
- 2024年吉安職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
評(píng)論
0/150
提交評(píng)論