单片机原理与应用答案第二版李建忠.docx

上传人:b****7 文档编号:23537490 上传时间:2023-05-18 格式:DOCX 页数:15 大小:22.95KB
下载 相关 举报
单片机原理与应用答案第二版李建忠.docx_第1页
第1页 / 共15页
单片机原理与应用答案第二版李建忠.docx_第2页
第2页 / 共15页
单片机原理与应用答案第二版李建忠.docx_第3页
第3页 / 共15页
单片机原理与应用答案第二版李建忠.docx_第4页
第4页 / 共15页
单片机原理与应用答案第二版李建忠.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机原理与应用答案第二版李建忠.docx

《单片机原理与应用答案第二版李建忠.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用答案第二版李建忠.docx(15页珍藏版)》请在冰豆网上搜索。

单片机原理与应用答案第二版李建忠.docx

单片机原理与应用答案第二版李建忠

2-351单片机的EA,AL,PSEN信号个自动功能是什么?

EA:

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

ALE:

地址索存有效信号输出在访问片外程序存储器期间,ALE以每机器周期两次进行信号输出,其下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,ALE端仍以上述频率(振荡频率fosc的1/6)出现,可作为对外输出的时钟脉冲或用于定时目的.端,

PSEN:

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

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

●p1.0:

定时计数器2的计数脉冲输入端T2P1.1:

定时计数器2的外部控制端T2EX

P3.0:

PxD串行口输入端

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-551系列单片机的程序状态字PSW中存放什么信息?

其中的OV标志位在什么情况下被置位?

置位是表示什么意思?

●PSW是一个8位标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。

●1)做加法时,最高位,次高位之一有进位则OV被置位

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

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

4)执行处罚指令DIVAB,如果B中所放除数为0,OV=1

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

2-9片内RAM低128单元划分为哪几个区域?

应用中怎么样合理有效的使用?

●工作寄存器区,位寻址区,数据缓冲区

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

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

③由于工作寄存器区,位寻址区,数据缓冲区统一编址,使用同样的指令访问,因此这三个区的单眼既有自己独特的功能,又可统一调度使用,前两个已未使用的单元也可作为一般的用户RAM单元。

2-1051系列单片机的堆栈与通用微机中的堆栈有何异同?

在程序设计时,为什么要对堆栈指针sp重新赋值?

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

51单片机的堆栈区时不固定的,可设置在内部RAM的任意区域内

●当数据压入堆栈时,sp的内容自动加1,作为本次进栈的指针,然后再存取数据sp的值随着数据的存入而增加,当数据从堆栈弹出之后,sp的值随之减少,复位时,sp的初值为07H,堆栈实际上从08H开始堆放信息,即堆栈初始位置位于工作寄存器区域内,所以要重新赋值

2-13什么是时钟周期,机器中期和指令周期?

当晶振荡频率为6MHZ时,一条双周期指令的执行时间是多少?

●时钟周期:

cpu始终脉冲的重复周期(2个振荡周期)

机器周期:

一个机器周期包含6个状态周期

指令周期:

执行一条指令所占用的全部时间

12MHZ时,一条双周期指令周期时间为2us

6MHZ时,一条双周期指令周期时间为1us

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:

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

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

GATE=0,则定时器/计数器的启动与引脚INT0、INT1无关,一般情况下GATE=0

@2-1851单片机的五个中断源中哪几个中断源在CPU响应中断后可自动撤除中断请求,哪几个不能撤除中断请求?

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

●可撤除:

