久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機(jī)實(shí)驗(yàn)一(精選五篇)

時(shí)間:2019-05-13 03:22:42下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)實(shí)驗(yàn)一》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)實(shí)驗(yàn)一》。

第一篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)一

實(shí)驗(yàn)一 Keil的使用及基本指令練習(xí)

一、實(shí)驗(yàn)?zāi)康暮鸵螅?/p>

熟悉KEIL單片機(jī)編程軟件使用環(huán)境,掌握利用KEIL調(diào)試指令的方法。

二、實(shí)驗(yàn)設(shè)備:

安裝了KEIL的計(jì)算機(jī)。

二、實(shí)驗(yàn)內(nèi)容和步驟:

1、雙擊KEIL圖標(biāo),運(yùn)行KEIL軟件。

2、在Project下選擇New Project新建一個(gè)項(xiàng)目,輸入一個(gè)項(xiàng)目名,點(diǎn)擊保存,進(jìn)入選擇單片機(jī)的對(duì)話(huà)框,選擇:Atmel公司下的AT89C51,點(diǎn)確定;出現(xiàn)生成起始代碼的選擇,點(diǎn)否。

3、點(diǎn)File菜單下的New,新建一個(gè)文件,接著選File下的Save,給文件起個(gè)后綴名為ASM的文件。

4、在左邊項(xiàng)目工作空間(Project Workspace)里,右鍵點(diǎn)擊Sorce Group1 選擇 Add File to……..在出現(xiàn)的對(duì)話(huà)框里,選擇文件類(lèi)型為Asm Source file,將剛生成的文件添加到項(xiàng)目中。

5、左邊項(xiàng)目工作空間的樹(shù)狀結(jié)構(gòu)里,將出現(xiàn)新建的文件,雙擊它,進(jìn)入右邊編輯空間,開(kāi)始進(jìn)行匯編程序的編寫(xiě)。輸入以下程序段:(不用輸入;之后的內(nèi)容)ORG0000HLJMPSTAORG0040H

STA:MOVSP,#6FH;SP=

MOV17H,#34H;(17H)= MOVA,#83H;A= MOVR0,#17H;R0= ANLA,#17H;ORL17H,A;(17H)XRLA,@R0;CPLA;A= SJMP$ END6、保存文件,點(diǎn)擊Projiect菜單下Rebuild all target files編譯文件,若沒(méi)有錯(cuò)誤,編譯成功。

7、點(diǎn)擊Debug下Start/Stop Debug….進(jìn)入調(diào)試狀態(tài)。

8、點(diǎn)擊View 菜單下的Memmery Window在編輯窗口的右下出現(xiàn)存儲(chǔ)器窗口。

9、在存儲(chǔ)器窗口輸入:D:00回車(chē),改變?yōu)橛^察內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)。

10、按F10,單步執(zhí)行程序,每執(zhí)行一步,觀察左邊的Register(寄存器)或存儲(chǔ)器窗口,看各指令執(zhí)行前后相關(guān)單元的內(nèi)容變化,并記錄下來(lái)。

三、實(shí)驗(yàn)報(bào)告要求:

1、認(rèn)真按要求的步驟進(jìn)行實(shí)驗(yàn),掌握使用KEIL的基本方法。

2、按實(shí)驗(yàn)要求進(jìn)行相關(guān)數(shù)據(jù)的記錄,并解釋每一個(gè)數(shù)據(jù)變化的原因?。▓?zhí)行了什么指令,該指令怎么讓數(shù)據(jù)產(chǎn)生了怎么樣的變化?。?/p>

3、自己嘗試改變程序(比如自己寫(xiě)兩條運(yùn)算指令等),按實(shí)驗(yàn)的調(diào)試方法,觀察運(yùn)行過(guò)程數(shù)據(jù)單元的變化情況。

第二篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)

實(shí)驗(yàn)

一、MCS51單片機(jī)基本開(kāi)發(fā)環(huán)境

1. 實(shí)驗(yàn)?zāi)康模?/p>

1)熟悉軟件的集成開(kāi)發(fā)環(huán)境 2)掌握單片機(jī)軟件設(shè)計(jì)流程

3)掌握單片機(jī)存貯器結(jié)構(gòu)及各窗口之間的聯(lián)系 2. 實(shí)驗(yàn)內(nèi)容:

1)用三種方法實(shí)現(xiàn)將累加器A內(nèi)容改為20H

方法1--MOV A,#20H 方法2—MOV R0,#20H MOV A,R0 方法3—MOV R0,#20H XCH A,R0 心得:越往下做實(shí)驗(yàn)時(shí)就越感覺(jué)這題根本不能說(shuō)是題目,但不得不說(shuō)在沒(méi)接觸過(guò)編程軟件,剛開(kāi)始學(xué)的匯編,第一次做的實(shí)驗(yàn)就光這道題都覺(jué)得不知道做什么.所以凡是總有開(kāi)始,不了解情況的多簡(jiǎn)單的都會(huì)覺(jué)得難.2)將58H位單元置為1,觀察內(nèi)部RAM中2BH內(nèi)容的變化 代碼:

