[信息与通信]MCS-51单片机的系统扩展及应用.ppt
文本预览下载声明
第三章:MCS-51单片机的系统扩展及应用 通过地址总线、数据总线和控制总线实现系统的扩展。 定时器、串行口和A/D、D/A等应用场合下的硬件接口和软件编程。 3.1:程序存储器的扩展 3.2:数据存储器的扩展 3.3:输入、输出口的扩展 3.4:定时计数器的应用 3.5:串行口的应用 3.6:MCS-51与D/A转换器的接口 3.7:MCS-51与A/D转换器的接口 3.8:动态数码显示及键盘扫描电路 3.1:程序存储器ROM的扩展 1,在使用8031(无片内ROM)或大于4K程序存储器时,必须通过外接ROM来构成、扩充系统的程序存储区。 2,当使用外部存储器来扩展系统时,必须占用单片机的P0、P2口作为外部电路的数据、地址总线。此时,P0、P2口就不能作为通用的I/O端口。 3,在系统扩展时,外部电路与单片机连接的依据是单片机访问外部存储器的时序,所以正确的理解时序是硬件电路设计的关键。 MCS-51与32K ROM的连接 外部ROM的状态与地址线A15的关系表 访问外部程序存储器ROM的时序: 片外存储器访问时序说明 P0、P2口作地址和数据总线。其中P0口作为地址和数据复用总线,前半部(A段)作地址总线,后半部(B段)作为数据总线。 外部程序存储器ROM的操作步骤如下: 1,单片机必须为其提供完整的(15位)地址信息; 2,ROM芯片的/CE 端=0,选中该芯片; 3,在满足上述条件的基础上,当ROM的/OE=0时(B时间段),存储器输出数据的三态门打开,并将与输入地址相对应的存储单元中的指令(数据)向外输出,单片机通过P0口将指令送至CPU 内部。 74LS373锁存器:将A时间段P0口输出的低位地址进行保存,使ROM在B时间段仍然可以得到完整的地址信号。 外部ROM的容量扩展原理(一) 如何使用两片32K的ROM芯片扩展为64K的存储阵列。 由两片32K的ROM构成64K存储阵列与A15的关系表 外部ROM的容量扩展原理(二) 若需要对2片以上的芯片扩展,可以通过译码电路实现。 采用LS138译码器实现ROM扩展示意表 小结: 1,单片机的P0、P2口作为地址数据总线; 2,P0口为数据、地址复用总线,所以必须加入八位锁存器74LS373来锁存P0口的低八位地址。 3,外接ROM是靠MOVC指令产生的Psen信号来打开数据三态门,使ROM中的指令通过P0口送入单片机内部。 4,存储器的容量M与其地址线条数n的关系:M=2↑n 5,当使用两片ROM扩展时,可以使用一个反向器实现容量的扩展,通过ROM芯片的/CE端实现。 6,当使用2片以上的ROM芯片扩展时,就要使用译码器实现存储容量的扩展,译码器的输入与高位地址相连接,输出端分别与各ROM芯片的/CE连接(如图所示)。 7,当外接ROM的高八位地址线与P2口高八位线没有完全用足时,要注意外存储的地址重叠问题。 3.2:数据存储器RAM的扩展 与程序存储器扩展原理相同,数据存储器的扩展也是使用P0、P2口作为地址、数据总线。 1,当使用MOVX @Ri指令时,系统使用P0口输出地址 信号(P2口不用); 2,当使用MOVX @DPTR指令时,P0口输出DPTR提供 的低八位地址信号,P2口输出DPTR提供的高八位地 址信号。 3,不论哪种情况,P0口都是地址/数据复用总线,因此 仍要使用74LS373来锁存P0口的地位地址信号。 与ROM扩展不同:使用访问外部RAM指令MOVX 时,在时序中将产生/RD或/WR信号,因此将此信号与外RAM的读(/RD) 、写(/WR)控制端相连接就实现系统对外RAM的读写控制。 读外部数据存储器RAM的指令时序 设外部RAM2000H单元中有一个数x,且DPTR中已存有该数地址2000H.则CPU 执行外部ROM中的指令: movx a,@dptr ;将外RAM的x送A MCS-51与32K RAM的连接 思考题: 使用6264(8KRAM)芯片和2764(8KROM)芯片组成16K RAM和16KROM的外存储阵列(逻辑图)。 采用74LS138和74LS373实现译码和锁存功能。 根据设计的结果,写出RAM和ROM的地址范围。 3.3:输入、输出口的扩展 如果系统使用了外部存储器时,P0、P2口被外存储器占用,留给用户的只有P1口。因此I/O端口的扩展是使用MCS-51作为嵌入式控制器进行硬件设计中经常遇到的问题: 3.3.1,使用8243扩展I/O端口 3.3.2,使用81
显示全部