自考微型计算机原理及接口技术,2012年微型计算机原理与接口技术自考题模拟(7)...

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

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

1.以下集成块型号中属于16位系列单片机型号的是(    )

A.8051

B.8051AH

C.8094BH

D.8052BH

2.字符"H"的ASCII码值是(    )

A.72

B.73

C.74

D.75

3.为表示关系x大于等于y且大于等于z,C语言表达式是(    )

A.(x>=y)&&(y>= z)

B.(x>=y)AND(y>=z)

C.(x>=y)&&(x>=z)

D.(x>=y)&(y>=z)

4.C语言中while和do-while循环的主要区别是(    )

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while循环体不能是复合语句

5.下面程序段执行的结果是(    )

char*p="abcde";p+=3;printf("%d",p);

A.cde

B.de

C.bcde

D.c

6.fopen打开新的二进制文件,既能读又能写的方式字符串是(    )

A."ab+"

B."rb+"

C."wb+"

D."ab"

7.对于8031来说,EA脚总是(    )

A.接地

B.接电源

C.悬空

D.不用

8.下面不是运算器完成的主要任务是(    )

A.算术运算

B.位运算

C.数据处理

D.指令译码

9.不是伪指令关键字的是(    )

A.ORG

B.START

C.EQU

D.DATA

10.8051/8031型单片机提供中断源的个数是(    )

A.3

B.4

C.6

D.5

11.MCS-51单片机I/O的数据是(    )

A.同步传输

B.异步传输

C.随机传输

D.实时传输

12.共阴极显示管点亮时输入电平是(    )

A.低电平

B.低电压

C.低阻态

D.高电平

13.单片机中PUSH和POP指令常用来(    )

A.保护断点,恢复断点

B.保护现场

C.保护现场,恢复现场

D.保护断点

14.MCS-51寻址方式,操作数Ri加前缀“@”的寻址方式是(    )

A.寄存器间接寻址

B.寄存器寻址

C.基址加变址寻址

D.立即寻址

15.当定时器T0发出中断请求后,中断响应的条件是(    )

A.SETB ET0

B.SETB EX0

C.MOV IE,#82H

D.MOV IE,#61H

16.8051单片机串行口用工作方式0时(    )

A.数据从RDX串行输入,从TXD串行输出

B.数据从RDX串行输出,从TXD串行输入

C.数据从RDX串行输入或输出,同步信号从TXD输出

D.数据从TXD串行输入或输出,同步信号从RXD输出

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

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

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

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

main()

{int i,j;

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

{j=i*10+6:

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

}

20.下面程序的功能是输出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);}

}

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

21.#include"stdio.h"

main()

{int i,s;

s=0;

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

printf("%d",s);

}

错误:______

改正:______

22.学习成绩>=90分的用A表示,60-89分之间的用B表示,60分以下的用C表示。

main()

{int score;

char grade;

printf("please input a score! ");

scanf("%d",&score);

grade=score>=90?"A":(score<90?"B":"C");

printf("%d belongs to %c",score,grade);

}

错误:______

改正:______

23.求数组中最大元素和最小元素。

main()

{int m[10]={3,-30,20,6,77,2,0,-4,-7,99},

int i,max,min:

max=min=m[0];

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

{if(m[i]>max)max=m[i];

if(m[i]<min)min=m;}

printf("%d,%d",max,min);

}

错误:______

改正:______

24.输入两个整数,调用函数stu()求两个数的立方和,返回主函数显示结果。

int stu(int a,int b)

{return a*a+b*b;}

main()

{int x,y;

scanf("%d,%d",&x,&y);

printf("%d",stu(x,y));

}

错误:______

改正:______

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

25.main()

{int a[]={1,3,5,2,7};

int b[]={5,3,9,4,6};

int c[5],i;

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

c[i]=a[i]*b[i];

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

printf("%d",c[i]);}

程序运行结果是:______

26.#include<stdio.h>

ss(char*s)

{char *p=s:

while(*p)p++;

return(p-s);}

main()

{char *a="abded";

int i;

i=ss(a);

printf("%d ",i);}

程序运行结果是:______

