单片机重点复习与课后答案

更新时间:2023-12-10 12:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

1.十进制,二进制,十六进制之间的转换。

2. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。 +35 -109 -15 +122 答:【+45】原=00101101,【+45】反=00101101, 【+45】补=00101101 【-89】原=11011001,【-89】反=10100110, 【-89】补=10100111 【-6】原=10000110,【-6】反=11111001, 【-6】补=11111010 【+112】原=01110000,【+45】反=01110000,【+45】补=01110000 3. ASCALL码表示:

0-9→30H-39H A-F→41H-46H a-z→61H-

4.什么是单片机?和一般微型计算机相比,单片机有何特点?

答:单片机是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。

和一般微型计算机相比,单片机主要特点如下:

1) 在存储器结构上,单片机的存储器采用哈佛(Harvard)结构 2) 在芯片引脚上,大部分采用分时复用技术

3) 在内部资源访问上,采用特殊功能寄存器(SFR)的形式 4) 在指令系统上,采用面向控制的指令系统 5) 内部一般都集成一个全双工的串行接口 6) 单片机有很强的外部扩展能力

第二章

.存储器采用哈佛结构,分为程序存储器ROM和数据存储器RAM 1.8051程序存储器分哪几部分,相互之间有什么关系? 答:程序存储器从物理结构上分为片内与片外程序存储器。片外程序存储器是外部用只读存储芯片扩展而来的。片内程序存储器和片外程序存储器的总空间大小不能超过64K字节,即片内与片外地址空间重叠,共享64K。EA接低电平,选择从片外程序存储器取指令;EA接高电平,选择从片内程序存储器取指令。

2. 在8051的存储器结构中,内部数据存储器可分为几个区域?各有什么特点? 答:片内的随机存储块和特殊功能寄存器(SFR)块。 片内的随机存储块按功能可以分成以下几个部分: 工作寄存器组区(00H~1FH单元)、位寻址区(20H~2FH)和一般RAM区(30H~7FH),其中还包含堆栈区(08H开始)。

特殊功能寄存器(SFR)也称为专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O接口、串行口、定时/计数器、中断系统等功能模块的工作,分布在地址空间80H~FFH位置处。

3. MCS-51单片机有多少根I/O线?它们和单片机的外部总线有什么关系?

答:MCS-51单片机共44跟引脚,有32根I/O线,由P0口经地址锁存器提供低8位(A7~A0),P2口提供高8位(A15~A8)而形成。数据总线宽度为8位,由P0口直接提供。控制总线由第二功能状态下的P3口和★4根独立的控制线RST、EA、ALE和PSEN组成。 PSEN:片外程序存储器读选通信号输出端,低电平有效。

ALE/PROG:地址锁存信号输出端。 RST/Vpd:RST为复位,Vpd为备用电源 EA(低电平):为片外程序存储器选用端。

(WR:外部数据存储器写信号,低电平有效RD:外部数据存储器读信号,低电平有效) ★I/O接口功能:

P0口:地址/数据分时复用总线;通用I/O接口 P1口:通用I/O接口

P2口:通用I/O接口;高8位地址线 P3口:通用I/O接口;第二功能表2.5

4.(简答)定时/计数器的四种工作方式各自的计数范围是多少?如果要计15个单位,不同的方式初值应为多少?

答:有四种方式。方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。

如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。

5.(简答)MCS-51单片机串行口有几种工作方式?各自特点是什么? 答:有四种工作方式,分别是方式0、方式1、方式2和方式3。其中:

方式0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。 方式1,称为8位的异步通信方式,通常用于双机通信。

方式2和方式3,称为9位的异步通信方式,通常用于多机通信。 6. 什么是中断、中断允许和中断屏蔽?

答:在计算机中,由于计算机内外部的原因或软硬件的原因,使CPU从当前正在执行的程序中暂停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。执行完服务程序后,再返回被暂停的位置继续执行原来的程序,这个过程称为中断。 实现中断的硬件系统和软件系统称为中断系统。 中断允许是允许中断请求送CPU产生中断。 中断屏蔽是禁止中断请求信号送CPU产生中断。 7.复位方式有上电复位和按钮复位。

复位后内部寄存器的内容:A.B.PSW=00H,DPTR=0000H,PC=0000H,SP=07H 8. 时钟周期、状态周期、机器周期和指令周期的关系?

答:时钟周期:单片机内部时钟电路产生(或外部时钟电路送入)的信号周期,单片机的时序信号是以为时钟周期信号为基础而形成,在它的基础上形成了机器周期、指令周期和各种时序信号。

机器周期:机器周期是单片机的基本操作周期,每个机器周期包含S1、S2、?、S6这6个状态,每个状态包含两拍P1和P2,每一拍为一个时钟周期(振荡周期)。因此,一个机器周期包含12个时钟周期。依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。 指令周期:计算机从取一条指令开始,到执行完该指令所需要的时间称为指令周期。不同的指令,指令长度不同,指令周期也不一样。

9.如果时钟周期的频率为1MHz,那么ALE信号的频率为多少? 答:1/6MHZ(每个机器周期出现两次,取两次指令)

