试用c51语言编写将a-f转换成相应的ascii码的程序,全国自考(微型计算机原理与接口技术)模拟试卷6...

一、1.单项选择题

0. 以下集成块型号中属于MCS-96系列单片机型号的是(  )

A.83C51FB

B.80C196KR

C.83C52

D.83C51FA

1. 字符"9"的ASCII码值是(  )

A.55

B.54

C.56

D.57

2. 下面输入整型变量格式的语句是(  )

A.scanf("%f",&b);

B.scanf("%d",&b);

C.scanf("%c",&b);

D.scanf("%s",&b);

3. 若int a[10];则对数组正确引用的是(  )

A.a[10-10]

B.a[10]

C.a[2*5]

D.a[9-10]

4. 下列程序段的执行结果是(  )  int x=3:  while(x<=5)  {printf("%d",x-3);x++;}

A.0

B.112

C.123

D.12

5. 对下面说明叙述正确的是(  )  typedef struct stu  {int n;char ch[8];  }student;

A.student是结构体类型名

B.student是结构体变量

C.typedef struct是结构体类型

D.struct是结构体类型名

6. MCS-51单片机只具备单一功能的I/O接口是(  )

A.P0

B.P1

C.P2

D.P3

7. 不是常用的汇编语言程序结构的是(  )

A.顺序

B.分支

C.循环

D.随机

8. 下面表示中断允许控制寄存器的是(  )

A.TCON

B.IE

C.IP

D.SCON

9. 不是MCS-51单片机:I/O的数据传输方式的是(  )

A.无条件

B.查询

C.中断

D.DMA

10. 共阴极显示管显示字型“F”编码是(  )

A.86H

B.71H

C.90H

D.FFH

11. 单片机8031的ALE引脚是(  )

A.输出高电平

B.输出矩形脉冲,频率为fosc的1/6

C.输出低电平

D.输出矩形脉冲,频率为fosc的1/2

12. 对于8031单片机,其内部RAM(  )

A.只能位寻址

B.既可位寻址又可字节寻址

C.只能字节寻址

D.少部分只能位寻址

13. 单片机的堆栈指针SP始终是指示(  )

A.堆栈底

B.堆栈顶

C.堆栈地址

D.堆栈中间位置

14. 在MCS-51指令中,下列指令中无条件转移指令是(  )

A.LCALL addr16

B.DJNZ direct.rel

C.SJMP rel

D.ACALL addr11

15. 下列指令能使R0低4位不变,高4位置F的是(  )

A.ANL R0,#0F0H

B.ORL R0,#0F0H

C.ORL 0,#0FH

D.ORL 00H,#0F0H

二、2.填空题

0. intx=5,n=5;则表达式x+ =n++的值是______。

1. 若a=7.5,b=2,c=3.6;表达式a>b&&c>a||a<b&&!c>b的值是______。

2. 下面程序的功能是,输出100以内能被3整除且个位数为6的所有整数。请填空。

main()

{int i,j;

for(i=0;i<10;i++)

{j=i*10+6:

if(______)continue;printf("%d",j);}

}

3. 下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数。请填空。

main()

{intn,k=1,s=0,m;

for(n=1;n<=100;n++)

{k=1;s=0;m=n;

while(m)

{k*=m%10;S+ =m%10;

______;}

if(k>S)printf("%d",n);}

}

三、3.改错题

0. #include"stdio.h"

main()

{int a,b;

scanf("%d,%d"a,b);

printf("%d %d ",a,b);

}

错误:______

改正:______

1. 以下程序是给数组a所有元素赋值。

main()

{int a[10],i;

for(i=1;i<10;i++)

scanf("%d",&a[i]);}

错误:______

改正:______

2. 程序的功能是计算1~100之间的奇数和与偶数和。

main()

{intsum1=0,sum2=0,a;

for(a=1;a<=100;a++)

if(a%2=0)sum1+ =a;

else sum2+ =a;

printf("%d,%d",sum1,sum2);

}

错误:______

改正:______

3. 下面程序是求1+2+3……+100的和。

main()

