1、1单片机原理与接口技术课后习题参考答案习题一1在计算机内部,一切信息的存取、处理和传送都是以( D )形式进行。A.EBCDIC 码 B.ASCII 码 C.十六进制编码 D.二进制编码2. 一个字节由 8 位二进制数组成,即由 2 位十六进制数组成。3. 将下列十进制数转换成二进制数。(1)12 (2)100 (3)128 (4)1000答:(1)00001100 (2)01100100 (3)10000000 (4)0011111010004. 将下列十进制数转换成十六进制数。(1)14 (2)127 (3)255 (4)1024答:(1)1110 (2)01111111 (3)11111
2、111 (4)0100000000005. 将下列二进制数分别转换成十进制和十六进制数。(1)11100100 (2)10100001 (3)11101000 (4)10101101答:(1)228,E4H (2)161,A1H (3)232,E8H (4)173,ADH6. 将下列十六进制数分别转换成二进制和十进制数。(1)2DH (2) F4H (3) 0400H (4) FFFFH答:(1)00101101B,45 (2)11110100,244 (3)0000010000000000,1024 (4)1111111111111111, 655357. 取字长 8 位,写出下列数据的补码
3、。(1) -32 (2) -45 (3) -98 (4) 91答:(1)E0H (2)D3H (3)9EH (4)5BH8. 完成下列十六进制数的加法运算。(1)8CH+3FH (2)1F34H+95D6H (3)205EH+12FFH2答:(1)CBH (2)B50AH (3)335DH9. 分别用十六进制和二进制数形式,写出数字 0,1,2,9 的 ASCII 码。答:30H,31H, 39H; 00110000B,00110001B,00111001B10. 写出字符串的 ASCII 码:“*MCS-51*”答:2AH,2AH,2AH,4DH,53H,43H,2DH,35H,31H, 2
4、AH,2AH,2AH11. 对于十进制数 35,用二进制数表示为_00100011B_;用十六进制数表示为_23H_;用组合 BCD 码表示为 00110101B ;用非组合 BCD 码表示为_03H,05H_;用 ASCII 表示为_33H,35H_。1216 位 PC 机中整数的有效范围是( D )。A.-3276832767 B.-3276732767 C.065535 D.-3276832767 或 06553513在( C )表示中,二进制数 11111111B 表示十进制数1A.原码 B.反码 C.补码 D.BCD 码14用 8 位的二进制数的补码形式表示一个带符号数,它能表示的整
5、数范围是( D )。A.-127+127 B.-128+128 C.-127+128 D.-128+12715计算机中运算器和控制器合称为( A )A.CPU B.ALU C.主机 D.ENIAC16微机的主要性能指标中,字长是指( 微处理器一次能处理的二进制数的位数 )。17若用 MB 作为 PC 机主存容量的计量单位,1MB 等于( B )个字节。A.210 B.220 C.230 D.240 18运算器的主要功能是( C )。 A.算术运算 B.逻辑运算 C.算术运算与逻辑运算 D.函数运算19. 指出下列总线中,哪一个是单向的,哪一个是双向的?(1)数据总线 (2)地址总线3答:地址总
6、线是单向的;数据总线是双向的。20. 什么是微处理器?答:微处理器是微型计算机的核心,具有运算与控制功能。21. 微型计算机由哪几部分组成的?答:微型计算机由 CPU、存储器、I/O 接口和总线组成。22. 简要说明计算机系统中三种总线各自的作用。答:数据总线用来传送数据信息,数据总线的宽度决定了 CPU 一次能够与存储器或 I/O 接口传送数据的位数。地址总线传送地址信号,CPU 输出地址信号,用来寻址一个存储单元或 I/O 端口,地址总线的位数决定了 CPU 最多能外接多大容量的存储器,若有 CPU 有 N 位地址线,外接存储器的最大容量是 2N。控制总线传输控制或状态信号。23. 说明微
7、型计算机系统的组成。答:微型计算机系统由软件和硬件组成。硬件包括主机和外设,主机包括 CPU,存储器,I/O 接口和总线;外设包括输入设备和输出设备。软件包括系统软件和应用软件24. 说明通用微机与单片机的主要区别。答:在结构上单片机是把微机的主要功能部件:CPU,存储器,I/O 接口集成在一块芯片内。存储器结构也不一样,微机采用冯诺依曼结构,数据和程序放在统一的存储空间;一些单片机,像 MCS-51,其存储器分为数据存储器和程序存储器。应用场合不一样,微型计算机用于科学计算,信息管理,计算机辅助设计等等;单片机面向控制,将其与专业设备融为一体,形成智能系统,如工业控制系统、智能测量系统、自动
8、化通信系统、专用数字处理系统等。编程方式也有不同,微机上用高级语言编程时,不需要了解微机的硬件结构,只需了解操作系统和编程环境。单片机用汇编语言或 C 编程,需要对硬件有所了解。习题二1简述 EU 和 BIU 的主要功能?答:EU 是执行单元,负责执行指令。BIU 是总线接口单元,负责取指令,以及存/取数据。428086 和 8088 的主要区别是什么?答:主要区别是(1)8086 有 16 位数据线,8088 有 8 位数据线。(2)8086 内部有 6 字节的指令队列缓冲器,8088 有 4 字节。3. 8086/8088CPU 采用流水线技术有什么好处? 答:流水线技术可以提高 CPU
9、的工作效率。48086 的数据总线是_16_位,地址总线是_20_位。5. 8086 可以寻址的存储器空间有多大?I/O 空间有多大?答:8086 可以寻址的存储器空间是 1MB;I/O 空间 64KB6在一般的微处理器中,( D )包含在 CPU 中。A.内存 B.输入/输出单元 C.磁盘驱动器 D.算术逻辑单元7.8086 中一共有多少寄存器?每个寄存器有什么特殊的用途?答:8086 一共有 14 个 16 位的寄存器:AX,BX,CX,DX,SP,BP,SI,DI,CS,DS,SS,ES,IP,标志寄存器。有 8 个 8 位的寄存器:AH,AL,BH,BL,CH,CL,DH,DLAX,A
10、L:特别用于乘除法指令、数据输入/输出指令中BX:可以用来存放地址CX:循环操作指令中,隐含用作计数器;CL:移位指令中用于存放移位次数DX:输入/输出指令中用于存放端口地址,乘/除法指令中用于存放乘积高位/被除数的高位SP:用于存放堆栈栈顶单元的地址BP:可以用来存放地址SI:串操作指令中,隐含存放源数据串单元地址DI: 串操作指令中,隐含存放目的数据串单元地址CS:存放代码段的段地址;DS: 存放代码数据段的段地址;SS: 存放堆栈段的段地址;ES: 存放附加数据段的段地址; IP: 存放 CPU 将要执行指令所在存储单元的地址,CPU 根据 IP 的值,到相应存储单元取指5令8.什么是寄
11、存器?存储单元?I/O 端口?答:寄存器是在 CPU 中的数据存储部件,一般用符号来表示某个寄存器,即寄存器有名字,寄存器有 8 位、16 位等类型存储单元是在存储器中一个单元,没有特殊说明时,一个存储单元存放一个字节的数据,存储单元通过地址来标识。I/O 端口指的是 I/O 接口中的寄存器,也是地址来标识, 单片机端口中也有符号名9.标志寄存器各位的含义?答:- - - - - - -1 5 1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 4 3 2 1 0O F D F I F T F S F Z F A F P F C F进位标志奇偶标志辅助进位标志零标志符号标志溢出标志方向
12、标志中断允许标志跟踪标志10从功能上,8086 的 CPU 由( C )两部分组成。A.SP、ALU B.控制器、FLAGS C.EU、BIU D.EU、ALU11标志寄存器 FLAGS 中存放两类标志,即( B )。A.符号标志、溢出标志 B.控制标志、状态标志C.方向标志、进位标志 D.零标志、奇偶标志12.什么是最大模式?最小模式?答:最大模式是指系统中有多个微处理器,8086 是主处理器,还有协处理器,系统控制总线的大部分信号由总线控制器产生。最小模式是指系统中只有一个微处理器,控制信号由 CPU 直接产生。13.什么是总线周期?答:是指 CPU 访问一次存储器(如读/写一个字节数据)
13、所需要的时间。14.8086 的总线周期由几个时钟周期组成?在总线周期中,CPU 有哪些操作?6答:8086 的总线周期由 4 个时钟周期组成。又叫 4 个 T 状态。在 T1 状态,CPU 输出地址和地址锁存信号;在 T2 状态 CPU 输出控制信号;T3 状态数据出现在数据总线上;T4 状态 CPU 撤销控制信号,总线周期结束。15.8284、8282、8286、8288、8259 这几个芯片的作用是什么?答:8284 是时钟发生器,为 CPU 提供工作时钟,以及使 READY、RESET 信号与时钟同步。8282 是地址锁存器,用来锁存地址信号。8286 是数据收发器,用来提高数据总线的
14、驱动能力8288 是总线控制器,当 8086 工作在最大模式下,可以产生控制信号。16.8086 如何进入复位状态?答:8086 的 TESET 引脚出现 4 个时钟周期的高电平,8086 进入复位状态。17.复位后,8086 芯片内寄存器状态如何?引脚信号状态如何?答:8086 复位后,除了 CS=FFFFH 外,其它寄存器的值都为 0。三态引脚呈高阻态,非三态引脚呈无效状态。18最小模式时,当 M/为低电平时,表示 CPU 正在对( D )进行访问。A.存储器 B.I/O 端口 C.外部存储器 D.EPROM19某 CPU 的主频为 250MHZ,则它的时钟周期为( D )。A.250ns
15、 B.50ns C.40ns D.4ns20.存储单元逻辑地址的表达方式?答:存储单元逻辑地址的表达方式是“段地址:偏移地址” ,段地址和偏移地址都是 16 位。21.逻辑地址如何形成存储单元的物理地址?答:物理地址=段地址10H+偏移地址22程序设计中所使用的地址是( A )。A.逻辑地址 B.有效地址 C.物理地址 D.段基址23某单元在数据段中,已知 DS=1000H,偏移地址为 1200H,则它的物理地址为( B )。7A.10000H B.11200H C.12100H D.13000H24设某一个单元的物理地址是 54321H,则正确的逻辑地址表示为( C )。A.4321H:50
16、000H B.54320H:1H C.5430H:0021H D.5432H:00001H25上电复位时,若 CPU 的 CS=FFFFH,IP=0000H,则第一条指令从 地址 FFFF0H 地方取。268088 与外部交换数据的总线宽度是 8 位,EU 内部总线宽度是 16 位。278086/8088 将整个存储空间划分为许多逻辑段,每个逻辑段容量在 64KB 以内。28 8086/8088 系统中,某存储单元只能有一个 物理 地址,但可以有多个 逻辑 地址。29某存储单元物理地址为 32413H,则相对于段地址为 3000H,其偏移地址为 2413H ,若;它的偏移地址是 1003H,则
17、其段地址为 3141H 。30.说明存储器分类及特点。答:从存取功能分:只读存储器 ROM、随机存取存储器 RAM只读存储器:掩模 ROM 、PROM 、EPROM、 EEPROM随机存储器:静态 RAM(SRAM) 、动态 RAM(DRAM)从制造工艺分:双极型和 MOS(CMOS)型静态存储单元(SRAM)的优点:速度快、使用简单、不需刷新、常用作 Cache ;缺点:元件数多、集成度低、运行功耗大DRAM 的主要特点有:基本存储电路用单管线路组成(靠电容存储电荷);集成度高;功耗比静态 RAM 低;价格比静态便宜;因动态存储器靠电容来存储信息,由于总是存在有泄漏电流,故要求刷新(再生)。
18、 适用于大存储容量的微型计算机,如微机中的内存主要由 DRAM组成。掩模 ROM:掩模只读存储器由制造厂做成,用户不能进行修改。 可编程只读存储器 PROM(Programmable ROM),PROM 允许用户对其进行一次编程,即写入数据或程序。一旦编程之后,用户可以读出其内容,但再也无法改变它的内容。紫外线可擦除的只读存储器 EPROM (Erasable Programmable ROM),需要用紫外线照射来擦除,擦除后可编程,并允许用户多次擦除和编程; 电可擦除的只读存储器 EEPROM 或 E2PROM (Electrically Erasable Programmable ROM)
19、,8采用加上一定电压的方法进行擦除和编程,也可多次擦除和编程。 31.存储器的功能是存储 程序 和 数据 。32.与外存相比,内存具有的特点是存储容量 小 ,工作速度 快 。33.存储器的主要指标有存 储器容量 、存储周期 和 可靠性 。34.随机访问存储器的访问速度与 数据的存储位置 无关。35.存储器中用 地址 来区分不同的存储单元。36.静态存储单元是由晶体管构成的 双稳态触发器 ,保证记忆单元始终处于稳定状态。37.主存容量与 地址 总线的根数有关。38.要组成容量为 4K8 的存储器,需要 32 片 1K1 的存储器芯片。39. 静态随机存储器 SRAM 靠 双稳态触发器 存储信息,
20、动态随机存储器 DRAM 靠 电容 存储信息。40.为什么 RAM 被称为“易失性存储器”?答:因为掉电后,存储的内容会丢失。41.微型计算机的存储系统是指( D ) 。A.RAM B. ROMC.主存储器 D. cache、主存储器和外存储器42.内存若为 16MB,则表示其容量为( B )KB。A.16 B. 16384 C. 1024 D. 1600043.组成 2M8 位的内存,可以使用( D ) 。A.1M8 的芯片进行位扩展 B.1M4 位的芯片进行字扩展C.2M4 的芯片进行字扩展 D.2M4 位的芯片进行位扩展44.若 SRAM 芯片的容量为 4K8 位,则该芯片引脚中地址线和
21、数据线的数目之和是( C ) 。A.15 B.19 C. 20 D.不可估计45.存储周期是指( B ) 。A.存储器的读出时间 B.连续两次启动存储器的时间间隔9C.存储器的写入时间 D.存储器连续写操作的时间46. 8088 系统中用 74LS138 译码器产生片选信号,如下图示。若将 接到存储器的片选Y6信号端,则存储器的存储范围为( C ) 。A.B800HBFFFHB.A800HAFFFHC.B000HB7FFHD.8800H8FFFH47.若一台计算机的字长为 4 个字节,则表明该机器( C ) 。A.能处理数值最大值为 4 位十进制数B.能处理的数值最大为 4 位二进制数组成C.
22、在 CPU 中能够作为一个整体处理 32 位的二进制代码D. 能运算的结果为 23248. 根据存放信息的不同,端口通常有三种类型:数据端口、状态端口 和 控制端口。49. CPU 与外设之间进行数据传送时,可以采用哪些方式?答:可以采用无条件传送方式、查询方式、中断方式和 DMA 方式习题三1. 单片机是把组成微型计算机的各功能部件,即 CPU 、存储器 、I/O 接口及 总线 等部件制作在一块集成电路芯片上,构成一个完整的微型计算机。2. Intel 公司生产的 MCS-51 系列单片机主要集成了哪些功能部件?答:MCS-51 单片机内部包含了下列几个部件:一个 8 位 CPU、一个片内振
23、荡器及时钟电路、G A2B74LS138CBA0Y123457Y6A15IO/MA14A13A12A11104K 字节程序存储器、128 字节数据存储器、两个 16 位定时器/计数器、一个可编程全双工串行口、四个 8 位可编程并行 I/O 端口、64K 字节外部数据存储器和 64K 字节程序存储器扩展控制电路、五个中断源;两个优先级嵌套中断结构3MCS-51 系列单片机中,片内无 ROM 的机型是 8031 ,有 4KB ROM 的机型是 8051 ,而有 4KB EPROM 的机型是 8751 。4. CPU 由 运算器 和 控制器 组成。5. 程序计数器 PC 的功能是什么?答:PC 用于
24、存放下一条将要从程序存储器中读取的指令的地址。由两个 8 位的计数器(PCH、PCL)组成,16 位可容纳的最大数值为 FFFFH(即 65535) ,因此,MCS-51 可寻址64KB 的程序存储器。每取一字节指令,PC 会自动加 1。改变 PC 的值,就可改变程序执行的顺序。6. 程序计数器 PC 的值是( C ) 。A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址C.当前正在执行指令的下一条指令的地址D.控制器中指令寄存器的地址7. MCS-51 单片机程序存储器的寻址范围是由程序计数器 PC 的位数所决定的,因为 MCS-51的 PC 是 16 位的,因此其寻址空间为
25、64KB ,地址范围是从 0000H 到 FFFFH 。8. 说明程序状态寄存器 PSW 中,各标志位的作用。答:Cy:进位标志位;AC:辅助进位标志,又称半字节进位标志位;F0:用户自定义标志。RS1,RS0:工作寄存器组选择控制位。OV:溢出标志。P:奇偶标志位。9. 若 A 中的内容为 63H,那么,奇偶标志位 P 的值为 0 。10. 8051 芯片的引脚可以分位以下四类: 电源引脚 VCC 和GND 、外接晶振引脚 XTAL1 和 XTAL2、控制信号引脚 和 多功能 I/O 口引脚 。11. 8051 单片机有 4 个 8 位并行 I/O 口,共 32 位 I/OFFH80H内部
26、RAM80HFFH(仅 52 系列有)只能通过间接寻址访问SFR 区80HFFH只能通过直接寻址访问普通 RAM 区地址 30H7FH位寻址区(20H2FH)位地址 00H7FH工作寄存器区 0(00H07H )工作寄存器区 3(18H1FH )工作寄存器区 2(10H17H )工作寄存器区 1(08H0FH )00H(a)内部数据存储器30H11引脚。12. 8051 单片机内部数据存储器可以分为几个不同的区域?各有什么特点?答:分为 4 个区域:工作寄存器区位寻址区普通 RAM 区特殊功能寄存器区13. 内部 RAM 中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?写出它们的字节地
27、址。答:内部 RAM 中,地址 00H1FH 作为工作寄存器区;地址 20H2FH 这 16 个单元可以进行位寻址。14. 8031 单片机复位后, R4 所对应的存储单元的地址为 04H ,因上电时 PSW= 00H 。这时当前的工作寄存器区是第 0 组工作寄存器。15. 若 PSW 的内容为 18H,则选取的是第 3 组通用寄存器。16. 内部 RAM 中,位地址为 30H 的位,该位所在字节的字节地址为 26H 。17在 8031 单片机内部,其 RAM 高端 128 个字节的地址空间称为 特殊功能寄存器 区,但其中仅有 21 个 字节有实际意义。17. DPTR 可以分成两个 8 位的
28、寄存器: DPH 和 DPL 。18. 地址能被 8 整除的特殊功能寄存器可以位寻址。19. 8051 单片机堆栈可以设置在什么地方?如何实现?答:可以设置在片内 RAM 地址 00H7FH 区域。通过设置 SP 的值可设置当前的堆栈顶。1220. 堆栈操作遵循的原则是什么?堆栈的用途是什么?答:堆栈遵循“先进后出”的数据存储原则。堆栈用来暂存数据或地址,当有中断时,保护断点地址。21. 程序存储器中,有些单元是为中断处理保留的,这些存储单元的地址是多少?答:程序存储器的预留单元如下入口地址 预留目的 存储单元范围0000H 复位后初始化引导程序 0000H-0002H0003H 外部中断 0
29、 服务程序 0003H-000AH000BH 定时器/计数器 0 溢出中断服务程序 000BH-0012H0013H 外部中断 1 服务程序 0013H-001AH001BH 定时器/计数器 1 溢出中断服务程序 001BH-0022H0023H 串行口中断服务程序 0023H-002AH002BH 定时器/计数器 2 溢出中断服务程序 002BH-0032H22. 四个并行口 P0P3 各自的功能是什么?答:P0 口是一个双功能的端口:地址/数据分时复用口和通用 I/O 口;P1 口是一个准双向口,只作通用输入/输出口使用;P2 口是一个双功能的端口:用作高 8 位地址输出线或者作为通用 I
30、/O 口;P3 口是一个双功能的端口:通用输入/输出口,每位增加了第二输入/输出功能23. 在 8031 单片机中,使用 P2、P0 口传送 地址 信号,且使用了 P0 口传送 数据 信号,这里采用的是 分时复用 技术。24. MCS-51 单片机的时序单位主要有四种:振荡周期、状态周期、机器周期、指令周期,它们之间有何关系?答:振荡周期等于振荡频率的倒数;状态周期等于 2 个振荡周期;机器周期等于 12 个正当周期;指令周期等于 1、2 或 4 个机器周期。1325. 在 MCS-51 单片机中,如果采用 6MHZ 晶振,1 个机器周期为 2 微秒。执行时间最长的指令周期为 8us 。26.
31、 当 8051 单片机的 RST 引脚出现 2 个机器周期的 高 电平时,单片机复位。27. 单片机的复位方法有两种,分别是 上电复位 和 手动 ,复位后 SP= 07H ,P0P3= FFH ,PC= 0000H 。28. 当 MCS-51 单片机运行出错或程序陷入死循环时,如何来摆脱困境?答:通过硬件复位。29. 8051 型单片机的时钟信号的产生方式有哪两种?答:一种是外接石英晶体振荡器;二是外接时钟源。30. 说明 MCS-51 单片机的引脚 接高电平和接低电平时各有何种功能?答:接地,单片机从外部程序存储器取指令。 接高,单片机首先访问内部程序存储器,当访问地址超过内部程序存储器范围
32、时,自动访问外部程序存储器。31. 说明引脚信号、 、 、ALE 的功能?答:是单片机读外部数据存储器的控制信号;是单片机向外部数据存储器写数据的控制信号;是单片机读外部程序存储器的控制信号。32. 如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断 MCS-51 单片机正在工作?答:ALE 信号。它的频率等于晶振频率的 1/6.33. 画出 8051 单片机外扩一片静态 RAM 6264(8K8bit)的硬件连接图。14348751 单片机系统需要外扩 8KB 的程序存储器,要求地址范围为 1000H2FFFH,以便和内部程序存储器地址相衔接,采用 2764(8K8bit)存储芯片
33、,画出系统扩展的硬件连接图。答:35. 8031 单片机系统需要外扩 8KB 的存储器空间,采用存储芯片 EEPROM 2864(8K8bit),将 8KB 存储空间的前 4KB 作为 ROM 使用,后 4KB 作为 RAM 使用,画出实现该功能的系统硬件连接图。1536. 80C51 单片机有哪两种低功耗方式?如何设置低功耗方式?如何停止低功耗方式?答:掉电方式和待机方式。通过设置 PCON 寄存器的最低两位可实现单片机的低功耗方式。结束待机方式可以通过中断或硬件复位;结束掉电方式只能通过硬件复位。习题四1. 一台计算机的指令系统就是它所能执行的 指令 集合。2. 以助记符形式表示的计算机指
34、令的程序设计语言就是 汇编 语言。3. 按长度分,MCS-51 指令有 单 字节的, 双 字节的和 三 字节的。4MCS-51 汇编语言指令格式中,唯一不可缺少的部分是( B )。A标号 B操作码 C操作数 D注释5MCS-51 的立即寻址方式中,立即数前面( D )。A应加前缀“/”号 B不加前缀号C应加前缀“”号 D应加前缀“#”号166. 简述 8051 的寻址方式和每种寻址方式所涉及的寻址空间。答:寻址方式 寻址空间(操作数的存放空间)立即寻址 程序存储器直接寻址 片内 RAM 低 128 字节、特殊功能寄存器寄存器寻址 工作寄存器 R0R7、A、B、DPTR寄存器间接寻址片内 RAM
35、:R0、R1、SP片外 RAM:R0、R1、DPTR变址寻址 程序存储器:A+PC、A+DPTR相对寻址 程序存储器 256 字节范围内:PC+偏移量位寻址片内 RAM 的位寻址区(字节地址 20H2FH)、地址能被 8 整除的特殊功能寄存器7MCS-51 寻址方式中,操作数 Ri 加前缀“”号的寻址方式是( A )。A寄存器间接寻址 B寄存器寻址 C基址加变址寻址 D立即寻址8MCS-51 寻址方式中,位寻址的寻址空间是( D )。A工作寄存器 R0R7 B专用寄存器 SFR C程序存贮器 ROMD. 片内 RAM 的 20H2FH 字节中的所有位和地址可被 8 整除的 SFR 的有效位9M
36、CS-51 寻址方式中,直接寻址的寻址空间是( D )。A工作寄存器 R0R7 B专用寄存器 SFR C程序存贮器 ROM D.片内 RAM 00H7FH 的 128 字节和 80HFFH 中的 SFR1710. 分析下面各指令源操作数的寻址方式。MOV A,32H ;直接寻址MOV R7,A ;寄存器寻址MOV R0,#0FEH ;立即寻址MOV A,R1 ;寄存器间接寻址MOV DPTR,#1E00H ;立即寻址MOVC A,A+DPTR ;变址寻址MOV C,20H ;位寻址JC 10H ;相对寻址11. 访问特殊功能寄存器和外部数据存储器,分别可以采用那些寻址方式?答:访问特殊功能寄存
37、器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。12. 在寄存器寻址方式中,指令中指定寄存器的内容就是 操作数 。13. 在寻址方式中,只能使用 8 位二进制数作为直接地址。14. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。15. 在变址寻址方式中,以 累加器 A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。16. 三种传送指令 MOV、MOVC 和 MOVX,使用时有什么区别?答:MOV 指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数据传送。MOVC 指令用来读程序存储器中的数据表。MOVX 指令用来实现累加
38、器 A 和外部数据存储器之间的数据传送。17执行指令 MOVX A,DPTR 时,/WR、/RD 引脚的电平为( C )。A高电平,高电平 B低电平,高电平C高电平,低电平 D低电平,低电平18. 假定累加器(A)=30H ,执行指令:“1000H:MOVC A,A+PC”后,18把程序存储器 1031H 单元的内容送累加器 A 中。PC+119. 假定 DPTR 的内容为 8100H,累加器的内容为 40H,执行下列指令“MOVC A,A+DPTR” 后,程序存储器 8140H 单元的内容送累加器 A 中。DPTR 不加 120 单片机中 PUSH 和 POP 指令常用来( C )。A保护断
39、点 B保护现场C保护现场,恢复现场 D保护断点,恢复断点21. 假定(SP)=60H, (ACC)=30H, (B)=70H,执行下列指令:PUSH ACC POP B 后, (SP)= 60H , (61H)= 30H , (B)= 30H 。22. 假定(SP)=62H , (61H)=30H, (62H) =70H。执行指令:POP DPH POP DPL 后, (DPTR)= 7030H , (SP)= 60H 。23. 假定(A) =85H, (R0) =20H, (20H) =AFH。执行指令:ADD A,R0 后,累加器 A的内容为 34H ,CY 的内容为 1 ,AC 的内容为
40、 1 ,OV 的内容为 1 。24. 按指令的执行时间分,MCS-51 指令有 1 、 2 和 4 机器周期的指令。25. 假定(A)=0FFH, (30H)=0F0H, (R0)=4FH, (50H)=00H。执行指令序列:INC A ;(A)=00HINC R0 ;(R0)=50HINC 30H ;(30H)=F1HINC R0 ;(50H)=01H后,累加器(A)= 00H , (R0)= 50H , (30H)= F1H , (50H)= 01H 。26. 假定(A)=56H, (R6) =67H。执行指令:ADD A,R6 19DA A后,累加器 A 的内容为 23H , CY 的内
41、容为 1 。27. 假定(A)=0FH, (R4)=19H, (30H)=00H, (R1)=40H, (40H)=0FFH。执行指令: DEC A ;(A)=0EHDEC R4 ;(R4)=18HDEC 30H ;(30H)=FFHDEC R1 ;(40H)=FEH后, (A)= 0EH , (R4)= 18H , (30H)= FFH , (40H)= FEH 。28. 假定(A)=50H, (B)=0A0H,执行指令:“MUL AB” 后,寄存器 B 的内容为 32H ,累加器 A 的内容为 00H 。 29. 假定(A) =0FBH, (B)=12H 执行指令“DIV AB” 后,累加
42、器 A 的内容为 0DH ,寄存器 B 的内容为 11H 。 30. 下列指令可将累加器 A 最高位置 1 的是( B,C,D,E ) 。AORL A,#7FH BORL A,#80H CSETB 0E7H DORL E0H,#80H ESETB ACC.731. 假定标号 L2 的地址为 0100H,标号 L3 值为 0123H,即跳转的目标地址为 0123H。当执行指令“L2:SJMP L3”时,该指令的相对偏移量(即指令的第二字节)为 21H 。32. 在位操作中,能起到与字节操作中累加器作用的是 进位标志位 C 。33下列指令判断若 P1 口最低位为高电平就转到 LP,否则就执行下一句
43、的是( B )。AJNB P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P1.0,LP34. 累加器 A 中存放着一个其值小于等于 127 的 8 为无符号数, (CY)=0,执行 RLC A 指令后,则 A 中的数变为原来的 2 倍 。35. 设内部 RAM 中 50H 单元的内容为 34H,请分析下列程序段,说明各指令源操作数、目的操作数的寻址方式以及按顺序执行指令后,A、R0 以及内部 RAM 30H、31H、50H 单元的内容各为何值?20MOV R0,#50H ;(R0)=50HMOV A,R0 ;(A)=34HSWAP A ;(A)=43HMOV 30H
44、,A ;(30H)=43HMOV 31H,#30H ;(31H)=30HMOV 50H,30H ;(50H)=43H36. 试根据以下要求写出相应的汇编语言指令。(1)将 R6 的高四位和 R7 的高四位交换,R6、R7 的低四位内容保持不变。答:MOV A, R6 MOV 30H, R7 MOV R0, #40H MOV R0, 30H XCHD A, R0 MOV R7, A MOV 30H, R0 MOV R6, 30H (2)两个无符号数分别存放在 30H、31H,试求出他们的和并将结果存放在 32H。答:MOV A, 30HADD A, 31HMOV 32H, A(3)将 30H 单
45、元的内容左环移两位,并送外部 RAM 3000H 单元。答: MOV A, 30HRL ARL A21MOV DPTR, #3000HMOVX DPTR, A(4)将程序存储器中 1000H 单元的内容取出送外部 RAM 3000H 单元。答:MOV A, #0MOV DPTR, #1000HMOVC A, A+DPTRMOV DPTR, #3000HMOVX DPTR, A(5)使累加器 A 的最高位置位。答:SETB ACC.7(6)使进位标志位清 0答: CLR C(7)使 ACC.4、ACC.5 和 ACC.6 置 1。答:ORL A, #01110000B37. 设堆栈指针 SP 的
46、内容为 20H,累加器 A 的内容为 67H,内部 RAM 中 1FH、20H 单元的内容分别为 25H 和 34H,执行下列程序段后,1FH、20H、21H、22H、23H、DPTR、SP 及累加器A 的内容分别是多少?PUSH ACC ;SP=21H, (21H)=67HPUSH 1FH ;SP=22H, (22H)=25HPUSH 20H ;SP=23H, (23H)=34HSWAP A ;A=76HMOV 1FH,A ;(1FH)=76HRL A ;A=ECHMOV 20H,A ;(20H)=ECH22POP DPL ;(DPL)=34H, SP=22HPOP DPH ;(DPH)=2
47、5H, SP=21H, (DPTR)=2534HCLR 01H ;(20H.1)=0, (20H)=ECH习题五1. 用于程序设计的语言分为哪几种?它们各有什么特点?答:MCS-51 单片机的编程语言可以是汇编语言也可以是高级语言(如 C 语言) ,名称 特点 缺点 优点 适用场合汇编语言用符号书写指令(用助记符表示操作码,特殊符号表示操作数)机器不能直接识别;程序员必须了解机器的结构和指令系统,不易推广和普及;不能移植,不具备通用性较易为人们识别、记忆和读写实时控制系统高级语言用以英语为基础的语句编程机器不能直接识别;执行时间长易于推广和交流;不依赖于机器,具有通用性科学运算和数据处理2.
48、说明伪指令的作用。答:伪指令是指示性语句,没有对应的机器码,用来告诉汇编程序如何汇编源程序。3. 说明常用伪指令 ORG、EQU、DB、DW、END 的作用。答:ORG -指出后面程序块或数据块在程序存储器中存放的起始地址。EQU -赋值命令DB -定义字节数据DW -定义字数据BIT -定义位地址符号命令END -汇编结束命令4. 设常量和数据标号的定义为:23ORG 2000HDAT1: DB 1, 2, 3, 4, 5DAT2: DB ABCDN EQU $-DAT2DAT3: DW 1200H,-2TAB: DW DAT1, DAT3(1)画出上述数据或地址的存储形式。(2)写出各标号的地址。答:地址 内容(H)2000H 01020304052005H 414243442009H 1200FFFE200DH 20002009DAT1=2000H; DAT2=2005H; DAT3=2009H; TAB =200DH5. 双字节加法。被加数放在内部 RAM 的 30H(高字节) 、31H(低字节)单元中,加数存放在内部 RAM 的 32H(高字节)和 33H(低字节)中,运算结果放存放在 30H,31H