




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1流水燈程序設(shè)計(jì)與調(diào)試 一、任務(wù)說(shuō)明1、要求 P1口作為輸出口。P1.0至P1.7接8個(gè)發(fā)光二極管。要求編寫(xiě)程序?qū)崿F(xiàn)如下功能:8個(gè)發(fā)光二極管依次亮滅并循環(huán),延時(shí)0.1秒(已知fosc=12MHz)。2、重點(diǎn) 1、學(xué)習(xí)P1口作為輸出口的使用方法。 2、學(xué)習(xí)延時(shí)程序的設(shè)計(jì)方法。第1頁(yè)/共87頁(yè)2二、硬件電路1、硬件分析 發(fā)光二極管采用共陽(yáng)極連接,P1口某個(gè)引腳輸出“0”則對(duì)應(yīng)的燈點(diǎn)亮。第2頁(yè)/共87頁(yè)32、軟件分析 (1)整體任務(wù)分析:控制字始終是7個(gè)“1”和1個(gè)“0”,“0”的位置每隔0.1秒左移1位,然后由P1口輸出控制字點(diǎn)燈。 (2)程序流程圖控制字初值0FEH送A控制字送p1口點(diǎn)燈調(diào)用延時(shí)
2、子程序?qū)⒖刂谱肿笠埔晃婚_(kāi)始第3頁(yè)/共87頁(yè)4涉及的指令 MOV類(lèi)指令 RL指令 DJNZ延時(shí)子程序 第4頁(yè)/共87頁(yè)5(3)關(guān)于左移運(yùn)算:可以利用循環(huán)左移指令實(shí)現(xiàn) 指令性質(zhì):邏輯運(yùn)算指令 指令格式: RL A 注意:操作數(shù)只能是累加器。 指令說(shuō)明:執(zhí)行時(shí)累加器A的存儲(chǔ)內(nèi)容(8位2進(jìn)制數(shù)),整體向左移動(dòng)1位(低位移動(dòng)到相鄰的高位),最高位補(bǔ)回到最低位。 指令應(yīng)用:常用于完成快速乘法,每次執(zhí)行累加器內(nèi)容擴(kuò)大2倍。 相關(guān)指令:RR A; RLC A; RRC A第5頁(yè)/共87頁(yè)6延時(shí)子程序?qū)嵗?若單片機(jī)的主頻為12MHz,使用循環(huán)轉(zhuǎn)移指令編寫(xiě)延時(shí)20ms的子程序。(雙重循環(huán)結(jié)構(gòu)) 一個(gè)機(jī)器周期: 1
3、2/12M=1us 次數(shù) 周期 DELAY: MOV R6, #0C8H 1 1 LOOP2: MOV R7 #x 200 1 NOP 200 1 LOOP1: DJNZ R7, LOOP1 200 x 2 DJNZ R6, LOOP2 200 2 RET 1 2 200+200+400 x+400+2=20 000 求出x=48第6頁(yè)/共87頁(yè)7三、任務(wù)實(shí)施 步驟1:各小組按照流程圖設(shè)計(jì)各部分程序。 步驟2:程序匯編無(wú)誤后,利用ISP軟件和下載線(xiàn)將目標(biāo)文件(.HEX)程序代碼寫(xiě)入本組的單片機(jī)芯片中。 步驟3:接通直流電源,啟動(dòng)電路板觀察現(xiàn)象,如現(xiàn)象不對(duì)則重復(fù)步驟1、2。 步驟4:現(xiàn)象無(wú)誤,請(qǐng)
4、求教師檢查、評(píng)價(jià)。 步驟5:編制項(xiàng)目報(bào)告并提交。第7頁(yè)/共87頁(yè)8四、任務(wù)擴(kuò)展 思考:若想實(shí)現(xiàn)8個(gè)燈累加點(diǎn)亮并循環(huán),則程序該如何設(shè)計(jì)?第8頁(yè)/共87頁(yè)9一、任務(wù)說(shuō)明 P1口作為輸入、輸出口。P1.0、P1.1接開(kāi)關(guān)K1、K2;P1.2、P1.3接發(fā)光二極管L1、L2;P1.4、P1.5接L5、L6。K1作為左轉(zhuǎn)彎開(kāi)關(guān),K2作為右轉(zhuǎn)彎開(kāi)關(guān)。L1、L2作為左轉(zhuǎn)彎燈,L5、L6作為右轉(zhuǎn)彎燈。要求編寫(xiě)程序?qū)崿F(xiàn)如下功能:向上打K1時(shí)(K1=1),左轉(zhuǎn)彎燈以一定頻率閃爍,向上打K2時(shí)(K2=1),右轉(zhuǎn)彎燈以一定頻率閃爍,兩開(kāi)關(guān)同時(shí)向上或向下,四燈都滅。 燈閃爍一次即可,閃爍時(shí)先亮0.5S再滅0.5S。轉(zhuǎn)彎
5、燈控制程序設(shè)計(jì)與調(diào)試 第9頁(yè)/共87頁(yè)10重點(diǎn):1、學(xué)習(xí)P1口既作為輸入,又作為輸出的使用方法。2、學(xué)習(xí)數(shù)據(jù)輸入、輸出程序的設(shè)計(jì)方法。第10頁(yè)/共87頁(yè)11二、任務(wù)分析1、硬件分析 P1口為準(zhǔn)雙向I/O接口,輸出單條指令完成,輸入時(shí)應(yīng)當(dāng)先向?qū)?yīng)的端口鎖存器寫(xiě)入1,然后讀入數(shù)據(jù)。 第11頁(yè)/共87頁(yè)122、軟件說(shuō)明 (1)整體分析:先讀入開(kāi)關(guān)的狀態(tài),根據(jù)開(kāi)關(guān)的四種狀態(tài)分情況控制燈的亮滅。控?zé)敉瓿珊蠓祷亻_(kāi)始繼續(xù)讀開(kāi)關(guān),保證開(kāi)關(guān)持續(xù)有效。 (2)多分支判斷的實(shí)現(xiàn):開(kāi)關(guān)有四種狀態(tài),對(duì)應(yīng)燈有四種控制規(guī)律。可采取逐點(diǎn)檢測(cè)的方式實(shí)現(xiàn)分支控制。即讀入開(kāi)關(guān)狀態(tài)后先判斷是否為00,若為00則燈全滅;若不為00則判
6、斷開(kāi)關(guān)是否為01,若為01則左轉(zhuǎn)彎燈閃爍;若不為01則判斷開(kāi)關(guān)是否為10,若為10則右轉(zhuǎn)彎燈閃爍;若不為10則必然為11,燈全滅。K1K0狀態(tài)狀態(tài)控?zé)粢?guī)律控?zé)粢?guī)律控制字控制字00全滅全滅0FFH01左轉(zhuǎn)彎燈閃爍左轉(zhuǎn)彎燈閃爍0F3H,0FFH10右轉(zhuǎn)彎燈閃爍右轉(zhuǎn)彎燈閃爍0CFH,0FFH11全滅全滅0FFH第12頁(yè)/共87頁(yè)13(3)實(shí)現(xiàn)分支判斷的關(guān)鍵指令:條件轉(zhuǎn)移指令CJNE指令名稱(chēng):比較不相等轉(zhuǎn)移。指令格式:CJNE A,#data,rel;若(A) data, 則跳到標(biāo)號(hào)處執(zhí)行指令,否則順序執(zhí)行。對(duì)借位標(biāo)志有影響:若 (A)0Y = 100 X=0 求出Y值,將Y值存入31H單元。 X X
7、0解:根據(jù)數(shù)據(jù)的符號(hào)位判別該數(shù)的正負(fù),若最高位為0,再判別該數(shù)是否為0。程序流程如圖2-2所示。 參考程序如下:ORG 1000H 第20頁(yè)/共87頁(yè)21 MOV A,30H ;取數(shù) JB ACC.7,NEG ;負(fù)數(shù),轉(zhuǎn)NEG JZ ZER0 ;為零,轉(zhuǎn)ZER0 ADD A,#02H;為正數(shù),求X+2 AJMP SAVE ;轉(zhuǎn)到SAVE,保存數(shù)據(jù)ZER0:MOV A,# 64H ;數(shù)據(jù)為零,Y=100 AJMP SAVE ;轉(zhuǎn)到SAVE,保存數(shù)據(jù) NEG: DEC A ; CPLA ;求XSAVE:MOV 31H,A ;保存數(shù)據(jù) SJMP ;暫停 END第21頁(yè)/共87頁(yè)22A為負(fù)數(shù)?取數(shù),A
8、(30H)開(kāi)始結(jié)束A=0?YNNA|X|A64HAX+2存數(shù),(31H)A(30H)圖2-2 例4.3程序流程圖第22頁(yè)/共87頁(yè)23多向分支程序設(shè)計(jì)舉例 【例4.4】 根據(jù)R0的值轉(zhuǎn)向7個(gè)分支程序。 R010,轉(zhuǎn)向SUB0; R020,轉(zhuǎn)向SUB1; R060,轉(zhuǎn)向SUB6; 解:利用JMP A+DPTR 指令直接給PC賦值,使程序?qū)崿F(xiàn)轉(zhuǎn)移。程序流程如圖2-3所示。第23頁(yè)/共87頁(yè)24ORG 2000HMOV DPTR,#TAB;轉(zhuǎn)移指令表首地址 MOV A,R0;取數(shù) MOV B,#10 DIV AB ;A除以10,商在A中 CLR C RLC A ;A2A JMP A+DPTR ;PC
9、 A+DPTR AJMP SUB0;轉(zhuǎn)移指令表 AJMP SUB1 AJMP SUB6TAB:第24頁(yè)/共87頁(yè)25K=?轉(zhuǎn)SUB0轉(zhuǎn)SUB1轉(zhuǎn)SUB6K=0 K=1 K=6開(kāi)始圖2-3 多向分支程序流程圖返回本節(jié)第25頁(yè)/共87頁(yè)26交通燈程序設(shè)計(jì)與調(diào)試 一、任務(wù)說(shuō)明 P1口控制6個(gè)燈,紅、黃、綠各兩個(gè),編程實(shí)現(xiàn)交通燈控制規(guī)律。第26頁(yè)/共87頁(yè)27四紅燈亮延時(shí)1秒東西路口綠燈亮,南北路口紅燈亮延時(shí)6秒東西路黃燈閃爍8次,南北路口紅燈亮每次延時(shí)1秒四紅燈亮延時(shí)1秒東西路口紅燈亮,南北路口綠燈亮延時(shí)6秒東西路紅燈亮,南北路口黃燈閃爍8次每次延時(shí)1秒第27頁(yè)/共87頁(yè)28u教學(xué)提示:教學(xué)提示:
10、指令是指令是CPUCPU用于控制功能部件完成某一指定動(dòng)作用于控制功能部件完成某一指定動(dòng)作的指示和命令。一臺(tái)計(jì)算機(jī)全部指令的集合稱(chēng)為指令的指示和命令。一臺(tái)計(jì)算機(jī)全部指令的集合稱(chēng)為指令系統(tǒng)。指令系統(tǒng)體現(xiàn)了計(jì)算機(jī)的性能,也是計(jì)算機(jī)重系統(tǒng)。指令系統(tǒng)體現(xiàn)了計(jì)算機(jī)的性能,也是計(jì)算機(jī)重要的組成部分,應(yīng)用計(jì)算機(jī)進(jìn)行程序設(shè)計(jì)的基礎(chǔ)。單要的組成部分,應(yīng)用計(jì)算機(jī)進(jìn)行程序設(shè)計(jì)的基礎(chǔ)。單片機(jī)應(yīng)用系統(tǒng)的運(yùn)行,是依靠合理的硬件接口、用戶(hù)片機(jī)應(yīng)用系統(tǒng)的運(yùn)行,是依靠合理的硬件接口、用戶(hù)程序和監(jiān)控程序的完美結(jié)合實(shí)現(xiàn)的,所以掌握單片機(jī)程序和監(jiān)控程序的完美結(jié)合實(shí)現(xiàn)的,所以掌握單片機(jī)需要學(xué)習(xí)多樣的匯編程序設(shè)計(jì)方法實(shí)現(xiàn)運(yùn)算和控制功需要學(xué)
11、習(xí)多樣的匯編程序設(shè)計(jì)方法實(shí)現(xiàn)運(yùn)算和控制功能。能。 第28頁(yè)/共87頁(yè)2980C51單片機(jī)具有111條指令,指令系統(tǒng)特點(diǎn)如下:(1)指令執(zhí)行時(shí)間快。1個(gè)機(jī)器周期指令有64條,2個(gè)機(jī)器周期指令有45條,而4個(gè)機(jī)器周期指令僅2條(乘除指令)。(2)指令短,指令編碼字節(jié)少,單字節(jié)的指令有49條(約有一半的指令為單字節(jié)指令),雙字節(jié)的有45條,三字節(jié)的僅有17條。(3)具有豐富的位操作指令。 (4)可直接用傳送指令實(shí)現(xiàn)端口的輸入輸出操作。第29頁(yè)/共87頁(yè)30 以80C51為內(nèi)核的單片機(jī)指令系統(tǒng)為例,用44種操 作碼助記符來(lái)描述33種操作功能,構(gòu)成了111條基本指令。 單字節(jié)指令49條; 按字節(jié)分雙字節(jié)
12、指令45條; 三字節(jié)指令17條; 單周期指令64條; 按指令執(zhí)行時(shí)間分雙周期指令45條; 111條基本指令4個(gè)機(jī)器周期指令2條; 數(shù)據(jù)傳送類(lèi)指令(29); 算術(shù)運(yùn)算類(lèi)指令(24); 按功能分邏輯運(yùn)算及移位類(lèi)指令(24); 控制轉(zhuǎn)移類(lèi)指令(17); 布爾變量操作類(lèi)指令(17)。第30頁(yè)/共87頁(yè)31.1指令格式及常用符號(hào)80C5180C51單片機(jī)指令格式單片機(jī)指令格式 )指令由)指令由操作碼助記符操作碼助記符和和操作數(shù)操作數(shù)兩部組成。兩部組成。)指令格式如下:)指令格式如下: 標(biāo)號(hào):標(biāo)號(hào): 操作碼助記符操作碼助記符 目的操作數(shù)目的操作數(shù) ,源操作,源操作數(shù)數(shù);注釋?zhuān)蛔⑨?符號(hào)符號(hào)“ ”其包含的內(nèi)
13、容因指令的不同可有可無(wú)。其包含的內(nèi)容因指令的不同可有可無(wú)。 特例:子程序返回指令特例:子程序返回指令RETRET、中斷返回指令、中斷返回指令RETIRETI、空操作指令空操作指令NOPNOP,皆無(wú)目的操作數(shù)和源操作數(shù),皆無(wú)目的操作數(shù)和源操作數(shù) 標(biāo)號(hào):根據(jù)編程需要給指令設(shè)定的符號(hào)地址,可有標(biāo)號(hào):根據(jù)編程需要給指令設(shè)定的符號(hào)地址,可有可無(wú);通常在子程序入口或轉(zhuǎn)移指令的目標(biāo)地址處才賦可無(wú);通常在子程序入口或轉(zhuǎn)移指令的目標(biāo)地址處才賦予標(biāo)號(hào)。標(biāo)號(hào)由予標(biāo)號(hào)。標(biāo)號(hào)由1 18 8個(gè)字符組成,第一個(gè)字符必須是英個(gè)字符組成,第一個(gè)字符必須是英文字母,不能是數(shù)字或其他符號(hào),標(biāo)號(hào)后必須用冒號(hào)。文字母,不能是數(shù)字或其他
14、符號(hào),標(biāo)號(hào)后必須用冒號(hào)。第31頁(yè)/共87頁(yè)32 操作碼助記符:指令的核心部分,用于指示機(jī)器執(zhí)行何種操作碼助記符:指令的核心部分,用于指示機(jī)器執(zhí)行何種操作,如加、減、乘、除、傳送等。操作,如加、減、乘、除、傳送等。 操作數(shù):是指令操作的對(duì)象,可以是一個(gè)具體的數(shù)據(jù),也操作數(shù):是指令操作的對(duì)象,可以是一個(gè)具體的數(shù)據(jù),也可以是參加運(yùn)算的數(shù)據(jù)所在的地址。操作數(shù)一般有以下幾可以是參加運(yùn)算的數(shù)據(jù)所在的地址。操作數(shù)一般有以下幾種形式:種形式:沒(méi)有操作數(shù),操作數(shù)隱含在操作碼中,如沒(méi)有操作數(shù),操作數(shù)隱含在操作碼中,如RETRET指令;指令;只有一個(gè)操作數(shù),如只有一個(gè)操作數(shù),如INC AINC A指令;指令;有兩個(gè)
15、操作數(shù),如有兩個(gè)操作數(shù),如MOV AMOV A,30H30H指令,操作數(shù)之間以逗號(hào)指令,操作數(shù)之間以逗號(hào)相隔;相隔;有有3 3個(gè)操作數(shù),如個(gè)操作數(shù),如 CJNE ACJNE A,#00H#00H,10H10H指令。指令。 注釋?zhuān)簩?duì)指令的解釋說(shuō)明,用以提高程序的可讀性,注釋注釋?zhuān)簩?duì)指令的解釋說(shuō)明,用以提高程序的可讀性,注釋前必須加分號(hào),注釋換行時(shí)行前也要加分號(hào)。前必須加分號(hào),注釋換行時(shí)行前也要加分號(hào)。第32頁(yè)/共87頁(yè)33指令的字節(jié) 1.單字節(jié)指令(49條) 在MCS-5l指令系統(tǒng)中,單字節(jié)指令可分為兩類(lèi):無(wú)操作數(shù)的單字節(jié)指令含有操作數(shù)寄存器編號(hào)的單字節(jié)指令。1)無(wú)操作數(shù)單字節(jié)指令 這類(lèi)指令只有
16、操作碼字段,操作數(shù)隱含在操作碼中。例如:INC DPTR 第33頁(yè)/共87頁(yè)34 指令碼為 2)含有操作碼、寄存器編碼的單字節(jié)指令 單字節(jié)的指令碼由操作碼和指示操作數(shù)所在寄存器編碼組成。 例如:MOV A,Rn 指令碼為(其中r r r為寄存器Rn的編碼)位D7D6D5D4D3D2D1D0十六進(jìn)制碼操作碼10100011A3H位D7D6D5D4D3D2D1D0十六進(jìn)制碼操作碼+操作數(shù)11101rrrE8HEFH例如:例如:INC DPTRINC DPTR第34頁(yè)/共87頁(yè)352.雙字節(jié)指令(46條) 雙字節(jié)指令的操作碼字節(jié)在前,其后的操作數(shù)字節(jié)可以是立即數(shù),也可以是操作數(shù)所在的片內(nèi)RAM地址。
17、例如:MOV A,#23H 指令碼為位D7D6D5D4D3D2D1D0十六進(jìn)制碼操作碼0111010074H 23H操作數(shù)(立即數(shù))00100011第35頁(yè)/共87頁(yè)361 1實(shí)訓(xùn)目的實(shí)訓(xùn)目的(1)掌握指令格式及表示方法:助記符表示和機(jī)器碼表示。(2)了解人工匯編與機(jī)器匯編的方法。(3)了解尋址方式的概念。(4)掌握常用指令的功能及應(yīng)用。實(shí)訓(xùn)實(shí)訓(xùn)3 3 指令的應(yīng)用指令的應(yīng)用2 2實(shí)訓(xùn)引入實(shí)訓(xùn)引入MOV P1,#55H MOV P1, 55H 請(qǐng)比較以上兩條指令執(zhí)行請(qǐng)比較以上兩條指令執(zhí)行后后P1P1口的狀況口的狀況? ?為什么為什么? ?第36頁(yè)/共87頁(yè)373 3實(shí)訓(xùn)表格實(shí)訓(xùn)表格表3.1 實(shí)驗(yàn)
18、表格題號(hào)助記符指令機(jī)器碼指令檢查數(shù)據(jù)發(fā)光二極管狀態(tài)MOV P1,#55H MOV 20H,#0F0H(20H)=MOV P1,20H MOV A,#0F0HA=MOV P1,AMOV R4,#0FHR4=MOV P1,R4MOV 20H,#0AAH(20H)=MOV R0,#20HR0=MOV P1,R0MOV A,#55H A=MOV P1,A AND A,#0FHA=MOV P1,A 第37頁(yè)/共87頁(yè)38MOV A,#55H A=MOV P1,AAND A,#0FHA=MOV P1,A OR A,#0F0HA=MOV P1,A CLR A A=MOV P1,ACPL AA=MOV P1,
19、AMOV A,#01H A=MOV P1,A RL AA=MOV P1,ARL AA=MOV P1,A 第38頁(yè)/共87頁(yè)394. 4. 實(shí)訓(xùn)分析與總結(jié)實(shí)訓(xùn)分析與總結(jié) 在實(shí)訓(xùn)中看到以下現(xiàn)象:往P1口傳送數(shù)據(jù)的指令中,數(shù)據(jù)的來(lái)源不盡相同。數(shù)據(jù)是指令的操作對(duì)象,叫做操作數(shù)。指令必須給出操作數(shù)所在的地方,才能進(jìn)行數(shù)據(jù)傳送。尋找操作數(shù)地址的方法,稱(chēng)為尋址方式。尋找操作數(shù)到底有多尋找操作數(shù)到底有多少種方式呢少種方式呢? ?第39頁(yè)/共87頁(yè)40第40頁(yè)/共87頁(yè)41第41頁(yè)/共87頁(yè)42寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址第42頁(yè)/共87頁(yè)43寄存器尋址直接尋址立即數(shù)尋址寄存
20、器間接尋址變址尋址相對(duì)尋址位尋址第43頁(yè)/共87頁(yè)44寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址R0-R7ABDPTR第44頁(yè)/共87頁(yè)45寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址R0R1DPTR第45頁(yè)/共87頁(yè)46第46頁(yè)/共87頁(yè)47第47頁(yè)/共87頁(yè)48第48頁(yè)/共87頁(yè)49第49頁(yè)/共87頁(yè)50寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址ADPTRPC第50頁(yè)/共87頁(yè)51寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址第51頁(yè)/共87頁(yè)52寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋
21、址10 0 0 0 0 0 0 0第52頁(yè)/共87頁(yè)537F7F77776F6F67675F5F57574F4F474737372F2F27271F1F17170F0F0707 7E7E76766E6E66665E5E56564E4E4646 36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D454535352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C4444 34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B4
22、343 33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A4242 32322A2A22221A1A12120A0A020279797171696961615959515149494141 313129292121191911110909010178787070686860605858505048484040 3030282820201818101008080000 例: 3D3D 3C3C 3B3B3F3F 3E3E3A3A 3939383827H27H第53頁(yè)/共87頁(yè)54寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋
23、址位尋址0 0 0 0 0 0 01 0第54頁(yè)/共87頁(yè)551、指令描述約定、指令描述約定符符 號(hào)號(hào)含含 義義RnRn表示當(dāng)前選定寄存器組的工作寄存器表示當(dāng)前選定寄存器組的工作寄存器R0R0R7R7RiRi表示作為間接尋址的地址指針表示作為間接尋址的地址指針R0R0R1R1#data#data表示表示8 8位立即數(shù),即位立即數(shù),即00H00HFFHFFH#data16#data16 表示表示1616位立即數(shù),即位立即數(shù),即0000H0000HFFFFHFFFFHaddr16addr16表示表示1616位地址,用于位地址,用于64K64K范圍內(nèi)尋址范圍內(nèi)尋址addr11addr11表示表示11
24、11位地址,用于位地址,用于2K2K范圍內(nèi)尋址范圍內(nèi)尋址directdirect8 8位直接地址,可以是內(nèi)部位直接地址,可以是內(nèi)部RAMRAM區(qū)的某一單元或某一專(zhuān)用功能寄存器的地址區(qū)的某一單元或某一專(zhuān)用功能寄存器的地址RelRel帶符號(hào)的帶符號(hào)的8 8位偏移量(位偏移量(-128-128+127+127)BitBit位尋址區(qū)的直接尋址位位尋址區(qū)的直接尋址位(X X)X X地址單元中的內(nèi)容,或地址單元中的內(nèi)容,或X X作為間接尋址寄存器時(shí)所指單元的內(nèi)容作為間接尋址寄存器時(shí)所指單元的內(nèi)容將將 后面的內(nèi)容傳送到前面去后面的內(nèi)容傳送到前面去第55頁(yè)/共87頁(yè)56第56頁(yè)/共87頁(yè)57MOV , MOV
25、 A,#20H 第57頁(yè)/共87頁(yè)58 MOV DPTR,#data16 MOVX , 第58頁(yè)/共87頁(yè)59 第59頁(yè)/共87頁(yè)60 第60頁(yè)/共87頁(yè)61BCD碼: 0011 0100 十進(jìn)制十進(jìn)制二進(jìn)制二進(jìn)制BCDBCD碼碼0123456789 10 11 12 13 14 15000000010010001101000101011001111000100110101011110011011110111100000001001000110100010101100111100010010001 00000001 00010001 00100001 00110001 01000001 010
26、11 81 6+3 4十進(jìn)制0001 10000001 0110+BCD碼0010 11100011 01000010 1110-0000 0110差6第61頁(yè)/共87頁(yè)62助記符格式機(jī)器碼(B)相應(yīng)操作指令說(shuō)明機(jī)器周期INC A00000100AA+1影響PSW的P標(biāo)志1INC Rn00001rrrRnRn+1n=07, rrr=0001111INC direct000001 0 1 direct(direct)(direct)+1 1INC Ri0000011i(Ri)(Ri)+1i=0,11INC DPTR10100011DPTRDPTR+1 2DEC A00010100AA-1影響PS
27、W的P標(biāo)志1DEC Rn00011rrrRnRn-1n=07, rrr=0001111DEC direct000101 0 1 direct(direct)(direct)+1 1DEC Ri0001011i(Ri)(Ri)-1i=0,11第62頁(yè)/共87頁(yè)63 助記符格式機(jī)器碼(B)相應(yīng)操作指令說(shuō)明機(jī)器周期ANL A,direct0 1 0 1 0 1 0 1 directAAdirect按位相與1ANL A,Rn01011rrrAARnn=07rrr=0001111ANL A,Ri0101011iAA(Ri)i=0,11ANL A,#data01010100 dataAA#data 1AN
28、L direct,A01010010direct(direct)(direct)A不影響PSW的P標(biāo)志1ANL direct,#data01010011 directdata(direct)(direct)#data不影響PSW的P標(biāo)志2無(wú)符號(hào)數(shù)相乘,高位存B,低位存A無(wú)符號(hào)數(shù)相除,商存A,余數(shù)存B第63頁(yè)/共87頁(yè)64 01000011 direct data助記符格式機(jī)器碼(B)相應(yīng)操作指令說(shuō)明機(jī)器周期ORL A,direct01000101 directAAdirect按位相或1ORL A,Rn01001rrrAARnn=07, rrr=0001111ORL A,Ri0100011iAA
29、(Ri)i=0,11ORL A,#data01000100dataAA#data 1ORL direct,A01000010 direct(direct)(direct)A不影響PSW的P標(biāo)志1ORL direct,#data(direct)(direct)#data不影響PSW的P標(biāo)志2第64頁(yè)/共87頁(yè)65 助記符格式機(jī)器碼(B)相應(yīng)操作指令說(shuō)明機(jī)器周期XRL A,direct0 1 1 0 0 1 0 1 directAA (direct)按位相異或1XRL A,Rn01101rrrAA Rnn=07, rrr=0001111XRL A,Ri0110011iAA (Ri)i=0,11XR
30、L A,#data01100100 dataAA #data 1XRL direct,A0 1 1 0 0 0 1 0 direct(direct)(direct) A不影響PSW的P標(biāo)志1XRL direct,#data01100011 direct data(direct)(direct) #data不影響PSW的P標(biāo)志2第65頁(yè)/共87頁(yè)66助記符格式機(jī)器碼(B)相應(yīng)操作指令說(shuō)明機(jī)器周期CLR A11100100A00HA中內(nèi)容清0,影響P標(biāo)志1CPL A11110100A中內(nèi)容按位取反,影響P標(biāo)志1AA第66頁(yè)/共87頁(yè)67A.0A.7A.0A.7A.0A.7A.0A.7CYCY RL
31、 A RR A RLC A RRC A返回第67頁(yè)/共87頁(yè)68假設(shè)執(zhí)行該指假設(shè)執(zhí)行該指令前,令前,PCPC的值的值為為0000H0000H。第68頁(yè)/共87頁(yè)69 PC高5位(保持不變) PC低11位A10A9A800 001A7A6A5A4A3A2A1A0操作碼(第一字節(jié))操作數(shù)(第二字節(jié))程序計(jì)數(shù)器PC第69頁(yè)/共87頁(yè)70 例: 第70頁(yè)/共87頁(yè)71助記符格式機(jī)器碼(B)相應(yīng)操作機(jī)器周期DJNZ Rn,rel11011rrr relRnRn-1,若Rn0,則PCPC+rel, 否則順序執(zhí)行2DJNZ direct,rel11010101 direct rel(direct)(dire
32、ct)-1,若(direct)0,則PCPC+rel,否則順序執(zhí)行2第71頁(yè)/共87頁(yè)72助記符格式機(jī)器碼(B)(B)相應(yīng)操作機(jī)器周期CJNE CJNE A,#data,relA,#data,rel10110100 10110100 data reldata rel若A#data, A#data, 則PCPCPC+relPC+rel,否則順序執(zhí)行;若 A#dataA#data,則CY=1CY=1,否則CY=0CY=02 2CJNE CJNE Rn,#data,relRn,#data,rel10111rrr10111rrrdata reldata rel若 Rn#dataRn#data,則PCP
33、CPC+relPC+rel,否則順序執(zhí)行;若Rn#dataRn#data,則CY=1CY=1,否則CY=0CY=02 2CJNE CJNE Ri,#data,relRi,#data,rel1011011i1011011idata reldata rel若(Ri)#data(Ri)#data,則PCPCPC+relPC+rel,否則順序執(zhí)行;若(Ri)#data,(Ri)#data,則CY=1CY=1,否則CY=0CY=02 2CJNE CJNE A,direct,relA,direct,rel1011010110110101d i r e c t d i r e c t relrel若A(di
34、rect)A(direct),則PCPCPC+relPC+rel,否則順序執(zhí)行;若A(direct)A(direct),則CY=1CY=1,否則CY=0CY=02 2第72頁(yè)/共87頁(yè)73還有什么方法實(shí)還有什么方法實(shí)現(xiàn)循環(huán)的終止現(xiàn)循環(huán)的終止? ?將00H0FH這16個(gè)數(shù)順序地置入片內(nèi)RAM20H2FH單元中。 MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 DJNZ R7,LOOP SJMP $第73頁(yè)/共87頁(yè)74 MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 C
35、JNE A,#0FH,LOOP SJMP $第74頁(yè)/共87頁(yè)75 MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 DEC A JNZ LOOP SJMP $第75頁(yè)/共87頁(yè)76 MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 SUBB A,#01H JNC LOOP SJMP $第76頁(yè)/共87頁(yè)77助記符格式機(jī)器碼(B)相應(yīng)操作機(jī)器周期A C A L L addr11a10a9a810001addr70PC PC+2SP
36、SP+1,(SP)PC07SP SP+1,(SP)PC815PC010 addr112助記符格式機(jī)器碼(B)相應(yīng)操作機(jī)器周期L C A L L addr1600010010addr158addr70PCPC+3SP SP+1,SPPC07SP SP+1,SPPC815PC addr162第77頁(yè)/共87頁(yè)78助記符格式機(jī)器碼(B)相應(yīng)操作機(jī)器周期RET00100010PC815 (SP), SP SP-1PC07 (SP), SP SP-1子程序返回指令2RETI00110010PC815 SP, SP SP-1PC07 SP, SP SP-1中斷返回指令2助記符格式機(jī)器碼(B)相應(yīng)操作指令說(shuō)明NOP00000000空操作消耗1個(gè)機(jī)器周期第78頁(yè)/共87頁(yè)79單元地址單元地址2FH2FH2EH2EH2DH2DH2CH2CH2BH2BH2AH2AH29H29H28H28H27H27H26H26H25H25H24H24H23H23H22H22H21H21H20H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSBMSB 位地址位地址 LSBLSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包地土地租賃合同
- 鄉(xiāng)村旅游開(kāi)發(fā)實(shí)施細(xì)則指南
- 擋土墻工程勞務(wù)承包合同
- 預(yù)制砼界碑施工方案
- 鏤空磚隔斷施工方案
- 遂寧雨水收集系統(tǒng)施工方案
- 四川球場(chǎng)拼裝地板施工方案
- 沙坪壩餐廳石膏板施工方案
- 瀝青站搬遷改造方案
- 青浦區(qū)遮陽(yáng)停車(chē)棚施工方案
- 2024-2025學(xué)年第二學(xué)期天域全國(guó)名校協(xié)作體高三3月聯(lián)考 地理試卷(含答案)
- 修理木橋施工合同范本
- 學(xué)校2025年每日兩小時(shí)體育活動(dòng)方案-陽(yáng)光體育活力四溢
- B超的基本知識(shí)
- 錘擊式PHC預(yù)應(yīng)力混凝土管樁貫入度的控制
- 新教科版一年級(jí)科學(xué)下冊(cè)第一單元第6課《哪個(gè)流動(dòng)得快》課件
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 5G優(yōu)化案例:5G波束配置優(yōu)化提升CQI優(yōu)良比案例
- JT-T-1202-2018城市公共汽電車(chē)場(chǎng)站配置規(guī)范
- DZ∕T 0201-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 鎢、錫、汞、銻(正式版)
- GB/T 18747.1-2002厭氧膠粘劑扭矩強(qiáng)度的測(cè)定(螺紋緊固件)
評(píng)論
0/150
提交評(píng)論