单片机原理及应用习题答案--(第三版)..pdf

上传人:tbuqq 文档编号:4942950 上传时间:2020-01-16 格式:PDF 页数:7 大小:84.53KB
返回 下载 相关 举报
单片机原理及应用习题答案--(第三版)..pdf_第1页
第1页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机原理及应用习题答案--(第三版)..pdf》由会员分享,可在线阅读,更多相关《单片机原理及应用习题答案--(第三版)..pdf(7页珍藏版)》请在三一文库上搜索。

1、第一章习题参考答案 1-1 :何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、 I/O接口电路和相应实时控 制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1) 两者都有CPU ,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、 计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业, 并行处理、多级高速缓冲(Cache) 技术等。 CPU的主频达到数百兆赫兹(MHz),字长普遍达到 32 位。单片机主要面向控制,控制中的数据类型及

2、数据处理相对简单,所以单片机的数据 处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如, 现在的单片机 产品的 CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范 围内 ; 在一些简单应用系统中采用4 位字长的CPU ,在中、小规模应用场合广泛采用8 位字 长单片机,在一些复杂的中、大规模的应用系统中才采用16 位字长单片机, 32 位单片机产 品目前应用得还不多。 (2) 两者都有存储器, 但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的 存取速度。 现今微机的内存容量达到了数百兆字节(MB), 存储体系采用多体、并读技术和段、 页等

3、多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的 总线上, CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都 为 64 KB。 (3) 两者都有I/O 接口,但通用微机中I/O 接口主要考虑标准外设( 如 CRT 、标准键盘、鼠 标、打印机、硬盘、光盘等) 。用户通过标准总线连接外设,能达到即插即用。单片机应用 系统的外设都是非标准的,且千差万别, 种类很多。 单片机的I/O 接口实际上是向用户提供 的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路 设计技术。 另外,单片机的微处理器(CPU)、存储器、 I/

4、O接口电路集成在一块芯片上,而通用微 机的微处理器 (CPU)、存储器、 I/O 接口电路一般都是独立的芯片 1-4 IAP 、ISP 的含义是什么? ISP:In System Programable ,即在系统编程。用户可以通过下载线以特定的硬件时序 在线编程(到单片机内部集成的FLASH上) ,但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable ,即在应用编程。用户可以通过下载线对单片机进行 在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比, 结构上有哪些主要特点? (1)单片机的程序存储器和数据存储

5、器是严格区分的,前者为ROM ,后者为RAM ; (2)采用面向控制的指令系统,位处理能力强; (3)I/O 引脚通常是多功能的; (4) 产品系列齐全,功能扩展性强; (5) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51 单片机有哪些主要系列产品? (1)Intel 公司的 MCS-51 系列单片机:功能比较强、价格比较低、较早应用的单片 机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL 公司的89 系列单片机:内含Flash 存储器,开发过程中可以容易地进 行程序修改。有8 位 Flash 子系列、 ISP_Flash 子系列、 I2C_

6、Flash 子系列; (3)SST 公司的 SST89 系列单片机: 具有独特的超级Flash 技术和小扇区结构设计, 采用 IAP 和 ISP 技术; (4)PHILIPS 公司的增强型80C51 系列单片机:其产品类型较完整,包括通用型、 Flash 型、 OTP 型和低成本型, 主要产品系列包括P80、 P87、 P89、 LPC76、 LPC900 等。 第二章习题参考答案 2-1 51 单片机内部包含哪些主要逻辑功能部件? (1)一个 8 位微处理器CPU。 (2)256B 数据存储器RAM 和特殊功能寄存器SFR。 (3)4K 程序存储器ROM 。 (4)两个定时 /计数器,用以对