SETB 2BH.0 JMP $ END 心得:這是關(guān)于內(nèi)部存儲(chǔ)中對(duì)單元和字節(jié)了解,不理解很容易做錯(cuò).比如開(kāi)始寫(xiě)的指令為

MOV R0,#58H;MOV @R0,#1

這是錯(cuò)誤的指令。這就需要認(rèn)真去了解單片機(jī)中的字節(jié)地址與位地址的關(guān)系。80C51中有位尋址區(qū)和字節(jié)尋址區(qū)。題目中58H為位地址,2BH為字節(jié)地址,且58H為2B字節(jié)的最低位。由于58H屬于位尋址區(qū),可用位操作指令 SETB 進(jìn)行置位,SETB 2BH.0 執(zhí)行后,2BH中內(nèi)容變?yōu)椋埃?/p>

3)如果當(dāng)前狀態(tài)為有進(jìn)位、工作寄存器使用區(qū)2,請(qǐng)用3種方法設(shè)置這種狀態(tài)

代碼:

ANL PSW,#01H MOV A,PSW

CJNE A,#01,LAB2 LAB1:JMP LAB1

LAB2: SETB PSW.4 MOV P0,#01H MOV R0,#18H CLR PSW.3 MOV C,P0.0 MOV PSW,R0 MOV PSW.4,C CPL C MOV PSW.3,C END

心得:以上LAB2寫(xiě)了三段代碼,可分別完成題目要求。不過(guò)實(shí)驗(yàn)時(shí)只是對(duì)代碼進(jìn)行了錯(cuò)誤調(diào)試,沒(méi)有對(duì)結(jié)果進(jìn)行檢驗(yàn)。其中值得注意的是對(duì)于布爾(位)操作指令的用法,比如傳送指令必須經(jīng)累加器C,如第二段中MOV P0,#01H;MOV C,P0.0,以及對(duì)于位尋址的方式(如需用到“.”隔開(kāi))的應(yīng)用。4)編一個(gè)小程序?qū)?nèi)部RAM中的20H單元的內(nèi)容送到21H單元并調(diào)試

代碼:

MOV R0,#20H MOV @R0,#10H MOV R1,#21H MOV @R1,20H JMP $ END

5)用程序?qū)⒍褩V羔樦赶?0H,然后在堆棧中依次壓入01,02,03,04,05五個(gè)數(shù),觀察哪些單元內(nèi)容發(fā)生了變化,各變?yōu)槎嗌伲繌哪男┐翱诳梢园l(fā)現(xiàn)這些變化?順序?qū)⒍褩V械奈鍌€(gè)數(shù)放入30H~34H五個(gè)單元中,編程實(shí)現(xiàn)之。

代碼:

MOV R1,#60H MOV SP,R1 MOV DPL,#1H LAB1:PUSH DPL INC DPL MOV A,DPL CJNE A,#6,LAB1 POP 34H POP 33H POP 32H POP 31H POP 30H JMP $ END

6)將外部數(shù)據(jù)存貯器1000H~100FH 16個(gè)單元中存放00H~0FH 代碼:

MOV DPTR,#1000H MOV R1,#10H LOOP:MOVX @DPTR,#1234H MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 CJNE R1,#40H,LOOP JMP $ END

心得:此處需要訪問(wèn)片外存儲(chǔ)空間,需要借助寄存器DPTR,需注意其為16位的寄存器,在使用時(shí)若與八位寄存器進(jìn)行數(shù)據(jù)交換時(shí)需分為高八位DPH與低八位DPL來(lái)用。7)若要求程序從0010H單元開(kāi)始運(yùn)行,可用兩種方法實(shí)現(xiàn)?

方法一 ORG 0010H 方法二 AJMP 0010H

3. 選做實(shí)驗(yàn)內(nèi)容:數(shù)據(jù)傳送 目的:

1)掌握8051單片機(jī)內(nèi)部數(shù)據(jù)存貯器、外部數(shù)據(jù)存貯器的數(shù)據(jù)傳送特點(diǎn)和應(yīng)用 2)掌握MOV,MOVX和MOVC類(lèi)指令的用法及區(qū)別 內(nèi)容:

1)將片內(nèi)RAM數(shù)據(jù)區(qū)20H為首地址的十六個(gè)字節(jié)傳送到30H為首地址的數(shù)據(jù)區(qū),即:20H~2FH送30H~3FH

代碼: ORG 0000H JMP MAIN ORG 0030H MAIN:MOV R0,#20H MOV R1,#30H LOOP:MOV @R0,#1234H MOVA,@R0 MOV @R1,A INC R0 INC R1 CJNE R1,#30H,LOOP JMP $ END

