李全利版单片机原理与接口技术课后习题答案.docx

上传人:h**** 文档编号:154898 上传时间:2018-07-12 格式:DOCX 页数:22 大小:307.82KB
下载 相关 举报
李全利版单片机原理与接口技术课后习题答案.docx_第1页
第1页 / 共22页
李全利版单片机原理与接口技术课后习题答案.docx_第2页
第2页 / 共22页
李全利版单片机原理与接口技术课后习题答案.docx_第3页
第3页 / 共22页
李全利版单片机原理与接口技术课后习题答案.docx_第4页
第4页 / 共22页
李全利版单片机原理与接口技术课后习题答案.docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、 - 1 - 章 1 绪 论 1 第一台计算机的问世有何意义? 答: 第一台电子数字计算机 ENIAC 问世,标志着计算机时代的到来。与现代的计算机相比, ENIAC 有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。 2计算机由哪几部分组成? 答: 由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为 CPU。 3微型计算机由哪几部分构成? 答: 微型计算机由微处理器、存储器和 I/O 接口电路构成。各部分通过地址总线( AB)、数据总线( DB)和控制总线( CB)相连。 4微处理器与微型计算机有何区别? 答: 微处理器集成了运算

2、器和控制器(即 CPU);而微型计算机包含微处理器、存储器和 I/O 接口电路等 。 5什么叫单片机?其主要特点有哪些? 答: 在一片集成电路芯片上集成微处理器、存储器、 I/O 接口电路,从而构成了单芯片微型计算机,即单片机。单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。 6 微型计算机有哪些应用形式?各适于什么场合? 答: 微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。 多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。 单板机, I/O 设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统

3、,现在已很少使用。 单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。 7当前单片机的主要产品有哪些?各有何特点? 答: 多年来的应用实践已经证明, 80C51 的系统结构合理、技术成熟。因此,许多单片机芯片生产厂商倾力于提高 80C51 单片机产品的综合功能,从而形成了 80C51 的主流产品地位,近年来推出的与 80C51 兼容的主要产品有: ATMEL 公司融入 Flash 存储器技术推出的 AT89 系列单片机; Philips 公司推出的 80C51、 80C552 系列

4、高性能单片机; 华邦公司推出的 W78C51、 W77C51 系列高速低价单片机; ADI 公司推出的 AD C8xx 系列高精度 ADC 单片机; LG 公司推出的 GMS90/97 系列低压高速单片机; Maxim 公司推出的 DS89C420 高速( 50MIPS)单片机; Cygnal 公司推出的 C8051F 系列高速 SOC 单片机等 。 - 2 - 8简述单片机的开发过程。 答: 系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行。 9单片机应用系统开发方法有哪些新方法? 答: 在系统编程( ISP)技术,在应用编程( IAP)技术。 章 2 80C51 的结构和原理 1

5、80C51 单片机在功能上、工艺上、程序存储器的配置上有哪些种类? 答: 功能上分为基本型和增强型; 工艺上分为 HMOS 工艺和 CHMOS 工艺; 在片内程序存储器的配置上有掩膜 ROM、 EPROM 和 Flash、无片内程序存储器形式 。 2 80C51 单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点? 答: 采用哈佛结构, 在物理上设计成程序存储器和数据存储器两个独立的空间 ; 80C51 基本型单片机 片内程序存储器为 4KB, 地址范围是 0000H-0FFFH,用于存放程序或常数; 片内数据存储器为 128 字节 RA

6、M, 地址范围是 00H-7FH, 用于存放运算的中间结果、暂存数据和数据缓冲;另外在 80H-FFH 还配有 21 个 SFR。 3 80C51 单片机的 P0P3 口在结构上有何不同?在使用上有何特点? 答: 作为通用 I/O 口时, P0、 P1、 P2 和 P3 都是准双向口。 P0 可以作为地址 /数据总线,此时是一个真正的双向口; P2 口可以作为地址线的高 8 位; P3 口是双功能口,每条口线还具有不同的第二功能。 另外, P0 口的驱动能力为 8 个 TTL 负载,而其它口仅可驱动 4 个 TTL 负载 。 4 如果 80C51 单片机晶振频率分别为 6 MHz、 11.05

