新编单片机原理与应用课后答案汇总.doc

上传人:h**** 文档编号:432113 上传时间:2018-10-05 格式:DOC 页数:18 大小:112KB
下载 相关 举报
新编单片机原理与应用课后答案汇总.doc_第1页
第1页 / 共18页
新编单片机原理与应用课后答案汇总.doc_第2页
第2页 / 共18页
新编单片机原理与应用课后答案汇总.doc_第3页
第3页 / 共18页
新编单片机原理与应用课后答案汇总.doc_第4页
第4页 / 共18页
新编单片机原理与应用课后答案汇总.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、习题一参考答案 1-1 假设某 CPU含有 16 根地址线, 8 根数据线,那么该 CPU的最大寻址能力为多少KB? 答: CPU的最大寻址能力为: K64222 61016 1-2 在计算机里,一般具有哪三类总线?请说出各自的特征 (包括传输的信息类型、单向传输还是双向传输 )。 答: 1、数据总线,双向,输入输出数据信息; 2、地址总线,单向,输出地址信息; 3、控制总线,具体到某一根控制线为单向,输入或者输出控制信息; 1-3 MCS-51 系列单片机 时钟周期、机器周期与 指令周期这三者关系如何? CISC 指令系统 CPU所有指令周期是否均相同? 答:时钟周期即为振荡周期,由外接晶振

2、频率或外部输入的时钟频率决定,机器周期由12 个时钟周期(或 6 个)构成,指令周期由 1 4 个机器周期构成;指令周期因具体指令不同而不同; 1-4 计算机字长的含义是什么? MCS-51 单片机的字长是多少? 答:计算机字长是指 CPU一次能够处理的信息位长度; MCS-51 单片机的字长是 8 位。 1-5 ALU单元的作用是什么?一般能完成哪些运算操作? 答: ALU 单元的作用是进行算术逻辑运算;算术运算主要是加 、减、乘、除,逻辑运算主要是与、或、非、异或等。 1-6 CPU内部结构包含了哪几部分?单片机 (MCU)芯片与通用微机 CPU有什么异同? 答: CPU主要包括算术逻辑单

3、元 ALU、控制单元 CU 和内部寄存器;单片机 (MCU)芯片是在通用 CPU的基础上增加存储器、定时器 /计数器、通信接口以及各种接口电路等构成。 1-7 在单片机系统中常使用哪些存储器? 答:包括程序存储器 ROM 和数据存储器 RAM。 1-8 指令由哪几部分组成? 答:一般由操作码和操作数组成,部分指令只有操作码而无操作数。 1-9、什 么是汇编语言指令?为什么说汇编语言指令比机器语言指令更容易理解和记忆?通过什么方式可将汇编语言程序转化为机器语言程序? 答:【 1】用助记符表示的指令 【 2】因为在汇编语言指令中每条操作码、操作数都是用特定符号表示;而机器语言中的操作码和操作数均用

4、二进制表示,没有明显特征 【 3】可通过专门的软件或手工查表方式 1-10、汇编语言程序和汇编程序这两个术语的含义是否相同? 答:两者含义不同; 1.汇编语言程序指由汇编语言指令构成的程序; 2.汇编程序指将完成汇编语言指令转换为机器语言指令的程序 1-11、什么是寻址方式?对于双操作数指令来说,为什么不需要指定操作结果存放位置? 答:【 1】确定指令中操作数所在存储单元地址的方式 【 2】在现代计算机系统中,对于双操作数指令,一般将指令执行后的结果放在第一个操作数(即目标操作数),这样可以减少指令码的长度 1-12、指出下列指令中每一操作数的寻址方式? 答:【 1】目标操作数为寄存器寻址,源

