第3、4章习题
一、选择题
1.51单片机中,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 0-255地址内定义了一个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 元素的字符型数组。
(A)4 (B)5 (C)6 (D)7
10.定义了char second [5]={‘H’,’E’,’L’,’L’,’O’ }; 则second是一个 B 元素的字符型数组。
(A)4 (B)5 (C)6 (D)7
11.以下能正确定义一维数组的选项是(B )。
A、int a[5]={0,1,2,3,4,5}; B、char a[ ]={0,1,2,3,4,5};
C、char a={'A','B','C'}; D、int a[5]="0123";
12.C51中,以下叙述中错误的是(D )
A、数组一般会存放在外部RAM中;
B、指针中,数组名代表的是数组所占存储区的首地址;
C、程序运行时,数组元素的下标超出所定义的下标范围时,单片机应用系统将给出“下标越界”的出错信息;
D、可以通过赋初值的方式C51编译器确定数组元素的个数。
13.下列计算机语言中,CPU能直接识别的是( D )。
Ac语言编译器的功能、 自然语言 B、 高级语言 C、 汇编语言 D、机器语言
二、判断正误
1、c51中若一个函数的返回类型为void,则表示其没有返回值。( √ )
2、51单片机定时器与计数器的工作原理均是对输入脉冲进行计数。(√)
3、51单片机中已有的SFR中凡是能被8整除的地址,都具有位寻址能力。( √ )
4、MCS-51单片机的外部数据存储器用来存放程序和常数的。 ( × )
5、MCS-51单片机的程序存储器是用来存放程序和常数的。(√ )
6、51单片机中所有串口中断标志都要由硬件清0。( √ )
7、特殊功能寄存器的名字,在C51程序中,需全部大写。( × )
8、sbit LED1=p3^3; 这条c51语句是正确的。( √ )
9、#include <reg51.h>与#include “reg51.h”基本功能是等价的。( × )
10、sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。(√ )
11、在对某一函数进行多次调用时,系统会对相应的局域变量重新分配存储单元。 ( √ )
12、在C语言的复合语句中,只能包含可执行语句。 ( × )
13、自动变量属于局部变量。 ( √ )
14、c51中定义为char的变量一定是英文字母如a、b、c、d等。 ( × )
15、所有定义在主函数之前的函数无需进行声明。 ( × )
16、汇编语言中ORG表示它后面程序的起始地址。 ( √ )
17、MCS-51的相对转移指令最大负跳距是127B。 ( √ )
18、若TMOD中的GATE=1,则需要两个信号控制定时器的的启停。 ( √ )
19、MCS-51应用系统可以没有复位电路。 ( × )
20、全局变量的有效范围是定义变量的位置开始到本文件结束。( √ )
21、ADC0832采用的是IIC总线方式。 ( √ )
22、DAC0832是一种AD转换芯片。 (√ )
23、P1作为通用IO口使用时必须加上拉电阻。(√ )
24、若一个函数的返回类型为unsigned char,则表示其没有返回值。 ( × )
25、51单片机中定时器与计数器其基本的工作原理相同,只是计数脉冲的来源不同。 ( √ )
26、ADC0809是8位逐次逼近式模/数转换器。 ( √ )
27、MCS-51的程序存储器是用来存放程序的。 (× )
28、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。 ( × )
29、51单片机片外RAM与并口外部设备统一编址时,使用不同的输入/输出指令。 ( √ )
30、使用89c51且 EA=1时,仍可外扩程序存储器。 ( √ )
三、填空题
1.数据指针DPTR在用汇编语言编程时可以看作是一个 16 位的寄存器。
2. 完成的堆栈操作的原则是 后进先出 。
3.在基址加变址寻址方式中,以 A 作变址寄存器,以 DPTR 或 PC 作基址寄存器。
4.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。
5.在MCS-51中,PC和DPTR都用于提供地址,但PC只是为了访问 程序 存储器提供地址,而DPTR可为访问 数据和程序 存储器提供地址。
6.10%3;结果为: 1 。
7.x=5;执行 if(x==3){x=4;}后,x= 0 。
8.a=0x4b,执行a=a<<2后,a= 0x2c ; CY= 1 。
9.若a=0x4b;b=0xc8;则a||b的值为: 1 。
10.若a=0x4b;b=0xc8;则a|b的值为: oxcb 。
11. 若a=10,则!a的值为 0 。
12.若a=10,b=20,则a&&b的值为 1 。
13.若a=10,b=20,则a||b的值为 1 。
14.若a=0,b=20,则a&&b的值为 0 。
15.a+=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=0x5AH,Y=0x36,则X|Y运算结果为_ ox7e _;X与Y的“异或”运算为_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;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论