7、92 MHz、 12MHz 时,机器周期分别为多少? 答: 机器周期分别为 2 s, 1.085 s, 1 s。 5 80C51 单片机复位后的状态如何?复位方法有几种? 答: 复位后, PC 内容为 0000H, P0 口 P3 口内容为 FFH, SP 内容为 07H, SBUF 内容不定, IP、 IE 和 PCON 的有效位为 0,其余的特殊功能寄存器的状态均为 00H。复位方法一种是上电复位,另一种是上电与按键均有效的复位 。 6 80C51 单片机的片内、片外存储器如何选择? 答: 80C51 的 EA引脚为访问片内、片外程序存储器的选择端。访问片内、片外数据存储器需要采用不同的指

8、令加以区分 . 7 80C51 单片机的 PSW 寄存器各位标志的意义如何? 答: - 3 - CY:进位、借位标志。有进位 、借位时 CY=1,否则 CY=0; AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位); F0:用户标志位,由用户自己定义; RS1、 RS0:当前工作寄存器组选择位; OV:溢出标志位。有溢出时 OV=1,否则 OV=0; P:奇偶标志位。存于 ACC 中的运算结果有奇数个 1 时 P=1,否则 P=0。 8 80C51 单片机的当前工作寄存器组如何选择? 答: 当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器 PSW 的 RS1、 RS0 来决

9、定。 9 80C51 单片机的控制总线信号有哪些?各信号的作用如何? 答: RST/VPD:复位信号输入引脚 /备用电源输入引脚; ALE/PROG:地址锁存允许信号输出引脚 /编程脉冲输入引脚; EA/VPP:内外存储器选择引脚 /片内 EPROM(或 FlashROM)编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。 10 80C51 单片机的程序存储器低端的几个特殊单元的用途如何? 答: 0000H:单片机复位入口地址; 0003H:外部中断 0 的中断服务程序入口地址; 000BH:定时 /计数器 0 溢出中断服务程序入口地址; 0013H:外部中断 1 的中断服务程序入口

10、地址; 001BH:定时 /计数器 1 溢出中断服务程序入口地址; 0023H:串行口的中断服务程序入口地址。 章 3 80C51 的指令系统 1 80C51 系列单片机的指令系统有何特点? 答: 执行时间短。 1 个机器周期指令有 64 条, 2 个机器周期指令有 45 条,而 4 个机器周期指令仅有 2 条(即乘法和除法指令); 指令编码字节少。单字节的指令有 49 条,双字节的指令有 45 条,三字节的指令仅有 17 条; 位操作指令丰富。这是 80C51 单片机面向控制特点的重要保证 2 80C51 单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 答: 80C51

11、单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。 这些寻址方式所对应的寄存器和存储空间如下表所示。 序号 寻址方 式 寄存器或存储空间 1 寄存器寻址 寄存器 R0R7, A、 AB、 DPTR 和C(布尔累加器) 2 直接寻址 片内 RAM 低 128 字节、 SFR 3 寄 存 器间 接 寻址 片内 RAM( R0, R1, SP) 片外 RAM( R0, R1, DPTR) 4 立即寻址 ROM 5 变址寻址 ROM( A DPTR, A PC) - 4 - 6 相对寻址 ROM( PC 当前值的 127 12

12、8字节) 7 位寻址 可寻址位(内部 RAM20H2FH 单元的位和部分 SFR 的位) 3访问特殊功能寄存器 SFR 可以采用哪些寻址方式? 答: 直接寻址和位寻址方式。 4访问内部 RAM 单元可以采用哪些寻址方式? 答: 直接寻址、寄存器间接寻址和位寻址方式 。 5访问外部 RAM 单元可以采用哪些寻址方式? 答: 寄存器间接寻址 。 6访问外部程序存储器可以采用哪些寻址方式? 答: 立即寻址、变址寻址和相对寻址方式。 7为什么说布尔处理功能是 80C51 单片机的重要特点? 答: 单片机指令系统中的布尔指令集、存储器中的位地址空间与 CPU 中的位操作构成了片内的布尔功能系统,它可对位

