导航:首页 > 操作系统 > 单片机原理与开发技术答案

单片机原理与开发技术答案

发布时间:2023-06-03 19:16:23

A. 单片机原理与应用习题答案

一、 填空题(每空1分,共30分)
1. 8031的片内ROM是 (0) KB;8052的片内ROM是 (4) KB。
2. 8031的PSW中RS1 =0、RS0 = 1,工作寄存器R0~R7的地址为 (08H~0FH) 。
3. 8031上电复位后,SP的初值为 (07H) 、PC的初值为 (0000H) 、P2的初值为 (0FFFFH) 。
4. 8031内部SFR的P1字节地址为 (90H) ;对应的位地址 (??) 。
5. 在8051单片机系统中,控制线/EA接 (高/低) 电平;在8051单片机系统中,若仅用片内ROM时控制线/EA接 (高) 电平。
6. P3口中P3.5位的第二功能符号为 (T1计数端口) 。
7. 若要从8031的P1.7位输入数据必须对该位先 (输入1) 。
8. 若要对8031复位,RST端应保持高电位 (24) 个振荡周期。
9. 8031的5个中断源为自然优先级的入口地址为 (0003H) 。
10. 若要将累加器A中数据送入外部RAM地址7000H中,应使用的指令是 (MOV DPTR #7000H) 和 (MOVX @DPTR A) 。
11. 8031串行口为工作方式0时,若主频为6MHz,则TXD输出频率为 (0.5) MHz。
12. 8031的T0中断标志位是TF0,当有中断请求时,TF0 = (1) , 当进入中断服务程序时TF0 = (0) 。

B. 求单片机原理及接口技术 试题及答案

单片机模拟试卷001
一、选择题(每题1分,共10分)
1.8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能。
a)P0 b)P1 c)P2 d)P3
2.单片机应用程序一般存放在( )
a) RAM b)ROM c)寄存器 d)CPU
3.已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( )
a) 7542H b) 7542 c) 75.42H d) 75.42
4.下列指令中不影响标志位CY的指令有( )。
a)ADD A,20H b)CLR c)RRC A d)INC A
5.CPU主要的组成部部分为( )
a)运算器、控制器 b)加法器、寄存器
c)运算器、寄存器 d)运算器、指令译码器
6.INTEL 8051 CPU是( )位的单片机
a) 16 b)4 c)8 d)准16
7.8031复位后,PC与SP的值为( )
a )0000H,00H b) 0000H,07H c) 0003H,07H d)0800H,00H
8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为( )。
a)MOV A, @R1 b)MOVC A, @A + DPTR
c)MOVX A, @ R0 d)MOVX A, @ DPTR
9.8031单片机中既可位寻址又可字节寻址的单元是( )
a)20H b)30H c)00H d)70H
10.下列哪条指令是正确的( )
a) PUSH R2 b) ADD R0,A
c) MOVX A @DPTR d) MOV @R0,A
二、填空题(每空1分,共30分)
1.一个完整的微机系统由 和 两大部分组成。
2.8051 的引脚RST是____(IN脚还是OUT脚),当其端出现____电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到____电平,8051才脱离复位状态,进入程序运行状态,从ROM H单元开始取指令并翻译和执行。
3.半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。
4.求十进制数-102的补码(以2位16进制数表示),该补码为 。
5.PC存放_______________,具有___________特性。在8051中决定程序执行顺序的是PC还是DPTR? 它是______位? (是,不是)SFG?
6.123= B= H。
7.8051内部有 并行口,P0口直接作输出口时,必须外接 ;并行口作输入口时,必须先 ,才能读入外设的状态。
8.MCS-51的堆栈只可设置在 ,其最大容量为 ,存取数据的原则是 。堆栈寄存器SP是 位寄存器,存放 。
9.中断处理的全过程分为以下3个段: 、 、 。
10.定时和计数都是对 进行计数,定时与计数的区别是

三、判断题(对者打√,错者打×,并改正,每题1分,共10分)
1 中断服务程序的最后一条指令是RET。
2 存储器分成内存和外存两大部分,其中外存可以直接与CPU交换信息。
3 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。
4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。
5 RC A为循环左移指令。
6 MOV A,30H的源操作数为立即寻址方式。
7 MOV A,@A+DPTR是一条查表指令。
8 MUL AB的执行结果是高8位在A中,低8 位在B中。
9 AJMP跳转空间最大可达到64KB 。
10 DPTR是由DPH和DPL两个8位特殊寄存器组成的。
四、简答题(每题5分,共15分)
1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?
2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)
3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。
五、作图题(10分)
用6264(8K*8)构成16K的数据存储系统。要求采用线选法产生片选信号,并计算6264的地址范围。
六、设计题(1题13分;2题12分,共25分)
1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。
2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。