5、操作数为立即数寻址 【 2】目标操作数为直接寻址,源操作数为寄存器寻址 【 3】目标操作数为直接寻址,源操作数为直接寻址 【 4】目标操作数为直接寻址,源操作数为寄存器间接 寻址 【 5】寄存器寻址 注:在单片机中,问到指令的寻址方式,既要答目标操作数的寻址方式,也要答源操作数的寻址方式,这与微机不同,请切记! 1-13、单片机的主要用途是什么?新一代 8 位单片机芯片具有哪些主要技术特征?列举目前应用较为广泛的 8 位、 32 位单片机品种。 答:【 1】数值计算,能实时监测系统的输入量,控制系统的输出量,从而实现自动控制功能,主要面向工业控制等 【 2】可参考 23 页 【 3】可参考 2

6、122 页 习题二参考答案 2-1 80C54、 80C32、 87C54、 89C54 CPU 有什么不同?在由 80C32 芯片组成的应用系统中引脚是如何连接的?为什么要这样连接? 答:略 2-2 8XC5X,如 89C52 单片机内部含有哪几类存储器?各自的容量分别是多少? 答:包括程序存储器 8K和数据存储器 256B。 2-3 8XC5X 系列 CPU 共有多少根 I/O 引脚?在什么情况下,不能将 P0 口作为通常意义上的输入 /输出引脚使用? 答:共有 I/O 引脚 32 根;在 P0 作为地址数据总线端口使用时就不能作为普通 I/O 口使用。 2-4 简述 P1 口的内部结构。

7、为什么将 P1 口引脚作为输入引脚使用前,一定要向 P1口锁存器 相应位写入 “1”? 答:主要由两个三态门、一个 D 型锁存器、一个 MOS 管和一个上拉电阻构成; P1 作为输入引脚使用时一定要先写入“ 1”,其目的是使内部 MOS 管处于截止状态,避免 MOS管对输入信号构成影响。 2-5 根据 8XC5X 系列 CPU P1 P3 口结构,如果用 P1.x 引脚驱动 NPN 三极管,则最大集电极电流 ICMAX 为多少? (假设取 100)。 答:假设内部上拉电阻的阻值为 K20 ,三极管发射结正向导通电压为 V7.0 ,则: 基极电流: mAK VIB 215.020 7.05 集电

8、极电流: mAmAII BC 5.212 1 5.0*1 0 0 2-6 地址 /数据分时复用的含义是什么? 8XC5X P0 口与存储器,如 62256 相连时,两者之间需要接什么功能的芯片,才能锁存低 8 位地址信息?试画出 8XC5X与 SRAM 62256芯片 (作数据存储器使用 )之间的连接图。 答:地址 /数据分时复用是指总线既可作为数据线,也可作为地址线,但是具体到某一时刻只能作为数据线或者地址线;与 62256 相连时,在存储芯片和单片 机芯片之间必须加锁存芯片,如 74LS373 等,用来锁存低 8 位地址信息; 连接电路图(见课本,略) 2-7 8XC5X 单片机 CPU

9、复位后,使用了哪一工作寄存器区?其中 R1 对应的物理存储单元地址是什么? 答: 8XC5X 单片机 CPU 复位后,使用了工作寄存器区 0;此时 R1 对应的物理存储单元的地址为 01H。 2-8 如果希望工作寄存器组中 R0 对应的物理存储单元为 10H,请写出系统复位后,实现这一要求的指令。 答: SETB CS1 CLR CS0 2-9 说出访问下列寄存器或存储空间可以使用的寻址方 式,并举例: (1) 8XC5X 系列内部 RAM 前 128 字节。 答:直接和寄存器间接寻址。 (2) 8XC52/54/58 系列内部 RAM 后 128 字节。 答:寄存器间接寻址 (3) 特殊功能

