資源描述:
《Keil軟件使用及匯編語言編程.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、KEIL軟件使用及匯編語言編程班級:姓名:張治洪學號:【實驗?zāi)康摹浚?.熟練Keil軟件的使用2.對51單片機匯編語言加深理解【實驗原理】:利用keil軟件的功能實現(xiàn)由軟件到硬件,由代碼到電路的轉(zhuǎn)換?!緦嶒瀮x器與器材】:1.電腦一臺2.keil軟件3.proteus軟件?!緦嶒瀮?nèi)容】:(1)設(shè)內(nèi)部RAM5AH單元中有一個變量X,請編寫計算下列下述函數(shù)式的程序,結(jié)果存入5BH單元。(用匯編語言編程)(2)設(shè)有兩個長度均為15的數(shù)組,分別存放在以2000H和2100H為首的存儲區(qū)中,試編程求其對應(yīng)項之和,結(jié)果存放到以2200H為首
2、的存儲區(qū)中。(用匯編語言編程)(1)將片外數(shù)據(jù)存儲器地址為1000H~1030H的數(shù)據(jù)塊,全部搬遷到片內(nèi)RAM30H~60H中,并將原數(shù)據(jù)塊區(qū)域全部清零。(用匯編語言編程)(2)跑馬燈:用匯編語言編程,實現(xiàn)跑馬燈功能。每個燈亮的時間是65ms?!緦嶒灲Y(jié)果】:(1)設(shè)內(nèi)部RAM5AH單元中有一個變量X,請編寫計算下列下述函數(shù)式的程序,結(jié)果存入5BH單元。(用匯編語言編程)ORG0000HLJMPSTARTORG0100HSTART:CLRCMOVA,5AHSUBBA,#10JCLOWER10CLRCMOVA,5AHCJNEA,#
3、15,IFL15BE1015:MOVA,5AHMOVB,AMULABADDA,#8AJMPSAVEIFL15:JNCLARGE15SJMPBE1015LOWER10:MOVA,5AHMOVB,AMULABDECAAJMPSAVELARGE15:MOVA,#41SAVE:MOV5BH,ASJMP$END數(shù)據(jù)結(jié)果:(2)設(shè)有兩個長度均為15的數(shù)組,分別存放在以2000H和2100H為首的存儲區(qū)中,試編程求其對應(yīng)項之和,結(jié)果存放到以2200H為首的存儲區(qū)中。(用匯編語言編程)ORG0000HJMPMAINORG0100HMAIN:M
4、OVR0,#40HMOVR1,#50HMOVDPTR,#2000HMOVR2,#0FHLOOP:MOVXA,@DPTRMOV@R0,AINCR0INCDPTRDJNZR2,LOOPMOVR2,#0FHMOVDPTR,#2100HLOOP1:MOVXA,@DPTRMOV@R1,AINCDPTRINCR1DJNZR2,LOOP1MOVR2,#0FHMOVR0,#40HMOVR1,#50HMOVDPTR,#2200HLOOP2:MOVA,@R0ADDCA,@R1MOVX@DPTR,AINCR0INCR1INCDPTRDJNZR2,L
5、OOP2SJMP$END數(shù)據(jù)結(jié)果:(2)將片外數(shù)據(jù)存儲器地址為1000H~1030H的數(shù)據(jù)塊,全部搬遷到片內(nèi)RAM30H~60H中,并將原數(shù)據(jù)塊區(qū)域全部清零。(用匯編語言編程)ORG0000HJMPMAINORG0100HMAIN:MOVDPTR,#1000HMOVR0,#30HMOVR2,#31HLOOP:MOVXA,@DPTRMOV@R0,AANLA,#00HMOVX@DPTR,AINCDPTRINCR0DJNZR2,LOOPSJMP$END數(shù)據(jù)結(jié)果:(2)跑馬燈:用匯編語言編程,實現(xiàn)跑馬燈功能。每個燈亮的時間是65ms。
6、窗體底端ORG0000HJMPMAINORG0800HMAIN:MOVA,#01HMOVR5,#8DELAY0:MOVR6,#200DELAY1:MOVR7,#173DELAY2:DJNZR7,DELAY2NOPDJNZR6,DELAY1MOV90H,ARLADJNZR5,DELAY0JMPMAINEND數(shù)據(jù)結(jié)果:實驗心得:跟著書一項一項學了匯編語言的各種指令,雖然對用法都理解,但是具體如何在工程與實踐中它們是如何發(fā)揮作用的還是沒什么印象。然而經(jīng)過這次實驗,我把代碼按規(guī)則和運行原理的順序,親自做好了一個有功能的工程,現(xiàn)在已經(jīng)對
7、單片機匯編語言總的輪廓有了一個初步的了解,收獲還是蠻大的。