2)將外部數(shù)據(jù)存儲(chǔ)器2000H~200FH單元的十六個(gè)數(shù)傳送至內(nèi)部數(shù)據(jù)存儲(chǔ)器的30H~3FH 代碼: ORG 0000H JMP MAIN ORG 0030H MAIN: MOV DPTR,#2000H MOV R1,#30H LOOP:MOVX @DPTR,#12H MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 CJNE R1,#40H,LOOP JMP $ END

總體心得體會(huì):

第一次做實(shí)驗(yàn)主要是熟悉了解了下單片機(jī)編程軟件的使用,開(kāi)始接觸時(shí)在對(duì)其軟件不是太了解的情況下實(shí)驗(yàn)編程做的確實(shí)很亂,不清楚該怎樣進(jìn)行,比如不知如何進(jìn)行對(duì)指令的調(diào)試,也不清楚該如何觀察結(jié)果,沒(méi)有一個(gè)整體的概念,所以在了解其開(kāi)發(fā)環(huán)境上花了不少時(shí)間。經(jīng)過(guò)一段時(shí)間的摸索后也終于了解了其具體的使用,也能夠順利的對(duì)指令的編程運(yùn)用。運(yùn)行指令時(shí)遇到的一些問(wèn)題需要注意的也在上面各題中做了說(shuō)明。還有需要注意的是:進(jìn)入軟件仿真時(shí)需要對(duì)存儲(chǔ)空間進(jìn)行查看的方法是在Address窗口中輸入:d:00h 顯示內(nèi)部數(shù)據(jù)存儲(chǔ)器從00h開(kāi)始的單元; x:1000h 顯示外部數(shù)據(jù)存儲(chǔ)器從1000h開(kāi)始的單元; c:0000H 顯示程序存儲(chǔ)器內(nèi)容。還有由于偽指令 END 定義的原因,在程序末需加一條死循環(huán)調(diào)轉(zhuǎn)指令(如 JMP $)使程序不會(huì)進(jìn)入其他未知空間執(zhí)行其他指令。實(shí)驗(yàn)

二、加、減法實(shí)驗(yàn)

1. 實(shí)驗(yàn)?zāi)康?/p>

1)正確使用單片機(jī)的加減運(yùn)算指令

2)掌握不同指令對(duì)于程序狀態(tài)字的影響及程序狀態(tài)字的意義、用處 3)掌握ADD,ADDC,SUBB和DA A等指令的用法 4)學(xué)習(xí)模塊化程序設(shè)計(jì)方法 2. 實(shí)驗(yàn)內(nèi)容

1)編寫(xiě)3字節(jié)二進(jìn)制加法子程序,并用主程序調(diào)用不同的加數(shù)和被加數(shù)來(lái)檢測(cè)該子程序的正確性。需考慮有進(jìn)位和無(wú)進(jìn)位情況。程序入口為: 加數(shù):22H,21H,20H三字節(jié),22H為最高位

被加數(shù):32H,31H,30H三字節(jié),32H為最高位

程序出口為: 23H,22H,21H,20H四字節(jié),23H為最高位 例如:地址:23 22 21 20 32 31 30 執(zhí)行前數(shù)據(jù): 01 23 45 FF 01 01 執(zhí)行后數(shù)據(jù):01 00 24 46

代碼:

ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 22H,#01H MOV 21H,#23H MOV 20H,#45H MOV 32H,#0FFH MOV 1H,#01H MOV 30H,#01H ACALL ADDI HERE:JMP HERE ORG 100H ADDI: PUSH PSW MOV R0, #20H;加數(shù)1地址、和的地址 MOV R1, #30H;加數(shù)2地址 CLR C MOV R2, #3;循環(huán)3次 LOOP: MOV A, @R0;取 ADDC A, @R1;加 MOV @R0, A;存 INC R0 INC R1 DJNZ R2, LOOP CLR A ADDC A, #0;得到進(jìn)位 MOV 23H, A;保存 POP PSW RET END

2)編寫(xiě)三字節(jié)二進(jìn)制減法子程序 入口:被減數(shù): 52H,51H,50H, 50H為最低位

減數(shù): 42H,41H,40H, 40H為最低位

出口:差:外部數(shù)據(jù)存貯器2003H~2000H(2000H為最低位)用主程序調(diào)用多組數(shù)據(jù)來(lái)調(diào)試,需考慮無(wú)借位和有借位兩種情況。例如:

執(zhí)行前:地址: 52 51 50 42 41 40

數(shù)據(jù): 90 80 70 10 10 10

執(zhí)行后:地址: 2003 2002 2001 2000

