34章习题
一、选择题
151单片机中,PC是一个16位的计数器指针,它的值永远指向下一条要执行的指令地址。它决定程序执行的顺序和方向,寻址范围可达64KB (B)
A、此叙述大部分错误  B、此叙述完全正确  C、此叙述大部分正确  D 很难判断 
2.判断下列说法正确的是 D 
A 89c51共有21个特殊功能寄存器,它们中一部分的位是可以进行位寻址的。
B 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
C 程序指针PC也可以为用户编程时直接使用,可存入16位的数据。
D 以上说法都不正确。
3.C51中,char  data  var1;为  A
A)在内部RAM定义一个带符号的一字节变量;
B)在可位寻址的片内RAM定义了一个位变量;
C)在内部RAM(52子系列的高128字节)定义浮点变量;
D)在片外RAM 256字节内定义了一个整型变量;
E)在内部RAM定义一个带符号的一字节的数组。
4.C51中,bit  bdata  flags B 
A)在内部RAM定义一个带符号的一字节变量;
B)在可位寻址的片内RAM定义了一个位变量;
C)在内部RAM(52子系列的高128字节)定义浮点变量;
D)在片外RAM 256字节内定义了一个整型变量;
E)在内部RAM定义一个带符号的一字节的数组。
5.C51中,float  idata  x C  
A)在内部RAM定义一个带符号的一字节变量;
B)在可位寻址的片内RAM定义了一个位变量;
C)在内部RAM(52子系列的高128字节)定义了一个浮点变量;
D)在片外RAM 256字节内定义了一个整型变量;
E)在内部RAM定义一个带符号的一字节的数组。
6.C51中,unsigned  int  pdata  var2  D   
A)在内部RAM定义一个带符号的一字节变量;
B)在可位寻址的片内RAM定义了一个位变量;
C)在内部RAM(52子系列的高128字节)定义了一个无符号浮点变量;
D)在片外RAM 0255地址内定义了一个16位的无符号整型变量;
E)在内部RAM定义一个带符号的一字节的数组。
7.C51中,unsigned  char vector[3] E   
A)在内部RAM定义一个带符号的一字节变量;
B)在可位寻址的片内RAM定义了一个位变量;
C)在内部RAM(52子系列的高128字节)定义了3个浮点变量;
D)在片外RAM 256字节内定义了一个有符号的整型变量;
E)在内部RAM定义一个无符号的每个元素为一字节的有三元素的数组。
8.若定义了char x;char X;则x与X完全是两个 D   的变量。
A)不同  B)相同  C)外部  D)无符号
9定义了char third[ ]={“HELLO”}; third是一个 C     元素的字符型数组。
ABCD7
10定义了char second [5]={‘H’,’E’,’L’,’L’,’O’ }; second是一个 B     元素的字符型数组
ABCD7
11.以下能正确定义一维数组的选项是(B )。
  Aint a[5]={0,1,2,3,4,5};  Bchar a[ ]={0,1,2,3,4,5};
  Cchar a={'A','B','C'};    Dint a[5]="0123";
