单片机原理与应用习题 联系客服

发布时间 : 星期五 文章单片机原理与应用习题更新完毕开始阅读

单片机原理与应用习题集

习题1

1. 填空:

⑴ 20D= 10100 B= 14 H; ⑵ 1100101B= 101 D= 65 H; ⑶ 1F8H= 1 1111 1000 B= 504 D;

⑷ 1个字节由 8 个二进制位组成,每个二进制位只有 2 种状态,可表示为 0 或 1 ; ⑸ 1K字节就是2的 10 次方字节,即 1024 个字节;1M字节就是2的 20 次方字节,约为 1048567 个字节。

2. 在8位二进制中,+26、-26、-127、-1的补码(用十六进制表示)是多少? 解:正数的补码等于原码,负数的补码等于它的原码除符号位不变,其余的各位求反加1。 [+26]原=0001 10101B=1AH,[+26]补=1AH

[-26]原=1001 10101B,[-26]补=1110 0101B+1=1110 0110B=0E6H [-127]原=1111 1111B,[-127]补=1000 0000B+1=1000 0001B=81H [-1]原=1000 0001B,[-1]补=1111 1110B+1=1111 1111B=0FFH

3. 用十进制写出下列补码表示的数的真值:FEH、FBH、80H、11H、70H、7FH。 解:真值是指日常用“+”或“ -”号表示的数。

机器数是指计算机中用编码表示的数,正数的符号以最高位为0表示,负数的符号以最高位为1表示。 根据补码求真值的一个通俗口诀是“正码不变,负码求补,补后勿忘添负号”。

①FEH=1111 1110B,其符号位为“1”,属负数,故其原码为1000 0001B+1=1000 0010B,即FEH真值为-2;

②同理FBH属负数,其真值为-5; ③80H的真值为-128; ④11H的真值为+17; ⑤70H的真值为+112; ⑥7FH的真值为+127。

4. 微型计算机主要由哪几部分组成?各部分有何功能?

答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。

CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。

存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。 输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。

总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。 5. 何为存储器单元的地址?

答:存储器中存放二进制数的单元称为存储单元。存储器中包含许多存储单元,为了便于信息的存入和取出,每一个存储单元必须有一个固定的编号来标识,称这个编号为存储器单元地址。

6 .何谓单片机?单片机有何特点?

答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。

单片机在控制应用领域中的特点:

⑴ 面向控制,能针对性地解决从简决从简单到复杂的各类控制任务,因而获得最佳的性能价格比; ⑵ 抗干扰能力强、适应温度范围宽,能在各种恶劣的环境下都能可靠性地工作; ⑶ 能方便地实现多机和分布式控制,从而使整个控制系统的效率和可靠性大大提高;

⑷ 体积小、功耗低、低成本、控制功能强、易于产品化,能方便地组成各种智能化的控制设备和仪器,做到机、电、仪一体化。

7 .单片机内部ROM的配置有几种形式?

答:单片机片内ROM的配置状态可分四种:片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产;片内EPROM型单片机(如8751),适合于研制产品样机;片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品;EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。

习题2

1.8051单片机内包含哪些主要逻辑功能部件?

答:8051单片机是一个完整的单片微型计算机。它包括以下功能部件: 一个芯片上,集成了一个微型计算机的基本组成部分。它包括以下功能部件: ·1个8位CPU;

·片内4KB的程序存储器ROM; ·片内128B的数据存储器RAM;

·可寻址外部程序存储器和数据存储器空间各64KB的控制电路; ·21个特殊功能寄存器SFR;

·4个8位并行I/O口P0~P3,共32根I/O线; ·1个全双工的串行口; ·2个16位定时器/计数器;

·5个中断源,有2个优先级嵌套中断结构; ·片内振荡器及时钟电路。

2.8051单片机的EA信号有何功能?8031的EA引脚应如何处理,为什么? 答:(1) EA是访问外部程序存储器ROM的控制信号。

当EA为低电平(接地)时,CPU只执行外部程序存储器中的程序。

当EA为高电平且PC值小于0FFFH(4K)时,CPU执行内部程序存储器的程序,但当PC的值超出4K时(对8051/8751/8951)将自动转去执行片外程序存储器内的程序。