數(shù)據(jù): 00 80 70 60 代碼:

ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 52H,#90H MOV 51H,#80H MOV 50H,#70H MOV 42H,#10H MOV 41H,#10H MOV 40H,#10H ACALL SUB1 HERE:JMP HERE SUB1: PUSH PSW MOV R0, #50H;被減數(shù)地址 MOV R1, #40H;減數(shù)地址 MOV DPTR, #2000H;差的地址 CLR C MOV R2, #3;循環(huán)3次 LOOP: MOV A, @R0;取 SUBB A, @R1;減 MOVX @DPTR, A;存 INC R0 INC R1 INC DPTR DJNZ R2, LOOP CLR A SUBB A, #0;得到借位 MOVX @DPTR, A;存 POP PSW RET END

3)編寫(xiě)10位十進(jìn)制加法子程序(十進(jìn)制數(shù)采用壓縮BCD碼存放)入口: 加數(shù):24H—20H,低地址放低字節(jié)

被加數(shù):29H—25H,低地址放低字節(jié)

出口 和:4005H—4000H,低地址放低字節(jié)

要求調(diào)用多組數(shù)據(jù)調(diào)試,注意觀察PSW的變化,理解DA A指令的含義。例如:

執(zhí)行前地址:24 23 22 21 20 29 28 27 26 25

數(shù)據(jù):12 34 56 78 90 88 99 33 12 74

執(zhí)行后地址:4005 4004 4003 4002 4001 4000

數(shù)據(jù): 01 01 33 89 91 64

代碼:

ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 24H,#12H MOV 23H,#34H MOV 22H,#56H MOV 21H,#78H MOV 20H,#90H MOV 29H,#88H MOV 28H,#99H MOV 27H,#33H MOV 26H,#12H MOV 5H,#74H ACALL ADD2 HERE:JMP HERE ADD2: PUSH PSW MOV R0, #20H;加數(shù)1地址 MOV R1, #25H;加數(shù)2地址 MOV DPTR,#4000H CLR C MOV R2, #5;循環(huán)5次 LOOP: MOV A, @R0;取 ADDC A, @R1;加

DA A;調(diào)整為BCD碼 MOVX @DPTR, A;存 INC R0 INC R1 INC DPTR DJNZ R2, LOOP POP PSW RET END

第三篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)

實(shí)驗(yàn)一清0、移數(shù)

將片內(nèi)20H~2FH及片外0010H~001FH單元清0;

然后將片內(nèi)30H~3FH的數(shù)據(jù)移到片外0000H~000FH中;判斷:

若(30H)≤10,則求其平方存到31H中,并將位00H置1(其它位清0)若(30H)=10,則將AA存到31H中,并位01H置1(其它位清0)若(30H)≥10,則減10存到31H中,并位02H置1(其它位清0)

實(shí)驗(yàn)二加法、排序

有兩個(gè)長(zhǎng)度為10的無(wú)符號(hào)數(shù)分別放在片內(nèi)20H和30H為首的存儲(chǔ)單元中(低位),求其對(duì)應(yīng)項(xiàng)之和(帶進(jìn)位位),結(jié)果放在40H為首的單元中(若最高位有進(jìn)位則存在后續(xù)單元中),然后按升序排列放在50H為首的單元中

實(shí)驗(yàn)三查表、散轉(zhuǎn)

設(shè)有一表格,表中數(shù)為:00H、11H、22H、33H、44H、55H、66H、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根據(jù)片外0001H單元的低4位的數(shù),取出表中相應(yīng)的值存到片內(nèi)30H中;根據(jù)片外0001H單元的高4位的數(shù),將片內(nèi)RAM區(qū)中可位尋址的相應(yīng)的位置1(從位00H~位0FH,只可有一個(gè)位地址為1)

實(shí)驗(yàn)四外中斷

P1.0~P1.7接8個(gè)發(fā)光二極管,管腳INT0、INT1接兩個(gè)按鍵,分別定義為“L”和“R”。

要求:上電全滅,按 “L”(或R)鍵,最右(左)側(cè)燈亮,每按一次“L” ”(或R)鍵,則亮的燈向左(右)移一位,當(dāng)移到最左(右)端時(shí),燈全滅

實(shí)驗(yàn)五定時(shí)器

P1.0、P1.1分別接兩個(gè)發(fā)光二極管,INT0腳接

一按鍵做開(kāi)關(guān),按一次開(kāi)關(guān),則啟動(dòng),兩個(gè)發(fā)

光管一亮一滅,亮滅時(shí)間均為1秒;再按一次

開(kāi)關(guān),則關(guān)閉,即兩個(gè)發(fā)光管都滅。

實(shí)驗(yàn)六定時(shí)器、計(jì)數(shù)器

P3.2口輸出周期為2S的方波,T1口為脈沖輸入端,記錄輸入的脈沖個(gè)數(shù),脈沖個(gè)數(shù)由P1口所接的8個(gè)數(shù)碼管顯示(二進(jìn)制),設(shè)一按鍵作為開(kāi)關(guān)控制系統(tǒng)運(yùn)行,關(guān)閉時(shí)數(shù)碼管全滅,P3.2無(wú)輸出。

