您的当前位置:首页正文

单片机原理与应用习题答案(第三版)

2024-06-29 来源:易榕旅网
第一章习题参考答案

1-1 :何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器

单片机与通用微机相比在结构上的异同:

(1) 两者都有 CPU,但通用微机的 CPU主要面向数据处理,其发展主要围绕数据处理功能、 计算速度和精度的进一步提高。例如,现今微机的

CPU都支持浮点运算,采用流水线作业,

并行处理、多级高速缓冲 (Cache) 技术等。 CPU的主频达到数百兆赫兹 (MHz),字长普遍达到 32 位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据 处理功能比通用微机相对要弱一些, 围内; 在一些简单应用系统中采用 品目前应用得还不多。

(2) 两者都有存储器, 但通用微机中存储器组织结构主要针对增大存储容量和 存取速度。 现今微机的内存容量达到了数百兆字节

页等多种管理模式。 单片机中存储器的组织结构比较简单, 为 64 KB。

(3) 两者都有 I/O 接口,但通用微机中 I/O 接口主要考虑标准外设 ( 如 CRT、标准键盘、鼠 标、打印机、硬盘、光盘等

) 。用户通过标准总线连接外设,能达到即插即用。单片机应用

需有熟练的接口电路

系统的外设都是非标准的, 且千差万别, 种类很多。 单片机的 I/O 接口实际上是向用户提供 的与外设连接的物理界面。 用户对外设的连接要设计具体的接口电路, 设计技术。

另外,单片机的微处理器 (CPU)、存储器、 I/O 接口电路集成在一块芯片上,而通用微 机的微处理器 (CPU)、存储器、 I/O 接口电路一般都是独立的芯片 1-4 IAP 、ISP 的含义是什么?

ISP:In System Programable ,即在系统编程。用户可以通过下载线以特定的硬件时序 在线编程(到单片机内部集成的

IAP:In Application

FLASH上),但用户程序自身不可以对内部存储器做修改。

Programable ,即在应用编程。用户可以通过下载线对单片机进行

CPU对数据的

(MB),存储体系采用多体、 并读技术和段、

存储器芯片直接挂接在单片机的

计算速度和精度也相对要低一些。

例如, 现在的单片机

8 位字

产品的 CPU大多不支持浮点运算, CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范

4 位字长的 CPU,在中、小规模应用场合广泛采用

长单片机,在一些复杂的中、大规模的应用系统中才采用

16 位字长单片机, 32 位单片机产

(CPU)、存储器、 I/O 接口电路和相应实时控

制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。

总线上, CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都

在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51 单片机与通用微机相比 , 结构上有哪些主要特点 ?

(1)单片机的程序存储器和数据存储器是严格区分的,前者为 (2)采用面向控制的指令系统,位处理能力强; (3)I/O 引脚通常是多功能的; (4) 产品系列齐全,功能扩展性强;

(5) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面。

ROM,后者为 RAM;

1-7 51 单片机有哪些主要系列产品 ?

(1) Intel 公司的 MCS-51 系列单片机:功能比较强、价格比较低、较早应用的单片

机。此系列三种基本产品是:

8031/8051/8751;

(2) ATMEL 公司的 89 系列单片机:内含 Flash 存储器,开发过程中可以容易地进

行程序修改。有 8 位 Flash 子系列、 ISP_Flash 子系列、 I2C_Flash 子系列;

(3) SST 公司的 SST89 系列单片机: 具有独特的超级 Flash 技术和小扇区结构设计,

采用 IAP 和 ISP 技术;

(4) PHILIPS 公司的增强型 80C51 系列单片机:其产品类型较完整,包括通用型、

Flash 型、OTP 型和低成本型, 主要产品系列包括 P80、P87、P89、LPC76、LPC900 等。

第二章习题参考答案

2-1 51 单片机内部包含哪些主要逻辑功能部件? (1)一个 8 位微处理器 CPU。

(2)256B 数据存储器 RAM 和特殊功能寄存器 SFR。 (3)4K 程序存储器 ROM 。

