c51单片机复习资料习题及答案.docx
《c51单片机复习资料习题及答案.docx》由会员分享,可在线阅读,更多相关《c51单片机复习资料习题及答案.docx(57页珍藏版)》请在冰豆网上搜索。
c51单片机复习资料习题及答案
C51单片机习题及答案
1、单片机是将微处理器、一定容量的RAM和ROM以及 I/O口、定时器等电路集成在一块芯片上而构成的微型计算机。
2、单片机89C51片内集成了 4 KB的FLASHROM,共有 5 个中断源。
3、两位十六进制数最多可以表示 256 个存储单元。
4、实验中所用89C54RD是以下哪个公司的产品?
( C )
A、INTEL B、AMD C、STC D、PHILIPS
5、在89C51中,只有当EA引脚接 高 电平时,CPU才访问片内的FlashROM。
6、是非题:
当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。
T
7、是非题:
当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。
F
8、当CPU访问片外的存储器时,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,8位数据由 P0 口提供。
9、在I/O口中, P0 口在接LED时,必须提供上拉电阻,P3 口具有第二功能。
10、是非题:
MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。
F
11、是非题:
是读端口还是读锁存器是用指令来区别的。
T
11、单片机的P0、P1口作输入用途之前必须 a 。
A.在相应端口先置1 B.在相应端口先置0 C.外接高电平 D.外接上拉电阻
12、是非题:
在89C51的片内RAM区中,位地址和部分字节地址是冲突的。
F
12、8051单片机中,唯一一个用户不能直接使用的寄存器是( C )。
A、PSW B、DPTR C 、PC D、B
13、是非题:
中断的矢量地址位于RAM区中。
F
14、MCS-51系列单片机是属于( B )体系结构。
A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵
15、89C51具有 64 KB的字节寻址能力。
16、是非题:
在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。
T
17、在89C51中,片内RAM分为地址为 00H~7FH 的真正RAM区,和地址为80H~FFH的特殊功能寄存器(SFR)区两个部分。
18、在89C51中,通用寄存器区共分为 4 组,每组 8 个工作寄存器,当CPU复位时,第 0 组寄存器为当前的工作寄存器。
19、是非题:
工作寄存器区不允许做普通的RAM单元来使用。
F
19.单片机的片外程序存储器的选通信号是 PSEN 。
20、是非题:
工作寄存器组是通过置位PSW中的RS0和RS1来切换的。
T
21、定时和计数都是对 脉冲 进行计数,定时与计数的区别是 定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数 。
21、是非题:
特殊功能寄存器可以当作普通的RAM单元来使用。
F
21、单片机各中断源的优先级别设定是利用寄存器 IP 。
22、是非题:
访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。
T
23、串行口寄存器中SM2是多机通信控制位。
TB8是发送数据的第9位。
RB8是接收数据的第9位.
23、是非题:
堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。
F
24、8051特殊功能寄存器SFR中采用可以位寻址的寄存器,是因为 C
A.可以扩展寄存器功能 B.可以缩短指令执行时间
C.便于控制应用 D.可以扩展存储空间
24、数据指针DPTR是一个 16 位的特殊功能寄存器寄存器。
25、是非题:
DPTR只能当作一个16位的特殊功能寄存器来使用。
F
26、是非题:
程序计数器PC是一个可以寻址的特殊功能寄存器。
F
27、在89C51中,一个机器周期包括 12 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和4周期指令。
28、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个 高 电平并维持 2 个机器周期,可将系统复位。
29、是非题:
单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。
T
30、单片机89C51复位后,其I/O口锁存器的值为 0FFH ,堆栈指针的值为 07H ,SBUF的值为 不定 ,内部RAM的值不受复位的影响,而其余寄存器的值全部为00H 。
31、是非题:
单片机系统上电后,其内部RAM的值是不确定的。
T
32、以下哪一个为51系列单片机的上电自动复位电路(假设RST端内部无下拉电阻)(P11图1-8(a))。
33、在89C51中,有两种方式可使单片机退出空闲模式,其一是任何的中断请求被响应,其二是 硬件复位 ;而只有 硬件复位 方式才能让进入掉电模式的单片机退出掉电模式。
33、RS232C是串行通信 总线标准。
34、8255是 通用的可编程并行 接口。
35、MCS-51有一个全双工的 异 步串行口,有4 种工作方式。
34、请用下图说明89C51单片机读端口锁存器的必要性。
读锁存器是为了避免直接读端口引脚时,收到外部电路的干扰,而产生的误读现象。
35、请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?
解:
因为LED导通时,电压降是固定的(0.6V)。
为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻。
43、简述89C51单片机中断的概念。
当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的时间。
中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。
44、什么是保护现场,什么是恢复现场?
保护现场:
当CPU响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;
恢复现场:
在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。
45、单片机89C51有哪些中断源,对其中断请求如何进行控制?
89C51中断系统有5个中断源:
●INT0:
外部中断0请求,低电平有效。
通过P3.2引脚输入。
●INT1:
外部中断1请求,低电平有效。
通过P3.3引脚输入。
●T0:
定时器/计数器0溢出中断请求。
●T1:
定时器/计数器1溢出中断请求。
●TXD/RXD:
串行口中断请求。
当串行口完成一帧数据的发送或接收时,便请求中断。
46、单片机89C51的5个中断源分别为 INT0、INT1、T0、T1 以及 TXD/RXD 。
47、单片机89C51的中断要用到4个特殊功能寄存器,它们是TCON、SCON、IE以及IP。
48、使用定时器T1时,有几种工作模式3,不能工作在模式3。
48、CPU和外设进行数据交换时常用的方式有无条件转换、查询方式、中断方式三种。
49、MCS-51的堆栈是软件填写堆栈指针临时在_片内数据存储器内开辟的区域.
48、在89C51中,外部中断由IT0
(1)位来控制其两种触发方式,分别是电平 触发方式和 脉冲 触发方式。
49、简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。
中断源(控制位) 自然优先级
外部中断0(PX0) 最高
定时器/计数器0溢出中断(PT0)
外部中断1(PX1)
定时器/计数器1溢出中断(PT1)
串行口中断(PS) 最低
若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。
当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。
50、是非题:
在89C51中,当产生中断响应时,所有中断请求标志位都由硬件自动清零。
F
51、单片机中断系统中共 INTO、INT1 、 T0、T1 、串行口 五个中断源,其中优先级最高的是 INTO 、优先级最低的是 串行口 。
51、中断处理过程分为3个阶段,即中断响应、中断处理以及中断返回 。
52、波特的单位是( B )
A、 字符/秒 B、 位/秒 C、 帧/秒 D、 字节/秒
简述51系列单片机中断响应的条件。
●有中断源发出中断请求;
●中断总允许位EA=1,即CPU开中断;
●申请中断的中断源的中断允许位为1,即中断没有屏蔽;
●无同级或更高级中断正在被服务;
●当前的指令周期已经结束;
●若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。
53、是非题:
在51系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。
T
53、PC中存放的是( A )
A.下一条指令的地址 B. 当前正在执行的指令
C.当前正在执行指令的地址 D.下一条要执行的指令
54、单片机的串行口工作在方式0时一帧数据有8 位,工作在方式3时一帧数据有 11位。
54、在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?
因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。
55、为什么一般都把主程序的起始地址放在0030H之后?
因为0000H~0030H中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在0030H之后。
56、是非题:
在执行子程序调用或执行中断服务程序时都将产生压栈的动作。
T
57、单片机89C51片内有两个 16 位的定时/计数器,即T0和T1,它们都有 定时 和 事件计数 的功能。
58、是非题:
定时/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。
T
59、是非题:
定时/计数器工作于计数方式时,是通过89C51的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。
T
60、是非题:
定时/计数器在工作时需要消耗CPU的时间。
F
61、是非题:
定时/计数器的工作模式寄存器TMOD可以进行位寻址。
F
61、当定时器To工作在方式3时,要占定时器T1的TR1和TF1_两个控制位.
62、是非题:
定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。
F
63、简述定时/计数器4种工作模式的特点。
模式1:
是16位的定时器/计数器;
模式2:
把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器;
模式3:
对T0和T1大不相同。
若将T0设置为模式3,则TL0和TH0被分为两个相互独立的8位计数器。
定时器T1无工作模式3状态。
模式0:
与模式1几乎完全相同,唯一的差别是模式0中,寄存器TL0用5位,TH0用8位。
65、单片机试验系统与微机是通过串行通讯电缆相连。
65、是非题:
在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。
F
67、单片机89C51的时钟频率为6MHz,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为FE0CH 。
68、在串行通信中,51中发送和接收的寄存器是(B)。
A.TMODB.SBUFC.SCOND.DPTR
68、是非题:
单片机89C51的定时/计数器是否工作可以通过外部中断进行控制。
T
69、单片机89C51具有 并行 通信和 串行 通信两种通信方式。
69.在C51单片机中,使用P2、P0口对外部总线进行扩展,其中P2传送高8位地址线信号,且使用了P0口分时来传送低8位地址线信号和8位数据信号。
70、是非题:
并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。
T
71、是非题:
串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。
T
72、串行通信有 同步 通信和 异步 通信两种通信方式。
73、在异步通信中,数据的帧格式定义一个字符由4部分组成,即:
起始位 、数据位、 奇偶校验位 和停止位。
73、输入输出设备与主机的连接部分称为输入输出接口,接口有三大作用:
___隔离与寻址______作用、____锁存与缓冲_____作用和信号电平与形式的变换作用。
74、是非题:
异步通信中,在线路上不传送字符时保持高电平。
T
75、是非题:
在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。
T
76、是非题:
异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。
T
77、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是 通信双方必须采用统一的编码方式 ,二是 通信双方必须能产生相同的传送速率 。
77、什么是中断和中断系统?
计算机采用中断系统带来了哪些优越性?
答:
当CPU当CPU正在处理某事件的时候,外部或者内部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。
中断服务处理完该事件后,再返回到原来被中止的地方继续原来的工作,这样的过程称为中断。
1.CPU与外设同步工作
2.实时处理
3.故障处理
78、是非题:
在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。
T
78、简述子程序调用和执行中断服务程序的异同点。
相同点:
均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。
不同点:
(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
(2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。
(3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。
78、在C51中,函数返回值传递的规则是什么?
答:
(1)调用时参数的传递
分三种情况:
少于等于3个参数时通过寄存器传递(寄存器不够用时通过存储区传递),多于3个时有一部分通过存储区传递,对于重入函数参数通过堆栈传递。
通过寄存器传递速度最快。
(2)函数返回值的传递
当函数有返回值时,其传递都是通过寄存器
79、单片机89C51中的串行通信共有 4 种方式,其中方式 0 是用作同步移位寄存器来扩展I/O口的。
80、是非题:
在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。
F
81、是非题:
在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。
T
81、8051单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。
8051单片机内部的,数据存储区是可读写的。
8051派生系列最多可有256字节的内部数据存储区,其中低128字节可直接寻址,高128字节(从0x80到0xFF)只能间接寻址,从20H开始的16字节可位寻址。
内部数据区可分为3个不同的存储类型:
data、idata、bdata。
外部数据区也是可读写的。
访问外部数据区比访问内部数据区慢,因为外部数据区是通过数据指针加载地址来间接访问的。
C51提供两种不同的存储类型xdata和pdata访问外部数据。
程序存储区是只能读不能写。
程序存储区可能在8051单片机内部或者在外部或者内外都有,这由8051单片机的硬件决定。
C51提供了code存储类型来访问程序存储区。
每个变量可以明确地分配到指定的存储空间,对内部数据存储器的访问比对外部数据存储器的访问快许多,因此应当将频繁使用的变量放在内部存储器中,而把较少使用的变量放在外部存储器中。
82、是非题:
单片机89C51一般使用非整数的晶振是为了获得精确的波特率。
T
83、是非题:
单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。
T
83、MCS-51有一个全双工的 异 步串行口,有 4 种工作方式.
84、设89C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为 F4H 。
85、
(1)绝对宏
C51编译器提供了一组宏定义来对51系列单片机的code、data、pdata和xdata空间进行绝对寻址。
在程序中,用“#include”即可使用其中声明的宏来访问绝对地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,具体使用方法参考absacc.h头文件。
其中:
CBYTE以字节形式对code区寻址;CWORD以字形式对code区寻址; DBYTE以字节形式对data区寻址;DWORD以字形式对data区寻址; XBYTE以字节形式对xdata区寻址;XWORD以字形式对xdata区寻址; PBYTE以字节形式对pdata区寻址;PWORD以字形式对pdata区寻址;
(2)_at_关键字
可以使用关键字_at_对指定的存储器空间的绝对地址进行访问,一般格式如下:
[存储器类型] 数据类型说明符 变量名 _at_地址常数;
其中,存储器类型为C51能识别的数据类型,如省略则按存储器模式规定的默认存储器类型确定变量的存储器区域;数据类型为C51支持的数据类型;地址常数用于指定变量的绝对地址,必须位于有效的存储器空间之内;使用_at_定义的变量必须为全局变量。
5.C51对51单片机位变量的定义方法?
答:
除了通常的C数据类型外,C51编译器支持bit数据类型。
用关键字“bit”进行定义。
如:
bit direction_bit; /* 将direction_bit定义为位变量 */ bit lock_pointer; /* 将lock_pointer定义为位变量 */ bit display_invers;
/* 将display_invers定义为位变量 */
6.C51 和Turbo C 的数据类型和存储类型有哪些异同点?
C51增加了位变量,取消了布尔变量。
7.C51 的data、bdata、idata 有什么区别?
data、bdata、idata是表明数据的存储类型,
data是指片内RAM的低128字节,可在一个周期内直接寻址; bdata是指片内RAM的位寻址区,16字节;
idata是指片内RAM的256字节,必须采用间接寻址。
8.C51中的中断函数和一般的函数有什么不同?
C51编译器允许用C51创建中断服务函数,中断函数是由中断系统自动调用的。
中断函数的定义格式为:
函数类型 函数名 interrupt n using n
其中:
interrupt和using为关键字;
interrupt后面的n 为中断源的编号,即中断号; using后面的n所选择的寄存器组,取值范围为0~3。
定义中断函数时,using是一个选项,可以省略不用。
如果不用using选项,则由编译器选择一个寄存器组作为绝对寄存器组。
8051的中断过程通过使用interrupt关键字和中断号(0~31)来实现,中断号告诉编译器中断函数的入口地址。
86、C51采用什么形式对绝对地址进行访问?
答:
绝对地址的访问包括片内RAM、片外RAM及I/O的访问。
C51提供了两种比较常用的访问绝对地址的方法。
(1)绝对宏
C51编译器提供了一组宏定义来对51系列单片机的code、data、pdata和xdata空间进行绝对寻址。
在程序中,用“#include”即可使用其中声明的宏来访问绝对地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,具体使用方法参考absacc.h头文件。
其中:
CBYTE以字节形式对code区寻址;CWORD以字形式对code区寻址; DBYTE以字节形式对data区寻址;DWORD以字形式对data区寻址; XBYTE以字节形式对xdata区寻址;XWORD以字形式对xdata区寻址; PBYTE以字节形式对pdata区寻址;PWORD以字形式对pdata区寻址; 如:
#include
#define PORTA XBYTE[0xFFC0]/*将PORT定义为外部I/O口,地址为0xFFC0,长度为8位*/ #define NRAM DBYTE[0x40] /*将NRAM定义为片内RAM,地址为40H,长度为8位*/
(2)_at_关键字
可以使用关键字_at_对指定的存储器空间的绝对地址进行访问,一般格式如下:
[存储器类型] 数据类型说明符 变量名 _at_地址常数;
其中,存储器类型为C51能识别的数据类型,如省略则按存储器模式规定的默认存储器类型确定变量的存储器区域;数据类型为C51支持的数据类型;地址常数用于指定变量的绝对地址,必须位于有效的存储器空间之内;使用_at_定义的变量必须为全局变量。
85、如何定义8位字节型特殊功能寄存器?
如何定义16位特殊功能寄存器?
如何定义特殊功能寄存器的位变量?
答:
sfr特殊功能寄存器名=地址常数
sfr16特殊功能寄存器名=地址常数
sbit位变量名=特殊功能寄存器名^位号常数
85、简述89C51串口通信的四种方式及其特点。
方式0:
同步移位寄存器输入/输出方式,常用于扩展I/O口。
波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。
方式1:
用于串行发送或接收,为10位通用异步接口。
TXD与RXD分别用于发送与接收数据。
收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。
波特率由定时器T1的溢出率与SMOD值同时决定。
方式2:
用于串行发送或接收,为11位通用异步接口。
TXD与RXD分别用于发送与接收数据。
收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。
波特率取决于PCON中SMOD位的值:
当SMOD=0时,波特率为的1/64;当SMOD=1时,波特率为的1/32。
方式3:
用于串行发送或接收,为11位通用异步接口。
TXD与RXD分别用于发送与接收数据。
帧格式与方式2相同,波特率与方式1相同。
86、MCS—51单片机的P0—P4口均是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 数据总线 和 地址总线 ,在P0—P4口中,P0 为真正的双向口, P1—P