7、外部事件进行计数,也可用作定时器。 (5)四个 8 位可编程的I/O(输入 /输出)并行端口,每个端口既可做输入,也可做输出。 (6)一个串行端口,用于数据的串行通信 (7)1 个可管理5 个中断源、 2 级优先嵌套的中断管理系统;。 (8)片内振荡器及时钟发生器。 2-2 MCS-51 引脚中有多少I/O 总线 ?它们和单片机对外的地址总线和数据总线有什么关系? 地址总线和数据总线各是几位? 32 条 I/O 口线,分为4 组,每组 8 条,称为 P0P3 口,P0 口有 8 位数据总线和地址总 线的低8 位, P2 口有地址总线的高8 位,因此单片机的地址总线位是16 位,寻址空间为 64

8、KB ,数据总线位宽为8 位。同时在 P3 口还 R/W 控制信号线。 I/O 口线的总数与地址总线 和数据总线没有多大联系,只是说地址总线和数据总线需要占用一定的端口。像 AT89C2051 单片机,只有15 条 I/O 口线( P3.6 没有引出,作为内部使用),分为 P1 口( 8 位)和 P3 口 (7 位) ,没有所谓的地址总线和数据总线,并且P1 口并不完整,因为P1.0 和 P1.1 被电压 比较器占用了。 2-3 51 单片机的EA, ALE,PSEN 信号各自功能是什么? EA:为片外程序存储器选用端,该引脚有效 (低电平 )时,只选用片外程序存储器,否则单片机 上电或复位后

9、选用片内程序存储器。 ALE :地址锁存有效信号输出在访问片外程序存储器期间,ALE 以每机器周期两次进行信号 输出 ,其下降沿用于控制锁存P0 输出的低8 位地址 ;在不访问片外程序存储器期 间,ALE 端仍以上述频率(振荡频率fosc的 1/6)出现 ,可作为对外输出的时钟脉冲或用于 定时目的 . PSEN:片外程序存储器读选通信号输出端,低电平有效。 2-4 51 系列单片机有哪些信号需要芯片引脚的第二功能方式提供? P3.0 :RxD 串行口输入端 P3.1 :TxD 串行口输出端 P3.2 :INT0 外部中断 0 请求输入端,低电平有效 P3.3 :INT1 外部中断 1 请求输入

10、端,低电平有效 P3.4 :T0 定时 /计数器0 技术脉冲输入端 P3.5 :T1 定时 /计数器1 技术脉冲输入端 P3.6 :WR 外部数据存数器写选通信信号输出端,低电平有效 P3.7 :RD 外部数据存数器读选通信信号输出端,低电平有效 2-551 系列单片机的程序状态字PSW 中存放什么信息?其中的OV 标志位在什么情况下 被置位?置位是表示什么意思? PSW 是一个 8 位标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。 1)做加法时,最高位,次高位之一有进位则OV 被置位 2)做减法时,最高位,次高位之一借位则OV 被置位 3)执行乘法指令MUL AB ,积大于2

11、55,OV=1 4)执行除法指令DIV AB ,如果 B 中所放除数为0 ,OV=1 0V=1 ,置位反映运算结果超出了累加器的数值范围 2-9 片内 RAM 低 128 单元划分为哪几个区域?应用中怎么样合理有效的使用? 工作寄存器区,位寻址区,数据缓冲区 工作寄存器区用于临时寄存8位信息, 分成 4 组,每组有 8 个寄存器, 每次只用1 组,其 他各组不工作 位寻址区(20H2FH ) ,这16 个单元的每一位都赋予了一个位地址,位地址范围为 00H7FH ,位寻址区的每一位都可能当作软件触发器,由程序直接进行位处理。 由于工作寄存器区,位寻址区,数据缓冲区统一编址,使用同样的指令访问,

12、因此这三个 区既有自己独特的功能,又可统一调度使用,前两个已未使用的单元也可作为一般的用户 RAM 单元。 2-10 51 系列单片机的堆栈与通用微机中的堆栈有何异同?在程序设计时,为什么要对堆 栈指针 SP重新赋值? 堆栈是按先进后出或后进先出的远侧进行读/写的特殊 RAM 区域 51 单片机的堆栈区时不固定的,可设置在内部RAM 的任意区域内 当数据压入堆栈时,SP的内容自动加1,作为本次进栈的指针,然后再存取数据SP的值 随着数据的存入而增加,当数据从堆栈弹出之后,SP的值随之减少,复位时,SP 的初值为 07H,堆栈实际上从08H 开始堆放信息, 即堆栈初始位置位于工作寄存器区域内,所

