赵嘉蔚北京交通大学单片机原理与接口技术课后习题.docx
- 文档编号:772983
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:21
- 大小:22.28KB
赵嘉蔚北京交通大学单片机原理与接口技术课后习题.docx
《赵嘉蔚北京交通大学单片机原理与接口技术课后习题.docx》由会员分享,可在线阅读,更多相关《赵嘉蔚北京交通大学单片机原理与接口技术课后习题.docx(21页珍藏版)》请在冰豆网上搜索。
赵嘉蔚北京交通大学单片机原理与接口技术课后习题
第一章
1-4
运算器,控制器,存储器,输入设备,输出设备
1-9(7)
1-11(3)
1-12(4)
1-16(3)
见例1-17
1-19
(1)
01000111
1-20
(1)
414238
第二章
2-2
见书
p30,
2-4
见书
p31,
2-5
见书
p31,
2-6
见书
p32,
2-9
见书
p38,
2-10见书p39,
2-13见书p43,
2-14见书p46,
3-8按要求写出相应的指令。
(1)把寄存器R6的内容送到累加器A中。
RAM30H单元中。
RAM的20H单元中。
RAM的3000H单元中。
(2)把外部RAM1000H单元的内容传送到内部
(3)清除内部RAM3FH单元的高4位。
(4)使累加器A的最低位置1。
(5)清除进位位。
(6)使ACC.4和ACC.5置1。
(7)把外部ROM2000H单元中的内容送到内部
(8)把外部ROM2000H单元中的内容送到外部答案:
(1)MOVA,R6
(2)MOVDPTR,#1000H
MOVXA,@DPTR
MOVR0,#30H
MOV@R0,A
(3)ANL3FH,#0FH
(4)
ORLA,#01H
(5)
CLRC
(6)
ORLA,#30H
(7)
CLRA
MOVDPTR,#2000H
MOVCA,@A+DPTR
MOV20H,A
(8)
CLRA
MOVDPTR,#2000H
MOVCA,@A+DPTR
MOVDPTR,#3000H
MOVX@DPTR,A
3-10编写程序段完成如下要求。
(1)将寄存器R0中的内容乘以10(积小于256)。
(2)将片内RAM30H单元开始的15个字节的数据传送到片外RAM3000H开始的单元中。
(3)将片外RAM2000H开始的5个字节的数据传送到片内RAM20H开始的单元中。
(4)有10个字节的二进制数存放在片内RAM以40H开始的单元内,编程找出其中的最大值并存于内部50H单元中。
(5)将片外RAM空间2000H~200AH中的数据的高4位变零,低4位不变,原址存放。
(6)将外部RAM2040H单元的内容与3040H单元的内容互换。
答案:
(1)MOVB,#0AH
MOVA,R0
MULAB
MOVR0,A
(2)ORG0000H
MOVR0,#30H
MOVDPTR,#3000H
MOVR7,#0FH
LOOP:
MOVA,@R0
MOVX@DPRT,A
INCR0
INCDPTR
DJNZR7,LOOP
SJMP$
END
(3)MOVDPTR,#2000H
MOVR0,#20H
MOVR7,#05H
LOOP:
MOVXA,@DPTR
MOV@R0,A
INCR0
INCDPTR
DJNZR7,LOOP
END
(4)ORG0000H
MOVA,40H;A寄存器放最大值,且初始化最大值(默认第一个数)
MOVR3,#09H;比较次数
MOVR0,#41H
START:
CJNEA,@R0,LOOP
LOOP:
JNCLOOP1;如果比A小,则跳转到LOOP1
MOVA,@R0;如果比A大,则更新A的值
LOOP1:
INCR0
DJNZR3START
MOV50H,A
SJMP$
END
(5)MOVDPTR,#20000H
MOVR1,#0BH
LOOP:
MOVXA,@DPTR
ANLA,#0FH
MOVX@DPTR,A
INCDPTR
DJNZR1,LOOP
SJMP$
(6)MOVDPTR,#2040H
MOVXA,@DPTR
MOVR0,#20H
MOV@R0,A
MOVDPTR,#3040H
MOVXA,@DPTR
XCH@R0,A
MOVX@DPTRA
MOVA,@R0
MOVDPTR,#2040H
MOVX@DPTR,A
3-15设有一带符号的十六位数以补码形式存放在R2、R3寄存器中,试编制求其原码的程
序。
ORG0000H
START:
MOVA,R3
JBACC.7,NEXT;判读符号位,如果是正数则原码与补码一样,如果为负,求原码的方法是符号位不变,其余位取反加1
MOVR3,A
HERE:
SJMP$
NEXT:
XRLA,#7FH;高八位,符号位不变,其余取反
MOVR3,A;放回R3
MOVA,R2;低八位
XRLA,#0FFH;取反
ADDA,#01H;加1
MOVR2,A;放回R2
MOVA,R3;看低八位是否有向高八位进位
ADDCA,#00H
MOVR3,A
SJMP$
END
3-16设有一不带符号的十六进制数组,存放在8031单片机片内RAM以BUFFER为首址的连续单元中,其长度为30个字节,要求统计小于10,等于10及大于10的数的个数,并把它们分别存放到片内RAM的LESS、EQUAL、BIG单元中,试编制实现上述要求的程序并画出相应的流程图。
ORG0000H
BUFFERDATA10H
LESSDATA30H
EQUALDATA31H
BIGDATA32H
MOVR0,#BUFFER
MOVR7,#1EH
MOVLESS,#00H
MOVEQUAL,#00H
MOVBIG,#00H
NEXT:
CJNE@R0,#0AH,LOOP1;循环次数
INCEQUAL
AJMPLOOP3
LOOP1:
JCLOOP2
INCBIG
AJMPLOOP3
LOOP2:
INCLESS
LOOP3:
INCR0
DJNZR7,NEXT
SJMP$
END
3-17在外部RAM1000H单元开始的存储区域存放着10个用ASCII码表示的0~9之间的数字,请编程将它们转换成BCD码,然后存放在2000H~2004H单元(以压缩BCD码存放)。
ORG0000H
MOVR2,#05H
MOVDPTR,#1000H
MOVR0,#20H
LOOP:
MOVXA,@DPTR
ANLA,#0FH
MOVR4,A
INCDPTR
MOVXA,@DPTR
ANLA,#0FH
SWAPA
ADDA,R4
MOV@R0,A
INCR0
INCDPTR
DJNZR2,LOOP
MOVR5,#05H
MOVR0,#20H
MOVDPTR,#2000H
LOOP1:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR5,LOOP1
SJMP$
END
3-18设有50个无符号8位二进制数,存放在8031单片机内部RAM以BOFER为首址的连续单元中,试编制将其中最小数存放到内部RAM的MIN单元的程序并画出相应的流程图。
ORG0000H
BOFERDATA20H
MINDATA60H
MOVR2,#31H;循环49次
MOVR1,#BOFER+1
MOVMIN,BOFER;把最小值放A,且初始化时把第一个数放入A
LOOP:
CJNE@R1,MIN,LOOP1
LOOP1:
JNCLOOP2;@R1>MIN
MOVMIN,@R1;MIN>@R1,MIN要更新
LOOP2:
INCR1
DJNZR2,LOOP
SJMP$
END
3-19设有一字符串存放在8031单片机内部RAM以20H为首址的连续单元中,字符串以回车结束。
要求统计该字符串中字符B(‘B'=42H)的个数,并将其存入外部RAM的40H单元中。
试编写实现上述要求的程序并画出相应的流程图。
ORG0000H
MOVR0,#20H
MOVR1,#00H;‘B'的个数初始化
LOOP:
MOVA,@R0
CJNEA,#42H,NEXT;不为B则跳转
LOOP1:
INCR1;为B则使计数器加1
INCR0
AJMPLOOP
NEXT:
CJNEA,#0DH,LOOP1;判断是否结束(回车键)
MOVDPTR,#0040H;把结果放外部RAM中
MOVA,R1
MOVX@DPTR,A
SJMP$
END
3-23已知MDA和MDB单元内分别存有两个小于10的整数a和b,试用查表子程序实现c=a2+2ab+b2,并把和存于MDC和MDC+1单元中(MDC单元中放低字节,MDC+1单元中放高字节)。
ORG0000H
MDADATA20H
MDBDATA21H
MDCDATA22H
ORG0000H
CLRC
MOVA,MDA
ACALLSQR
MOVR2,A
MOVA,MDB
ACALLSQR
ADDA,R2
MOVR2,A;a2+b2结果暂时放入R2
MOVB,MDA;下面算2*a*b
MOVA,MDB
MULAB
RLA
ADDCA,R2
MOVMDC,A
CLRA
ADDCA,#00H
MOVMDC+1,A
SJMP$
SQR:
ADDA,#01H
MOVCA,@A+PC
RET
SQRTAB:
DB0149162536496481100121
DB144169196225
END
3-25设有一长度为20H的字符串,存放在8031单片机片内RAM以10H为首地址的连续单元中,试编制将其中数字与字母分开并将它们分别送到以30H和50H为首地址的连续单元中的程序。
ORG0000H
MOVR2,#20H;循环次数
MOV
R1,#10H
MOV
60H,#30H
;数字存储首地址
MOV
61H,#50H
;字母存储首地址
LOOP:
MOV
A,@R1
CJNE
A,#40H,NEXT
NEXT:
JNC
NEXT1
;如果是字母则跳转到NEXT1
MOVR0,60H;
是数字,把数字的存储地址给R
MOV
@R0,A
INC
60H
SJMP
LOOP1
NEXT1:
MOVR0,61H
MOV
@R0,A
;是字母,把字母的存储地址给
INC
61H
LOOP1:
INC
R1
R0
DJNZR2,LOOP
SJMP$
END
第四章
4-3,见书
略
4-4,见书
略
4-5,见书
略
4-8,见书
略
4-9,见书
略
4-16,16.
高电平
初值:
低电平:
初值:
ORG0000H
AJMPMAIN
ORG000BH
AJMPTOINT
MAIN:
MOVTMOD,#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 赵嘉蔚 北京 交通大学 单片机 原理 接口 技术 课后 习题