单片机课后习题答案讲述_第1页
单片机课后习题答案讲述_第2页
单片机课后习题答案讲述_第3页
单片机课后习题答案讲述_第4页
单片机课后习题答案讲述_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1习习 题题 答答 案案习题 01单片机是把组成微型计算机的各功能部件即(微处理器(微处理器(CPU)、(存储器(存储器(ROM和和 RAM)、(总线总线)、(定时器定时器/计数器计数器)、(输入输入/输出接口(输出接口(I/O 口)口)及(中断系中断系统统)等部件集成在一块芯片上的微型计算机。2什么叫单片机?其主要特点有哪些?将微处理器(CPU) 、存储器(存放程序或数据的 ROM 和 RAM) 、总线、定时器/计数器、输入/输出接口(I/O 口) 、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的

2、控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。3. 单片机有哪几个发展阶段?(1)第一阶段(19741976 年):制造工艺落后,集成度低,而且采用了双片形式。典型的代表产品有 Fairchild 公司的 F8 系列。其特点是:片内只包括了 8 位 CPU,64B 的RAM 和两个并行口,需要外加一块 3851 芯片(内部具有 1KB 的 ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。(2)第二阶段(19771978 年):在单片芯片内集成 CPU、并行口、定时器/计数器、RAM 和 ROM 等功能部件,但性能低,品种少,应用范

3、围也不是很广。典型的产品有 Intel公司的 MCS-48 系列。其特点是,片内集成有 8 位的 CPU,1KB 或 2KB 的 ROM,64B 或128B 的 RAM,只有并行接口,无串行接口,有 1 个 8 位的定时器/计数器,中断源有 2 个。片外寻址范围为 4KB,芯片引脚为 40 个。(3)第三阶段(19791982 年): 8 位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行 I/O 口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了 8 位的 CPU,4KB 或 8KB 的 R

4、OM,128B 或 256B 的 RAM,具有串/并行接口,2 个或 3 个 16 位的定时器/计数器,有 57 个中断源。片外寻址范围可达 64KB,芯片引脚为 40 个。代表产品有 Intel 公司的 MCS-51 系列,Motorola 公司的 MC6805 系列,TI 公司的 TMS7000 系列,Zilog 公司的 Z8 系列等。(4)第四阶段(1983 年至今): 16 位单片机和 8 位高性能单片机并行发展的时代。16 位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专用语言,其特点是,片内包括了 16 位的 CPU,8KB 的 ROM,232B

5、的 RAM,具有串/并行接口,4 个 16 位的定时器/计数器,有 8 个中断源,具有看门狗(Watchdog) ,总线控制部件,增加了 D/A 和 A/D 转换电路,片外寻址范围可达 64KB。代表产品有 Intel 公司的 MCS-96 系列,Motorola 公司的 MC68HC16 系列,TI 公司的 TMS9900 系列,NEC 公司的 783系列和 NS 公司的 HPC16040 等。然而,由于 16 位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能、大容量和多功能的新型 8 位单片机。近年来出现的 32 位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Mot

6、orola 公司的 M68300 系列和 Hitachi(日立)公司的 SH 系列、ARM 等。4在实际应用中,如何选择单片机的类型?选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。MCS-51 为主流产品。Motorola 是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。Microchip 单片机是市场份额增长较快的单片机。它的主要产品是 PIC 系列 8 位单片机。其特点是运行速度快,低价位,适用于量大、档次低、价格敏感的产品。 美国德州仪器(TI)公司生产的 MSP430 系列单片机是一种特

7、低功耗的 Flash 微控制2器。主要用于三表及超低功耗场合。 在嵌入式系统低端的单片机领域,Intel 公司的 MCS-51 形成了既具有经典性又不乏生命力的一个单片机系列。许多半导体厂家、电器公司以 MCS-51 系列中的 8051 为基核,推出了许多兼容性的 CHMOS 单片机-80C51 系列。 此外,还有 Zilog、EM78、Senix、NEC、Epson、NS、三星、富士通、华邦、Philips、ARM 等单片机。5试比较 MCS-51, MSP430, EM78, PIC, M6800 及 AVR 等系列单片机的特点。 MCS-51 为主流产品。 MSP430 的功能较强。是一

8、种特低功耗的 Flash 微控制器。主要用于三表及超低功耗场合。 EM78 系列单片机采用高速 CMOS 工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-OPTION 功能、I/O 唤醒功能、多功能 I/O 口等。具有优越的数据处理性能,采用 RISC 结构设计。PIC 系列 8 位单片机是 Microchip 公司的产品。CPU 采用 RISC 结构,运行速度快,价格低适于用量大、档次低、价格敏感的产品。 Motorola 是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。 AVR 是增强 RISC

9、内载 Flash 的单片机,单片机内部 32 个寄存器全部与 ALU 直接连接,突破瓶颈限制,每 1MHz 可实现 1MIPS 的处理能力,为高速、低功耗产品。端口有较强的负载能力,可以直接驱动 LED。支持 ISP、IAP,I/O 口驱动能力较强。6举例说明生活中应用单片机的例子。生活中单片机无处不在:如洗衣机的控制主板、太阳能的温度控制器,电动车的控制器,电磁炉、 (高级)电冰箱的控制系统、手机、电视遥控器、空调、洗衣机、微波炉、冰箱、热水器、电子称、电子表、计算器、汽车钥匙、可视门禁、公交车报站器、公交车刷卡器、红绿灯控制器等等。欧美日等国家,一个家庭中所拥有的单片机数量平均到 100-

10、120 颗。单片机有着广泛的应用领域 :(1) 单片机在智能仪器仪表中的应用; (2) 单片机在工业测控中的应用; (3) 单片机在计算机网络和通讯技术中的应用;(4) 单片机在日常生活及家电中的应用; (5) 单片机在办公自动化方面。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物、自动控制领域的机器人、智能仪表、医疗器械等等。1MCS51 单片机是

11、基于(Harvard(哈佛)(哈佛) )结构的,其特点是(程序存储器和数据存储程序存储器和数据存储器是分开的器是分开的) 。2. CPU 由(运算器运算器)和(控制器控制器)组成。3. 若不使用 MCS-51 片内程序存储器,引脚(EA)必须接地.。4. 在 MCS-51 单片机中,如果采用 6MHz 晶振,一个机器周期为(2us) 。5. 8051 内部 RAM 位寻址区的单元地址范围为(20H2FH) ,其位地址范围为3(00H7FH) 。6. 8051 芯片的引脚可以分为三类:(电源线电源线) 、 (端口线端口线)和(控制线控制线) 。7. 若 A 中的内容为 63H,那么,P 标志位的

12、值为(0) 。8. 8031 单片机复位后,R4 所对应的存储单元的地址为(04H) ,因上电时 PSW=(00H) 。这时当前的工作寄存器区是(0)组工作寄存器区。9. 8051 型单片机内部有( A )的 ROM。A:4KB B:6KB C:256B D:8KB10. MCS-51 上电复位后,SP 的内容应是( B ) 。A:00H B:07H C:60H D:70H11. PC 用来存放( C ) 。A:指令 B:上一条的指令地址 C:下一条的指令地址 D:正在执行的指令地址12. 采用 8031 单片机必须扩展( B ) 。A:数据存储器 B:程序存储器 C:I/O 接口 D:显示接

13、口13. PSW=18H 时,则当前工作寄存器是( D ) 。A:0 组 B:1 组 C:2 组 D:3 组14MCS-51 系列单片机在片内集成了哪些主要逻辑功能部件?各个逻辑部件的主要功能是什么?MCS-51 单片机在片内集成了中央处理器(CPU) 、程序存储器(ROM) 、数据存储器(RAM) 、定时器/计数器、并行 I/O 接口、串行 I/O 接口、中断系统等几大单元。CPU 是整个单片机的核心部件,由运算器和控制器组成。运算器可以完成算术运算和逻辑运算,其操作顺序在控制器控制下进行。控制器是由程序计数器 PC(Program Counter) 、指令寄存器 IR(Instructio

14、n Register) 、指令译码器 ID(Instruction Decoder) 、定时控制逻辑和振荡器 OSC 等电路组成。CPU 根据 PC 中的地址将欲执行指令的指令码从存储器中取出,存放在 IR 中,ID 对 IR 中的指令码进行译码,定时控制逻辑在 OSC 配合下对 ID 译码后的信号进行分时,以产生执行本条指令所需的全部信号。程序存储器(ROM)用于存储程序、常数、表格等。数据存储器(RAM)用于存储数据。8051 内部有两个 16 位可编程序的定时器/计数器 T0 和 T1,均为二进制加 1 计数器。可用于定时和对外部输入脉冲的计数。8051 的中断系统主要由中断允许控制器

15、IE 和中断优先级控制器 IP 等电路组成。可实现对 5 个中断源的管理。8051 的中断系统主要由中断允许控制器 IE 和中断优先级控制器IP 等电路组成。其中,IE 用于控制 5 个中断源中哪些中断请求被允许向 CPU 提出,哪些中断源的中断请求被禁止;IP 用于控制 5 个中断源的中断请求的优先权级别。I/O 接口是 MCS-51 单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。可分为串行和并行 I/O 接口。中断系统用于处理中断过程。15. MCS-51 系列单片机的引脚中有多少根 I/O 线?它们与单片机对外的地址总线和数据总线之间有什么关系

16、?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大?80C51 单片机有 4 个 I/O 端口,每个端口都是 8 位双向口,共占 32 根引脚。每个端口都包括一个锁存器(即专用寄存器 P0P3) 、一个输入驱动器和输入缓冲器。通常把 4 个端口称为 P0P3。在无片外扩展的存储器的系统中,这 4 个端口的每一位都可以作为双向通用 I/O 端口使用。在具有片外扩展存储器的系统中,P2 口作为高 8 位地址线,P0 口分时作为低 8 位地址线和双向数据总线。对外可寻址空间为 64KB。16. 8051 单片机的控制总线信号有哪些?各有何作用?控制线一共有 6 条:(1)ALE/:地址锁存

17、允许/编程线,配合 P0 口引脚的第二功能使用。在访问片外存PROG储器时,8051CPU 在 P0.7P0.0 引脚上输出片外存储器低位地址的同时在 ALE/上输出一个高电位脉冲,用于把这个片外存储器低位地址锁存到外部专用地址锁PROG存器,以便空出 P0.7P0.0 引脚线去传送随后而来的片外存储器读写数据。在不访问片外4存储器时,8051 自动在 ALE/上输出频率为 fosc/6 的脉冲序列。该脉冲序列可用作外PROG部时钟源或作为定时脉冲源使用。(2)/Vpp:允许访问片外存储器编程电源线,可以控制 8051 使用片内 ROM 还是使EA用片外。若,则允许使用片内 ROM;若则允许使

18、用片外 ROM。EAEA(3):片外 ROM 选通线,在执行访问片外 ROM 的指令 MOVC 时,8051 自动在PSEN上产生一个负脉冲,用于为片外 ROM 芯片的选通。其他情况下线均为高电平PSENPSEN封锁状态。(4)RST/VPD:复位备用电源线,可以使 8051 处于复位工作状态。17. 什么是指令?什么是程序?简述程序在单片机中的执行过程。 指令:人为输入计算机,由计算机识别并执行一步步操作的命令的形式称为指令。程序:一系列指令的有序集合称为程序。程序在计算机中是按序执行的,CPU 通过程序计数器 PC 控制程序的执行顺序,一般情况下程序是按序执行的,当执行转移、调用、返回等指

19、令时,程序转移到相应的目的地址处执行。CPU 根据程序计数器 PC 中的地址将欲执行指令的指令码从存储器中取出,存放在 IR 中,ID 对 IR 中的指令码进行译码,定时控制逻辑在 OSC 配合下对 ID 译码后的信号进行分时,产生执行本条指令所需的全部信号,完成本条指令的执行。18. 8051 单片机的存储器组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?(1)80C51 在结构上的特点80C51 采用将程序存储器和数据存储器截然分开,分别寻址的结构,称为 Harvard 结构。(2)在物理和逻辑上的地址空间存储器上设有 4 个存储器空间:片内程序

20、存储器、片外程序存储器、片内数据存储器、片外数据存储器。在逻辑上有 3 个存储器地址空间:片内、片外统一的 64KB 程序存储器地址空间,片内 256B 数据存储器地址空间,片外 64KB 的数据存储器地址空间。(3)访问格式访问片内 RAM 采用 MOV 格式访问片外 RAM 采用 MOVX 格式19. 8051 片内 RAM 低 128 单元划分为哪三个主要部分?各部分主要功能是什么?片内 RAM 低 128 单元划分及主要功能如下:(1)工作寄存器组(00H1FH)这是一个用寄存器直接寻址的区域,内部数据 RAM 区的 031,共 32 个单元。它是4 个通用工作寄存器组,每个组包含 8

21、 个 8 位寄存器,编号为 R0R7。(2)位寻址区(20H2FH)16 个字节单元,共包含 128 位,这 16 个字节单元既可以进行字节寻址,又可以实现位寻址。主要用于位寻址。(3)堆栈与数据缓冲区(30H7FH)用于设置堆栈、存储数据。20. 8051 单片机的片内、片外存储器如何选择?程序存储器通过/Vpp 引脚选择。若,则允许使用片内 ROM;若EAEAEA则允许使用片外 ROM。数据存储器通过指令区分:访问片内 RAM 采用 MOV 指令,访问片外 RAM 采用MOVX 指令。21. 何为堆栈指针?堆栈操作有何规定?堆栈是一个特殊的存储区。主要功能是暂时存放数据和地址,通常用来保护

22、断点和现场。它的特点是按照“先进后出”的存取数据。堆栈指针 SP 是一个 8 位寄存器,是用于指示堆栈的栈顶地址的寄存器,它决定了堆栈在内部 RAM 中的物理位置。22. 8051 单片机有多少个特殊功能寄存器?这些特殊功能寄存器能够完成什么功能?特殊功能寄存器中的哪些寄存器可以进行位寻址?58051 有 21 个特殊功能寄存器(PC 除外) ,它们被离散地分布在内部 RAM 的80HFFH 地址单元中,共占据了 128 个存储单元,其中有 83 位可以位寻址。特殊功能寄存器 SFR 的分布和功能见下表。特殊功能寄存器功 能 名 称物 理 地 址可否位寻址B寄存器 BF0H可以A(ACC)累加

23、器E0H可以PSW程序状态字(标志寄存器)D0H可以IP中断优先级控制寄存器B8H可以P3P3 口数据寄存器B0H可以IE中断允许控制寄存器A8H可以P2P2 口数据寄存器A0H可以SBUF串行口发送/接收数据缓冲寄存器99H不可以SCON串行口控制寄存器98H可以P1P1 口数据寄存器90H可以TH1T1 计数器高 8 位寄存器8DH不可以TH0T0 计数器高 8 位寄存器8CH不可以TL1T1 计数器低 8 位寄存器8BH不可以TL0T0 计数器低 8 位寄存器8AH不可以TMOD定时器/计数器方式控制寄存器89H不可以TCON定时器控制寄存器88H可以PCON电源控制寄存器87H不可以D

24、PH数据指针寄存器高 8 位83H不可以DPL数据指针寄存器低 8 位82H不可以SP堆栈指针寄存器81H不可以P0P0 口数据寄存器80H可以23. DPTR 是什么寄存器?它的作用是什么?数据指针 DPTR 是 16 位的专用寄存器,它由两个 8 位的寄存器 DPH(高 8 位)和DPL(低 8 位)组成。专门用来寄存片外 RAM 及扩展 I/O 口进行数据存取时的地址。编程时,既可以按 16 位寄存器来使用,也可以按两个 8 位寄存器来使用(即高位字节寄存器DPH 和低位字节寄存器 DPL) 。DPTR 主要是用来保存 16 位地址,当对 64KB 外部数据存储器寻址时,可作为间址寄存器

25、使用, 24. 8051 单片机的 PSW 寄存器各位标志的意义如何?程序状态字 PSW 是 8 位寄存器,用于存放程序运行的状态信息,PSW 中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下:PSW.7(Cy):进位标志位。PSW.6(AC):辅助进位标志位,又称为半进位标志位。PSW.5(F0):用户标志位。PSW.4、PSW.3(RS1 和 RS0):寄存器组选择位。PSW.2(OV):溢出标志位。PSW.1(空缺位):此位未定义。PSW.0(P):奇偶校验位。25. 开机复位后,CPU 使用的是哪组工作寄存器(R0-Rn)?

26、它们的地址是什么?CPU 如何确定和改变当前工作寄存器组(R0-Rn)?开机复位后,CPU 使用的是第组工作寄存器。它们的地址是 00H07H。CPU 通过对程序状态字 PSW 中 RS1 和 RS0 的设置来确定和改变当前工作寄存器组。26. 8051 单片机的片内、片外存储器如何选择?6程序存储器通过/Vpp 引脚选择。若,则允许使用片内 ROM;若EAEAEA则允许使用片外 ROM。数据存储器通过指令区分:访问片内 RAM 采用 MOV 指令,访问片外 RAM 采用MOVX 指令。27. MCS-51 单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为 12MHz 的时候,一个机

27、器周期是多长时间?执行一条最长的指令需要多长时间?时钟周期又称为振荡周期,由单片机内部振荡电路 OSC 产生,定义为 OSC 时钟频率的倒数。时钟周期又称为节拍(用 P 表示) 。时钟周期是时序中的最小单位。一个状态有两个节拍,机器周期定义为实现特定功能所需的时间。MCS-51 的机器周期由 12 个时钟周期构成。执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS-51的指令可能包括 14 个不等的机器周期。当 MCS-51 的主频为 12MHz 时,一个机器周期为 1s。执行一条指令需要的最长

28、时间为 4s。28. 8051 单片机复位后,各寄存器的初始状态如何?复位方法有几种?8051 单片机复位后机器的初始状态,即各寄存器的状态:之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态如下:寄存器复位时内容寄存器复位时内容PC0000TCON0000000BACC00HTL000HB00HTH000HPSW00HTH100HSP07HTH100HDPTR0000HSCON00HP0P3FFHSBUF不确定TMOD000000BPCON00000B单片机复位方法有:上电自动复位,按键电平复位和外部脉冲三种方式。1. 指令格式是由(操作码操作码)和(操作数操作数)所组成,也可能

29、仅由(操作码操作码)组成。2. 在 MCS51 中,PC 和 DPTR 都用于提供地址,但 PC 是为访问(程序程序)存储器提供地址,而 DPTR 是为访问(数据数据)存储器提供地址。3. 在变址寻址方式中,以( A )作变址寄存器,以( DPTR )或( PC )作基址寄存器。4. 假定累加器 A 中的内容为 30H,执行指令 1000H:MOVC A,A+PC 后,把程序存储器( 1031H )单元的内容送入累加器 A 中。5. 8051 执行完 MOV A,#08H 后,PSW 的( D )位被置位。A:C B:F0 C:OV D:P6. 指出下列指令中的源操作数的寻址方式(1)MOV

30、R0,#30H 立即寻址立即寻址(2)MOV A,30H 直接寻址直接寻址(3)MOV A,R0 寄存器间接寻址寄存器间接寻址(4)MOVX A,DPTR 寄存器间接寻址寄存器间接寻址(5)MOVC A,A+DPTR 变址寻址变址寻址(6)MOV P1,P2 直接寻址直接寻址(7)MOV C,30H 位寻址位寻址(8)MUL AB 寄存器寻址寄存器寻址7(9)MOV DPTR,#1234H 立即寻址立即寻址(10)POP ACC 寄存器间接寻址寄存器间接寻址7. 指出下列各指令在程序存储器中所占的字节数(1)MOV DPTR,#1234H 3 字节字节(2)MOVX A, DPTR 1 字节字

31、节(3)LJMP LOOP 3 字节字节(4)MOV R0,A 1 字节字节(5)AJMP LOOP 2 字节字节(6)MOV A,30H 2 字节字节(7)SJMP LOOP 2 字节字节(8)MOV B,#30H 2 字节字节88051 单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如 何?MCS-51 单片机指令系统按功能可分为 5 类: (1)数据传送指令 (2)算术运算指令 (3)逻辑运算和移位指令 (4)控制转移指令 (5)位操作指令 MCS-51 单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表:9访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?

32、 访问特殊功能寄存器,应采用直接寻址、位寻址方式。访问外部数据存储器,应采用寄存器间接寻址方式。在 0255B 范围内,可用寄存器 R0、R1 间接寻址:MOVX A,R0 或 MOVX A,R1MOVX R0,A 或 MOVX R1,A在 064KB 范围内,可用 16 位寄存器 DPTR 间接寻址:MOVX A,DPTRMOVX DPTR,A10“DA A”指令的作用是什么?怎样使用? 这条指令是在进行 BCD 码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD 码的加法运算结果自动进行修正的,使其仍为 BCD 码表达形式。在计算机中,遇到十进制调整指令时,中间结果的修正是由

33、 ALU 硬件中的十进制修正电路自动进行的。用户不必考虑何时该加“6”,使用时只需在上述加法指令后面紧跟一条“DA A”指令即可。11片内 RAM 20H2FH 单元中的 128 个位地址与直接地址 00H7FH 形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作? 寻址方式寻址方式使用的变量使用的变量寻址范围寻址范围立即寻址立即数直接寻址程序存储器 ROM; 内部 RAM 低128 个字节;特殊功能寄存器 SFR位地址空间寄存器寻址R0R7;A、B、DPTR、C四组通用寄存器,A、B、DPTR、CR0、R1、SP内部 RAM寄存器间接寻址R0、R1、DPTR外部 RAM变址寻址A+PC

34、、A+DPTR程序存储器相对寻址PC+偏移量程序存储器位寻址内部 RAM 低 128B 位寻址区可位寻址的特殊功能寄存器 SFR 位8位寻址是直接寻址方式的一种。虽然内部 RAM 位寻址区的位地址范围 00H7FH 与低 128 个单元的单元地址范围 00H7FH 形式完全相同,但是在应用中可以通过以下的方法区分:1.通过指令操作码(指令的类型)区分:位操作只有 17 条指令,位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。MOV C,bit CPL bit (C) JB bit,relMOV bit,C ORL C,bit (/bit) JNB bit,relCLR bit

35、 (C) ANL C,bit (/bit) JC relSETB bit (C) JBC bit,rel JNC rel位操作只有 MOV、 CLR 、SETB、 CPL 、ORL、 ANL 、JB 、JNB、 JBC、 JC、 JNC 几种操作码,其中:JB、JNB、JBC、JC、JNC 是位寻址特有的。2. 当指令操作码一样时,可通过操作数的表现形式来区分。直接位地址的表示方法有:(1)直接使用位地址形式。如:MOV 00H, C(2)字节地址加位序号的形式。如:MOV 20H.0, C(3)位的符号地址(位名称)的形式。如:ANL C, P(4)字节符号地址(字节名称)加位序号的形式。如

36、:CPL PSW.63. 可通过指令中的累加器区分:位操作中的累加器为 C,单元操作中的累加器为 A。12SJMP, AJMP 和 LJMP 指令在功能上有何不同? 指令的转移范围不同。SJMP 是 256B 范围内的相对转移指令,AJMP 是 2KB 范围内的无条件短跳转指令,LJMP是 64KB 范围内的无条件长跳转指令。13在“MOVC A, A+DPTR”和“MOVCA, A+PC”中,分别使用了 DPTR 和 PC 作基址,请问这两个基址代表什么地址? 使用中有何不同? 使用A+DPTR 基址变址寻址时,DPTR 为常数且是表格的首地址,A 为从表格首址到被访问字节地址的偏移量。使用

37、A+PC 基址变址寻址时,PC 仍是下条指令首地址,而 A 则是从下条指令首地址到常数表格中的被访问字节的偏移量。14设片内 RAM 中的(40H)=50H,写出当执行下列程序段后寄存器 A 和 R0,以及片内RAM 中 50H 和 51H 单元的内容为何值?MOV A, 40HMOV R0, AMOV A, #00MOV R0, AMOV A, #30HMOV 51H, A结果为:(A)30H (R0)=50H (50H)00H (51H)30H15设堆栈指针(SP)=60H,片内 RAM 中的(30H)=24H, (31H)=10H。执行下列程序段后,61H, 62H, 30H, 31H,

38、 DPTR 及 SP 中的内容将有何变化?PUSH 30H PUSH 31H POP DPLPOP DPHMOV 30H, #00H MOV 31H, #0FFH解:解:结果为: 61H、62H 单元为堆栈单元,其内容已被弹出栈。 (30H)=00H (31H)=0FFH (DPTR)=2410H(SP)=60H16在8051 的片内RAM 中,已知(20H)=30H, (30H)=40H, (40H)=50H, (50H)9=55H。分析下面各条指令,说明源操作数的寻址方式,分析按顺序执行各条指令后的结果。MOV A, 40HMOV R0, AMOV P1, #0F0HMOV R0, 20H

39、MOV 50H, R0MOV A, R0MOV P2, P1解:解: 指令 源操作数的寻址方式 执行指令后的结果MOV A,40H 直接寻址 (A)=50HMOV R0,A 寄存器寻址 (R0)=50HMOV P1,#80H 立即寻址 (P1)=80HMOV R0,20H 寄存器间接寻址 (50H)=30HMOV DPTR,#2000H 立即寻址 (DPTR)=2000HMOV 40H,30H 直接寻址 (40H)=40HMOV R0,30H 直接寻址 (R0)=40HMOV D0H,R0 直接寻址 (D0H)=40HMOV 10H,#10H 立即寻址 (10H)=10HMOV A,R0 寄存

40、器间接寻址 (A)=50HMOV P2,P1 直接寻址 (P2)=80H17完成以下的数据传送过程(1)R1 的内容传送到 R0。(2)片外 RAM 20H 单元的内容送 R0。(3)片外 RAM 20H 单元的内容送片内 RAM 20H 单元。(4)片外 RAM 1000H 单元的内容送片内 RAM 20H 单元。(5)ROM 2000H 单元的内容送 R0。(6)ROM 2000H 单元的内容送片内 RAM 20H 单元。(7)ROM 2000H 单元的内容送片外 RAM 20H 单元。解解:(1)R1 的内容传送到 R0 ; MOV A, R1 MOV R0, A(2)片外 RAM 20

41、H 单元内容送 R0 ; MOV R1, #20H MOVX A, R1 MOV R0, A(3)片外 RAM 20H 单元的内容送片内 RAM 20H 单元; MOV R0, #20H MOVX A, R0 MOV 20H, A(4)片外 RAM 1000H 单元的内容送片内 RAM 20H 单元; MOV DPTR, #1000H MOVX A, DPTR MOV 20H, A(5)ROM 2000H 单元的内容送 R0 单元; CLR A MOV DPTR, #2000H MOVC A,A+DPTR MOV R0, A(6)ROM 2000H 单元的内容送片内 RAM 20H 单元; C

42、LR A10 MOV DPTR, #2000H MOVC A,A+DPTRMOV 20H, A(7)ROM 2000H 单元的内容送片外 RAM 20H 单元。 CLR A MOV DPTR, #2000H MOVC A,A+DPTR MOV R0, #20H MOVX R0, A18设有两个 4 位 BCD 码,分别存放在片内 RAM 的 23H, 22H 单元和 33H, 32H 单元中,求它们的和,并送入 43H, 42H 单元中去。 (以上均为低位在低字节,高位在高字节) 。解解:ORG 0000HLJMP STARTORG 0030HSTART: MOV A,22HADD A,32H

43、DA AMOV 42H,AMOV A,23HADDC A,33HDA AMOV 43H,ASJMP $ END19编程将片内 RAM 的 40H60H 单元中内容送到片外 RAM 以 3000H 开始的单元中。并将原片内 RAM 数据块区域全部清 0。解解: ORG 0000HLJMP MAINORG 0030HMAIN: MOV SP, #60HMOV R7,#21HMOV R1,#40HMOV DPTR,#3000HLOOP: MOV A,R1MOVX DPTR,A CLR A MOV R1,A INC R1INC DPTRDJNZ R7,LOOPSJMP $END20编程计算片内 RAM

44、 区 30H37H 的 8 个单元中数的算术平均值,结果存放在 3AH 单元中。解解: ORG 0000HLJMP MAINORG 0030HMAIN: MOV R0,#30HMOV R1,#00HMOV R2,#00HMOV R3,#08HLP2:MOV A,R0ADD A,R2MOV R2,AJNC LP1INC R1LP1:INC R0DJNZ R3,LP2MOV R3,#03HCLR CLP3:MOV A,R1RRC AMOV R1,AMOV A,R2RRC AMOV R2,ADJNZ R3,LP3MOV 3AH,R2SJMP $ END21编写计算下式的程序,设乘积的结果均小于 25

45、5。A, B 值分别存放在片外 RAM 的2001H 和 2002H 单元中,结果存于 2000H 单元中。 (AB)(AB)10 若(AB)(AB)10Y= (AB)(AB) 若(AB)(AB)1011(AB)(AB)10 若(AB)(AB)10解:解:ORG 0000HLJMP STARTORG 0030HSTART: MOV DPTR,#2001HMOVX A,DPTRMOV 30H,AMOV DPTR,#2002HMOVX A,DPTRADD A,30HMOV B,AMUL ABMOV R1,ACJNE A,#10,NET1MOV DPTR,#2000HMOVX DPTR,ASJMP

46、NET3NET1:JNC NET2CLR CMOV A,R1SUBB A,#10MOV DPTR,#2000HMOVX DPTR,ASJMP NET3NET2:MOV A,R1ADD A,#10MOV DPTR,#2000HMOVX DPTR,ANET3:SJMP $END22设有两个长度均为 15 的数组,分别存放在片外 RAM 以 2000H 和 2100H 开始的存储区中,试编程求其对应项之和,结果存放在以 2200H 为首地址的存储区中。解解: ORG0000HLJMP MAINORG 0030hMAIN:MOVDPTR,#2000HMOV A,#OFFHMOVX DPTR,AMOV

47、DPTR,#2100HMOV A,#34HMOVXDPTR,AMOV DPTR,#2008HMOV A,#33HMOVX DPTR,AMOV DPTR,#2108HMOV A,#44HMOVXDPTR,AMOV DPTR,#200EHMOV A,#0EEHMOVX DPTR,AMOVDPTR,#210EHMOVA,#32HMOVXDPTR,AMOVDPTR,#2000HMOVR1,#30HMOVR2,#15LOOP:MOVXA,DPTRMOVR1,AINCDPTRINCR1DJNZ R2,LOOPMOV R1,#30HMOV DPTR,#2100HMOV R2,#15MOV R0,#40HLO

48、OP1:MOVX A,DPTRCLRCADDC A,R1MOV R0,AINC DPTR INC R1 INC R0 DJNZ R2,LOOP1MOV DPTR,#2200HMOV R2,#15MOV R0,#40HLOOP2: MOV A,R0MOVX DPTR,A INC R0 INC DPTRDJNZ R2,LOOP2SJMP $ END23设有 100 个有符号数,连续存放在片外 RAM 以 2000H 为首地址的存储区中,试编程统计其中正数、负数、零的个数。解解: ORG 0000HLJMP MAINORG 0030HMAIN: MOV R2,#100MOV R3,#00HMOV R

49、4,#00HMOV R5,#00HMOV DPTR,#2000HLOOP: MOVX A,DPTRCJNE A,#00H,NET1INC R3SJMP NET3NET1:JB ACC.7 NET2INC R412SJMP NET3NET2:INC R5NET3:INC DPTRDJNZ R2,LOOP SJMP $END24试编一查表程序,从外部 RAM 首地址为 2000H、长度为 9FH 的数据块中找出第一个ASCII 码 A,将其地址送到 20A0H 和 20A1H 单元中。解解: ORG0000HLJMPMAINORG0030HMAIN: MOV SP, #60HMOVDPTR,#20

50、00H MOVR7,#9FHLP0: MOVX A,DPTR CJNE A, #41H, LP1 MOVR2,DPL MOVR3,DPH MOVDPTR,#20A0H MOV A, R2 MOVXDPTR,AINC DPTR MOV A, R3 MOVXDPTR,A SJMP LP2LP1: INC DPTRDJNZR7, LP0LP2: RETEND25编程把片外 RAM 中以 2040H 为首地址的连续 50 个单元中的无符号数按降序排列,存放到以 3000H 为首地址的存储区中。解解: ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR,#2040HMOV

51、R2,#50CLR 7FHDEC R2LS:MOVX A,DPTRMOV 20H,AINC DPTRMOVX A,DPTRMOV 21H,AMOV A,20HCJNE A,21H,LOOPLOOP:JNC LOOP1MOV A,20HMOVX DPTR,ADEC DPTRMOV A,21HMOVX DPTR,AINC DPTRSETB 7FHLOOP1: DJNZ R2,LSJB 7FH,MAINSJMP $END26在片外 RAM 以 2000H 为首地址的存储区中,存放着 20 个用 ASCII 码表示的 09 之间的数,试编程将它们转换成 BCD 码,并以压缩 BCD 码(即一个单元存放

52、两位 BCD 码)的形式存放在以 3000H 开始的单元中。解:解: ORG 0000HLJMP MAINORG 0030HMAIN: MOV R2,#0AHMOV R1,#30HMOV DPTR,#2000HTT:MOVX A,DPTRCLR CSUBB A,#30HSWAP AMOV 41H,AINC DPTRMOVX A,DPTRCLR CSUBB A,#30HMOV R1,AMOV A,41HXCHD A,R1MOV R1,AINC R1INC DPTRDJNZ R2,TTMOV DPTR,#3000HMOV R1,#30HMOV R2,#0AHTT1:MOV A,R1MOVX DPT

53、R,AINC R1INC DPTRDJNZ R2,TT1SJMP $END27编程实现将片外RAM 中 2400H2450H 单元中的数传送到2500H2550H 单元中。 解:解: ORG0000HLJMPMAIN13ORG0030HMAIN:MOVDPTR,#2400HMOVA,#07HMOVXDPTR,AMOVDPTR,2450HMOVA,#06HMOVXDPTR,AMOV30H,#24HMOV31H,#00HMOV32H,#25HMOV33H,#00HMOVR2,#51HLOOP:MOVDPH,30HMOVDPL,31HMOVXA,DPTRMOVDPH,32HMOVDPL,33HMOV

54、XDPTR,AINC31HINC33HDJNZR2,LOOPAJMP$END28在片外 RAM 的 2030H 和 2031H 单元中各有一个小于 16 的数,编程求这两个数的平方和,结果存放在 2040H 单元。要求用调用子程序方法实现。解解: ORG 0000HLJMP MAINORG 0030HMAIN: MOV DPTR,#2030HMOV A,#03HMOVX DPTR,AMOV DPTR,#2031HMOV A,#05HMOVX DPTR,AMOV DPTR,#2030HMOVX A,DPTRLCALL SQRMOV R1,AMOV DPTR,#2031HMOVX A,DPTRLC

55、ALL SQRADD A,R1MOV DPTR,#2040HMOVX DPTR,AAJMP $SQR:INC AMOVC A,A+PCRETTAB:DB 0,1,4,9,16,25DB 36,49,64,81,100DB 121,144,169,196,225END习题 31. MCS-51 的 P0 口作为输出端口时,每位能驱动( 8 )个 SL 型 TTL 负载。2. MCS-51 有( 4 )个并行 I/O 口,在作为通用 I/O 口使用时 P0P3 是准双向口,所以由输出转输入时必须先写入 ( 1 ) 。3. MCS-51 有( 5 )个中断源,有( 2 )个中断优先级,优先级由软件填

56、写特殊功能寄存器 ( IP )加以选择。4. 外部中断 1 所对应的中断入口地址为( 0013H )H。5. 当定时器 T0 工作在方式( 3 )时,要占定时器 T1 的 TR1 和 TF1 两个控制位。6. 设(TMOD)=0A5H,则定时器 T0 的状态是( 方式方式 1 计数计数),定时器 T1 的状态是( 方式方式2 定时定时)。7. 定时器 T0 溢出标志位是( TF0 ),定时器 T1 溢出标志位是( TF1 )。8. 在数据通信中,有数据传送方式有( 单工单工 ) 、 ( 半双工半双工 ) 、 ( 全双工全双工 ) 、 ( 多工多工 )四种方式。9. 设置串行口为 10 位 UA

57、RT,则其工作方式应选用为(工作方式工作方式 1 ) 。10. 单片机串行通信时,若要发送数据,就必须将要发送的数据送至( SBUF )寄存器,若要接收数据也要到该寄存器取数。11. 异步串行数据通信的桢格式由( 起始位起始位 )位,( 数据位数据位 )位,( 奇偶较验奇偶较验 )位和 ( 停止位停止位 )位组成。12. 在中断服务程序中,至少应有一条( D )。14A:传送指令 :转移指令 :加法指法 :中断返回指令13. 8031 单片机中断查询确认后,在下列各种运行情况中,能立即进行响应的是( D )。A:当前正在执行高优先级中断处理:当前正在执行 RETI 指令:当前指令是 DIV 指

58、令,且正处于取指令的机器周期:当前指令是 MOV A, R314. 要使 MCS-51 能够响应定时器 T1 中断、串行接口中断,它的中断允许寄存器 IE 的内容应是( A ) :98H :84H :42 :22H15. 使用定时器 T1 时,有几种工作模式( D ):种:种:种 :种16. 当定时器工作在方式 1,系统采用 6MHz 晶振时,若要定时器定时 0.5ms ,则定时器的初始值为( A ) 。A:FF06H B:F006H C:0006H D:06FFH17. 定时器 T1 的溢出标志为 TF1,采用中断方式,当定时器溢出时,若 CPU 响应中断后,该标志( B )。 A:由软件清

59、零 B:由硬件清零 C:随机状态 D:AB 都可以18. 在异步通信中每个字符由 9 位组成,串行口每分钟传 25000 个字符,则对应的波特率为( D )b/s。A:2500 B:2750 C:3000 D:375019. 控制串行接口工作方式的寄存器是( C ) 。A:TCON B:PCON C:SCON D:TMOD20什么是中断和中断系统?其主要功能是什么?解解: 所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程采用中断技术可以提高 CPU 效率、解决速

60、度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 中断系统:能够实现中断功能的硬件电路和软件程序。中断系统的功能:能够实现中断优先权排队、中断嵌套、自动响应中断和中断返回等功能。21什么是中断优先级?中断优先处理的原则是什么?解解: 中断优先级是CPU响应中断的先后顺序。中断优先处理的原则是:(1)先响应优先级高的中断请求,再响应优先级低的中断请求。 (2)如果一个中断请求己被响应,同级的其他中断请求将被禁止。(3)如果同级的多个中断请求同时出现,CPU则按单片机内部的自然优先级顺序响应各中断请求。单片机内部自然优先级顺序(由高到低)为:外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论