{int sum,k;

sum=0;k=1;

while(k<=100)

sum=sum+k;k++;

printf("sum=%d ",sum);}

错误:______

改正:______

四、4.程序阅读题

0. #include<stdio.h>

main()

{int i,j;

inta[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};

for(i=0;i<5;i++)

for(j=0;j<6;j++)

if(*(a+i)==*(b+j)printf("%d",*(a+i));

printf(" ");

}

程序运行结果是:______

1. #include<stdio.h>

main()

{int c;

while((c=getchar())!=" ")

{switch(c-"2")

{case 0:

case 1:putchar(c+4);

case 2:putchar(c+4);break;

case 3:putchar(c+3);

case 4:putchar(c+2);break;}}

printf(" ");

}

程序运行时,输入2743<CR>,则运行结果是:______

2. main()

{int i=3,*p1;

int a[3]={15,30,45},*p2;

pl=&i;p2=a;

pl=p2+2:

printf("%d,%d ",*p1,*p2);

}

程序运行结果是:______

3. #include<stdio.h>

int f(int x,int y)

{return(x>y)?x:y);}

main()

{int a,b;

scanf("%d,%d",&a,&b);

printf("%d ",f(a,b));

}

程序运行时,从键盘输入9,8<回车>,则运行结果是:______

五、5.程序设计题

0. 输入三个整数x,y,z,请把这三个数由小到大输出。

六、6.填空题-单片机原理与接口技术

0. MCS-51的堆栈只可设置在______,其最大容量为______。

1. MCS-51单片机的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的______和______。

2. 执行下列程序段后,(A)=______,(CY)=______。

MOV A,#C5H

RL A

3. 假设两个一字节的十六进制数9FH,81H相加的和为8位二进制数,那么相加后其进位标志为______,溢出标志为______。

4. 已知(31H)=21H,(32H)=04H,执行下列指令组后(31H)=______,(32H)=______。

PUSH  31H

PUSH  32H

POP   31H

POP   32H

5. 设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=______。

ORL  A,#27H

ANL  A,28H

XCHD  A,@R0

6. 设定T1为计数器方式,工作方式2,则TMOD中的值为______。

7. MCS-51内部的SFR共有______个。

七、7.改错题-单片机原理与接口技术

0. 下面程序将片内40H-46H单元内容的高位清零,保持低位不变。

ORG 1000H

MOV R7,#07H

MOV R0,40H

L00P: MOV A,@R0

ANL A,@0FH

MOV @R0,A

INC  R0

DJNZ R7,LOOP

SJMP $

END

错误:______

改正:______

1. 已知:(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H,执行程序后,(R0)=35H,(A)=7FH,(4BH)=20H,(40H)=7FH

MOV  A,@R0

MOV  @R0,40H

MOV  40H,ACC

MOV  R0,#35H

错误:______

改正:______

八、8.程序阅读题-单片机原理与接口技术

0. 下面程序是在______中存放一个压缩的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

1. 以下程序是将存于外部RAM______开始的50H数据传送到______的区域。

MOV DPTR,#8000H

MOV R0,#10H

MOV R2,#50H

L00P:MOVX A,@DPTR

MOVX @R0,A

INC DPTR

INC R0

DJNZ R2,LOOP

RET

九、9.程序设计题-单片机原理与接口技术

0. RAM中60H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R6中。

十、10.微型计算机原理与接口技术-应用题

0. 如下图所示,用8255A芯片扩展单片机的I/O口,8255的A口作输入,A口的每一位接一个开关,用B口作为输出,输出的每一位接一个发光二极管。现要求某个开关接高电平(为1)时,相应位上的发光二极管就亮(输出低电平0)。设8255的A口地址为70H,B口地址为71H,C口地址为72H,控制口地址为73H。完成下面程序填空。

52a914fcf3f85cbbcf7e60a391a0006e.png 

START:MOV DFTR, ①

MOV A, ②

MOVX  ③ ,A

MOV DPTR, ④

MOVX A, ⑤

CPL  ⑥

INC  ⑦

MOVX @DPTR, ⑧

AJMP START

答:①______;②______;③______;④______;

⑤______;⑥______;⑦______;⑧______。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值