13、( bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器( PSW)中的进位标志 Cy 作为位操作的“累加器”。 8对于 80C52 单片机内部 RAM 还存在高 128 字节,应采用何种方式访问? 答: 寄存器间接寻址方式。 9试根据指令编码表写出下列指令的机器码。 ( 1) MOV A, #88H-74H, 88H ( 2) MOV R3, 50H-ABH,50H ( 3) MOV P1, #55H-75H,90H,55H ( 4) ADD A, R1-27H ( 5) SETB 12H-D2H,12H 10完成某种操作可以

14、采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。 ( 1)将 R0 的内容传送到 R1; ( 2)内部 RAM 单元 60H 的内容传送到寄存器 R2; ( 3)外部 RAM 单元 1000H 的内容传送到内部 RAM 单元 60H; ( 4)外部 RAM 单元 1000H 的内容传送到寄存器 R2; ( 5)外部 RAM 单元 1000H 的内容传送到外部 RAM 单元 2000H。 答: ( 1) MOV A,R0 MOV R1,A - 5 - ( 2) MOV R2,60H ( 3) MOV DPTR,#1000H MOVX A,DPTR MOV 60H,A ( 4)

15、MOV DPTR,#1000H MOVX A,DPTR MOV R2,A ( 5) MOV DPTR,#1000H MOVX A,DPTR MOV DPTR,#2000H MOVX DPTR, A 11若( R1) =30H,( A) =40H,( 30H) =60H,( 40H) =08H。试分析执行下列程序段后上述各单元内容的变化。 MOV A, R1 MOV R1, 40H MOV 40H, A MOV R1, #7FH 答: ( R1) =7FH ( A) =60H ( 30H) =08H ( 40H) =60H 12若( A) =E8H,( R0) =40H,( R1) =20H,(

16、 R4) =3AH,( 40H) =2CH,( 20H) =0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出 CY、 AC、和 OV 的值。 ( 1) MOV A, R0 ( 2) ANL 40H, #0FH ( 3) ADD A, R4 ( 4) SWAP A ( 5) DEC R1 ( 6) XCHD A, R1 答: ( 1)( A) =2CH ( 2)( 40H) =0CH ( 3)( A) =22H,( CY) =1,( AC) =1,( OV) =0 ( 4)( A) =8EH ( 5)( 20H) =0EH, P=1 ( 6)( A) =E

17、FH,( 20) =08H 13若( 50H) =40H,试写出执行以下程序段后累加器 A、寄存器 R0 及内部 RAM 的 40H、 41H、 42H 单元中的内容各为多少? MOV A, 50H MOV R0, A MOV A, #00H MOV R0, A MOV A, #3BH - 6 - MOV 41H, A MOV 42H, 41H 答: ( A) =3BH,( R0) =40H,( 40H) =00H,( 41H) =3BH,( 42H) =3BH。 14试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 ( 1)使 ACC.0 置位; ( 2)清除累加器高 4 位;

18、 ( 3)清除 ACC.3, ACC.4, ACC.5, ACC.6。 答: ( 1) SETB ACC.0 ( 2) ANL A,#0FH ( 3) ANL A,#87H 15试编写程序,将内部 RAM 的 20H、 21H、 22H 三个连续单元的内容依次存入 2FH、 2EH 和 2DH 单元。 答: MOV 2FH, 20H MOV 2EH, 21H MOV 2DH, 22H 16试编写程序,完成两个 16 位数的减法: 7F4DH 2B4EH,结果存入内部 RAM 的 30H 和 31H 单元, 30H单元存差的高 8 位, 31H 单元存差的低 8 位。 答: CLR CY MOV

19、 30H, #7FH MOV 31H, #4DH MOV R0, #31H MOV A, R0 SUBB A , #4E MOV R0, A ;保存低字节相减结果 DEC R0 MOV A, R0 SUBB A, #2BH MOV R0, A ;保存高字节相减结果 17试编写程序,将 R1 中的低 4 位数与 R2 中的高 4 位数合并成一个 8 位数,并将其存放在 R1 中。 答: MOV A, R2 ANL A, #0F0H ORL R1, A 18试编写程序,将内部 RAM 的 20H、 21H 单元的两个无符号数相乘,结果存放在 R2、 R3 中 , R2中存放高 8 位, R3 中存

20、放低 8 位。 答: MOV A, 20H MOV B, 21H MUL AB - 7 - MOV R3, A MOV R2, B 19若( CY) =1,( P1) =10100011B,( P3) =01101100B。试指出执行下列程序段后, CY、 P1 口及 P3 口内容的变化情况。 MOV P1.3, C MOV P1.4, C MOV C, P1.6 MOV P3.6, C MOV C, P1.0 MOV P3.4, C 答: ( CY) =1, ( P1) =10111011B, ( P3) =00111100B 章 4 80C51 的汇编语言程序设计 1 80C51 单片机汇

