T1的c语言中断服务程序入口序号为,2010年4月全国自考(微型计算机原理与接口技术)真题试卷...

一、1.单项选择题

0. 无符号数10110011 B所对应的十六进制数是( )

A.33H

B.A3H

C.B3H

D.C3H

1. 二进制数10000000“减”二进制数00000001的运算结果是( )

A.00000001

B.10000001

C.O1111111

D.11111110

2. 在计算机中的数据都是用二进制表示的,表示二进制数据的最小单位是( )

A.位

B.字

C.字节

D.双字

3. 负数用原码和反码表示时,它们符号位的值分别是( )

A.0 0

B.0 1

C.1 0

D.1 1

4. 表达式7/3的值是( )

A.1

B.2

C.2.3

D.2.5

5. 在进行文件的随机读写时需要用到fseek()函数,语句fseek("myFile.dat",20,0);表示的含义是( )

A.文件的位置指针从myFile.dat文件的开始位置向文件的末尾方向移动20个字节

B.文件的位置指针从myFile.dat文件的当前位置向文件的末尾方向移动20个字节

C.文件的位置指针从myFile.dat文件的当前位置向文件的头方向移动20个字节

D.文件的位置指针从myFile.dat文件的末尾位置向文件的头方向移动20个字节

6. 常用8051单片机数据总线的位数为( )

A.4位

B.8位

C.12位

D.16位

7. 8051系列单片机具有并行I/O口的数量及每个口的倍数分别是( )

A.2个,8位

B.3个,16位

C.4个,4位

D.4个,8位

8. 8051单片机片内RAM中,位寻址区的地址范围是( )

A.0~0FH

B.10H~lFH

C.20H~2FH

D.30H~3FH

9. 决定程序执行顺序的寄存器是( )

A.PC

B.DPTR

C.SP

D.PSW

10. 已知(SP)=40H,RAM(60H)=FFH,执行PUSH 60H后,(SP)为( )

A.3FH

B.41H

C.60H

D.FFH

11. 执行下列三条指令后  MOV A,#66H  ADD A,#58H  DA  A  累加器A的内容为( )

A.14H

B.1EH

C.24H

D.BEH

12. 已知(A)=23H,在ROM 4300H单元起存放指令CJNE A,#23H,51H,则执行完此指令(三字节)后,程序转向地址( )

A.4302H

B.4303H

C.4353H

D.4354H

13. 已知(CY)=1(A)=0FH,要使结果为(CY)=0 (A)=1FH,则需执行指令 ( )

A.RLC A

B.RRC A

C.RL A

D.RR A

14. 8K字节的RAM 6264,数据线的根数应为( )

A.4

B.8

C.16

D.32

15. 8031单片机扩展外部存储器时,用作数据总线的接口是( )

A.P0

B.P1

C.P2

D.P3

二、2.填空题

0. 单片机是一种特殊的超大规模集成电路,具有数据处理能力,可实现复杂的软件功能,因为单片机内部含有______。

1. 字符a的ASCⅡ码是十进制的97,执行了语句char c="c";printf("%d,%d",c,c+2);后将输出______。

2. 代数式

661a0fc06b7bd6fd9349e0fd79676426.png的c语言的表达式为______。

3. 对于单向值传递,函数调用时把实参传递给形参,形参的值发生改变,而其对应的实参值______。

三、3.改错题

0. #include<stdio.h>

main()

{int num;

scanf("%d",&num);

if(num%2=1)

printf("这是一个奇数 ”);

else

printf("这是一个偶数 ");

}

错误:______

改正:______

1.

103024b244458df6b7bf71320aa33b6e.png

#include<stdio.h>

main()

{int i=0,num;

float sum=0:

do{++i;

num=1.0/i;

sum+=num;

}while(num>0.000001);

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

}

错误:______

改正:______

2. #include<stdio.h>

#include

main()

{int i,a[10];

char b[10];

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

scanf("%d",a+i);

b="10 number":

printf("%s ",b);

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

printf("%d";a[i]);

printf(" ");

}

错误:______

改正:______

3. #include <stdio.h>

struct date

{int year=2010;

int month=1;

int day=1;

}datel;

main()

{struct date date2;

date2.year=2010;

date2.month=8:

date2.day=5;

printf("日期1:%d-%d-%d ",date1.year,date1.month,date1.day);

printf("日期2:%d-%d-%d ",date2.year,date2.month,date2.day);

}

错误:______

改正:______

四、4.程序阅读题

0. #include<stdio.h>

main()

{int a=2008,b=1864,e=1950,t;

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

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

}

程序运行结果为:

1. #include<stdio.h>

main()

{int i,x;

i=0;

do

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

i++:

}while(x%3!=0 ‖x%5!=0);

printf("输入数据的个数i=%d ",x);

}

程序运行时,输入数据为:1 2 3 4……直到程序结束。

程序运行结果为:

2. #include<stdio.h>

int f(t)

int t;

{int x;

if(t<=1)x=1;

else x=t*f(t-1);

return x;

}

main()