(4)两个定时 /计数器,用以对外部事件进行计数,也可用作定时器。

(5)四个 8 位可编程的 I/O(输入 /输出)并行端口,每个端口既可做输入,也可做输出。 (6)一个串行端口,用于数据的串行通信

(7)1 个可管理 5 个中断源、 2 级优先嵌套的中断管理系统; 。 (8)片内振荡器及时钟发生器。

2-2 MCS-51 引脚中有多少 I/O 总线?它们和单片机对外的地址总线和数据总线有什么关系 地址总线和数据总线各是几位?

32 条 I/O 口线,分为 4 组,每组 8 条,称为 P0~P3 口,P0 口有 8 位数据总线和地址总 线的低 8 位,P2 口有地址总线的高 8 位,因此单片机的地址总线位是

16 位,寻址空间为

像 AT89C2051

64KB ,数据总线位宽为 8 位。 同时在 P3 口还 R/W 控制信号线。 I/O 口线的总数与地址总线 和数据总线没有多大联系, 只是说地址总线和数据总线需要占用一定的端口。 (7 位),没有所谓的地址总线和数据总线,并且 比较器占用了。

2-3 51 单片机的 EA, ALE,PSEN 信号各自功能是什么? EA :为片外程序存储器选用端

,该引脚有效 (低电平 )时,只选用片外程序存储器 ,否则单片机

,ALE 以每机器周期两次进行信号

上电或复位后选用片内程序存储器。

ALE :地址锁存有效信号输出在访问片外程序存储器期间

输出 ,其下降沿用于控制锁存 定时目的 .

PSEN:片外程序存储器读选通信号输出端,低电平有效。 2-4 51 系列单片机有哪些信号需要芯片引脚的第二功能方式提供 P3.0 :RxD 串行口输入端 P3.1 :TxD 串行口输出端 P3.2 :INT0 P3.3 :INT1 P3.4 :T0 P3.5 :T1

外部中断 0 请求输入端,低电平有效 外部中断 1 请求输入端,低电平有效 定时/计数器 0 技术脉冲输入端 定时/计数器 1 技术脉冲输入端

?

P0 输出的低 8 位地址 ;在不访问片外程序存储器期

单片机,只有 15 条 I/O 口线( P3.6 没有引出,作为内部使用) ,分为 P1 口(8 位)和 P3 口

P1 口并不完整,因为 P1.0 和 P1.1 被电压

?

间,ALE 端仍以上述频率 (振荡频率 fosc 的 1/6)出现,可作为对外输出的时钟脉冲或用于

P3.6 :WR 外部数据存数器写选通信信号输出端,低电平有效 P3.7 :RD 外部数据存数器读选通信信号输出端,低电平有效

2-5 51 系列单片机的程序状态字 被置位?置位是表示什么意思?

PSW 中存放什么信息?其中的 OV 标志位在什么情况下

●PSW 是一个 8 位标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。 ●1)做加法时,最高位,次高位之一有进位则 2)做减法时,最高位,次高位之一借位则

OV 被置位 OV 被置位

3)执行乘法指令 MUL AB ,积大于 255,OV=1

4)执行除法指令 DIV AB ,如果 B 中所放除数为 0 ,OV=1 ●0V=1 ,置位反映运算结果超出了累加器的数值范围

2-9 片内 RAM 低 128 单元划分为哪几个区域?应用中怎么样合理有效的使用? ●工作寄存器区,位寻址区,数据缓冲区 ①工作寄存器区用于临时寄存 他各组不工作

②位寻址区( 20H~2FH ),这 16 个单元的每一位都赋予了一个位地址,位地址范围为 00H~7FH ,位寻址区的每一位都可能当作软件触发器,由程序直接进行位处理。 ③由于工作寄存器区,位寻址区,数据缓冲区统一编址, RAM 单元。

2-10 51 系列单片机的堆栈与通用微机中的堆栈有何异同?在程序设计时,为什么要对堆 栈指针 SP 重新赋值?