第四篇:51單片機(jī)實(shí)驗(yàn)一實(shí)驗(yàn)報(bào)告

實(shí)驗(yàn)報(bào)告

班級(jí):

姓名:

學(xué)號(hào):

組別:

課程名稱(chēng):?jiǎn)纹瑱C(jī)原理及應(yīng)用

實(shí)驗(yàn)室:

實(shí)驗(yàn)時(shí)間:

實(shí)驗(yàn)項(xiàng)目名稱(chēng):

實(shí)驗(yàn)一

MCS-51單片機(jī)及其開(kāi)發(fā)系統(tǒng)(仿真器)的認(rèn)識(shí) 一、實(shí)驗(yàn)?zāi)康模?/p>

學(xué)習(xí)并掌握單片機(jī)仿真系統(tǒng)的操作方法,熟悉系統(tǒng)功能及用法。

(1)了解MCS-51單片機(jī)開(kāi)發(fā)常用工具。

(2)了解仿真器構(gòu)成、功能及連接。

(3)掌握MCS-51開(kāi)發(fā)軟件(匯編器)安裝、功能及基本操作。

(4)掌握源程序的編輯、匯編、運(yùn)行(包括連續(xù)執(zhí)行、單步執(zhí)行和跟蹤執(zhí)行)。

(5)掌握匯編語(yǔ)言指令與機(jī)器語(yǔ)言指令之間的對(duì)應(yīng)關(guān)系。

(6)掌握ORG、DATA、BIT等偽指令的作用。

(7)掌握在仿真開(kāi)發(fā)系統(tǒng)下瀏覽、修改特殊功能寄存器、內(nèi)部RAM、外部RAM單元的方法。

(8)理解MCS-51單片機(jī)在復(fù)位期間及復(fù)位后有關(guān)引腳的狀態(tài)、特殊功能寄存器的初值。

二、實(shí)驗(yàn)內(nèi)容及原理:

MdeWin單片機(jī)仿真系統(tǒng)的安裝、設(shè)置、主要功能操作練習(xí)。

三、實(shí)驗(yàn)器材:

MdeWin單片機(jī)仿真系統(tǒng)一套、PC機(jī)一臺(tái)。

