版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.1MCS-51機(jī)間通信的C語言編程3.2鍵盤和數(shù)碼顯示人機(jī)交互的C語言編程三C51應(yīng)用編程設(shè)計(jì)3.1MCS-51機(jī)間通信的C語言編程3.1.1點(diǎn)對(duì)點(diǎn)的串行異步通信1.通信雙方的硬件連接圖3.18031間RS—232C電平信號(hào)的傳2.通信雙方的約定圖3.2點(diǎn)對(duì)點(diǎn)通信的程序框圖3.點(diǎn)對(duì)點(diǎn)通信編程點(diǎn)對(duì)點(diǎn)通信雙方基本等同,只是人為規(guī)定一個(gè)為發(fā)送,一個(gè)為接收。要求兩機(jī)串行口的波特率相同,因而發(fā)送和接收方串行口的初始化相同??删幹坪谐跏蓟瘮?shù)、發(fā)送函數(shù)接收函數(shù)的程序,在主函數(shù)中根據(jù)程序的發(fā)送、接收設(shè)置TR,采用條件判別決定使用發(fā)送函數(shù)還是接收函數(shù)。這樣點(diǎn)對(duì)點(diǎn)通信的雙方都可運(yùn)行此程序,只需在程序運(yùn)行之前人為設(shè)置選擇TR,一個(gè)令TR=0,一個(gè)令TR=1,然后分別編譯,在兩機(jī)上分別裝入,同時(shí)運(yùn)行。例1點(diǎn)對(duì)點(diǎn)通信。點(diǎn)對(duì)點(diǎn)通信的程序如下:#include<reg51.h>#defineucharunsignedchar#defineTR1 /*發(fā)送接收差別值TR=0發(fā)送*/ucharidatabuf[10];ucharpf;voidinit(void) /*串行口初始化*/{TMOD=0x20; /*設(shè)T/C1為定時(shí)方式2*/TH1=0xe8; /*設(shè)定波特率*/TL1=0xe8;PCON=0x00;TR1=1; /*啟動(dòng)T/C1*/SCON=0x50; /*串行口工作在方式1*/}voidsend(ucharidata*d){uchari;do{SBUF=0xaa; /*發(fā)送聯(lián)絡(luò)信號(hào)*/while(TI==0); /*等待發(fā)送出去*/TI=0;while(RI==0); /*等待B機(jī)回答*/RI=0;}while((SBUF^0xbb)!=0); /*B機(jī)未準(zhǔn)備好,繼續(xù)聯(lián)絡(luò)*/do{pf=0; /*清校驗(yàn)和*/for(i=0;i<16;i++){SBUF=d[i]; /*發(fā)送一個(gè)數(shù)據(jù)*/pf+=d[i]; /*求校驗(yàn)和*/while(TI==0);TI=0;}SBUF=pf; /*發(fā)送校驗(yàn)和*/while(TI==0);TI=0;while(RI==0);RI=0; /*等待B機(jī)回答*/}while(SBUF!=0); /*回答出錯(cuò),則重發(fā)*/}
voidreceive(ucharidata*d){uchari;do{while(RI==0);RI=0;} while((SBUF^0xaa)!=0); /*判A機(jī)請(qǐng)求否*/SBUF=0xbb; /*發(fā)應(yīng)答信號(hào)*/ while(TI==0);TI=0;while(1){pf=0; /*清校驗(yàn)和*/for(i=0;i<16;i++){while(RI==0);RI=0;d[i]=SBUF; /*接收一個(gè)數(shù)據(jù)*/pf+=d[i]; /*求校驗(yàn)和*/}while(RI==0);RI=0; /*接收A機(jī)校驗(yàn)和*/if((SBUF^pf)==0) /*比較校驗(yàn)和*/{SBUF=0x00;break;} /*校驗(yàn)和相同發(fā)"00"*/else{SBUF=0xff; /*出錯(cuò)發(fā)"FF",重新接收*/ while(TI==0);TI=0;}}}voidmain(void){init();if(TR==0){send(buf);}else{receive(buf);}}多多機(jī)機(jī)通信信1.通通信接接口圖3.3總總線線式主主從式式多機(jī)機(jī)系統(tǒng)統(tǒng)2.通通信協(xié)協(xié)議根據(jù)MCS-51串串行口口的多多機(jī)通通信能能力,,多機(jī)機(jī)通信信可以以按照照以下下協(xié)議議進(jìn)行行:(1)首首先使使所有有從機(jī)機(jī)的SM2位置置1處處于只只接收收地址址幀的的狀態(tài)態(tài)。(2)主主機(jī)先先發(fā)送送一幀幀地址址信息息,其其中8位地地址,,第9位為為地址址/數(shù)數(shù)據(jù)信信息的的標(biāo)志志位,,該位位置1表示示該幀幀為地地址信信息。。(3)從從機(jī)接接收到到地址址幀后后,各各自將將接收收的地地址與與本機(jī)機(jī)的地地址比比較。。對(duì)于于地址址相符符的那那個(gè)從從機(jī),,使SM2位清清零,,以接接收主主機(jī)隨隨后發(fā)發(fā)來的的所有有信息息;對(duì)對(duì)于地地址不不符的的從機(jī)機(jī),仍仍保持持SM2=1,,對(duì)主主機(jī)隨隨后發(fā)發(fā)來的的數(shù)據(jù)據(jù)不予予理睬睬,直直至發(fā)發(fā)送新新的地地址幀幀。(4)當(dāng)當(dāng)從機(jī)機(jī)發(fā)送送數(shù)據(jù)據(jù)結(jié)束束后,,發(fā)送送一幀幀校驗(yàn)驗(yàn)和,,并置置第9位(TB8)為1,作作為從從機(jī)數(shù)數(shù)據(jù)傳傳送結(jié)結(jié)束標(biāo)標(biāo)志。。(5)主主機(jī)接收數(shù)數(shù)據(jù)時(shí)先判判斷數(shù)據(jù)結(jié)結(jié)束標(biāo)志(RB8),若RB8=1,,表示數(shù)據(jù)據(jù)傳送結(jié)束束,并比較較此幀校驗(yàn)驗(yàn)和,若正正確,則會(huì)會(huì)送正確信信號(hào)00H,此信號(hào)號(hào)令該從機(jī)機(jī)復(fù)位(即即重新等待待地址幀);若校驗(yàn)驗(yàn)和出錯(cuò),,則發(fā)送0FFH,,令該從機(jī)機(jī)重發(fā)數(shù)據(jù)據(jù)。若接收收幀的RB8=0,,則原數(shù)據(jù)據(jù)到緩沖區(qū)區(qū),并準(zhǔn)備備接收下幀幀信息。(6)若若主機(jī)向從從機(jī)發(fā)送數(shù)數(shù)據(jù),從機(jī)機(jī)在第(3)步中比比較地址相相符后,從從機(jī)令SM2=0,,同時(shí)把本本站地址發(fā)發(fā)回主機(jī)。。作為應(yīng)答答之后才能能收到主機(jī)機(jī)發(fā)送來的的數(shù)據(jù)。其其它從機(jī)(SM2=1),無無法收到數(shù)數(shù)據(jù)。(7)主主機(jī)收到從從機(jī)的應(yīng)答答地址后,,確認(rèn)地址址是否相符符。如果地地址不符,,發(fā)復(fù)位信信號(hào)(數(shù)據(jù)據(jù)幀中TB8=1);如果地地址相符,,則清TB8,開始始發(fā)送數(shù)據(jù)據(jù)。(8)從從機(jī)接收到到復(fù)位命令令后回到監(jiān)監(jiān)聽地址狀狀態(tài)(SM2=1)。否則開開始接收數(shù)數(shù)據(jù)和命令令。3.通信信程序設(shè)主機(jī)發(fā)送送的地址聯(lián)聯(lián)絡(luò)信號(hào)00H,01H,02H為從從機(jī)設(shè)備地地址,地址址FFH是是命令各從從機(jī)恢復(fù)SM2為1的狀態(tài),,即復(fù)位。。主機(jī)的命命令編碼為為:01H請(qǐng)請(qǐng)求從機(jī)機(jī)接收主機(jī)機(jī)的數(shù)據(jù)命命令;02H請(qǐng)請(qǐng)求從機(jī)機(jī)向主機(jī)發(fā)發(fā)送數(shù)據(jù)命命令。其它都按從從機(jī)向主機(jī)機(jī)發(fā)送數(shù)據(jù)據(jù)命令02H對(duì)待。。從機(jī)的狀態(tài)態(tài)字節(jié)格式式為:ERR00000TRDYRRDYD7D6D5D4D3D2D1D0RRDY=1:從機(jī)機(jī)準(zhǔn)備好接接收主機(jī)的的數(shù)據(jù)。TRDY=1:從機(jī)機(jī)準(zhǔn)備好向向主機(jī)發(fā)送送數(shù)據(jù)。ERR=1:從機(jī)接接收到的命命令是非法法的。通常從機(jī)以以中斷方式式控制和主主機(jī)的通信信。程序可可分成主機(jī)機(jī)程序和從從機(jī)程序,,約定一次次傳送的數(shù)數(shù)據(jù)為16個(gè)字節(jié),,以02H地址的從從機(jī)為例。。1)主機(jī)機(jī)程序圖3.4多多機(jī)通通信主機(jī)程程序流程圖圖主機(jī)程序如如下:#include<reg51.h>#defineucharunsignedchar#defineSLAVE0x02/*從從機(jī)地址*/#defineBN16ucharidatarbuf[16];ucharidatatbuf[16]={"mastertransmit"};voiderr(void){SBUF=0xff;while(TI!=1);;TI=0;}ucharmaster(charaddr,ucharcommand){ucharaa,i,,p;while(1){SBUF=SLAVE;/*發(fā)發(fā)呼叫地地址*/while(TI!=1);TI=0;while(RI!=1);RI=0;/*等待從從機(jī)回答*/if(SBUF!=addr)err();/*若地地址錯(cuò),發(fā)發(fā)復(fù)位信號(hào)號(hào)*/else{/*地地址相符*/TB8=0;/*清清地址標(biāo)標(biāo)志*/SBUF=command;;/*發(fā)命命令*/while(TI!=1);TI=0;while(RI!=1);RI=0;aa=SBUF;/*接接收狀態(tài)態(tài)*/if((aa&0x08)==0x08){TB8=1;err();}/*若若命令未未被接收,發(fā)復(fù)位信信號(hào)*/else{if(command==0x01)/*是發(fā)發(fā)送命令*/{if((aa&0x01)==0x01)/*從從機(jī)準(zhǔn)備好好接收*/{do{p=0;/*清校驗(yàn)驗(yàn)和*/for(i=0;i<BN;;i++){SBUF=tbuf[i];/*發(fā)發(fā)送一數(shù)數(shù)據(jù)*/p+=tbuf[i];while(TI!=1);;TI=0;}SBUF=p;/*發(fā)發(fā)送校驗(yàn)和和*/while(TI==0);TI=0;while(RI==0);RI=0;}while(SBUF!=0);/*接收收不正確,,重新發(fā)送送*/TB8=1;/*置置地址標(biāo)標(biāo)志*/return(0)}}else{if((aa&0x02)==0x02)/*是是接收命命令,從機(jī)機(jī)準(zhǔn)備好發(fā)發(fā)送*/{while(1){p=0;/*清清校驗(yàn)和和*/for(i=0;i<BN;;i++){while(RI!=1);RI=0;rbuf[i]=SBUF;;/*接接收一數(shù)據(jù)據(jù)*/P+=rubf[i];}while(RI==0);RI=0;if(SBUF==p){SBUF=0X00;/*校驗(yàn)和和相同發(fā)"00"*/while(TI==0);TI=0;break;;}else{SBUF=0xff;;/*校校驗(yàn)驗(yàn)和和不不同同發(fā)發(fā)"0FF",,重重新新接接收收*/while(TI==0);;TI=0;;}}TB8=1;;/*置置地地址址標(biāo)標(biāo)志志*/Retuen(0);;}}}}}}voidmain(viod){TMOD=0x20;;/*T/C1定定義義為為方方式式2*/TL1=0xfd;;TH1=0xfd;;/*置置初初值值*/PCON=0x00;;TR1=1;;SCON=0xf0;;/*串串行行口口為為方方式式3*/master(SLAVE,0x01);;master(SLAVE,0x02);;}2)從從機(jī)機(jī)程程序序圖3.5多多機(jī)機(jī)通通信信的的從從機(jī)機(jī)中中斷斷程程序序流流從機(jī)機(jī)程程序序如如下下::#include<reg51.h>#defineucharunsignedchar#defineSLAVE0x02#defineBN16ucharidatatrbuf[16];;ucharidatarebuf[16];;bittready;;bitrready;;voidmain(void){TMOD=0x20;;/*T/C1定定義義為為方方式式2*/TL1=0xfd;;/*置置初初值值*/TH1=0xfd;;PCON=0x00;;TR1=1;;SCON=0xf0;;/*串串行行口口為為方方式式3*/ES=1;;EA=1;;/*開開串串行行口口中中斷斷*/while(1){tready=1;;rready=1;;}/*假假定定準(zhǔn)準(zhǔn)備備好好發(fā)發(fā)送送和和接接收收*/}voidssio(void)interrupt4using1{voidstr(void);;voidsre(void);;uchara,i;;RI=0;;ES=0;;/*關(guān)關(guān)串串行行口口中中斷斷*/if(SBUF!=SLAVE){ES=1;;gotoreti;;}/*非非本本機(jī)機(jī)地地址址,繼繼續(xù)續(xù)監(jiān)監(jiān)聽聽*/SM2=0;;/*取取消消監(jiān)監(jiān)聽聽狀狀態(tài)態(tài)*/SBUF=SLAVE;;/*從從本本地地址址發(fā)發(fā)回回*/while(TI!=1);;TI=0;;while(RI!=1);;RI=0;;if(RB8==1){SM2=1;;ES=1;;gotoreti;;}/*是是復(fù)復(fù)位位信信號(hào)號(hào),,恢恢復(fù)復(fù)監(jiān)監(jiān)聽聽*/a=SBUF;;/*接接收收命命令令*/if(a=0x01)/*從從主主機(jī)機(jī)接接收收的的數(shù)數(shù)據(jù)據(jù)*/{if(rready==1)SBUF=0x01;;/*接接收準(zhǔn)備好好發(fā)狀態(tài)*/elseSBUF=0x00;;while(TI!=1);TI=0;;while(RI!=1);RI=0;;if(RB8==1){SM2=1;;ES=1;gotoreti;}sre();/*接接收數(shù)據(jù)*/}else{if(a=0x02)/*從機(jī)向向主機(jī)發(fā)送數(shù)數(shù)據(jù)*/{if(tready==1)SBUF=0x02;;/*發(fā)發(fā)送準(zhǔn)備好發(fā)發(fā)狀態(tài)*/elseSBUF=0x00;;while(TI!=1);TI=0;while(RI!=1);RI=0;;if(RB8==1){SM2=1;;ES=1;gotoreti;;}str();/*發(fā)送送數(shù)據(jù)*/}else{SBUF=0x80;/*命令令非法,發(fā)發(fā)狀態(tài)*/while(TI!=1);TI=0;;SM2=1;ES=1;;/*恢恢復(fù)監(jiān)聽*/}}reti:;}voidstr(void)/*發(fā)發(fā)數(shù)據(jù)塊*/{ucharp,i;;tready=0;;do{p=0;/*清清校驗(yàn)和*/for(i=0;;i<BN;i++){SBUF=trbuf[i];/*發(fā)送一一數(shù)據(jù)*/p+=trbuf[i];while(TI!=1);TI=0;;}SUBF=p;/*發(fā)發(fā)送校驗(yàn)和和*/while(TI==0);TI=0;;while(RI==0);RI=0;}while(SBUF!=0);;/*主機(jī)接收收不正確,重重新發(fā)送*/SM2=1;;ES=1;}voidsre(void)/*接接收數(shù)據(jù)塊塊*/{ucharp,i;rready=0;;while(1){p=0;/*清校校驗(yàn)和*/for(i=0;;i<BN;i++){while(RI!=1);RI=0;;rebuf[i]=SBUF;/*接接收數(shù)據(jù)*/p+=rebuf[i];;}while(RI!=1);RI=0;if(SBUF==p){SBUF=0x00;;break;} /*校驗(yàn)和相相同發(fā)"00"*/else{SBUF=0xff;;/*校驗(yàn)和和不同發(fā)"0FF",重重新接收*/while(TI==0);TI=0;}}SM2=1;ES=1;}3.2鍵鍵盤和數(shù)碼顯顯示人機(jī)交互互的C語言編編程行行列式鍵鍵盤與8031的接口鍵盤輸入信息息的主要過程程是:(1)單片片機(jī)判斷是否否有鍵按下。。(2)確定定按下的是哪哪一個(gè)鍵。(3)把此此步驟代表的的信息翻譯成成計(jì)算機(jī)所能能識(shí)別的代碼碼,如ASCII或其它它特征碼。圖3.68031與行行列式鍵盤的的接口例24×4鍵盤的的掃描程序。。掃描程序查詢?cè)兊膬?nèi)容為::(1)查詢?cè)兪欠裼墟I按按下。首先單單片機(jī)向行掃掃描P1.0~P1.3輸出全全為"0"掃掃描碼F0H,然后從列列檢查口P1.4~P1.7輸入入列掃描信號(hào)號(hào),只要有一一列信號(hào)不為為"1",即即P1口不為為F0H,則則表示有鍵按按下。接著要要查出按下鍵鍵所在的行、、列位置。(2)查詢?cè)儼聪骆I所在在的行列位置置。單片機(jī)將將得到的信號(hào)號(hào)取反,P1.4~P1.7中的為為1的位便是是鍵所在的列列。接下來要要確定鍵所在在的行,需要要進(jìn)行逐行掃掃描。單片機(jī)機(jī)首先使P1.0為"0",P1.1~P1.7為"1",即向P1口發(fā)送掃描描碼FEH,,接著輸入列列檢查信號(hào),,若全為"1",表示不不在第一行。。接著使P1.1接地,,其余為"1",再讀入入列信號(hào)………這樣逐行發(fā)發(fā)"0"掃描描碼,直到找找到按下鍵所所在的行,將將該行掃描碼碼取反保留。。當(dāng)各行都掃掃描以后仍沒沒有找到,則則放棄掃描,,認(rèn)為是鍵的的誤動(dòng)作。(3)對(duì)得得到的行號(hào)和和列號(hào)譯碼,,得到鍵值。。(4)鍵的的抖動(dòng)處理。。當(dāng)用手按下下一個(gè)鍵時(shí),,往往會(huì)出現(xiàn)現(xiàn)所按鍵在閉閉合位置和斷斷開位置之間間跳幾下才穩(wěn)穩(wěn)定到閉合狀狀態(tài)的情況。。在釋放一個(gè)個(gè)鍵時(shí),也會(huì)會(huì)出現(xiàn)類似的的情況,這就就是鍵抖動(dòng),,抖動(dòng)的持續(xù)續(xù)時(shí)間不一,,通常不會(huì)大大于10ms,若抖動(dòng)動(dòng)問題不解決決,就會(huì)引起起對(duì)閉合鍵的的多次讀入,,對(duì)于鍵抖動(dòng)動(dòng)最方便的解解決方法就是是當(dāng)發(fā)現(xiàn)有鍵鍵按下后,不不是立即進(jìn)行行逐行掃描,,而是延時(shí)10ms后后再進(jìn)行。由由于鍵按下的的時(shí)間持續(xù)上上百毫秒,延延時(shí)后再也不不遲。掃描函數(shù)的返返回值為鍵特特征碼,若無無鍵按下,返返回值為0。。程序如下::#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintvoiddlms(void)voidkbscan(void);;voidmain(void){ucharkey;;while(1){key=kbscan();dlms();}}voiddlms(void){uchari;;for(i=200;i>0;i--){}}ucharkbscan(void)/*鍵掃描描函數(shù)*/{ucharscode,recode;P1=oxf0;if((P1&0xf0)!=0xf0)/*若有鍵按按下*/{dlms();;/*延時(shí)去抖抖動(dòng)*/if((P1&0xf0)!=0xf0){scode=0xfe;/*逐行行掃描初值*/while((scode&0x10)!=0){P1=scode;/*輸出出掃描碼*/if((P1&0xf0)!=0xf0)/*本行行有鍵按下*/{recode=(P1&0xf0)|0x0f;;return((~scode)+(~recode));; /*返返回特征字字節(jié)碼*/}elsescode=(scode<<1)|0x01;;/*行掃描左左移一位*/}}}return(0);}七七段數(shù)碼碼顯示與8031的接口口數(shù)碼顯示器有有靜態(tài)顯示和和動(dòng)態(tài)顯示兩兩種顯示方式式。數(shù)碼顯示器有有發(fā)光管的LED和液晶晶的LCD兩兩種。LED顯示器器工作在靜態(tài)態(tài)方式時(shí),其其陰極(或其其陽極)點(diǎn)連連接在一起接接地(或+5V),每每一個(gè)的端選選線(a,b,c,d,,e,f,g,dp)分分別與一個(gè)8位口相連。。LCD數(shù)碼碼顯示只能工工作在靜態(tài)顯顯示,并要求求加上專門的的驅(qū)動(dòng)芯片4056。LED顯示器器工作在動(dòng)態(tài)態(tài)顯示方式時(shí)時(shí),段選碼端端口I/O1用來輸出顯顯示字符的段段選碼,I/O2輸出位位選碼。I/O1不斷送送待顯示字符符的段選碼,,I/O2不不斷送出不同同的位掃描碼碼,并使每位位顯示字符停停留顯示一段段時(shí)間,一般般為1~5ms,利用用眼睛的視覺覺慣性,從顯顯示器上便可可以見到相當(dāng)當(dāng)穩(wěn)定的數(shù)字字顯示。例38155控制制的動(dòng)態(tài)LED顯示。圖3.7經(jīng)經(jīng)8155擴(kuò)展端口口的6位LED動(dòng)態(tài)顯示示確定的8155片內(nèi)4個(gè)個(gè)端口地址如如下:命令/狀態(tài)口口:FFF0H口A:FFF1H口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度汽車品牌VI設(shè)計(jì)及車主手冊(cè)合同3篇
- 二零二四年度展覽展示項(xiàng)目知識(shí)產(chǎn)權(quán)保護(hù)合同3篇
- 2025年度個(gè)人校園景觀綠化工程承包合同范本4篇
- 二零二五年度廠房出售附帶員工培訓(xùn)計(jì)劃合同3篇
- 二零二五年度船舶購買與風(fēng)險(xiǎn)評(píng)估合同4篇
- 二零二五版跨行業(yè)合同終止與資產(chǎn)清算協(xié)議3篇
- 2025年度建筑工程項(xiàng)目管理咨詢與實(shí)施服務(wù)合同范本4篇
- 二零二五年度雛雞養(yǎng)殖產(chǎn)業(yè)鏈風(fēng)險(xiǎn)預(yù)警與應(yīng)對(duì)合同4篇
- 個(gè)人房產(chǎn)買賣中介服務(wù)合同(2024版)8篇
- 二零二五版路燈照明設(shè)施租賃服務(wù)合同4篇
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計(jì))(人教版2024)八年級(jí)物理下冊(cè)
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末質(zhì)量檢測(cè)數(shù)學(xué)試卷(含解析)
- 單位往個(gè)人轉(zhuǎn)賬的合同(2篇)
- 電梯操作證及電梯維修人員資格(特種作業(yè))考試題及答案
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學(xué)生運(yùn)動(dòng)能力測(cè)評(píng)規(guī)范
- 鍋爐本體安裝單位工程驗(yàn)收表格
- 高危妊娠的評(píng)估和護(hù)理
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論