单片机系统扩展_第1页
单片机系统扩展_第2页
单片机系统扩展_第3页
单片机系统扩展_第4页
单片机系统扩展_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机系统扩展单片机系统扩展 v在很多复杂的应用情况下,单片机内的ram ,rom 和 i/o接口数量有限,不够使用,这种情况下就需要进行扩展,以满足应用系统的需要。因此单片机的系统扩展主要是指外接数据存储器扩展、程序存储器扩展或i/o接口扩展等。v本章主要介绍i/o扩展和存储器扩展两部分内容,i/o口扩展以可编程芯片8255a扩展为主,存储器扩展有程序存储器扩展和数据存储器扩展。10.1 系统扩展概述v单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。对于mcs-51系列8位单片机,对于没有内部rom的单片机或者当程序较长、片内rom容量不够时,用户必须在单片机外部扩展程序

2、存储器。mcs-51单片机片外有16条地址线,即p0口和p2口,因此最大寻址范围为64 kb(0000hffffh)。10.2 8255a可编程接口芯片v8255a是常用的可编程并行接口芯片,广泛应用于单片机的并行扩展。8255a有24条i/o线,分别为a、b、c共3个端口来使用;8条数据线,用于数据和控制命令传输;2条地址线,读/写时用于选择片内的控制寄存器a、b、c对应的3个端口寄存器pa、pb、pc;读/写信号控制线各一根;还有复位信号、片选信号、电源等引脚。 v8255a的外形封装如图10.2.1所示。v1、8255a的内部结构的内部结构vpa,pb,pc口均为8位数据口,可做输入输出

3、,但结构上略有差别。va口有一个8位数据输出缓冲/锁存器和一个8位数据输入缓冲/锁存器,b口和c口各由一个8位数据输出缓冲/锁存器和一个8位数据输入缓冲器组成(无输入数据锁存器,故b口不能在模式2下工作)。va、b组控制器对应的控制字寄存器接收cpu送来的控制字,用来决定8255的工作方式v数据总线缓冲器:实现8255与单片机的数据传送v读写控制逻辑:接收cpu送来的读写控制信号和选口信号,控制对8255的读写2、8255的引脚v8255有40个引脚v1、数据总线8条d0-d7,用于传送cpu和8255间的数据,命令和状态字v2、控制总线6条vreset:复位v*cs:片选v*rd,*wr:读

4、写控制信号va1,a0:地址线,用于选择pa,pb,pc口和控制字寄存器v3、并行i/o口v pa7pa0:双向i/o,传输i/o数据,可设定为输入或输出方式v pb7pb0 :v pc7pc0:双向数据/控制总线,用于传输i/o数据或控制/状态信息v4、电源线v vcc +5v gnd3、 8255a的工作方式选择的工作方式选择v8255a有3种工作方式:方式0,方式1和方式2。v方式方式0: 基本输入/输出方式。这种方式中3个端口被设置成输入或输出口,但不能既作为输入又作为输出。pc口分成两部分:上半口(pc4pc7)、下半口(pc0pc3),两部分可分别设置传送方向。各个端口均可用于无条

5、件数据传送,也可以通过人为指定pc口的某些位作为pa口、pb口的状态信号,进行查询方式传送。v方式方式1: 选通输入/输出方式。这种方式下pa口和pb口通过编程设定为输入口或输出口,而pc口则分成两部分,分别作用pa口和pb口的控制和同步信号,以便8255a和cpu之间传送信息和中断请求。这种联络信号由8255a内部规定的,不是由使用者指定的。pc口的高4位服务于a口,称a组。pc口的低4位服务于b口,称b组。v方式方式2: 双向总线方式。只有pa口可工作于此方式,这时pa口既可作输入又可作输出,pc口的pc3pc7作输入/输出的同步控制信号。此时,pb口可以工作于方式0,但不能工作于方式1。

