单片机c语言内部ram移动,2012年微型计算机原理与接口技术自考题模拟(9)

2012年微型计算机原理与接口技术自考题模拟(9):2012年微型计算机原理与接口技术自考题模拟。本试卷总分100分;共有10类型题目

一、单项选择题 ,每小题1分,共16分,在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。

1.以下不属于单片机集成块型号的是(    )

A.80486DX

B.83C51FA

C.8097BH

D.8051

2.以下所列的C语言常量中,错误的是(    )

A.0xFF

B.2L

C.1.2e0.5

D."72"

3.C语言中最基本的数据类型是(    )

A.整型、实型、逻辑型

B.整型、实型、逻辑型、字符型

C.整型、字符型、逻辑型

D.整型、实型、字符型

4.执行int x=2,y=3;后表达式x=(y==3)的值是(    )

A.1

B.0

C.2

D.3

5.C语言函数返回值的类型是(    )

A.return语句中表达式类型

B.调用该函数时主调函数的类型

C.定义该函数时函数的类型

D.调用函数时系统临时决定

6.下列程序段执行后,a的值是(    )

int*p,a=10,b=1;

p=&a;a=*p+b;

A.12

B.13

C.10

D.11

7.MCS-51内部RAM字节数是(    )

A.128

B.256

C.107

D.4K

8.带进位的循环移位指令是(    )

A.RL

B.RR

C.CLR

D.RLC

9.下面不是中断响应条件的是(    )

A.CPU处于开中断状态

B.低级中断源

C.高级中断源

D.一条指令执行完毕

10.8051定时器/计数器T0工作方式0和方式1的区别是(    )

A.前者是16位后者是13位

B.前者是16位后者是8位

C.前者是13位后者是8位

D.前者是13位后者是16位

11.协调CPU与外围设备之间的数据传送的是(    )

A.三态门

B.锁存器

C.缓冲器

D.寄存器

12.MCS-51单片机在正常运行程序时RST引脚是(    )

A.高电平

B.低电平

C.脉冲输入

D.高阻态

13.MCS-51单片机在访问外部数据存储器时,地址指针是(    )

A.DPTR

B.PC

C.PSW

D.SP

14.下列程序段的执行结果是(    )

MOV R0,#30H

SETB C

CLR A

ADDC A,#00H

MOV @R0,A

A.(30H)=00H

B.(30H)=01H

C.(00H)=00H

D.(00H)=01H

15.从地址2132H开始有一条绝对转移指令AJMP addr11,指令可能实现的转移范围是(    )

A.2000H—27FFH

B.2132H—2832H

C.2100H—28FFH

D.2000H—3FFFH

16.在堆栈操作中,当进栈数据全部弹出后,这时SP指向(    )

A.栈底单元地址

B.7FH单元

C.栈底单元地址加1

D.栈底单元地址减1

二、填空题每小题2分,共8分请在每小题的空格中填上正确答案。

17.inta,b;则表达式(a=2,b=5,a++,b++,a+b)的值是______。

18.当a=3,b=2,c=1时,表达式f=a>b>c的值是______。

19.从键盘上输入若干个学生成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

main()

{float s,gmax,gmin;

scanf("%f,"&s);

gmax=s;gmin=s;

while(s>=0)

{if(s>gmax)gmax=s;

if(______)gmin=s;

scanf("%f",&s);}

printf("gmax=%f gmin=%f "gmax,gmin);}

20.以下程序是用来统计正整数的每位数字中零的个数,并求每位数字中最大者。请填空。

main()

{unsigned long num,max,t;

int count;

count=max=0:

scanf("%ld",&num);

do{

t=______;

if(t==0)++count;

else if(max<t)max=t;

num/=10;

}while(num);

三、改错题每小题2分,共8分每小题只有一处错误或不妥。请指出。并将其改正。

21.#include"stdio.h"

void fact(int k)

{

int i,s;

s=s*i:

return(s);

}

错误:______

改正:______

22.运行以下程序的结果是321。

main()

{int x;

x=3;

do

{printf("%d",x--);

}while(!x);}

错误:______

改正:______

23.程序输入1,输出One,输入其他,输出Other。

main()

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

if(a=1)printf("One ");

else printf("Other ");

}

错误:______

改正:______

24.main()

{int n;

float s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.1f ",s);

}

错误:______

改正:______

四、程序阅读题每小题2分,共8分请阅读下列程序。写出程序运行结果。

25.#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(" ");

}

程序运行结果是:______

26.#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>,则运行结果是:______

27.main()

{int i=3,*p1;

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

pl=&i;p2=a;

pl=p2+2:

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

}

程序运行结果是:______

28.#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<回车>,则运行结果是:______

五、程序设计题每小题1分,共5分

29.从键盘上输入20个元素的值存入一维数组a中,然后将下标为(1、3、5、7、9……)的元素值赋值给数组b,输出数组b的内容。

六、填空题每小题2分,共16分请在每小题的空格中填上正确答案。

30.8279有______条命令,用命令字______位来表示。

31.若只需要开串行口中断,则IE的值应设置为______,若需要将外部中断0设置为下降沿触发,则执行的语句为______。

32.外围扩展芯片的选择方法有两种,它们分别是______和______。

33.MCS-51单片机中,在IP=0x00时,优先级最高的中断是______,最低的是______。

34.执行下列指令组后,标志位(OV)=______(P)=______。

MOV A,#0B4H

ADD A,#00H

SUBB A,#51H

35.当MCS-51引脚______信号有效时,表示从P0口稳定地送出了低8位地址。

36.MCS-51的定时器用作定时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的______。

37.MCS-51的特殊功能寄存器分布在______地址范围内。

七、改错题每小题2分,共4分每小题只有一处错误或不妥,请指出,并将其改正。

38.下面程序段是将外部RAM30H单元的内容送到R0。

MOV R0,#30H

MOV A,@R0

MOV R0,A

错误:______

改正:______

39.下面程序段是将外部RAM1000H单元的内容送内部RAM20H单元。

MOVX DPTR,#1000H

MOVX A,@DPTR

MOV 20H,A

错误:______

改正:______

八、程序阅读题,每小题5分,共10分请阅读下列程序,写出程序运行结果。

40.下面子程序的功能是从串行接口接受一个字符,其定时器T1工作模式______,波特率为______。(时钟为11.059MHz)

START:MOV TMOD,#20H

MOV TH1,#0E8H

MOV TL1,#0E8H

SETB TR1

MOV SCON,#50H

L1: JNB RI,L1

CLR RI

MOV A,SBUF

RET

41.下面是8031扩展8255A初始化程序,其PA口设置成______,PB口和PC口设置成______。

MOV A,#90H

MOV DPTR,#7FFFH

MOVX @DPTR,A

MOV DPTR,#7FFCH

MOVX A,@DPTR

MOV DPTR,#TFFDH

MOVX @DPTR,A

九、程序设计题,共5分

42.将4个单字节数放片内30H~39H,它们求和结果放在片内50H,51H单元。

十、应用题,共20分

43.使用89C51和ADC0809的接口,采集2通道10个数据,存入内部RAM的50H~59H单元,下面是查询方式程序段。请完成填空。(IN2的地址为7FFAH,P1.0查询转换结束信号)

ORG 0100H

MOV R7, ①

MOV R0,#50H

MOV ② ,#7FFAH

NEXT:MOVX @DPTR, ③

JB ④ ,$

MOVX A, ⑤

MOV ⑥ ,A

INC ⑦

DJNZ RT ⑧

SJMP $

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

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值