微机课后作业的参考答案Word格式.docx
- 文档编号:3688523
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:12
- 大小:16.98KB
微机课后作业的参考答案Word格式.docx
《微机课后作业的参考答案Word格式.docx》由会员分享,可在线阅读,更多相关《微机课后作业的参考答案Word格式.docx(12页珍藏版)》请在冰点文库上搜索。
ORG0000H
AJMPSTART
START:
MOVR0,#30H
MOVA,#00H
MOVR7,#31H;
用于设定循环的次数
LOOP:
MOV@R0,A
INCR0;
实现R0+1
INCA;
实现A+1
DJNZR7,LOOP
AJMP$
END
11>
流程图
把5000H放到DPTR中;
把A中值放到5000H中
把50H中的内容放到A中
把A中的数实现自加;
R1+1
50H放到R1中;
16放到R7;
把50H中的内容放到A;
把A中数值放到@DPTR中
然后;
R1+1,A+1
把16放到R7;
4000H放到DPTR
ORG0000H
AJMPSTART
START:
MOVR1,#50H
MOVR7,#16H;
设定循环的次数
MOVDPTR,#4000H
MOVA,@R1
MOVX@DPTR,A;
把A中的内容放到片外
INCDPTR
INCR1
DJNZR7,LOOP
MOVR7,#16
SUM:
ADDA,@R1;
实现求和
DJNZR7,SUM
MOVDPTR
把所求的和放到片外的5000H
AJMP$;
END
12>
把20H中的内容50H
60H-1=0
把20H中的内容与30H交换
CY置0
CY置1
比较20H与30H;
是否20H大?
R0+1;
把@R0中内容放到30H
把20H放到R0中;
把20H中的内容放到A中;
把6放到60H中;
把CY置1;
把TABLE中的数放到20H中
把00H放到R1中;
20H放到R0中;
TABLE放到DPTR中;
把6放到R7中;
R7-1=0
是否放完?
ORG0000H
AJMPSTART
;
*****************************************
子程序,主要用来实现把最小值放到A中
COMPARE:
CJNEA,30H,LOOP1;
比较
LOOP2:
JNBCY,RETURN
RET
RETURN:
MOVA,30H
******************************************
MOVR1,#00
MOVR0,#20H
MOVDPTR,#TABLE
MOVR7,#6
这个循环主要用来把TABLE中数都入20H中
MOVA,R1
MOVCA,@A+DPTR
MOV@R0,A
INCR1
INCR0
DJNZR7,LOOP
MOVA,20H
MOV60H,#6;
设置循环的次数
SETBCY;
防止CY的初始值为0
LOOP1:
ACALLLOOP2
MOV30H,@R0
DJNZ60H,COMPARE
MOV50H,A;
把最小值放到50H中AJMP$
TABLE:
DB03H,43H,65H
DB0BCH,0ABH,01H
END
13>
把30H中排好的数重新放到BLOCK中
是否比较完?
把00H置1
把这两个数交换
CY=0
把30H的内容放到A中;
把C清零;
R0自加1
把30H放到R0;
把19放到R7;
把00H清零;
是否把数放完?
把BLOCK中的数放到30H中
30H放到R0中;
20放到R7;
BLOCK放到DPTR;
把两个相减,是否大于0?
******************************
;
该子程序实现把数从小到大的排列(每一步的解释可以参考书85页)
SORTING:
CLR00H;
互换标志清零
MOVR7,#19;
设置比较的次数
MOVR0,#30H
MOVA,@R0
MOV2BH,@R0
MOV2AH,@R0
CLRC
SUBBA,@R0
JCNEXT
MOV@R0,2BH
DECR0
MOV@R0,2AH
SETB00H
NEXT:
DJNZR7,LOOP1
JB00H,SORTING
*************************************
MOVR7,#20;
MOVDPTR,#BLOCK
************************************
把以片外BLOCK为首地址的数据,读到30H中
MOVA,#00H
INCDPTR;
DJNZR7,LOOP
ACALLSORTING
MOVR7,#20
实现把30H中排好序的数放到片外以BLOCK为首地址的区间内
LOOP3:
MOVA,@R0
MOVX@DPTR,A
INCDPTR
DJNZR7,LOOP3
AJMP$
BLOCK:
DB02H,43H,65H,19H,0AH
DB03H,53H,63H,13H,0BH
DB04H,33H,64H,18H,0CH
DB05H,23H,46H,28H,0DH
15>
R6-1=0?
把B中的内容放到R7中
把A中的内容放到R6中
调用延时子程序
把40放到A中;
把249放到B中;
ORG0000H
AJMPSTART
DELAY:
MOVR6,A
D1:
MOVR7,B
DJNZR7,$
DJNZR6,D1
RET
START:
MOVA,#40H
MOVB,#249;
用于设定延时的时间
ACALLDELAY
AJMP$
END
第115页:
检查定时间是否到了?
P1.1口取反
选择不是工作方式2时,就要重新赋定时器的初值
启动定时器
选择定时器;
设定定时的工作方式;
计算定时器的初值;
流程图:
清除溢出标志位
MOVTMOD,#10H;
选择定时器1工作方式1
MOVTH1,#0FFH
MOVTL1,#06H;
定时1ms的初值
SETBTR1;
LOOP:
重装定时器的初值
JNBTF1,$;
定时时间不到时
CPLP1.1;
P1.1取反
CLRTF1;
;
(利用查询时要软件清零)
AJMPLOOP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 课后 作业 参考答案