第一章:
1. 给出下列有符号数的原码、反码和补码(假设计算机字长为 8 位)。 +45 -89 -6 +112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101 【-89】原=11011001,【-89】反=10100110,【-89】补=10100111 【-6】原=10000110,【-6】反=11111001,【-6】补=11111010 【+112】原=01110000,【+112】反=01110000,【+112】补=01110000 2. 指明下列字符在计算机内部的表示形式。 AsENdfJFmdsv120
答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H 3. 何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。
答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成, 是微型计算机运算和控制中心。存储器是用来存放程序和数据的记忆装置。输人设备是向计算机输人原始数据和程序的装置。输出设备是计算机向外界输出信息的装置。I/O 接口电路是外部设备和微型机之间传送信息的部件。总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。微型计算机的各大功能部件通过总线相连。
4. 简述 8086CPU 的内部结构。
答:8086 微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。执行部件由运算器(ALU)、通用寄存器、标志寄存器和 EU 控制系统等组成。EU 从 BIU 的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件 BIU 由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。 5.何谓总线?总线按功能可分为哪几种?
答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。总线功能来划分又可分为地址总线(Address Bus)、数据总线(Date Bus)和控制总线(Control Bus)三类。 6.内部存储器由哪几部分组成?
答:包括随机存储器(RAM)和只读存储器(ROM)。
7.
简述 8086 中的存储器管理?
答:8086 把 1M 空间分成若干块(称为“逻辑段”), 各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过 64K 字节,这样就可用 16 位寄存器提供地址访问。一个存储单元的地址可由段基址和偏移地址组成,这个地址我们称为逻辑地址,一般表示为“段基址:偏移地址”。而 1M 存储空间中的 20 位地址称为物理地址。逻辑地址是程序中使用的地址,物理地址是访问存储器的实际地址。 物理地址=段基址×16 + 段内偏移地址
什么是接口电路?接口电路有何功能?
答:I/O 接口电路是外部设备和微型机之间传送信息的部件。接口电路主要功能。(1) 数据的寄存和缓冲功能。(2) 信号转换功能。(3) 设备选择功能。(4) 外设的控制和监测功能。(5) 中断或 DMA 管理功能。(6) 可编程功能。
8.
9.外部设备与 CPU 之间的数据传送方式常见有几种?各有什么特点?
答:外部设备与微机之间的信息传送传送方式一般有无条件传送方式、查询传送方式、中断控制方式等。无条件传送方式是指 CPU 直接和外部设备之间进行数据传送。查询传送方式又称为条件传送方式,是指 CPU 通过查询 I/O 设备的状态决定是否进行数据传输的方式。中断是一种使 CPU 暂停正在执行的程序而转去处理特殊事件的操作。即当外设的输入数据准备好,或输出设备可以接收数据时,便主动向 CPU 发出中断请求,CPU 可中断正在执行的程序,转去执行为外设服务的操作,服务完毕,CPU 再继续执行原来的程序。 10.什么是单片机?
答:单片机是把微型计算机中的微处理器、存储器、I/O 接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。 11.和一般微型计算机相比,单片机有何特点? 答:主要特点如下:
1) 在存储器结构上,单片机的存储器采用哈佛(Harvard)结构 2) 在芯片引脚上,大部分采用分时复用技术
3) 在内部资源访问上,采用特殊功能寄存器(SFR)的形式
4) 在指令系统上,采用面向控制的指令系统 5) 内部一般都集成一个全双工的串行接口 6) 单片机有很强的外部扩展能力 12.指明单片机的主要应用领域。
答:单机应用:1) 工业自动化控制;2) 智能仪器仪表;3) 计算机外部设备和智能接口;4) 家用电器多机应用:功能弥散系统、并行多机处理系统和局部网络系统。
第二章:
1. MCS-51 单片机由哪几个部分组成?
答:MCS-51 单片机主要由以下部分组成的:时钟电路、中央处理器(CPU)、存储器系统(RAM 和 ROM)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(SFR)。
2. MCS-51 的标志寄存器有多少位,各位的含义是什么?
答:MCS-51 的标志寄存器 PSW 有 8 位; 含 义 如 下 : C(PSW.7):进位或借位标志位。AC(PSW.6):辅助进位或借位可标志位。
F0(PSW.5):用户标志位。是系统预留给用户自己定义的标志位。
RS1、RS0(PSW.4、PSW.3):寄存器组选择位。可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。
OV(PSW.2):溢出标志位。在加法或减法运算时,如运算的结果超出 8 位二进制数的范围,则 OV 置 1,标志溢出, 否则 OV 清零。
P(PSW.0):奇偶标志位。用于记录指令执行后累加器 A 中 1 的个数的奇偶性。若累加器 A 中 1 的个数为奇数,则 P 置位,若累加器 A 中 1 的个数为偶数,则 P 清零。 其中 PSW.1 未定义,可供用户使用。 3. 在8051 的存储器结构中,内部数据存储器可分为几个区域?各有什么特点? 答:片内数据存储器按功能可以分成以下几个部分:工作寄存器组区、位寻址区、一般RAM 区和特殊功能寄存器区,其中还包含堆栈区。工作寄存器组区,00H~ 1FH 单元,可用R0~R7 等8 个寄存器访问;位寻址区,20H~2FH 单元,可按位方式访问;一般RAM 区,30H~7FH 单元;堆栈区,可从08 到7F 单元;特殊功能寄存器区位于 80H~FFH 单元。
4. 什么是堆栈?说明 MCS-51 单片机的堆栈处理过程。
答:堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。CS-51 单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字节为单位的。入栈时,SP 指针的内容先自动加 1,然后再把数据存入到 SP 指针指向的单元;出栈时,先把 SP 指针指向单元的数据取出,然后再把 SP 指针的内容自动减 1。
5. 简述内部 ROM 的工作寄存器组情况,系统默认是第几组?
答:51 单片机有 4 组工作寄存器,每组 8 个,用寄存器 R0~R7 表示,标志寄存器 PSW 的 RS1、RS03 两位用于从四组工作寄存器中选定当前的工作寄存器组,默认是第 0 组。
6. 51 单片机的程序存储器 64KB 空间在使用时有那几个特殊地址?
答:51 单片机程序存储器的 64KB 存储空间使用时有 7 个特殊的地址,第一个是0000H,它是系统的复位地址,51 单片机复位后 PC 的值为 0000H,复位后从 0000H 单元开始执行程序,由于后面几个地址的原因,用户程序一般不直接从 0000H 单元开始存放,而是放于后面,通过在 0000H 单元放一条绝对转移指令转到后面的用户程序。后面 6 个为 6 个中断源的入口地址,51 单片机中断响应后,系统会自动的转移到相应中断入口地址去执行程序。
7. 简述什么是 51 单片机的特殊功能寄存器?
答:特殊功能寄存器(SFR)也称为专用寄存器,专门用于控制、管理片内算术逻辑
部件、并行 I/O 接口、串行口、定时/计数器、中断系统等功能模块的工作。用户在编程时可以给其设定值,但不能移作他用。SFR 分布在 80H~0FFH 的地址空间, 与片内随机存储块统一编址。除 PC 外,51 子系列有 18 个特殊功能寄存器,其中 3 个为双字节,共占用 21 个字节;52 子系列有 21 个特殊寄存器,其中 5 个为双字 节,共占用 26 个字节。
8. MCS-51 单片机有多少根 I/O 线?它们和单片机的外部总线有什么关系?
答:MCS-51 单片机有 32 根 I/O 线,由 P0 口经地址锁存器提供低 8 位(A7~A0), P2 口提供高 8 位(A15~A8)而形成。数据总线宽度为 8 位,由 P0 口直接提供。控制总线由第二功能状态下的 P3 口和 4 根独立的控制线 RST、EA、ALE 和 PSEN 组成。
9. 简述 PSEN 、EA 、RST 和 ALE 引脚的功能。
答:ALE:地址锁存信号输出端。ALE 在每个机器周期内输出两个脉冲。下降沿用于控制锁存 P0 输出的低 8 位地址。
PSEN :片外程序存储器读选通信号输出端,低电平有效。在从外部程序存储器 读取指令或常数期间,该信号有效。 RST:复位信号。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。
EA :片外程序存储器选用端。该引脚为低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器。
10. 什么是机器周期?什么是指令周期?MCS 有效。-51 单片机的一个机器周期包括多少个时钟周期?
答:机器周期:机器周期是单片机的基本操作周期,每个机器周期包含 S1、S2、、S66 个状态,每个状态包含两拍 P1 和 P2,每一拍为一个时钟周期(振荡周期)。因此,一个机器周期包含 12 个时钟周期。 11. 复位的作用是什么?51 单片机复位有几种方式?
答:复位使单片机回复到初始状态。在时钟电路工作以后,当外部电路使得 RST
端出现两个机器周期(24 个时钟周期)以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位, 12. 时钟周期的频率为6MHz,机器周期和ALE 信号的频率为多少? 答:2MHZ
第三章:
1.在 MCS-51 单片机中,寻址方式有几种?其中对片内 RAM 可以用哪几种寻址方式?对片外RAM 可以用哪几种寻址方式?
答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。片内 RAM 寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。片外 RAM 寻址有:寄存器间接寻址方式。2.在对片外 RAM 单元寻址中,用 Ri 间接寻址与用 DPTR 间接寻址有什么区别?
答:片外数据存储器寻址中,用 Ri 间接寻址只能访问低端的 256 字节单元,而用 DPTR 作指针间接访问可访问整个 64K 字节。
.3位处理中,位地址的表示方式有哪几种? 答:在
1.直接位地址(00H~0FFH)。例如:20H
2. 字节地址带位号。例如:20H.3 表示 20H 单元的 3 位。 3. 特殊功能寄存器名带位号。例如:P0.1 表示 P0 口的 1 位。
4. .4
位符号地址。例如:TR0 是定时/计数器 T0 的启动位。
写出完成下列操作的指令。
(1) R0 的内容送到 R1 中。
MOV A,R0 MOV R1,A
(2) 片内 RAM 的 20H 单元内容送到片内 RAM 的 40H 单元中。
MOV 40H,20H (3) 片内 RAM 的 30H 单元内容送到片外 RAM 的 50H 单元中。 MOV A,30H MOV R0,#50H MOVX @R0,A
(4) 片内 RAM 的 50H 单元内容送到片外 RAM 的 3000H 单元中。
MOV A,50H
MOV DPTR,#3000H MOVX @DPTR,A
(5) 片外 RAM 的 2000H 单元内容送到片内 RAM 的 20H 单元中。
MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A
(6) 片外 RAM 的 1000H 单元内容送到片外 RAM 的 4000H 单元中。
MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#4000H MOV @DPTR,A
(7) ROM 的 1000H 单元内容送到片内 RAM 的 50H 单元中。
MOV A,#0
MOV DPTR,#1000H MOVC A,@A+DPTR MOV 50H,A
(8) ROM 的 1000H 单元内容送到片外 RAM 的 1000H 单元中。
MOV A,#0 MOV DPTR,#1000H MOVC A,@A+DPTR MOVX @DPTR,A
.5
区分下列指令有什么不同?
(1) MOV A,20H 和 MOV A,#20H
答:前者源操作数是直接寻址,后者源操作数立即寻址。
(2) MOV A,@R1 和 MOVX A,@R1
答:前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低 256 字节。
(3) MOV A,R1 和 MOV A,@R1
答:前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。
(4) MOVX A,@R1 和 MOVX A,@DPTR
答:前者源操作数是访问片外数据存储器低 256 字节,后者源操作数访问片外数据存储器整个 64K 字节。 (5) MOVX A,@DPTR 和 MOVC A,@A+DPTR 答:前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。 .6设片内 RAM 的(20H)=40H, (40H)=10H,(10H)=50H,(P1)=0CAH。分析下列指令执行后片内 RAM 的 20H、 40H、10H 单元以及 P1、P2 中的内容。
MOV R0,#20H ;R0=20H MOV A,@R0 ;A=40H MOV R1,A ;R1=40H MOV A,@R1 ;A=10H MOV @R0,P1 ;(40H)=0CAH MOV P2,P1 ;P2=0CAH MOV 10H,A ;(10H)=10H MOV 20H,10H ;(20H) =10H
结果:(20H)=10H、(10H)=10H、(40H)=0CAH、P2=0CAH 和 P1=0CAH
.7
已知(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内 RAM(7FH)=70H,片外 RAM(2FFEH)=11H,ROM(2FFEH)
=64H,试分别写出以下各条指令执行后目标单元的内容。 (1) MOV A,@R1 结果:累加器 A 等于 70H
(2) MOVX @DPTR,A 结果:片外 RAM(2FFCH)单元等于 02H (3) MOVC A,@A+DPTR 结果: 累加器 A 等于 64H
(4) XCHD A,@R1 结果:累加器 A 等于 00H,片内 RAM(7FH)单元等于 72H
8.已知:(A)=78H,(R1)=78H,(B)=04H,CY=1,片内 RAM(78H)=0DDH,(80H)=6CH,试分别写出下列指令执行后目标单元的结果和相应标志位的值。(1)ADD A,@R1 ;累加器 A 等于 55H,CY 等于 1 (2)SUBB A, #77H ;累加器 A 等于 00H,CY 等于 0 (3)MUL AB ;累加器 A 等于 E0H,B 寄存器等于 01H,CY 等于 1,OV 等于 0
(4)DIV AB ;累加器 A 等于 1EH,B 寄存器等于 00H,CY、OV 等于 0 (5)ANL 78H,#78H ;片内 RAM(78H) 单元等于 58H (6)ORL A,#0FH ;累加器 A 等于 7FH (7)XRL 80H,A ;片内 RAM(80H)等于 14H 9.设(A)=83H,(R0)=17H,(17H)=34H,分析当执行完下面指令段后累加器 A、R0、17H 单元的内容。 ANL A,#17H ;A=03H ORL 17H,A ;(17H)=37H XRL A,@R0 ;A=34H CPL A ;A=CBH 结果:A=CBH,(R0)=17H,(17H)=37H
10.写出完成下列要求的指令。 (1) 累加器 A 的低 2 位清零,其余位不变。 ANL A,#11111100B (2) 累加器 A 的高 2 位置“1”,其余位不变。 ORL A,#11000000B
(3) 累加器的高 4 位取反,其余位不变。 XRL A,#11110000B
(4) 累加器第 0 位、2 位、4 位、6 位取反,其余位不变。 XRL A,#01010101B
说明 LJMP 指令与 AJMP 指令的区别? 答:LJMP 指令后面提供的是 16 位目标地址,所以可以转移到 64KB 程序存储器的任意位置,缺点是:执行时间长,字节数多。 AJMP 指令后带的是 11 位直接地址,执行时,先将程序指针 PC 的值加 2(该指令长度为 2 字节),然后把指令中的 11 位地址addr11 送给程序指针 PC 的低 11 位,而程序指针的高 5 位不变,只能在当前 2K 范围内转移。
11.
设当前指令 CJNE A,#12H,10H 的地址是 0FFEH,若累加器 A 的值为 10H,则该指令执行后的 PC 值为多少? 若累加器 A 的值为 12H 呢? 答:指令执行后的 PC 值为 1011H,若累加器 A 的值为 12H,则指令执行后的 PC 值为1001H。
() 13. 用位处理指令实现 的逻辑功能。 程序: MOV C,P1.1 ORL C,P1.2 ANL C,
12.
P1.0 ORL C,/P1.3 MOV P1.4,C
下列程序段汇编后,从 1000H 单元开始的单元内容是什么?
ORG 1000H
TAB: DB 12H,34H
14.
DS 3
DW 5567H,87H 答:(1000H)=12H,(1001H)=34H,(1002H )=00H,(1003H)=00,(1004H)=00,(1005H)=67H,(1006H)=55H, (1007H)=87H,(1008H)=00H
15. 试编一段程序,将片内 RAM 的 20H、21H、22H 单元的内容依次存入片外 RAM 的 20H、21H、22H 中。程序: MOV R0,#20H MOV R2,#03H LOOP:MOV A,@R0 MOVX @R0,A INC R0 DJNZ R2,LOOP SJMP $
编程实现将片外 RAM 的 2000H~2030H 单元的内容,全部搬到片内 RAM 的 20H 单元开始位置,并将源位置清零。 程序:
16.
MOV R0,#20H
MOV DPTR,#2000H MOV R2,#31H
LOOP: MOVX A,@DPTR MOV @R0,A MOV A,#00 MOVX @DPTR,A INC DPTR INC R0