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

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

第一章习题参考答案

1-1 :何谓单片机?与通用微机相比,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器 (CPU) 、存储器、 I/O 接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。

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

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

并行处理、多级高速缓冲 (Cache) 技术等。 CPU的主频达到数百兆赫兹 (MHz) ,字长普遍达到 32 位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的 CPU大多不支持浮点运算, CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用 4 位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用 16 位字长单片机, 32 位单片机产品目前应用得还不多。

(2)两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU 对数据的

存取速度。现今微机的内存容量达到了数百兆字节 (MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上, CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为 64 KB 。

(3)两者都有 I/O 接口,但通用微机中 I/O 接口主要考虑标准外设 ( 如 CRT、标准键盘、鼠标、打印机、硬盘、光盘等 ) 。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O 接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。

另外,单片机的微处理器 (CPU)、存储器、 I/O 接口电路集成在一块芯片上,而通用微机的微处理器 (CPU)、存储器、 I/O 接口电路一般都是独立的芯片

1-4 IAP 、 ISP 的含义是什么?

ISP: In System Programable ,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的 FLASH上),但用户程序自身不可以对内部存储器做修改。

IAP:In Application Programable ,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。

1-6 51 单片机与通用微机相比 , 结构上有哪些主要特点 ?

( 1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM;

(2)采用面向控制的指令系统,位处理能力强;

( 3) I/O 引脚通常是多功能的;

( 4) 产品系列齐全,功能扩展性强;

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

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 位,寻址空间为 64KB ,数据总线位宽为 8位。同时在 P3口还 R/W 控制信号线。 I/O 口线的总数与地址总线和数据总线没有多大联系,只是说地址总线和数据总线需要占用一定的端口。像 AT89C2051 单片机,只有 15条 I/O 口线( P3.6没有引出,作为内部使用),分为 P1口(8 位)和 P3 口(7位),没有所谓的地址总线和数据总线,并且P1口并不完整,因为 P1.0和 P1.1被电压

比较器占用了。

2-3 51单片机的 EA, ALE,PSEN 信号各自功能是什么?

EA :为片外程序存储器选用端 ,该引脚有效(低电平)时,只选用片外程序存储器 ,否则单片机上电或复位后选用片内程序存储器。

ALE :地址锁存有效信号输出在访问片外程序存储器期间 ,ALE 以每机器周期两次进行信号输出 ,其下降沿用于控制锁存 P0 输出的低 8 位地址 ;在不访问片外程序存储器期

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

PSEN:片外程序存储器读选通信号输出端,低电平有效。

2-4 51 系列单片机有哪些信号需要芯片引脚的第二功能方式提供

P3.0 : RxD 串行口输入端

P3.1 : TxD 串行口输出端

P3.2 : INT0 外部中断 0 请求输入端,低电平有效

P3.3 : INT1 外部中断 1 请求输入端,低电平有效

P3.4 :T0 定时/计数器 0 技术脉冲输入端

P3.5 :T1 定时/计数器 1 技术脉冲输入端

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

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

2-5 51 系列单片机的程序状态字 PSW 中存放什么信息?其中的 OV 标志位在什么情况下被置位?置位是表示什么意思?

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

2)做减法时,最高位,次高位之一借位则 OV 被置位

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

4)执行除法指令 DIV AB,如果 B中所放除数为 0 ,OV=1

?0V=1 ,置位反映运算结果超出了累加器的数值范围

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

①工作寄存器区用于临时寄存 8位信息,分成 4 组,每组有 8个寄存器,每次只用

1 组,其他各组不工作

②位寻址区( 20H~2FH ),这 16 个单元的每一位都赋予了一个位地址,位地址范围为 00H~7FH ,位寻址区的每一位都可能当作软件触发器,由程序直接进行位处理。③由于工作寄存器区,位寻址区,数据缓冲区统一编址,使用同样的指令访问,因此这三个区既有自己独特的功能,又可统一调度使用,前两个已未使用的单元也可作为一般的用户 RAM 单元。

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

?堆栈是按先进后出或后进先出的远侧进行读/写的特殊 RAM 区域

51 单片机的堆栈区时不固定的,可设置在内部 RAM 的任意区域内?当数据压入堆栈时, SP 的内容自动加 1,作为本次进栈的指针,然后再存取数据SP的值随着数据的存入而增加,当数据从堆栈弹出之后, SP的值随之减少,复位时, SP 的初值为 07H ,堆栈实际上从 08H 开始堆放信息,即堆栈初始位置位于工作寄存器区域内,所以要重新赋值

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

