三.简答题:(每题8分共24分)
1. MCS-51单片机中断的开放和关闭是如何控制的?如果要对定时器T1开放中断,可以用什么指令实现?
答:通过对中断允许寄存器IE进行设置,可以控制中断的开放和关闭。
执行:
SETB ET1
SETB EA
即可开放T1中断。
2. 设程序执行前F0=0,RS1,RS0=00B,请问机器执行如下程序后PSW中各位的状态是什么?程序如下:
MOV A,#0FH
ADD A,#F8H (要求写出过程)
PSW中有四位标志位,随着运算指令发生变化。
MOV A,#0FH P=0,C不变,V不变,Ac不变
ADD A,#F8H (要求写出过程)
0000 1111
+ 1111 1000
-------------------
1 0000 0111 P=1,C=1,V=0,Ac=1
ACC=03H
3. 简述80C51单片机的I/O口的功能和特点;
输入、输出;
准双向口,输入之前,应先输出1。
四:程序分析与系统设计(1,2.3每题8分,4题12分,共36分)
1. 设内部RAM的30H单元的内容为40H,即(30H)=40H,还知(40H)=10H,(10H)=00H,端口P1=CAH,问执行以下指令后,各有关寄存器,存储单元和端口的内容是什么?(即R0,R1,A,B,P1,40H,30H及10H单元)
MOV R0, #30H (R0)=30H
MOV A, @R0 (A) =((R0))=(30H)=40H
MOV R1, A (R1)=40H
MOV B, @R1 (B)=((R1))=(40H)=10H
MOV @R1, P1 ((R1))即(40H)=CAH
MOV P2, P1 (P2)=CAH
MOV 10H, #20H (10H)=20H
MOV 30H, 10H (30H)=(10H)=20H
2.若要完成以下的数据传送,应如何用MCS-51指令来实现?
(1).R1的内容传送到R0.
MOV A, R1
MOV R0, A
(2).外部RAM20H的内容传送到R0.
MOV DPTR, #20H
MOVX A, @DPTR
MOV R0, A
(3)外部RAM 20H的内容传送到内部RAM 20H单元.
MOV DPTR, #20H
MOVX A, @DPTR
MOV 20H, A
3.设变量X存放于VAR单元,函数Y存放在RUNC单元.试按照下式编程给Y 赋值.
?????
4. 编写程序:利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12 MHz。
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
START:
MOV TMOD, #01H
MOV TH0, #0D8H
MOV TL0, #0F0H
SETB TR0
MOV IE, #82H
SJMP $
T0_INT:
MOV TH0, #0D8H
MOV TL0, #0F0H
CPL P1.0
RETI
END
;完
-------------------------
补充:
3.设变量X存放于VAR单元,函数Y存放在RUNC单元.试按照下式编程给Y 赋值.
Y=1 x>0
Y=0 x=0
Y=-1 x<0
答:
MOV A, VAR ;取数
JZ LING ;为零转移
JB ACC.1, FU ;为负转移
MOV RUNC, #1 ;正
SJMP WAN ;转移到“完”
FU:
MOV RUNC, #255 ;255就是-1
SJMP WAN
LING:
MOV RUNC, #0
WAN:
SJMP $ ;原地转移
;真完了。
温馨提示:答案为网友推荐,仅供参考