6、4、8255a控制字控制字v8255a的控制字分为两种类型控制字:方式控制字和c口置位/复位控制字。用户通过程序可以把方式控制字写入8255的控制寄存器,以设定8255a的工作方式和c口各个位状态。v(1)方式控制字)方式控制字v方式控制字用于设定8255a的3个端口工作于什么方式,是输入还是输出方式a组b组d7d6d5d4d3d2d1d0方式标示位1方式选择a口c口高4位方式选择b口c口低4位00:方式001:方式11x:方式20:输出1:输入0:输出1:输入0:方式01:方式10:输出1:输入0:输出1:输入v(2)c口置位口置位/复位控制字复位控制字v该控制字可以使该控制字可以使c口的各

7、位单独置位或复位,口的各位单独置位或复位,以实现某些控制功能。以实现某些控制功能。 0xxxd3d2d1d0标志位0000:pc0 001:pc1010:pc2 011:pc3100:pc4 101:pc5110:pc6 111:pc70:复位1:置位5、8255a的初始化编程的初始化编程v8255a是一种可编程的i/o的接口芯片,使用时首先要由单片机对8522a写入控制字。8255a的各种方式都要由控制字来设定,这个设置过程称为“初始化”。若写入的控制字的最高位d7=1,则是方式控制字;若写入的控制字d7=0,则是c口的按位置位/复位按制字 10.3 8255a应用实例应用实例 v10.3.

8、1 设计要求v应用8255a扩展单片机的i/o口,将8255a的a口设置为输出方式,b口设置为输入方式,实现通过b口的开关控制a口的发光二极管亮/灭的功能。v图图10.3.1 8255a应用原理图应用原理图10.4 系统存储器扩展v单片机系统存储器的扩展主要包括:程序存储器和数据存储器的扩展。v程序存储器扩展比较方便,一般都是扩展一片并行接口的eprom(27系列芯片)、eeprom(28系列芯片)或flash(29系列芯片),如常用的eprom芯片有27c64(8kb)、27c256(32kb)和27c512(64kb);数据存储器的扩展按芯片采用的接口技术不同,可分为并行接口的芯片和串行接

9、口的芯片扩展。因串行接口芯片具有引脚少,集成度高,功耗低等特点,是数据存储器扩展的发展方向。10.4.1 单片机系统总线及总线信号单片机系统总线及总线信号 v(1)地址总线)地址总线 (ab)v(2)数据总线)数据总线 (db)v(3)控制总线)控制总线 (cb)v(4)系统扩展的连线原则)系统扩展的连线原则v系统的扩展归结为三总线的连接,连接的方法很简单,连线时应遵守下列原则:v连接的双方数据线连数据线,地址线连地址线,控制线连控制线。要特别注意的是:程序存储器接;数据存储器接和。v控制线相同的地址线不能相同,地址线相同的控制线不能相同。v片选信号有效时芯片才选中工作,当一类芯片仅一片时片选

10、端可接地,当同类芯片多片时片选端可通过线译码、部分译码、全译码接地址线(通常是高位地址线),在单片机中多采用线选法。10.4.2 扩展存储器编址技术v(1)线选法:)线选法:用地址线直接作为存储器芯片的片选信号的片选译码方法,称为线选法。该方法的优点是连线简单,缺点是地址资源浪费严重,地址映像不唯一,当系统的地址资源比较紧张时不宜采用。 v图图10.4.1 单片程序存储器扩展举例单片程序存储器扩展举例 v2)译码法:)译码法:通过对系统的高 8 位地址线译码产生系统扩展芯片的片选信号的译码方法,称为译码法。译码法又可以分为部分译码和全译码。v多片存储器扩展连接图,如图10.4.2所示。v(3)存储器的综合扩展)存储器的综合扩展 v在同一个系统中同时扩展程序存储器和数据存储器,如图10.4.3所示。10.5 ram 62256扩展应用实例v10.5.1 设计要求v将20个数字分别存入ram62256中,然后从ram62256中读出刚才存入的数字,并将其全部相加求和,在单片机的数码管上显示所求得的和的值。v图图10.5.1 ram扩展原理图扩展原理图10.6 小结v本章的重点难点内容是可编程芯片8255a的扩展和keil c中读取外部数据的方法。熟练应用8255a,可以解决单片机i/o口不够用的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论