10、寄存器。 答:直接寻址。 (4) 外部数据存储器。 答:寄存器间接寻址 2-10 8XC5X CPU 的机器周期与时钟周期是什么关系?如果晶振频率为 12 MHz,则一个机器周期是多少微秒? 答: 1)、 12 个时钟周期构成 1 个机器周期。 2)、 1uS 2-11 8XC5XX2 CPU的机器周期与时钟周期是什么关系?为什 么说当 CKCON 寄存器为 01H时,时钟频率为 6 MHz 的 8XC5XX2 系统运行速度与时钟频率为 12 MHz 的 8XC5X系统的运行速度相同? 答:可以选择“机器周期 /12 时钟”或“机器周期 /6 时钟”。当 CKCON 寄存器为 01H时,时钟频

11、率为 6 MHz 的的 8XC5XX2 机器周期为: uSMHz 16 6 。而时钟频率为 12 MHz的 8XC5X 系统的机器周期为: uSMHz 11212 。 2-12 在晶振输出端 X2 引脚应观察到什么样的波形?当晶振频率 较低时,如何使 X2引脚输出为理想状态下的波形? 答:方波。 2-13 分析 MCS-51 写外部数据存储器写时序,说明为什么可使用 74LS573 或 74LS373芯片扩展 MCS-51 的输入口,而不能扩展输出口。请画出使用两片 74LS373 芯片扩展 MCS-51的输入口、使用两片 74LS237 扩展输出口的电路图 (假设系统中无需扩展外部存储器 )

12、。 答:使用边沿触发器作为输出锁存器时可以可靠的锁存输出数据。 2-14 8XC5X CPU复位后内部 RAM各单元的内容是否改变?程序计数器 PC的值是什么? 答:否。此时 PC=0000H. 2-15 MCS-51 单片机通过什么指令读 /写外部数据存储器?通过什么引脚选通外部数据存储器? 答:使用 MOVX 读写外部数据存储器。通过 RD 或者 WR . 2-16 画出由一片 80C32 CPU、一片 27128 EPROM 和一片 6264 SRAM 组成的单片机应用系统,要求给出有关信号的连接以及各自存储空间的地址范围。 答:略 2-17 在图 2-7 所示的电路中,假设驱动引脚为

13、P1.0,则执 行了如下程序段后,累加器Acc 的内容为什么?这又说明了什么? SETB P1.0 JB P1.0, NEXT1 MOV A, #0AAH SJMP EXIT NEXT1: MOV A, #55H EXIT: NOP 答: Acc 的内容为 AAH。因为 JB P1.0, NEXT1 是根据 P1.0 的电平进行判断转移,如果P1.0 引脚的电平为高则转移。因为三极管导通时 P1.0 引脚被钳位到低电平。 习题三参考答案 3-1 MCS-51 内部 RAM低 128 字节支持哪些寻址方式?请写出用不同寻址方式 将内部RAM 30H 单元信息传送到累加器 A的指令或程序片段;内部

14、 RAM 高 128 字节支持哪些寻址方式?请写出将内部 RAM 80H单元内容传送到累加器 A的指令或程序片段。 答:略: 3-2 简述 “RET”与 “RETI”指令的区别。 答: 1) RET 是子程序返回指令, RETI 是中断服务程序返回指令; 2) RETI 在返回时会清除有关中断标志位,而 RET 不具有此功能。 3-3 指出下列指令中每一操作数的寻址方式。 (1) MOV 40H, A (2) MOV A, R0 (3) MOVX DPTR, A (4) MOVC A, A DPTR (5) ADD A, #23H (6) PUSH Acc (7) MOV P1, 32H (8

15、) MOV C, P1.0 (9) INC P0 (10) DEC R2 (11) SJMP EXIT 答:略 3-4 执行 “CJNE A, #60, NEXT”指令后,寄存器 A中的内容是否被改变?请验证。 答:否。 3-5 写出实现下列要求的指令或程序片段,并在仿真机上验证。 (1) 将内部 RAM 20H单元内容与累加器 A相加,结果存放在 20H单元中。 答: ADD A, 20H MOV 20H, A (2) 将内部 RAM 80H 单元内容与内部 RAM 31H单元内容相加,结果存放到内部 RAM 的 31H单元中。 答: MOV R0, #80H MOV A, R0 ADD A

