第一范文网 - 专业文章范例文档资料分享平台

mcs-51单片机

来源:用户分享 时间:2025/10/11 0:30:00 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

围;3)存贮器应具有扩展能力,即能扩展到64k×8位的存贮容量。问:若要扩展到最大容量,除了增加存贮器芯片外,还要增添什么器件?

解:按照第一个要求,必须通过全译码来产生片选信号。即每个片选信号必须由6个高位地址线的组合来产生。由于提供了两种不同的译码器,产生这种片选信号并不难。但连接的方式不止一种,而且不同的连接方式各个存贮器芯片的地址区也可以不同。图1-6是两种可能出现的方案。

在第一种方案中,4片RAM的地址为: Ⅰ片:0000H-03FFH; Ⅱ片:0400H-07FFH; Ⅲ片:0800H-0BFFH; Ⅳ片:0C00H-0FFFH;

第二种方案的意图是以地址线A10来控制4-16译码器Y0的输出是为1还是为0:当A14A13A12A11A10=00000时Y0=0;当A14A13A12A11A10=00001时Y0=1。再加上A15的控制,可以得到4个片选信号,从而确定4片RAM的地址为:

Ⅰ片:0000H-03FFH; Ⅱ片:0400H-07FFH; Ⅲ片:8000H-83FFH;

Ⅳ片:8400H-87FFH;

但是,这个方案并不能满足题目中第一个要求,即每片RAM的地址区并不是唯一的。因为4-16译码器的Y0=1可能出现的机会很多,实际上,只要A14A13A12A11A10≠00000时,都可以使Y0=1。所以这个方案并不能用。

若要把存贮容量扩展到64kB,则除了增加1kB RAM芯片的数量外,还要通过全译码方法产生64个片选信号。由于已经有1片4-16译码器和1片2-4译码器,所以只需要再增加3片4-16译码器就可以实现:即用2-4译码器的4个输出控制4片4-16译码器的4个使能端,就可以在4片4-16译码器的输出端,获得64个片选信号。

1-24 某系统的存贮器中配备有两种芯片:容量为2 k×8的ROM和容量为1 k×8的RAM。系统采用74LS138译码器来产生片选信号。Y0,Y1和Y2直接接到三片ROM(片选信号#1, #2和#3);Y4和Y5则通过一组门电路产生4个片选信号接到4片RAM(片选信号#4,#5,#6和#7)。连接的简图如图1-7所示。试确定每一片存贮器的寻址范围。各存贮器的片选信号都是低电平有效。

解:各存贮器芯片的地址区可按一般的方法确定如下:

A15 A14 A13 A12 A11 A10 A9-A0 地址区

#1片 1 0 0 0 0 0 0??0 8000H-87FFH

1 1??1

#2片 1 0 0 0 1 0 0??0 8800H-8FFFH

1 1??1

#3片 1 0 0 1 0 0 0??0 9000H-97FFH

1 1??1

#4片 1 0 1 0 0 0 0??0 A000H-A3FFH

1 1??1

#5片 1 0 1 0 0 1 0??0 A400H-A7FFH

1 1??1

#6片 1 0 1 0 1 0 0??0 A800H-ABFFH

1 1??1

#7片 1 0 1 0 1 1 0??0 AC00H-AFFFH

1 1??1

1-25 MCS-51的I/O口在用作输入时,为什么要先置1?

解:因为输入端子和输出电路是连接在一起的,更具体地说是和输出MOS管的漏极连一起的。若在上次操作中使输出MOS管处于导通状态(输出0),则使引脚端子对地呈低阻抗。此时若要输入1,则对地的低阻抗将使逻辑电平变低,使得读引脚的结果与实际引脚状态不一致,即引脚状态为1,读入的结果却是0。若是先给输出口置1,实际上是使输出级MOS管截止,电源通过上拉电阻(除P0口)对外输出高电位。此时再去读引脚,则因为输出级MOS管为截止状态,无论引脚上的信号是1还是0都不会受影响,从而可以正确地读入。

1-26 MCS-51单片机有5个中断源,但只能设置两个中断优先级,因此在中断优先级安排上受到一定的限制。试问以下几种中断优先顺序的安排(级别由高到低)是否可能?若可能,则应如何设置中断源的中断级别?否则,请简述不可能的理由。

(1)定时器0,定时器1,外中断0,外中断1,串行口中断;

(2)串行口中断,外中断0,定时器0溢出中断,外中断1,定时器1溢出中断;

(3)外中断0,定时器1溢出中断,外中断1,定时器0溢出中断,串行口中断;

(4)外中断0,外中断1,串行口中断,定时器0溢出中断,定时器1溢出中断;

(5)串行口中断,定时器0溢出中断,外中断0,外中断1,定时器1溢出中断;

(6)外中断0,外中断1,定时器0溢出中断,串行口中断,定时器1溢出中断;

(7)外中断0,定时器1溢出中断,定时器0溢出中断,外中断1,串行口中断;

解:(1)可以安排。可设置定时器0和定时器1溢出中断为高级中断,其余为低级中断。再依据内部同级查询次序,得到所需中断优先级顺序。

(2)可以安排。只需将串行口中断设置为高级中断,其余的中断源都为低级中断。

(3)不能安排。若把外中断0和定时器1溢出中断安排为高级中断,则这两个中断的优先顺序可以满足,但对其余3个中断,外中断1的级别不能高于定时器0溢出中断。所以,总的优先顺序不能实现。

(4)可以安排。可安排外中断0,外中断1和串行口中断为高级中断,其余两个定时器中断为低级中断。

(5)不能安排。虽然可以单独设置串行口中断为高级中断,但其余4个中断的优先顺序只能按内部查询次序来定。这时,定时器0溢出中断不能优先于外中断0。

(6)不能安排。这时最接近的一个安排是将定时器1溢出中断设为低级中断,其余4个中断都为高级中断。但是外中断1的查询次序再定时器0溢出中断之后,所以,不能满足所要求的优先顺序。

(7)可以安排。只须使外中断0和定时器1溢出中断为高级中断,其余均为低级中断,就可满足所要求的优先顺序。

1-27 单片机8031的时钟频率为6MHz,若要求定时值分别为0.1ms,1ms和10ms,定时器0工作在方式0、方式1和方式2时,其定时器初值各应为多少?

解:时钟频率为6MHz,相应的定时时钟周期为2μs。定时器初值和定时值的关系为

2-定时器初值=定时值/定时周期

其中n由工作方式决定,可为13,16或8。 当定时值为0.1ms时:

2-定时器初值=0.1ms/2μs=50

亦即需要50个定时时钟周期。所以工作方式0,1,2都可选用。 方式0时,n=13,所以

2-x==50

x=8192-50=8142=(1111111001110)2 定时器初值为TH0=FEH,TL0=0EH。

13

nn

搜索更多关于: mcs-51单片机 的文档
mcs-51单片机.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2fnuj1vhho1symv1jbsr_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top