●堆栈是按先进后出或后进先出的远侧进行读 51 单片机的堆栈区时不固定的,可设置在内部 随着数据的存入而增加,当数据从堆栈弹出之后, 新赋值

2-13 什么是时钟周期,机器周期和指令周期?当振荡频率为 的执行时间是多少?

●时钟周期: 2 个 CPU 振荡脉冲信号的周期 机器周期:一个机器周期包含

6 个状态周期

2us 4us

指令周期:执行一条指令所占用的全部时间 12MHZ 时,一条双周期指令周期时间为 6MHZ 时,一条双周期指令周期时间为

6MHZ 时,一条双周期指令

/写的特殊 RAM 区域

RAM 的任意区域内

SP的值 所以要重

SP 的值随之减少,复位时, SP 的初值为

使用同样的指令访问,因此这三个

区既有自己独特的功能,又可统一调度使用,前两个已未使用的单元也可作为一般的用户

8 位信息, 分成 4 组,每组有 8 个寄存器, 每次只用 1 组, 其

●当数据压入堆栈时, SP 的内容自动加 1,作为本次进栈的指针,然后再存取数据 07H,堆栈实际上从 08H 开始堆放信息, 即堆栈初始位置位于工作寄存器区域内,

2-14 定时器 /计数器定时与计数的内部工作有何异同?

●定时工作模式和技术工作模式的工作原理相同,只是计数脉冲来源有所不同: 处于计数器工作模式时,加法计数器对芯片端子

T0(P3.4) 或 T1(P3.5) 上的输入脉冲计数;

处于定时器工作模式时,加法计数器对内部机器周期脉冲计数。

2-15 定时器 /计数器有四种工作方式,它们的定时与计数范围各是多少?使用中怎样选择工

作方式 ?

●工作方式 0:定时范围: 1~8192us;计数值范围: 1~8192 工作方式 1:定时范围: 1~65536us;计数值范围: 1~65536 工作方式 2:定时范围: 1~256us;计数值范围: 1~256 工作方式 3:定时范围: 1~256us;计数值范围: 1~256

●通过 TMOD 来选择,低 4 位用于定时器 /计数器 0,高 4 位用于定时器 /计数器 1

M1,M0 :定时器计数器工作方式选择位

2-16 定时器 /计数器的门控方式与非门控方式有何不同?使用中怎么样选择哪种工作 方式?初值应设置为多少(十六进制)? ●GATE :门控位,用于控制定时器 动受芯片引脚 INT1(P3.3) 控制

GA TE=0,则定时器 /计数器的启动与引脚 INT0 、INT1 无关,一般情况下 GA TE=0 2-18 51 单片机的五个中断源中哪几个中断源在 哪几个不能撤除中断请求? ●可自动撤除:计数器