四、實(shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果分析:

一、程序輸入練習(xí)

首先在Medwin下新建一項(xiàng)目,并新建一后綴名為asm的文件(匯編源文件),并添加入項(xiàng)目中。

按規(guī)定的格式輸入以上程序(只輸源程序部分)。

二、程序運(yùn)行和控制:

1.程序的編譯、產(chǎn)生代碼并裝入: 輸入源程序完畢后,可在“項(xiàng)目管理”窗口中點(diǎn)擊“編譯/匯編”選項(xiàng),如程序無(wú)輸入錯(cuò)誤、語(yǔ)法錯(cuò)誤等,編譯完成。在消息窗口中,產(chǎn)生編譯成功信息。如有錯(cuò)誤,則消息窗口中指出錯(cuò)誤所在行及錯(cuò)誤類(lèi)型,請(qǐng)重新修改源程序。

編譯成功后,在“項(xiàng)目管理”窗口中點(diǎn)擊“產(chǎn)生代碼并裝入”選項(xiàng),對(duì)編譯無(wú)誤后產(chǎn)生的OBJ文件進(jìn)行連接,并把代碼裝入仿真器。代碼裝入仿真器后,即可實(shí)行仿真。

可在反匯編窗口中查看編譯產(chǎn)生的機(jī)器碼,并與上述程序中對(duì)照。

記錄你認(rèn)為能說(shuō)明問(wèn)題的檢查結(jié)果。

2.程序的全速、斷點(diǎn)、單步等執(zhí)行方式: 為提高調(diào)試程序的運(yùn)行速度,程序采用全速斷點(diǎn)運(yùn)行方式。

練習(xí)設(shè)置及取消設(shè)置程序斷點(diǎn)。

比較單步及跟蹤兩種程序運(yùn)行方式的不同。

3.查看單片機(jī)各種資源狀態(tài)及內(nèi)容:

在“察看”窗口中可以查看單片機(jī)內(nèi)部及程序變量等各種資源,在單步或程序斷點(diǎn)運(yùn)行中可以實(shí)時(shí)觀察單片機(jī)SFR、內(nèi)外RAM、程序變量等內(nèi)容,可以很方便的觀測(cè)程序的運(yùn)行狀況。

將觀測(cè)的結(jié)果記錄下來(lái)以便和程序分析結(jié)果相比較。

三.程序輸入補(bǔ)充練習(xí)1.匯編語(yǔ)言源程序編輯、運(yùn)行及調(diào)試,輸入、編輯、匯編、運(yùn)行(連續(xù)、單步執(zhí)行)如下程序段:

;變量定義區(qū)

XVAR DATA

30H

;定義變量 X,Y地址

YVAR DATA

38H

P10 BIT

P1.0

;位定義P1.0定義為P10

ORG

0000H

;偽指令 定義PC開(kāi)始位置

LJMP

MAIN

;長(zhǎng)跳轉(zhuǎn)到主程序位置

ORG

0100H

;偽指令 主程序開(kāi)始位置 MAIN: MOV SP, #9FH

;設(shè)置堆棧地址

MOV A, #55H

;A=55H

MOV XVAR, A

;XVAR(30H)=55H

MOV R0, #XVAR

;R0=30H

MOV @R0, #01H

;(30H)=01H

INC R0

;R0=31H

MOV @R0, #02H

;(31H)=02H

MOV R1, #YVAR

;R1=38H

MOV A, @R0

;A=02H

MOV @R1, A

;(38H)=02H

PUSH Acc

;壓棧操作A0,A1存儲(chǔ)acc和psw

PUSH PSW

;

MOV A, #0AAH

;A=AAH

SETB RS0

;01 選用第一區(qū)寄存器

CLR RS1

MOV R0, #5AH

;R0=5AH

MOV R1, #0A5H

;R1=A5H

POP PSW

;出棧操作釋放acc和psw

POP ACC

INC R1

;R1=39H

DEC R0

;R0=30H

MOV A, @R0

;A=01H

MOV @R1, A

;(39H)=01H

CLR P1.0

SETB P1.0

;置位P1.0

MOV 90H, #00H

;(90H)=00H

MOV 90H, #55H

;(90H)=55H

MOV 90H, #0FFH

;(90H)=FFH

MOV P1, #00H

;P1=00H

MOV P1, #55H

;P1=55H

MOV P1, #0FFH

;P1=FFH

SJMP $

END(1)找出每條指令的機(jī)器碼,并與第3章指令碼表對(duì)照,指出每一指令的功能、尋址方式、操作數(shù)書(shū)寫(xiě)形式。

地址

機(jī)器碼

指令

目的操作數(shù)/ / 源操作數(shù)

MOV SP, #9FH

目的操作數(shù):直接尋址;源操作數(shù):立即尋址 MOV A, #55H

目的操作數(shù):寄存器尋址;源操作數(shù):立即尋址; MOV XVAR, A

目的操作數(shù):直接尋址;源操作數(shù):寄存器尋址; MOV R0, #XVAR

目的操作數(shù):寄存器尋址;源操作數(shù):立即尋址;

MOV @R0, #01H

目的操作數(shù):寄存器間接尋址;源操作數(shù):立即尋址; INC R0

寄存器尋址 MOV @R0, #02H

目的操作數(shù):寄存器間接尋址;源操作數(shù):立即尋址; MOV R1, #YVAR

目的操作數(shù):寄存器尋址;源操作數(shù):立即尋址; MOV A, @R0

目的操作數(shù):寄存器尋址;源操作數(shù):寄存器間接尋址; MOV @R1, A

目的操作數(shù):寄存器間接尋址;源操作數(shù):寄存器尋址; PUSH Acc;

將Acc中的內(nèi)容壓入堆棧;直接尋址 PUSH PSW

將PSW壓入堆棧;直接尋址 MOV A, #0AAH

目的操作數(shù):寄存器尋址;源操作數(shù):立即尋址; SETB RS0

位尋址 CLR RS1

位尋址 MOV R0, #5AH

目的操作數(shù):寄存器尋址;源操作數(shù):立即尋址; MOV R1, #0A5H

目的操作數(shù):寄存器尋址;源操作數(shù):立即尋址; POP PSW

按壓棧順序放入PSW; 直接尋址 POP ACC

按壓棧順序放入Acc;直接尋址 INC R1

寄存器尋址 DEC R0

寄存器尋址

MOV A, @R0

目的操作數(shù):寄存器尋址;源操作數(shù):寄存器間接尋址; MOV @R1, A

機(jī)器碼:F7;R1=A;

目的操作數(shù):寄存器間接尋址;源操作數(shù):立即尋址; CLR P1.0

將p10口清零 SETB P1.0

將P10口置一; 位尋址 MOV 90H, #00H

機(jī)器碼:759000;(90H)=00H;目的操作數(shù):直接尋址;源操作數(shù):立即尋址; MOV 90H, #55H

目的操作數(shù):直接尋址;源操作數(shù):立即尋址; MOV 90H, #0FFH

目的操作數(shù):直接尋址;源操作數(shù):立即尋址; MOV P1, #00H

目的操作數(shù):直接尋址;源操作數(shù):立即尋址;

MOV P1, #55H

目的操作數(shù):直接尋址;源操作數(shù):立即尋址; MOV 90H, #0FFH

目的操作數(shù):直接尋址;源操作數(shù):立即尋址; SJMP $

(2)在單步執(zhí)行過(guò)程中,每執(zhí)行一條命令后,觀察并記錄有關(guān)寄存器、內(nèi)存單元的變化情況。設(shè)置斷點(diǎn)后,再連續(xù)執(zhí)行,記錄30H、31H、38H單元內(nèi)容,與復(fù)位后的內(nèi)容進(jìn)行比較,由此得出什么結(jié)論?

全速執(zhí)行

全速執(zhí)行后復(fù)位

執(zhí)行至斷點(diǎn)處

全速執(zhí)行到結(jié)束 由上圖可見(jiàn),全速執(zhí)行后并不會(huì)輸出結(jié)果,只有當(dāng)程序復(fù)位之后才會(huì)將結(jié)果顯示出來(lái),但是設(shè)置斷點(diǎn)后,運(yùn)行至斷點(diǎn)就會(huì)顯示已運(yùn)行的結(jié)果,由此我得出結(jié)論:當(dāng)全速運(yùn)行到最后時(shí),系統(tǒng)處于原地跳轉(zhuǎn)狀態(tài),只要系統(tǒng)不停下就不顯示結(jié)果,而設(shè)置斷點(diǎn)后,到達(dá)斷點(diǎn)就會(huì)停止運(yùn)行,從而顯示運(yùn)算結(jié)果。而單步執(zhí)行在每一步執(zhí)行之后,對(duì)應(yīng)地址的數(shù)值就會(huì)立刻改改變。

(3)修改ORG 100H指令后的地址,重新匯編,觀察程序代碼在程序存儲(chǔ)器中存放位置的變化情況。記錄你認(rèn)為能說(shuō)明問(wèn)題的檢查結(jié)果。

ORG 300H

ORG 1000H 五、在實(shí)驗(yàn)過(guò)程中遇到的問(wèn)題及解決方法(1)

軟件安裝出錯(cuò)

解決:刪除注冊(cè)表,在注冊(cè)表的刪除過(guò)程中,必須要?jiǎng)h干凈,然后換安裝包重裝。