单片机模拟试卷001答案
一、选择题(每题1分,共10分)
1. D 2. B 3. B 4. D 5. A 6. C 7. B 8. B 9. A 10. D
二、填空题(每空1分,共30分)
1.一个完整的微机系统由硬件和软件两大部分组成。
2.8051 的引脚RST是IN脚(IN脚还是OUT脚),当其端出现高电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到低电平,8051才脱离复位状态,进入程序运行状态,从ROM 0000 H单元开始取指令并翻译和执行。
3.半导体存储器分成两大类:RAM ROM,其中 RAM 具有易失性,常用于存储 临时性数据 。
4.求十进制数-102的补码(以2位16进制数表示),该补码为¬¬¬¬ 9AH 。
5.PC存放_CPU将要执行的指令所在的ROM单元的地址,具有自动加1特性。在8051中决定程序执行顺序的是PC还是DPTR PC ?它是16位?不是(是,不是)SFG?
6.123= 01010010 B= 52 H。
7.8051内部有 4 个并行口,P0口直接作输出口时,必须外接 上拉电阻 ;并行口作输入口时,必须先 将口锁存器置1 ,才能读入外设的状态。
8.MCS-51的堆栈只可设置在 内RAM低128B区 ,其最大容量为 128B ,存取数据的原则是 先进后出 。堆栈寄存器SP是 8 位寄存器,存放 堆栈栈顶的地址 。9.中断处理的全过程分为以下3个段: 中断请求 、 中断响应 、 中断服务 。
10.定时和计数都是对 脉冲 进行计数,定时与计数的区别是 定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数 。
三、判断题(对者打√,错者打×,并改正,每题1分,共10分)
1 中断服务程序的最后一条指令是RETRETI。×
2 存储器分成内存和外存两大部分,其中外内存可以直接与CPU交换信息。×
3 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。√
4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。√
5 LCRL A为循环左移指令。×
6 MOV A,30H的源操作数为立即直接寻址方式。
7 MOVMOVC A,@A+DPTR是一条查表指令。×
8 MUL AB的执行结果是高低8位在A中,低高8 位在B中。×
9 AJMP跳转空间最大可达到642KB 。
10 DPTR是由DPH和DPL两个8位特殊寄存器组成的。 √
四、简答题(每题5分,共15分)
1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?
答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。
2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)
答:定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H
TMOD的值是00000001B,TH0=13H;TL0=88H。
3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。
答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。
五、作图题(10分)
答:WR接6264的WE
RD接6264的OE
AB0---AB12接6264的A0---A12
DB0—DB7接6264的D0—D7
AB15、AB14分别接Y0和Y1
地址:0000H---1FFFH;2000H---3FFFH
六、设计题
1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答: 图 (5分) 构思 (3分)
MOV A,#80H (1分)
UP:MOV P1,A (1分)
RR A (2分)
SJMP UP (1分)
2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。
答:图 (5分) 构思 (3分)
程序(4分)
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP AINT0
ORG 0013H
LJMP BINT1
MAIN: MOV IE,#83H
SETB IT0
SETB IT1
MOV R0,#00H
MOV DPTR,#TAB
UP: MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
SJMP UP
AINT0: INC R0
CJNE R0,#10,AINT01
MOV R0,#0
AINT01: RETI
BINT1: DEC R0
CJNE R0,#0FFH,BINT11
MOV R0,#9
BINT11: RETI

C. 单片机原理与应用求解答(高分,在线等)

1、AT89S52单片机如果采用6MHz晶振,1个机器周期为?C
A,8us B、4us C、2us D、1us
2、MCS-51单片机中断响应的条件是什么?答:1有中断源发出中断请求;2中断总允许位EA=1,即CPU开中断;3申请中断的中断源的中断允许位为1,即没有被屏蔽
3、将片内RAM80H~89H单元中的10个数相加,和的低8位存入8AH,高8位存入8BH
ORG 0000H
MOV R7,#10
MOV R0,#80H
CLR A
MOV R1,#8AH
MOV @R1,A
INC R1
MOV @R1,A
LOOP:ADD A,@R0
JNC LL
INC @R1
LL:INC R0
DJNZ R7,LOOP
MOV @R0,A
SJMP $
END

