版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MCS-51系列單片機(jī)指令學(xué)習(xí)一、實(shí)驗(yàn)?zāi)康腗CS-51系列單片機(jī)指令系統(tǒng)共有111條匯編語言指令,這些指令按功能的不同可分為五類:29條數(shù)據(jù)傳送類指令,24條算術(shù)運(yùn)算類指令,24條邏輯運(yùn)算類指令,17條控制轉(zhuǎn)移類指令和17條位操作類指令。本實(shí)驗(yàn)通過單步執(zhí)行程序中各類指令,來進(jìn)一步學(xué)習(xí)和理解各類主要指令的功能,掌握指令的用法。通過實(shí)驗(yàn)掌握Keil軟件的使用方法。MCS-51系列單片機(jī)指令學(xué)習(xí)一、實(shí)驗(yàn)?zāi)康亩?、?shí)驗(yàn)準(zhǔn)備1、啟動(dòng)穩(wěn)壓電源,確認(rèn)輸出電壓正常。2、將微機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)與直流穩(wěn)壓電源連接好。三、實(shí)驗(yàn)內(nèi)容將以下各部分實(shí)驗(yàn)中所給出的程序的指令機(jī)器代碼查出,并輸入到單片機(jī)系統(tǒng)中,然后從程序給定地址開始單步執(zhí)行,觀察并記錄程序所指定的內(nèi)容。
二、實(shí)驗(yàn)準(zhǔn)備(一)、數(shù)據(jù)傳送與算術(shù)運(yùn)算1、體會(huì)MOVRn,direct指令的功能和用法,取n=0,direct=40H。程序如下:ORG1000HSUBROUT:MOV40H,#0FH;0FH送入RAM40H單元中MOVR0,40H;40H單元內(nèi)容送R0MOVA,R0;R0內(nèi)容送累加器AHERE:SJMPHERE;ENDA=(40H),40H=(0FH),R0=(40H)
(一)、數(shù)據(jù)傳送與算術(shù)運(yùn)算2、體會(huì)MOV@Ri,#DATA指令的功能和用法,選擇DATA=0FH,i=0。程序如下: ORG1010HSUBR:MOVR0,#50H;R0←50HMOV@R0,#0FH;(R0)←0FHMOVA,50H;A←(50H)HERE:SJMPHERE;ENDR0=(),50H=(),A=()2、體會(huì)MOV@Ri,#DATA指令的功能和用法,選擇3、體會(huì)查表指令MOVCA,@A+DPTR,MOVCA,@A+PC的功能和用法。設(shè)定40H單元中的內(nèi)容為0~9之間的一個(gè)整數(shù),用查表的方法求出它的平方值(BCD碼),結(jié)果存入41H單元。(1)、利用MOVCA,@A+DPTR指令查表程序如下:ORG1020HSTART:MOVDPTR,#SQR;MOVA,40H;MOVCA,@A+DPTR;MOV41H,A;HERE:SJMPHERE;SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND3、體會(huì)查表指令MOVCA,@A+DPTR,MOVC(2)、利用MOVCA,@A+PC指令查表程序如下:ORG1050HSTART:MOVA,40H;ADDA,#04H;MOVCA,@A+PC;MOV41H,A;HERE:SJMPHERE;SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND(2)、利用MOVCA,@A+PC指令查表步驟:1)、仔細(xì)閱讀程序并進(jìn)行手工匯編。2)、將程序輸入單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)。3)、建立平方值表。4)、在40H單元鍵入00~09之間的隨機(jī)整數(shù),分別執(zhí)行上述兩個(gè)程序,檢查41H單元的值。41H=(),41H=()4、用加法指令A(yù)DDA,R0實(shí)現(xiàn)兩數(shù)相加,如52H+FCH。程序如下:ORG1100HSUBROUT:MOVA,#52H ;A←52HMOVR0,#0FCH;R0←0FCHADDA,R0;A←(A)+(R0)步驟:1)、仔細(xì)閱讀程序并進(jìn)行手工匯編。HERE:SJMP HERE;ENDA=(),PSW=()用帶進(jìn)位加法指令A(yù)DDCA,R0實(shí)現(xiàn)52H與0CH之和。程序如下:ORG1150HSUBROUT:MOVA,#52H;MOVR0,#0CH;SETBC;ADDCA,R0;HERE:SJMPHERE;ENDHERE:SJMP HERE;執(zhí)行后A=(),PSW=()若將SETBC指令改為CLRC執(zhí)行后A=(),PSW=()5、體會(huì)十進(jìn)制調(diào)整指令DAA的功能和用法程序如下:ORG1200HSUBROUT:MOVA,#65H;ADDA,#58H;DAA;HERE:SJMPHERE;END執(zhí)行后A=(),PSW=(執(zhí)行后A=(),PSW=()若將DAA指令用NOP代替,則執(zhí)行后A=(),PSW=()6、用乘法指令MULAB進(jìn)行0FFH*03H程序如下:ORG1250HSUBROUT:MOVA,#0FFH;MOVB,#03H;MULAB;NOP;NOP;HERE:SJMPHEREEND執(zhí)行后A=(),PSW=(執(zhí)行后A=(),B=(),將2個(gè)空操作指令換成MOVA,B執(zhí)行后A=(),B=(),最后0FFH*03H=(),是否等于B與A的內(nèi)容的積()。(二)、邏輯運(yùn)算和循環(huán)指令1、邏輯“與”指令實(shí)驗(yàn)。程序如下:ORG1300HSUBROUT:MOVA, #0FBH;ANLA,#0FH;HERE:SJMPHERE;END執(zhí)行后A=0BH,實(shí)驗(yàn)結(jié)果是否正確?“與”指令有何作用?執(zhí)行后A=(),B=(),2、邏輯“或”指令實(shí)驗(yàn)。程序如下:ORG1400HSUBROUT:MOVR1,#0FH;MOVA,#33H;ORLA,R1;HERE:SJMPHERE;END執(zhí)行后A=(),“或”指令有何作用?2、邏輯“或”指令實(shí)驗(yàn)。3、邏輯“異或”指令實(shí)驗(yàn)。程序如下:ORG1500HSUBROUT:MOVA,#55H;MOV40H,#00H;XRLA,40H;HERE:SJMPHERE;END執(zhí)行后A=(),將MOV40H,#00H改為MOV40H,#55H,執(zhí)行后A=()。3、邏輯“異或”指令實(shí)驗(yàn)。4、利用左移指令實(shí)現(xiàn)乘2運(yùn)算。程序如下:ORG1600HSUBROUT:MOVA,#29H;RLCA;HERE:SJMPHERE;END執(zhí)行后A=()4、利用左移指令實(shí)現(xiàn)乘2運(yùn)算。5、利用循環(huán)移位指令實(shí)現(xiàn)累加器A中內(nèi)容高半字節(jié)與低半字節(jié)互換。程序如下:ORG1700HSUBROUT:MOVA,#38H;RLA;RLA;RLA;RLA;HERE:SJMPHERE;END執(zhí)行后A=(),改用RRA指令重新實(shí)驗(yàn),執(zhí)行后A=(),改用SWAPA指令重新執(zhí)行,則A=()。5、利用循環(huán)移位指令實(shí)現(xiàn)累加器A中內(nèi)容高半字節(jié)與低半字節(jié)(三)、位操作指令的功能和用法。利用位條件轉(zhuǎn)移指令實(shí)現(xiàn)兩個(gè)無符號(hào)數(shù)比較大小。程序如下:ORG1800HSUBROUT:MOV30H,#80H;MOV31H,#7FH;MOVA,30H;CJNEA,31H,BIG;MOVA,#0DDH;SJMPHERE;BIG:JCSMALL;(三)、位操作指令的功能和用法。MOVA,#0F0H;SJMPHERE;SMALL:MOVA,#0FH;HERE:SJMPHERE;END執(zhí)行后A=(),修改(30H)=7FH,(31H)=80H,執(zhí)行后A=(),再修改(30H)=80H,(31H)=80H,執(zhí)行后A=()。
MOVA,#0F0H;四、實(shí)驗(yàn)報(bào)告要求1、整理好記錄的數(shù)據(jù),與理論分析的結(jié)果相比較。2、歸納MCS-51系列單片機(jī)各類主要指令的功能,熟悉指令尋址方式。3、位操作指令JC是根據(jù)什么條件實(shí)現(xiàn)轉(zhuǎn)換的。4、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明五、預(yù)習(xí)報(bào)告要求1、認(rèn)真閱讀實(shí)驗(yàn)要求。2、匯編所有實(shí)驗(yàn)程序。四、實(shí)驗(yàn)報(bào)告要求數(shù)據(jù)傳送一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步熟悉Keil軟件的使用方法。2、練習(xí)設(shè)計(jì)簡單的程序。3、掌握MCS-51系列單片機(jī)內(nèi)部RAM之間,外部RAM之間以及內(nèi)部RAM與外部RAM之間的數(shù)據(jù)傳送方法,從而了解這兩部分?jǐn)?shù)據(jù)存貯器的特點(diǎn)。4、掌握MCS-51系列單片機(jī)堆棧的使用方法。數(shù)據(jù)傳送一、實(shí)驗(yàn)?zāi)康亩?、設(shè)計(jì)要求1、先將MCS-51系列單片機(jī)內(nèi)部RAM30H~3FH單元分別置初值,初值為00H~0FH,然后將片內(nèi)RAM30H~3FH的內(nèi)容傳送至片內(nèi)RAM40~4FH單元中,再將片內(nèi)RAM40H~4FH單元中的內(nèi)容傳送到外部RAM4800H~480FH單元中,之后又將4800H~480FH單元內(nèi)容送到外部RAM5800H~580FH單元中,最后將片外RAM5800H~580FH單元內(nèi)容傳送回片內(nèi)RAM50H~5FH單元中。2、設(shè)置五個(gè)斷點(diǎn),斷點(diǎn)地址分別為404AH,4056H,4063H,408CH,4099H,每運(yùn)行到斷點(diǎn)時(shí),檢查相應(yīng)的CPU現(xiàn)場及存貯器單元的內(nèi)容。二、設(shè)計(jì)要求
3、另設(shè)置七個(gè)斷點(diǎn),斷點(diǎn)地址分別為4063H,4066H,406DH,406FH,4072H,4078H,407AH,每運(yùn)行到斷點(diǎn)時(shí)檢查相應(yīng)的SP,(SP),DPH,DPL的內(nèi)容。三、設(shè)計(jì)提示1、在微機(jī)上編輯數(shù)據(jù)傳送匯編語言程序源文件,然后進(jìn)行機(jī)器匯編,將實(shí)驗(yàn)機(jī)器代碼程序下載至實(shí)驗(yàn)裝置。2、實(shí)驗(yàn)步驟:(1)設(shè)置五個(gè)斷點(diǎn),斷點(diǎn)地址分別為404AH,4056H,4063H,408CH,4099H。(2)運(yùn)行程序到第一個(gè)斷點(diǎn)404AH,檢查30H~3FH單元內(nèi)容及累加器A的內(nèi)容。3、另設(shè)置七個(gè)斷點(diǎn),斷點(diǎn)地址分別為4063H,406(3)運(yùn)行程序到第二個(gè)斷點(diǎn)4056H,檢查40H~4FH單元內(nèi)容及累加器A的內(nèi)容。(4)運(yùn)行程序到第三個(gè)斷點(diǎn)4063H,檢查4800H~480FH單元內(nèi)容及累加器A,數(shù)據(jù)指針DPTR的內(nèi)容。(5)運(yùn)行程序到第四個(gè)斷點(diǎn)408CH,檢查5800H~580FH單元內(nèi)容及累加器A,數(shù)據(jù)指針DPTR的內(nèi)容。(6)運(yùn)行程序到第五個(gè)斷點(diǎn)4099H,檢查50H~5FH單元內(nèi)容及累加器A,數(shù)據(jù)指針DPTR的內(nèi)容。(7)清除以上所設(shè)斷點(diǎn),另設(shè)七個(gè)斷點(diǎn),斷點(diǎn)地址分別為4063H,4066H,406DH,406FH,4072H,4078H,407AH。(8)每運(yùn)行到一個(gè)斷點(diǎn),分別檢查SP,(SP),DPH,DPL內(nèi)容。(3)運(yùn)行程序到第二個(gè)斷點(diǎn)4056H,檢查40H~4
3、實(shí)驗(yàn)測量數(shù)據(jù)表格如下。表格(一)斷點(diǎn)地址30H~3FH40H~4FH4800H~480FH5800H~580FH50H~5FHADPTR404AH4056H4063H408CH4099H3、實(shí)驗(yàn)測量數(shù)據(jù)表格如下。斷點(diǎn)地址30H~3FH表格(二)
斷點(diǎn)地址SP
(SP)
DPH
DPL
4063H
4066H
406DH
406FH
4072H
4078H
407AH
表格(二)斷點(diǎn)地址SP(SP)DPHDPL4063四、實(shí)驗(yàn)報(bào)告要求1、寫出實(shí)驗(yàn)程序清單。2、將測得的數(shù)據(jù)填入表格,并和理論分析的結(jié)果相比較。3、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。五、實(shí)驗(yàn)思考與總結(jié)1、說明MCS-51系列單片機(jī)對(duì)片內(nèi)RAM和片外RAM存貯器各有哪些尋址方式?2、說明指令MOVA,20H和MOVC,20H中的20H含義有什么不同?傳送指令中的助記符MOV,MOVX,MOVC各適用于訪問哪個(gè)存儲(chǔ)器空間?3、根據(jù)實(shí)驗(yàn)結(jié)果,說明MCS-51系列單片機(jī)堆棧操作規(guī)則。四、實(shí)驗(yàn)報(bào)告要求五、實(shí)驗(yàn)參考程序ORG4000H4000:0140 AJMPMAINORG 4040H4040:7830MAIN:MOVR0,#30H;4042:7A10MOVR2, #10H;4044:E4CLRA;4045:F6 A1:MOV@R0,A;4046:08 INC R0;4047:04 INC A;4048:DAFB DJNZR2,A1;五、實(shí)驗(yàn)參考程序404A:7830MOVR0,#30H;把片內(nèi)RAM30~3FH404C:7940MOVR1,#40H;內(nèi)容傳送到片內(nèi)RAM404E:7A10MOV R2, #10H;40H~4FH單元中4050:E6A2:MOVA,@R0;4051:F7 MOV @R1,A;4052:08 INCR0;4053:09 INCR1;4054:DAFADJNZR2,A2;404A:7830MOVR0,#MOVR1,#40H;把片內(nèi)RAM40~4FH4058:904800MOVDPTR,#4800H;內(nèi)容傳送到片外RAM405B:7A10MOVR2,#10H;4800~480FH單元中405D:E7A3:MOVA,@R1;405E:F0MOVX@DPTR,A;405F:09INCR1;4060:A3INCDPTR;4061:DAFADJNZR2,A3;MOVR1,#MOVSP,#60H;把片外RAM4800~4066:7A10MOVR2,#10H;480FH內(nèi)容傳送到片4068:904800MOVDPTR,#4800H;外RAM5800~580FH406B:C082PUSHDPL;單元中406D:C083PUSHDPH;406F:905800MOVDPTR,#5800H;4072:AB82MOVR3,DPL;4074:AC83MOVR4,DPH;MOVSP,#6A4:POPDPH;4078:D082POPDPL;407A:E0MOVXA,@DPTR;407B:A3 INCDPTR;407C:C082 PUSHDPL;407E:C083PUSHDPH;4080:8B82MOVDPL,R3;4082:8C83MOVDPH,R4;4084:F0MOVX@DPTR,A;4085:A3INCDPTR;4086:AB82MOVR3,DPL;4088:AC83MOVR4,DPH;408A:DAEA DJNZR2, A4;A4:POPDPH;MOVR0,#50H;把片外RAM5800~408E:905800MOV DPTR,#5800H;580FH內(nèi)容傳送回片4091:7A10MOV R2, #10H;內(nèi)RAM50~5FH單元4093:E0A5:MOVX A, @DPTR;4094:F6MOV@R0, A;4095:08INCR0;4096:A3INCDPTR;4097:DAFADJNZR2,A5;4099:80FEHERE:SJMP HERE;ENDMOVR0,#定時(shí)器/計(jì)數(shù)器及中斷系統(tǒng)的應(yīng)用一、實(shí)驗(yàn)?zāi)康恼莆斩〞r(shí)器/計(jì)數(shù)器及中斷系統(tǒng)的使用方法。掌握Proteus軟件與Keil軟件的使用方法。
二、設(shè)計(jì)要求1、在P1.0口線上產(chǎn)生周期為500微秒的連續(xù)方波。定時(shí)器/計(jì)數(shù)器及中斷系統(tǒng)的應(yīng)用一、實(shí)驗(yàn)?zāi)康?、連續(xù)方波產(chǎn)生的時(shí)刻由按鍵K控制。三、設(shè)計(jì)提示1、用Proteus軟件畫出電路原理圖。2、按鍵K作為外部中斷源使用。3、定時(shí)器/計(jì)數(shù)器可采用查詢或中斷方式工作。4、在P1.0口線上接示波器觀察波形。2、連續(xù)方波產(chǎn)生的時(shí)刻由按鍵K控制。四、實(shí)驗(yàn)報(bào)告要求
1、列出實(shí)驗(yàn)程序清單。2、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。五、實(shí)驗(yàn)思考與總結(jié)1、如何產(chǎn)生周期為500微秒,占空比為2:5的連續(xù)矩形波。2、總結(jié)本實(shí)驗(yàn)用到的知識(shí)點(diǎn)。四、實(shí)驗(yàn)報(bào)告要求MCS-51系列單片機(jī)P1口、P3口的應(yīng)用一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)MCS-51系列單片機(jī)的P1口和P3口的使用方法。2、學(xué)習(xí)延時(shí)子程序的編寫。3、學(xué)習(xí)匯編語言編程方法與調(diào)試技巧。4、掌握Proteus軟件與Keil軟件的使用方法。二、設(shè)計(jì)要求1、P1口燈亮實(shí)驗(yàn)P1口作輸出口,接八只發(fā)光二極管,使發(fā)光二極管循環(huán)點(diǎn)亮。MCS-51系列單片機(jī)P1口、P3口的應(yīng)用一、實(shí)驗(yàn)?zāi)康?、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)P1.0接+5V時(shí),右轉(zhuǎn)彎燈閃亮;P1.1接+5V時(shí),左轉(zhuǎn)彎燈閃亮;P1.0,P1.1同時(shí)接+5V或接地時(shí),轉(zhuǎn)彎燈均不閃亮。3、P3口輸入,P1口輸出實(shí)驗(yàn)從P3.3口線輸入一脈沖,P1口按十六進(jìn)制加一方式點(diǎn)亮發(fā)光二極管。三、設(shè)計(jì)提示1、P1口燈亮實(shí)驗(yàn)程序流程框圖如圖所示。將P1.0~P1.7用扦針連至L1~L8,運(yùn)行程序,注意觀察發(fā)光二極管閃亮移位情況。2、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)2、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)程序流程框圖如圖所示。將P1.0接K1,P1.1接K2,P1.4~P1.7接L1,L5,L9,L13,運(yùn)行程序,觀察轉(zhuǎn)彎燈閃亮情況。3、P3口輸入,P1口輸出實(shí)驗(yàn)程序流程框圖如圖所示。將P3.3用扦針連至K1,P1.0~P1.7扦針連至L1~L8,運(yùn)行程序,K1撥動(dòng)一次,注意觀察L1~L8發(fā)光二極管點(diǎn)亮變化情況。四、實(shí)驗(yàn)報(bào)告要求1、列出各實(shí)驗(yàn)程序清單。2、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。2、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)程序流程框圖如圖所示。將P1.0五、實(shí)驗(yàn)思考與總結(jié)1、對(duì)于P1口亮燈實(shí)驗(yàn),如何修改程序,使發(fā)光二極管閃亮?xí)r間改變以及使發(fā)光二極管閃亮移位方向改變。2、對(duì)于P1口轉(zhuǎn)彎燈實(shí)驗(yàn),如何使用單步方式調(diào)試本程序(提示:如何修改延時(shí)子程序)。3、對(duì)于P3口輸入,P1口輸出實(shí)驗(yàn),如何修改程序,使發(fā)光二極管以左移方式點(diǎn)亮。4、總結(jié)本實(shí)驗(yàn)用到的知識(shí)點(diǎn)。五、實(shí)驗(yàn)思考與總結(jié)六、實(shí)驗(yàn)參考程序1、P1口燈亮實(shí)驗(yàn)ORG0790HSE18:MOVP1,#0FFH;送P1口LO34:MOVA,#0FEH;L1發(fā)光二極管點(diǎn)亮LO33:MOVP1,A;LCALLSE19;延時(shí)RLA;左移位SJMPLO33;循環(huán)
六、實(shí)驗(yàn)參考程序ORG07A0HSE19:MOVR6,#0A0H;延時(shí)LO36:MOVR7,#0FFH;LO35:DJNZR7,LO35;DJNZR6,LO36; RETENDORG07A0H2、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)ORG0C30HPX00:MOVP1,#0FFH;初始化PX03:MOVA,P1;MOVB,A;ANLA,#03H;CJNEA,#01H,PX01;滿足只是P1.0為高條件嗎?JB00H,PX04;閃爍標(biāo)志位CLRP1.4;CLRP1.5;開右燈SETBP1.6;SETBP1.7;關(guān)左燈2、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)MOVR2,#20H;LCALLDELY;延時(shí)SETB00H;置標(biāo)志位LJMPPX03;繼續(xù)查狀態(tài)PX04:SETBP1.4;SETBP1.5;SETBP1.6;關(guān)燈SETBP1.7;MOVR2,#20H;LCALLDELY;延時(shí)CLR00H;清標(biāo)志位AJMPPX03;繼續(xù)查狀態(tài)MOVR2,#20H;PX01:CJNEA,#02H,PX02;滿足只是P1.1為高條件嗎?JB01H,PX05;判標(biāo)志位SETBP1.4;SETBP1.5;開左燈CLRP1.6;CLRP1.7;關(guān)右燈MOVR2,#20H;延時(shí)LCALLDELY;SETB01H;置標(biāo)志位LJMPPX03;繼續(xù)查狀態(tài)PX05:SETBP1.4;SETBP1.5; PX01:CJNEA,#02H,PX02SETBP1.6;關(guān)燈SETBP1.7;MOVR2,#20H;LCALLDELY;延時(shí)CLR01H;清標(biāo)志位LJMPPX03;繼續(xù)查狀態(tài)PX02:SETBP1.4;SETBP1.5;SETBP1.6;關(guān)燈SETBP1.7;LJMPPX03;繼續(xù)SETBP1.6;ORG0213H0213:C002DELY:PUSH02H;延時(shí)0215:C002DEL2:PUSH02H;0217:C002DEL3:PUSH02H;0219:DAFEDEL4:DJNZR2,DEL4;021B:D002POP02H;021D:DAF8DJNZR2,DEL3;021F:D002POP02H;0221:DAF2DJNZR2,DEL2;0223:D002POP02H;0225:DAECDJNZR2,DELY;0227:22RETORG0213H3、P3口輸入,P1口輸出實(shí)驗(yàn)ORG0810HJ100:MOVA,#00HJ101:JBP3.3,J101;MOVR2,#20H;LCALLDELY;JBP3.3,J101;P3.3電平為低嗎?J102:JNBP3.3,J102;MOVR2,#20H;LCALLDELY;JNBP3.3,J102;P3.3電平高嗎?INCA;加1PUSHACC;CPLA;取反MOVP1,A;驅(qū)動(dòng)發(fā)光二極管POPACC;AJMPJ101;循環(huán)3、P3口輸入,P1口輸出實(shí)驗(yàn)ORG0213H0213:C002DELY:PUSH02H;延時(shí)0215:C002DEL2:PUSH02H;0217:C002DEL3:PUSH02H;0219:DAFEDEL4:DJNZR2,DEL4;021B:D002POP02H;021D:DAF8DJNZR2,DEL3;021F:D002POP02H;0221:DAF2DJNZR2,DEL2;0223:D002POP02H;0225:DAECDJNZR2,DELY;0227:22RETORG0213H單片機(jī)實(shí)驗(yàn)程序-可直接復(fù)制課件單片機(jī)實(shí)驗(yàn)程序-可直接復(fù)制課件8255的應(yīng)用一、實(shí)驗(yàn)?zāi)康?、掌握MCS-51系列單片機(jī)與8255的接口設(shè)計(jì)方法。
2、熟悉8255芯片初始化程序的設(shè)計(jì)方法。3、掌握Proteus軟件與Keil軟件的使用方法。
8255的應(yīng)用一、實(shí)驗(yàn)?zāi)康亩?、設(shè)計(jì)要求1、利用8255的PA,PB,PC口分別輸出方波,用萬用表或示波器進(jìn)行測量,記錄每個(gè)口線的電平變化,也可利用發(fā)光二極管來觀察。2、利用8255PA口作開關(guān)量輸入口,PB口作開關(guān)量輸出口,撥動(dòng)開關(guān)控制相應(yīng)發(fā)光二極管亮滅。
3、利用8255做輸出口,控制十二個(gè)發(fā)光二極管的亮滅,模擬交通燈管理。要求:執(zhí)行程序,初始態(tài)為四個(gè)路口的紅燈全亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時(shí)一段時(shí)間后,東西路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次后,東西路口紅燈亮,而同時(shí)南北路口的綠燈亮,南北路口方向開始通車,延時(shí)一段時(shí)間后,南北路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次后,再切換到東西路口方向,之后重復(fù)以上過程。二、設(shè)計(jì)要求三、設(shè)計(jì)提示1、利用Proteus軟件繪制電路原理圖;2、利用Keil軟件編制并調(diào)試好實(shí)驗(yàn)程序;3、在Proteus上仿真實(shí)驗(yàn)結(jié)果
。四、實(shí)驗(yàn)報(bào)告要求1、列出實(shí)驗(yàn)程序清單;2、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。五、實(shí)驗(yàn)思考與總結(jié)
1、總結(jié)本實(shí)驗(yàn)用到的知識(shí)點(diǎn)。單片機(jī)實(shí)驗(yàn)程序-可直接復(fù)制課件多分支及數(shù)據(jù)排序一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步掌握MCS-51系列單片機(jī)匯編語言程序設(shè)計(jì)的方法。2、學(xué)會(huì)編寫多分支應(yīng)用程序、顯示、延時(shí)程序。3、學(xué)會(huì)采用冒泡法編寫數(shù)據(jù)排序程序。4、掌握Proteus軟件與Keil軟件的使用方法。二、設(shè)計(jì)要求1、多分支程序的應(yīng)用(1)將00H,01H,02H,03H分別送入20H單元中,每次運(yùn)行程序后,應(yīng)觀察到0,1,2,3從右向左循環(huán)移動(dòng)。多分支及數(shù)據(jù)排序一、實(shí)驗(yàn)?zāi)康模?)修改程序,再次將00H,01H,02H,03H分次送入20H單元中,每次運(yùn)行程序后使0,1,2,3從左向右循環(huán)移動(dòng)。(3)修改程序,將00H,01H,02H,03H分次送入20H單元中,每次運(yùn)行程序后,使4,5,6,7,8從右向左循環(huán)移動(dòng)。2、數(shù)據(jù)排序(1)將片內(nèi)RAM50H~5AH單元中的內(nèi)容分別置為1AH,06H,3DH,4FH,10H,25H,7FH,05H,5BH,19H,60H。(2)運(yùn)行排序程序,將50H~5AH中的十一個(gè)無符號(hào)數(shù)從小到大的次序排列。(3)運(yùn)行排序程序,將50H~5AH中的十一個(gè)無符號(hào)數(shù)從大到小的次序排列。(2)修改程序,再次將00H,01H,02H,03H分次三、設(shè)計(jì)提示1、多分支程序流程框圖如圖所示。(1)向系統(tǒng)輸入多分支應(yīng)用程序。(2)將00H,01H,02H,03H分次送入20H單元中,調(diào)試運(yùn)行程序,觀察LED顯示器顯示結(jié)果。(3)修改程序,使0,1,2,3從左向右循環(huán)移動(dòng),重新運(yùn)行,注意觀察LED顯示器顯示結(jié)果。(4)修改程序,使4,5,6,7,8從右向左循環(huán)移動(dòng),重新運(yùn)行,注意觀察LED顯示器顯示結(jié)果。2、數(shù)據(jù)排序程序流程框圖如圖所示。(1)向系統(tǒng)輸入數(shù)據(jù)排序程序。(2)將給定的十一個(gè)無符號(hào)數(shù)依次置入50H~5AH單元之中。三、設(shè)計(jì)提示(3)調(diào)試運(yùn)行程序,記錄50H~5AH單元的內(nèi)容。(4)修改程序,使數(shù)據(jù)按從大到小的次序排列。(5)重新運(yùn)行程序,記錄50H~5AH單元的內(nèi)容。四、實(shí)驗(yàn)報(bào)告要求1、列出實(shí)驗(yàn)程序清單。2、將每次程序的運(yùn)行結(jié)果與理論分析結(jié)果相比較。3、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。五、實(shí)驗(yàn)思考與總結(jié)1、分析程序,如果要求改變字符顯示的速度,應(yīng)如何修改程序。2、分析程序,如果要求顯示字符從LED顯示器上任一位置開始顯示,如何修改程序。(3)調(diào)試運(yùn)行程序,記錄50H~5AH單元的內(nèi)容。3、分析程序,如果要求對(duì)MCS-51系列單片機(jī)外部RAM單元中的11個(gè)字節(jié)數(shù)據(jù)排序,應(yīng)如何編寫程序。4、總結(jié)本實(shí)驗(yàn)用到的知識(shí)點(diǎn)。3、分析程序,如果要求對(duì)MCS-51系列單片機(jī)外部R六、實(shí)驗(yàn)參考程序1、多分支程序ORGOA10H0A10:E520MEMS:MOVA,20H0A12:900A17MOVDPTR,#KKKK;散轉(zhuǎn)首址0A15:23RL A;(20)*20A16:73JMP @A+DPTR;轉(zhuǎn)到(20)*2+DPTR0A17:411FKKKK:AJMP MEMSP0;0A19:4125AJMP MEMSP1;0A1B:412BAJMP MEMSP2;0A1D:8012SJMP MEMSP3;
六、實(shí)驗(yàn)參考程序0A1F:7520C0 MEMSP0:MOV20H,#0C0H;0字循環(huán)0A22:020DA0LJMPSOX0;0A25:7520F9MEMSP1:MOV20H,#0F9H;1字循環(huán)0A28:020DA0LJMPSOX0;0A2B:7520A4MEMSP2:MOV20H,#0A4H;2字循環(huán)0A2E:020DA0LJMPSOX0;0A31:7520B0MEMSP3:MOV20H,#0B0H;3字循環(huán)0A34:020DA0LJMPSOX0;0A1F:7520C0 MEMSP0:MOV20ORG0DA0H0DA0:E520SOX0:MOVA,20H;顯示程序0DA2:78DCMOVR0,#0DCH;0DA4:79DDMOVR1,#0DDH;0DA6:F2MOVX @R0, A;0DA7:7401MOV A, #01H;0DA9:F3SOX1:MOVX @R1, A;0DAA:7A20MOV R2, #2OH;0DAC:120213LCALL DELY;0DAF:23RL A;0DB0:8OF7SJMP SOX1; ORG0DA0HORG0213H0213:C002DELY:PUSH02H;延時(shí)0215:C002DEL2:PUSH02H;0217:C002DEL3:PUSH02H;0219:DAFEDEL4:DJNZR2,DEL4;021B:D002POP02H;021D:DAF8DJNZR2,DEL3;021F:D002POP02H;0221:DAF2DJNZR2,DEL2;0223:D002POP02H;0225:DAECDJNZR2,DELY;0227:22RETORG0213H2、數(shù)據(jù)排序程序ORGO9BOH09BO:7B50QUE:MOVR3,#50H;09B2:EBQUE1:MOVA,R3;09B3:F8MOVR0,A;09B4:7F0AMOVR7,#0AH;長度送R709B6:C2OOCLROOH;標(biāo)志位為009B8:E6MOVA,@R0;09B9:08QL2:INCR0;09BA:FAMOVR2,A;09BB:C3CLRC;09BC:8622MOV22H,@R0;09BE:B52201CJNEA,22H,QL3;相等嗎?09C1:D3SETBC;2、數(shù)據(jù)排序程序09C2:EAQL3:MOVA,R2;09C3:4006JCQL1;大于交換位置09C5:D200SETB00H;09C7:C6XCHA,@R0;09C8:18DECR0;09C9:C6XCHA,@R0;09CA:08INCR0;大于交換位置09CB:E6QL1:MOVA,@R0;09CC:DFEBDJNZR7,QL2;O9CE:2000E1JBOOH,QUE1;一次循環(huán)中有交換待續(xù)O9D1:80FESJMP$;無變換退出END09C2:EAQL3:MOVA,RMCS-51系列單片機(jī)指令學(xué)習(xí)一、實(shí)驗(yàn)?zāi)康腗CS-51系列單片機(jī)指令系統(tǒng)共有111條匯編語言指令,這些指令按功能的不同可分為五類:29條數(shù)據(jù)傳送類指令,24條算術(shù)運(yùn)算類指令,24條邏輯運(yùn)算類指令,17條控制轉(zhuǎn)移類指令和17條位操作類指令。本實(shí)驗(yàn)通過單步執(zhí)行程序中各類指令,來進(jìn)一步學(xué)習(xí)和理解各類主要指令的功能,掌握指令的用法。通過實(shí)驗(yàn)掌握Keil軟件的使用方法。MCS-51系列單片機(jī)指令學(xué)習(xí)一、實(shí)驗(yàn)?zāi)康亩?、?shí)驗(yàn)準(zhǔn)備1、啟動(dòng)穩(wěn)壓電源,確認(rèn)輸出電壓正常。2、將微機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)與直流穩(wěn)壓電源連接好。三、實(shí)驗(yàn)內(nèi)容將以下各部分實(shí)驗(yàn)中所給出的程序的指令機(jī)器代碼查出,并輸入到單片機(jī)系統(tǒng)中,然后從程序給定地址開始單步執(zhí)行,觀察并記錄程序所指定的內(nèi)容。
二、實(shí)驗(yàn)準(zhǔn)備(一)、數(shù)據(jù)傳送與算術(shù)運(yùn)算1、體會(huì)MOVRn,direct指令的功能和用法,取n=0,direct=40H。程序如下:ORG1000HSUBROUT:MOV40H,#0FH;0FH送入RAM40H單元中MOVR0,40H;40H單元內(nèi)容送R0MOVA,R0;R0內(nèi)容送累加器AHERE:SJMPHERE;ENDA=(40H),40H=(0FH),R0=(40H)
(一)、數(shù)據(jù)傳送與算術(shù)運(yùn)算2、體會(huì)MOV@Ri,#DATA指令的功能和用法,選擇DATA=0FH,i=0。程序如下: ORG1010HSUBR:MOVR0,#50H;R0←50HMOV@R0,#0FH;(R0)←0FHMOVA,50H;A←(50H)HERE:SJMPHERE;ENDR0=(),50H=(),A=()2、體會(huì)MOV@Ri,#DATA指令的功能和用法,選擇3、體會(huì)查表指令MOVCA,@A+DPTR,MOVCA,@A+PC的功能和用法。設(shè)定40H單元中的內(nèi)容為0~9之間的一個(gè)整數(shù),用查表的方法求出它的平方值(BCD碼),結(jié)果存入41H單元。(1)、利用MOVCA,@A+DPTR指令查表程序如下:ORG1020HSTART:MOVDPTR,#SQR;MOVA,40H;MOVCA,@A+DPTR;MOV41H,A;HERE:SJMPHERE;SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND3、體會(huì)查表指令MOVCA,@A+DPTR,MOVC(2)、利用MOVCA,@A+PC指令查表程序如下:ORG1050HSTART:MOVA,40H;ADDA,#04H;MOVCA,@A+PC;MOV41H,A;HERE:SJMPHERE;SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND(2)、利用MOVCA,@A+PC指令查表步驟:1)、仔細(xì)閱讀程序并進(jìn)行手工匯編。2)、將程序輸入單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)。3)、建立平方值表。4)、在40H單元鍵入00~09之間的隨機(jī)整數(shù),分別執(zhí)行上述兩個(gè)程序,檢查41H單元的值。41H=(),41H=()4、用加法指令A(yù)DDA,R0實(shí)現(xiàn)兩數(shù)相加,如52H+FCH。程序如下:ORG1100HSUBROUT:MOVA,#52H ;A←52HMOVR0,#0FCH;R0←0FCHADDA,R0;A←(A)+(R0)步驟:1)、仔細(xì)閱讀程序并進(jìn)行手工匯編。HERE:SJMP HERE;ENDA=(),PSW=()用帶進(jìn)位加法指令A(yù)DDCA,R0實(shí)現(xiàn)52H與0CH之和。程序如下:ORG1150HSUBROUT:MOVA,#52H;MOVR0,#0CH;SETBC;ADDCA,R0;HERE:SJMPHERE;ENDHERE:SJMP HERE;執(zhí)行后A=(),PSW=()若將SETBC指令改為CLRC執(zhí)行后A=(),PSW=()5、體會(huì)十進(jìn)制調(diào)整指令DAA的功能和用法程序如下:ORG1200HSUBROUT:MOVA,#65H;ADDA,#58H;DAA;HERE:SJMPHERE;END執(zhí)行后A=(),PSW=(執(zhí)行后A=(),PSW=()若將DAA指令用NOP代替,則執(zhí)行后A=(),PSW=()6、用乘法指令MULAB進(jìn)行0FFH*03H程序如下:ORG1250HSUBROUT:MOVA,#0FFH;MOVB,#03H;MULAB;NOP;NOP;HERE:SJMPHEREEND執(zhí)行后A=(),PSW=(執(zhí)行后A=(),B=(),將2個(gè)空操作指令換成MOVA,B執(zhí)行后A=(),B=(),最后0FFH*03H=(),是否等于B與A的內(nèi)容的積()。(二)、邏輯運(yùn)算和循環(huán)指令1、邏輯“與”指令實(shí)驗(yàn)。程序如下:ORG1300HSUBROUT:MOVA, #0FBH;ANLA,#0FH;HERE:SJMPHERE;END執(zhí)行后A=0BH,實(shí)驗(yàn)結(jié)果是否正確?“與”指令有何作用?執(zhí)行后A=(),B=(),2、邏輯“或”指令實(shí)驗(yàn)。程序如下:ORG1400HSUBROUT:MOVR1,#0FH;MOVA,#33H;ORLA,R1;HERE:SJMPHERE;END執(zhí)行后A=(),“或”指令有何作用?2、邏輯“或”指令實(shí)驗(yàn)。3、邏輯“異或”指令實(shí)驗(yàn)。程序如下:ORG1500HSUBROUT:MOVA,#55H;MOV40H,#00H;XRLA,40H;HERE:SJMPHERE;END執(zhí)行后A=(),將MOV40H,#00H改為MOV40H,#55H,執(zhí)行后A=()。3、邏輯“異或”指令實(shí)驗(yàn)。4、利用左移指令實(shí)現(xiàn)乘2運(yùn)算。程序如下:ORG1600HSUBROUT:MOVA,#29H;RLCA;HERE:SJMPHERE;END執(zhí)行后A=()4、利用左移指令實(shí)現(xiàn)乘2運(yùn)算。5、利用循環(huán)移位指令實(shí)現(xiàn)累加器A中內(nèi)容高半字節(jié)與低半字節(jié)互換。程序如下:ORG1700HSUBROUT:MOVA,#38H;RLA;RLA;RLA;RLA;HERE:SJMPHERE;END執(zhí)行后A=(),改用RRA指令重新實(shí)驗(yàn),執(zhí)行后A=(),改用SWAPA指令重新執(zhí)行,則A=()。5、利用循環(huán)移位指令實(shí)現(xiàn)累加器A中內(nèi)容高半字節(jié)與低半字節(jié)(三)、位操作指令的功能和用法。利用位條件轉(zhuǎn)移指令實(shí)現(xiàn)兩個(gè)無符號(hào)數(shù)比較大小。程序如下:ORG1800HSUBROUT:MOV30H,#80H;MOV31H,#7FH;MOVA,30H;CJNEA,31H,BIG;MOVA,#0DDH;SJMPHERE;BIG:JCSMALL;(三)、位操作指令的功能和用法。MOVA,#0F0H;SJMPHERE;SMALL:MOVA,#0FH;HERE:SJMPHERE;END執(zhí)行后A=(),修改(30H)=7FH,(31H)=80H,執(zhí)行后A=(),再修改(30H)=80H,(31H)=80H,執(zhí)行后A=()。
MOVA,#0F0H;四、實(shí)驗(yàn)報(bào)告要求1、整理好記錄的數(shù)據(jù),與理論分析的結(jié)果相比較。2、歸納MCS-51系列單片機(jī)各類主要指令的功能,熟悉指令尋址方式。3、位操作指令JC是根據(jù)什么條件實(shí)現(xiàn)轉(zhuǎn)換的。4、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明五、預(yù)習(xí)報(bào)告要求1、認(rèn)真閱讀實(shí)驗(yàn)要求。2、匯編所有實(shí)驗(yàn)程序。四、實(shí)驗(yàn)報(bào)告要求數(shù)據(jù)傳送一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步熟悉Keil軟件的使用方法。2、練習(xí)設(shè)計(jì)簡單的程序。3、掌握MCS-51系列單片機(jī)內(nèi)部RAM之間,外部RAM之間以及內(nèi)部RAM與外部RAM之間的數(shù)據(jù)傳送方法,從而了解這兩部分?jǐn)?shù)據(jù)存貯器的特點(diǎn)。4、掌握MCS-51系列單片機(jī)堆棧的使用方法。數(shù)據(jù)傳送一、實(shí)驗(yàn)?zāi)康亩?、設(shè)計(jì)要求1、先將MCS-51系列單片機(jī)內(nèi)部RAM30H~3FH單元分別置初值,初值為00H~0FH,然后將片內(nèi)RAM30H~3FH的內(nèi)容傳送至片內(nèi)RAM40~4FH單元中,再將片內(nèi)RAM40H~4FH單元中的內(nèi)容傳送到外部RAM4800H~480FH單元中,之后又將4800H~480FH單元內(nèi)容送到外部RAM5800H~580FH單元中,最后將片外RAM5800H~580FH單元內(nèi)容傳送回片內(nèi)RAM50H~5FH單元中。2、設(shè)置五個(gè)斷點(diǎn),斷點(diǎn)地址分別為404AH,4056H,4063H,408CH,4099H,每運(yùn)行到斷點(diǎn)時(shí),檢查相應(yīng)的CPU現(xiàn)場及存貯器單元的內(nèi)容。二、設(shè)計(jì)要求
3、另設(shè)置七個(gè)斷點(diǎn),斷點(diǎn)地址分別為4063H,4066H,406DH,406FH,4072H,4078H,407AH,每運(yùn)行到斷點(diǎn)時(shí)檢查相應(yīng)的SP,(SP),DPH,DPL的內(nèi)容。三、設(shè)計(jì)提示1、在微機(jī)上編輯數(shù)據(jù)傳送匯編語言程序源文件,然后進(jìn)行機(jī)器匯編,將實(shí)驗(yàn)機(jī)器代碼程序下載至實(shí)驗(yàn)裝置。2、實(shí)驗(yàn)步驟:(1)設(shè)置五個(gè)斷點(diǎn),斷點(diǎn)地址分別為404AH,4056H,4063H,408CH,4099H。(2)運(yùn)行程序到第一個(gè)斷點(diǎn)404AH,檢查30H~3FH單元內(nèi)容及累加器A的內(nèi)容。3、另設(shè)置七個(gè)斷點(diǎn),斷點(diǎn)地址分別為4063H,406(3)運(yùn)行程序到第二個(gè)斷點(diǎn)4056H,檢查40H~4FH單元內(nèi)容及累加器A的內(nèi)容。(4)運(yùn)行程序到第三個(gè)斷點(diǎn)4063H,檢查4800H~480FH單元內(nèi)容及累加器A,數(shù)據(jù)指針DPTR的內(nèi)容。(5)運(yùn)行程序到第四個(gè)斷點(diǎn)408CH,檢查5800H~580FH單元內(nèi)容及累加器A,數(shù)據(jù)指針DPTR的內(nèi)容。(6)運(yùn)行程序到第五個(gè)斷點(diǎn)4099H,檢查50H~5FH單元內(nèi)容及累加器A,數(shù)據(jù)指針DPTR的內(nèi)容。(7)清除以上所設(shè)斷點(diǎn),另設(shè)七個(gè)斷點(diǎn),斷點(diǎn)地址分別為4063H,4066H,406DH,406FH,4072H,4078H,407AH。(8)每運(yùn)行到一個(gè)斷點(diǎn),分別檢查SP,(SP),DPH,DPL內(nèi)容。(3)運(yùn)行程序到第二個(gè)斷點(diǎn)4056H,檢查40H~4
3、實(shí)驗(yàn)測量數(shù)據(jù)表格如下。表格(一)斷點(diǎn)地址30H~3FH40H~4FH4800H~480FH5800H~580FH50H~5FHADPTR404AH4056H4063H408CH4099H3、實(shí)驗(yàn)測量數(shù)據(jù)表格如下。斷點(diǎn)地址30H~3FH表格(二)
斷點(diǎn)地址SP
(SP)
DPH
DPL
4063H
4066H
406DH
406FH
4072H
4078H
407AH
表格(二)斷點(diǎn)地址SP(SP)DPHDPL4063四、實(shí)驗(yàn)報(bào)告要求1、寫出實(shí)驗(yàn)程序清單。2、將測得的數(shù)據(jù)填入表格,并和理論分析的結(jié)果相比較。3、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。五、實(shí)驗(yàn)思考與總結(jié)1、說明MCS-51系列單片機(jī)對(duì)片內(nèi)RAM和片外RAM存貯器各有哪些尋址方式?2、說明指令MOVA,20H和MOVC,20H中的20H含義有什么不同?傳送指令中的助記符MOV,MOVX,MOVC各適用于訪問哪個(gè)存儲(chǔ)器空間?3、根據(jù)實(shí)驗(yàn)結(jié)果,說明MCS-51系列單片機(jī)堆棧操作規(guī)則。四、實(shí)驗(yàn)報(bào)告要求五、實(shí)驗(yàn)參考程序ORG4000H4000:0140 AJMPMAINORG 4040H4040:7830MAIN:MOVR0,#30H;4042:7A10MOVR2, #10H;4044:E4CLRA;4045:F6 A1:MOV@R0,A;4046:08 INC R0;4047:04 INC A;4048:DAFB DJNZR2,A1;五、實(shí)驗(yàn)參考程序404A:7830MOVR0,#30H;把片內(nèi)RAM30~3FH404C:7940MOVR1,#40H;內(nèi)容傳送到片內(nèi)RAM404E:7A10MOV R2, #10H;40H~4FH單元中4050:E6A2:MOVA,@R0;4051:F7 MOV @R1,A;4052:08 INCR0;4053:09 INCR1;4054:DAFADJNZR2,A2;404A:7830MOVR0,#MOVR1,#40H;把片內(nèi)RAM40~4FH4058:904800MOVDPTR,#4800H;內(nèi)容傳送到片外RAM405B:7A10MOVR2,#10H;4800~480FH單元中405D:E7A3:MOVA,@R1;405E:F0MOVX@DPTR,A;405F:09INCR1;4060:A3INCDPTR;4061:DAFADJNZR2,A3;MOVR1,#MOVSP,#60H;把片外RAM4800~4066:7A10MOVR2,#10H;480FH內(nèi)容傳送到片4068:904800MOVDPTR,#4800H;外RAM5800~580FH406B:C082PUSHDPL;單元中406D:C083PUSHDPH;406F:905800MOVDPTR,#5800H;4072:AB82MOVR3,DPL;4074:AC83MOVR4,DPH;MOVSP,#6A4:POPDPH;4078:D082POPDPL;407A:E0MOVXA,@DPTR;407B:A3 INCDPTR;407C:C082 PUSHDPL;407E:C083PUSHDPH;4080:8B82MOVDPL,R3;4082:8C83MOVDPH,R4;4084:F0MOVX@DPTR,A;4085:A3INCDPTR;4086:AB82MOVR3,DPL;4088:AC83MOVR4,DPH;408A:DAEA DJNZR2, A4;A4:POPDPH;MOVR0,#50H;把片外RAM5800~408E:905800MOV DPTR,#5800H;580FH內(nèi)容傳送回片4091:7A10MOV R2, #10H;內(nèi)RAM50~5FH單元4093:E0A5:MOVX A, @DPTR;4094:F6MOV@R0, A;4095:08INCR0;4096:A3INCDPTR;4097:DAFADJNZR2,A5;4099:80FEHERE:SJMP HERE;ENDMOVR0,#定時(shí)器/計(jì)數(shù)器及中斷系統(tǒng)的應(yīng)用一、實(shí)驗(yàn)?zāi)康恼莆斩〞r(shí)器/計(jì)數(shù)器及中斷系統(tǒng)的使用方法。掌握Proteus軟件與Keil軟件的使用方法。
二、設(shè)計(jì)要求1、在P1.0口線上產(chǎn)生周期為500微秒的連續(xù)方波。定時(shí)器/計(jì)數(shù)器及中斷系統(tǒng)的應(yīng)用一、實(shí)驗(yàn)?zāi)康?、連續(xù)方波產(chǎn)生的時(shí)刻由按鍵K控制。三、設(shè)計(jì)提示1、用Proteus軟件畫出電路原理圖。2、按鍵K作為外部中斷源使用。3、定時(shí)器/計(jì)數(shù)器可采用查詢或中斷方式工作。4、在P1.0口線上接示波器觀察波形。2、連續(xù)方波產(chǎn)生的時(shí)刻由按鍵K控制。四、實(shí)驗(yàn)報(bào)告要求
1、列出實(shí)驗(yàn)程序清單。2、實(shí)驗(yàn)報(bào)告格式參照實(shí)驗(yàn)報(bào)告說明。五、實(shí)驗(yàn)思考與總結(jié)
溫馨提示
- 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)估強(qiáng)化考核試卷含答案
- 撈油工操作技能模擬考核試卷含答案
- 梳理針刺非織造布制作工操作技能知識(shí)考核試卷含答案
- 重力勘探工操作安全模擬考核試卷含答案
- 石油重磁電勘探工變革管理評(píng)優(yōu)考核試卷含答案
- 2025年結(jié)核病工作整改報(bào)告參考模板
- 內(nèi)控制度合同范本
- 車輛噴漆合同范本
- 防疫看護(hù)合同范本
- 技術(shù)加盟合同協(xié)議
- 新疆阿勒泰市阿葦灘引水閘除險(xiǎn)加固工程環(huán)評(píng)報(bào)告
- JG/T 11-2009鋼網(wǎng)架焊接空心球節(jié)點(diǎn)
- 成本管理部門專項(xiàng)培訓(xùn)體系
- 核磁共振成像設(shè)備維護(hù)保養(yǎng)培訓(xùn)
- 藥物經(jīng)濟(jì)學(xué)基本概念試題及答案
- BRCGS全球標(biāo)準(zhǔn)食品安全第9版內(nèi)部審核和管理評(píng)審全套記錄
- 社工月度工作總結(jié)
- 藥品不良反應(yīng)報(bào)告與監(jiān)測管理
- 烏龜養(yǎng)龜知識(shí)培訓(xùn)課件
- 法醫(yī)學(xué)試題庫(含答案)
- 我的家鄉(xiāng)商洛
評(píng)論
0/150
提交評(píng)論