2021年度單片機編程題題庫答案_第1頁
2021年度單片機編程題題庫答案_第2頁
2021年度單片機編程題題庫答案_第3頁
2021年度單片機編程題題庫答案_第4頁
2021年度單片機編程題題庫答案_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《單片機原理及應(yīng)用》編程題題庫參照答案ORG0H

LJMPSTART

六、編程(每題10分)

1、內(nèi)部RAM30H和31H單元中存儲著2個0-9ASCII碼(高位字節(jié)在前),請將其轉(zhuǎn)換為壓縮BCD碼ORG30H

<高位在前)并存入外部RAM2300H單元中.START:MOVRO,#30H

解:ORGonMOVR2,#0611

LJMPSTARTMOVDPTR,#21OOH

ORG30HLOOP:MOVA,@R0

START:MOVA,30HSWAPA

ANLA,#OFHANLA,#OFH

SWAPAORLA,#30H

MOVR0,AMOVX@DPTR,A

MOVA.31HINCDPTR

ANLA,#OFHMOVA,@R0

ORLA,R0ANLA,#OFH

MOVDPTR,#2300HORLA,#30H

MOVX@DPTR,AMOVX@DPTR,A

ENDINCDPTR

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對INCR0

少量指令,可酌情給1-3分:若僅有少量指令寫錯,可酌情扣1-3分。DJNZR2,LOOP

SJMP$

END

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對

2、將存儲在內(nèi)部RAM30H-35H單元壓縮型BCD碼轉(zhuǎn)換成相應(yīng)ASCII碼,依次存儲到外部RAM2100H

少量指令,可酌情給1-3分;若僅有少量指令寫錯,可酌情扣1-3分。

開始單元區(qū)中。

RAM30H開始8個單元,請將差存儲到外部RAMH開始8個單元中,借位存儲到0V標志中。注意:所有

數(shù)據(jù)均按照從低字節(jié)到高字節(jié)順序存儲。

ORG0

3、內(nèi)部RAM20H和30H開始單元分別存儲著16個16進制數(shù),請將相應(yīng)單元內(nèi)容相加(不考慮溢

LJMPSTART

出),并將和存入外部RAMH開始單元中。

ORG30H

解:ORG0

START:MOVR0,#20H

LJMPSTART

MOVRI,#30H

ORG3011

MOVDPTR,#H

START:MOVR0,#2011

MOVR2,#08H

MOVRI,#30H

CLRC

MOVDPTR,#H

LOOP:MOVA,@R0

MOVR2,#08H;每個單元存儲2個16進制數(shù),故16個16進制數(shù)占用8個單元

SUBBA,@R1

LOOP:MOVA,@R0

MOVX@DPTR,A

ADDA,@R1

INCR0

MOVX@DPTR,A

INCRI

INCR0

INCDPTR

INCRI

DJNZR2,LOOP

INCDPTR

MOVOV,C

DJNZR2,LOOP

SJMP$

SJMP$

END

END

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對

少量指令,可酌情給1-3分;若僅有少量指令寫錯,可酌情扣1-3分。

少量指令,可酌情給1-3分;若僅有少量指令寫錯,可酌情扣1-3分。

5、內(nèi)部RAM40H和41H單元中存儲著2個0-9ASCII碼(高位字節(jié)在前),請將其轉(zhuǎn)換為壓縮BCD碼

4、請編寫多字節(jié)無符號數(shù)減法程序。被減數(shù)存儲在內(nèi)部RAM20H開始8個單元中,減數(shù)存儲在內(nèi)部

(高位在前)并存入外部RAMH單元中。MOVDPTR,#1000H

解:ORGOHLOOP:MOVA,@R0

LJMPSTARTSWAPA

ORG30HANLA,#OEH

START:MOVA,4011ORLA,#3011(或ADDA,#30H)

ANLA,#OFHMOVX@DPTR,A

SWAPAINCDPTR

