试卷详情
-
微型计算机原理与接口技术-6
-
[填空题]main( )
{
float a[10]={0.0};
int i
for(i=0;i<3;i++)scanf("%d",&a[1]);
for(i=0;i<10;i++)a[0]=a[0]+a[i];
printf("%d/n",a[0]);
}
错误:______
改正:______
-
[填空题]若a=1,b=4,c=3,则表达式!(a<b)||!c&&1的值是______。
-
[填空题]#include<stdio.h>
main( )
{int x,sum;
scanf("%d",&x);
sum=0;
while(x>0)
{if(x%2==0)sum+=x;
scanf("%d",&x);}
printf("%d/n",sum);
}
程序运行时输入1 9 3 4 0<回车>,则程序运行结果是:______
-
[单项选择]8051/8031型单片机提供中断源的个数是( )
A. 3
B. 4
C. 6
D. 5
-
[填空题]
下面程序是A/D转换应用程序,可实现多路模拟量输入的巡回检测,采样数据被存放在片内RAM单元中。阅读程序完成说明语句。
ORG 0000H
AJMP MAIN
ORG 0013H ;该地址是①地址
AJMP INT1
MAIN:MOV R0,#78H ;78是②地址
MOV R2,#08H ;
SETB IT1 ;该指令的作用是③
SETB EA
SETB EX1 ;允许INT1中断
MOV DPTR,#6000H;#6000H是④地址
MOV A,#00H ;A的内容对转换结果⑤影响
LOOP:MOVX @DPTR,A ;该指令的作用是⑥
HERE://SJMP HERE
DJNZ R2,LOOP
INT1:MOVX A,@DPTR ;当⑦时,程序将运行到此处。
MOV @R0,A
INC DPTR ;DPTR加1的目的是⑧
INC R0
RET1
答:①______;②______;③______;④______;
⑤______;⑥______;⑦______;⑧______;
-
[填空题]下面程序段是将片外RAM20H~25H单元清零。
MOV R0,#20H
MOV R7,#06H
CLR A
LOOP: MOV @R0,A
INC R0
DJNZ,#3000H
错误:______
改正:______
-
[填空题]#include<stdio.h>
#define N 6
void main( )
{int a[N]={4,5,8,3,6,1};
int j,i,t;
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(j=0;j<N;j++)printf("%5d",a[j]);
程序运行结果是:______
-
[填空题]8051单片机内有______个16位的定时/计数器,______有四种工作方式。
-
[单项选择]以下使用后缀表日月十六进制数的是( )
A. B
B. H
C. D
D. O
-
[单项选择]从循环体内某一层跳出,继续执行循环外的语句是( )
A. return语句
B. break语句
C. continue语句
D. 空语句
-
[单项选择]以下定义,使p指向data和a域的赋值语句是( ) struct stuclent {int a;float b;}data,*p;
A. p=&a;
B. p=data;
C. *p=data;
D. p=&data;
-
[单项选择]不是伪指令关键字的是( )
A. ORG
B. START
C. EQU
D. DATA
-
[单项选择]不是MCS-51单片机I/O的数据传送方式的是( )
A. 无条件传送
B. 随机传输
C. 查询方式
D. 中断方式
-
[填空题]MCS-51的存储器空间配置从功能上可分为四种类型:______、内部数据存储器、______、外部程序存储器。
-
[填空题]执行下面一段程序后,(A)=______,(B)=______。
MOV SP,#60H
MOV A,#10H
MOV B,#01H
PUSH A
PUSH B
POP A
POP B
-
[单项选择]8255是一个可编程的:I/O接口芯片,“可编程”是( )
A. 有14位可控定时器/计数器
B. 芯片内包含有256字节的RAM
C. 只能使用中断编程的方法进行I/O数据传送
D. 使用命令字以程序方法设置I/O数据传送的方式
-
[单项选择]8031的定时器T0作计数方式,用模式1(16位计数器),则应用初始化编程指令是( )
A. MOV TMOD,#01H
B. MOV TMOD,10H
C. MOV TMOD,#05H
D. MOV TCON,#05H
-
[填空题]下面程序段是将ROM 3000H单元内容送R7。
MOV DPTR,#3000H
CLR A
MOVC A,@R7+DPTR
MOV R7,A
错误:______
改正:______
-
[单项选择]8051单片机的VCC(40)引脚是( )
A. 主电源+5V引脚
B. 接地引脚
C. 备用电源引脚
D. 访问片外存贮器引脚
-
[填空题]8255A属于可编程的______I/0接口芯片,8255A的A通道有______种工作方式。
-
[填空题]某8031单片机时钟频率为12MHz,现将T0设置为定时方式1,定时时间为1毫秒,其计数器中的时间常数初值应为______。(写成四位十六进制数)
-
[填空题]MUL AB的执行结果是存储高8位在______中,低8位在______中。
-
[填空题]以下程序的功能是对10个整数从小到大排序。请填空。
#include<stdio.h>
sort(int arr[],int n);
main( )
{int a[10],*p,i;
printf("input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("/nthe original array is:");
for(p=a;P<a+10;p++)
printf("%d",*p);
sort(a,10);
printf("/nthe present array is:");
for(P=a;P<a+10;P++)
printf("%d",*p);
}
sort(int arr[],int n)
{int*p1,*p2,temp;
for(p1=arr;p1<arr+(n-1);p1++)
for(p2=p1+1;p2<arr+n;p2++)
if(______)
{temp=*p1;*p1=*p2;*p2=temp;}
}
-
[填空题]inta,b,c;则表达式a=(b=4)+(c=2)的值是______。
-
[填空题]以下程序的功能是计算字符串的长度。请填空。
#include<stdio.h>
main( )
{char str[100],*sp=str;
int nlen=0;
scanf("%s",str);
for(;*sp!=’/0’;sp++)______;
printf("%d",nlen);
}
-
[填空题]#include<stdio.h>
main( )
{int n,sum=0;
scanf("%d",&n);
do{sum=sum+(n%10)*(n%10);
n=n/10;}while(n);
printf("sum=%d",sum);
}
程序运行时,从键盘输入2345<回车>,运行结果是:______
-
[填空题]#include"stdio.h"
main( )
{int i;
for(i=1;i<=5;i++)
{if(i%2)printf("*");
else continue;
printf("#");}
printf("#");}
程序运行结果是:______
-
[填空题]以下是8051单片机定时/计数器的初始化程序(设单片机晶振频率是6MHz):T0作为定时,定时时间为______,T1作为计数,记满______溢出。
ORG 0000H
LJMP 0050H
ORG 0050H
MOV TMOD,#20H
MOV TH0,#63H
MOV TL0,#18H
MOV TH1,#9CH
MOV TL,#9CH
SETB EA
SETB TR0
SETB TR1
SJMP $
-
[填空题]下面程序是将片内RAM______开始的单元内10个二进制数,找出其中最大值并存于单元中。
START: MOV R0,#40H
MOV R7,#09H
MOV A,@R0
LOOP: INC R0
MOV 30H,@R0
CJNE A,30H,NEXT
NEXT: JNC BIE1
MOV A,30H
BIE1: DJNZ R7,LOOP
MOV 50H,A
RET
-
[填空题]下面程序的功能是将大写字母改成小字母,小字母改成大写字母。
main( )
{char ch;
scanf("%c",&ch);
if(ch>=’A’||ch<=’Z’)ch=ch+32;
elseif(ch>=’a’&&ch<=’z’)ch=ch-32;
printf("%c",ch);
}
错误:______
改正:______
-
[填空题]如要选择第2组的工作寄存器交换数据,可先执行指令______。
PSW(地址为DOH)的格为CYACFORS1RS0OV-P
-
[简答题]每个苹果0.8元,第一天买两个苹果,第二天开始,每天买前一天的两倍,直到买的苹果个数达到不超过100的最大值。编写程序,求每天平均花多少钱
-
[简答题]RAM中60H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R6中。
-
[单项选择]以下集成块型号中不属于8位系列单片机型号的是( )
A. 83C152JC
B. 83C52JA
C. 83C51FB
D. 8097JF
-
[单项选择]8031的定时器T1作计数方式,模式2的方式控制字是( )
A. 60H
B. 02H
C. 06H
D. 20H
-
[单项选择]执行下面程序段后,正确的结果是( ) intx=0,y=0; while(x<15)y++,x+ =++y;
A. x=8
B. y=20
C. x=20
D. y=12
-
[单项选择]以下说法正确的是( )
A. 计算机能直接执行C的源程序
B. 后缀是EXE的文件是二进制文件
C. 后缀是OBJ和EXE的文件是可执行文件
D. 后缀是OBJ的文件是二进制文件
-
[填空题]main( )
{char s[]="9876",*p;
*p=s:
printf("%s",p);
}
错误:______
改正:______
-
[单项选择]单片机上电复位后,堆栈区的最大允许范围的单元是( )
A. 64
B. 120
C. 128
D. 256
-
[单项选择]下面不是运算器完成的主要任务是( )
A. 算术运算
B. 位运算
C. 数据处理
D. 指令译码
-
[填空题]#include<stdio.h>
#include<conio.h>
main( )
{
int i,j;
char ch;
while(ch=getchar( )!=’/r’)
{
i++:
printf("%c",ch);
}
printf("you type%d characters/n",i);
}
错误:______
改正:______
-
[填空题]8031单片机内部数据RAM中的位寻址区的地址范围是______。
-
[单项选择]共阴极显示管点亮时输入电平是( )
A. 低电平
B. 低电压
C. 低阻态
D. 高电平