16、, 31H MOV 31H, A (3) 将内部 RAM 20H 单元内容传送到外部 RAM 20H单元中。 答: MOV A, 20H MOV DPTR, #0020H MOVX DPTR, A (4) 将程序状态字寄存器 PSW 内容传送到外部 RAM 的 0D0H单元中。 答: MOV A, PSW MOV DPTR, #00D0H MOVX DPTR, A (5) 将内部 RAM 08H 7FH单元,共 120 字节传送到以 8000H 为首地址的外部 RAM中。 答: MOV DPTR, #8000H MOV R0, #08H MOV R2, #120 LOOP: MOV A, R0

17、 MOVX DPTR, A INC R0 INC DPTR DJNZ R2, LOOP END (6) 将外部 RAM 8000H 0803FH单元,共 64 字节传送到以 40H为首地址的内部 RAM中。 答: MOV DPTR, #8000H MOV R0, #40H MOV R2, #64 LOOP: MOVX A, DPTR MOV R0, A INC DPTR INC R0 DJNZ R2, LOOP END (7) 将外部 RAM 8000H 0807FH单元,共 128 字节传送到以 0000H 为首地 址的外部RAM 中。 答: AURX1 EQU 0A2H ;注意要自己定义

18、MOV DPTR, #8000H INC AUXR1 MOV DPTR, #0000H INC AUXR1 MOV R0, #128 LOOP: MOVX A, DPTR INC DPTR INC AUXR1 MOVX DPTR, A INC DPTR INC AUXR1 DJNZ R0, LOOP END (8) 将存放在内部 RAM 的 40H、 41H和外 部 RAM 的 8000H、 8001H的 16 位二进制数相加,结果存放在内部 RAM 的 40H和 41H单元中 (假设低位字节存放在低地址中 )。 答: MOV DPTR, #8000H MOVX A, DPTR ;注意使用 M

19、OVX 指令,下同 ADD A, 40H MOV 40H, A INC DPTR MOVX A, DPTR ADDC A, 41H MOV 41H, A END (9) 如果 0 9 七段数码显示器对应的字模码 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH存放在 1000H为首地址的程序存储器中,写出将数字 4 对应的字模码输出到外部 RAM 3003H 单元 (即扩展 I/O 端口地址 )的程序段。 答: MOV DPTR, #1000H MOV A, #4 MOVC A, A+DPTR ;注意使用 MOVC 指令 MOV DPTR, #3

20、003H MOVX DPTR, A ;注意使用 MOVX 指令 ORG 1000H DB 03FH,06H,5BH,4FH,55H,66H,6DH,6DH,07H,7FH,6FH END (10) 将内部 RAM 01H 0FFH 单元内容清零。 答: MOV R0, #01H LOOP: MOV R0, #0 INC R0 CJNE R0, #0FFH, LOOP END (11) 我国 FSK来电显示采用单数据消息格式,其中第 0 字节为消息类型 (固定为 04,即单数据消息格式标志 ),随后的一个字节为消息体长度,消息体内的消息字包括了来电日期(月、日 )与时间 (时、分 )(8 个字节

21、 )及主叫号码,最后一个字节为校验信息 (校验算法可概括为:从消 息类型字节到主叫号码最后一个字节按 256 模式累加和,再求补码 )。试写出相应的校验程序片段 (假设来电信息从内部 RAM 30H单元开始存放 )。 答: (12) 使内部 RAM 20H单元的 b7、 b3 位清零, b6、 b2 位置 1, b4、 b0 位取反,其他位不变。 答: SETB 20H.6 ;如果给定的地址不在 20H2FH 之间,则不能用位寻址 SETB 20H.2 CLR 20H.7 CLR 20H.3 CPL 20H.4 CPL 20H.0 (13) 将 IPH寄存器的 b7、 b5 位清零, b2、

