为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机 扩展模块设计

2018-09-26 63页 ppt 409KB 12阅读

用户头像 个人认证

北溟愚鱼

暂无简介

举报
单片机 扩展模块设计 单元9 扩展模块 回顾 1,数据通信有哪些方式? 2,8051单片机串行通信通过哪些管脚完成? 3,8051单片机串行通信有几种工作方式? 4,波特率的定义是什么?8051单片机设置波特率的步骤? 5,Max232芯片作用是什么? 本单元任务 任务1 扩展程序存储器 任务2 扩展数据存储器 任务3 扩展I/O 任务1 扩展程序存储器 任务描述: 任务分析: 客户要求程序存储的容量不能少于8KB,以便项目今后能够程序升级,并能进行功能扩充 8...
单片机 扩展模块设计
单元9 扩展模块 回顾 1,数据通信有哪些方式? 2,8051单片机串行通信通过哪些管脚完成? 3,8051单片机串行通信有几种工作方式? 4,波特率的定义是什么?8051单片机设置波特率的步骤? 5,Max232芯片作用是什么? 本单元任务 任务1 扩展程序存储器 任务2 扩展数据存储器 任务3 扩展I/O 任务1 扩展程序存储器 任务描述: 任务分析: 客户要求程序存储的容量不能少于8KB,以便项目今后能够程序升级,并能进行功能扩充 8051单片机片内程序存储器的存储容量只有4KB,不能满足客户需求,因此必须进行存储扩展,8051单片机有8位数据线,16位地址线,因此可以通过外部扩展的来增大程序存储器容量 1.半导体存储器基本知识 只读存储器ROM :ROM(Read Only Memory)是只读存储器。ROM中所存储的信息是固定的、非易失性的,不会因为停电而消失。在正常工作状态下,ROM中的信息只能读不能写,即不能修改ROM的内容,数据读出后原数据不变。ROM通常用来存储控制程序和控制常量 掩模ROM PROM EPROM (EEPROM ) Flash Memory 随机存取存储器RAM RAM(Random Access Memory)是随机存取存储器。正常工作时信息既可读出又可写入。数据读出后原数据不变,新数据写入后,原数据自然消失,并被新数据代替。因此,RAM存储器可以用来存储实时数据、中间数据、最终结果或作为程序的堆栈区使用。但是,RAM是易失性存储器,掉电后其数据随即消失。 RAM通常可分为静态RAM和动态RAM两大类,其差别主要在于基本存储电路存储信息的方式不同。静态RAM依靠触发器来存储二进制信息,存储容量较小。动态RAM依靠存储电容来存储二进制信息,存储容量大 2.单片机存储器扩展的实现 P0口线用作数据线/低8位地址线 P0口线具有地址线/数据线双重复用功能,以ALE为锁存控制信号,选择高电平或下降沿选通的锁存器作为地址锁存器(通常使用的锁存器是74LS373或74LS273),确保低8位地址信息在消失前被送入锁存器暂存起来,从而实现了对地址和数据的分离 P2口线用作高8位地址线 P2口线用于进行高8位地址线的扩展。由于只具有地址线扩展的功能,P2口线可直接与存储器芯片的地址线相连,无需锁存。P2与P0提供的16根地址线实现了51单片机系统64KB的寻址范围 控制信号 (1)ALE是锁存信号,用于进行P0口地址线和数据线的隔离。 (2) 是程序存储器读选通控制信号。 (3) 是程序存储器访问控制信号。当它为低电平时,对程序存储器的访问仅限于外部存储器;为高电平时,对程序存储器的访问从单片机的内部存储器开始延至外部存储器。 (4) 、 是外部数据存储器的读/写选通控制信号 3.片选方式及地址映像 片选方式研究多个芯片扩展时的连线,从而保证对存储芯片访问的惟一性。地址映像则研究各存储器芯片在整个存储空间中所占据的地址范围,从而为存储器的使用提供依据 片选方式 存储器编址是扩展存储器的重点。所谓存储器编址,就是使用系统提供的地址线,通过适当的连接,最终达到一个编址唯一地对应存储器中一个存储单元的目的。通常的单片机系统都会扩展多片存储器芯片,因此存储器编址应从两个方面进行考虑: (1)存储芯片的选择,即片选。用来解决与芯片的片选端连接问题; (2)芯片内部存储单元的选择,用来解决与芯片的地址线连接问题。 芯片的选择有两种方式:线选和译码 (1)线选方式 :直接以系统的高地址作为存储芯片的片选信号,为此只需把用到的地址线与存储器的片选端直接连接即可。同时最多只能有一个存储器芯片被选中,此时,与被选中芯片相连的地址线有效,其他用于线选的地址线均无效 (2)译码方式 :使用译码器对系统的高位地址进行译码,以译码输出作为存储芯片的片选信号。这是一种最常用的片选方式,能有效利用存储空间,适用于大容量多芯片存储器的扩展 当扩展的同类存储器芯片的存储容量相同时,译码方式可产生连续的地址映像,充分利用存储空间。具体做法是: (1)若用于地址线扩展的P2口线是~,则从起与译码器输入选择端依照高低次序进行连接。 (2)多个芯片的片选端依次与相邻的译码输出端相连。 下面以扩展多片存储容量为2KB的存储器芯片为例进行说明。则每片存储器的地址线数量为11条(A10~A0),即P0经锁存器后为地址低8位(A7~A0),P2口的~用于地址扩展(A10~A8),译码电路则从P2.3起始,若采用74LS138作为译码器,电路如下 地址映像 对存储器芯片进行地址映像,是对存储器进行访问的前提。现在以扩展2KB存储容量的芯片进行说明。如图9-3所示,设4片存储芯片的片选端分别与Y0、Y1、Y2、Y3相连,则扩展4片存储器芯片时,P2、P0口各引脚连线对应关系如下 其中 ~ 、 ~ 用于片内地址的选择,范围从000 0000 0000B到111 1111 1111B。 ~ 用于芯片的选择,由于4#芯片的片选端与Y3相连, ~ 为011B时,用于选中4#芯片。这里设P2.7和P2.6为全0,则4#芯片的地址范围是1800H~1FFFH。同样地,3#芯片的地址范围是1000H~17FFH,2#芯片的地址范围是0800H~0FFFH,1#芯片的地址范围是000H~07FFH。这4片芯片的地址是完全连续。 4.地址锁存器及EPROM,EEPROM芯片介绍 地址锁存器 由于51单片机的P0口是数据和地址总线分时复用的,因此在进行单片机的程序存储器外部扩展时,就必须应用地址锁存器将P0口送出的低8位地址信号从地址/数据总线中分离出来。 程序存储器扩展时,地址锁存信号为ALE,地址锁存器可使用带有三态缓冲输出的8D74LS373,也可以使用带清除端的8D74LS273等 74LS373作为地址锁存器使用时,它们的锁存控制端G可直接与单片机的锁存控制信号ALE相连,以便在ALE的下降沿信号到来时进行地址锁存;当应用74LS273作为地址锁存器时,由于该芯片要求CLK端上沿锁存,因此单片机输出的ALE控制信号必须经过一个反相器后才能连接到74LS273的CLK端 常用程序存储器EPROM、EEPROM简介 紫外线擦除电可编程只读存储器EPROM,以前常用作51系列单片机的外部程序存储器,常见的型号有:2764(8K×8),27128(16K×8),27256(32K×8),27512(64K×8)等。现在这种存储器基本已被淘汰,代替它们的是型号中间带C的CMOS电可擦除程序存储器:27C64,27C128,27C256,27C512 电擦除可编程只读存储器EEPROM是常用的另一种单片机外扩程序存储器。其主要特点有(1)对硬件电路没有特殊的要求,操作十分简便。由于EEPROM片内设有编程所需的高电压脉冲产生电路,因而无需外加编程电源和编程脉冲即可完成写入工作;(2)采用+5V电擦除的EEPROM后,通常不需要设置单独的擦除操作,在对芯片进行编程同时完成自动擦除工作;(3)不仅可用于外扩程序存储器也可用于外扩数据存储器。常用的EEPROM有2816,2817A,2864,28C04,28C16,28C17,28C64等 【课堂思考】请分别查找芯片27C128、2817A、28C64的引脚及其功能 1.引脚功能 2.逻辑连线 3.地址映像 任务实施(扩展1片27C64 ) 引脚功能 : 27C64是一种8K×8位的电可擦除只读存储器,其工作电压是+5.0V,存取时间为120ns,容量为64K位,动作电流20mA,采用单独的芯片允许和输出允许控制。常用的27C64为28管脚PID(双列直插)封装 逻辑连线 (1)8051的引脚P0.7~P0.0直接与27C64的数据线D7~D0相连,完成数据线扩展。 (2)8051的引脚P0.7~P0.0经过锁存器与27C64的地址线A7~A0相连,P2.4~P2.0直接与27C64的地址线A12~A8相连,完成地址线扩展。 (3)8051的程序存储器访问控制 与27C64的输出允许端相连完成控制线的扩展。 (4)8051的引脚P2.5经非门与27C64片选端相连,进行芯片选择控制。 (5)8051的端接地,对程序的访问完全在片外进行 地址映像 P2.7、P2.6与寻址无关,均设为“1”。P2.5经非门与片选端相连,当它为“1”时,可使片选段有效。因此,此片27C64的地址范围是0E000H~0F000H 【课堂思考】若扩展三片27C64,地址范围从0A000H开始,应如何实现? 【Task9-1】扩展1片27C64,程序装在27C64,运行点亮LED流水灯。 (1)电路设计:单片机EA脚接地,通过74LS373扩展1片27C64。流水灯安装在P1口上。 (2)程序设计 void main() { while(1) { P1=led_light[i++]; delay(); if(i==8)i=0; } } void delay() { unsigned char t1,t2; for(t1=0;t1<200;t1++) for(t2=0;t2<200;t2++); } 任务2扩展数据存储器 任务描述: 任务分析: 客户同时还要求数据存储的容量不能少于2KB,以方便项目今后能满足扩充要求。 当一个项目涉及到大量的数据时,就可能会超过单片机片内数据存储器的存储容量(8051单片机数据存储容量实际只有128B),然而由于其16位地址线,最大可寻址64KB字节,因此仍可以通过外部扩展的方法来增大数据存储器容量 1. RAM扩展原理 扩展RAM和扩展ROM类似,由P2口提供高8位地址,P0口分时地作为低8位地址线和8位双向数据总线。片外RAM的读 和写 由8051的 和 信号控制,所以,虽然与ROM的地址重叠,但不会发生混乱 2.常见的数据存储器 目前,常用的数据存储器SRAM芯片有6116、6264、62256等, Ai~A0:地址输入线,i=10/12/13/14(6116/6264/62128/62256)。 D7~D0:三态双向数据线。 :片选信号输入线,低电平有效。 :读选通信号输入线,低电平有效。 :写选通信号输入线,低电平有效。 :6264的片选信号输入线,,高电平有效,可用于掉电保护。 示该管脚不用。 1.逻辑连线 2.地址映像 任务实施(扩展1片6116 ) 逻辑连线 ①数据线扩展。8051的引脚P0.7~P0.0直接与6116的数据线D7~D0相连。 ②地址线扩展。8051的引脚P0.7~P0.0经过锁存器与6116的地址线A7~A0相连,P2.4~P2.0直接与6116的地址线A12~A8相连。 ③8051读访问控制端 与6116的输出允许端 相连;写访问控制端 与6116写选通信号端 相连;P2.3与片选信号 相连完成控制线的扩展。 ④芯片选择。 外部数据存储器扩展时的数据线扩展、地址线扩展、芯片选择方法与程序存储器扩展时的方法完全相同 地址映像 P2.7~P2.4与寻址无关,均设为“1”,P2.3为0选中芯片,因此,此片6116的地址范围是0F000H~0F700H 【Task9-2】扩展1片27C512、1片6264。程序全部装在27C512,通过向6264存储器地址1000h、1001h写入点亮LED编码,再读取1000h、1001h编码点亮LED灯。 (1)电路设计:单片机EA脚接地,通过74LS373扩展1片27C512、1片6264 。LED灯安装在P1口上。 (2)程序设计 #define LED1 0x1000 #define LED2 0x1001 unsigned char led_light[]={0x55,0xaa}; //点亮LED编码 unsigned char i; void main() { XBYTE[LED1]=led_light[0]; //写入外部RAM地址1000h、10002h delay1(); //写入延时 XBYTE[LED2]=led_light[1]; delay1(); while(1) { i=XBYTE[LED1]; P1=i; delay(); i=XBYTE[LED2]; P1=i; delay(); } } 任务3扩展I/O 任务描述: 任务分析: 客户提出项目今后可能需要接更多的外部设备,因此需要预留更多的IO口,才能满足项目的扩展需求。 8051单片机有4个IO,共32位IO,然而其LED模块,显示模块,按键模块等电路已经占用了不少IO,要满足今后的扩展需要,唯一的办法就是扩展IO,即让单片机能使用的IO口超过本身自有的32位 1.扩展IO基础知识 由于MCS-51单片机的外部数据存储器RAM和I/O是统一编址的,因此,用户可以把外部64KB的数据存储器RAM空间的一部分作为扩展外部I/O的地址空间。这样,单片机就可以像访问外部RAM一样访问外部接口芯片,对其进行读写操作 2. 8255A可编程并行IO电路 8255A的结构及功能 (1)3个8位的I/O接口:A口、B口、C口 A口 具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。可编程为8位输入/输出或双向寄存器。 B口 具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。可编程为8位输入或输出寄存器,但不能双向输入/输出。 C口 具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。C口可分作两个4位口使用。它除了作为输入/输出口外,还可作为A口、B口选通方式工作时的状态控制信号。 (2)读/写控制逻辑 读/写控制逻辑的功能用于管理所有的数据、控制字或状态字的传送。它接收来自CPU的地址信号及一些控制信号来控制各个口的工作状态,这些控制信号有: (片选信号) 低电平有效。允许8255A与CPU交换信息。 (读信号) 低电平有效。允许CPU从8255A端口读取数据或外设状态信息。 (写信号) 低电平有效。允许CPU将数据、控制字写入8255A中 (复位) 高电平有效。有效时,控制寄存器全部清0,所有端口置成输入方式 (端口选择信号) 它们与 、 信号相配合用来选择端口及内部控制寄存器,并控制信息传送的方向 A1 A0 操作 0 0 0 1 1 0 0 0 0 1 1 0 1 1 x x 1 1 x x 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 x x 1 0 1 0 1 1 0 A口→数据总线 B口→数据总线 C口→数据总线 数据总线→A口 数据总线→B口 数据总线→C口 数据总线→控制寄存器 数据总线为三态 非法状态 数据总线为三态 (3)A组和B组控制电路 这是两组根据CPU命令控制8255A工作方式的电路。每组控制电路从读、写控制逻辑接收各种命令,从内部数据总线接收控制字(指令),并发出适当的命令到相应的端口。 A组控制电路控制A口及C口的高4位。 B组控制电路控制B口及C口的低4位。 (4)数据总线缓冲器 这是一个双向三态的8位缓冲器,用于和系统的数据总线直接相连,以实现CPU和8255A间传送信息 8255A的工作方式选择 (1)方式0(基本输入/输出方式) 这种工作方式不需要任何选通信号。A口、B口及C口的高4位和低4位都可以设定为输入或输出。作为输出口时,输出的数据被锁存;作为输入口时,输入数据不锁存。 (2)方式1(选通输入/输出方式) 这种工作方式下,A、B、C3个口分为两组:A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高4位用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口同样可由编程设定为输入口或输出口,C口的低4位用来作为输入/输出操作的控制和同步信号。A口和B口的输入数据或输出数据都被锁存。 (3)方式2(双向总线方式) 在这种工作方式下,A口为8位双向总线口,C口的PC3~PC7用来作为输入/输出的同步控制信号。在这种情况下,B口和PC0~PC2只能编程为方式0或方式1工作 8255A的控制字 例9-1:将B8H(10111000B)写入控制寄存器后,则8255A设置A口为方式1输入,B口为方式0输出,C口高4位为方式1输入,C口低4位为方式0输出。 例9-2:将0BH(00001011B)写入控制寄存器后,则8255A的PC5置1 8255A与MCS-51单片机的连接电路如图9-13所示。图中:8255A的片选信号 及端口地址选择线A1、A0分别由8051的P0.7、P0.1、P0.0经74LS373锁存后提供;8255A的 、分别接8051的 、 ;8255A的D0~D7接8051的P0.7~P0.7。该电路中8255A的A口、B口、C口以及控制口的地址分别为FF7CH、FF7DH、FF7EH和FF7FH 任务实施(扩展1片8255A ) 【Task9-3】扩展1片8255A。按键和LED灯安装在8255A中,通过读入B口按键状态,输出点亮A口相连的LED灯的过程。 (1)电路设计:扩展1片8255A 。LED灯安装在PA口上,按键安装在PB口中。 (2)程序设计 #define PORTA 0x7CFF //A口 注意:8255A的A1、A0与单片机的P2.1、P2.0相连 #define PORTB 0x7DFF //B口 #define PORTC 0x7EFF //C口 #define CADDR 0x7FFF //控制字地址 unsigned char i; void main() { XBYTE[CADDR]=0x82; //设置8255A工作方式0,A、C口输出,B口输入 while(1) { i=XBYTE[PORTB]; //读入B口 XBYTE[PORTA]=i; //输出到A口 } } 小结 8051单片机内部只有4K程序存储器、128B可用的数据存储器,对16位地址总线的51系列单片机,其寻址空间为216=65535,即64K字节,地址从0000H~0FFFFFH,因此8051单片机程序存储器和数据存储器均可扩展为64KB。 8051单片机共有32位I/O,当采用外部程序存储器或数据存储器时,由于地址总线的应用,致使单片机可用I/O减少到14个左右,因此单片机外围要连接的设备较多时,势必会出现I/O口不够用的情况,因而在实际应用中,也需要对单片机的I/O口作一定的扩展。I/O扩展常选用8255A或8155芯片 作业 技能拓展一选择题 技能拓展二设计题 谢谢!
/
本文档为【单片机 扩展模块设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索