T0`T1 的溢出中断

CPU 对 INTx 引脚没有控制作用,也没有相应的中断

SCON 的 TI,RI

CPU 响应中断后可自动撤除中断请求

,

/计数器的启动是否受外部中断请求信号的影响。

GA TE=1,则定时器 /计数器 0 的启动受芯片引脚 INT0(P3.2) 控制,定时器 /计数器 1 的启

CPU 不能撤除中断请求的中断源时, 用户应采取什么措施?

不可自动撤除:电平触发的外部中断;发送接收中断 ●1)电平触发的外部中断:由于

请求标志位,因此需要外接电路来撤除中断请求信号。

2)串行口的发送 /接收中断:当串行口发送完或接收完一帧信息时, 向 CPU 申请中断,响应中断后,接口电路不能自动将 方法将 TI 或 RT 清 0,来撤除中断请求信号

2-21 使单片机复位有几种方式?复位后单片机的初始状态如何? ●上电复位,按钮复位

●(PC)=0000H :程序的初始入口地址为 组

(SP)=07H: 复位后堆栈早起片内 RAM 的 08H 单元处建立

TH1 、TL0 、TH0 、TL0: 他们的内容为 00H,定时器 /计数器的初值为 0 (TMOD )=00H: 复位后定时器 /计数器 T0、T1 定时器方式 0,非门控方式

(TCON )=00H: 复位后定时器 /计数器 T0、T1 停止工作, 外部中断 0、1 为电平触发方 式

(T2CON) =00H :复位后定时器 /计数器 T2 停止工作

(SCON)=00H :复位后串行口工作在移位寄存器方式,且禁止串行口接收

0000H

0

(PSW) =00H :由于 RS1(PSW.4)=0,RS0(PSW.3)=0,复位后单片机选择工作寄存器

TI 或 RT 清 0,用户需采用软件

(IE)=00H: 复位后屏蔽所有中断

(IP)=00H: 复位后所有中断源都直指为低优先级

P0~P3:锁存器都是全 1 状态,说明复位后 4 个并行接口设置为输入口

2-23 合?

51 单片机串行口有几种工作方式?这几种工作方式有何不同?各用于什么场

●有 4 种工作方式:方式 0、方式 1、方式 2、方式 3

工作方式:方式 0 移位寄存器方式 ;方式 1、方式 2、方式 3 都是异步通信方式 场合:方式 0 不用于通信,而是通过外接移位寄存器芯片实现扩展 1 用于双机通信;方式 2、3 主要用于多机通信,也可用于双机通信

第三章参考答案

3-1 何谓寻址方式? 51 单片机有哪几种寻址方式?这几种方式是如何寻址的? ●所谓寻址方式 ,就是 CPU 执行那个一条指令时怎样找到该指令所要求的操作数的方 式。

●1)立即寻址:操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分 与操作码一起存放在程序存储器中,可以立即得到并执行,例如: 令中 30H 就是立即数。这一条指令的功能是执行将立即数 作。

2) 寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地 址。例如 MOV A,R0,即将 R0寄存器的内容送到累加器 如:MOV A,@R,1 将以工作寄存器 中去。

4)直接寻址: 指令中直接给出操作数所在的存储器地址,以供取数或存数的寻址方式 称为 直接寻址。例如: MOV A ,40H 指令中的源操作数就是直接寻址, 的地址。该指令的功能是把片内

RAM 地址为 40H 单元的内容送到 A 中

5)变址寻址:基地址寄存器加变址寄存器间接寻址

6)相对寻址:相对寻址是以当前程序计数器 PC 值加上指令中给出的偏移量 rel,而构 成实际操作数地址的寻址方法。它用于访问程序存储器,常出现在相对转移指令中。 7)位寻址: 位寻址是在位操作指令中直接给出位操作数的地址, 128

可以对片内 RAM 中的

40H 为操作数

A中。

RAM单元的数据传送到

A

3) 寄存器间接寻址方式:由指令指出某一寄存器的内容作为操作数地址的寻址方法,例

R1中的内容为地址的片内

MOV

A,#30H 指

30H 传送到累加器 A 中的操

I/O 口的功能;方式

位和特殊功能寄存器 SFR 中的 93 位进行寻址。

3-2 访问片内、片外程序存储器有哪几种寻址方式? ●采用基址寄存器加变址寄存器间接寻址方式 MOVC A,@A+DPTR

MOVC A,@A+PC

3-3 访问片内 RAM 单元和特殊功能寄存器各有哪几种寻址方式? ●访问片内 RAM 有:立即寻址,寄存器寻址,寄存器间接寻址,直接寻址 ● 特殊功能有:直接寻址

3-4 若要完成以下的数据传送,应如何用 (1)R0 的内容送到 R1 中。

MOV

A, R1

51 的指令来完成。

MOV R0,A

(2)外部 RAM 的 20H 单元内容送 R0,送内部 RAM 的 20H 单元。

MOV MOVX MOV

DPTR,#0020H A,@DPTR R0,A

3-5 试比较下列每组两条指令的区别 1)MOV 2)MOV 3)MOV

A,#24 与 MOV A,R0 与 MOV

A,24H A,@R0

A,@R0

24H R0 中

A,@R0 与 MOVX

4)MOV A,@R1 与 MOVX A,@DPTR

●1)前者为立即寻址,将立即数 24H 单元的内容送到 A 中;后者为直接寻址,将 单元的片内 RAM 内容送到 A 中。

2)前者为直接寻址,将 R0 单元的内容送到 A 中,后者为寄存器间接寻址,将 的内容为地址的片内 RAM 单元的数据送到 A 中。 3)前者为寄存器间接寻址,将 后者为寄存器间接寻址,将

R0 中的内容为地址的片内

RAM 单元的数据送到 A;

R0 中的内容为地址的片外 RAM 单元的数据送到 A 中。

4)用 R1 做地址指针可寻址片内 RAM 的 256 个单元, 但能访问 SFR 块,也可 8 位地 址访问片外 RAM 的低 256 个地址单元 (00~ffH );用 DPTR 做地址指针, 用于访问片外 RAM 的 64KB 范围(0000~ffffH) (16 位)。

3-6 已知( A)= 7AH ,( B)= 02H ,( R0)= 30H,( 30H)= A5H ,( PSW)=80H , 写出以下各条指令执行后 A 和 PSW 的内容。 (1)XCH (2)XCH (3)XCH (4)XCHD (6)ADD (7)ADD (8)ADD (9)ADDC (10)SUBB (11)SUBB (13)MUL

A, R0 A, 30H

(A)=30H,(PSW)=00H, (R0)= 7AH , (A )=A5H,(PSW)=00H

A, @R0 (A )=A5H,(PSW)=00H A, @R0 (A)=75H,(PSW)=01H

(A)=A7H,(PSW)=01H

A, R0 (A)=AAH,(PSW)=00H A, 30H (A)=1FH,(PSW)=81H A, #30H

(A )=AAH,(PSW)=00H

A, 30H (A)=20H,(PSW)=01H A, 30H (A)=D5H,(PSW)=85H A , #30H (A)=4AH,(PSW)=01H AB

(5)SWAP A

(12)INC @R0 (A )=7AH,(PSW)=80H ; (14)DIV AB

3-7 已知( A)=02H ,(R1)=7FH,(DPTR)=2FFCH ,(SP)=30H ,

片内 RAM (7FH)=70H,片外 RAM (2FFEH)=11H,ROM (2FFEH)=64H ,试分别 写出以下指令执行后目标单元的结果。 1)MOVX 2)MOVX 3)MOVC 4)PUSH

@DPTR,A A,@R1 A,@A+DPTR ACC

●1)(2FFEH)=02H 2)(A)=70H

3)(A)=(02H+2FFCH )=(2FFEH )=64H 4)(31H)=02H 3-9 DA

A 指令有什么作用?怎样使用?

这条指令是进行 BCD 码运算时,跟在 ADD 或 ADDC 指令之后,将相加后存放在 累加器中的结果进行修正。 修正的条件和方法为:

若( A0~3)>9 或(AC)=1,则( A0~3)+06H →(A0 ~3); 若( A4~7)>9 或(CY)=1,则( A4~7)+06H →(A4 ~7)。 若以上二条同时发生,或高 修正。

3-9 设(A)=83H ,(R0)=17H ,(17H)=34H ,分析当执行下面的每条指令后目标单元 的内容,及 4 条指令组成的程序段执行后 A 的内容是什么? ANL ORL XRL ANL ORL XRL CPL

A,#17H 17H,A A,@R0

A,#17H 17H,A A,@R0 A

;与 ;或 ;异或 ;取反

10000011 与 00010111 = 0000 0011 00110100 或 00000011 = 0011 0111 00110111 异或 0000 0011 = 0011 0100 ~A 1100 1000 CBH

4 位虽等于 9 ,但低 4 位修正后有进位,则应加

66H

CPL A

3-10 请写出达到下列要求的逻辑操作的指令,要求不得改变未涉及位的内容 1)使累加器 A 的低位置‘ 1’ 2)清累加器 A 的高 4 位 3)使 A.2 和 A.3 置‘1’ 4)清除 A.3、A.4 、A.5、A.6 SETB ACC.1; ANL A,#0FH; ORL A,#00001100B ANL A,#10000111B

3-11 指令 LJIMP addr16 与 AJMP addr11 的区别是什么?

LJIMP addr16 是长转移, LCALL 的作用就是将 addr16 直接赋给 PC AJMP

addr11,在当前 PC 的 2KB 范围跳转(因为 addr11 就是 2KB ), 即 PC 高

addr11。

2500H,其

五位不变,低十一位等于

3-12 试说明指令 CJNE @R1, #7AH , 10H 的作用。若本条指令地址为

转移地址是多少?

当前地址

2500H。执行该指令后 PC 为 2503H,加上 10H 后,目标地址是 2513H。

(A) = 40H, (B) =40H , 并解释每条指令的作用。

3-13 下面执行后( SP)=42H, ORG 2000H MOV MOV LCALL ADD MOV

SP,#40H A,#30H 2500H A,#10H B,A

HERE

;起始地址为 2000H ;(SP)=40H ;(A )=30H

;调用 2500H 子程序

;(A )<—(A)+10,(A )=40H ;(B)=40H

HERE:SJMP

ORG 2500H MOV

DPTR,#2009H

PUSH DPL PUSH DPH RET

指令的执行结果。 (1)MOV 26H , C (2)CPL A.0 (3)CLR P1.7 (4)ORL

1 0 1

;起始地址为 2500H ;(DPTR)=2009H ;(SP)=40H+1=41H ; (SP)=41H+1=42H ;返回

3-14 已知 P1.7= 1 , A.0= 0 , C= 1 , FIRST=1000H , SECOND=1020H ,试写出下列

C, /P1.7 1

(5)FIRST : JC SECOND

(6)FIRST : JNB A.0 , SECOND (7)SECOND : JBC P1.7, FIRST 3-15 经汇编后,下列各条语句标号将是什么值? ORG 2000H TABLE : DS 5 WORD : DB FANG: EQU BEGIN : MOV

15, 20, 25, 30 (2005H)=15 , 1000H FANG=1000H A, R0

3-16 设 fosc=12MHZ, 定时器 /计数器 0 的初始化程序和中断服务程序如下: MOV MOV MOV :

;中断服务程序 ORG 000BH MOV MOV

: RETI

问:1)该定时器 /计数器工作于什么方式 ?

2)相应的定时时间或计数值是多少? 3)为什么在中断服务程序中药重置定时器 ●1)方式 1

2)定时时间为: fosc=12MHZ

T=N*Tcy =(65536-x)*Tcy

定时范围: 1~65536

16 -x=65536-x 计数值为: N=2

计数范围为: 1~65536

3)定时器 T0 的溢出对外无脉冲信号,重置定时器 脉冲

/计数器的初值可以再形成计数

Tcy=1us

/计数器的初值?

TH0,#0DH TL0,#0D0H TH0,#0DH TL0,#0D0H TMOD,#01H

SETB TR0

3-18 设有 100 个有符号数, 连续存放在以 2000H 为首地址的存储区中, 试编程统计其中 正数、负数、零的个数。

ZERO EQU 20H ; 零的统计 NEGETIVE EQU 21H ; 负数的统计 POSITIVE EQU 22H ; 正数的统计 COUNT ORG 0000H

LJMP MAIN ORG 0040H

MOV ZERO,#0 MOV NEGETIVE,#0 MOV POSITIVE,#0 MOV R2,#0

MOV DPTR,# 2000H LOOP: MOVX A,@DPTR

CJNE A,#0,NONZERO INC ZERO AJMP NEXT NONZERO: JC NEG

INC POSITIVE AJMP NEXT NEG: INC NEGETIVE NEXT: INC DPTR

INC R2

CJNE R2,#COUNT,LOOP SJMP $

3-20 51 单片机从串行口发送缓冲区首址为 30H 的 10 个 ASCII 码字符, 最高位用于奇偶 校验,采用偶校验方式,要求发送的波特率为 2400 波特,时钟频率? osc=12MHz ,试编 写串行口发送子程序。

单片机采用 12 MHz 晶振;设串行口工作于方式 定时器 /计数器 T1 初值计算:

SMOD × 溢出率 /32 有

EQU 100 ; 比较个数

1;定时器 /计数器 T1 用作波特率发

2400。

生器,工作于方式 2;PCON 中的 SMOD 位为 1;发送的波特率要求为

根据公式 波特率 =2

溢出率 =2400× 16=38 400

溢出周期 =1/溢出率 =26 μs (此为定时器 /计数器的定时值 ) 定时器初值 =256-26=230=E6H

根据要求确定定时器 /计数器的 TMOD 中的方式控制字为 20H,串行口 SCON

中的控制字为 40H,PCON 控制字为 80H。则相应的发送程序如下: TSTART :MOV

MOV MOV MOV MOV MOV MOV

TMOD ,#20H PCON, #80H TL1 ,#0E6H TH1 ,#E6H SCON,#40H R0,#30H R7,#10

;定时器 /计数器 T1 置初值 ;定时器 /计数器 T1 置重装数 ;置串行口工作于方式

1

;R0 作地址指针,指向数据块首址 ;R7 作循环计数器,置以发送 =字节数;置定时器 /计数器 T1 工作于方 式 2 定时

SETB

LOOP: MOV

MOV MOV MOV

WAIT :JNB

CLR INC DJINZ

TR1 A ,@R0 C,P A.7,C SBUF,A TI ,WAIT TI R0

R7,LOOP

;启动定时器 /计数器 T1

;取待发送的一个字节

;取奇偶标志,奇为 1,偶为 0 ;给发送的 ASCII 码最高位加偶校验位 ;启动串行口发送

;等待发送完毕

;清 TI 标志,为下一个字节发送作准备 ;指向数据块下一个待发送字节的地址

;循环发送,直到数据块发送完毕 第四章 参考答案

4-1 何谓单片机的最小系统?

★所谓最小系统,是指一个真正可用的单片机最小配置系统。 对于片内带有程序存储器的单片机, 真正可用,就是最小系统。

对于片外不带有程序存储器的单片机,除了在芯片上外接时钟电路和复位电路外,还需 外接程序存储器,才能构成一个最小系统。

4-5 什么是完全译码?什么是部分译码?各有什么特点?

★所谓部分译码,就是存储器芯片的地址线与单片机系统的地址线顺序相接后,剩余的 高位地址线仅用一部分参加译码。

特点:部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。 ★所谓全译码,就是存储器芯片的地址线与单片机系统的地址线顺序相接后,剩余的高 位地址线全部参加译码。

★特点:存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。 4-7 存储器芯片地址引脚数与容量有什么关系?

N

只要在芯片上对外接时钟电路和复位电路就能达到

★ 地址线的数目由芯片的容量决定, 容量(Q)与地址线数目 (N)满足关系式: Q=2

4000H~7FFFH 。采用

4-10 采用 2764(8K*8 )芯片扩展程序存储器,分配的地址范围为 电路,画出与单片机的连接图。 ★7FFFH-4000H+1=4000H=16KB

因为 2764 为 8K*8 所以需要 2 片芯片 第一片地址为范围为: 4000H~5FFFH 第二片地址为范围为: 6000H~7FFFH 译码关系图:

p2.7

P2.6

P2.5

P2.4

p2.3

P2.2

P2.1

P2.0

P0.7

P0.6

完全译码方式,试确定所用芯片数目,分配地址范围,画出地址译码关系图,设计译码

P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

A15 0 0

A14 1 1

A13 0 1

A12 * *

A11 * *

A10 * *

A9 * *

A8 * *

A7 * *

A6 * *

A5 * *

A4 * *

A3 * *

A2 * *

A1 * *

A0 * *

第六章 参考答案

6-9 何谓静态显示?何谓动态显示?两种显示方式各有什么优缺点? ★静态显示: LED 工作在静态显示方式下,共阴极接地或共阳极接 线(a~g,dp)与一个 8 位并行 I/O 口相连。 优点:显示器每一位可以独立显示,每一位由一个 时刻各位可以独立显示不同的字符。 缺点: N 位静态显示器要求有 往往采用动态显示。

★ 动态显示: LED 动态显示是将所有位的段选线并接在一个

阳极端分别由相应的 I/o 口线控制。 优点:节约用线

缺点:每一位段选线都接在一个

I/o 口上,因此每送一个段选码,

+5V ;每一位的段选

8 位输出口控制段选码,故在同一个

N× 8 根 I/o 口线,占用 I/o 口线较多,故在位数较多时

I/o 口上,共阴极端或共

8 位就显示同一个字

I/o 口上按

符,这种显示器是不能用的。解决这个问题利用人眼的视觉停留,从段选线

位分别送显示字符的段选码,在位控制口也按相应的次序分别选通相应的显示位(共阴 极送低电平,共阳极送高电平) ,选通位就显示相应字符,并保持几毫秒的延时,未选 通位不显示字符(保持熄灭) 。

6-14 设计一个内置 HD44780驱动控制器的字符型 LCM与 51 单片机的接口电路,并编写 在字符型液晶显示模块显示“

HELLO”字符的程序。

6-15 ADC0809的 8 路输入通道是如何选择的?试举例说明。 ★ ADDC 0 0 0 0 1 1 1 1

ADDB 0 0 1 1 0 0 1 1

ADDA 0 0 0 1 0 1 0 1

选通的通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

6-22 单片机控制大功率对象时,为什么要采用隔离器进行接口?

★由于继电器由吸合到断开的瞬间会产生一定的干扰,当吸合电流较大时,在单片机 与继电器之间需要增加隔离电路。

常用的光耦器件的型号: 4N25 ,4N26~4N28, TLP528,TLP124,TLP126,4N33,H11G1,H11GZ,H11G3 6-23 器

★当吸合电流比较大时,在单片机与继电器之间需要增加隔离电路。

单片机与继电器线圈接口时,应注意什么问题?采取什么措施解决这些问题?

因而使用于吸合电流很小的微型继电

★继电器由吸合到断开的瞬间会产生一定的干扰,

第七章习题参考答案

7-1 一般单片机应用系统由哪几部分组成?

由硬件系统和软件系统两部分组成的。硬件系统是指单片机及扩展的存储器、外围 设备及其接口电路等;软件系统包括监控程序和各种程序。 7-2 模拟量采集的前向通道包括哪些组成部分?有什么特点?

一般包括变换器、隔离放大器、滤波器、采样保持器、多路电子开关、 及其接口电路。

特点: (1) (2) (3)

与现场采集对象相连,是现场干扰进入的主要通道,是整个系统抗干扰设 计的重点部位;

采集对象多样,存在大量的、形式多样的信号变换调节电路;

是一个模拟、数字混合电路系统,电路功耗小,一般没有功率驱动要求。

A/D 转换器

7-3 后向通道有什么特点?

(1) 是输出通道,大多数需要功率驱动;

(2) 靠近伺服驱动现场,故后向通道的隔离对系统的可靠性影响很大; (3) 输出控制要求不同,后向通道电路多种多样。

7-5 单片机应用系统设计包括哪些主要内容?

(1) 单片机系统设计,包括最小系统设计和系统扩展设计;

(2) 通道与接口设计; (3) 系统抗干扰设计; (4) 应用软件设计。 7-14 硬件调试的基本步骤是什么?

先静态调试,第一步为目测,第二步为万用表测试,第三步为加电检查,第四步是 联机检查;然后动态调试,一般是由近及远、由分到合。

7-15 软件调试中可用哪些程序运行方式?它们分别在何种场合下运用?

单步运行:需要了解每条指令的执行情况时,或用于精确定位某一段程序范围内的 错误所在;

断点运行:用于将故障定位在程序的一个小范围内 连续运行:需要调试实时性操作(如中断等) 连续加断点方式调试。

。为准确地对错误进行定位,可使用

因篇幅问题不能全部显示,请点此查看更多更全内容