8031单片机无片内ROM的,必须外接程序存储器,因此,8031的EA必须接地(低电平)。 3.8051单片机的P0~P3口各有什么特点?

8051单片机有P0、P1、P2、P3四个双向的8位并行I/O口,每个端口可以按字节输入或输出,每一条I/O线也可以单独用作输入或输出(即按位进行输入或输出)。每个端口都是由一个锁存器(即特殊功能寄存器P0~P3),一个输出驱动器和两个(P3口为3个)输入缓冲器组成。并行I/O口作输出时数据可以锁存,作输入时数据可以缓冲,但它们又各具特点。

⑴P0口和P2口构成MCS—51单片机的16位地址总线,P0口还是8位的数据总线。P3口多用于第二功能输入或输出,。通常只有P1口用于一般输入/输出。

P3口各位的第二功能

P3口引脚 P3.0 第二功能 RXD(串行输入端) P3口引脚 P3.4 第二功能 T0(定时器0的外部输入) P3.1 P3.2 P3.3 TXD(串行输出端) P3.5 P3.6 P3.7 T1(定时器1的外部输入) INT0(外部中断0输入) WR(片外数据存储器写选通控制输出) RD(片外数据存储器读选通控制输出) INT1(外部中断1输入) ⑵系统复位后,P0~P3口的32个管脚均输出高电平,因此在系统的设计过程中,应保证这些管脚控制的外设不会因为系统复位而发生误动作。

⑶P0~P3口输出级的电路结构有所不同。P0口是三态输出,其每个管脚均可以驱动8个LSTTL输入,而P1~P3口的输出级均有上拉电阻,每个管脚可驱动4个LSTTL输入。

⑷每个并行口,可定义一部分管脚为输入脚,另一部分管脚为输出脚,没有使用的管脚可以悬空。 4.简述8051单片机存储器的组织结构和片内RAM的空间分配。

答:8051单片机的存储器包括程序存储器和数据存储器,从用户使用的角度可分为三个逻辑地址空间: ⑴片内、片外统一编址的64KB程序存储器地址空间0000H~FFFFH; ⑵64KB的外部数据存储器或扩展I/O口地址空间0000H~FFFFH;

⑶256B的片内数据存储器地址空间00H~FFH(包括低128B的内部RAM地址00H~7FH和高128B的特殊功能寄存器地址空间,21个SFR离散地分布在这个区域)。

内部RAM共有128个单元,根据用途可划分为工作寄存器区、位寻址区和通用RAM区,各区域的特性如下:

⑴工作寄存器区(00H~1FH) 寄存器区32个单元共分4个组,每个组有8个8位的寄存器R0~R7。 在任何时刻,四个组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定。

⑵ 位寻址区( 20H~2FH)共16个单元,每个单元有8个位,每个位都有一个位地址,编号为00H~7FH,位寻址区的16个单元也可以按字节寻址,作为一般的内部RAM使用。

⑶ 通用RAM区(30H~7FH) 这部分存储空间作为一般的内部RAM区或堆栈区,CPU只能按字节方式寻址。

5. 8051单片机有哪些特殊功能寄存器?各在单片机中的哪些功能部件中?

答: 8051单片机有21个8位的特殊功能寄存器(SFR),它们的地址离散地分部在内部数据存储器的80H~FFH地址空间。

在8051单片机结构中,21个SFR在物理上是分散在片内各功能部件中:

⑴ CPU的中SFR:Acc、B、PSW、SP和DPTR(16位寄存器,由DPH和DPL组成);

⑵ 定时/计数器单元中的寄存器:TMOD、TCON、T0(16位寄存器,由TH0和TL0组成)和T1(16位寄存器,由TH1和TL1组成);

⑶ 并行I/O口寄存器:P0、P1、P2和P3; ⑷ 中断系统内的寄存器:IE和IP;

⑸ 串行端口中的寄存器:SCON、SBUF和PCON。 6.程序计数器PC有何作用?是否属于SFR,为什么?

答:程序计数器PC是一个16位的专用寄存器,用来存放即将要执行的指令地址,可对64KB的程序存储器直接寻址。它具有自动加1功能,当CPU要取指令时,PC的内容送地址总线上,从存储器中取出指令后,PC内容则自动加1,指向下一条指令,从而保证程序按顺序执行。PC虽然也是CPU内部的一个寄存器,但它在物理结构上是独立的,没有地址,是不可寻址的,用户无法对它进行直接读写,不属特殊功能寄存器。