{int t,x;

t=4;

x=f(t);

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

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

}

程序运行结果为:

3. #include<stdio.h>

main()

{char a[30]="Bejjing";

char b[30]="Shanghai";

char*pa=a,*pb=b;

while(*pa!=0)

pa++;

while(* pb!=0)

{*pa=*pb;pa++;pb++;)

*pa=0;

printf("%s ",a);

}

程序运行结果为:

五、5.程序设计题

0. 利用随机函数rand()生成10个整型随机数,输出它们之中的最大值和最小值;如果把最大值和最小值之和的一半称为中间值,输出所有大于中间值的数。

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

0. MCS-51单片机把堆栈开辟在______中,其数据进出的最大特点是______。

1. MCS-51单片机中规定1个机器周期包含______个时钟周期,所以晶体振荡频率为12MHZ时,其机器周期为______μs(微秒)。

2. 在ROM 6547H单元起存放指令SJMP D9H,则执行完此指令(两字节)后,程序转向地址______H。

3. 已知(A)=4EH,(R1)=63H,执行指令XCH A,R1后,(A)=______H,(R1)=______H。

4. 一条机器指令由______和______两部分组成。

5. 执行下列三条指令后,(A)=______H (B)=______H。

MOV  A,#31H

MOV  B,#04H

MUI  AB

6. CPU响应中断,开始执行中断服务程序前,堆栈栈顶的内容是本次中断的______。

7. 8031单片机串行口的中断服务程序入口地址是______H。

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

0. 下列子程序欲将累加器A中的一个两位BCD码数转换为二进制数,仍存于A中。

TB:MOV  40H,A

SWAP  A

ANL  A,#0FH:

MOV  B,#10

MUL  AB

ANL  40H,#0FH

ORL  A,40H

RET

错误:______

改正:______

1. 下列是中断初始化程序段,要求8031单片机允许T0、T1、INT1和串行口中断,其中T0是最高中断级。

MOV  IP,#0000 0001 B

MOV  IE,#1001 1110 B

错误:______

改正:______

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

0. 8031单片机时钟频率为12MHz,运行以下程序后,P1.0口将产生矩形波的周期为______mS,高电平时间为______mS。

ORG  0000H

LJMP BEG

ORG  001BH

DJNZ R7,TRET

CPL  P1,0

MOV  R7,#5

JB  P1,0.TRET

MOV  R7,#10

TRET:RETI

BEG:MOV  TFMOD,#20H

MOV  TH1,#56  ;T1 0.2mS  中断时间常数

MOV  TL1,#56

MOV  R7,#10

CLR  P1.0

SETB TR1

MOV  IE,#8H

SJMP $

1. 已知:(30H)=83H,(31H)=0ABH,(32H)=16H,(33H)=89H,(34H)=19H,执行以下子程序后:

MOV  R0,#30H

MOV  R7,#0

MOV  R6,#0

MOV  R2,#4

LOOP:MOV  A,@R0

ADD  A,R6

MOV  R6,A

JNC  CONT

INC  R7

CONT:INC  R0

DJNZ  R2,LOOP

RET

结果为=(R7)=______H,(R6)=______H,(R2)=______H,(RO)=______H。

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

0. 在片外RAM 4000H单元开始存放16个单字节数,将其中非零的数传送到片内RAM 20H开始的单元,并将其个数存于寄存器R6中。请接着以下程序,补全缺少的部分。

MOV   R6,#OOH

MOV   R7,#16

MOV   R0,#20H

MOV   DPTR,#4000H

SJMP  $

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

0. 8051单片机实验装置中的扫描式数字显示部分如题43图所示,6个共阳极LED的段驱动由P2口经8路反相驱动器提供,位驱动由P1.5~P1.0口经6路同相驱动器提供。以下程序段,使用定时器TD产生2ms中断(时钟频率12MHz),将缓冲区40H~45H(对应LED从左到右)的低4位中的16进制数,转换成显示代码,在LED上扫描显示。

aab9d1531af02916ae556ec776f91a6e.png 

ORG  0000H

AJMP START

ORG  000BH

MOV  TL0,# ① H  ;定时器11D时间常数

MOV  TH0,# ② H

MOV  A.@R0

LCALL LDCODE

MOV  P2, ③

MOV  P1, ④

TNC  R0

MOV  A.R7

RR   A

MOV  R7.A

JNB   ⑤ ,T0_2

MOV  R0,#4OH

MOV  R7,#20H

T0_2:RETI

START:MOV  TMOD,# ⑥ H

MOV  TL0,# ① H

MOV  THO,# ② H

MOV  R0,#40H

MOV  R7,#20H

MOV  IE,#82H

SETB  ⑦

LOOP: SJMP LOOP

LDCODE: ANL  A,#0FH

INC  A

MOVC  ⑧

RET

DB   3FH,06H,5BH,4FH,66H,……;  显示代码

①______;②______;③______;④______;

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

附:有关特殊功能寄存器各位内容:

7790b3079a69ed7dee2b46025ff7d0fd.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值