22、b0 位置 1,其他位不变。 答: IPH EQU 0B7H MOV A, IPH ANL A, #01011111B ORL A, #00000101B MOV IPH, A END (14) 将内部 RAM 30H单元乘 4(假设 30H单元内容不超过 63)。 答: MOV 30H, #4 MOV A, 30H RL A RL A MOV 30H, A END (15) 将存放在内部 RAM 40H、 41H和外部 RAM 8000H、 8001H的四位 BCD 码相加,结果存放在内部 RAM 40H、 41H、 42H单元中 (假设低位字节存放在低地址中,高位字节存放在高地址中 )。

23、答: MOV DPTR, #8000H MOVX A, DPTR CLR C ADD A, 40H DA A MOV 40H, A INC DPTR MOVX A, DPTR ADDC A, 41H DA A MOV 41H, A MOV 42H, C END (16) 将立即数 32H传送到内部 RAM 30H单元中。 答: MOV 30H, #32H (17) 将立即数 32H传送到内部 RAM 88H单元中。 答: MOV R0, #88H MOV R0, 32H END (18) 将 Acc.3 位送 Acc.0 位。 答: MOV C, ACC.3 MOV ACC.0, C END

24、(19) 用 MCS-51 位指令,实现 0.11.12.13.1 PPPP 的逻辑运算。 答: MOV C, P1.3 ANL C, /P1.2 MOV 20H.0, C ;暂存 MOV C, P1.1 ORL C, P1.0 CPL C ORL C, 20H.0 END 3-6 假设 4 位 BCD 码压缩存放在 R3、 R2 中,试编写 BCD 减 1 的程序段,并在仿真机上验证。 答: ;相当于 WXYZ+10000-1=WXYZ+9999 CLR C; MOV A, R2 ADD A, #99 DA A MOV R2, A MOV A, R3 ADDC A, #99 DA A MOV

25、 R3, A END 3-7 利用双 DPTR 功能,将存放在程序存储区内的数表 (共计 16 字节,首地址为DATATAB)传送到以 4000H为首地址的外部 RAM 中。 答: AUXR1 EQU 0A2H MOV DPTR, #DATATAB INC AUXR1 MOV DPTR, #4000H MOV R7, #16 ;16 个字节 MOV A, #0 ;最开始的位置 LOOP: MOV R6, A ;暂存 A的值 MOVC A, A+DPTR ;注意用 MOVC,同时职能用 A做变址寄存器 INC DPTR MOVX DPTR, A ;注意使用 MOVX 指令 MOV A, R6 I

26、NC DPTR I INC A ;A的值增 1,指向下一个字节 DJNZ R7, LOOP DATATAB: DB 01H,02H, 03H,04H, 01H,02H,03H,04H END 3-8 将存放在 R3、 R2 中的三位压缩 BCD 码转换为二进制形式。 答: 三位 BCD 码 999 MAIN: MOV A, R2 ANL A, #0F0H SWAP A MOV B, #10 MUL AB MOV B, A /存放十位 MOV A, R2 ANL A, #0FH ADD A, B /加个位 MOV R2, A /暂存 / MOV A, R3 ANL A, #0FH MOV B,

27、#100 MUL AB / ADD A, R2 / MOV R2, A / MOV A, B / ADDC A, #0 MOV R3, A 3-9 将存放在 R2 中不超过十进制 99 的二进制数转换为压缩 BCD 码,结果存放在 R2中。 答: MOV A, R2 MOV B, #10 DIV AB SWAP A ORL A,B MOV R2,A 3-10 在 32 位除 16 位的多位除法运算中,如果已知除数在 8000H FFFFH之间,为缩短运算时间,是否需要扩展被除数?请写出相应的程序段。 答:不需要,因为 32 位二进制( FFFFFFFFH)表示的最大十进制数为 4294967295,除以 80000HFFFFH 之间的数,其结果 =1FFFFH(注:“ 1”存放在进位位 ),所以用 32 位已经

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

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

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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