13、以要重 新赋值 2-13 什么是时钟周期,机器周期和指令周期?当振荡频率为6MHZ时,一条双周期指令 的执行时间是多少? 时钟周期: 2 个 CPU 振荡脉冲信号的周期 机器周期:一个机器周期包含6 个状态周期 指令周期:执行一条指令所占用的全部时间 12MHZ 时,一条双周期指令周期时间为2us 6MHZ 时,一条双周期指令周期时间为4us 2-14 定时器 /计数器定时与计数的内部工作有何异同? 定时工作模式和技术工作模式的工作原理相同,只是计数脉冲来源有所不同: 处于计数器工作模式时,加法计数器对芯片端子T0(P3.4) 或 T1(P3.5) 上的输入脉冲计数; 处于定时器工作模式时,加

14、法计数器对内部机器周期脉冲计数。 2-15 定时器 /计数器有四种工作方式,它们的定时与计数范围各是多少?使用中怎样选择工 作方式 ? 工作方式0:定时范围:18192us;计数值范围:18192 工作方式1:定时范围:165536us;计数值范围:165536 工作方式2:定时范围:1256us;计数值范围:1256 工作方式3:定时范围:1256us;计数值范围:1256 通过 TMOD 来选择,低4 位用于定时器 /计数器 0,高 4 位用于定时器 /计数器 1 M1,M0 :定时器计数器工作方式选择位 2-16 定时器 /计数器的门控方式与非门控方式有何不同?使用中怎么样选择哪种工作

15、方式?初值应设置为多少(十六进制)? GATE :门控位,用于控制定时器/计数器的启动是否受外部中断请求信号的影响。 GATE=1,则定时器 /计数器 0 的启动受芯片引脚INT0(P3.2) 控制,定时器 /计数器 1的启 动受芯片引脚INT1(P3.3) 控制 GATE=0,则定时器 /计数器的启动与引脚INT0 、INT1 无关,一般情况下GATE=0 2-1851 单片机的五个中断源中哪几个中断源在CPU 响应中断后可自动撤除中断请求, 哪几个不能撤除中断请求?CPU 不能撤除中断请求的中断源时,用户应采取什么措施? 可自动撤除:计数器T0T1 的溢出中断 不可自动撤除:电平触发的外部

16、中断;发送接收中断 1)电平触发的外部中断:由于CPU 对 INTx 引脚没有控制作用,也没有相应的中断 请求标志位,因此需要外接电路来撤除中断请求信号。 2)串行口的发送/接收中断:当串行口发送完或接收完一帧信息时,SCON 的 TI,RI 向 CPU 申请中断,响应中断后,接口电路不能自动将TI 或 RT 清 0,用户需采用软件 方法将 TI 或 RT 清 0,来撤除中断请求信号 2-21 使单片机复位有几种方式?复位后单片机的初始状态如何? 上电复位,按钮复位 ( PC)=0000H :程序的初始入口地址为0000H (PSW) =00H :由于 RS1(PSW.4)=0,RS0(PSW

17、.3)=0,复位后单片机选择工作寄存器0 组 (SP)=07H: 复位后堆栈早起片内RAM 的 08H 单元处建立 TH1、TL0 、TH0、TL0: 他们的内容为00H,定时器 /计数器的初值为0 (TMOD )=00H: 复位后定时器 /计数器 T0、T1 定时器方式0,非门控方式 (TCON )=00H:复位后定时器/计数器 T0、T1 停止工作, 外部中断0、1 为电平触发方 式 (T2CON) =00H :复位后定时器/计数器 T2 停止工作 (SCON)=00H:复位后串行口工作在移位寄存器方式,且禁止串行口接收 (IE)=00H:复位后屏蔽所有中断 (IP)=00H:复位后所有中