12C51中,以下叙述中错误的是(D  
  A、数组一般会存放在外部RAM中;
  B、指针中,数组名代表的是数组所占存储区的首地址;
  C、程序运行时,数组元素的下标超出所定义的下标范围时,单片机应用系统将给出下标越界的出错信息;
  D、可以通过赋初值的方式C51编译器确定数组元素的个数。
13.下列计算机语言中,CPU能直接识别的是( D )。
Ac语言编译器的功能、 自然语言    B 高级语言      C 汇编语言    D、机器语言
二、判断正误
1c51中若一个函数的返回类型为void,则表示其没有返回值。(
251单片机定时器与计数器的工作原理均是对输入脉冲进行计数。(
351单片机中已有的SFR中凡是能被8整除的地址,都具有位寻址能力。  )
4MCS-51单片机的外部数据存储器用来存放程序和常数的。× )
5MCS-51单片机的程序存储器是用来存放程序和常数的。( 
651单片机中所有串口中断标志都要由硬件清0。(
7、特殊功能寄存器的名字,在C51程序中,需全部大写。( ×
8sbit LED1=p3^3; 这条c51语句是正确的。(   
9#include  <reg51.h>#include reg51.h”基本功能是等价的。( ×
10sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。( 
11在对某一函数进行多次调用时,系统会对相应的局域变量重新分配存储单元。  
12、在C语言的复合语句中,只能包含可执行语句。  ×
13、自动变量属于局部变量。  
14c51中定义为char的变量一定是英文字母如abcd等。   ×
15所有定义在主函数之前的函数无需进行声明。   ×
16、汇编语言中ORG表示它后面程序的起始地址。  
17MCS-51的相对转移指令最大负跳距是127B  
18、若TMOD中的GATE=1,则需要两个信号控制定时器的的启停。  
19MCS-51应用系统可以没有复位电路。 ×
20、全局变量的有效范围是定义变量的位置开始到本文件结束。(
21ADC0832采用的是IIC总线方式。   
22DAC0832是一种AD转换芯片。  
23P1作为通用IO口使用时必须加上拉电阻。(
24、若一个函数的返回类型为unsigned char,则表示其没有返回值。 ×
2551单片机中定时器与计数器其基本的工作原理相同,只是计数脉冲的来源不同。
26ADC08098位逐次逼近式模/数转换器。
27MCS-51的程序存储器是用来存放程序的。 × 
28MCS-51的特殊功能寄存器分布在60H80H地址范围内。 × 
2951单片机片外RAM与并口外部设备统一编址时,使用不同的输入/输出指令。  
30、使用89c51 EA=1时,仍可外扩程序存储器。  
三、填空题
1.数据指针DPTR在用汇编语言编程时可以看作是一个  16  位的寄存器。
2. 完成的堆栈操作的原则是  后进先出       
3.在基址加变址寻址方式中,以 A   作变址寄存器,以 DPTR   PC     作基址寄存器。
4.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址    
5.在MCS-51中,PCDPTR都用于提供地址,但PC只是为了访问 程序   存储器提供地址,而DPTR可为访问  数据和程序  存储器提供地址。
6.10%3;结果为:  1     
7.x=5;执行 ifx==3{x=4;}后,x= 0     
8a=0x4b,执行a=a<<2后,a=  0x2c  ; CY=    1   
9.若a=0x4bb=0xc8;则a||b的值为:  1    
10.若a=0x4bb=0xc8;则a|b的值为:  oxcb     
11 a=10,则!a的值为  0 
12.若a=10b=20,则a&&b的值为  1  
13.若a=10b=20,则a||b的值为 1  
14.若a=0b=20,则a&&b的值为  0
15a+=b;  等价于a  a+b  ;
16 x*=a+b; 等价于x  x*(a+b)  ;
17 a &= b; 等价于a  a&b    ;
18.若char x;则x=(char)0xb030; 后, x的值为  ox30     
19. X=0x5AHY=0x36,则X|Y运算结果为_ ox7e  _XY异或运算为_ox6c_  __
20若定义了一个指针变量unsigned char  xdata  *data yc; 它表示:指针变量 yc被分配在片内 RAM    , 指针指向一个无符号字符, 该无符号字符存放于  外部RAM   
四、阅读、编写简单程序
1.设(A)=0FH ,(R0)=30H,内部RAM (30H)=0AH,(31H)=0BH,(32H)=0CH请写出在执行各条列指令后,所示单元的内容:
        MOV A,@R0      (A)= OAH   
        MOV @R0,32H    (30H)= OCH   
        MOV 32H, A    (32H)= OAH   
        MOV R0,#31H    (R0)=  31H 
        MOV A, @R0    (A)=  OBH 
答案:
2.用数据传输指令来完成下列要求的数据传送:
1)外部RAM 1000H单元的内容送内部RAM 20H
2)程序存储器ROM 2000H单元的内容送到R1
3)程序存储器2000H单元的内容送内部RAM 20H
4)程序存储器2000H单元的内容送外部RAM 30H