文档介绍:MCS-51 单片机的系统扩展技术(一)
在 MCS-51 单片机的的内部虽已集成了很多资源,但这类单片机属于一种“通用”的单
片机,单片机内部的各种资源都是折衷配置的,如片内程序存储器、数据存储器的容量都不
大,并行 I/O 端口的数量也不很多,此外,在有些应用中,片内定时器、中断、串行口等也
显得不足,还有一些功能是基本型 MCS-51 单片机所没有的,比如 A/D 转换,D/A 转换等
等。实际应用中的要求是各种各样的,如果用到了 MCS-51 单片机内部所没有资源(如 A/D,
D/A 等),或者单片机内部虽有,但却不够使用的资源,就要根据需要,对单片机进行扩展,
以增加所需要的功能。
MCS-51 单片机所可能需要扩展的芯片种类非常多,但这里并不面面俱到,主要是通过
对外扩程序存储器、数据存储器、I/O 接口、A/D 和 D/A 的介绍,使读者熟悉单片机接口的
一般方法。实际上,如果对于这些常规的扩展芯片能够熟练地掌握和应用,并能理解其扩展
的原理,拿到任何一块需要扩展的芯片,只要有这块芯片的数据手册或接口时序之类的资料,
就能自行设计芯片的接口电路部份。
1. MCS-51单片机扩展的原理
MCS-51 单片机被设计成具有通用计算机那样的外部总线结构,所以用 MCS-51 单片机
进行扩展很方便,下面首先了解片外总线的工作原理。
片外总线结构
图 1 是单片机的三总线结构示意图,一般芯片的引脚都很多,要进行扩展,直接的问题
是各种芯片如何与单片机连接。MCS-51 系列单片机采用“总线”的方法进行扩展。所谓总
线,实际上就是连接系统中主机与各扩展部件的一组公共信号线。各个外围功能芯片通过三
组总线与单片机相连。这三组总线分别是地址总线、数据总线和控制总线,下面分别介绍。
(1)数据总线(DB):用于外围芯片和单片机之间进行数据传递,比如将外部存储器
中的数据送到单片机的内部,或者将单片机中的数据送到外部的 D/A 转换器。在 51 单片机
中,数据的传递是用 8 根线同时进行的,也就是 51 单片机的数据总线的宽度是 8 位,这 8
根线就被称之为数据总线。数据总线是双向的,既可以由单片机传到外部芯片,也可以由外
部芯片传入单片机。
(2)地址总线(AB):如果单片机扩展外部的存储器芯片,在一个存储器芯片中有许
多的存储单元,要依靠地址进行区分,在单片机和存储器芯片之间要用一些地址线相连。除
存储器之外,其它扩展芯片也有地址问题,也需要和单片机之间用地址线连接,各个外围芯
片共同使用的地址线构成了地址总线。地址总线也是公用总线中的一种,用于单片机向外部
输出地址信号,它是一种单向的总线。地址总线的根数决定了单片机可以访问的存储单元数
量和 I/O 端口的数量。有 n 根线,则可以产生 2n 个地址编码,访问 2n 个地址单元。
(3)控制总线(CB):这是一组控制信号线,有一些是由单片机送出(去控制其它芯
片)的,而有一些则是由其它芯片送出(由单片机接收以确认这些芯片的工作状态等)的。
对于 51 单片机而言,这一类线的数量不多。这类线就其某一根而言是单向的,可能是单片
机送出的控制信号,也可能是外部送到单片机的控制信号,但就其总体而言,则是双向的