18、断源都直指为低优先级 P0P3:锁存器都是全1 状态,说明复位后4 个并行接口设置为输入口 2-23 51 单片机串行口有几种工作方式?这几种工作方式有何不同?各用于什么场 合? 有 4 种工作方式:方式0、方式 1、方式 2、方式 3 工作方式:方式0 移位寄存器方式;方式 1、方式 2、方式 3 都是异步通信方式 场合:方式0 不用于通信,而是通过外接移位寄存器芯片实现扩展I/O 口的功能;方式 1 用于双机通信;方式2、3 主要用于多机通信,也可用于双机通信 第三章参考答案 3-1 何谓寻址方式?51 单片机有哪几种寻址方式?这几种方式是如何寻址的? 所谓寻址方式,就是CPU 执行那个一

19、条指令时怎样找到该指令所要求的操作数的方 式。 1)立即寻址:操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分 与操作码一起存放在程序存储器中,可以立即得到并执行,例如:MOVA,#30H 指 令中 30H 就是立即数。这一条指令的功能是执行将立即数30H 传送到累加器A 中的操 作。 2)寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地 址。例如MOV A,R0 ,即将 R0寄存器的内容送到累加器A中。 3)寄存器间接寻址方式:由指令指出某一寄存器的内容作为操作数地址的寻址方法,例 如: MOV A , R1 ,将以工作寄存器R1中的内容为地址的片内RA

20、M单元的数据传送到A 中去。 4)直接寻址:指令中直接给出操作数所在的存储器地址,以供取数或存数的寻址方式 称为直接寻址。例如:MOV A ,40H 指令中的源操作数就是直接寻址,40H 为操作数 的地址。该指令的功能是把片内RAM 地址为 40H 单元的内容送到A 中 5)变址寻址:基地址寄存器加变址寄存器间接寻址 6)相对寻址:相对寻址是以当前程序计数器PC 值加上指令中给出的偏移量rel,而构 成实际操作数地址的寻址方法。它用于访问程序存储器,常出现在相对转移指令中。 7)位寻址: 位寻址是在位操作指令中直接给出位操作数的地址,可以对片内RAM 中的 128 位和特殊功能寄存器SFR 中

21、的 93 位进行寻址。 3-2 访问片内、片外程序存储器有哪几种寻址方式? 采用基址寄存器加变址寄存器间接寻址方式 MOVC A,A+DPTR MOVC A,A+PC 3-3 访问片内RAM 单元和特殊功能寄存器各有哪几种寻址方式? 访问片内RAM 有:立即寻址,寄存器寻址,寄存器间接寻址,直接寻址 特殊功能有:直接寻址 3-4 若要完成以下的数据传送,应如何用51 的指令来完成。 (1)R0 的内容送到R1 中。 MOV A, R1 MOV R0,A (2)外部 RAM 的 20H 单元内容送R0,送内部RAM 的 20H 单元。 MOV DPTR,#0020H MOVX A,DPTR MO

22、V R0,A 3-5试比较下列每组两条指令的区别 1)MOV A,#24 与 MOV A,24H 2)MOV A,R0 与 MOV A,R0 3)MOV A,R0 与 MOVX A,R0 4)MOV A,R1 与 MOVX A,DPTR 1)前者为立即寻址,将立即数24H 单元的内容送到A 中;后者为直接寻址,将24H 单元的片内RAM 内容送到A 中。 2)前者为直接寻址,将R0 单元的内容送到A 中,后者为寄存器间接寻址,将R0 中 的内容为地址的片内RAM 单元的数据送到A 中。 3)前者为寄存器间接寻址,将R0 中的内容为地址的片内RAM 单元的数据送到A; 后者为寄存器间接寻址,将R

23、0 中的内容为地址的片外RAM 单元的数据送到A 中。 4)用 R1 做地址指针可寻址片内RAM 的 256 个单元, 但能访问 SFR 块,也可 8 位地 址访问片外RAM 的低 256 个地址单元 ( 00ffH ) ;用 DPTR 做地址指针, 用于访问片外 RAM 的 64KB 范围 (0000ffffH) (16 位) 。 3-6 已知( A) = 7AH , ( B)= 02H , ( R0) = 30H, ( 30H)= A5H , ( PSW)=80H, 写出以下各条指令执行后A 和 PSW 的内容。 (1)XCH A, R0 (A) =30H,(PSW)=00H,(R0)=

