2021年度单片机编程题题库答案_第1页
2021年度单片机编程题题库答案_第2页
2021年度单片机编程题题库答案_第3页
2021年度单片机编程题题库答案_第4页
2021年度单片机编程题题库答案_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片机原理及应用》编程题题库参照答案ORG0H

LJMPSTART

六、编程(每题10分)

1、内部RAM30H和31H单元中存储着2个0-9ASCII码(高位字节在前),请将其转换为压缩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

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对INCR0

少量指令,可酌情给1-3分:若仅有少量指令写错,可酌情扣1-3分。DJNZR2,LOOP

SJMP$

END

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对

2、将存储在内部RAM30H-35H单元压缩型BCD码转换成相应ASCII码,依次存储到外部RAM2100H

少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。

开始单元区中。

RAM30H开始8个单元,请将差存储到外部RAMH开始8个单元中,借位存储到0V标志中。注意:所有

数据均按照从低字节到高字节顺序存储。

ORG0

3、内部RAM20H和30H开始单元分别存储着16个16进制数,请将相应单元内容相加(不考虑溢

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进制数,故16个16进制数占用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

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对

少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。

少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。

5、内部RAM40H和41H单元中存储着2个0-9ASCII码(高位字节在前),请将其转换为压缩BCD码

4、请编写多字节无符号数减法程序。被减数存储在内部RAM20H开始8个单元中,减数存储在内部

(高位在前)并存入外部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

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对SJMP$

少量指令,可酌情给1-3分:若仅有少量指令写错,可酌情扣1-3分。END

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对

6、将存储在内部RAM20H-2FH单元压缩型BCD码(高位在前)转换成相应ASCII码,依次存储到外部

少量指令,可酌情给卜3分;若仅有少量指令写错,可酌情扣1-3分。

RAMI000H开始单元区中。

ORG0H

7、内部RAM30H和38H开始单元分别存储着8个压缩BCD码,请将相应单元内容相加(不考虑溢

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

评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对评分办法:不规定写出程序注释。程序设计思路对的可得5分,指令完全写对可得10分。若仅写对

少量指令,可酌情给卜3分;若仅有少量指令写错,可酌情扣「3分。少量指令,可酌情给卜3分;若仅有少量指令写错,可酌情扣「3分。

8、请编写多字节无符号数加法程序。被加数存储在内部RAM20H开始8个单元中,加数存储在内部9、两个8字节压缩BCD码分别存储在内部RAM30H和40H开始持续单元中(低位字节在前),请将

RAM30H开始8个单元,请将和存储到外部RAMH开始8个单元中,进位存储到F0标志中。注意:所有两者求和(不考虑溢出状况),并将和存入外部RAM1000H开始单元中。

数据均按照从低字节到高字节顺序存储。解: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

评分办法:程序设计思路对的可得5分;对于仅写出某些指令学生可酌情给1—4分;程序编制对的MOVCA,©A+DPTR

可得满分,若存在少量错误,可酌情扣1-3分。MOVDPH,R3

MOVDPL,R4

10、将存储在内部RAM20H-2FH单元十六进制数转换成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

评分办法:程序设计思路对的可得5分;对于仅写出某些指令学生可酌情给1—4分;程序编制对的所有数据均按照从低字节到高字节顺序存储。

可得满分,若存在少量错误,可酌情扣1-3分。解:ORG0

LJMPSTART

11、内部RAM30H和外部RAM2200H开始单元分别存储着两个8字节十六进制数(低位字节存储

ORG30H

在前),请将两者相加(不考虑溢出状况),并将和存入内部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$

评分办法:程序设计思路对的可得5分;对于仅写出某些指令学生可酌情给1—4分;程序编制对的

评分办法:程序设计思路对的可得5分;对于仅写出某些指令学生可酌情给1—4分;程序编制对的

可得满分,若存在少量错误,可酌情扣1-3分。

可得满分,若存在少量错误,可酌情扣1-3分。

12、请编写多字节无符号数减法程序。被减数存储在内部RAM30H开始8个单元中,减数存储在内13、请编写多字节无符号数减法程序。被减数存储在内部RAM20H开始16个单元中,减数存储在内

部RAM38H开始8个单元,请将差存储到外部RAM1000H开始8个单元中,借位存储到F0标志中。注意:部RAM30H开始16个单元,请将差存储到外部RAMH开始16个单元中,借位存储到OV标志中。注意:

所有数据均按照从低字节到高字节顺序存储。

解:ADDR1EQU20H

ADDR2EQU30H

14、将存储在内部RAM20H-3FH单元压缩BCD码转换成ASCII码,依次存储到外部RAM2300H开始

LENEQU16

单元中。(注:每个单元均先转换高四位)

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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论