?时钟周期: 2 个 CPU 振荡脉冲信号的周期机器周期:一个机器周期包含 6 个状态周期指令周期:执行一条指令所占用的全部时间 12MHZ 时,一条双周期指令周期时间为 2us 6MHZ 时,一条双周期指令周期时间为 4us

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

2-16 定时器 /计数器的门控方式与非门控方式有何不同?使用中怎么样选择哪种

工作 方式?初值应设置为多少(十六进制)?

?GATE :门控位,用于控制定时器 /计数器的启动是否受外部中断请求信号的影

响。

GATE=1,则定时器 /计数器 0 的启动受

INT0(P3.2) 控制,定时器 /计数器 动受芯

片引脚 INT1(P3.3) 控制

GATE=0,则定时器 /计数器的启动与引 INT0 、

INT1 无关,一般情况下 GA TE=0 2-18 51 单片机的五个中断源中哪几个中断源在 CPU 响应中断后可自动撤除中断

请求 , 哪几个不能撤除中断请求? CPU 不能撤除中断请求的中断源时, 用户应

采取什么措施? ?可自动撤除:计数器 T0`T1 的溢出中断 不可自动撤除:电平

触发的外部中断;发送接收中断

?1)电平触发的外部中断:由于 CPU 对 INTx 引脚没有控制作用,也没有相应的

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

2)串行口的发送 /接收中断:当串行口发送完或接收完一帧信息时, SCON 的

TI,RI

向 CPU 申请中断,响应中断后,接口电路不能自动将 TI 或 RT 清 0 ,用户需

采用软件 方法将 TI 或 RT 清 0,来撤除中断请求信号

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

钮复位

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

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

工作寄存器 0 组

( 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 :复位

后串行口工作在移位寄存器方式,且禁止串行口接收

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

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

选择位

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

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

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

合?

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

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

第三章参考答案

3- 1 何谓寻址方式? 51 单片机有哪几种寻址方式?这几种方式是如何寻址的?

?所谓寻址方式 ,就是 CPU 执行那个一条指令时怎样找到该指令所要求的操作数的方式。

?1)立即寻址:操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行,例如: MOV

A , #30H 指令中 30H 就是立即数。这一条指令的功能是执行将立即数 30H 传

送到累加器 A 中的操作。

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

3)寄存器间接寻址方式:由指令指出某一寄存器的内容作为操作数地址的寻址方法,例如: MOV A, @R,1 将以工作寄存器 R1中的内容为地址的片内 RAM单元的数据传送到 A 中去。

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

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

6)相对寻址:相对寻址是以当前程序计数器PC 值加上指令中给出的偏移量rel,而构

成实际操作数地址的寻址方法。它用于访问程序存储器,常出现在相对转移指令中。

7)位寻址:位寻址是在位操作指令中直接给出位操作数的地址,可以对片内RAM 中的

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

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

3- 3 访问片内 RAM 单元和特殊功能寄存器各有哪几种寻址方式?

?访问片内 RAM 有:立即寻址,寄存器寻址,寄存器间接寻址,直接寻址

? 特殊功能有:直接寻址

3- 4 若要完成以下的数据传送,应如何用51 的指令来完成。

(1)R0 的内容送到 R1 中。

MOV A, R1

MOV R0,A

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

MOV DPTR,#0020H

MOVX A,@DPTR

MOV R0,A

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

1) MOV A,#24 与 MOV A,24H

2) MOV A,R0 与 MOV A,@R0

3) MOV A,@R0 与 MOVX A,@R0

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

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

将 24H 单元的片内 RAM 内容送到 A 中。

2)前者为直接寻址,将 R0 单元的内容送到 A 中,后者为寄存器间接寻址,将

R0 中 的内容为地址的片内 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 位)。 B )= 02H ,( R0)= 30H ,( 30H )= A5H ,( A 和 PSW 的内容。

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

片内 RAM (7FH )=70H ,片外 RAM (2FFEH )=11H ,ROM (2FFEH )=64H ,试分别 写出

以下指令执行后目标单元的结果。 1) MOVX @DPTR,A

2) MOVX A,@R1

3) MOVC A,@A+DPTR

4) PUSH ACC ?1)(2FFEH)=02H

2)(A)=70H

3-6已知( A )= 7AH ,( 写出以下各条指令执行后 PSW) =80H , 1)XCH A , R0 (A) =30H,(PSW)=00H, 2)XCH A , 30H (A ) =A5H,(PSW)=00H

3)XCH A , @R0 (A )=A5H,(PSW)=00H

4)XCHD A , @R0 (A)=75H,(PSW)=01H

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

6)ADD A , R0 ( A ) =AAH,(PSW)=00H

7)ADD A , 30H ( A) =1FH,(PSW)=81H

8)ADD A , #30H (A )=AAH,(PSW)=00H

9)ADDC A , 30H (A)=20H,(PSW)=01H

10)SUBB

A , 30H (A)=D5H,(PSW)=85H 11) SUB

B A

, #30H ( A ) =4AH,(PSW)=01H 12)INC @R0 (A )=7AH,(PSW)=80H ;

13)MUL AB

R0)= 7AH ,

14)DIV AB

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)。 若以上二条同

时发生,或高 4 位虽等于 9 ,但低 4 位修正后有进位,则应加 66H 修正。

3- 9 设( A )=83H ,(R0)=17H ,(17H )=34H ,分析当执行下面的每条指令后目标

单元 的内容,及 4 条指令组成的程序段执行后 A 的内容是什么?

ANL A,#17H

;与 ORL 17H,A

;或 XRL A,@R0

;异或 CPL A

;取反 ANL A,#17H 10000011 与 00010111 = 0000 0011

ORL 17H,A 00110100 或 00000011 0011 0111

XRL

A,@R0 00110111异或 0000 0011 = 0011 0100 CPL A ~A 1100 1000 CBH

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。

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

转移地址是多少?

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

2513H 。

3-13 下面执行后( SP )=42H, (A ) = 40H, (B ) =40H , 并解释每条指令的作

用。

;起始地址为 2000H ;(SP )=40H ;(A )=30H ;调用 2500H 子程序 ;(A )<—( A )+10,(A )=40H ;(B )=40H

ORG 2000H

MOV SP,#40H

MOV A,#30H

LCALL 2500H

ADD A,#10H

MOV B,A

HERE:SJMP HERE

ORG 2500H ;起始地址为 2500H

MOV DPTR,#2009H ;( DPTR ) =2009H

PUSH DPL ;( SP ) =40H+1=41H

PUSH DPH ; (SP )=41H+1=42H

RET ; 返回

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

列 指令的执行结果。

(1)MOV 26H , C 1

(2)CPL A.0 1

(3)CLR P1.7 0

(4) ORL 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

DB 15, 20, 25, 30 (2005H )=15 , BEGIN : MOV A , R0 3-16 设 fosc=12MHZ, 定时器 /计数器 0 的初始化程序和中

断服务程序如下: MOV TH0,#0DH

MOV TL0,#0D0H

MOV TMOD,#01H

SETB TR0 ;中断服务程序

ORG 000BH

MOV TH0,#0DH

MOV TL0,#0D0H

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

2)相应的定时时间或计数值是多少?

3)为什么在中断服务程序中药重置定时器 /计数器的初值?

?1)方式 1

2)定时时间为: fosc=12MHZ Tcy=1us T=N*Tcy

=(65536-x )*Tcy 定时范围: 1~65536

计数值为: N=216 -x=65536-x 计数范围为: 1~65536

3)定时器 T0 的溢出对外无脉冲信号,重置定时器 /计数器的初值可以再形成计

数 脉冲

WORD :

FANG : EQU 1000H FANG=1000H

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

ZERO EQU 20H ; 零的统计 NEGETIVE EQU 21H ; 负数的统计 POSITIVE EQU

22H ; 正数的统计 COUNT EQU 100 ; 比较个数

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 晶振;设串行口工作于方式 1;定时器 /计数器 T1用作波特率发生器,工作于方式 2; PCON 中的 SMOD 位为 1;发送的波特率要求为 2400。

定时器 /计数器 T1 初值计算:

根据公式波特率 =2SMOD×溢出率 /32 有溢出率 =2400×16=38 400 溢出周期 =1/溢出率 =26 μs (此为定时器 /计数器的定时值)定时器初

值 =256-26=230=E6H

根据要求确定定时器 /计数器的 TMOD 中的方式控制字为 20H ,串行口SCON 中的控制字为 40H, PCON 控制字为 80H。则相应的发送程序如下:

TSTART : MOV TMOD ,#20H ;置定时器 /计数器 T1工作于方式 2 定时

MOV MOV MOV MOV MOV MOV PCON, #80H

TL1 ,

#0E6H

TH1, #E6H

SCON,#40H

R0,#30H

R7#10

;定时器 /计数器 T1 置初值

;定时器 /计数器 T1 置重装数

;置串行口工作于方式 1

;R0 作地址指针,指向数据块首址

; R7 作循环计数器,置以发送 =

字节数

SETB TR1 ;启动定时器 /计数器 T1

LOOP : MOV A , @R0 ;取待发送的一个字节

MOV C,P ;取奇偶标志,奇为 1,偶为 0

MOV A.7,C ;给发送的 ASCII 码最高位加偶校验位

MOV SBUF,A ;启动串行口发送

WAIT :JNB TI , WAIT ;等待发送完毕

CLR TI ;清 TI 标志,为下一个字节发送

作准备

INC R0 ;指向数据块下一个待发送字节的

地址

DJINZ R7,LOOP ;循环发送,直到数据块发送完毕

第四章参考答案

4-1 何谓单片机的最小系统?★所谓最小系统,是指一个真正可用的单片机最小配置系统。对于片内带有程序存储器的单片机,只要在芯片上对外接时钟电路和复位电路就能达到真正可用,就是最小系统。

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

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

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

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

4-7 存储器芯片地址引脚数与容量有什么关系?

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

4-10 采用 2764( 8K*8 )芯片扩展程序存储器,分配的地址范围为4000H~7FFFH 。采用

完全译码方式,试确定所用芯片数目,分配地址范围,画出地址译码关系图,设计译码电路,画出与单片机的连接图。

★7FFFH-4000H+1=4000H=16KB 因为 2764 为 8K*8 所以需要 2 片芯片

第一片地址为范围为: 4000H~5FFFH

第二片地址为范围为: 6000H~7FFFH 译码关系图:

第六章参考答案

6-9 何谓静态显示?何谓动态显示?两种显示方式各有什么优缺点?

★静态显示: LED 工作在静态显示方式下,共阴极接地或共阳极接 +5V ;每一位的段选线

( a~g, dp)与一个 8 位并行 I/O 口相连。

优点:显示器每一位可以独立显示,每一位由一个 8 位输出口控制段选码,故在同一个时刻各位可以独立显示不同的字符。

缺点: N 位静态显示器要求有 N×8 根 I/o 口线,占用 I/o 口线较多,故在位数较多时往往采用动态显示。

★ 动态显示: LED 动态显示是将所有位的段选线并接在一个 I/o 口上,共阴极端或共阳极端分别由相应的 I/o 口线控制。

优点:节约用线缺点:每一位段选线都接在一个 I/o 口上,因此每送一个段选码, 8 位就显示同一个字符,这种显示器是不能用的。解决这个问题利用人眼的视觉停留,从段选线 I/o 口上按位分别送显示字符的段选码,在位控制口也按相应的次序分别选通相应的显示位(共阴极送低电平,共阳极送高电平),选通位就显示相应字符,并保持几毫秒的延时,未选通位不显示字符(保持熄灭)。

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

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

6-22 单片机控制大功率对象时,为什么要采用隔离器进行接口?★由于继电器由吸合到断开的瞬间会产生一定的干扰,当吸合电流较大时,在单片机与继电器之间需要增加隔离电路。

常用的光耦器件的型号: 4N25 , 4N26~4N28,

TLP528,TLP124,TLP126,4N33,H11G1,H11GZ,H11G3

6-23 单片机与继电器线圈接口时,应注意什么问题?采取什么措施解决这些问题?★继电器由吸合到断开的瞬间会产生一定的干扰,因而使用于吸合电流很小的微型继电器

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

第七章习题参考答案

7-1 一般单片机应用系统由哪几部分组成?由硬件系统和软件系统两部分组成的。硬件系统是指单片机及扩展的存储器、外围设备及其接口电路等;软件系统包括监控程序和各种程序。

7-2 模拟量采集的前向通道包括哪些组成部分?有什么特点?一般包括变换器、隔离放大器、滤波器、采样保持器、多路电子开关、 A/D 转换器及其接口电路。

特点:

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

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

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

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

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

( 2)靠近伺服驱动现场,故后向通道的隔离对系统的可靠性影响很大;

( 3)输出控制要求不同,后向通道电路多种多样。

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

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

( 2)通道与接口设计;

( 3)系统抗干扰设计;

( 4)应用软件设计。

7-14 硬件调试的基本步骤是什么?先静态调试,第一步为目测,第二步为万用表测试,第三步为加电检查,第四步是联机检查;然后动态调试,一般是由近及远、由分到合。

7-15 软件调试中可用哪些程序运行方式?它们分别在何种场合下运用?单步运行:需要了解每条指令的执行情况时,或用于精确定位某一段程序范围内的错误所在;

断点运行:用于将故障定位在程序的一个小范围内连续运行:需要调试实时性操作(如中断等)。为准确地对错误进行定位,可使用连续加断点方式调试。

相关主题
相关文档
最新文档