(2)

出棧時(shí),寄存器的數(shù)值改編 解決:psw 出棧時(shí),改變了 rs0,rs1 的值,也就是換回了 0 區(qū)寄存器。因此個(gè)寄存器的數(shù)值均為壓棧前的數(shù)值。

六、實(shí)驗(yàn)結(jié)論

本次實(shí)驗(yàn),較為簡(jiǎn)單,基本上是驗(yàn)證性實(shí)驗(yàn),在學(xué)習(xí)了理論知識(shí)后,通過(guò)實(shí)踐,簡(jiǎn)單明了的看到了各個(gè)地址的數(shù)值,并了解到程序的運(yùn)行過(guò)程,單步運(yùn)行更容易讓我們了解到每一步指令的操作效果。另外,在實(shí)驗(yàn)過(guò)程中,調(diào)用各個(gè)查看窗口進(jìn)行實(shí)驗(yàn)過(guò)程跟蹤,能更加直觀的認(rèn)識(shí)到指令的作用

第五篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)一:電風(fēng)扇設(shè)計(jì)

單片機(jī)實(shí)驗(yàn)一:電風(fēng)扇設(shè)計(jì)

1、基礎(chǔ)部分:風(fēng)扇要求有三個(gè)檔位可選:低檔位、中檔位、高檔位,當(dāng)前檔位能夠直觀顯

示(液晶屏或者LED),風(fēng)扇有獨(dú)立的電源開(kāi)關(guān)和檔位選擇按鈕;

2、提升部分:①風(fēng)扇具有定時(shí)功能,例如,定時(shí)30分鐘,則風(fēng)扇可以工作30分鐘自動(dòng)停

止。

3、選作部分:顯示部分可顯示當(dāng)前時(shí)間

用51和430均可以。