21、编语言有何特点? 答: 汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知。 但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。 2利用 80C51 单片机汇编语言进行程序设计的步骤如何? 答: 一、任务分析 首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。 二、算法设计 经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述

22、,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。 三、流程描述 程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图 上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。 流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节 。 3常用的程序结构有哪几种?特点如何? 答: 顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存

23、放顺序进行的; 分支程序:可以改变程序的执行顺序; 循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。 4 子程序调 用时,参数的传递方法有哪几种? 答: 利用累加器或寄存器; - 8 - 利用存储器; 利用堆栈。 5 什么是伪指令?常用的伪指令功能如何? 答: 伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括: ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址; END,功能是结束汇编; DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据; DW,功能是从标号指定的地址单元开始

24、,在程序存储器中定义字数据空间; EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名; BIT,功能是将位地址赋给指定的符号名。 6设被加数存放在内部 RAM 的 20H、 21H 单元,加数存放在 22H、 23H 单元,若要求和存放在 24H、 25H中,试编写出 16 位无符号数相加的程序(采用大端模式存储)。 答:程序如下: ORG 0000H MOV R0, 21H MOV R1, 23H MOV A,R0 ADD A,R1 MOV 25H,A DEC R0 DEC R1 MOV A,R0 ADDC A,R1 MOV 24H,A SJMP $ END 7 编写程序,

25、把外部 RAM 中 1000H101FH 的内容传送到内部 RAM 的 30H4FH 中。 答: ORG 0000H MOV DPTR,#1000H MOV R0,#30H MOV R7,#32 LOOP:MOVX A,DPTR MOV R0,A INC R0 INC DPTR DJNZ R7,LOOP RET 8 编写程序,实现双字节无符号数加法运算,要求 ( R0R1) +( R6R7)( 60H61H)。 答: ORG 0000H MOV A,R1 - 9 - ADD A,R7 MOV 61H,A MOV A,R0 ADDC A,R6 MOV 60H,A SJMP $ END 9 若 8

26、0C51 的晶振频率为 6MHz,试计算延时子程序的延时时间。 DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH DJNZ R6,$ DJNZ R7,LP RET 答:延时时间: 2s*1+(( 1+2*250+2) *246)+2+2=0.247486 秒(含调用指令 2 个机器周期) 10 在内部 RAM 的 30H37H 单元存有一组单字节无符号数。要求找出最大数存入 BIG 单元。试编写程序实现。 答: ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH START:MOV R7,#7 ;比较次数 MOV R0,#30H

27、 LOOP:MOV A,R0 MOV ONE,A INC R0 MOV TWO,R0 CLR C SUBB A,R0 JC NEXT ;ONE 小, TWO 大继续比下一对数 MOV R0,ONE ;ONE 大放后面(交换) DEC R0 MOV R0,TWO ;TWO 小放前面 INC R0 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END 11 编写程序,把累加器 A 中的二进制数变换成 3 位 BCD 码,并将百、十、个位数分别存放在内部 RAM的 50H、 51H、 52H 中。 答:单字节 二进制数转换为压缩的 BCD 码仅需要 2 个字节;在将压

28、缩的 BCD 码拆分存于 3 个单元。 org 0 MOV 52H,#0 MOV 51H,#0 - 10 - MOV 50H,#0 MOV A,#0FDh LCALL DCDTH SJMP $ DCDTH:MOV R7,#8 MOV R0,A ;暂存于 R0 LOOP:CLR C MOV A,R0 RLC A MOV R0,A MOV R1,#51H; MOV A,R1 ; ADDC A,R1 ; DA A ; MOV R1,A ; DEC R1 MOV A,R1 ADDC A,R1 DA A MOV R1,A DJNZ R7,LOOP INC R1 ;50H 已是结果, R1 指向 51H, 51H 单元需拆分 MOV A,#00H XCHD A,R1 MOV 52H,A MOV A,R1 SWAP A MOV R1,A RET END 12 编写子程序,将 R1 中的 2 个十六进制数转换为 ASCII 码后存放在 R3 和 R4 中。 答: ORG 0 MOV R1,#5BH MOV A,R1 ANL A,#0F0H SWAP A ACALL ASCII MOV R3,A MOV A,R1 ANL A, #0FH ACALL ASCII MOV R4, A SJMP $

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。