MOVR0,AMOVA,@R0

MOVA,41HANLA,#OFH

ANLA,#OFHORLA,#30H(或ADDA,#30H)

ORLA,R0MOVX@DPTR,A

MOVDPTR,#HINCDPTR

MOVX?DPTR,AINCR0

ENDDJNZR2,LOOP

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對SJMP$

少量指令,可酌情給1-3分:若僅有少量指令寫錯,可酌情扣1-3分。END

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對

6、將存儲在內(nèi)部RAM20H-2FH單元壓縮型BCD碼(高位在前)轉(zhuǎn)換成相應(yīng)ASCII碼,依次存儲到外部

少量指令,可酌情給卜3分;若僅有少量指令寫錯,可酌情扣1-3分。

RAMI000H開始單元區(qū)中。

ORG0H

7、內(nèi)部RAM30H和38H開始單元分別存儲著8個壓縮BCD碼,請將相應(yīng)單元內(nèi)容相加(不考慮溢

LJMPSTART

出),并將和存入外部RAM1000H開始單元中。

ORG30H

解:ORG0

START:MOVRO,#2011

LJMPSTART

MOVR2,#10H

ORG30HSTART:MOVR0,#20H

START:MOVR0,#30HMOVRI,#30H

MOVRI,#38HMOVDPTR,#H

MOVDPTR,#100011MOVR2,#0811

MOVR2,#08CLRC

LOOP:MOVA,@R0LOOP:MOVA,@R0

ADDA,@R1ADDCA,@R1

DAAMOVX@DPTR,A

MOVX@DPTR,AINCR0

INCR0INCRI

INCRIINCDPTR

INCDPTRDJNZR2,LOOP

DJNZR2,LOOPMOVFO.C

SJMP$SJMP$

ENDEND

評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對評分辦法:不規(guī)定寫出程序注釋。程序設(shè)計思路對的可得5分,指令完全寫對可得10分。若僅寫對

少量指令,可酌情給卜3分;若僅有少量指令寫錯,可酌情扣「3分。少量指令,可酌情給卜3分;若僅有少量指令寫錯,可酌情扣「3分。

8、請編寫多字節(jié)無符號數(shù)加法程序。被加數(shù)存儲在內(nèi)部RAM20H開始8個單元中,加數(shù)存儲在內(nèi)部9、兩個8字節(jié)壓縮BCD碼分別存儲在內(nèi)部RAM30H和40H開始持續(xù)單元中(低位字節(jié)在前),請將

RAM30H開始8個單元,請將和存儲到外部RAMH開始8個單元中,進位存儲到F0標志中。注意:所有兩者求和(不考慮溢出狀況),并將和存入外部RAM1000H開始單元中。

數(shù)據(jù)均按照從低字節(jié)到高字節(jié)順序存儲。解:ORG0

ORG0MOVR0,#3011

LJMPSTARTMOVRI,#4011

ORG30HMOVDPTR,ftlOOOH

MOVR2,#8MOVDPTR,#TAB

CLRCMOVCA,0A+DPTR

LOOP:MOVA,@R0MOVDPH,R3

ADDCA,@R1MOVDPL,R4

DAAMOVX@DPTR,A

MOVX@DPTR,AINCDPTR

INCROMOVR3,DPH

INCRIMOVR4,DPL

INCDPTRMOVA,@R0

DJNZR2,LOOPSWAPA

SJMP$ANLA,#OFH

ENDMOVDPTR,#TAB

評分辦法:程序設(shè)計思路對的可得5分;對于僅寫出某些指令學(xué)生可酌情給1—4分;程序編制對的MOVCA,?A+DPTR

可得滿分,若存在少量錯誤,可酌情扣1-3分。MOVDPH,R3

MOVDPL,R4

10、將存儲在內(nèi)部RAM20H-2FH單元十六進制數(shù)轉(zhuǎn)換成ASCH碼,依次存儲到外部RAMH開始單元