下載單片機(jī)實(shí)驗(yàn)一(精選五篇)word格式文檔
下載單片機(jī)實(shí)驗(yàn)一(精選五篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    2013單片機(jī)實(shí)驗(yàn)教案

    單片機(jī)技術(shù)實(shí)驗(yàn) 教 案 馮 杰 1 實(shí)驗(yàn)一 順序結(jié)構(gòu)程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?掌握匯編語(yǔ)言設(shè)計(jì)和調(diào)試方法。 二、實(shí)驗(yàn)內(nèi)容 把外部RAM中2000h單元的內(nèi)容拆開(kāi),高位送2001h單元,低位......

    單片機(jī)實(shí)驗(yàn) 2

    單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù) 實(shí)驗(yàn)報(bào)告 得分: 年級(jí)專(zhuān)業(yè): 測(cè)控1303班學(xué)生姓名/學(xué)號(hào):崔振振/201323030325 評(píng)閱教師: 提交時(shí)間:2015—2016學(xué)年第1學(xué)期 單片機(jī)實(shí)驗(yàn)1匯編語(yǔ)......

    單片機(jī)實(shí)驗(yàn)心得體會(huì)

    單片機(jī)實(shí)驗(yàn)心得體會(huì) 單片機(jī)實(shí)驗(yàn)心得體會(huì)一:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)心得體會(huì) 時(shí)間過(guò)得真快,不經(jīng)意間,一個(gè)學(xué)期就到了尾聲,進(jìn)入到如火如荼的期末考試階段。在學(xué)習(xí)單片機(jī)這門(mén)課程之前,就早早的......

    單片機(jī)液晶顯示實(shí)驗(yàn)

    實(shí)驗(yàn)八 單片機(jī)液晶顯示實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1、了解液晶顯示屏的控制原理及方法。 2、了解點(diǎn)陣漢字的顯示原理。 二、實(shí)驗(yàn)說(shuō)明 1、 利用實(shí)驗(yàn)上的液晶顯示屏電路,編寫(xiě)程序控制......

    單片機(jī)實(shí)驗(yàn)小結(jié)

    單片機(jī)實(shí)驗(yàn)小結(jié) 這學(xué)期的單片機(jī)實(shí)驗(yàn)課程已經(jīng)結(jié)束了,雖然做的實(shí)驗(yàn)是比較簡(jiǎn)答的,但麻雀雖小五臟俱全,因此自己也通過(guò)實(shí)驗(yàn)課學(xué)到了很多知識(shí)。 單片機(jī)實(shí)驗(yàn)課是為了更好的學(xué)習(xí)單片機(jī)......

    單片機(jī)實(shí)驗(yàn)總結(jié)

    單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)總結(jié) 本學(xué)期的單片機(jī)實(shí)驗(yàn)轉(zhuǎn)眼已到尾聲,共做了六項(xiàng)實(shí)驗(yàn),分別是KEIL4、ISP下載軟件的安裝于使用、P1口輸出循環(huán)燈實(shí)驗(yàn)、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)、P3.3口輸入......

    單片機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)

    單片機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)實(shí)驗(yàn)說(shuō)明實(shí)驗(yàn)1:定時(shí)控制實(shí)驗(yàn) 要求:電路連接與編程相結(jié)合,控制燈按一定規(guī)律點(diǎn)亮和熄滅。 注意:燈為低電平驅(qū)動(dòng)。 實(shí)驗(yàn)報(bào)告:說(shuō)明燈亮的方式;畫(huà)出實(shí)際電路圖、程序流......

    單片機(jī)實(shí)驗(yàn)三

    實(shí)驗(yàn)三 單片機(jī)I/O口控制程序?qū)嶒?yàn) 一、實(shí)驗(yàn)?zāi)康暮鸵螅?掌握單片機(jī)串行傳輸輸入輸出的應(yīng)用方法。 二、實(shí)驗(yàn)設(shè)備: 安裝了THGY51的計(jì)算機(jī),單片機(jī)實(shí)驗(yàn)箱。 三、實(shí)驗(yàn)內(nèi)容和步驟: 1、......

主站蜘蛛池模板: 欧洲丰满少妇做爰视频爽爽| 亚洲精品电影院| 成人无码精品一区二区三区| 久久精品中文字幕一区二区三区| 欧妇女乱妇女乱视频| 中文字幕日本最新乱码视频| 亚洲欧美综合精品二区| 久久久精品国产sm调教网站| 国产无套护士在线观看| 日日躁夜夜躁狠狠躁夜夜躁| 人妻激情另类乱人伦人妻| 久久不见久久见www电影免费| 久久精品久久精品久久39| 国产欧美在线观看不卡| 国产精品_国产精品_k频道| 欧美成aⅴ人高清免费| 成人网站在线免费观看| 国产成年女人特黄特色大片免费| 18禁黄网站禁片免费观看女女| 97国产精华最好的产品在线| 国产国拍精品av在线观看按摩| 久久午夜夜伦鲁鲁片免费无码影视| 午夜爽爽爽男女免费观看一区二区| 精品国产成人一区二区三区| 久久96国产精品久久| 99久久精品日本一区二区免费| 夜夜爽8888天天躁夜夜躁狠狠| 国内精品久久久久久久电影视| 国产私拍福利精品视频| 亚洲av无码成人专区片在线观看| 欧美人与动人物姣配xxxx| 日本无码欧美一区精品久久| 国产传媒18精品免费1区| 久久精品亚洲成在人线av麻豆| 337p日本大胆欧美人视频| 日产欧美国产日韩精品| 精品人妻人人做人人爽夜夜爽| 性色av 一区二区三区| 久久丝袜脚交足免费播放导航| 亚洲成a人片在线观看中文| 99久久免费看少妇高潮a片特黄|