最新《单片机》编程题题库答案.docx
- 文档编号:1914177
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:67
- 大小:33.94KB
最新《单片机》编程题题库答案.docx
《最新《单片机》编程题题库答案.docx》由会员分享,可在线阅读,更多相关《最新《单片机》编程题题库答案.docx(67页珍藏版)》请在冰豆网上搜索。
最新《单片机》编程题题库答案
《单片机原理及应用》编程题题库参考答案六
1、内部RAM30H和31H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM2300H单元中。
解:
ORG0H
LJMPSTART
ORG30H
START:
MOVA,30H
ANLA,#0FH
SWAPA
MOVR0,A
MOVA,31H
ANLA,#0FH
ORLA,R0
MOVDPTR,#2300H
MOVX@DPTR,A
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
2、将存放在内部RAM30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM2100H开始的单元区中。
ORG0H
LJMPSTART
ORG30H
START:
MOVR0,#30H
MOVR2,#06H
MOVDPTR,#2100H
LOOP:
MOVA,@R0
SWAPA
ANLA,#0FH
ORLA,#30H
MOVX@DPTR,A
INCDPTR
MOVA,@R0
ANLA,#0FH
ORLA,#30H
MOVX@DPTR,A
INCDPTR
INCR0
DJNZR2,LOOP
SJMP$
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
3、内部RAM20H和30H开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM2000H开始的单元中。
解:
ORG0
LJMPSTART
ORG30H
START:
MOVR0,#20H
MOVR1,#30H
MOVDPTR,#2000H
MOVR2,#08H;每个单元存放2个16进制数,故16个16进制数占用8个单元
LOOP:
MOVA,@R0
ADDA,@R1
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
SJMP$
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
4、请编写多字节无符号数减法程序。
被减数存放在内部RAM20H开始的8个单元中,减数存放在内部RAM30H开始的8个单元,请将差存放到外部RAM2000H开始的8个单元中,借位存放到OV标志中。
注意:
所有数据均按照从低字节到高字节的顺序存放。
ORG0
LJMPSTART
ORG30H
START:
MOVR0,#20H
MOVR1,#30H
MOVDPTR,#2000H
MOVR2,#08H
CLRC
LOOP:
MOVA,@R0
SUBBA,@R1
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
MOVOV,C
SJMP$
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
5、内部RAM40H和41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM2000H单元中。
解:
ORG0H
LJMPSTART
ORG30H
START:
MOVA,40H
ANLA,#0FH
SWAPA
MOVR0,A
MOVA,41H
ANLA,#0FH
ORLA,R0
MOVDPTR,#2000H
MOVX@DPTR,A
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
6、将存放在内部RAM20H-2FH单元的压缩型BCD码(高位在前)转换成相应的ASCII码,依次存放到外部RAM1000H开始的单元区中。
ORG0H
LJMPSTART
ORG30H
START:
MOVR0,#20H
MOVR2,#10H
MOVDPTR,#1000H
LOOP:
MOVA,@R0
SWAPA
ANLA,#0FH
ORLA,#30H(或ADDA,#30H)
MOVX@DPTR,A
INCDPTR
MOVA,@R0
ANLA,#0FH
ORLA,#30H(或ADDA,#30H)
MOVX@DPTR,A
INCDPTR
INCR0
DJNZR2,LOOP
SJMP$
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
7、内部RAM30H和38H开始的单元分别存放着8个压缩BCD码,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM1000H开始的单元中。
解:
ORG0
LJMPSTART
ORG30H
START:
MOVR0,#30H
MOVR1,#38H
MOVDPTR,#1000H
MOVR2,#08
LOOP:
MOVA,@R0
ADDA,@R1
DAA
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
SJMP$
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
8、请编写多字节无符号数加法程序。
被加数存放在内部RAM20H开始的8个单元中,加数存放在内部RAM30H开始的8个单元,请将和存放到外部RAM2000H开始的8个单元中,进位存放到F0标志中。
注意:
所有数据均按照从低字节到高字节的顺序存放。
ORG0
LJMPSTART
ORG30H
START:
MOVR0,#20H
MOVR1,#30H
MOVDPTR,#2000H
MOVR2,#08H
CLRC
LOOP:
MOVA,@R0
ADDCA,@R1
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
MOVF0,C
SJMP$
END
评分办法:
不要求写出程序的注释。
程序设计思路正确可得5分,指令完全写对可得10分。
若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。
9、两个8字节压缩BCD码分别存放在内部RAM30H和40H开始的连续单元中(低位字节在前),请将二者求和(不考虑溢出情况),并将和存入外部RAM1000H开始的单元中。
解:
ORG0
MOVR0,#30H
MOVR1,#40H
MOVDPTR,#1000H
MOVR2,#8
CLRC
LOOP:
MOVA,@R0
ADDCA,@R1
DAA
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
SJMP$
END
10、将存放在内部RAM20H-2FH单元的十六进制数转换成ASCII码,依次存放到外部RAM2000H开始的单元中。
解:
MOVR0,#20H
MOVR2,#16
MOVDPTR,#2000H
MOVR3,DPH
MOVR4,DPL
LOOP:
MOVA,@R0
ANLA,#0FH
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPH,R3
MOVDPL,R4
MOVX@DPTR,A
INCDPTR
MOVR3,DPH
MOVR4,DPL
MOVA,@R0
SWAPA
ANLA,#0FH
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPH,R3
MOVDPL,R4
MOVX@DPTR,A
INCDPTR
MOVR3,DPH
MOVR4,DPL
INCR0
DJNZR2,LOOP
SJMP$
TAB:
DB‘0123456789ABCDEF’
END
11、内部RAM30H和外部RAM2200H开始的单元分别存放着两个8字节十六进制数(低位字节存放在前),请将二者相加(不考虑溢出情况),并将和存入内部RAM40H开始的单元中。
解:
ORG0
MOVR0,#30H
MOVR1,#40H
MOVDPTR,#2200H
MOVR2,#8
CLRC
LOOP:
MOVXA,@DPTR
ADDCA,@R0
MOV@R1,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
SJMP$
END
12、请编写多字节无符号数减法程序。
被减数存放在内部RAM30H开始的8个单元中,减数存放在内部RAM38H开始的8个单元,请将差存放到外部RAM1000H开始的8个单元中,借位存放到F0标志中。
注意:
所有数据均按照从低字节到高字节的顺序存放。
解:
ORG0
LJMPSTART
ORG30H
START:
MOVR0,#30H
MOVR1,#38H
MOVDPTR,#1000H
MOVR2,#8
CLRC
LOOP:
MOVA,@R0
SUBBA,@R1
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
MOVC,F0
SJMP$
END
13、请编写多字节无符号数减法程序。
被减数存放在内部RAM20H开始的16个单元中,减数存放在内部RAM30H开始的16个单元,请将差存放到外部RAM2000H开始的16个单元中,借位存放到OV标志中。
注意:
所有数据均按照从低字节到高字节的顺序存放。
解:
ADDR1EQU20H
ADDR2EQU30H
LENEQU16
ADDR3EQU2000H
ORG0
LJMPSTART
ORG30H
START:
MOVR0,#ADDR1
MOVR1,#ADDR2
MOVDPTR,#ADDR3
MOVR2,#LEN
CLRC
LOOP:
MOVA,@R0
SUBBA,@R1
MOVX@DPTR,A
INCR0
INCR1
INCDPTR
DJNZR2,LOOP
MOVOV,C
SJMP$
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 最新 编程 题库 答案