编程题(第3题)请发我邮箱```[email protected]
谢谢!速度快的加分``

D. 单片机原理与应用技术第二版课后习题答案(西安电子科技大学出版社 )黄惟公 邓成中

多看看教科书吧,要善于理解。根本不需要答案。

E. 单片机原理与应用及C51编程技术/高玉芹/机械工业出版社 课后答案

吴鉴鹰单片机实战精讲中有相关问题的解释。
在单片机开发过程中,从硬件设计到软件设计几乎是开发者针对本系统特点亲自完成的。这样虽然可以降低系统成本,提高系统的适应性,但是每个系统的调试占去了总开发时间的2/3,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。
当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。
1 硬件静态的调试
1.1排除逻辑故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
1.2排除元器件失效
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
1.3排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
2 联机仿真调试
联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。
信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。
MAIN:MOVDPTR,#DPTR
;将地址送入DPTR
MOVXA,@DPTR
;将译码地址外RAM中的内容送入ACC
NOP;适当延时
SJMPMAIN;循环
执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1μs/每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。
对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到8031的复位引脚将变为高电平;一旦松开,电平将变低。
总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。
下面结合在自动配料控制系统中键盘、显示部分的调试过程来加以说明。本系统中的键盘、显示部分都是由并行口芯片8155扩展而成的。8155属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。

F. 单片机考试题目及答案(单片机考试复习题)

《单片机原理及接口技术》试卷(闭卷A卷)
一.单项选择题(每题1分,共20分)
1.DPTR为( C)
A.程序计数器 B.累加器 C.数据指针寄存器 D.程序状态字寄存
2.PSW的Cy位为( B)
A.辅助进位标志 B.进位标志 C.溢出标志位 D.奇偶标志位
3.MCS-51单片机片内ROM容量为( A )
A.4KB B.8KB C.128B D.256B
4.MCS-51单片机片要用传送指令访问片外数据存储器,它的指令操作码助记符是以下哪个?( B)
A.MUL B.MOVX C.MOVC D.MOV
5.direct表示( C )
A.8位立即数 B.16位立即数 C.8位直接地址 D.16位地址
6.堆栈指针SP是一个( A )位寄存器
A.8 B.12 C.13 D.16
7.定时器/计数器工作方式选择中,当M1M0=11时,其工作方式为( D )
A.方式0 B.方式1 C.方式2 D.方式3
8.定时器/计数器工作方式0为( A)
A.13位定时/计数方式 B.16位定时/计数方式
C.8位可自动装入计数初值方式 D.2个8位方式
9.MCS-51的最小时序定时单位是( A )
A.节拍 B.状态 C.机器周期 D.指令周期
10.#data表示( A )
A.8位直接地址 B.16位地址 C.8位立即数 D.16位立即数
11.主频为12MHz的单片机它的机器周期为(C )
A.1/12微秒 B.0.5微秒 C.1微秒 D.2微秒
12.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。
A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断
13.MOVC A ,@A+PC指令对于源操作数的寻址方式是( D )
A.寄存器间接寻址 B.寄存器寻址 C.立即寻址 D.变地寻址
14. 为( C )
A.复位信号输入端 B.地址锁存允许信号输出端
C.程序存储允许输出端 D.程序存储器地址允许输入端
15.MCS-51单片机的一个机器周期由(D )个振荡脉冲组成。
A.2 B.4 C.6 D.12
16.MOVC A ,#30H指令对于源操作数的寻址方式是( C )
A.寄存器间接寻址 B.寄存器寻址 C.立即寻址 D.变地寻址
17.计算机能直接识别的语言为( B)
A.汇编语言 B. 机器语言 C.自然语言 D.硬件和软件
18.PSW的OV位为( C )
A.辅助进位标志 B.进位标志 C.溢出标志位 D.奇偶标志位
19.在单片机中( A )为程序存储器。
A.ROM B. RAM C.EPROM D.EEPROM
20.能用紫外线光擦除ROM中的程序的只读存储器为( C )
A.掩膜ROM B.PROM C.EPROM D.EEPROM
二、填空(每题 2 分,共 10 分)
1、从单片机系统扩展的角度出发,单片机的引脚可以构成三总线结构,即 数据
总线、地址总线和 控制 总线。
2、ALE信号的作用是 锁存低8位地址信号(或 低8位地址锁存) 。
3、MOV A,40H 指令对于源操作数的寻址方式是 直接 寻址。
4、PC存放的内容为: 下一条要执行的指令的地址 。
5、MCS-8051系列单片机字长是 8 位,有 40 根引脚。
三、简答题:(共 25 分)
1、什么是单片机?简述单片机的应用领域。(15 分)
答:单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机。
应用领域:(1)单片机在智能仪器仪表中的应用;(2)单片机在工业控制中的应用;(3)单片机在计算机网络与通信技术中的应用;(4)单片机在日常生活及家电中的应用。

2、什么叫中断?中断有什么特点?(10 分)
答:(1)“中断”是指计算机在执行某段程序的过程中,由于计算机系统内、外的某种原因,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行原来被中断的程序。
(2)特点:分时操作;实时处理;故障处理。

四.已知:(R1)=32H,(30H)=AAH,(31H)=BBH,(32H)=CCH,求执行下列指令后累加器A.50H.R6.32H.和P1口中的内容。(10分)
MOV A ,#30H
MOV 50H ,A
MOV R6 ,31H
MOV @R1 ,31H
MOV P1,32H
解:上述指令执行后的操作结果为:
A=30H
(50H)=30H
R6=BBH
(32H)=BBH
P1=BBH

五、分析执行如下指令后,PSW中的Cy 、Ac、OV、P各为多少? A中的结果用十进制表示是多少?(15分)
MOV A,#85H
ADD A,#0AEH

Cy=1,Ac=1,OV=1,P=0。(A)=51

六、编程题: (每小题10分,共20分)
1、在程序中定义一个0——9的平方表,利用查表指令找出累加器A=03的平方值。(10分)
解:编程如下:
ORG 0050H
MOV DPTR,#TABLE ;表首地址→DPTR
MOV A,# ;03→A
MOVC A ,@A+DPTR ;查表指令,25→A
SJMP $ ;程序暂停
TABLE:DB 0,1,4,9,16,25,36,49,64,81 ;定义0——9平方表
END
2、试采用两种方法编制程序,开放定时器T1的溢出中断。(10分)
解:编程如下:
MOV IE,88H
或者MOV A8H,88H
或者 SETB EA
SETB ET1

G. 单片机与微机原理及应用 答案

是这个吗?
第一章 单片机基础 1-1 答:单片机的发展到目前为止大致分为5个阶段: 第一阶段:单片机发展的初级阶段。 第二阶段:低性能单片机阶段。 第三阶段:高性能单片机阶段。 第四阶段:16位单片机阶段。 第五阶段:单片机在集成度、功能、速度、可靠性、应用领域等方面向更高水平发展。 1-2 答:由于单片机具有体积小、重量轻、价格便宜、功耗低、易扩展、可靠性高、控制功能强及运算速度快等特点,在国民经济建设、军工产品及家用电器等各个领域均得到广泛应用。主要有:①工业自动化;②智能仪表;③消费类电子产品;④通信方面;⑤军工产品;⑥终端及外部设备控制;⑦多机分布式系统。 1-3 答:MCS-51系列单片机的内部结构:1.中央处理器CPU。其主要完成单片机的运算和控制功能,MCS-51系列单片机的CPU不仅可以处理字节数据,还可以进行位变量的处理。2.片内数据存储器RAM。RAM用于存储单片机运行中的工作变量、中间结果和最终结果等。3.片内程序存储器ROM/EPROM。程序存储器既可以存放已编制的程序,也可以存放一些原始数据和表格。4.特殊功能寄存器SFR。SFR用以控制和管理内部算术逻辑部件、并行I/O口、定时/计数器、中断系统等功能模块的工作。5.并行口。一共有4个8位的并行I/O口:P0、P1、P2、P3。P0是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O口。P1只能作为通用I/O口。P2可以作为通用I/O口,也可作为在单片机扩展外部设备时,高8位地址总线使用。P3除了作为通用准双向I/O接口外,各引脚还具有第二功能。6.串行口。有一个全双工的串行口,可以实现单片机与外设之间数据的逐位传送。7.定时/计数器。可以设置为定时方式或计数方式。 1-4 答:MCS-51一共有32个I/O引脚。P0口有8位数据总线和地址总线的低8位,P2口有地址总线的高8位,因此单片机的地址总线位是16位,寻址空间为64KB,数据总线位宽为8位。同时在P3口还R/W控制信号线。“准双向口”即不是真的双向口的意思。双向口与准双向口的区别为双向口有高阻态,输入为真正的外部信号,准双向口内部有上拉,故高电平为内部给出不是真正的外部信号!软件做处理时都要先向口写“1”!P0是双向口,P1、P2、P3均为准双向口。 1-5 答:EA为访问外部程序存储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器;当EA保持低电平时无论片内有无程序存储器,均只访问外部程序存储器。 1-6 答:RST是复位信号输入端,高电平有效。当单片机运行时,再该引脚出现持续时间大于两个机器周期的高电平,就可完成复位操作。上电复位利用电容两端电压不能突变的原理,在上电瞬间RST引脚与VCC引脚电压相等,随着电容充电两端电压逐渐上升,RST引脚逐渐下降。在充电过程中能够提供足够的高电平,使单片机能够可靠的复位。 1-7 答:51单片机存储器从物理结构上可分为:片内、片外程序存储器与片内、片外数据存储器4个部分。从寻址空间分布和功能上分为128字节的片内RAM区、128字节的特殊功能寄存器区、64KB的外部RAM区、64KB的外部ROM区、4KB的片内flash ROM区。 1-8 答:决定程序执行顺序的寄存器是程序计数器PC,它是16位的寄存器,寻址空间64KB,它不是特殊功能寄存器。 1-9 答:MCS-51系列单片机内部RAM低128字节单元可以分为工作寄存器区、位寻址区、普通RAM区三部分

H. 急求 单片机原理与技术 周明德 课后习题答案

第1章 作 业 答 案
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?

解:
把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微
处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了
微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形
成了微型计算机系统。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?
解:
CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指
令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算
术和逻辑运算以及控制计算机按照程序的规定自动运行。

1.3 微型计算机采用总线结构有什么优点?
解:
采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准
化,易于兼容和工业化生产。

1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用
一套总线或者合用部分总线,那么要靠什么来区分地址和数据?
解:
数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为
地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址
(指定要读或写数据的单元),过一段时间再读或写数据。

1.8在给定的模型中,写出用累加器的办法实现15×15的程序。

解:
LD A, 0
LD H, 15
LOOP:ADD A, 15
DEC H
JP NZ, LOOP
HALT

第 2 章 作 业 答 案

2.1 IA-32结构微处理器直至Pentillm4,有哪几种?
解:
80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。

2.6 IA-32结构微处理器有哪几种操作模式?
解:
IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操
作模式确定哪些指令和结构特性是可以访问的。

2.8 IA-32结构微处理器的地址空间如何形成?
解:
由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。

2.15 8086微处理器的总线接口部件由哪几部分组成?
解:
8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传
送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队
(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执
行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。

2.16 段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为
多少?
解:

指令的物理地址=12000H+FFOOH=21FOOH

第 3 章 作 业 答 案
3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1)MOV SI, 30O
(2)MOV CX, DATA[DI]
(3)ADD AX, [BX][SI]
(4)AND AX, CX
(5)MOV [BP], AX
(6)PUSHF
解:
(l)源操作数为立即寻址,目的操作数为寄存器寻址。
(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。
(3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。
(4)源操作数和目的操作数都为寄存器寻址。
(5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。
(6)为堆栈操作。

3.2 试述指令MOV AX,2000H和MOV AX,DSz[2000H]的区别。
解:前一条指令是立即寻址,即把立即数2000H传送至寄存器AX。后一条指令
是直接寻址,是把数据(DS)段中的地址为200OH单元的内容传送至寄存器AX。

3.3 写出以下指令中内存操作数的所在地址。
(1)MOV AL, [BX+10]
(2)MOV [BP+10], AX
(3)INC BYTE PTR[SI十5]
(4)MOV DL, ES:[BX+SI]
(5)MOV BX , [BP+DI+2]
解:
(1)数据段BX+10单元。
(2)堆栈段BP+10单元。
(3)数据段SI+5字节单元。
(4)附加段(ES段)BX+SI单元。
(5)堆栈段BP+DI+2单元。

3.4 判断下列指令书写是否正确。
(1)MOV AL, BX
(2)MOV AL, CL
(3)INC [BX]
(4)MOV 5, AL
(5)MOV [BX], [SI]
(6)M0V BL, OF5H
(7)MOV DX, 2000H
(8)POP CS
(9)PUSH CS

解:
(l)不正确,AL与BX数据宽度不同。
(2)正确。
(3)不正确,因为不明确是增量字节还是字。
(4)不正确,立即数不能作为目的操作数。
(5)不正确,因为不明确要传送的是字节还是字。
(6)正确。
(7)正确。
(8)不正确,CS不能作为:pop指令的操作数。
(9)不正确,CS不能作为PUSH指令的操作数。

3.5 设堆钱指针SP的初值为1000H,AX=2000H, BX=3000H,试问:
(1)执行指令PUSH AX后SP的值是多少?
(2)再执行PUSH BX及POP AX后,SP、AX和BX的值各是多少?

解:
(1) SP=OFFEH。
(2) SP=OFFEH; AX=3000H, BX=3000H。

3.6要想完成把[3000H]送[2000H]中,用指令:
MOM [200OH], [300OH]
是否正确?如果不正确,应该用什么方法实现?

解: 不正确。
正确的方法是:
MOV AL, [300OH]
MOV [2000H], AL

3.7 假如想从200中减去AL中的内容,用SUB 200,AL是否正确?如果不正确,应该
用什么方法?

解:不正确。
正确的方法是:
MOV BL, 200
SUB BL, AL

3.8 试用两种方法写出从8OH端口读入信息的指令。再用两种方法写出从4OH口输
出10OH的指令。
解:
(1)IN AL, 80H
(2)MOV DX, 8OH
IN AL, DX
(3)MOV, AL, lOOH
OUT 40H, AL
4)MOV AL, 10OH
MOV DX,4OH
OUT DX, AL

3.9假如:AL=20H,BL=1OH,当执行CMP AL,BL后,问:
(1)AL、BL中的内容是两个无符号数,比较结果如何?影响哪儿个标志位?
(2)AL、BL中的内容是两个有符号数,结果又如何,影响哪几个标志位?
解:
(l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。
(2)因为两个都是符号正数,其结果与(l)相同。

3.10 若要使AL×10,有哪几种方法,试编写出各自的程序段?

解:
(1)使用乘法指令:
MOV BL,10
MUL BI,

(2)使用移位指令:
SHL AL,1
MOV BL,AL
SHL AL, 2
ADD AL,BL

(3)使用加法指令:
ADD AL,AL
MOV BL, AL
ADD AL, AL
ADD AL, AL
ADD AL, BL

3.11 8086汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?

解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻
址方式。其中,寄存器操作数寻址方式的指令执行速度最快。

3.12 在直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应该如何表示?

解:
默认的数据访问,操作数在DS段;堆栈操作在SS段;串操作源操作数(SI)在DS段,目的操作数(DI)在ES段;用BP作为指针在SS段。如果要显式地指定段地址,则在操作数中规定段寄存器。例如:

MOV AX, ES:(BX+10H)

3.13 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?
解:
在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是
隐含约定的,也就是隐含地选择段寄存器。如操作类型为指令,则指定代码段寄
存器CS,如操作类型为堆栈操作,则指定堆找段寄存器SS,…,如表3-1中所示。
当需要超越约定时,通常用段替代前缀加冒号":"来表示段超越,它允许程序设计者偏离任何约定的段。
例如:
MOV ES:〔BX],AX
这时数据将从寄存器EAX传送至附加段中由EBX寻址的存储单元,而不是传送
到数据段中。

3.14 采用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?这4个寄存器组合间接寻址时,地址是怎样计算的?请举例说明。
解: 在寄存器间接寻址方式下,BX和BP作为间址寄存器使用,而SI、DI作为
变址寄存器使用。除BP间址默认的段为堆栈段,其他的都默认为数据段。它们
都可以单独使用,或加上偏移量或组合使用。如:
[BX +n]
LBP +n]
[SI +n]
[DI +n]
[BX +SI +n]
[BX +DI +n]
[BP +SI +n]
[BP +DI +n]

3.15 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行
的具体操作:
MOV BYTE PTR[BP],200
MOV WORD PTR[BX],2000
解:前一条指令是把立即数(应是字节)200,传送至堆栈段(BP的默认段〉偏移
量由BP规定的字节单元,地址为:52000H+620OH=58200H
第二条指令是把立即数.2000,传送至数据段(BX的默认段)偏移量由BX规定的
字单元,地址为:21000H+1400H = 22400H。
3.16 使用堆钱操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数时应该分别要注意什么问题?

解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈固定在堆栈段且只能由SP指向。且堆栈操作要修改堆核指针。MOV指令不能实现内存单元间的数据传送。XCHG指令是交换,有一个操作数必须是寄存器。

3.17下面这些指令中哪些是正确的?哪些是错误的?若是错误的,请说明原因。
(1)XCHG CS, AX
(2)MOV [BX], [1000]
(3)XCHG BX, IP
(4)PUSH CS
(5)POP CS
(6)IN BX, DX
(7)MOV BYTE[BX], 100O
(8)MOV CS, [1000]
解:
(l)错误,CS不能交换。
(2)错误,MOV指令不能在内存间传送。
(3)错误,IP不能交换。
(4)错误,CS可以作为PUSH指令的操作数。
(5)错误,CS可以作为POP指令的操作数。
(6)错误,IN指令的目的操作数是累加器。
(7)错误,目的操作数是字节单元。
(8〉错误,CS不能作为MOV指令的目的操作数。

3.18 以下是格雷码的编码表,
O 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
请用换码指令和其他指令设计一个程序段,以实现由格雷码向ASCII码的转换。
解:
MOV BX,TABLE
MOV SI,ASCII_TAB
MOV AL,0
MOV CX,10
TRAN: XLAT TABLE
MOV DL,AL
ADD DL,30H
MOV [SI],DL
INC AL
LOOP TRAN
3.19 使用乘法指令时,特别要注意先判断是用有符号数乘法指令还是用无符号数乘法指令,这是为什么?

解:因为有符号数和无符号数,其数的乘法是一样的。但结果的符号取决于两
个操作数的符号。

3.20 字节扩展指令和字扩展指令一般用在什么场合?举例说明。

解:主要用于字节相除和字相除之前,把被除数扩展为两倍宽度的操作数。

3.21 什么叫BCD码?什么叫组合的BCD码?什么叫非组合的BCD码?8086汇编语言在对BCD码进行加、减、乘、除运算时,采用什么方法?

解:BCD码为十进制编码的二进制数。组合的BCD数是把两位BCD加在一个字节中,高位的在高4位。非组合的BCD码是把一位BCD数放在一个字节的低4位,高4位为0。8086在BCD加、减和乘法运算以后用BCD调整指令把结果调整为正确的BCD数。在BCD除法之前先用BCD调整指令再做除法.

3.22 用普通运算指令执行BCD码运算时,为什么要进行十进制调整?具体地讲,在进行BCD码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令?

解:因为8086指令把操作数作为二进制数进行二进制运算,要得到正确的BCD结果,需要进行调整。在加、减、乘法指令之后加上BCD调整指令,而在除法指令之前先用BCD调整指令再用除法指令。

第4章 作业答案
4.1 在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:
MOV AL, 1OH
MOV CX, 100OH
MOV BX , 2000H
MOV [CX],AL
XCHG CX, BX
MOV DH, [BX]
MOV DL, 01H
XCHG CX, BX
MOV [BX],DL
HLT
解:寄存器及存储单元的内容如下:
AL = 1OH
BL = OOH
BH = 2OH
CL = OOH
CH = 1OH
DH = 1OH
(10O0H) = lOH
(200OH) = 0lH
2.要求同题4.1,程序如下:
MOV AL, 50H
MOV BP, 100OH
MOV BX, 200OH
MOV [BP], AL
MOV DH, 20H
MOV [BX], DH
MOV DL, OlH
MOV DL, [BX]
MOV CX, 300OH
HLT
解:寄存器及存储单元的内容如下:
AL = 5OH
BL = OOH
BH = 20H
CL = OOH
CH = 30H
DL = 20H
DH = 2OH
BP = 100OH
(10OOH) = 5OH
(20OOH) = 20H
4.3 自1000H单元开始有一个100个数的数据块,若要把它传送到自200OH开始的存
储区中去,可以采用以下3种方法实现,试分别编制程序以实现数据块的传送。
(l)不用数据块传送指令
(2)用单个传送的数据块传送指令
(3)用数据块成组传送指令。
解:
(1) LEA SI, 1OOOH
LEA DI, 200OH
MOV CX, 100
L1: MOV AX, [SI]
MOV [DI], AX
LOOP Ll
HLT

(2) LEA SI, 100OH
LEA DI, 2000H
MOV CX, 100
CLD
L1: MOVSB
LOOP L1
HLT

(3) LEA SI, 100OH
LEA DI, 200OH
MOV CX, 100
CLD
REP MOVSB
HLT
4.4 利用变址寄存器,编写一个程序,把自1000H单元开始的100个数传送到自1070H
开始的存储区中去。
解:
LEA SI, 100OH
LEA DI, 1070H
MOV CX, 100
CLD
REP MOVSB
HLT
4.5 要求同题4.4,源地址为2050H,目的地址为2000H,数据块长度为50.
解:
LEA SI, 205OH
LEA DI, 200OH
MOV CX, 50
CLD
REP MOVSB
HLT
4.6 编写一个程序,把自100OH单元开始的100个数传送'至105OH开始的存储区中
(注意:数据区有重叠)。
解:
LEA SI, 100OH
LEA DI , 1050H
ADD SI, 63H
ADD DI, 63H
MOV CX, 100
STD
REP MOVSB
HLT
4.7 在自0500H单元开始,存有100个数。要求把它传送到1000H开始的存储区中,
但在传送过程中要检查数的值,遇到第一个零就停止传送。
解:
LEA SI, 050OH
LEA DI, 10OOH
MOV CX, 100
N1: MOV AL, [SI]
CMP AL, 0
JZ N2
MOV [DI], AL
INC SI
INC DI
LOOP N1
N2: HLT

4.14若在0500H单元中有一个数
(1)利用加法指令把它乘2,且送回原存储单元(假定X×2后仍为一个字节);
(2)X×4;
(3)X×10(假定X×l0≤255).
解:
(1) LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV [BX], AL

(2) LEA BX, 0500H
MOV AL, [BX]
ADD AL, AL
ADD AL, AL
MOV [BX], AL

(3) LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV DL, AL
ADD AL, AL
ADD AL, AL
ADD AL, DL
MOV [BX], AL

第 5 章 作业答案
5.1 总线周期的含义是什么?8086/8088CPU的基本总线周期由几个时钟组成?如果一个CPU的时钟频率为8MHz,那么,它的一个时钟周期是多少?一个基本总线周期是多少?如果主频为5MHz呢?

解: CPLI访问总线(从内存储器或I/0端口读/写字节或字)所需的时间称为总线周期。8086/8088CPU的基本总线周期由4个时钟组成。若CPU的时钟频率为8(5)MHz,时钟周期为1/8MHz=125(1/5MHz=2O)ns,基本总线周期为4×125(200)ns=500(800)ns

5.2 在总线周期的TI、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入
等待状态Tw? Tw在哪儿插入? 怎样插入?

解: 下面以存储器读为例进行说明。
在Tl周期:输出地址信号、地址锁存允许信号、内存或I/O端口访问控制信号;
在T2周期:CPIJ开始执行数据传送操作,此时,8086CPU内部的多路开关进行切换,将地址/数据线AD15~AD0上的地址撤销,切换为数据总线,为读写数据作准备。8288总线控制器发出数据总线允许信号和数据发送/接收控制信号DT/R允许数据收发器工作,使数据总线与8086CPU的数据线接通,并控制数据传送的方向。同样,把地址/状态线A19/S6~A16/S3切换成与总线周期有关的状态信息,指示若干与周期有关的情况。
在T3周期:开始的时钟下降沿上,8086CPU采样READY线。如果READY信号有效(高电平),则在T3状态结束后进人TA状态。在T4状态开始的时钟下降沿,把数据总线上的数据读入CPU或写到地址选中的单元。
在T4状态:结束总线周期。如果访问的是慢速存储器或是外设接口,则应该在Tl状态输出的地址,经过译码选中某个单元或设备后,立即驱动READY信号到低电平。8086CPU在T3状态采样到READY信号无效,就会插入等待周期Tw,在Tw状态CPU继续采样READY信号;直至其变为有效后再进人T4状态,完成数据传送,结束总线周期。在T4状态,8086CPU完成数据传送,状态信号 。变为无操作的过渡状态。在此期间,8086CPU结束总线周期,恢复各信号线的初态,准备执行下一个总线周期。

第 6 章 作 业 答 案
6.1 若有一单板机,具有用8片2114构成的4KBRAM,连线如图创所示。

若以每1KB RAM作为一组,则此4组RAM的基本地址是什么?地址有没有重叠区?每一组的地址范围为多少?

解:RAM的基本地址为:
第一组 OOOOH ~ 03FFH
第二组 4000H ~ 43FFH
第三组 8000H ~ 83FFH
第四组 COOOH ~ C3FFH
地址有重叠区。每一组的地址范围为OOOH ~ 3FFH(1024个字节)。

6.4 若要扩充1KB RAM(用2114片子),规定地址为8000H~83FFH,地址线应该如何
连接?
解: 扩充lKB RAM至规定地址8000H ~ 83FFH,其地址线的低10位接芯片,高6位地址(Al5 ~A10 = 100000)产生组选择信号。

第 7 章 作 业 答 案
7.1 外部设备为什么要通过接口电路和主机系统相连?

解: 因为外部设备种类繁多,输入信息可能是数字量、模拟量或开关量,而且输入速度、电平、功率与CPU差距很大。所以,通常要通过接口电路与主机系统相连。

7.4 CPU和输入输出设备之间传送的信息有哪几类?
解:CPU和输入输出设备之间传送的信息主要有3类。
(l)数据
在微型计算机中,数据通常为8位、16位或32位。
(2)状态信息
在输入时,有输入设备的信息是否准备好;在输出时有输出设备是否有空,若输出设备正在输出信息,则以忙指示等。
(3)控制信息
例如,控制输入输出设备启动或停止等。

7.9 设一个接口的输入端口地址为0100H,状态端口地址为0104H,状态端口中第5位为1表示输入缓冲区中有一个字节准备好,可以输入。设计具体程序以实现查询式
输入。
解: 查询输入的程序段为:
POLl : IN AL, 0104H
AND AL, 20H
JZ POLl
IN AL, 0100H

第 8 章作 业 答 案
8.1 在中断响应过程中,8086CPU向8259A发出的两个RT互信号分别起什么作用?
解: CPU发出的第一个 脉冲告诉外部电路,其提出的中断请求已被响应,
应准备将类型号发给CPU,8259A接到了这个 脉冲时,把中断的最高优先级
请求置入中断状态寄存器(ISR)中,同时把IRR(中断请求寄存器)中的相应位复
位。CPU发出的第二个 脉冲告诉外部电路将中断的类型号放在数据总线上。

8.2 8086CPU最多可以有多少个中断类型?按照产生中断的方法分为哪两大类?
解:8086CPU最多可以有256个中断类型。按照产生中断的方法,可以分为内
部中断(软件中断)和外部(硬件中断)中断两大类。

8.9 在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?
解: 因为在用户程序运行时,会在寄存器中有中间结果,当在中断服务程序中要
使用这些寄存器前要把这些寄存器的内容推至堆栈保存(称为保护现场)。在从中断服务程序返回至用户程序时把这些内容从堆找恢复至寄存器中(称为恢复现场)。

8.12 若在一个系统中有5个中断源,其优先权排列为:1、2、3、4、5,它们的中断服务程序的入口地址分别为:3000H、302OH、3050H、3080H、30AOH。编写一个程序,当有中断请求CPU响应时,能用查询方式转至申请中断的优先权最高的源的中断服
务程序。
解: 若5个中断源的中断请求放在一中断状态寄存器中,按优先权分别放在状态的7位(优先权最高)至位3中。查询方法的程序段为:
IN AL, STATUS
CMP AL, 80H
JNE N1
JMP 3000H
N1: IN AL, STATUS
CMP AL, 40H
JNE N2
JMP 3020H
N2: IN AL, STATUS
CMP AL, 20H
JNE N3
JMP 3050H
N3: IN AL, STATUS
CMP AL, 10H
JNE N4
JMP 3080H
N4: IN AL, STATUS
CMP AL, 08H
JNE N5
JMP 30A0H
N5: RET

第9章 作 业 答 案
9.3 在某一应用系统中,计数器/定时器8253地址为340H~343H,定时用作分频器(N为分频系数),定时器2用作外部事件计数器,如何编制初始化程序?
解:
定时器0用作分频器,工作方式2,其初始化程序为:
MOV AL, 34H
OUT 343H, AL
MOV AL, N1
OUT 342H, AL
MOV AL, N2
OUT 342H, AL
定时器2用作外部事件计数器,工作在方式0,其初始程序:
MOV AL, 0B0H
OUT 343H,AL
MOV AL, N1
OUT 342H,AL
MOV AL, N2
OUT 342H,AL

9.4 若已有一频率发生器,其频率为1MHZ,若要示求通过计数器/定时器8253,着重产生每秒一次的信号,8253应如何连接?编写出初始化程序。
解:
1MHZ的信号要变为每秒一次,则需经过106分频。一个通道的计数为16 位最大为65536。故需要需两个通道级连,则每个通道计数为1000。用通道0和通道1级连,都工作在方式2,初始化程序为:
MOV AL, 34H
OUT 343H, AL
MOV AL, 0E8H
OUT 342H, AL
MOV AL, 03
OUT 342H, AL
MOV AL, 74H
OUT 343H, AL
MOV AL, 0E8H
OUT 342H, AL
MOV AL, 03
OUT 342H, AL

9.9 编程将计数器/定时器8253计数器0设置为模式1,计数初值3000H;计数器1设置为模式2初值为2010H;计数器2设置为模式4初值为4030H;

解: 若端口地址为:0F8H~0FBH,初始化程序为:
MOV AL, 32H
OUT 0FBH, AL
MOV AL, 00H
OUT 0F8H, AL
MOV AL, 30H
OUT 0F8H, AL
MOV AL, 74H
OUT 0FBH, AL
MOV AL, 10H
OUT 0F9H, AL
MOV AL, 20H
OUT 0F9H, AL
MOV AL, 0B8H
OUT 0FBH, AL
MOV AL, 30H
OUT 0FAH, AL
MOV AL, 40H
OUT 0FAH, AL

第 10 章 作 业 答 案
10.4 可编程并行接口芯片8255A的3个端口在使用时有什么差别?

解:通常端口A或B作为输入输出的数据端口(端口A还可以作为双向数据端口),而端口C作为控制或状态信息的端口,它在"方式"字的控制下,可以分成两个4位的端口。每个端口包含一个4位锁存器。它们分别与端口A和B配合使用,可用以作为控制信号输出,或作为状态信号输入。

10.7 8255A有哪几种基本工作方式?对这些工作方式有什么规定?
解:8255A有3种基本的工作方式:
方式0-----基本输入输出:
方式1-----选通输入输出;
方式2-----双向传送。

10.8 设置8255A工作方式,8255A的控制口地址为OOC6H。要求端口A工作在方式1,输
入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。
解:按要求的方式控制字为:10111001B。编程语句为:
MOV AL, 0B9H
OUT OOC6H, AL ;

10.9 设可编程并行接口芯片8255A的4个端口地址为OOCOH、00C2H、00C4H、OOC6H,要求用置0/置1方式对PC6置1,对PC4置0。
解:对端口C的PC6置1的控制字为: 00001101B,
对PC4置O的控制字为: 0000100OB。
程序段为:
MOV AL, DH
OUT OOC6H, AL
MOV AL, 08H.
OUT 00C6H, AL

阅读全文

与单片机原理与开发技术答案相关的资料

热点内容
数电编译器的作用 浏览:326
时间算法与现在有什么区别 浏览:160
7zip解压后没文件夹 浏览:900
为什么安卓送玫瑰ios收不到 浏览:6
美篇文章加密是什么意思 浏览:80
ilasm编译dll 浏览:36
呼吸灯单片机程序 浏览:950
linux域socket 浏览:246
qq分身怎么样才能加密 浏览:453
windows打开linux 浏览:995
新建文件夹为什么不能发送微信 浏览:600
交警app怎么绑定本人几辆车 浏览:987
彩虹六号如何人工服务器 浏览:633
mc服务器地址怎么登入 浏览:557
苹果app怎么扫描二维码下载 浏览:961
css文件在线解压 浏览:156
36岁程序员近况 浏览:285
哪里可以下载不加密的歌 浏览:936
隐藏文件夹是什么梗 浏览:920
插件注册命令 浏览:498