版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
#include<8051.h>#include<string.h>#include"vir_buzzer_cfg.h#include"vir_buzzer.h"#include"vir_key_cfg.h"#include"vir_key.h"#include"vir_lock_cfg.h"#include"vir_lock.h"#include"vir_memory_cfg.h"#include"vir_memory.h"#include"vir_show.h"#include"buzzer.h"#include"delay_cfg.h"#include"delay.h"#include"lock.h"/*#include"i2c.h"*/#include"delay_cfg.h"#include"delay.h"#include"led_display_cfg.h"#include"led_display.h"#include"I2C_cfg.h"staticvoid zyI2cBitSend(void>{if((ucData&0x80>>{__ZY_I2C_SDA=1。}else{__ZY_I2C_SDA=0。}__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=0。}unsignedchar__zyI2cBitReceive(void>{unsignedcharucRt。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。ucRt=__ZY_I2C_SDA。__ZY_I2C_SCL=0。returnucRt。}staticvoid__zyI2cStartSend(void>__ZY_I2C_DELAY(>。__ZY_I2C_SDA=0。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=0。}staticvoid__zyI2cStopSend(void>{__ZY_I2C_SDA=0。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。__ZY_I2C_SDA=1。}staticvoid__zyI2cRestartSend(void>{__ZY_I2C_SDA=1。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。__ZY_I2C_SDA=0。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=0。}staticvoid__zyI2cAckSend(void>{__ZY_I2C_SDA=0。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=0。}staticvoid__zyI2cNakSend(void>{__ZY_I2C_SDA=1。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=0。}staticchar__zyI2cIsAck(void>{__ZY_I2C_SDA=1。__ZY_I2C_DELAY(>。__ZY_I2C_SCL=1。__ZY_I2C_DELAY(>。if(__ZY_I2C_SDA==1>{__ZY_I2C_SCL=0。return0。}__ZY_I2C_SCL=0。return1。}staticvoid__zyI2cByteSend(unsignedcharucData>{unsignedchari。i=8。do{__zyI2cBitSend(ucData>。ucData=ucData<<1。}while(--i!=0>。}staticunsignedchar__zyI2cBitReceive(void>{unsignedcharucRt。unsignedchari。ucRt=0。__ZY_I2C_SDA=1。i=8。do{ucRt=(ucRt<<1>+__zyI2cBitReceive。}while(--i!=0>。returnucRt。}voidzyLedDisplayScan(void>{staticunsignedcharucIndex=0。 //定義掃描位置索引靜態(tài)變量/**關(guān)閉顯示*/__ZY_LED_DIG1_OFF(>。 //關(guān)閉數(shù)碼管__ZY_LED_DIG2_OFF(>。__ZY_LED_DIG3_OFF(>。__ZY_LED_DIG4_OFF(>。__ZY_LED_DIG5_OFF(>。__ZY_LED_DIG6_OFF(>。/**顯示ucIndex位:將待顯示數(shù)字字符的數(shù)值送到段選位控制I/O口
*/__ZY_LED_SEG(~GucZyLedDisplayShowBuf[ucIndex]>。switch(ucIndex>{case0:__ZY_LED_DIG1_ON(>。break。__ZY_LED_DIG2_ON(>。break。__ZY_LED_DIG3_ON(>。break。__ZY_LED_DIG4_ON(>。break。__ZY_LED_DIG5_ON(>。break。__ZY_LED_DIG6_ON(>。break。default:break。}/**準(zhǔn)備顯示下一位//點亮數(shù)碼管1////點亮數(shù)碼管1//點亮數(shù)碼管2//點亮數(shù)碼管3//點亮數(shù)碼管4//點亮數(shù)碼管5//點亮數(shù)碼管6if(ucIndex>=6>{ucIndex=0。}}charzyI2cInit(void>{__ZY_I2C_SCL=0。__zyI2cStopSend(>。return0。}unsignedcharzyI2cWrite(unsignedcharucAddr,unsignedintuiRegAddr,unsignedcharucRegAddrLen,unsignedchar*pucData,unsignedcharucDataLen>unsignedchari。if(ucDataLen==0||pucData==0>{return0。}i=ucDataLen。__zyI2cStartSend(>。__zyI2cByteSend(ucAddr&0xfe>。if(__zyI2IsAck(>>{while(ucRegAddrLen>0>{__zyI2cByteSend(uiRegAddr>。if(!__zyI2IsAck(>>{break。}ucRegAddrLen--。uiRegAddr=uiRegAddr>>8。}if(ucRegAddrLen==0>{do{__zyI2cByteSend(*pucData++>。if(!__zyI2IsAck>{break。}}while(--i!=0>。}}__zyI2cStopSend(>。return(ucDataLen-i>。}unsignedcharzyI2cRead(unsignedcharucAddr,unsignedintuiRegAddr,unsignedcharucRegAddrLen,unsignedchar*pucData,unsignedcharucDataLen>{unsignedchari。if(ucDataLen==0||pucData==0>{return0。}__zyI2cStartSend(>。__zyI2cByteSend(ucAddr&0xfe>。if(__zyI2cIsAck(>>{while(ucRegAddrLen>0>{__zyI2cByteSend(uiRegAddr>。if(!__zyI2cIsAck(>>{break。}ucRegAddrLen--。uiRegAddr=uiRegAddr>>8。}if(ucRegAddrLen==0>{__zyIc2RestartSend(>。__zyI2cByteSend(ucAddr|0x01>。if(__zyI2cIsAck(>>{i=ucDataLen-1。while(i--1=0>{*pucData++=__zyI2cByteReceive(>。__zyI2cAckSend(>。}*pucData=__zyI2cByteReceive(>。__zyI2cNakSend(>。}}}else{ucDataLen=0。}__zyI2cStopSend(>。returnucDataLen。}charzyLedDisplayInit(void>{return0。}voidzyLedDisplayScan(void>{staticunsignedcharucIndex=0。 //定義掃描位置索引靜態(tài)變量/**關(guān)閉顯示*/__ZY_LED_DIG1_OFF(>。 //關(guān)閉數(shù)碼管__ZY_LED_DIG2_OFF(>。__ZY_LED_DIG3_OFF(>。__ZY_LED_DIG4_OFF(>。__ZY_LED_DIG5_OFF(>。__ZY_LED_DIG6_OFF(>。/**顯示ucIndex位:將待顯示數(shù)字字符的數(shù)值送到段選位控制I/O口*/////點亮數(shù)碼管1//點亮數(shù)碼管2//點亮數(shù)碼管3//點亮數(shù)碼管4//點亮數(shù)碼管5//點亮數(shù)碼管6__ZY_LED_SEG(~GucZyLedDisplayShowBuf[ucIndex]>。switch(ucIndex>{case0:__ZY_LED_DIG1_ON(>。break。__ZY_LED_DIG2_ON(>。break。__ZY_LED_DIG3_ON(>。break。__ZY_LED_DIG4_ON(>。break。__ZY_LED_DIG5_ON(>。break。__ZY_LED_DIG6_ON(>。break。default:break。}/**準(zhǔn)備顯示下一位*/ucIndex++。if(ucIndex>=6>{ucIndex=0。}}/****延時驅(qū)動實現(xiàn)代碼***/**全局變量定義********************************************************************************/staticunsignedint _GuiSum。 //32位定時器高16位staticvolatileunsignedchar_GucTimerFlg。 //32位定時器溢出標(biāo)志**Description: 延時初始化********************************************************************************/chardelayInit(void>{TMOD=(TMOD&0xf0>|0x01。ET0=1。**Description: 延時初始化********************************************************************************/chardelayInit(void>{TMOD=(TMOD&0xf0>|0x01。ET0=1。return0。}****Description: 毫秒延時開始*/chardelayMsStart(unsignedintuiDly>。{unsignedlongulTmp1。unsignedintuiTmp2。/**獲得定時器初始值*/ulTmp1=DELAY_CYCLES(uiDly>。ulTmp1=-ulTmp1。/**設(shè)置定時器初始值//計算需要的機器周期數(shù)//加計數(shù),所以取負(fù)*/uiTmp2TL0TH0=ulTmp1%0x10000。=uiTmp2%256。=uiTmp2/256。//定時器低16位_GuiSum=ulTmp1/0x10000。_GueTimerFlg=0。TR0=1;return0;}//定時器高16位//清處溢出標(biāo)志//啟動定時器**Description:檢查延時是否結(jié)束********************************************************************************/chardelayMslsEnd(void>。{return_GueTimerFlg。}**Description: 毫秒延時********************************************************************************/chardelayMs(unsignedintuiDly>{/**開始延時*/if(delayMsStart(uiDly><0>{return-1。}/**等待延時結(jié)束*/while(!delayMslsEnd(>>{DELAY_HOOK(>。}return0。}**Description:TimeO中斷服務(wù)函數(shù)********************************************************************************/voidisrTimer0(void>_interrupt1{if(++_GuiSum==0>{_GuiTimerFlg=1。 //設(shè)置溢出標(biāo)志TR0=0。 //停止定時器}}**Description:鎖初始化********************************************************************************/charphyLockInit(void> //返回值:0成功;-1失敗{_ZY_PHY_LOCK_INIT(>。return0。}**Description: 關(guān)鎖********************************************************************************/charphyLockLock(void> //返回值:0成功;-1失敗{_ZY_PHY_LOCK_LOCK(>。return0。 }**Description: 開鎖********************************************************************************/charphyLockUnlock(void> //返回值:0成功;-1失敗{_ZY_PHY_LOCK_UNLOCK(>。return0。}charvirMemInit(void>{returnzyCat1024Init(>}unsignedcharvirMemRead(unsignedintuiAddr.char*pcData,unsignedcharucLen>{if(uiAddr>=_ZY_VIR_MEMORY_SIZE>{return0。}/***虛擬鍵盤驅(qū)動實現(xiàn)代碼***/charzyKeyGet(void>
charucRt。 //返回鍵值unsignedcharucKeySum。 //按鍵數(shù)目計數(shù)ucRt=-1。ucKeySum=0。/**將所有“列線”設(shè)置為輸入狀態(tài)*/_ZY_KEY_KC1_PIN=1。_ZY_KEY_KC2_PIN=1。_ZY_KEY_KC3_PIN=1。/**將所有“列線”設(shè)置為高電平*/_ZY_KEY_KR1_PIN=1。_ZY_KEY_KR2_PIN=1。_ZY_KEY_KR3_PIN=1。_ZY_KEY_KR4_PIN=1。/**掃描第一行*/_ZY_KEY_KR1_PIN=0。0if(_ZY_KEY_KC1_PIN==0>{明k1鍵已經(jīng)按下ucRt=0。鍵為0ucKeySum++。}if(_ZY_KEY_KC2_PIN==0>{說明k5按鍵已經(jīng)按下ucRt=1。值為1ucKeySum++。}if(_ZY_KEY_KC3_PIN==0>{說明k9按鍵已經(jīng)按下ucRt=2。值為2ucKeySum++。}_ZY_KEY_KR1_PIN=1。描完畢,將kr1恢復(fù)為1/*〃將KR1〃將KR1清//如果kc1為0,說//按//如果kc2為0,則//鍵//如果kc3為0,則//鍵//第一行掃}}*/_ZY_KEY_KR2_PIN=0。if(_ZY_KEY_KC1_PIN==0>{ucRt=3。ucKeySum++。}if(_ZY_KEY_KC2_PIN==0>{ucRt=4。ucKeySum++。}if(_ZY_KEY_KC3_PIN==0>{ucRt=5。ucKeySum++。}_ZY_KEY_KR2_PIN=1。/*掃描第三行*/_ZY_KEY_KR3_PIN=1。if(_ZY_KEY_KC1_PIN==0>{ucRt=6。ucKeySum++。}if(_ZY_KEY_KC2_PIN==0>{ucRt=7。ucKeySum++。}if(_ZY_KEY_KC3_PIN==0>{ucRt=8。ucKeySum++。}_ZY_KEY_KR3_PIN=1。/*掃描第四行*/_ZY_KEY_KR4_PIN=1。if(_ZY_KEY_KC1_PIN==0>{ucRt=9。ucKeySum++。}if(_ZY_KEY_KC2_PIN==0>{ucRt=10。ucKeySum++。}}if(_ZY_KEY_KC3_PIN==0>{ucRt=11。ucKeySum++。}_ZY_KEY_KR4_PIN=1。/**超過一個按鍵,返回-1*/if(ucKeySum!=1>{return-1。}returnucRt。 //返回鍵值}staticcodechar_GcKeyTable[]={ //按鍵轉(zhuǎn)換表‘#’,’0’,’*’,’9’,’8’,’7’,’6’,’5’,’4’,’3’,’2’,’1’,0}。**Description: 獲得按鍵的ASCII碼,沒有按鍵一直等待**Returnedvalue:鍵的ASCII碼*/staticchar_virKeyGet1(void>{charcTmp1,cTmp2。/**等待按鍵釋放*/while(1>{while(zyKeyGet(>>=0>{delayMs(10>。〃返回值:鍵的ASCI碼//無鍵閉合,退出//4.12}/**去抖*/delayMs(10>。if(zyKeyGet(><0>{break;}//兩次狀態(tài)一致,去抖成功/**等待按鍵閉合*/while(1>{while(1>{cTmp1=zyKeyGet(>if(cTmp1>=0>{break。 }delayMs(10>。}/**去抖*/delayMs(10>。cTmp2=zyKeyGet(>。if(cTmp2==cTmp1>{break。}}cTmp1=_GcKeyTable[cTmp1]。returncTmp1。}//獲得按鍵狀態(tài)//有按鍵閉合,退出//兩次按鍵狀態(tài)一樣,去抖成功〃鍵碼轉(zhuǎn)換成ASCII碼**Description: 在指定時間內(nèi)獲得按鍵的ASCII碼********************************************************************************/staticchar_virKeyGet2(unsignedintuiDly>〃uiDly:以毫秒為單位,設(shè)定最大等待時間,0為無窮等待{charcTmp1,cTmp2。unsignedcharI。//4.13delayMsStart(uiDly>。/**等待按鍵釋放*///無鍵閉合,退出////無鍵閉合,退出//代替延時while(zyKeyGet(>>=0>{zyLedDisplayScan(>。}}if(delayMslsEnd(>>{
return-1。}}/**去抖*/for(i=0。i<50。i++>{zyLedDisplayScan(>。if(delayMslsEnd(>>{return-1。}}if(zyKeyGet(><0>{break。}}/**等待按鍵閉合*/while(1>{while(1>{cTmp1=zyKeyGet(>if(cTmp1>=0>{break。}zyLedDisplayScan(>。if(delayMslsEnd(>>{return-1。}}/**去抖*/for(i=0。i<50。i++>{zyLedDisplayScan(>。if(delayMslsEnd(>>{return-1。}}cTmp2=zyKeyGet(>。if(cTmp2==cTmp1>{break。//超時則返回//代替延時//超時則返回//兩次狀態(tài)一致,去抖成功//獲得按鍵狀態(tài)//有按鍵閉合,退出//代替延時//超時則返回//代替延時//超時則返回//兩次按鍵狀態(tài)一樣,去抖成功}cTmp1=_GcKeyTable[cTmp1]。 〃鍵碼轉(zhuǎn)換成ASCII碼returncTmp1。}//4.14**Description: 虛擬鍵盤模塊初始化********************************************************************************/charvirKeyInit(void>{returnzyKeyInit(>}**Description: 獲得按鍵的ASCII碼********************************************************************************/charvirKeyGet(unsignedintuiDly> //uiDly:以毫秒為單位,設(shè)定最大等待時間,0為無窮等待{if(uiDly==0>{return_virKeyGet1(>。}return_virKeyGet2(uiDly>。}charphyBuzzerInit(void>{TMOD=(TMOD%0x0f>|0x10。TR1=0。TF1=0。ET1=1。PT1=1。return0。}charphyBuzzerTweet(unsignedintuiFreq>{unsignedintuiTimer1Load。if(uiFreq<20>{uiFreq=20。}if(uiFreq>20000>{uiFreq=20000。}uiTimer1Load =0x10000-(OSC/12>/(uiFreq*2>。__GucTimerHightLoad=uiTimer1Load/0x100。__GucTimerlowtLoad=uiTimer1Load%0x100。TR1=0。TH1=uiTimer1Load/0X100。TL1=uiTimer1Load%0X100。TR1=1。return0。}charphyBuzzerStop(void>{TR1 =0。TF1=0。__ZY_BUZZER_PIN=1。return0。}/****虛擬蜂鳴器驅(qū)動實現(xiàn)代碼******/**Description: 虛擬蜂鳴器初始化********************************************************************************/charvirBuzzerInit(void>{returnphyBuzzerInit(>。}**Description: 控制蜂鳴器鳴叫********************************************************************************/charvirBuzzerTweet(unsignedcharucMod>{switch(ucMod>{caseVIR_BUZZER_STOP。phyBuzzerStop(>。break。caseVIR_BUZZER_SHORT。phyBuzzerTweet(_ZY_BUZZER_HZ>。delayMs(100>。phyBuzzerStop(>。delayMs(100>。break。caseVIR_BUZZER_TWO_SHORT。phyBuzzerTweet(_ZY_BUZZER_HZ>。delayMs(100>。phyBuzzerStop(>。delayMs(100>。phyBuzzerTweet(_ZY_BUZZER_HZ>。delayMs(100>。phyBuzzerStop(>。delayMs(100>。break。caseVIR_BUZZER_LONG。phyBuzzerTweet(_ZY_BUZZER_HZ>。delayMs(500>。phyBuzzerStop(>。delayMs(100>。break。defaultbreak。}return0。}/****虛擬顯示器驅(qū)動實現(xiàn)代碼******/staticcodeunsignedchar__GucShowTable[][2]={ //顯示字庫{'0',0x3f},{'1',0x06},{'2',0x5b},{'3',0x4f},{'4',0x66},{'5',0x6d},{'6',0x7d},{'7',0x07},{'8',0x7f},{'9',0x6f},{'A',0x77},{'B',0x7c},{'C',0x39},{'D',0x5e},{'E',0x79},{'F',0x71},{'a',0x77},{'b',0x7c},{'c',0x39},{'d',0x5e},{'e',0x79},{'f',0x71},{'O',0x3f},{'R',0x50},{'P',0x73},{'N',0x37},{'-',0x40},{'o',0x3f},{'r',0x50},{'p',0x73},{'n',0x37},{'',0x00},{'\011',0x00},{0x00,0x00}}。**Description: 虛擬顯示器初始化*/charvirShowInit(void>{returnzyLedDisplayInit(>。 }**Description: 輸出字符串********************************************************************************/charvirShowPuts(char*pcStr>//將程序清單1.40拷貝在這里,僅需修改函數(shù)名{chari。unsignedcharj。if(pcStr==NULL>{return-1。}for(i=0。i<6。i++>{if(*pcStr==0>{GucZyLedDisplayShowBuf[i]=0。 //如果字符串中的字符為0,則將顯示緩沖區(qū)清0continue。 //提前結(jié)束本次循環(huán)}/**小數(shù)點單獨處理:在當(dāng)前位置顯示小數(shù)點*/if(*pcStr=='.'>{i--。GucZyLedDisplayShowBuf[i]=GucZyLedDisplayShowBuf[i]|0x80。}else{/**查找顯示字庫*/for(j=0。__GucShowTable用[0]!=0。j++>{if(*pcStr==(char>__GucShowTable[j][0]>{/**顯示字符:將待顯示字符的數(shù)值賦給顯示緩沖區(qū)*///終GucZyLedDisplayShowBuf[i]=__GucShowTable[j][1]//終break。止循環(huán),使流程跳出循環(huán)體}pcStr++。//指向字符串的下一個字符}return0。}**Description:清屏********************************************************************************/charvirShowClr(void> //將程序清單1.41拷貝在這里,僅需修改函數(shù)名即可{memset(GucZYLedDisplayShowBuf,0,6>。return0。}/***虛擬存儲器驅(qū)動實現(xiàn)代碼**********/charvirMemInit(void>{returnzyCat1024Init(>}unsignedcharvirMemRead(unsignedintuiAddr.char*pcData,unsignedcharucLen>{if(uiAddr>=_ZY_VIR_MEMORY_SIZE>{return0。}/**調(diào)整讀取數(shù)據(jù)數(shù)目*/if((uiAddr+ucLen>>=_ZY_VIR_MEMORY_SIZE>{ucLen=_ZY_VIR_MEMORY_SIZE-uiAddr。}returnzyCat1024Read(uiAddr,(unsignedchar*>pcData,ucLen>。}charvirMemWrite(unsignedintuiAddr,char*pcData,unsignedcharucLen>{if(uiAddr>=_ZY_VIR_MEMORY_SIZE>{return0。}/*
*/if((uiAddr+ucLen>>=_ZY_VIR_MEMORY_SIZE>{ucLen=_ZY_VIR_MEMORY_SIZEuiAddr。}returnzyCat1024Write(uiAddr,(uisignedchar*>pcData,ucLen>。}*全局變量定義//緩沖區(qū)////緩沖區(qū)//密碼staticchar _GePassword[7]。**Description: 打開保險箱*Returnedvalue:0——密碼輸入正確* 1——超時* -1——密碼輸入錯誤********************************************************************************/staticchar_hmiBoxOpen(void>{unsignedchari,j。charcTmp1。for(i=0。i<3。i++>{/**顯示初始畫面*/stcpy(_GeHmiBuf,” ”>。 //C標(biāo)準(zhǔn)庫函數(shù)virShowPuts(_GetHmiBuf>。/**輸入密碼*/j=0。while(1>{cTmp1=virKeyGet(15*1000>。if(cTmp1<0>{/**超時*/return1。
if(cTmp1==‘*’if(cTmp1==‘*’>{if(j>0>{j--。}_GeHmiBuf[j]=‘-’。}else{_GeHmiBuf[j]=cTmp1。j++。}if(cTmp1==‘#’>{break。}/**第7個字符必須為‘#’*/if(j==7&&cTmp1!=‘#’>{j--。_GeHmiBuf[6]=0。continue。}/**提示用戶字符輸入完成*/virShowPuts(_GeHmiBuf>。//‘*’為刪除鍵//保存輸入的字符//密碼輸入完畢virBuzzerTweet(VIR_BUZZER_SHORT>。}/**校驗密碼*/virMemRead(USER_PASSWORD_ADDR,_GePassword,7>。if(_GePassword[0]==(char>0xff>{//cat1024未保存密碼memcpy(_GePassword,“123456#”,7>。 //默認(rèn)密碼為“123456}if(memcmp(_GePassword,_GeHmiBuf,j>==0>{ //比較密碼/**開鎖*/virShowPuts(“OPEN”>。virBuzzerTweet(VIR_BUZZER_LOGN>。virLockUnlock(0>。return0。}/**密碼錯誤*/if(i<2>{virShowPuts(“error”>。virBuzzerTweet(VIR_BUZZER_TWO_SHORT>。delay
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版酒店物業(yè)維護(hù)人員聘用合同范本1份3篇
- 2024店面廣告投放合作協(xié)議3篇
- 二零二五年度5G基站建設(shè)與運營合同
- 2024年石粉物料供貨協(xié)議模板版B版
- 2024年水電設(shè)備租賃及運營維護(hù)服務(wù)合同3篇
- 2024年租賃合同:高端辦公設(shè)備租賃
- 2024年版企業(yè)派遣員工服務(wù)協(xié)議版B版
- 課題申報書:大數(shù)據(jù)背景下新時代博士生成長困境透視與支持體系構(gòu)建研究
- 課題申報書:從“鄉(xiāng)村運動”到“政府農(nóng)政”:國民政府全國經(jīng)濟委員會鄉(xiāng)村建設(shè)研究
- 2024招標(biāo)代理合同
- 掃描電子顯微鏡(SEM)-介紹-原理-結(jié)構(gòu)-應(yīng)用
- 北京市海淀區(qū)2024-2025學(xué)年七年級上學(xué)期期中考試英語試卷(含答案)
- 中資企業(yè)出海報告:潮涌浪闊四海揚帆
- 老舊小區(qū)改造室外消火栓工程施工方案和技術(shù)措施
- 《地質(zhì)災(zāi)害監(jiān)測技術(shù)規(guī)范》
- 2024-2030年中國云母制品制造市場發(fā)展?fàn)顩r及投資前景規(guī)劃研究報告
- 2025年上半年內(nèi)蒙古鄂爾多斯伊金霍洛監(jiān)獄招聘17名(第三批)易考易錯模擬試題(共500題)試卷后附參考答案
- 24秋國家開放大學(xué)《農(nóng)產(chǎn)品質(zhì)量管理》形考任務(wù)1-2+形考實習(xí)1-3參考答案
- 2024-2025學(xué)年人教版八年級上冊地理期末測試卷(二)(含答案)
- 80、沈陽桃仙機場二平滑工程冬期施工方案
- 《STM32Cube嵌入式系統(tǒng)應(yīng)用》HAL庫版本習(xí)題及答案
評論
0/150
提交評論