MOVX@DPTR,A

中。

INCDPTR

解:MOVRO,#20H

MOVR3,DPH

MOVR2,#16

MOVR4,DPL

MOVDPTR,#H

INCRO

MOVR3,DPH

DJNZR2,LOOP

MOVR4,DPL

SJMP$

LOOP:MOVA,@R0

TAB:DB'ABCDEF'

ANLA,#OFH

END

評分辦法:程序設(shè)計思路對的可得5分;對于僅寫出某些指令學(xué)生可酌情給1—4分;程序編制對的所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)順序存儲。

可得滿分,若存在少量錯誤,可酌情扣1-3分。解:ORG0

LJMPSTART

11、內(nèi)部RAM30H和外部RAM2200H開始單元分別存儲著兩個8字節(jié)十六進制數(shù)(低位字節(jié)存儲

ORG30H

在前),請將兩者相加(不考慮溢出狀況),并將和存入內(nèi)部RAM40H開始單元中。

START:MOVRO,#3011

解:ORG0

MOVRI,#38H

MOVRO,#30H

MOVDPTR,#1000H

MOVR1,#4OH

MOVR2,#8

MOVDPTR,#2200H

CLRC

MOVR2,#8

LOOP:MOVA,@R0

CLRC

SUBBA,@R1

LOOP:MOVXA,@DPTR

MOVX@DPTR,A

ADDCA,@R0

INCRO

MOV@R1,A

INCRI

INCRO

INCDPTR

INCRI

DJNZR2,LOOP

INCDPTR

MOVC,F0

DJNZR2tLOOP

SJMP$

SJMP$

評分辦法:程序設(shè)計思路對的可得5分;對于僅寫出某些指令學(xué)生可酌情給1—4分;程序編制對的

評分辦法:程序設(shè)計思路對的可得5分;對于僅寫出某些指令學(xué)生可酌情給1—4分;程序編制對的

可得滿分,若存在少量錯誤,可酌情扣1-3分。

可得滿分,若存在少量錯誤,可酌情扣1-3分。

12、請編寫多字節(jié)無符號數(shù)減法程序。被減數(shù)存儲在內(nèi)部RAM30H開始8個單元中,減數(shù)存儲在內(nèi)13、請編寫多字節(jié)無符號數(shù)減法程序。被減數(shù)存儲在內(nèi)部RAM20H開始16個單元中,減數(shù)存儲在內(nèi)

部RAM38H開始8個單元,請將差存儲到外部RAM1000H開始8個單元中,借位存儲到F0標志中。注意:部RAM30H開始16個單元,請將差存儲到外部RAMH開始16個單元中,借位存儲到OV標志中。注意:

所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)順序存儲。

解:ADDR1EQU20H

ADDR2EQU30H

14、將存儲在內(nèi)部RAM20H-3FH單元壓縮BCD碼轉(zhuǎn)換成ASCII碼,依次存儲到外部RAM2300H開始

LENEQU16

單元中。(注:每個單元均先轉(zhuǎn)換高四位)

ADDR3EQUII

解:LENEQU20H

ORG0

ADDRIEQU20H

LJMPSTART

ADDR2EQU2300H

ORG30H

ORG0

START:MOVRO,#ADDR1

LJMPSTART

MOVR1,#ADDR2

ORG30H

MOVDPTR,#ADDR3

START:MOVRO,#ADDR1

MOVR2,#LEN

MOVDPTR,#ADDR2

CLRC

MOVR2,#LEN

LOOP:MOVA,@R0

LOOP:MOVA,@R0

SUBBA,刨U

ANLA,ftOFOH

MOVX@DPTR,A

SWAPA

INCRO

ORLA,#30H(或ADDA,#30H)

INCRI

MOVX?DPTR,A

INCDPTR

INCDPTR

DJNZR2,LOOP

MOVA,@R0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論