24、7AH , (2)XCH A, 30H (A)=A5H,(PSW)=00H (3)XCH A, R0 (A)=A5H,(PSW)=00H (4)XCHD A, R0 (A)=75H,(PSW)=01H (5)SWAP A ( A)=A7H,(PSW)=01H (6)ADD A, R0 (A)=AAH,(PSW)=00H (7)ADD A, 30H (A) =1FH,(PSW)=81H (8)ADD A, #30H (A)=AAH,(PSW)=00H (9)ADDC A, 30H (A)=20H,(PSW)=01H (10)SUBB A, 30H (A)=D5H,(PSW)=85H (11) S

25、UBB A, #30H ( A) =4AH,(PSW)=01H (12)INC R0 (A)=7AH,(PSW)=80H ; (13)MUL AB (14)DIV AB 3-7 已知( A)=02H, (R1)=7FH, ( DPTR) =2FFCH, (SP)=30H, 片内 RAM ( 7FH)=70H,片外 RAM (2FFEH)=11H,ROM (2FFEH)=64H,试分别 写出以下指令执行后目标单元的结果。 1)MOVX DPTR,A 2)MOVX A,R1 3)MOVC A,A+DPTR 4)PUSH ACC 1) (2FFEH)=02H 2) (A)=70H 3) (A)=(

26、02H+2FFCH )=(2FFEH )=64H 4)(31H)=02H 3-9 DA A 指令有什么作用?怎样使用? 这条指令是进行BCD 码运算时,跟在ADD 或 ADDC 指令之后,将相加后存放在 累加器中的结果进行修正。 修正的条件和方法为: 若( A03)9 或( AC)=1,则( A0 3)+06H( A0 3) ; 若( A47)9 或( CY)=1,则( A4 7)+06H( A4 7) 。 若以上二条同时发生,或高4 位虽等于9 ,但低 4 位修正后有进位,则应加66H 修正。 3-9 设( A)=83H, (R0)=17H, (17H)=34H,分析当执行下面的每条指令后目

27、标单元 的内容,及4 条指令组成的程序段执行后A 的内容是什么? ANL A,#17H ;与 ORL 17H,A ;或 XRL A,R0 ;异或 CPL A ;取反 ANL A,#17H 10000011 与 00010111 = 0000 0011 ORL 17H,A 00110100 或 00000011 = 0011 0111 XRL A,R0 00110111 异或0000 0011 = 0011 0100 CPL A A 1100 1000 CBH 3-10 请写出达到下列要求的逻辑操作的指令,要求不得改变未涉及位的内容 1)使累加器A 的低位置 1 2)清累加器A 的高 4 位 3

28、)使 A.2 和 A.3 置 1 4)清除 A.3、A.4 、A.5、A.6 SETB ACC.1; ANL A,#0FH; ORL A,#00001100B ANL A,#10000111B 3-11 指令 LJIMP addr16 与 AJMP addr11 的区别是什么? LJIMP addr16 是长转移,LCALL的作用就是将addr16 直接赋给PC AJMP addr11,在当前PC 的 2KB 范围跳转(因为addr11 就是 2KB ) , 即 PC 高 五位不变,低十一位等于addr11。 3-12 试说明指令CJNE R1, #7AH , 10H 的作用。若本条指令地址为2500H,其 转移地址是多少? 当前地址2500H。执行该指令后PC 为 2503H,加上 10H 后,目标地址是2513H。 3-13 下面执行后(SP)=42H, (A) = 40H, (B) =40H , 并解释每条指令的作用。 ORG 2000H ;起始地址为2000H MOV SP,#40H ; (SP)=40H MOV A,#30H ; (A)=30H LCALL 2500H ;调用 2500H 子程序 ADD A,#10H ; (A)( A)+10, (A)=40H MOV B,A ; (B)=40H HERE:SJMP HERE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1