模塊二單片機(jī)指令系統(tǒng)和匯編語言程序設(shè)計(jì).doc_第1頁
模塊二單片機(jī)指令系統(tǒng)和匯編語言程序設(shè)計(jì).doc_第2頁
模塊二單片機(jī)指令系統(tǒng)和匯編語言程序設(shè)計(jì).doc_第3頁
模塊二單片機(jī)指令系統(tǒng)和匯編語言程序設(shè)計(jì).doc_第4頁
模塊二單片機(jī)指令系統(tǒng)和匯編語言程序設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)應(yīng)用技術(shù)教案單片機(jī)應(yīng)用技術(shù)電子教案佛山職業(yè)技術(shù)學(xué)院Foshan Polytechnic 教學(xué)單元:程序設(shè)計(jì)基礎(chǔ)教學(xué)時(shí)數(shù): 2學(xué)時(shí)教學(xué)方法: 一體化教學(xué)教學(xué)目的:1、掌握89C51單片機(jī)存儲(chǔ)器結(jié)構(gòu); 2、掌握89C51單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu); 3、掌握51單片機(jī)七種尋址方式。教學(xué)重點(diǎn):89C51單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu),51單片機(jī)七種尋址方式。教學(xué)難點(diǎn):51單片機(jī)七種尋址方式。教學(xué)過程模塊二 單片機(jī)指令系統(tǒng)及匯編語言程序設(shè)計(jì)課題一 程序設(shè)計(jì)基礎(chǔ)任務(wù)一 存儲(chǔ)器認(rèn)識(shí)一、任務(wù)目標(biāo) 通過本任務(wù)的學(xué)習(xí)掌握單片機(jī)的存儲(chǔ)器結(jié)構(gòu)及作用。二、任務(wù)分析 51系列單片機(jī)有兩種存儲(chǔ)器(程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器)和4個(gè)存儲(chǔ)空間(內(nèi)部程序存儲(chǔ)器、外部程序存儲(chǔ)器、內(nèi)部數(shù)據(jù)存儲(chǔ)器、外部數(shù)據(jù)存儲(chǔ)器)。 89C51單片機(jī)片內(nèi)程序存儲(chǔ)器容量為4KB,地址為0000H0FFFH;片外程序存儲(chǔ)器最大容量為64KB,地址為0000H FFFFH;內(nèi)部數(shù)據(jù)存儲(chǔ)器容量為256B,地址為00HFFH;外部數(shù)據(jù)存儲(chǔ)器最大容量為64KB,地址為0000HFFFFH。 內(nèi)部數(shù)據(jù)存儲(chǔ)器根據(jù)其用途的不同又分為兩部分:低128字節(jié)為用戶使用,稱為RAM區(qū);高128字節(jié)為單片機(jī)功能控制用,稱為特殊功能寄存器區(qū)(簡(jiǎn)稱SFR區(qū))。89C51單片機(jī)存儲(chǔ)器的配置圖如圖2-1所示。圖2-1 89C51單片機(jī)存儲(chǔ)器的配置圖三、相關(guān)知識(shí)1、 程序存儲(chǔ)器 89C51單片機(jī)程序存儲(chǔ)器為16位地址,可尋址的范圍為64KB,因此片外程序存儲(chǔ)器最大容量為64KB,而片內(nèi)程序存儲(chǔ)器容量為4KB。在物理結(jié)構(gòu)上分為片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器兩個(gè)部分,在邏輯結(jié)構(gòu)上(即用戶使用角度)為一個(gè)部分,采用同一指令(MOVC指令)進(jìn)行訪問,用外部引腳電平高低區(qū)分低4KB空間訪問的是內(nèi)部程序存儲(chǔ)器還是外部程序存儲(chǔ)器。2、數(shù)據(jù)存儲(chǔ)器51系列單片機(jī)的數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間,一個(gè)是片內(nèi)數(shù)據(jù)存儲(chǔ)器,另一個(gè)是片外數(shù)據(jù)存儲(chǔ)器。(1) 片內(nèi)數(shù)據(jù)存儲(chǔ)器89C51單片機(jī)片內(nèi)256個(gè)字節(jié)數(shù)據(jù)存儲(chǔ)器分為兩部分:低128字節(jié)為用戶數(shù)據(jù)RAM單元,地址為00H7FH,該部分為用戶數(shù)據(jù)存取使用;高128字節(jié)為特殊功能寄存器(SFR)單元,地址為80HFFH,該部分為單片機(jī)功能控制用。片內(nèi)數(shù)據(jù)存儲(chǔ)器低128字節(jié)根據(jù)用途的不同,又可分為3個(gè)區(qū):工作寄存器區(qū),地址為00H1FH,共32個(gè)字節(jié),該區(qū)為工作寄存器用;位尋址區(qū),地址為20H2FH,共16個(gè)字節(jié)128位,位地址為00H7FH,該區(qū)單元既可按字節(jié)操作,又可按位操作;用戶RAM區(qū),地址為30H7FH,共80個(gè)字節(jié),該區(qū)為用戶數(shù)據(jù)存取用,只能按字節(jié)操作。工作寄存器區(qū)32個(gè)字節(jié)被均勻地分為4個(gè)組:第0組工作寄存器,地址為00H07H;第1組工作寄存器,地址為08H0FH;第2組工作寄存器,地址為10H17H;第3組工作寄存器,地址為18H 1FHH。每組工作寄存器有8個(gè)寄存器,均以R0R7來命名。在程序運(yùn)行時(shí),究竟用哪組工作寄存器,要通過特殊功能寄存器中的程序狀態(tài)字寄存器(PSW)的第3和第4位(RS0和RS1)的值來加以區(qū)分。特殊功能寄存器區(qū)離散地分布了21個(gè)特殊功能寄存器,這些寄存器反映了51單片機(jī)的運(yùn)行狀態(tài),很多功能均是通過特殊功能寄存器來定義和控制執(zhí)行的,這些寄存的功能已作了專門的規(guī)定,用戶不能修改其結(jié)構(gòu)。如累加器A、寄存器B、程序狀態(tài)字寄存器PSW、數(shù)據(jù)指針DPTR、I/O口寄存器P0、P1、P2、P3等均為特殊功能寄存器。89C51單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)如下圖所示。(2)片外數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 51單片機(jī)片外數(shù)據(jù)存儲(chǔ)器為16位地址空間,因此最多可擴(kuò)充64KB。四、任務(wù)實(shí)施1、單片機(jī)存儲(chǔ)器總體分配51單片機(jī)存儲(chǔ)器程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器片內(nèi)程序存儲(chǔ)器4KB地址:0000H0FFFH片外程序存儲(chǔ)器64KB地址:0000HFFFFH片內(nèi)數(shù)據(jù)存儲(chǔ)器256B地址:00HFFH片外數(shù)據(jù)存儲(chǔ)器64KB地址:0000HFFFFHRAM區(qū)128B地址:00H7FHSFR區(qū)128B地址:80HFFH工作寄存器區(qū)32B地址:00H1FH位尋址區(qū)16B地址:20H2FH用戶RAM區(qū)80B地址:30H7FH第0組工作寄存器8B地址:00H07H第1組工作寄存器8B地址:08H0FH第2組工作寄存器8B地址:10H17H第3組工作寄存器8B地址:18H1FH數(shù)據(jù)存儲(chǔ)器功能:存放用戶數(shù)據(jù)訪問方式:即能讀又能寫片內(nèi)數(shù)據(jù)存儲(chǔ)器訪問指令:MOV片外數(shù)據(jù)存儲(chǔ)器訪問指令:MOVXRAM區(qū)用途:用戶使用工作寄存器區(qū)用途:工作寄存器用位尋址區(qū)用途:位尋址用用戶RAM區(qū)用途:用戶存取數(shù)據(jù)用2、單片機(jī)存儲(chǔ)器各部分的功能及使用注意任務(wù)二 尋址方式一、任務(wù)目標(biāo) 通過本任務(wù)的學(xué)習(xí),應(yīng)熟練掌握單片機(jī)的7種尋址方式。二、任務(wù)分析51單片機(jī)有7種尋址方式:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對(duì)尋址和位尋址。三、相關(guān)知識(shí)1、特殊功能寄存器(1) 累加器ACC 累加器ACC是一個(gè)最常用的特殊功能寄存器,累加器的地址為E0H,在指令中常將ACC簡(jiǎn)寫為A。大部分單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。加、減、乘、除運(yùn)算指令的運(yùn)算結(jié)果都存放于累加器A或累加器A和寄存器B中。(2) 程序狀態(tài)字寄存器PSW 程序狀態(tài)字也是一個(gè)特殊功能寄存器,它在SFR中的地址為D0H,用于存放程序運(yùn)行的狀態(tài)信息。寄存器的各位定義及功能見表2-1。表2-1 程序狀態(tài)字PSW各位定義及位功能表位序位標(biāo)志位名稱功能PSW.0P奇偶校驗(yàn)位表示累加器A內(nèi)容的奇偶性,改變A中內(nèi)容的指令會(huì)影響奇偶標(biāo)志位。若A中有奇數(shù)個(gè)“1”,則P置“1”,否則清“0”。PSW.1PSW.2OV溢出標(biāo)志位執(zhí)行加法指令時(shí),當(dāng)位6向位7有進(jìn)位或借位,而位7向CY沒有進(jìn)位或借位時(shí),OV=1?;蛘呶?向位7沒有進(jìn)位或借位,而位7向CY有進(jìn)位或借位時(shí),同樣OV=1。所以O(shè)V為位6的進(jìn)位或借位與位7的進(jìn)位或借位的異或,即OV=CY6CY7 (其中CY6表示位6的進(jìn)位或借位,CY7表示位7的進(jìn)位或借位)。執(zhí)行乘法指令時(shí),乘積超過255時(shí),OV=1,乘積在AB寄存器對(duì)中。若OV=0,則說明乘積沒有超過255,乘積只在累加器A中。 執(zhí)行除法指令時(shí),OV=1,表示除數(shù)為0,運(yùn)算不被執(zhí)行;否則OV=0。PSW.4PSW.3RS1RS0工作寄存器組選擇控制位RS1 RS0 工作寄存器組0 0 第0組(00H07H)0 1 第1組(08H0FH)1 0 第2組(10H17H)1 1 第3組(18H1FH)PSW.5F0用戶標(biāo)志位 供用戶設(shè)置的標(biāo)志位,由軟件置“1”或清“0”。PSW.6AC輔助進(jìn)位標(biāo)志位進(jìn)行加、減運(yùn)算時(shí),當(dāng)?shù)?位向高4位有進(jìn)位或借位時(shí),AC置“1”,否則清“0”。該位主要用于十進(jìn)制調(diào)整。PSW.7CY進(jìn)位標(biāo)志位 此位有兩個(gè)功能:一是執(zhí)行加法或減法運(yùn)算時(shí),存放運(yùn)算結(jié)果的進(jìn)位或借位標(biāo)志,當(dāng)運(yùn)算結(jié)果的最高位有進(jìn)位或借位時(shí)置“1”,否則清“0”。二是在位操作中作累加位使用,在指令中常簡(jiǎn)寫為C。 (3) 數(shù)據(jù)指針DPTR 數(shù)據(jù)指針為16位寄存器,其地址為83H和82H,編程時(shí)既可以按16位寄存器來使用,也可以按2個(gè)8位寄存器來使用,即高字節(jié)寄存器DPH(地址為83H)和低字節(jié)寄存器DPL(地址為82H)。DPTR主要是用來存放16位地址,當(dāng)對(duì)64KB外部數(shù)據(jù)存儲(chǔ)器尋址時(shí),作為間址寄存器使用。當(dāng)訪問程序存儲(chǔ)器時(shí),DPTR可用來作基址寄存器,采用基址+變址尋址方式訪問程序存儲(chǔ)器。2、程序計(jì)數(shù)器PC 程序計(jì)數(shù)器在物理上是獨(dú)立的,它不屬于特殊功能寄存器區(qū)中的寄存器。PC是一個(gè)16位的計(jì)數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64KB,PC有自動(dòng)加1功能,即執(zhí)行完一條指令后,其內(nèi)容自動(dòng)加1。PC本身并沒有地址,因而不可尋址,用戶無法對(duì)它進(jìn)行讀寫,但是可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序按用戶要求去執(zhí)行。3、片內(nèi)RAM位尋址區(qū)位地址片內(nèi)RAM位尋址區(qū)20H2FH單元,共有16個(gè)字節(jié),128個(gè)位,位地址為00H7FH,位地址分配見表2-2,CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、取反、位傳送和位邏輯運(yùn)算等操作。表2-2 片內(nèi)RAM位尋址區(qū)位地址表單元地址MSB位地址LSB2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H 4、七種尋址方式(1) 立即尋址 立即尋址就是把操作數(shù)(指令的操作對(duì)象)直接在指令中給出,即操作數(shù)包含在指令中,指令操作碼的后面緊跟著參與運(yùn)算的操作數(shù),一般把指令中的操作數(shù)稱為立即數(shù)。為了與直接尋址相區(qū)別,在立即數(shù)前加上“#”號(hào)。 例如:MOVX A, #20H這條指令的意思是將20H這個(gè)操作數(shù)送到累加器A中。(2) 直接尋址 直接尋址就是指令中直接給出操作數(shù)的地址。 例如:MOV A, 30H這條指令的意思是把片內(nèi)RAM中的30H單元中的數(shù)據(jù)內(nèi)容傳送到累加器A中。(3) 寄存器尋址 寄存器尋址就是操作數(shù)放在當(dāng)前工作寄存器組的寄存器(R0R7)中,當(dāng)前工作寄存器組的選擇是通過程序狀態(tài)字寄存器PSW的RS1和RS0來確定的,參見表2-1。 例如:MOV A, R1這條指令的意思是把當(dāng)前工作寄存器組中的R1的內(nèi)容送到累加器A中。(4) 寄存器間接尋址 寄存器間接尋址方式就是操作數(shù)放在寄存器指向的地址單元中,即寄存器中存放的是操作數(shù)的地址。在間接地址寄存器前面一定要加符號(hào),在寄存器R0R7中只有R0和R1可作間接地址寄存器用。 例如:MOVA,R0 這條指令的意思是R0寄存器指向的地址單元中的內(nèi)容送到累加器A中。如R0=50H,就是將50H單元中的數(shù)據(jù)送到累加器A中。(5) 變址尋址 變址尋址是以DPTR或PC作為基址寄存器,以累加器A作為變址寄存器,將兩寄存器的內(nèi)容相加形成16位地址,作為操作數(shù)的實(shí)際地址。 例如: MOVCA, A+DPTR MOVCA, A+PC 在這兩條指令中,A作為變址(偏移量)寄存器,DPTR或PC作為基址寄存器,A與 DPTR或PC的內(nèi)容相加,得到訪問單元的實(shí)際地址。(6) 相對(duì)尋址 相對(duì)尋址方式是為程序的相對(duì)轉(zhuǎn)移而設(shè)計(jì)的,以PC當(dāng)前值的內(nèi)容為基址,加上指令中給出的偏移量作為轉(zhuǎn)移目的地址,從而實(shí)現(xiàn)程序的轉(zhuǎn)移。轉(zhuǎn)移的目的地址可按下式計(jì)算: 目的地址=轉(zhuǎn)移指令地址+轉(zhuǎn)移指令字接數(shù)+偏移量 例如:JNZ 60H 這條指令的意思是:若累加器A為0則程序順序執(zhí)行,即不跳轉(zhuǎn),PC=PC+2;若累加器A不為0,則以PC當(dāng)前值的內(nèi)容為基址,加上指令中給出的偏移量60H后所得的結(jié)果作為程序轉(zhuǎn)移的目的地址。(7) 位尋址 在51系列單片機(jī)中,RAM中的位尋址區(qū)20H-2FH單元對(duì)應(yīng)的位地址為00H7FH。某些特殊功能寄存器(地址末位數(shù)為0或8,或者是地址能被8整除的特殊功能寄存器)也可進(jìn)行位尋址,對(duì)這些單元既可以采用字節(jié)方式訪問,也可采用位尋址的方式訪問。 例如:SETB 5FH 這條指令的意思是將5FH位(即片內(nèi)RAM中2BH單元的第7位)置“1”。四、任務(wù)實(shí)施1、51單片機(jī)七種尋址方式七種尋址方式立即尋址直接尋址寄存器間接尋址寄存器尋址變址尋址相對(duì)尋址位尋址操作數(shù)在指令中直接給出操作數(shù)地址在指令中直接給出操作數(shù)在寄存器中操作數(shù)的地址在寄存器中操作數(shù)的地址由基址寄存器(DPTR或PC)的內(nèi)容與變址寄存器(A)的內(nèi)容相加得到在轉(zhuǎn)移指令中,以PC當(dāng)前值為基址,加上指令中給出的相對(duì)偏移量作為轉(zhuǎn)移目的地址操作數(shù)地址在片內(nèi)數(shù)據(jù)存儲(chǔ)器的位尋址區(qū)或可位尋址的特殊功能寄存器的位中例: MOV A , #20H例: MOV A , 20H例: MOV A , R0例: JZ30H例: MOVCA , A+DPTR MOVC A , A+PC例: MOV A , R0MOVX A , DPTR例: SETB50H 2、 不同存儲(chǔ)器空間采用的尋址方式外部程序存儲(chǔ)器內(nèi)部程序存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器SFR區(qū)用戶RAM區(qū)位尋址區(qū)工作寄存器區(qū)立即尋址(操作數(shù)在指令中)寄存器間接尋址(A+DPTR、A+PC)相對(duì)尋址(PC+指令中給出的偏移量)寄存器間接尋址(R0、R1、DPTR)直接尋址直接尋址、寄存器間接尋址(R0、R1)位尋址、直接尋址、寄存器間接尋址(R0、R1)寄存器尋址(R0R7)、直接尋址寄存器間接尋址(R0、R1)小結(jié)1、89C51單片機(jī)存儲(chǔ)器結(jié)構(gòu)。2、89C51單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)。3、51單片機(jī)七種尋址方式。課后作業(yè)1、 簡(jiǎn)述單片機(jī)存儲(chǔ)器總體分配情況。2、 簡(jiǎn)述單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)。3、 簡(jiǎn)述單片機(jī)七種尋址方式。4、 簡(jiǎn)述單片機(jī)不同存儲(chǔ)器空間的尋址方式。5、 回答下列指令的尋址方式:(1) MOV A, #6AH(2) MOV A, #0E#H(3) MOV A, 3FH(4) MOV A, 7BH(5) MOV A, R1(6) MOV A, R3(7) MOV A, R0(8) MOV A, R1(9) MOVX A, DPTR(10) MOVC A, A+DPTR(11) MOV A, A+PC(12) JZ 50H(13) SETB 01H教學(xué)單元: 延時(shí)程序教學(xué)時(shí)數(shù): 2學(xué)時(shí)教學(xué)方法: 一體化教學(xué)教學(xué)目的:1、了解循環(huán)程序結(jié)構(gòu)。 2、掌握延時(shí)程序中的相關(guān)指令及應(yīng)用。 3、掌握延時(shí)程序的設(shè)計(jì)方法。教學(xué)重點(diǎn):延時(shí)程序的設(shè)計(jì)方法。教學(xué)難點(diǎn):相關(guān)指令及應(yīng)用。教學(xué)過程課題二 延時(shí)程序任務(wù)一 延時(shí)程序設(shè)計(jì)一、任務(wù)目標(biāo) 本任務(wù)主要講解如何設(shè)計(jì)出一個(gè)規(guī)定延時(shí)時(shí)間(本任務(wù)中延時(shí)時(shí)間為1S)的延時(shí)程序。二、任務(wù)分析軟件延時(shí)程序的主要設(shè)計(jì)思想是利用循環(huán)體為空操作或無循環(huán)體的循環(huán)程序,只占用CPU的時(shí)間,而不進(jìn)行任何實(shí)質(zhì)性操作,來實(shí)現(xiàn)延時(shí)功能。在51系列單片機(jī)中無專用的循環(huán)指令,通常用寄存器Rn減1不為0則轉(zhuǎn)移指令DJNZ Rn,rel 來實(shí)現(xiàn)循環(huán)變量改變及循環(huán)結(jié)束控制。循環(huán)程序結(jié)構(gòu)流程圖如圖2-3所示。單片機(jī)的機(jī)器周期一般為幾個(gè)微秒,所以要實(shí)現(xiàn)較長時(shí)間的延時(shí),需用多重循環(huán)。如圖2-4所示為兩重循環(huán)程序結(jié)構(gòu)流程示意圖,三重以上循環(huán)程序結(jié)構(gòu)與此類似。N循環(huán)變量賦初值循環(huán)體循環(huán)變量減1 及 循環(huán)結(jié)束判斷MOV Rn,#dataDJNZ Rn,k在延時(shí)程序中循環(huán)體為空操作指令NOP或無循環(huán)體開始結(jié)束YKY第二重循環(huán)變量賦初值第一重循環(huán)變量賦初值循環(huán)體第一重循環(huán)變量減1 及循環(huán)結(jié)束判斷第二重循環(huán)變量減1 及循環(huán)結(jié)束判斷開始結(jié)束YNNMOV Rn2,#data2MOV Rn1,#data1NOPDJNZ Rn1,k1DJNZ Rn2,k2K2K1圖2-3 循環(huán)程序結(jié)構(gòu)流程圖圖2-4 兩重循環(huán)程序結(jié)構(gòu)流程示意圖三、相關(guān)知識(shí)1、以工作寄存器Rn為目的操作數(shù)的數(shù)據(jù)傳送指令格式: MOV 目的操作數(shù),源操作數(shù)功能:目的操作數(shù)源操作數(shù)中的數(shù)據(jù) MOV Rn,A ;RnA MOV Rn,#data;Rndata MOV Rn,direct;Rn(direct)這3條指令的功能是把源操作數(shù)的內(nèi)容傳送給工作寄存器組R0R7中的某個(gè)寄存器。指令執(zhí)行后,源操作數(shù)的內(nèi)容不變,目的操作數(shù)(工作寄存器)的內(nèi)容修改為源操作數(shù)。書寫指令時(shí)要注意:Rn代表R0R7中的一個(gè)工作寄存器,沒有MOV Rn1, Rn2指令。2、工作寄存器減1不為0的轉(zhuǎn)移指令 DJNZ Rn,rel ;RR1 ;Rn0轉(zhuǎn)移 ;Rn=0順序執(zhí)行下一條指令 DJNZ direct,rel ; (direct) (direct)1 ; (direct)0轉(zhuǎn)移 ;(direct)=0順序執(zhí)行下一條指令這兩條指令將源操作數(shù)減1,結(jié)果仍送回源操作數(shù),如結(jié)果不等于0則轉(zhuǎn)移,如結(jié)果等于0,則順序執(zhí)行下一條指令。rel為相對(duì)偏移量,即相對(duì)本指令的下一條指令轉(zhuǎn)移的字節(jié)數(shù),rel是一個(gè)8位帶符號(hào)數(shù),其數(shù)值為-128+127,負(fù)數(shù)表示向后轉(zhuǎn)移,正數(shù)表示向前轉(zhuǎn)移,所以轉(zhuǎn)移范圍為相對(duì)本轉(zhuǎn)移指令的下一條指令的-128+127共256個(gè)單元。執(zhí)行指令時(shí),如發(fā)生轉(zhuǎn)移,則PC=本轉(zhuǎn)移指令地址+本轉(zhuǎn)移指令字節(jié)數(shù)+rel,因程序計(jì)數(shù)器PC的值為將要執(zhí)行指令的地址,所以轉(zhuǎn)移目的地址=本轉(zhuǎn)移指令地址+本轉(zhuǎn)移指令字節(jié)數(shù)+rel (rel=轉(zhuǎn)移目的地址-本轉(zhuǎn)移指令地址-本轉(zhuǎn)移指令字節(jié)數(shù));如沒發(fā)生轉(zhuǎn)移則PC=本指令地址+本指令字節(jié)數(shù)=下一條指令的地址,即順序執(zhí)行下一條指令。在進(jìn)行程序設(shè)計(jì)時(shí),rel通常用目的地址的標(biāo)號(hào)表示,在程序匯編時(shí)由計(jì)算機(jī)自動(dòng)計(jì)算出指令的相對(duì)轉(zhuǎn)移偏移量,并填入指令代碼中。3、空操作指令 NOP ;PC PC1該指令控制CPU不進(jìn)行任何操作(即空操作)而轉(zhuǎn)到下一條指令,常用于產(chǎn)生一個(gè)機(jī)器周期的延遲。4、指令應(yīng)用舉例 例2-1 已知A=3FH,R1=40H,R2=50H,R3=60H,(A0H)=E8H,分析執(zhí)行下列指令后R1、R2、R3中的內(nèi)容。指令解釋結(jié)果MOV R1, AR1 AR1=3FHMOV R2, 0A0HR2(A0H)R2=E8HMOV R3, #0DBHR3 DBHR3=DBH例2-2 已知R0的當(dāng)前值為10,分析DJNZ R0,K指令執(zhí)行一次后,程序轉(zhuǎn)至何處。K: NOPDJNZ R0,KMOV R1,#0BFH分析:因R0當(dāng)前值為10,所以DJNZ R0,K執(zhí)行一次后,R0的值為R0=10-1=90,所以程序跳轉(zhuǎn)至標(biāo)號(hào)為K的指令處執(zhí)行。例2-3 已知R5的當(dāng)前值為1,分析DJNZ R5,K指令執(zhí)行一次后,程序轉(zhuǎn)至何處。 K: NOPDJNZ R5,KMOV R6,#90H分析:因R5當(dāng)前值為1,所以DJNZ R5,K執(zhí)行一次后,R5的值為R5=1-1=0,所以程序不發(fā)生跳轉(zhuǎn),順序執(zhí)行下一條指令MOV R6,#90H。四、任務(wù)實(shí)施 設(shè)系統(tǒng)晶振頻率為12MHz,則機(jī)器周期為1us。要求延時(shí)時(shí)間為1S,則應(yīng)用三重循環(huán)結(jié)構(gòu)。 設(shè)R1為第一重循環(huán)變量,初值為250;R2為第二重循環(huán)變量,初值為250;R3為第三重循環(huán)變量,初值為4。循環(huán)變量賦初值用MOV Rn,#data指令,分別為“MOV R3,#4”,“MOV R2,#250”,“MOV R1,#250”;循環(huán)體為兩條空操作NOP指令;循環(huán)變量減1及循環(huán)結(jié)束判斷用DJNZ Rn,rel指令,分別為“DJNZ R1,K1”,“DJNZ R2,K2”,“DJNZ R3,K3”。 根據(jù)上面分析設(shè)計(jì)出的延時(shí)1S的延時(shí)程序如下: MOV R3, #4 ;給第三重循環(huán)變量R3賦初值4第一重循環(huán)第三重循環(huán)第二重循環(huán)K3: MOV R2, #250 ;給第二重循環(huán)變量R2賦初值250K2: MOV R1, #250 ;給第一重循環(huán)變量R1賦初值250K1: NOP ;空操作,占用1個(gè)機(jī)器周期 NOP ;空操作,占用1個(gè)機(jī)器周期 DJNZ R1, K1 ;R1減1不為0則轉(zhuǎn)移至K1處,若為0則順序執(zhí)行下一條指令 DJNZ R2, K2 ;R2減1不為0則轉(zhuǎn)移至K2處,若為0則順序執(zhí)行下一條指令 DJNZ R3, K3 ;R3減1不為0則轉(zhuǎn)移至K3處,若為0則順序執(zhí)行下一條指令小結(jié)1、 延時(shí)程序中用到的相關(guān)指令。2、 循環(huán)程序設(shè)計(jì)方法。課后作業(yè)1、在本任務(wù)中,如要求延時(shí)時(shí)間為0.5S或2S,則延時(shí)程序中循環(huán)變量R3的初值應(yīng)如何修改?2、在本任務(wù)中,如循環(huán)變量R3的初值為12,則延時(shí)程序的延時(shí)時(shí)間為多少?教學(xué)單元: 延時(shí)程序教學(xué)時(shí)數(shù): 2學(xué)時(shí)教學(xué)方法: 一體化教學(xué)教學(xué)目的:1、掌握交替間隔1S左移循環(huán)亮燈程序中的相關(guān)指令。 2、掌握交替間隔1S左移循環(huán)亮燈程序設(shè)計(jì)方法。 3、掌握單片機(jī)幾個(gè)時(shí)間單位概念及計(jì)算。 4、掌握延時(shí)程序的延時(shí)時(shí)間的計(jì)算方法。教學(xué)重點(diǎn):1、交替間隔1S左移循環(huán)亮燈程序設(shè)計(jì)方法。 2、延時(shí)程序的延時(shí)時(shí)間的計(jì)算方法。教學(xué)難點(diǎn):相關(guān)指令及應(yīng)用。教學(xué)過程任務(wù)二 延時(shí)程序驗(yàn)證一、任務(wù)目標(biāo) 本任務(wù)通過一交替間隔1S循環(huán)左移亮燈電路來觀察和驗(yàn)證任務(wù)一設(shè)計(jì)的延時(shí)程序的正確性。二、任務(wù)分析根據(jù)設(shè)計(jì)任務(wù)得出如圖2-5所示的亮燈情況示意圖。 將8只發(fā)光二極管接于P1口,將上述亮燈數(shù)據(jù)送P1口即可觀察到8只發(fā)光二極管的亮燈情況。根據(jù)上述亮燈示意圖可得如圖2-6所示的程序結(jié)構(gòu)流程圖。亮燈步驟L8 L7 L6 L5 L4 L3 L2 L11 2 3 4 5 6 7 8 表示燈滅表示燈亮圖2-5交替間隔循環(huán)左移亮燈示意圖將A的數(shù)據(jù)左移一位開始亮燈數(shù)據(jù)初值送A將A的數(shù)據(jù)送P1口亮燈延時(shí)1S無條件轉(zhuǎn)移至K處KMOV A, #01HMOV P1, A任務(wù)一中的延時(shí)程序RL ASJMP K 圖2-6 交替間隔循環(huán)左移亮燈程序流程圖三、相關(guān)知識(shí)、 1、以累加器A為目的操作數(shù)的數(shù)據(jù)傳送指令 MOVA,#data;Adata MOVA,direct;A(direct) MOVA,Rn ;ARn MOVA,Ri;A(Ri) 這4條指令是將源操作數(shù)的內(nèi)容傳送給累加器A,源操作數(shù)的尋址方式有立即尋址、直接尋址、寄存器尋址和寄存器間接尋址4種。2、循環(huán)移位指令 RL A ;累加器A的內(nèi)容向左循環(huán)移一位 RR A ;累加器A的內(nèi)容向右循環(huán)移一位 RLC A ;累加器A的內(nèi)容帶進(jìn)位標(biāo)志位向左循環(huán)移一位 RRC A ;累加器A的內(nèi)容帶進(jìn)位標(biāo)志位向右循環(huán)移一位循環(huán)移位指令的執(zhí)行示意圖如圖2-7所示。RL ARLC ARR ARRC A圖2-7 循環(huán)移位指令的執(zhí)行示意圖3、無條件轉(zhuǎn)移指令 LJMP addr16 ;PC addr16 AJMP addr11 ;PC PC+2, PC100 addr11 SJMP rel ;PC PC+2,PC PC+rel JMP A+DPTR ; PC A+DPTRLJMP addr16指令為長轉(zhuǎn)移指令,將16位目標(biāo)地址addr16裝入PC,程序無條件轉(zhuǎn)向指定的目標(biāo)地址執(zhí)行。轉(zhuǎn)移指令的目標(biāo)地址可在64KB程序存儲(chǔ)器地址空間的任何單元,不影響任何標(biāo)志位。在程序設(shè)計(jì)時(shí)addr16通常用轉(zhuǎn)移目的地址的標(biāo)號(hào)表示。AJMP addr11指令為絕對(duì)轉(zhuǎn)移指令,執(zhí)行該指令時(shí),先將PC加2,然后將addr11(目的地址的低11位)送入PC10PC0,而PC15PC11保持不變。 這樣實(shí)際轉(zhuǎn)移的目的地址為AJMP下一條指令的高5位地址加上目的地址的低11位,而想要轉(zhuǎn)移的目的地址要與實(shí)際轉(zhuǎn)移的目的地址相同,程序執(zhí)行才不會(huì)發(fā)生錯(cuò)誤,所以必須使想要轉(zhuǎn)移的目的地址的高5位與AJMP下一條指令地址的高5位相同,即想要轉(zhuǎn)移的目的地址與AJMP下一條指令必須在同一個(gè)2KB的存儲(chǔ)器區(qū)域內(nèi)。在程序設(shè)計(jì)中addr11通常用目的地址的標(biāo)號(hào)表示,實(shí)際目的地址由匯編程序自動(dòng)計(jì)算出。 SJMP rel指令為相對(duì)轉(zhuǎn)移指令,rel為相對(duì)偏移量,即相對(duì)SJMP的下一條指令轉(zhuǎn)移的字節(jié)數(shù),有關(guān)rel的解釋、rel的計(jì)算及轉(zhuǎn)移目標(biāo)地址的計(jì)算參見本課題任務(wù)一。 JMP A+DPTR指令為間接轉(zhuǎn)移指令,指令執(zhí)行時(shí),把累加器A中的8位無符號(hào)數(shù)與作為基址的數(shù)據(jù)指針DPTR中的16位數(shù)相加作為轉(zhuǎn)移的目的地址送入PC,不改變A和DPTR的內(nèi)容,也不影響任何標(biāo)志位。4、指令應(yīng)用舉例 例2-4 已知R3=20H,(30H)=40H,R1=50H,(50H)=3FH,分析執(zhí)行下列指令后A的值。指令解釋結(jié)果MOV A, R3A R3A=20HMOV A, 30HA (30H)A=40HMOV A, R1A (R1)A=3FHMOV A, #80HA 80HA=80H例2-5 已知A=A2H,CY=1,分析執(zhí)行下列指令后A和CY的值。指令結(jié)果RL AA=45H,CY=1RR AA=51H,CY=1RLC AA=45H,CY=1RRC AA=D1H,CY=0例2-6分析下列指令執(zhí)行后,程序轉(zhuǎn)移至何處,PC的值為多少。地址 指令0100H LJMPK1 1000H K1:MOV R1,#01H LJMP K1指令執(zhí)行后,程序轉(zhuǎn)移至標(biāo)號(hào)為K1的指令處,PC的值變?yōu)?000H。地址 指令0200H AJMPK2 0700H K2:MOV R2,#2FH AJMP K2指令執(zhí)行后,程序轉(zhuǎn)移至標(biāo)號(hào)為K2的指令處,PC的值變?yōu)?700H。地址 指令0300H AJMPK3 0710H MOV R7,#0FFH 0F10H K3:MOV R3,#68H AJMP K3指令執(zhí)行后,程序?qū)嶋H轉(zhuǎn)移至地址為0710H指令處,PC的值變?yōu)?710H。這與想要轉(zhuǎn)移的目的地址K3不一致,程序設(shè)計(jì)發(fā)生錯(cuò)誤。因?qū)嶋H的目的地址是由AJMP的下一條指令地址的高5位加上K3的低11位組成的,此處由于AJMP下一條指令的高5位與K3的高5位不相同,所以造成實(shí)際轉(zhuǎn)移目的地址與想要轉(zhuǎn)移的目的地址不相同。地址 指令0400H SJMPK4 0460H K4:MOV R4,#0BDH SJMP K4指令執(zhí)行后,程序轉(zhuǎn)移至標(biāo)號(hào)為K4的指令處,PC的值變?yōu)?460H。注意SJMP指令轉(zhuǎn)移的目的地址與SJMP下一條指令的差必須在-128+127之間,否則也將造成實(shí)際轉(zhuǎn)移的目的地址與想要轉(zhuǎn)移的目的地址不一致,而導(dǎo)致程序設(shè)計(jì)錯(cuò)誤。四、任務(wù)實(shí)施根據(jù)以上分析,設(shè)計(jì)出8只發(fā)光二極管交替循環(huán)間隔1S點(diǎn)亮的程序如下:MOVA,01H ;給A賦初值K: MOVP1,A;將A的數(shù)據(jù)送P1口輸出顯示1S延時(shí)程序MOV R3, #4 ;延時(shí)1SK3: MOV R2, #250K2: MOV R1, #250K1: NOP NOP DJNZ R1, K1 DJNZ R2, K2 DJNZ R3, K3 RLA ;將亮燈數(shù)據(jù)循環(huán)左移一位SJMPK ;程序轉(zhuǎn)移至K處任務(wù)三 延時(shí)時(shí)間計(jì)算一、任務(wù)目標(biāo) 本任務(wù)講解如何計(jì)算延時(shí)程序的延時(shí)時(shí)間,以及自行設(shè)計(jì)延時(shí)程序時(shí),如何確定各循環(huán)變量的初值。二、任務(wù)分析 計(jì)算軟件延時(shí)程序的延時(shí)時(shí)間有兩種方法:精確計(jì)算法和估算法。其中精確計(jì)算法要求精確計(jì)算出延時(shí)程序執(zhí)行的機(jī)器周期數(shù),該方法計(jì)算出的延時(shí)時(shí)間準(zhǔn)確,但比較復(fù)雜;而估算法只需計(jì)算出延時(shí)程序執(zhí)行的大概機(jī)器周期數(shù),該方法計(jì)算出的延時(shí)時(shí)間為大概時(shí)間,但該計(jì)算方法比較簡(jiǎn)單。三、相關(guān)知識(shí) 單片機(jī)CPU執(zhí)行指令的一系列動(dòng)作都是在統(tǒng)一時(shí)序脈沖控制下進(jìn)行的,為便于分析指令的執(zhí)行過程,定義了幾個(gè)時(shí)序單位:時(shí)鐘周期、狀態(tài)周期、機(jī)器周期和指令周期。1、時(shí)鐘周期 時(shí)鐘周期也稱振蕩周期,定義為振蕩頻率的倒數(shù),用T0表示,它是單片機(jī)中最基本的、最小的時(shí)間單位。在一時(shí)鐘周期內(nèi),CPU僅完成一個(gè)最基本的動(dòng)作。 2、狀態(tài)周期 兩個(gè)時(shí)鐘周期定義為一個(gè)狀態(tài)周期,用TS表示。3、機(jī)器周期 一個(gè)機(jī)器周期單片機(jī)完成一個(gè)基本操作,如取指令、存儲(chǔ)器讀/寫等。一個(gè)機(jī)器周期由6個(gè)狀態(tài)周期組成,用TM表示。4、指令周期 執(zhí)行一條指令的時(shí)間定義為指令周期,一般由若干機(jī)器周期組成。指令不同,所需的機(jī)器周期數(shù)也不同,在51系列單片機(jī)中有單周期、雙周期和四周期指令。 上述幾個(gè)時(shí)序單位有如下關(guān)系: TM=6TS=12T0例2-7 設(shè)單片機(jī)振蕩頻率fosc為12MHZ,試計(jì)算時(shí)鐘周期、狀態(tài)周期和機(jī)器周期。 根據(jù)單片機(jī)時(shí)鐘周期、狀態(tài)周期和機(jī)器周期的關(guān)系可得:時(shí)鐘周期 狀態(tài)周期 機(jī)器周期四、任務(wù)實(shí)施1、計(jì)算機(jī)器周期 設(shè)單片機(jī)振蕩頻率為12MHZ,則機(jī)器周期。2、標(biāo)出延時(shí)程序各條指令的機(jī)器周期數(shù) 標(biāo)出任務(wù)一的延時(shí)程序的各條指令的機(jī)器周期數(shù)如下: 源程序 機(jī)器周期數(shù) MOV R3, #4 1第一重循環(huán)第三重循環(huán)第二重循環(huán)K3: MOV R2, #250 1K2: MOV R1, #250 1K1: NOP 1 NOP 1 DJNZ R1, K1 2 DJNZ R2, K2 2 DJNZ R3, K3 23、精確計(jì)算法第一重循環(huán)一次的機(jī)器周期數(shù):1+1+2=4第一重循環(huán)總的機(jī)器周期數(shù):4250=1000第二重循環(huán)一次的機(jī)器周期數(shù):1+1000+2=1003第二重循環(huán)總的機(jī)器周期數(shù):1003250=250750第三重循環(huán)一次的機(jī)器周期數(shù):1+250750+2=250753第三重循環(huán)總的機(jī)器周期數(shù):2507534=1003012總的機(jī)器周期數(shù):1+1003012=1003013延時(shí)時(shí)間:10030131us=1003013us=1.003013 s4、估算法 采用估算法計(jì)算機(jī)器周期如下: 估算機(jī)器周期數(shù)=第一重循環(huán)一次的機(jī)器周期第一重循環(huán)次數(shù)第二重循環(huán)次數(shù)第三重循環(huán)次數(shù)。 估算延時(shí)時(shí)間=估算機(jī)器周期數(shù)機(jī)器周期。 所以本課題任務(wù)一中延時(shí)程序的延時(shí)時(shí)間 =425025041us=1000000us=1 s小結(jié)1、 交替間隔1S左移循環(huán)亮燈程序中用到的相關(guān)指令。2、 交替間隔1S左移循環(huán)亮燈程序設(shè)計(jì)方法。3、 單片機(jī)幾個(gè)時(shí)間單位。4、 延時(shí)程序延時(shí)時(shí)間計(jì)算方法。課后作業(yè)1、 將本課題任務(wù)二中的R3的值改為01H、02H和08H,觀察亮燈的間隔時(shí)間有何變化?2、 將本課題任務(wù)二中的RL A指令改為RR A指令,觀察亮燈的順序有何變化?3、 將本課題任務(wù)二中的亮燈數(shù)據(jù)初值改為03H、07H和55H,觀察亮燈規(guī)律有何變化?4、 設(shè)計(jì)一延時(shí)5S的延時(shí)程序,并替代任務(wù)二中的延時(shí)程序,觀察亮燈間隔時(shí)間。5、設(shè)單片機(jī)振蕩頻率為6MHz,試精確計(jì)算下列延時(shí)子程序的延時(shí)時(shí)間。 DEL: MOV R7, #0FAH DEL1: MOV R6, #0F8H NOP DEL2: DJNZ R6, DEL2DJNZ R7, DEL16、設(shè)單片機(jī)振蕩頻率為12MHz,試估算下列延時(shí)子程序的延時(shí)時(shí)間。MOV R5, #20 K1: MOV R6, #250 K2: DJNZ R6, K2 DJNZ R5, K1 教學(xué)單元: 算術(shù)運(yùn)算程序教學(xué)時(shí)數(shù): 2學(xué)時(shí)教學(xué)方法: 一體化教學(xué)教學(xué)目的:1、掌握加法程序和減法程序設(shè)計(jì)中用到的相關(guān)指令。 2、掌握加法程序和減法程序設(shè)計(jì)方法。教學(xué)重點(diǎn):加法程序和減法程序設(shè)計(jì)方法教學(xué)難點(diǎn):相關(guān)指令及應(yīng)用。教學(xué)過程課題三 算術(shù)運(yùn)算程序任務(wù)一 加法程序設(shè)計(jì)一、任務(wù)目標(biāo) 本任務(wù)通過講解兩個(gè)雙字節(jié)數(shù)加法程序設(shè)計(jì)過程,使讀者掌握在編寫加法程序時(shí)的具體步驟和注意事項(xiàng)。二、任務(wù)分析 R0 R1+ R2 R3 R4 R5 R6 已知有兩個(gè)雙字節(jié)無符號(hào)數(shù),其中一個(gè)存放在R0(高字節(jié))、R1(低字節(jié))中,另一個(gè)存放在R2(高字節(jié))、R3(低字節(jié))中。求兩個(gè)雙字節(jié)數(shù)之和,并把結(jié)果存入R4、R5、R6中,高位在前,低位在后。實(shí)現(xiàn)此雙字節(jié)數(shù)加法運(yùn)算的示意如下:兩個(gè)雙字節(jié)數(shù)相加,先進(jìn)行低字節(jié)相加,再進(jìn)行高字節(jié)相加。低字節(jié)相加時(shí)用不帶進(jìn)位加法指令A(yù)DD,因其本身就已是最低位了,所以不涉及向它的進(jìn)位位。而高字節(jié)相加時(shí),除本身兩個(gè)高字節(jié)相加外,還應(yīng)加上低字節(jié)相加時(shí)可能產(chǎn)生的進(jìn)位,所以高字節(jié)相加應(yīng)用帶進(jìn)位的加法指令A(yù)DDC。 兩個(gè)雙字節(jié)數(shù)加法運(yùn)算程序流程如圖2-8所示:開始R1和R3不帶進(jìn)位位相加結(jié)果存于R6R0和R2帶進(jìn)位位相加結(jié)果存于R50和0帶進(jìn)位位相加結(jié)果存于R4結(jié)束MOV A,R1ADD A,R3MOV R6,AMOV A,R0ADDC A,R2MOV R5,AMOV A,#0ADDC A,#0MOV R4,A圖2-8 兩個(gè)雙字節(jié)數(shù)加法運(yùn)算程序流程圖三、相關(guān)知識(shí) 1、不帶進(jìn)位位加法指令 ADD A,#data ;AA+ data ADD A,direct ;AA+(direct) ADD A,Rn ;AA+Rn ADD A,Ri ;AA+(Ri) 這4條指令的功能是將累加器A的內(nèi)容與源操作數(shù)相加,其結(jié)果存放到累加器A中。相加過程中如果位7(D7)有進(jìn)位,則進(jìn)位標(biāo)志CY置“1”,否則清“0”;如果位3(D3)位有進(jìn)位,則輔助進(jìn)位標(biāo)志AC置“1”,否則清“0”。溢出標(biāo)志位OV=CY6CY7,CY6為位6向位7的進(jìn)位, CY7為位7向CY的進(jìn)位。2、帶進(jìn)位位加法指令 ADDC A,#data ;AA+ data+CY ADDC A,direct ;AA+(dire

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論