27.#include<stdio.h>

main()

{int i=0,j,c[6];

scanf("%d",&j);

do{c[i]=j%10;i++;j=j/10;

}while(j!=0);

for(--i;i>=0;i--)

{printf("%d",c[i]);

if(i>0)printf(",");}

}

程序运行时,输入整数为2345<回车>,则输出为:______

28.#include<stdio.h>

main()

{inti,j,sum=0,m,n=4;

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

{m=1;

for(j=1;j<=i;j++)m=m*j;

sum=sum+m;}

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

}

程序运行结果是:______

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

29.编程序计算s=1!+2!+3!+4!的和。

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

30.LED有______和______两种接法。

31.若8255的端口A和端口B工作在方式1输入时,C口的______和______可作为基本输入/输出使用。

32.单片机的内部RAM区中,可以位寻址的地址范围是______,特殊功能寄存器中,可位寻址的地址是______。

33.下列伪指令汇编后,存放25H的单元及LOOP的值分别是______=25H,LOOP=______。

ORG 0100H

TAB: DB "ABC"

MOON: DS 03

BUF: DB 25H

LOOP EQU 2100H

34.MCS-51有______个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器______进行选择。

35.8031单片机有4个口,其中______口可以直接应用于I/O口。

36.MCS-51的相对转移指令最大负跳数是______字节。

37.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器______进行选择。

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

38.下面的程序完成5+4+3+2+1=15=0FH。

MOV R3,05H

CLR A

L00P: ADD A,R3

DJNZ @R3,LOOP

SJMP $

错误:______

改正:______

39.设单片机的fosc=6MHz,下面程序是100ms延时的子程序。

DELAY: MOV R7,#64H

A0: MOV R6,#0FAH

DJNZ R6,$

DJNZ R7.DELAY

RET

错误:______

改正:______

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

40.设单片机的晶振频率为fosc=6MHz,使用T1工作于工作方式0,下面程序用查询的方式在______端输出周期为______的连续等宽方波。

MOV TMOD,#00H

MOV TH1,#0FCH

MOV TL1,#03H

MOV IE,#00H

SETB TR1

LOOP: JBC TF1,LOOP1

AJMP LOOP1

LOOP1: MOV TH1,#0FCH

MOV TL1,#03H

CPL P1.0

CLR TF1

SJMP LOOP

41.下面程序是查找在内部RAM的30H~50H单元中出现______的次数,并将查找的结果存入______单元。

MOV 51H,#00H

MOV R1,#30H

MOV R7,#21H

LOOP: CJNE @R1,#0FFH,NEXT

INC 51H

NEXT: INC R1

DJNZ R7,LOOP

SJMP $

九、程序设计题,共5分

42.编程序将片内30H~36H单元内容的高4位清零,保持低4位不变。

十、应用题,共20分

43.下面是两单片机通过串行口进行通信的程序。它能将甲机内部RAM 20H~27H单元的数据发送给乙机,完成程序并填空。

甲机发送程序如下:

MOV ① ;定时器T1工作在8位重装方式

MOV TL1,#0F4H

MOV TH1,#0F4H

SETB TR1

MOV ② ,#40H;语句的作用是设置串口控制字

MOV R0,#20H

MOV R7,#08H

START:MOV A.@R0

MOV ③ ,A;将累加器A中的内容送串口输出缓冲器

WAIT:JBC T1, ④ ;判断T1是否置位,其目的是检查一帧是否发送完

AJMP WAIT

CONT:INC R0

DJNZ R7,START

SJMP $

乙机接收程序如下:

MOV TMOD,#20H

MOV TL1,#0F4H

MOV TH1,#0F4H

SETB TR1

MOV SCON,#40H

MOV R0,#20H

MOV R7,#08H

SETB ⑤ ;将REN置位的目的是使允许中断接受

WAIT:JBC RI, ⑥ ;判断RI是否置位,其目的是检查一帧是否接受完

AJMP WAIT

READ:MOV A, ⑦ ;将串口输入缓冲器的内容送累加器A

MOV @R0,A

INC R0

DJNZ R7, ⑧

SJMP $

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值