单片机课后题原题Word格式文档下载.docx
- 文档编号:14406130
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:14
- 大小:60.84KB
单片机课后题原题Word格式文档下载.docx
《单片机课后题原题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课后题原题Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
12.下列叙述中正确的是(D)。
A,SP内装的是堆栈栈顶单元的内容B,在中断服务程序中没有Push和Pop指令,说明此次中断与堆栈无关C,在单片机中配合实现“程序存储自动执行”的寄存器是累加器D,两数相加后,若A中数据为66H,则PSW中最低位的状态为0
第三章
1.下列指令中,不能实现PSW内容送A的是(C)。
A,MOVA,PSWB,MOVA,0D0HC,MOVR0,#0D0HMOVA,@R0D,PUSHPSWPOPACC
2.在相对寻址方式中,相对两个字是指相对于(C)。
A,地址偏移量relB,当前指令的首地址C,下一条指令的首地址D,DPTR的值
3.下列指令中,能将外部数据存储器3355H单元内容传送给A的是(B)。
A,MOVXA,3355HB,MOVDPTR,#3355HMOVXA,@DPTRC,MOVP0,#33HMOVR0,#55HMOVXA,@R0DMOVP2,#33HMOVR2,#55HMOVXA,@R2
4.对程序存储器的读操作,只能使用(D)。
A,MOV指令B,PUSH指令C,MOVX指令D,MOVC指令
5.执行返回指令后,返回的断点是(C)。
A,调用指令的首地址B,调用指令的末地址C,调用指令的下一条指令的首地址D,返回指令的末地址
6.以下各项中不能用来对内部数据存储器进行访问的是(A)。
A,数据指针DPTRB,按存储单元地址或名称C,堆栈指针SPD,由R0或R1作间址寄存器
7.判断下列指令的合法性:
MOVA,@R2(错)MOVR0,R1(错)INCDPTR(对)MOVPC,#2222H(错)DECDPTR(错)RLCR0(错)MOV0E0H,@R0(对)CPLR5(错)CLRRO(错)CPLF0H(错)PUSHDPTR(错)POP30H(对)MOVXA,@R1(对)MOVA,1FH(对)MOVC,1FH(对)MOVF0,ACC.3(错)MOV0,C(对)MOVP1,R3(对)MOVDPTR,#0FCH(错)CPL30H(对)PUSHR0(错)MOVC,#0FFH(错)MOVA,0D0H(对)
8.利用位操作指令序列实现下列逻辑运算:
(1):
D=(10H并P1.0)交(11H并CY)
(2):
E=ACC.2交P2.7并ACC.1交P2.0
9.编写程序将内部RAM20H-23H单元的高4位写1,低四位写0.
分析:
就是把这四个单元写入F0H。
用一个DJNZ的循环。
ORG0000H
MOVR0,#1FH;
R0指向20H单元
MOVR5,#04H;
四个数
LOOP:
INCR0
MOV@R0,#0F0H;
写入
DJNZR5,LOOP;
循环4次
END
15.在m和m+1单元中存在两个BCD数。
将他们合并到m单元中,编写程序完成。
(设m=30H,高位在30H,低数在31H)
ORG0000H
MOVA,30H
ANLA,#0FH ;
把它的高四位清零
SWAPA
MOV30H,A ;
高低四位调一下,放回原处
MOVA,31H
ANLA,#0FH
ORLA,30H ;
合并起来
MOV30H,A
END
16.将内部RAM中从date单元开始的10个无符号数相加,其和送sum单元。
假定相加结果小于255,编写程序完成。
(设data=30H,sun=50H)
ORG0000H
MOVR0,#2FH;
指向前一个单元
MOVR5,#0AH ;
循环10次
CLRA ;
先加到A中
ADDA,@R0
DJNZR5,LOOP
MOV50H,A
17.假定8位二进制带符号数存于R0中,要求编写一个求补程序,所得补码放入R1中。
ORG0000H
MOVA,R0
CPLA ;
按位取反
ADDA,#01H ;
+1
MOVR1,A
第四章
1.假定A=40H,R1=23H,40H=05H.执行以下两条指令后,A=(25H),R1=(40H),40H=(03H).XCHA,R1XCHDA,@R1
2.假定80C51的晶振频率为6MHz,执行下列程序后,在P1.1引脚产生的方波宽度为(2.914ms)。
3.分析下列跳转程序,程序中A与30H单元中的数都是符号数,说明当(A=30H)时转向Loop1,当(A〉30H)时转向LOOP2,当(A〈30H)时转向LOOP3。
4.假定80C51的晶振频率为6MHz,下列程序的执行时间为(32.87ms)。
已知程序中前两条指令机器周期数为1,后四条指令机器周期数为2。
5.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位于外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车符CR或整个字符串传送完毕,是编程实现。
ORG
0030H
MOV
R0,#inbuf
R1,#outbuf
R4,#10H
MOV
A,@R0;
从内部RAM取数
CJNE
A,#0DH,LL;
是否为回车符CR
SJMP
STOP;
是转停止传送
LL:
MOVX
@R1,A;
不是则传送到外部RAM
INC
R0
R1
DJNZ
R4,LL;
沒传送完则循环
STOP:
SJMP$
6.内部RAM从list单元开始存放一正数表,表中数作无序排列,并以-1作结束标志。
编程实现找出表中最小数。
(3AH存放在运行程序时的最小的数)
MOVR0,#list
MOVA,@R0;
取第一个正数
INCR0;
指向下一个正数
MOV3AH,@R0
CJNEA,3AH,CHK;
前一个数与后一个数比较
CHK:
JC
LOOP1;
前一个数小,则转
前一个数大,取后一个数
LOOP1:
XCHA,3AH
CJNEA,#0FFH,LOOP
XCHA,3AH;
取最小数
3BH,A
7.内部RAM的X和Y单元中各存放一个带符号数,编程实现如下条件进行的运算,并将结果存入Z单元。
若X为正奇数,Z =X+Y;
若X为正偶数,Z =X∨Y;
若X为负奇数,Z =X∧Y;
若X为负偶数,Z =X⊕Y。
分析:
负数:
第7位为1,正数:
第7位为0
奇数:
第0位为1,偶数:
第0位为0
ORG0000H
MOVA,20H
CLRC
RLA
JCFS;
移到负数处处理
RRA
RRA;
第0位移到C 再判定一下是不是1
JCZJS;
到正奇数处
ORLA,21H
MOV22H,A
SJMPOK
ZJS:
ADDA,21H
FS:
JCFJS;
第0位是1,移到正 奇数处理
XRLA,21H
FJS:
ANLA,21H
OK:
8.把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。
该数存放在内部RAM中byte单元中。
变换后得到的8个ASCII码存放在外部RAM以buf始的存储单元中去。
R0,#byte
DPTR,#buf
R5,#08H
A,@R0
LOOP:
RLC
A
R7,A
LOOP1
A,#30H
LOOP2
LOOP1:
A,#31H
LOOP2:
@DPTR,A
A,R7
DPTR
R5,LOOP
9.编程实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课后 题原题