第三章

1.(简答) 在MCS-51单片机中,寻址方式有几种?

答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、★存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方

式)和位寻址,指令的寻址有绝对寻址和相对寻址。

3. 在MCS-51单片机中,哪些寻址方式访问的是片外RAM? 答:只有寄存器间接寻址方式访问片外RAM寻址。

5. 在MCS-51单片机中,相对寻址方式的目的地址如何计算? 答:目的地址=当前PC+rel=转移指令的地址+转移指令的字节数+rel 7.(写指令,数据传送) 写出完成下列操作的指令。 (1) R2的内容送到R3中。

MOV A,R2 MOV R3,A

(2) 片内RAM的30H单元内容送到片内RAM的40H单元中。

MOV 40H,30H

(3) 片内RAM的30H单元内容送到片外RAM的30H单元中。

MOV A,30H MOV R0,#30H MOVX @R0,A

(4) 片内RAM的20H单元内容送到片外RAM的2000H单元中。

MOV A,20H MOV DPTR,#2000H MOVX @DPTR,A

(5) 片外RAM的1000H单元内容送到片内RAM的20H单元中。

MOV DPTR,#1000H 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的2000H单元内容送到片内RAM的20H单元中。

MOV A,#0 MOV DPTR,#2000H MOVC A,@A+DPTR MOV 20H,A

(8) ROM的2000H单元内容送到片外RAM的1000H单元中。

MOV A,#0 MOV DPTR,#2000H MOVC A,@A+DPTR MOV DPTR,#1000H

MOVX @DPTR,A

12. 设(A)=83H,(R0)=20H,(20H)=34H,分析当执行完下面指令段后累加器A、R0、20H单元的内容。

ANL A,#17H ;A=03H ORL 20H,A ;(20H)=37H XRL A,@R0 ;A=34H

CPL A ;A=CBH 结果:A=CBH,(R0)=20H,(20H)=37H

13. (写指令,逻辑操作)写出完成下列要求的指令。

(1) 累加器A的低4位清零,其余位不变。 ANL A,#11110000B (2) 累加器A的高4位置“1”,其余位不变。 ORL A,#11110000B

(3) 累加器的高4位取反,其余位不变。 XRL A,#11110000B

(4) 累加器第0位、2位取反,其余位不变。 XRL A,#00000101B

RL循环左移,RR循环右移,RLC带进位循环左移,RRC带进位循环右移 17. 用位处理指令实现P1.4=P1.0? (P1.1?P1.2) ?/P1.3的逻辑功能。

程序:

MOV C,P1.1 ANL C,P1.2 ORL C,P1.0 ORL C,/P1.3 ;(/表示取反) MOV P1.4,C

19.(写程序段,数据传送) 编写程序将片外RAM的3000H单元开始存放的20个数传送到片内30H开始的单元。 程序:

MOV R0,#30H

MOV DPTR,#3000H MOV R2,#20

LOOP: MOVX A,@DPTR MOV @R0,A INC DPTR

INC R0 DJNZ R2,LOOP SJMP $

第四章

8. (写程序段,数据传送)编程实现将片外RAM的20H~30H单元的内容,全部移到片内RAM的20H单元的开始位置,并将原位置清零。

程序:

MOV R0,#20H MOV DPTR,#20H MOV R2,#11H

LOOP: MOVX A,@DPTR MOV @R0,A

MOV A,#00

MOVX @DPTR,A INC DPTR

INC R0

DJNZ R2,LOOP SJMP $

9.(写程序段,运算程序)编程将片外RAM的1000H单元开始的50个字节的数据相加,结果存放于R7R6中。

MOV DPTR,#1000H MOV R2,#50 MOV R7,#00 MOV R6,#00

LOOP: MOVX A,@DPTR ADD A,R6 MOV R6,A MOV A,R7 ADDC A,#0 MOV R7,A INC DPTR DJNZ R2,LOOP SJMP $

11.(写程序段,数据转换)用查表的方法实现将R2中一位十六进制数转换成ASCII码并放回R2。 程序:(设一位十六进制数放在R2中,轮换的ASCII也放于R2中) C16STASC:MOV DPTR,#TAB MOV A,R2 MOVC A,@A+DPTR MOV R2,A RET

TAB:DB 30H,31H,32H,33H,34H,35H,36H,37H

DB 38H,391H,41H,42H,43H,44H,45H,46H 方法二:

一位十六进制数有16个符号0-9,A,B,C,D,E,F。其中0-9的ASCII码为30H-39H,A-F的ASCII码为41H-46H。转换时,只要判断十六进制数是在0-9之间还是在A-F之间,如在0-9之间,加30H,如在A-F之间,加37H。

ORG 0200H MOV A,R2 CLR C

SUBB A,#0AH MOV A,R2 JC ADD30 ADD A,#07H

ADD30:ADD A,#30H MOV R2,A RET

13.(综合题) 8051系统中,已知振荡频率为12MHz,用定时/计数器T0,使P1.0输出周期为2ms的方波。要求分别用汇编语言和C语言进行编程。

本文来源:https://www.bwwdw.com/article/hez5.html

Top