1、微型计算机原理与接口技术自考题-18 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:16,分数:16.00)1.以下集成块型号中不属于 16 位系列单片机型号的是_ A.8095BH B.8096BH C.83C452 D.9097BH(分数:1.00)A.B.C.D.2.用 16 位(bit)二进制能够表示的无符号数的范围是_ A.65536 B.65535 C.65537 D.65534(分数:1.00)A.B.C.D.3.以下说法中正确的是_ A.C 语言程序总是从第一个定义的函数开始执行 B.要调用的函数必须在 main()函数中定义 C.C 语言
2、程序总是从 main()函数开始执行 D.main()函数必须放在程序的开始部分(分数:1.00)A.B.C.D.4.不能把字符串 Hello!赋给数组 b 的语句是_ A.char b10;b=“HeUo!“; B.charb10=H,e,l,l,o,!; C.char b10;strcpy(b,“Hello!“); D.char b10=“Hello!“;(分数:1.00)A.B.C.D.5.若有定义 int a10,*p=a;则 p+5 表示的是_ A.a5的值 B.a6的值 C.a5的地址 D.a6的地址(分数:1.00)A.B.C.D.6.对以下定义正确的表述是_union node
3、int num;char name10;stud; A.stud 是一个联合体类型 B.stud 是一个联合体变量 C.node 是一个联合体数据 D.node 是一个联合体变量(分数:1.00)A.B.C.D.7.MCS-51 布尔处理机的存储空间指的是_ A.00H-0FH B.10H-1FH C.20H-2FH D.30H-3FH(分数:1.00)A.B.C.D.8.不影响程序状态字 PSW 的指令关键字是_ A.ADD B.ADDC C.SUBB D.RRC(分数:1.00)A.B.C.D.9.下面不属于中断处理过程的是_ A.保护现场与恢复现场 B.开中断与关中断 C.中断向量 D.
4、中断服务与中断返回(分数:1.00)A.B.C.D.10.MCS-51 单片机的定时器/计数器工作方式 1 是_ A.16 位计数器结构 B.8 位计数器结构 C.13 位计数器结构 D.两个 8 位计数器结构(分数:1.00)A.B.C.D.11.用户可以直接使用的 8031 单片机:I/O 接口是_ A.P0 B.P2 C.P1 D.P3(分数:1.00)A.B.C.D.12.ANL 20H,#30H 指令中,源操作数的寻址方式是_ A.立即寻址 B.直接寻址 C.位寻址 D.相对寻址(分数:1.00)A.B.C.D.13.JZ rel 指令中,操作数 rel 的寻址方式是_ A.立即寻址
5、 B.直接寻址 C.位寻址方式 D.相对寻址方式(分数:1.00)A.B.C.D.14.通过串行口发送或接收数据时,在程序中应使用_ A.MOV 指令 B.MOVX 指令 C.MOVC 指令 D.SWAP 指令(分数:1.00)A.B.C.D.15.下列对 SCON 的相关位描述不正确的是_ A.当 REN=1 时,禁止串行口接收数据 B.在方式 0 时,SM2 必须为 0 C.RI 位由软件清零 D.IT1=1,表示帧发送结束(分数:1.00)A.B.C.D.16.8051 单片机系统扩展时使用的锁存器用于锁存_ A.高 8 位地址 B.低 8 位地址 C.8 位数据 D.ALE 信号(分数
6、:1.00)A.B.C.D.二、B填空题/B(总题数:4,分数:8.00)17.int a;则表达式(a=4*5,a*2),a+6 的值是 1。(分数:2.00)填空项 1:_18.若 a=6,b=4,c=3,则表达式 a for(i=1;i=5;i+) t=i+_;s=s+t; printf(“s=%d/n“,s); (分数:2.00)填空项 1:_20.输入两个整数 n1,n2(要求 n1n2),统计两整数范围内被 3 整除的数的个数。请填空。 #include “stdio.h“ main() int n1,n2,j,n=0; printf(“/n 请输入两个数:“); scanf(“%
7、d%d“, if(n1n2)j=n1;n1=n2;n2=j; for(j=n1;j=n2,j+) if(_)n+; printf(“a=%5d,b=%5d,n=%5d/n“n1,n2,n);(分数:2.00)填空项 1:_三、B改错题/B(总题数:4,分数:8.00)21.#include stdio.h main() int a; char ch; ch=“A“; seanf(“%d“,a); printf(“%c+%d=%c/n“,ch,ch+a); 错误:_ 改正:_(分数:2.00)填空项 1:_22.main() int a3=0,1,2; int i; scanf(“%d“, fo
8、r(i=1;i3;i+)a0=a0+ai; printf(“a0=%d/n“,a0); 错误:_ 改正:_(分数:2.00)填空项 1:_23.下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中 y 变成 A,z 变成 B。 #include “stdio.h“ main() char c; while(c=getchar()!=/n) if(c=a if(cz|c=z+2) c=c-26; printf(“%e“,c); 错误:_ 改正:_(分数:2.00)填空项 1:_24.以下程序的输出结果是 29,改正错误。 fun(int x,int y) x*x+y*y; main()
9、 int a; a=fun(5,2); printf(“%d“,a); 错误:_ 改正:_(分数:2.00)填空项 1:_四、B程序阅读题/B(总题数:4,分数:16.00)25.#include stdio.h main() int a10=2,4,0,-5,10,6,-8,9,6,7; int i,s=0,count=0; for(i=0;i10;i+) if(ai0)s+=ai,count+; else continue; printf(“s=%d,count=%d/n“,s,count); 程序运行结果是:_(分数:4.00)填空项 1:_26.#include stdio.h mai
10、n() int i,n; double x,mypow; scanf(“%1f%d“, mypow=1; for(i=1;i=n;i+) mypow*=x; printf(“%.2f/n“,mypow); 程序运行时输入 2,3回车,则程序运行结果是:_(分数:4.00)填空项 1:_27.#include “stdio.h“ main() int a,b; for(a=1,b=1;a=100;a+) if(b=20)break; if(b%3=1) b+=3;continue; b-=5; printf(“%d/n“,a); 程序运行结果是:_(分数:4.00)填空项 1:_28.#incl
11、ude math.h #include stdio.h main() float x,y,z; scanf(“%f%f“, z=x/y; while(1) if(fabs(z)1.0) X=y;y=z;z=x/y; else break; printf(“%f“,y); 程序运行时,从键盘输入 3.6,2.4回车,则程序运行结果是:_(分数:4.00)填空项 1:_五、B程序设计题/B(总题数:1,分数:8.00)29.输入 m 和 n(mn0)后,计算 m!/n!(m-n)!表达式的值并输出。要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为 float。(分数:8.00)_六、
12、B填空题-单片机原理与接口技术(总题数:8,分数:16.00)30.8051 内部并行口 P0 口直接作输出口时,必须外接_;并行口作输入口时,必须先_,才能读入外设的状态。(分数:2.00)填空项 1:_31.MCS-51 有一个全双工的_步串行口,有_种工作方式。(分数:2.00)填空项 1:_32.MCS-51 单片机外部中断请求信号有电平方式和_,在电平方式下,当采集到 INT0 或 INT1 的有效信号为_时,激活外部中断。(分数:2.00)填空项 1:_33.执行完本段指令后(A)=_(B)=_。 MOV A,#08H MOV B,#45H PLISH A PLJSH B POP
13、A POP B(分数:2.00)填空项 1:_34.已知(R0)=20H,(20H)=36H,(21H)=17H,(36H)=34H,执行下列程序后,则(R0)=_(R2)=_。 MOV A,R0 MOV R0,A MOV A,R0 ADD A,21H ORL A,#1H RL A MOV R2 A RET(分数:2.00)填空项 1:_35.若(A)=86H,(PSW)=80H,则执行 RRC A 指令后,(A)= 1。(分数:2.00)填空项 1:_36.若 PSW=00,执行下列程序后,CY=_。 MOV A,#0FBH MOV PSW,#10H ADD A,#7FH(分数:2.00)填
14、空项 1:_37.若由程序设定 RS1.RS0=11,则工作寄存器 R0R7 的直接地址为 1。(分数:2.00)填空项 1:_七、B改错题-单片机原理与接口技术(总题数:2,分数:4.00)38.已知在累加器 A 中存放一个 BCD(09),下面子程序实现一个查平方表。 SQR: INC A MOVC A,A+PC RET TAB: DB 0,1,4,9,16 DB 25,36,49,64,81 错误:_ 改正:_(分数:2.00)填空项 1:_39.下列指令组要完成重复执行 LOOP 开始的程序 20 次。 MOV A,#14H LOOP: MOV R1,#01H DEC A JNC LO
15、OP 错误:_ 改正:_(分数:2.00)填空项 1:_八、B程序阅读题-单片机原理与接口技(总题数:2,分数:8.00)40.下面程序是在_中存放一个压缩的 BCD 码,将它拆成二个 BCD 字节,结果存于_开始的单元中(低位在前) MOV R0,#SUM MOV A,R2 ANL A,#0FH MOV R0,A MOV A,R2 ANL A,#0F0H SWAP A INC R0 MOV R0,A RET(分数:4.00)填空项 1:_41.以下程序是将存于外部 RAM_开始的 50H 数据传送到_的区域。 MOV DPTR,#8000H MOV R0,#10H MOV R2,#50H L
16、OOP: MOVX A,DPTR MOVX R0.A INC DPTR INC R0 DJNZ R2,LOOP RET(分数:4.00)填空项 1:_九、B程序设计题-单片机原理与接口技(总题数:1,分数:8.00)42.从内部 RAM30H 单元开始,有 10 个单字节数据。试编一个程序,把其中的正数、负数分别送 40H 和50H开始的内部 RAM 单元。(分数:8.00)_十、B十、应用题/B(总题数:1,分数:8.00)已知晶体振荡器的频率为 fosc=12MHz。T0 工作在方式 1 计数器模式,T1 作定时器,工作在方式 0,每隔 0.5ms 使 P1.0 引脚上的电平变反,在 P1
17、.0 引脚上产生周期为 1ms 的方波输出,将下列程序补充完整。ORG 0000HAJMP MAINORG 001BHAJMP INTPORG 0030HMAIN: MOV TMOD,U /U ;写控制字MOV TH1,#0F0H ;写定时常数(定时:1ms)MOV TL1,#0CHU /U ;启动 T1U /U ;启动 T0U /U ;允许 T1 扣断U /U ;开放 CPU 扣断AJMP $ ;定时中断等待ORG 0200 H ;T1 中断服务程序INQI: PUSH 0MOV TH1,#0F0H ;重写定时常数MOV TL1,#0CHCPL P1.0 ;P1.0 变反输出U /UU /U
18、U /U(分数:8.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_微型计算机原理与接口技术自考题-18 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:16,分数:16.00)1.以下集成块型号中不属于 16 位系列单片机型号的是_ A.8095BH B.8096BH C.83C452 D.9097BH(分数:1.00)A.B.C. D.解析:2.用 16 位(bit)二进制能够表示的无符号数的范围是_ A.65536 B.65535 C.65537 D.65534(分数:1.00)A.
19、B.C.D.解析:解析 2 16+1=65535,注意还有 0。3.以下说法中正确的是_ A.C 语言程序总是从第一个定义的函数开始执行 B.要调用的函数必须在 main()函数中定义 C.C 语言程序总是从 main()函数开始执行 D.main()函数必须放在程序的开始部分(分数:1.00)A.B.C. D.解析:4.不能把字符串 Hello!赋给数组 b 的语句是_ A.char b10;b=“HeUo!“; B.charb10=H,e,l,l,o,!; C.char b10;strcpy(b,“Hello!“); D.char b10=“Hello!“;(分数:1.00)A. B.C.
20、D.解析:解析 数组名是常量,不能赋值。5.若有定义 int a10,*p=a;则 p+5 表示的是_ A.a5的值 B.a6的值 C.a5的地址 D.a6的地址(分数:1.00)A.B.C. D.解析:解析 p 指的是 a0,则 p+5 是指 a5。6.对以下定义正确的表述是_union nodeint num;char name10;stud; A.stud 是一个联合体类型 B.stud 是一个联合体变量 C.node 是一个联合体数据 D.node 是一个联合体变量(分数:1.00)A.B. C.D.解析:7.MCS-51 布尔处理机的存储空间指的是_ A.00H-0FH B.10H-
21、1FH C.20H-2FH D.30H-3FH(分数:1.00)A.B.C. D.解析:8.不影响程序状态字 PSW 的指令关键字是_ A.ADD B.ADDC C.SUBB D.RRC(分数:1.00)A. B.C.D.解析:9.下面不属于中断处理过程的是_ A.保护现场与恢复现场 B.开中断与关中断 C.中断向量 D.中断服务与中断返回(分数:1.00)A.B.C. D.解析:解析 中断向量是中断处理程序的入口地址表,是预先设置的。10.MCS-51 单片机的定时器/计数器工作方式 1 是_ A.16 位计数器结构 B.8 位计数器结构 C.13 位计数器结构 D.两个 8 位计数器结构(
22、分数:1.00)A. B.C.D.解析:11.用户可以直接使用的 8031 单片机:I/O 接口是_ A.P0 B.P2 C.P1 D.P3(分数:1.00)A.B.C. D.解析:解析 只有 P1 口没有第二功能,因此可以直接使用。12.ANL 20H,#30H 指令中,源操作数的寻址方式是_ A.立即寻址 B.直接寻址 C.位寻址 D.相对寻址(分数:1.00)A. B.C.D.解析:解析 单片机指令系统规定,加#的数据是立即数。13.JZ rel 指令中,操作数 rel 的寻址方式是_ A.立即寻址 B.直接寻址 C.位寻址方式 D.相对寻址方式(分数:1.00)A.B.C.D. 解析:
23、14.通过串行口发送或接收数据时,在程序中应使用_ A.MOV 指令 B.MOVX 指令 C.MOVC 指令 D.SWAP 指令(分数:1.00)A. B.C.D.解析:解析 串口发送或接收是内部可寻址寄存器。因此使用 MOV 指令。15.下列对 SCON 的相关位描述不正确的是_ A.当 REN=1 时,禁止串行口接收数据 B.在方式 0 时,SM2 必须为 0 C.RI 位由软件清零 D.IT1=1,表示帧发送结束(分数:1.00)A. B.C.D.解析:16.8051 单片机系统扩展时使用的锁存器用于锁存_ A.高 8 位地址 B.低 8 位地址 C.8 位数据 D.ALE 信号(分数:
24、1.00)A.B. C.D.解析:二、B填空题/B(总题数:4,分数:8.00)17.int a;则表达式(a=4*5,a*2),a+6 的值是 1。(分数:2.00)填空项 1:_ (正确答案:26)解析:解析 逗号表达式的值是最后一个表达式的值。18.若 a=6,b=4,c=3,则表达式 a for(i=1;i=5;i+) t=i+_;s=s+t; printf(“s=%d/n“,s); (分数:2.00)填空项 1:_ (正确答案:t*10)解析:解析 S=1+12+123+1234+12345 分解为 1+(1*10+2)+(1*10)+2)*10+3)+(1*10)+2)*10+3)
25、*10+4) 因此;得到表达式 t=i+t*10。20.输入两个整数 n1,n2(要求 n1n2),统计两整数范围内被 3 整除的数的个数。请填空。 #include “stdio.h“ main() int n1,n2,j,n=0; printf(“/n 请输入两个数:“); scanf(“%d%d“, if(n1n2)j=n1;n1=n2;n2=j; for(j=n1;j=n2,j+) if(_)n+; printf(“a=%5d,b=%5d,n=%5d/n“n1,n2,n);(分数:2.00)填空项 1:_ (正确答案:j%3=0)解析:解析 注意能被 m 整除的表达式,n%m=0。三、
26、B改错题/B(总题数:4,分数:8.00)21.#include stdio.h main() int a; char ch; ch=“A“; seanf(“%d“,a); printf(“%c+%d=%c/n“,ch,ch+a); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:seanf(“%d“,a); 改正:将其修改为 scanf(“%d“, int i; scanf(“%d“, for(i=1;i3;i+)a0=a0+ai; printf(“a0=%d/n“,a0); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:scanf(“%d“,
27、改正:将其修改为scanf(“%d“,)解析:解析 scanf 函数格式错误,a 是数组名,不是数组元素23.下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中 y 变成 A,z 变成 B。 #include “stdio.h“ main() char c; while(c=getchar()!=/n) if(c=a if(cz|c=z+2) c=c-26; printf(“%e“,c); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:if(cz|c=z+2) 改正:将其修改为if(cz main() int a; a=fun(5,2); printf(“%
28、d“,a); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:x*x+y*y; 改正:将其修改为 return(x*x+y*y);)解析:解析 fun 函数没有返回值四、B程序阅读题/B(总题数:4,分数:16.00)25.#include stdio.h main() int a10=2,4,0,-5,10,6,-8,9,6,7; int i,s=0,count=0; for(i=0;i10;i+) if(ai0)s+=ai,count+; else continue; printf(“s=%d,count=%d/n“,s,count); 程序运行结果是:_(分数:4.
29、00)填空项 1:_ (正确答案:s=44,count=7)解析:解析 将数组中大于 0 的数相加,共 7 个。关键是条件语句。26.#include stdio.h main() int i,n; double x,mypow; scanf(“%1f%d“, mypow=1; for(i=1;i=n;i+) mypow*=x; printf(“%.2f/n“,mypow); 程序运行时输入 2,3回车,则程序运行结果是:_(分数:4.00)填空项 1:_ (正确答案:8.00)解析:解析 关键是循环语句,计算 2 的 3 次方。27.#include “stdio.h“ main() int
30、 a,b; for(a=1,b=1;a=100;a+) if(b=20)break; if(b%3=1) b+=3;continue; b-=5; printf(“%d/n“,a); 程序运行结果是:_(分数:4.00)填空项 1:_ (正确答案:8)解析:解析 在循环体中,当 b=1,4,7,10,13,16,19 时,对应 b=4,7,10,13,16,19,22 则共循环 7 次,当 b=22 时结束循环。因此 a=8。28.#include math.h #include stdio.h main() float x,y,z; scanf(“%f%f“, z=x/y; while(1)
31、 if(fabs(z)1.0) X=y;y=z;z=x/y; else break; printf(“%f“,y); 程序运行时,从键盘输入 3.6,2.4回车,则程序运行结果是:_(分数:4.00)填空项 1:_ (正确答案:1.6)解析:解析 进入循环前 x=3.6,y=2.4,z=x/y=1.6。第一次循环后 x=2.4,y=1.5,z=x/y=1.6。第二次循环后 x=1.5,y=1.6,z=x/y1。第三次进入循环体执行 break 语句。所以 y=1.6。五、B程序设计题/B(总题数:1,分数:8.00)29.输入 m 和 n(mn0)后,计算 m!/n!(m-n)!表达式的值并输
32、出。要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为 float。(分数:8.00)_正确答案:(main() float fact(int n); int n,m;float y do/*输入 m,n,如果 mn 或 n0,则重输入:即要求 m=n=0*/ scanf(“%d%d“, y=fact(m)/(fact(n)*fact(m-n);printf(“%f/n“,y); /*int fun(float s,int n)函数定义如下:*/ float fact(int n) int i;float s=1.0 for(i=1;i=n;i+) s=s*i; return s;
33、)解析:六、B填空题-单片机原理与接口技术(总题数:8,分数:16.00)30.8051 内部并行口 P0 口直接作输出口时,必须外接_;并行口作输入口时,必须先_,才能读入外设的状态。(分数:2.00)填空项 1:_ (正确答案:上拉电阻 将口锁存器置 1)解析:31.MCS-51 有一个全双工的_步串行口,有_种工作方式。(分数:2.00)填空项 1:_ (正确答案:异 4)解析:32.MCS-51 单片机外部中断请求信号有电平方式和_,在电平方式下,当采集到 INT0 或 INT1 的有效信号为_时,激活外部中断。(分数:2.00)填空项 1:_ (正确答案:脉冲方式 低电平)解析:解析
34、 电平方式也称为低电平有效方式,脉冲方式也称其为下降沿有效。33.执行完本段指令后(A)=_(B)=_。 MOV A,#08H MOV B,#45H PLISH A PLJSH B POP A POP B(分数:2.00)填空项 1:_ (正确答案:45H 08H)解析:解析 注意后进先出。34.已知(R0)=20H,(20H)=36H,(21H)=17H,(36H)=34H,执行下列程序后,则(R0)=_(R2)=_。 MOV A,R0 MOV R0,A MOV A,R0 ADD A,21H ORL A,#1H RL A MOV R2 A RET(分数:2.00)填空项 1:_ (正确答案:
35、36H F6H)解析:解析 MOV A,R0 MOV R0,A ;R0=36H MOV A,R0 ;A=34H ADD A,21H ;A=34H+17H=5BH ORL A,#21H ;01011011 V00100001=01111011 RL A ;A=11110110=F6H MOV R2 A ;R2=F6H RET35.若(A)=86H,(PSW)=80H,则执行 RRC A 指令后,(A)= 1。(分数:2.00)填空项 1:_ (正确答案:C3H)解析:解析 PSW=80H,则 CY=1。若 A=10000110,则 RRC A 指令后,A=11000011。36.若 PSW=00
36、,执行下列程序后,CY=_。 MOV A,#0FBH MOV PSW,#10H ADD A,#7FH(分数:2.00)填空项 1:_ (正确答案:1)解析:解析 ADD 指令不影响 CY。37.若由程序设定 RS1.RS0=11,则工作寄存器 R0R7 的直接地址为 1。(分数:2.00)填空项 1:_ (正确答案:181FH)解析:七、B改错题-单片机原理与接口技术(总题数:2,分数:4.00)38.已知在累加器 A 中存放一个 BCD(09),下面子程序实现一个查平方表。 SQR: INC A MOVC A,A+PC RET TAB: DB 0,1,4,9,16 DB 25,36,49,6
37、4,81 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:MOVC A,A+PC 改正:MOVC A,A+PC)解析:解析 语法错误39.下列指令组要完成重复执行 LOOP 开始的程序 20 次。 MOV A,#14H LOOP: MOV R1,#01H DEC A JNC LOOP 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:JNC LOOP 改正:JNZ LOOP)解析:解析 DEC 指令不影响 PSW八、B程序阅读题-单片机原理与接口技(总题数:2,分数:8.00)40.下面程序是在_中存放一个压缩的 BCD 码,将它拆成二个 BCD 字节
38、,结果存于_开始的单元中(低位在前) MOV R0,#SUM MOV A,R2 ANL A,#0FH MOV R0,A MOV A,R2 ANL A,#0F0H SWAP A INC R0 MOV R0,A RET(分数:4.00)填空项 1:_ (正确答案:R2 SUM)解析:解析 MOV R0,#SUM ;存放结果的开始单元 MOV A,R2 ;取压缩的 BCD 码 ANL Am#0FH ;屏蔽高四位 MOV R0,A ;存放 SUM 中 MOV A,R2 ;再次取压缩的 BCD 码 ANL A,#0F0H ;屏蔽低四位 SWAP A ;交换高低四位数据 INC R0 ;SUM 开始的下一
39、个存储单元 MOV R,A ;存放结果 RET41.以下程序是将存于外部 RAM_开始的 50H 数据传送到_的区域。 MOV DPTR,#8000H MOV R0,#10H MOV R2,#50H LOOP: MOVX A,DPTR MOVX R0.A INC DPTR INC R0 DJNZ R2,LOOP RET(分数:4.00)填空项 1:_ (正确答案:8000H 0010H)解析:解析 MOV DPTR,#8000H ;外部开始单元 MOV R0,#10H ;目的开始单元 MOV R2,#50H ;数据长度 LOOP: MOVX A,DPTR ;开始传送 MOVX R0,A INC
40、 DPTR INC R0 ;不为 0 继续 DJNZ R2,LOOP RET九、B程序设计题-单片机原理与接口技(总题数:1,分数:8.00)42.从内部 RAM30H 单元开始,有 10 个单字节数据。试编一个程序,把其中的正数、负数分别送 40H 和50H开始的内部 RAM 单元。(分数:8.00)_正确答案:(MOV R0,#30H MOV R1,#40H MOV A,#50H MOV R7,#10 LOOP: MOV 20H,R0 JB 20H.7,FSHU ZSHU: MOV R0,20H INC R1 SJMP NEXT FSHU: XCH A,R0 MOV R0,A XCH A,R1 INC A NEXT: DJNZ R7,LOOP SJMP $)解析:十、B十、应用题/B(总题数:1,分数:8.00)已知晶体振荡器的频率为 fosc=12MHz。T0 工作在方式 1 计数器模式,T1 作定时器,工作在方式 0,每隔 0.5ms 使 P1.0 引脚上的电平变反,在 P1.0 引脚上产生周期为 1ms 的方波输出,将下列程序补充完整。ORG 0000HAJMP MAINORG 001BHAJMP INTPORG 0030HMAIN: MOV TMOD,U /U ;写控制字MOV TH1,#0F0H ;写定时常数(定时:1ms)MOV TL1,#0CHU /U