计数器T0`T1的溢出中断

不可撤除:

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

●1)触发的外部中断:

由于CPU对INYx引脚没有控制作用,也没有相应的中断请求标志位,因此需要外接电路来撤除中断请求信号。

2)串行口的发送/接收中断:

当串行口发送完或接收完一帧信息时,SCON的TI,RT向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:

复位后屏蔽所有中断

(IP)=00H:

复位后所有中断源都直指为低优先级

P0~P3:

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

2-22画出一种实用的复位电路

2-2351单片机串行口有几种工作方式?

这几种工作方式有何不同?

各用于什么场合?

●有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)寄存器寻址:

操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地址。

例如MOVA,R0,即将R0寄存器的内容送到累加器A中。

3)寄存器间接寻址方式:

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

MOVA,@R1,将以工作寄存器R1中的内容为地址的片内RAM单元的数据传送到A中去。

4)直接寻址:

指令中直接给出操作数所在的存储器地址,以供取数或存数的寻址方式称为直接寻址。

例如:

MOVA,40H指令中的源操作数就是直接寻址,40H为操作数的地址。

该指令的功能是把片内RAM地址为40H单元的内容送到A中

5)变址寻址:

基地址寄存器加变址寄存器间接寻址

6)相对寻址:

相对寻址是以当前程序计数器PC值加上指令中给出的偏移量rel,而构成实际操作数地址的寻址方法。

它用于访问程序存储器,常出现在相对转移指令中。

7)位寻址:

位寻址是在位操作指令中直接给出位操作数的地址,可以对片内RAM中的128位和特殊功能寄存器SFR中的93位进行寻址。

3-2访问片内、片外程序存储器有哪几种寻址方式?

●采用基址寄存器加变址寄存器间接寻址方式

MOVCA,@A+DPTRMOVCA,@A+PC

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

●访问片内RAM有:

立即寻址,寄存器寻址,寄存器间接寻址,直接寻址

●特殊功能有:

直接寻址

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

1)MOVA,#24与MOVA,24H

2)MOVA,R0与MOVA,@R0

3)MOVA,@R0与MOVXA,@R0

4)MOVA,@R1与MOVXA,@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位)

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

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

1)MOVX@DPTR,A

2)MOVXA,@R1

3)MOVCA,@A+DPTR

4)PUSHACC

●1)(2FFEH)=02H

2)(A)=70H

3)(A)=(02H+2FFCH)=(2FFEH)=64H

4)(31H)=02H

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

ANLA,#17H;与

ORL17H,A;或

XRLA,@R0;异或

CPLA;取反

3-11请写出达到下列要求的逻辑操作的指令,要企鹅不得改变为涉及位的内容

1)使累加器A的低位置‘1’

2)清累加器A的高4位

3)使A.2和A.3置‘1’

4)清除A.3、A.4、A.5、A.6

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

ORG2000H;起始地址为2000H

MOVSP,#40H;(SP)=40H

MOVA,#30H;(A)=30H

LCALL2500H;调用2500H子程序

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

MOVB,A;(B)=40H

HERE:

SJMPHERE

ORG2500H;起始地址为2500H

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

PUSHDPL;(SP)=40H+1=41H

PUSHDPH;(SP)=41H+1=42H

RET;返回

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

MOVTH0,#0DH

MOVTL0,#0D0H

MOVTMOD,#01H

SETBTR0

:

;中断服务程序

ORG000BH

MOVTH0,#0DH

MOVTL0,#0D0H

:

RETI

问:

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

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

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

●1)方式1

2)定时时间为:

fosc=12MHZTcy=1us

T=N*Tcy

=(65536-x)*Tcy

定时范围:

1~65536

计数值为:

N=216-x=65536-x

计数范围为:

1~65536

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

3-23编写一个延时1ms的子程序

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

译码关系图:

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

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

0

0

0

*

*

*

*

*

*

*

*

*

*

*

*

*

0

0

1

*

*

*

*

*

*

*

*

*

*

*

*

*

连接图

4-12)某单片机系统用8255A扩展I/O口,设其A口为方式一输入,B口为方式一输出,C口余下的口线用于输出。

是确定其方式控制字;设A口为允中,B口禁中,试确定相应的置位/复位字。

★书P114,方式选择控制字C口置位/复位控制字

A口允中,即置位:

0000×××1

B口禁中,即复位:

0000×××0

4-13)试设计用两片74LS377和74LS244扩展8051的两个输出口和两个输入口的扩展连接电路图。

4-15)试设计用两片74LS164在8051串行口扩展两个并行输入口的扩展连接电路图,并编写把片内RAM的30H,31H单元的数从扩展的两个口输出的程序。

5-1)什么是单片机的扩展总线?

串行扩展总线与并行扩展总线相比有哪些特点?

目前单片机应用系统中较为流行的串行扩展总线有哪些?

★扩展总线:

由于数据线与低8位地址线复用P0口,为了把它们分离与片外芯片相连,通常要加锁存器才能构成总线结构。

★主要有I2C、SPI、单总线(1-wire)、Microwire

5-4)PC机通过RS-232接口与51单片机通信时,通过什么方式完成RS-232C到TTL电平转换?

★使用时必须加上适当的电平转换电路芯片

6-4)简述单片机对行列式键盘的扫描过程或画出流程图。

书P168

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”字符的程序。

★P187图

6-16)ADC0809的8路输入通道是如何选择的?

试举例说明。

ADDC

ADDB

ADDA

选通的通道

0

0

0

IN0

0

0

0

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

6-17)设有一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,并依次存放在片内RAM区从30H开始的8个单元内。

试编写采集一遍数据的主程序和中断服务程序。

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

试编写一些常用的光耦器件的型号。

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

4N25,4N26~4N28,TLP528,TLP124,TLP126,4N33,H11G1,H11GZ,H11G3

6-25)单片机与继电器线圈接口时,应注意什么问题?

采取什么措施解决这些问题?

★继电器由吸合到断开的瞬间会产生一定的干扰,因而使用于吸合电流很小的微型继电器

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

8-2)51单片机能直接进行处理的C51的数据处理类型有哪几种?

★在51单片机中,只有bit和unsignedchar两种直接支持机器指令。

8-5)简述C51存储类型与51单片机存储空间的对应关系?

存储类型

与存储空间的对应关系

Code

程序存储器区,64kb,通过movc@A+DPTR访问

Data

直接寻址的片内数据存储区,128B,可在一个周期内直接寻址

Bdata

可位寻址的片内数据存储区,允许位和字节的混合寻址,16B

Idata

间接寻址的片内数据存储区,256B,可以访问整个内部地址空间256B

Pdata

分页寻址片外数据存储区,256B,通过MOVX@Ri访问(i=0,1)

Xdata

片外数据存储区,64KB,通过MOVX@DPTR访问

8-6)C51中51单片机的特殊功能寄存器如何定义?

试举例说明。

★Sfrsfr_name=int_constant

↓↓↓

关键字特殊功能寄存器名整型常数,是sfr_name的字节地址

例:

sfrP0=0x80;/*P0,地址为80H*/

8-8)C51中使用51单片机的位单元的变量如何定义?

试举例说明。

★Bitmy_bit;/*把my_bit定义为位变量*/

Bitdone_flag=0;/*把done_flag定义为位变量*/

8-14)设fose=6MHz,利用定时器0的方式1在P1.6口产生一串50HZ的方波。

定时器溢出时采用中断方式处理。

#include

SbitP1_6=P1^6;

Voidtime(void)interrupt1using1

{P1_0=!

P1_0;

TH0=15H;

TL0=96H;

}

Voidmain(void)

{TMOD=0x01;

P1_6=0;

TH0=15H;

TL0=96H;

EA=1;

ET0=1;

TR0=1;

Do{}while

(1);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1