版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第3章AT89C51指令系統(tǒng) 3.1指令系統(tǒng)簡介3.2尋址方式3.3AT89C51指令系統(tǒng)3.4實驗習題與思考題3.1指令編碼格式及常用符號AT89C51單片機共有111條指令。其中,單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。在111條指令中,有64條是單機器周期指令,45條雙機器周期指令,兩條四機器周期指令。計算機執(zhí)行指令時間的長短并不取決于指令所占存儲器的字節(jié)數(shù),而是取決于所占用的機器周期數(shù)。一、機器指令1.格式:操作碼操作數(shù)(或操作數(shù)所在地址)操作碼:用來規(guī)定指令執(zhí)行的操作功能。比如:加、減、比較、傳送等。2.機器指令類型分為單字節(jié)、雙字節(jié)及三字節(jié)指令。(指機器碼)1)單字節(jié)指令(49條)(1)該字節(jié)只表示操作碼。如:NOP指令,機器碼00H。(2)前5位表示操作碼,后三位表示寄存器編碼。如:MOVA,R0機器碼:11101000B或E8H2)雙字節(jié)指令(45條)第一個字節(jié)為操作碼,第二個字節(jié)為操作數(shù)或操作數(shù)所在的地址。如:MOVA,#50H機器碼:74H50H3)三字節(jié)指令(17條)第一個字節(jié)為操作碼,后面兩個字節(jié)為操作數(shù)或操作數(shù)所在的地址。如:MOV20H,#50H機器碼:75H20H50H二、匯編指令(符號指令)格式匯編指令(符號指令):即用助記符來表示指令的操作功能。它比機器指令容易識別和記憶。[標號]操作助記符[目的操作數(shù)][,源操作數(shù)][;注釋]
三、符號注釋在以后章節(jié)的學習過程中,經(jīng)常用到一些符號,下面逐一介紹。
(1)Rn(n=0~7):表示八個通用寄存器R0~R7。
(2)Ri(i=0,1):表示兩個寄存器R0、R1,它們常在間接尋址中作為8位地址指針。
(3)#DATA:表示8位立即數(shù),即包含在指令中的8位常數(shù),如#30或#00110001B。(4)#DATA16:表示16位立即數(shù),即包含在指令中的16位常數(shù),如#2010H。
(5)direct:表示片內(nèi)RAM(含特殊功能寄存器)的直接地址。
(6)addr11:表示11位目的地址。
(7)addr16:表示16位目的地址。
(8)rel:表示帶符號的8位地址偏移量。
(9)bit:表示位地址。(10)@:作為寄存器的前綴,表示間接尋址。(11)$:指本條指令起始地址。如:SJMP$[以下在注釋中用](12)→:表示將箭頭左邊內(nèi)容送入箭頭右邊。(×)----表示地址單元或寄存器中的內(nèi)容。((×))----表示間接尋址,以×單元或寄存器中的內(nèi)容為地址的單元內(nèi)容。3.2尋址方式
MCS-51的基本尋址方式有7種,它與存儲空間結構有關。尋址方式尋址空間寄存器尋址R0~R7A,B,C,SP,DPTR直接尋址內(nèi)部RAM的低128字節(jié)特殊功能寄存器(SFR)內(nèi)部RAM中20H~2FH的128個位地址特殊功能寄存器中的位地址立即尋址ROM存儲器地址寄存器間接尋址內(nèi)部RAM(@R0,@R1,@SP)內(nèi)部RAM的低8位地址(@R0,@R0)外部RAM或I/O端口地址(@R0,@R1,@DPTR)變址尋址程序存儲器ROM(@A+DPTR,@A+PC)相對尋址程序存儲器ROM位尋址內(nèi)部RAM中20H~2FH的128個位特殊功能寄存器中的位地址(源操作數(shù)和目的操作數(shù)都有不同的尋址方式,通常我們所說的尋址方式一般指源操作數(shù)的尋址方式)
1.立即數(shù)尋址用“#”號表立即尋址。指令中直接給出操作數(shù)。對應存儲器的空間為ROM。例:MOVA,#70H;(A)=70H(70H為常數(shù))指令對應機器碼:74H70H,它們保存在ROM中。注意:在MCS-51中,只有一條16位立即數(shù)指令。既MOVDPTR,#data16;(DPTR)=data162.直接尋址
直接尋址是指在指令中直接給出操作數(shù)所在存儲單元的地址。執(zhí)行指令時,從該地址中直接獲取操作數(shù)。它可訪問的三種存儲空間:1)特殊功能寄存器;一般用符號表示例:MOVA,P0;(A)=(P0)其中P0代表的直接地址為80H。2)內(nèi)部RAM的128個字節(jié);用地址表示例:MOVA,78H;(A)=(78H)3)位地址例:MOVC,20H;CY=(20H)SETBEA;EA=1圖3-1直接尋址示意圖畫圖舉例:MOVA,40H;(A)=3AH3.寄存器尋址寄存器尋址是指把寄存器的內(nèi)容作為操作數(shù)。1)可用R0~R7來尋址。例:MOVA,R0;(A)=(R0)2)也可用A、B、DPTR和C。B以AB形式出現(xiàn)例:DIVAB;(A)÷(B),商和余數(shù)存于A,B中4.寄存器間接尋址在寄存器間接尋址中,指令中的一個操作數(shù)是加了前綴“@”的寄存器,“@”表示該寄存器中的內(nèi)容是操作數(shù)所在的地址。執(zhí)行指令時,計算機根據(jù)這個地址取出操作數(shù)完成相應的操作。在AT89C51中,可用于間接尋址的寄存器是R0、R1、DPTR。其中,R0和R1用于8位地址尋址,DPTR用于16位地址尋址。具體使用如下:1)對內(nèi)部RAM的256個地址可用@Ri尋址,并采用MOV指令。MOVA,@R0;(A)←((R0))2)外部RAM空間的訪問,必須采用MOVX指令。(1)外部RAM的低256個地址,可用@Ri尋址低8位地址,并由P2口提供高8位地址。MOVXA,@R1;(A)←((R1))(2)全部64K的外部RAM訪問,則要采用DPTR指針作間接尋址。MOVXA,@DPTR;(A)←((DPTR))3)執(zhí)行PUSH和POP指令時,需用SP指針間接尋址。PUSHACC;(SP+1)←(A)圖3-2間接尋址示意圖例:已知(R0)=20H,(20H)=58H,則執(zhí)行指令1)MOVA,R0后,(A)=20H2)MOVA,@R0后,(A)=58H注意區(qū)別:1)直接尋址與寄存器尋址的區(qū)別;例:INCA(對應機器碼:04)INCACC(對應機器碼:05E0)MOVA,#30H機器碼:7430MOVACC,#30H機器碼:75E0302)寄存器尋址和寄存器間接尋址3)字節(jié)地址與位地址的區(qū)別,按數(shù)據(jù)匹配原則;例:MOVA,20H(字節(jié)地址)
MOVC,20H(位地址)錯誤指令:MOVR0,#1000H修改為:MOVDPTR,#1000H5.變址尋址(基址寄存器+變址寄存器)該指令訪問的空間是程序存儲器ROM;它以16位的PC指針或DPTR指針作為基址寄存器,以8位的累加器A作為變址寄存器。1)PC+A類,尋址范圍256B內(nèi)。格式:MOVCA,@A+PC;(PC)=(PC)+1,(A)=((A)+(PC))
2)DPTR+A類;尋址范圍64KB。(要求掌握)
MOVCA,@A+DPTR;(A)=((A)+(DPTR))3)JMP@A+DPTR散轉(zhuǎn)指令例如執(zhí)行“MOVCA,@A+DPTR”指令時,用累加器A的內(nèi)容加上DPTR的內(nèi)容作為一個地址,然后從這個地址中取出操作數(shù)送入累加器中。圖3-3變址尋址示意圖例:已知(DPTR)=2000H,(A)=20H,ROM單元(2020H)=47H,則執(zhí)行
MOVCA,@A+DPTR后,(A)=47H6.相對尋址相對尋址是將程序計數(shù)器PC中的當前值與指令第二字節(jié)給出的偏移量相加,其結果作為跳轉(zhuǎn)指令的轉(zhuǎn)移地址。相對尋址主要用于轉(zhuǎn)移類指令,尋址范圍是程序存儲器。目的地址=源地址+本條轉(zhuǎn)移指令字節(jié)數(shù)+rel=PC+rel
舉例:SJMPMAINJCLOOP7.位尋址位尋址是指指令的操作數(shù)為8位二進制數(shù)的某一位,指令中給出的是操作數(shù)的位地址??捎糜谖粚ぶ返膮^(qū)域是片內(nèi)RAM20H~2FH單元和部分特殊功能寄存器。1)MCS-51設有獨立的位處理指令系統(tǒng)(17條),其操作數(shù)是一位的二進制數(shù),指令中位地址用bit表示。如:MOVC,bit;CY=(bit)2)位地址可有三種表示方法:(1)直接使用位地址MOVC,20H(2)采用第幾字節(jié)地址單元第幾位表示MOVC,20H.0(3)特殊功能寄存器可用寄存器名加位數(shù)表示MOVC,P1.0課題(章節(jié)名稱)3.3數(shù)據(jù)傳送指令時間2011年3月12日星期13、4節(jié)第7次課教學目的與要求掌握數(shù)據(jù)傳送指令并熟練應用教學重點數(shù)據(jù)傳送指令的應用教學難點訪問內(nèi)部數(shù)據(jù)存儲器的傳送指令的應用教學方法講授法教學時數(shù)2課外作業(yè)主要內(nèi)容時間分配以A為目的操作數(shù)的指令以Rn為目的操作數(shù)的指令以直接地址為目的操作數(shù)的指令以間接地址為目的操作數(shù)的指令以DPTR為目的操作數(shù)的指令訪問外部RAM的指令讀ROM指令數(shù)據(jù)交換指令堆棧操作指令20303020課后小結3.3AT89C51指令系統(tǒng)一、數(shù)據(jù)傳送類指令數(shù)據(jù)傳送指令是進行數(shù)據(jù)處理的最基本的操作,在指令系統(tǒng)中占的比重較大。按操作數(shù)位數(shù)分為8位和16位的傳送指令,但16位的只有一條。按類型分:1)一般的傳送指令,采用MOV指令;2)特殊的傳送指令。如:MOVC,MOVX,堆棧指令,交換指令。一、訪問片內(nèi)RAM傳送指令(即MOV指令)片內(nèi)RAM傳送指令功能是將源操作數(shù)的內(nèi)容傳送到目的操作數(shù),而源操作數(shù)內(nèi)容不改變。1)以累加器A為目的操作數(shù)(4種尋址方式)助記符功能機器碼及字節(jié)數(shù)MOVA,direct(A)=(direct)E5diMOVA,@Ri(A)=((Ri))E6、E7MOVA,Rn(A)=(Rn)E8~EFMOVA,#data(A)=data74da例如:MOVA,R6MOVA,70HMOVA,@R0MOVA,#70H2)以Rn為目的操作數(shù)(3種尋址方式)MOVRn,A(direct,#data)錯誤指令:MOVR1,R2修改:MOVA,R2MOVR1,A錯誤指令:MOVR7,@R13)以direct為目的操作數(shù)(5種尋址方式)MOVdirect1,A(Rn,@Ri,#data,direct2)例如:MOVP1,AMOV70H,R2MOV0E0H,78HMOV40H,@R0MOV01H,#80H4)以@Ri為目的操作數(shù)(3種尋址方式)MOV@Ri,A(direct,#data)例如:已知(A)=77H,(R1)=20H,(20H)=88H
MOV@R1,A問(R1)=20H,(20H)=77HMOV@R0,70HMOV@R1,#80H錯誤指令:MOV@R1,R2MOV@R1,@R05)16位數(shù)據(jù)傳送指令(只有1條)MOVDPTR,#data16;(DPH)=data16高8位,(DPL)=data16低8位二、訪問外部RAM傳送指令(MOVX指令)必須采用寄存器間接尋址,且一定要同過累加器A來傳遞數(shù)據(jù)。1)MOVXA,@DPTRMOVX@DPTR,A2)注意:16位地址的訪問,也可采用P2口輸出高8位地址,Ri輸出低8位地址的方法MOVXA,@RiMOVX@Ri,A例:將片外RAM1002H單元內(nèi)容送給A,寫出實現(xiàn)要求的指令,已知片外RAM1002H單元內(nèi)容為30H,
片內(nèi)RAM02H單元內(nèi)容為40H。法1:MOVDPTR,#1002HMOVXA,@DPTR;(A)=30H法2:MOVP2,#10HMOVR0,#02HMOVXA,@R0;(A)=30HMOVA,@R0;(A)=40H[例1]將片外RAM2000H單元內(nèi)容送入片內(nèi)RAM20H單元中。MOVDPTR,#2000HMOVXA,@DPTR ;片外2000H單元內(nèi)容→累加器AMOV20H,A ;(A)→片內(nèi)20H單元錯誤做法:MOV20H,2000H[例2]將片外RAM1000H單元內(nèi)容送入片外RAM3000H單元。
MOVDPTR,#1000H ;地址指針指向1000HMOVXA,@DPTR ;將1000H單元內(nèi)容送入AMOVDPTR,#3000H ;地址指針指向3000HMOVX@DPTR,A;將累加器A的內(nèi)容送入3000H單元錯誤做法:MOVX3000H,1000H三、訪問ROM的傳送指令(查表指令)MOVC查表指令是指程序存儲器內(nèi)的查表指令,用來獲取程序存儲器數(shù)據(jù)表格中的數(shù)據(jù),并將獲取的數(shù)據(jù)送入累加器A中。1.MOVCA,@A+PC(了解)2.MOVCA,@A+DPTR(要求掌握)注意,它們是對程序存儲器進行操作,故必須采用MOVC指令;區(qū)分兩者尋址范圍大小。前者為256B,后者為64KB。變址尋址示意圖例:已知(DPTR)=2000H,(A)=20H,ROM單元(2020H)=47H,則執(zhí)行
MOVCA,@A+DPTR后,(A)=47H[例4]下面的程序從程序存儲器1000H單元開始存放,寫出執(zhí)行下列程序后,累加器A、寄存器R0和指針DPTR的值。MOVDPTR,#1000H;數(shù)據(jù)指針DPTR指向1000H表格首地址MOVA,#01H;偏移量01H→AMOVCA,@A+DPTR;從表格中取數(shù)MOVR0,A;保存已知ROM單元中的內(nèi)容如下表:ROM單元地址內(nèi)容1000H02H1001H04H1002H06H1003H08H執(zhí)行前,(A)=01H,(DPTR)=1000H則執(zhí)行MOVCA,@A+DPTR指令后,結果為(A)=04H,(R0)=04H,(DPTR)=1000H。
四、堆棧指令堆棧是在內(nèi)部RAM中開辟的一端相對固定,一端活動的存儲空間,活動端稱為棧頂,固定端稱為棧底,所有數(shù)據(jù)的存入和取出都從棧頂進行。堆棧主要用于進行數(shù)據(jù)保護。在AT89C51中,堆棧是自底向上生成的,寄存器SP始終指向棧頂?shù)刂?。復位時,SP的初值為07H,但這個初值可以通過“MOVSP,#DATA”語句來修改,以確定堆棧的使用空間。通常SP的內(nèi)容設定為大于等于30H。指令格式:進棧PUSHdirect;SP←(SP)+1,(SP)←(direct)出棧POPdirect;direct←((SP)),SP←(SP)-1PUSH指令用于把直接尋址的一個字節(jié)數(shù)壓入棧頂。執(zhí)行這條指令時,先將棧頂指針SP的值加1,然后把直接尋址單元里的數(shù)存入到SP指向的單元中。
POP指令用于把棧頂?shù)膬?nèi)容送入直接尋址的一個單元中,然后棧頂指針SP的值減1
。
注意:這兩條指令的操作數(shù)都采用直接尋址,這兩條指令要成對使用。[例5]執(zhí)行下列指令,注意累加器A的變化。
1)MOVSP,#60H ;設置堆棧初值2) MOVA,#17H ;17H送入A3) PUSHACC
;將17H壓入堆棧保存4)MOVA,#88H ;修改A的內(nèi)容5)MOVR1,A ;(A)→R16)POPACC
;將17H彈出并送入累加器中執(zhí)行完上述程序段后,問堆棧的變化,并畫圖說明。執(zhí)行前堆棧情況(SP)=07H(R1)=00H(A)=00H地址內(nèi)容07H00H08H00H09H00H執(zhí)行指令1)2)后的堆棧情況,此時(A)=17H(SP)=60H地址內(nèi)容60H00H61H00H62H00H執(zhí)行指令3)后的堆棧情況,此時(A)=17H(SP)=61H地址內(nèi)容60H00H61H17H62H00H執(zhí)行指令4)5)后的堆棧情況,此時(A)=88H(R1)=88H(SP)=61H地址內(nèi)容60H00H61H17H62H00H執(zhí)行指令6)后的堆棧情況,此時(A)=17H(SP)=60H地址內(nèi)容60H00H61H17H62H00H5.交換指令指令格式:XCHA,Rn(direct,@Ri)XCHDA,@RiSWAPAXCH指令是將源操作數(shù)的值與目的操作數(shù)累加器A的值全字節(jié)交換
(2)XCHD指令是將源操作數(shù)與目的操作數(shù)累加器A低4位內(nèi)容交換,而高4位不變;
(3)SWAP指令是將累加器A的內(nèi)容高4位和低4位互換。[例6]設(A)=47H,(R0)=58H,(58H)=36H,分別執(zhí)行下列指令,寫出累加器A和各寄存器的值。
執(zhí)行結果①
XCHA,R0 ;(A)=58H,(R0)=47HH②XCHA,@R0 ;(A)=36H,(58H)=47H③XCHDA,@R0 ;(A)=46H,(58H)=37H④SWAPA ;(A)=74H課題(章節(jié)名稱)3.4算術運算指令時間2011年3月19日星期41、2節(jié)第8次課教學目的與要求掌握算術運算指令并熟練應用教學重點加、減法指令教學難點PSW標志位的變化教學方法講授法教學時數(shù)2課外作業(yè)主要內(nèi)容時間分配加法指令減法指令乘法指令除法指令補充內(nèi)容3015101020課后小結
3.4算術運算類指令算術運算指令(24條)可以完成加、減、乘、除、增1和減1運算操作。
這類指令大多數(shù)都同時以A為源操作數(shù)之一,同時又將A作為目的操作數(shù),暫時保存運算結果。
算術運算操作將影響程序狀態(tài)字PSW中的標志位。具體見表3.4。標志位加減法指令ADD,ADDC,SUBB十進制調(diào)整指令DA乘除法指令MUL,DIVCY√√0AC√√×OV√×√P√√√表3.4算術指令對狀態(tài)標志位的影響一、加法指令1.不帶進位加法指令
ADD是不帶進位的加法運算指令,其功能是將累加器A的內(nèi)容與源操作數(shù)的內(nèi)容相加,結果送入累加器A中,源操作數(shù)指定單元的內(nèi)容不變。該指令執(zhí)行結果影響標志位CY、OV、AC、P。
加法指令對PSW標志位的影響及判斷方法:
1)進位標志CY:和的D7位有進位時,CY=1;否則,CY=0。
2)半進位標志AC:和的D3位有進位時,AC=1;否則,AC=0。
3)溢出標志OV:和的D7,D6位只有一個有進位時,OV=1;和的D7,D6位同時有進位或同時無進位時,OV=0。若是兩個有符號數(shù)相加,因為符號位要參加運算,就有可能產(chǎn)生溢出現(xiàn)象,即超出單字節(jié)數(shù)所能表示的有符號數(shù)的最大范圍(-128~+127)。比如兩個負數(shù)相加,結果為正數(shù),顯然不對,這就是溢出。編程者使用時,首先要確定參與運算的數(shù)據(jù)是無符號數(shù)還是有符號數(shù),然后再根據(jù)結果的狀態(tài)標志進行判斷:對于無符號數(shù)用JNC或JC,對于有符號數(shù)用JNB或JB。
4)奇偶標志位P:當結果中1的個數(shù)為奇數(shù)時,P=1;結果中1的個數(shù)為偶數(shù)時,P=0.例:已知2個無符號數(shù),(A)=84H,(30H)=8DH,試分析執(zhí)行ADDA,30H后的結果。由于是無符號數(shù)相加,只需考察進位標志CY即可。
如果和不大于255,則用8位的存儲單元即可存放結果;如果和大于255,則要用多字節(jié)形式表示。例:已知2個有符號數(shù),(A)=84H,(30H)=8DH,試分析執(zhí)行ADDA,30H后的結果。由于是有符號數(shù)加法,只需考察溢出標志即可。若OV=1,則結果超出有符號數(shù)表示范圍,結果不正確。結果:(A)=11H,CY=1,AC=1,OV=1(D7有進位,D6無進位),P=0。
2.帶進位的加法指令ADDCA,#data(direct,@Ri,Rn);A=←(A)+data+(CY)與ADD一樣,影響程序狀態(tài)字PSW。[注意:這里所加的進位標志CY的值是在該指令執(zhí)行之前已經(jīng)存在的進位標志的值,而不是執(zhí)行該指令過程中產(chǎn)生的進位。]
ADDC指令一般用于多字節(jié)加法運算,在多字節(jié)加法運算中,低字節(jié)加法結果可能產(chǎn)生進位,用ADDC指令可使高字節(jié)相加的同時加上低字節(jié)的進位。該指令執(zhí)行結果影響標志位CY、OV、AC、P。例:編程實現(xiàn)兩個數(shù)24A5H+1396H。結果存于片內(nèi)RAM單元30H和31H。分析:該題屬于2個多字節(jié)數(shù)相加。低字節(jié)相(即A5H+96H)加時,一般用ADD指令。從第2個字節(jié)(即24H+13H)開始需使用ADDC指令,把低字節(jié)的進位加進來。采用順序結構的程序如下:
MOVA,#0A5HADDA,#96H;取兩個數(shù)的低字節(jié)相加
MOV30H,A;存低字節(jié)的和
MOVA,#24HADDCA,#13H;取兩個數(shù)的高字節(jié)相加,同時把進位位加上
MOV31H,A;存高字節(jié)的和3.加1指令
INCA(direct,@Ri,Rn,DPTR);A←(A)+1
該指令用于將操作數(shù)的內(nèi)容加1。該指令除影響奇偶標志位P外,不會對其他任何標志位產(chǎn)生影響。
INC指令通常用在循環(huán)程序中,用來修改地址指針。使指針指向下一個要取的數(shù)據(jù)所在的地址。例:INCR0INCR1INCDPTR
4.十進制調(diào)整指令
DAA;調(diào)整A的內(nèi)容為正確的BCD碼
該指令的功能是對A中剛進行的兩個BCD碼的加法的結果作十進制調(diào)整。影響進位標志CY。
十進制調(diào)整指令是一條對累加器A中的BCD碼進行調(diào)整的指令。應用時必須跟在ADD或ADDC指令后面。因為當兩個壓縮的BCD碼按二進制作加法運算時,其結果不一定是壓縮的BCD碼,所以必須用DA指令進行加6
調(diào)整。例:若(A)=69BCD,(R2)=58BCD
。執(zhí)行指令
ADDA,R2DAA即可自動對結果進行調(diào)整。二、減法指令
1.帶借位減法指令
SUBBA,#data(direct,@Ri,Rn);A←(A)-data-(CY)
SUBB指令功能是將累加器A中內(nèi)容減去源操作數(shù)的內(nèi)容及進位CY的值,結果送入累加器A中。該指令對標志位CY、OV、AC、P的影響類似加法指令。由于沒有不帶借位的減法指令,故要完成不帶借位的減法,只需先將CY清"0”即可。
例:若(A)=C9H,(R2)=54H,(CY)=1,試分析執(zhí)行指令SUBBA,R2后,累加器A的內(nèi)容及PSW標志位的狀態(tài)。解:
(A)=11001001-(R2)=0101010001110101-(CY)-101110100結果:(A)=74H,(CY)=0,(AC)=0,(OV)=1(D6位有借位,D7無借位),(P)=0.2.減1指令DECA(direct,@Ri,Rn);A←(A)-
1
該指令用于將操作數(shù)的內(nèi)容減1。與INC指令相同,僅影響奇偶標志位P。(注意:相比INC指令,少了操作數(shù)DPTR)三、乘法指令
MULAB;(A)×(B),A←乘積的低8位,B←乘積高8位
乘法指令功能是將累加器A的內(nèi)容和寄存器B的內(nèi)容相乘,結果是16位二進制數(shù)。其中高8位保存在寄存器B中,低8位保存在累加器A中。兩個乘數(shù)均為無符號8位二進制數(shù)。
若乘積大于0FFH,溢出標志OV=1,否則為0。例:設(A)=C5H,(B)=08H,則執(zhí)行指令“MULAB”后,結果為(B)=03H,(A)=28H,表示積(BA)=0328H,OV=1。
四、除法指令
DIVAB;(A)÷(B),A←
商,B←余數(shù)
除法指令功能是用累加器A的內(nèi)容(被除數(shù))除以寄存器B的內(nèi)容(除數(shù))。指令執(zhí)行后,商保存在累加器A中,余數(shù)保存在寄存器B中。除數(shù)和被除數(shù)均為8位無符號數(shù)對PSW的影響:相除之后,標志位CY一定為0,OV只是在除數(shù)B=0時為1,其他情況下都為0。例:若(A)=FBH(251),(B)=12H(18),執(zhí)行指令DIVAB之后,(A)=0DH,(B)=11H,OV=0,C=0。課題(章節(jié)名稱)3-5邏輯與循環(huán)指令時間2011年3月26日星期11、2節(jié)第10次課教學目的與要求掌握邏輯與循環(huán)指令并熟練應用教學重點邏輯與循環(huán)指令教學難點邏輯與循環(huán)指令的應用教學方法講授法教學時數(shù)2課外作業(yè)主要內(nèi)容時間分配一、兩個操作數(shù)的邏輯指令邏輯與指令邏輯或指令邏輯異或指令二、累加器A的邏輯操作指令清0與取反指令循環(huán)移位指令舉例303020課后小結3.5邏輯操作與移位指令這類指令主要包括與、或、異或、求反、清零、移位等操作指令。
當以累加器A為目的操作數(shù)時,對P標志位有影響;循環(huán)指令是對累加器A的循環(huán)位移操作,帶進位的循環(huán)移位對CY和P標志位有影響;累加器清0指令對P標志有影響。
一、邏輯與指令ANL
“與”指令是將源操作數(shù)與目的操作數(shù)按位進行邏輯與操作,其結果送入目的操作數(shù)中
ANLA,Rn(direct,@Ri,#data);A←(A)∧(Rn)ANLdirect,A(#data)例1:若(A)=C3H,(R0)=0AAH,執(zhí)行指令
ANLA,R0;(A)=82H“與”指令可以將操作數(shù)某些位清0(也叫屏蔽),其他位保持不變。例2:若要屏蔽R1的高4位,保留低4位,則指令為:
MOVA,R1;取R1的值
ANLA,#0FH(即#00001111B);屏蔽高4位,保留低4位
MOVR1,A;返回給R1
二、邏輯或指令ORL
“或”指令是將源操作數(shù)與目的操作數(shù)按位相或,其結果送入目的操作數(shù)中。
ORLA,Rn(direct,@Ri,#data);A←(A)V(R0)ORLdirect,A(#data)例3:若(A)=C3H,(R0)=55H,執(zhí)行指令
ORLA,R0;(A)=D7H“或”指令可以使操作數(shù)某些位置1(也叫置位),其他位保持不變。
例4:將P1的高4位置為1,其他位不變。則指令為:ORLP1,#11110000B
三、邏輯異或指令
“異或”指令是將源操作數(shù)與目的操作數(shù)按位相異或,即不同為1,相同為0,其結果送入目的操作數(shù)。
XRLA,Rn(direct,@Ri,#data);A←(A)⊕(R0)XRLdirect,A(#data)例5:若(A)=C3H,(R0)=0AAH,執(zhí)行指令
XRLA,R0;(A)=69H“異或”指令可以使操作數(shù)某些位取反,其他位保持不變。
例6:若(P1)=59H,將P1的第1,3,5位取反,其他位不變。則指令為:XRLP1,#00010101B;(A)=01001100B=4CH
四、累加器清零與取反指令
1.CLRA;A←02.CPLA;A←(A)取反
CLRA指令功能是將累加器A的內(nèi)容清零。CPLA指令功能是將累加器A的內(nèi)容按位取反,即累加器A中各位1變0,0變1。例7:若(A)=36H,執(zhí)行指令:
CPLA;(A)=0C9H
五、移位指令
AT89C51移位指令有四種,都是對累加器A進行操作。這組移位指令每次只能對操作數(shù)移一位,若要移多位,則要通過編寫程序完成。1.左環(huán)移指令
RLA;
(A7~1)→A6~0,(A0)→A7
指令功能是將累加器A的內(nèi)容左循環(huán)移位。如圖3-4所示,累加器A的最高位移入最低位,同時其他各位依次左移。
圖3-4左循環(huán)移位指令示意圖例8:若(A)=C5H,執(zhí)行指令RLA后,(A)=8BH。圖3-5帶進位左循環(huán)移位指令示意圖
2.帶進位左循環(huán)移位
RLCA指令功能是將累加器A的內(nèi)容和進位標志一起左循環(huán)移位。如圖3-5所示,累加器A的最高位移入進位位CY,同時其他各位依次左移,CY位移入累加器A的最低位。例9:若(A)=45H,(CY)=1,執(zhí)行指令
RLCA;(A)=8BH,(CY)=0
3.右環(huán)移指令
RRA
指令功能是將累加器A的內(nèi)容右循環(huán)移位。如圖3-6所示,累加器A的最低位移入最高位,同時其他各位依次右移。圖3-6右循環(huán)移位指令示意圖
圖3-7帶進位右循環(huán)移位指令示意圖4.RRCA
指令功能是將累加器A的內(nèi)容和進位標志一起右循環(huán)移位。如圖3-7所示,累加器A的最低位移入進位位CY,同時其他各位依次右移,CY位移入累加器A的最高位。注意:1)左移指令在某些情況下,可實現(xiàn)乘2運算。2)右移指令在某些情況下,可實現(xiàn)除2運算。3)移位指令和半字節(jié)交換指令,只能對A進行操作,若要對其他對象擦操作,可先將他們送到A,再操作。舉例:1)若已知(R1)=01H,請寫出將R1中的內(nèi)容乘2的指令。MOVA,R1RLAMOVR1,A;(R1)=02H2)若已知(R1)=01H,將R1中的內(nèi)容高低四位互換。MOVA,R1SWAPAMOVR1,A;(R1)=10H拼字程序課本67頁17.編程:將R1中的低4位與R2中的高4位合并,并存于R1中(其中R2中的高4位放在R1的高4位)。源程序:MOVA,R1ANLA,#00001111B;屏蔽R1的高4位MOVR3,A;暫存于R3MOVA,R2ANLA,#11110000B;屏蔽R2的低4位ORLA,,R3;合并MOVR1,A;結果存在指定單元課題(章節(jié)名稱)3-6控制轉(zhuǎn)移指令時間2011年3月28日星期43、4節(jié)第11次課教學目的與要求掌握無條件轉(zhuǎn)移、條件轉(zhuǎn)移及子程序調(diào)用與返回指令指令并熟練應用教學重點條件轉(zhuǎn)移及子程序調(diào)用與返回指令教學難點子程序調(diào)用指令教學方法講授法教學時數(shù)2課外作業(yè)主要內(nèi)容時間分配一、無條件轉(zhuǎn)移指令二、條件轉(zhuǎn)移指令三、調(diào)用和返回指令四、空操作指令1535305課后小結
3.6控制轉(zhuǎn)移類指令通常情況下,程序的執(zhí)行是按順序進行的,但也可以根據(jù)需要改變程序的執(zhí)行順序,這種情況稱作程序轉(zhuǎn)移??刂妻D(zhuǎn)移類指令主要以改變程序計數(shù)器PC內(nèi)容為目標,用來控制程序執(zhí)行的流向。它主要分為以下幾類,如表3-4所示。表3-4控制轉(zhuǎn)移類指令一、無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令是指當程序執(zhí)行到這條指令時,程序?qū)o條件地轉(zhuǎn)移到指令指向的地址單元取指運行。1.短跳轉(zhuǎn)指令
AJMPaddr11(實際使用時為標號)操作:PC←
(PC)+2PC10~0←addr10~0PC15~11不變它可轉(zhuǎn)移的地址范圍為:2KB。[例3-42]若標號“NEWADD”表示轉(zhuǎn)移目標地址0123H,PC的當前值為0345H。執(zhí)行指令
AJMPNEWADD…….ORG0123HNEWADD:MOVA,#88H
指令提供的低11位地址為"00100100011B,組合成新的有效地址為“0000
000100100011B”。即程序?qū)⑥D(zhuǎn)向目標地址0123H處執(zhí)行。2.長跳轉(zhuǎn)指令LJMPaddr16;PC=addr16機器碼:02Ha15-a8a7-a0它是一條3字節(jié)指令,執(zhí)行時把16位的地址裝入PC指針??稍?4K范圍內(nèi)轉(zhuǎn)移。例:若標號“LOOP”表示轉(zhuǎn)移目標地址為1234H,則執(zhí)行
LJMPLOOP……ORG1234HLOOP:MOVR0,#99H后,(PC)=1234H3.相對轉(zhuǎn)移指令SJMPrel;PC←
(PC)+2,PC←
(PC)+rel機器碼:80Hrel它是一條雙字節(jié)指令。轉(zhuǎn)移的目的地址為:目的地址=源地址+2+relrel是8位有符號數(shù),故相對轉(zhuǎn)移的范圍為256個單元。使用相對轉(zhuǎn)移指令很方便,特別是在修改程序時。4.散轉(zhuǎn)指令(基址加變址間接轉(zhuǎn)移指令)JMP@A+DPTR;PC←
(PC)+1,PC←
(A)+(DPTR)機器碼:73H1)轉(zhuǎn)移地址是A的內(nèi)容和DPTR的內(nèi)容之和。2)它是一條多分支選擇指令:由DPTR決定多分支程序的首地址,由A的不同值實現(xiàn)多分支轉(zhuǎn)移。例如:如果R1中放有待處理命令編號(0~7),程序存儲器中存放著標號為TAB的轉(zhuǎn)移表,則執(zhí)行下面的程序,將根據(jù)R1的內(nèi)容轉(zhuǎn)向相應的命令處理程序。解:MOVA,R1RLA;(A)×2→(A)調(diào)整
MOVDPTR,#TABLE;轉(zhuǎn)移表首地址(DPTR)
JMP@A+DPTRTABLE:AJMPROUT0;程序段ROUT0入口
AJMPROUT1;程序段ROUT1入口
AJMPROUT2;程序段ROUT2入口………二、有條件轉(zhuǎn)移指令有條件轉(zhuǎn)移指令是指根據(jù)指令中給出的條件進行判斷,若條件成立,則程序轉(zhuǎn)向指定的目的地址執(zhí)行,否則順序執(zhí)行程序。有條件轉(zhuǎn)移指令的目標地址都在相對于該指令的下一條指令為-128~+127的區(qū)域內(nèi)。1.測試條件符合轉(zhuǎn)移指令1)A判0轉(zhuǎn)移指令轉(zhuǎn)移條件JZrel;(A)=0,轉(zhuǎn)移,否則順序執(zhí)行JNZrel;(A)不等于0,轉(zhuǎn)移,否則順序執(zhí)行【例3-46】若A原始內(nèi)容為00H,則執(zhí)行:JNZLl;由于A的內(nèi)容為00H,所以程序往下執(zhí)行INCA;(A)=01HJNZL2;由于A的內(nèi)容已不為0,所以程序轉(zhuǎn)向L2處執(zhí)行2)位條件轉(zhuǎn)移指令轉(zhuǎn)移條件JCrel;C=1,轉(zhuǎn)移JNCrel;C=0,轉(zhuǎn)移JBbit,rel;(bit)=1,轉(zhuǎn)移JNBbit,rel;(bit)=0,轉(zhuǎn)移JBCbit,rel;(bit)=1轉(zhuǎn)移,且(bit)=0
2.比較不相等轉(zhuǎn)移指令CJNEA,direct,rel;若(A)≠(direct),則轉(zhuǎn)移PC=PC)+3+relCJNEA,#data,rel;若(A)≠data,則轉(zhuǎn)移CJNERn,#data,rel;若(Rn)≠data,則轉(zhuǎn)移CJNE@Ri,#data,rel;若((Ri))≠data,則轉(zhuǎn)移該組指令通常用于分支程序中。1)這組指令的功能是比較兩個操作數(shù)的大小。再根據(jù)比較情況進行不同的操作。如不相等則轉(zhuǎn)移;相等則順序執(zhí)行。轉(zhuǎn)移目標地址=當前的PC值加3后,再加指令的第三字節(jié)偏移量rel;2)注意:該指令還影響CY標志。若目的操作數(shù)大于源操作數(shù),則CY=0;若目的操作數(shù)小于源操作數(shù),則CY=1。如再用CY作為條件,則可實現(xiàn)進一步的分支轉(zhuǎn)移。例:某程序段如下:…..CJNEA,#50H,NEQ;(A)≠50H轉(zhuǎn)移到NEQ處執(zhí)行MOVR0,A;(A)=50H,則把(A)送R0……NEQ:MOVR1,A;(A)≠50H,則把(A)送R1……3.減1不為0轉(zhuǎn)移指令1)DJNZRn,rel
;先執(zhí)行(Rn)←(Rn)-1
;若(Rn)不等于0,繼續(xù)循環(huán);若(Rn)=0,則循環(huán)結束,順序執(zhí)行后面的指令
2)DJNZdirect,rel;先執(zhí)行(direct)←(direct)-1;若(direct)不等于0,繼續(xù)循環(huán);若(direct)=0,則則循環(huán)結束
【這組指令每執(zhí)行一次,便將目的操作數(shù)的循環(huán)控制單元的內(nèi)容減1,并判斷其是否為0。若不為0,則轉(zhuǎn)移到目標地址繼續(xù)循環(huán);若為0,則結束循環(huán),程序往下執(zhí)行?!?/p>
這組指令通常用于循環(huán)程序中?!纠?-48】有一段程序如下:(累加程序)MOV23H,#0AHCLRALOOPX:ADDA,23HDJNZ23H,LOOPXSJMP$該程序執(zhí)行后,(A)=10+9+8+7+6+5+4+3+2+1=37H
三、調(diào)用與返回指令1.調(diào)用指令1)短調(diào)用指令ACALLaddr11;PC←
(PC)+2;PC內(nèi)容送堆棧SP←
(SP)+1,(SP)←(PC7-0);SP←
(SP)+1,(SP)←(PC15-8);PC10~0←addr11
其轉(zhuǎn)移范圍為2KB。
ACALL指令的目標地址是11位。在調(diào)用子程序時,該指令與AJMP指令類似,要求調(diào)用子程序的入口地址與ACALL指令后面指令的第一個字節(jié)在同一個2K頁面的程序存儲器區(qū)域中。
2)長調(diào)用指令LCALLaddr16;PC←
(PC)+3
;PC內(nèi)容送堆棧;PC←addr16轉(zhuǎn)移范圍為64KB。
LCALL指令的目標地址是16位。可在64K程序存儲器區(qū)域范圍內(nèi)調(diào)用任何一個子程序。
3)返回指令功能:從堆棧中取出斷點地址,送PC。(1)子程序返回指令
RET;PC15-8←((SP)),SP←
(SP)-1
;PC7-0←((SP)),SP←
(SP)-1,斷點地址送PC
用于子程序的結束。
【RET指令的功能是從堆棧中彈出由調(diào)用指令壓人堆棧保護的斷點地址,并送入指令計數(shù)器PC,從而結束子程序的執(zhí)行。程序返回到斷點處(即調(diào)用指令的下一條指令處)繼續(xù)執(zhí)行?!浚?)中斷返回指令
RETI;斷點地址送PC
它用于中斷服務程序的結束。其操作同RET,但它同時還清除內(nèi)部的中斷狀態(tài)寄存器。四、空操作指令
NOP;PC←(PC)+1機器碼為:00H
這條指令不產(chǎn)生任何操作,常用來實現(xiàn)等待或延時。課題(章節(jié)名稱)3-7位操作指令時間2011年4月1日星期23、4節(jié)第13次課教學目的與要求掌握位操作指令并熟練應用教學重點位變量傳送,位邏輯運算指令教學難點位條件轉(zhuǎn)移指令教學方法講授法教學時數(shù)2課外作業(yè)主要內(nèi)容時間分配位變量傳送指令二.位清0和置位指令三.位邏輯運算指令四.位條件轉(zhuǎn)移指令本章小結課堂練習10101551050課后小結
3.7位操作類指令
AT89C51有一個完整的位處理機,用于對位地址進行操作,只有內(nèi)部RAM20H~2FH單元和單元地址能被8整除的特殊功能寄存器能夠進行位操作,所有的位操作都是直接尋址方式進行的。在位處理器中,位的傳送和邏輯運算是通過進位標志CY來完成的,CY的作用相當于CPU中的累加器A。位操作指令共17條,如表3-5所示。表3-5位操作指令類型助記符操作碼功能字節(jié)機器周期位傳送MOVC,bitMOVbit,CA2bit92bitC←(bit)bit←C2212位修改CLRCCLRbitCPLCCPLbitSETBCSETBbitC3C2bitB3B2bitD3D2bitC←0bit←0C←bit←(/bit)C←1bit←1121212111111位邏輯運算ANLC,bitANLC,/bitORLC,bitORLC,/bit82bitB0bit72bitA0bitC←C∧(bit)C←C∧(/bit)C←C∨(bit)C←C∨(/bit)22222222判位轉(zhuǎn)移JCrelJNCrelJBbit,relJNBbit,rel40rel50rel20bitrel30bitrelC=1,轉(zhuǎn)C=0,轉(zhuǎn)(bit)=1,轉(zhuǎn)(bit)=0,轉(zhuǎn)22332222
JBCbit,rel10bitrelbit=1轉(zhuǎn)bit←032位地址可有4種表示方法:1)直接使用位地址MOVC,00H2)采用第幾單元(字節(jié)單元)第幾位表示MOVC,20H.03)特殊功能寄存器可用寄存器名加位數(shù)表示MOVC,P1.04)采用偽指令定義F1BIT00H;把位地址00H定義為F1MOVF1,C1.位數(shù)據(jù)傳送指令
MOVbit,C;bit←
(CY)
MOVC,bit;CY←
(bit)這組指令的功能是將源操作數(shù)位地址單元的值傳送給目標操作數(shù)指向的位地址單元中,源操作數(shù)內(nèi)容不變。
[例]MOVC,07H;將內(nèi)部RAM20H單元的最高位的值送入CY中
MOVP1.0,C;將CY的值送入P1口的D0位例3-50若(CY)=1,(P3)=11000101B,(P1)=00110101B。執(zhí)行以下指令:MOVP1.3,CMOVC,P3.3MOVP1.2,C結果為:(CY)=0,P3口內(nèi)容未變,P1口內(nèi)容變?yōu)?0111001B2.位狀態(tài)設置指令1)CLRC;CY←0CLRbit;bit←03)SETBC;CY←14)SETBbit;bit←13.位邏輯運算指令1)與運算ANLC,bit;C←
(C)∧(bit)ANLC,/bit;C←
(C)∧/(bit)“/”表示用尋址位的邏輯非作源值,它不影響源位本身值。例:設P1為輸入口,P3.1作輸出線,執(zhí)行下列指令:MOVC,P1.1ANLC,P1.2ANLC,/P1.3MOVP3.1,C結果;P3.1=(P1.1)∧(P1.2)∧/(P1.3)
2)或運算ORLC,bit;CY←
(CY)V(bit)ORLC,/bit;CY←(CY)V/(bit)3)取反運算CPLC;CY←/(CY)CPLbit;bit←/(bit)4.位條件轉(zhuǎn)移類指令位判斷轉(zhuǎn)移指令都是條件轉(zhuǎn)移指令,轉(zhuǎn)移的目標地址都是用相對偏移量表示的,轉(zhuǎn)移范圍相對于該指令的下一條指令-128~+127范圍內(nèi)。使用這些指令編程時,只用一個標號或16位數(shù)來表示轉(zhuǎn)移目標地址。
指令轉(zhuǎn)移條件JCrel;CY=1,轉(zhuǎn)移JNCrel;CY=0,轉(zhuǎn)移JBbit,rel;(bit)=1,轉(zhuǎn)移JNBbit,rel;(bit)=0,轉(zhuǎn)移JBCbit,rel;(bit)=1轉(zhuǎn)移,且置(bit)=0
3.4實驗實驗1熟悉并使用傳送類指令
1.實驗目的
(1)了解實驗設備的安裝和分布。
(2)熟悉實驗設備的操作和使用。
(3)掌握89C51傳送類指令。
2.實驗器材單片機開發(fā)設備一套。3.實驗步驟
(1)仔細觀察單片機開發(fā)實驗設備,認識印制線路板上的程序存儲器、數(shù)據(jù)存儲器、各主要接口電路及鍵盤、開關、數(shù)碼管、顯示器等輸入、輸出設備。
(2)根據(jù)開發(fā)機使用說明,學習開發(fā)機的基本操作:開機、復位、數(shù)據(jù)存儲器和特殊功能寄存器數(shù)據(jù)的輸入、修改和顯示、程序的輸入、調(diào)試及運行等。(3)觀察復位鍵的功能:按下復位鍵,將R0~R7、A、PSW、B和SP都送入十六進制數(shù)FFH,再按下復位鍵后,讀出上述寄存器內(nèi)容,觀察其結果有何變化。請反復操作兩次。
(4)學習MOVX和XCH指令的功能,可參考以下步驟:①
輸入下列程序。ORG2000HMOVA,#55HMOVDPTR,#0020HMOVX@DPTR,AMOV20H,#0AAHXCHA,20HMOVX@DPTR,ASJMP$②
運行程序前觀察DPTR、A、內(nèi)部RAM20H單元和外部RAM20H單元的值,然后單步運行上述程序,再重新觀察上述寄存器和存儲器單元內(nèi)容的變化。③
分析程序的運行結果,說明該程序的功能。(5)學習堆棧指令的功能,可參考以下步驟:①
輸入下列程序。ORG2000HMOVA,#55HMOVPSW,#0CCHPUSHACCPUSHPSWMOVA,#66HMOVPSW,#77HPOPPSWPOPACCSJMP$②
按復位鍵,觀察A、PSW、SP、07、08和09單元的內(nèi)容,再單步運行上述程序,重新觀察上述寄存器和堆棧區(qū)內(nèi)容的變化。4.思考與討論(1)復位鍵的作用和功能。
(2)堆棧有什么作用?
實驗2熟悉并使用算術邏輯操作類指令1.實驗目的(1)熟悉算術運算類指令。(2)熟悉邏輯運算類指令。(3)掌握算術運算類指令對標志位的影響。2.實驗器材單片機開發(fā)設備一套。3.實驗內(nèi)容和步驟
(1)學習加法指令,可參考以下步驟:①
設30H和32H開頭分別存放兩個16位無符號二進制數(shù)(低8位在前,高8位在后),輸入下面完成兩個數(shù)相加的程序。ORG2000HMOVR0,#30HMOVR1,#32HMOVA,@R0ADDA,@R1MOV@R0,AINCR0INCR1MOVA,@R0ADDCA,,@R1MOV@R0,ASJMP$②
閱讀上述程序,分析程序執(zhí)行過程。將被加數(shù)1122H和加數(shù)3344H分別送入內(nèi)部RAM的相應單元,即(31H)=33H、(30H)=44H、(33H)=11H和(32H)=22H。③
運行程序,觀察31H和30H單元中的兩數(shù)和以及進位CY。④
將被加數(shù)和加數(shù)分別改為8899H和AABBH,并送入相應存儲單元,然后再觀察兩數(shù)和以及進位CY。⑤
人工分別求出以上數(shù)據(jù)之和,并與程序運行結果比較。
(2)學習MOVC查表指令,可參考以下步驟:①
輸入下列完成(0~9)平方值的程序。
ORG2000HADDA,#02HMOVCA,@A+PCSJMP$DB00H,01H,04H,09H,10HDB19H,24H,31H,40H,51HEND②
先給累加器A中送入一個數(shù)3,然后分別采用單步和連續(xù)運行方法執(zhí)行上面程序,并觀察累加器A中內(nèi)容是否為3的平方。③
給累加器A分別重新賦初值4、6、9并運行上述程序,同時檢查累加器A中內(nèi)容是否為初值的平方。
(3)學習移位指令,可參考以下步驟:①
以下程序是將無符號數(shù)擴大6倍程序。設擴大6倍的值不超過255。輸入下列程序:
ORG2000HCLRCMOVA,30HRLARLAADDA,30HADDA,30HMOV30H,ASJMP$END②
給30H單元送一初值,注意不要超過42。運行程序再觀察30H單元的內(nèi)容。③
分別重新給30H在0~42中賦初值,檢查30H單元的內(nèi)容,分析程序執(zhí)行前后的結果是否吻合。4.思考與討論
(1)RLA指令的功能是什么?若將一個數(shù)除
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品質(zhì)培訓提升員工質(zhì)量意識
- 東野圭吾作品分析
- 上證50ETF期權介紹
- 《雖有佳肴》課件
- 七大浪費知識
- 宏觀深度報告:2025年十大“不一致”預期
- 單位管理制度展示選集職員管理篇十篇
- 部編版三年級語文上冊期末試卷(無答案)
- IFRS17對保險行業(yè)影響的深度解析:專題二開啟計量“黑盒子”
- 單位管理制度展示匯編【職員管理】
- 單位委托員工辦理水表業(yè)務委托書
- 2024年江蘇省蘇州市中考英語真題
- 02S501-2 雙層井蓋圖集標準
- 小班幼兒能力測查與分析報告
- 停車場管理系統(tǒng)說明書
- 《醫(yī)療機構消毒技術規(guī)范》考試復習題庫200題(含答案)
- 出租車服務質(zhì)量提升
- 麻醉藥品精神藥品管理
- 科技成果轉(zhuǎn)化培訓資料
- 人教版小學四年級語文上冊基礎練習題和答案全冊
- 心力衰竭的藥物治療與康復
評論
0/150
提交評論