7.什么叫堆栈?堆栈指针SP的作用是什么?8051单片机堆栈的最大容量是多少字节?

答:堆栈是按照“先进后出,后进先出”的原则来存取数据的一个内部RAM区域,这个存储器区域的一端是固定的(栈底),另一端是活动的(栈顶),每个存储单元是不能按字节任意访问的。

堆栈指针SP始终指向栈顶单元,栈顶随着数据入栈和出栈上下浮动。 8051单片机堆栈的最大容量是128字节

8.8051单片机的程序存储器和数据存储器可以有相同的地址,而单片机在对这两个存储区的数据进行操作时,不会发生错误,为什么?

答:对于不同的存储地址空间,8051单片机采用不同的存取指令和控制信号: CPU访问片内、外ROM时,采用“MOVC”指令,外部ROM用PSEN选通;访问外部RAM或扩展I/O口时,采用“MOVX”指令,由RD(读)信号和WR(写)信号选通;访问片内RAM和特殊功能寄存器时,采用“MOV”指令。因此,尽管程序存储器地址和数据存储器地址空间重叠,但不会发生混乱。

9.8051单片机是如何确定和改变当前工作寄存器组?

答:在任何时刻,8051单片机的四个工作寄存器组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定,如表所示。

当前工作寄存器组的选择

RS1 0 0 1 1 RS0 0 1 0 1 被选寄存器组 0组 1组 2组 3组 寄存器R0~R7的地址 00H~07H 08H~0FH 10H~17H 18H~1FH 根据需要,用户可以利用传送指令或位操作指令改变RS1和RS0的内容来选择不同的工作寄存器组。 10.单片机复位后,CPU使用了哪一组工作寄存器?工作寄存器R0~R7对应的单元地址是什么? 答:单片机复位后,RS1和RS0都为0,CPU选中第0组作为当前工作寄存器组,工作寄存器R0~R7对应的单元地址是00H~07H。

11.程序状态字寄存器PSW的作用是什么?常用标志位有哪些位?作用是什么?

答:PSW是一个8位的特殊功能寄存器,由一些标志位组成,用于存放程序运行中的各种状态信息。它可以进行位寻址,各位的定义如下:

位 位名称

D7 Cy D6 AC D5 F0 D4 RS1 D3 RS0 D2 OV D1 — D0 P Cy:进位标志位。在进行加(或减)法运算时,若操作结果的最高位(D7位)有进位(或借位)时,Cy由硬件置1,否则Cy清0。在进行位操作时,Cy又是位累加器,指令助记符用C表示。

AC:辅助进位标志位。在进行加(或减)运算时,若操作结果的低半字节(D3位)向高半字节产生进位(或借位)时,AC位将由硬件自动置1,否则AC位清0。

F0:用户标志位。用户根据需要对F0置位或复位,作为软件标志。

RS1和RS0:工作寄存器组选择控制位。由用户用软件改变RS1和RS0的状态,以选择内RAM中的哪组工作寄存器为当前工作寄存器组。

OV:溢出标志位。当进行补码运算时,运算结果超出-128~+127范围时,产生溢出,则OV自动置1,否则OV清0。

PSW.1:保留位。8051中未定义。

P:奇偶校验标志位。每条指令执行完后,该位始终跟踪累加器A中1的数目的奇偶性。如果A中有奇数个1,则P=1;否则P=0。

12.8051单片机的晶体振荡器频率为6MHz,则它一个机器周期为多少微秒?

答:机器周期是指CPU完成某一个规定操作所需的时间,8051单片机的一个机器周期包含6个状态,并依次表示为S1~S6,每个状态分为2个节拍。因此一个机器周期包含12个时钟周期(振荡周期),依次表示为:S1P1、S1P2、S2P1、?、S6P1、S6P2。

当fosc=6MHz时,机器周期T=12×(1/6MHz)=2μs

13.8051单片机复位后寄存器PC、A、PSW、SP 、P0~P3的状态各是什么?复位后内部RAM中的数据有何影响?