《片机扩展模块设计.ppt》由会员分享,可在线阅读,更多相关《片机扩展模块设计.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单元9 扩展模块 回顾 1,数据通信有哪些方式?,数据通信有哪些方式?2,8051单片机串行通信通过哪些管脚完成?单片机串行通信通过哪些管脚完成?3,8051单片机串行通信有几种工作方式?单片机串行通信有几种工作方式?4,波特率的定义是什么?,波特率的定义是什么?8051单片机设置波特率单片机设置波特率的步骤?的步骤?5,Max232芯片作用是什么?芯片作用是什么?本单元任务n任务1 扩展程序存储器 n任务2 扩展数据存储器 n任务3 扩展I/O任务描述:任务描述:任务分析:任务分析:客户要求程序存储的容量不能少于客户要求程序存储的容量不能少于8KB,以便项目今后能够程序升,以便项目今后能够程
2、序升级,并能进行功能扩充级,并能进行功能扩充 8051单片机片内程序存储器的存储容量只有单片机片内程序存储器的存储容量只有4KB,不能满足客户需求,不能满足客户需求,因此必须进行存储扩展,因此必须进行存储扩展,8051单片机有单片机有8位数据线,位数据线,16位地址线,因此可位地址线,因此可以通过外部扩展的方法来增大程序存储器容量以通过外部扩展的方法来增大程序存储器容量 任务1 扩展程序存储器1.半导体存储器基本知识半导体存储器基本知识 n只读存储器ROM:ROM(Read Only Memory)是只读存储器。ROM中所存储的信息是固定的、非易失性的,不会因为停电而消失。在正常工作状态下,R
3、OM中的信息只能读不能写,即不能修改ROM的内容,数据读出后原数据不变。ROM通常用来存储控制程序和控制常量 q掩模ROM qPROM qEPROM(EEPROM)qFlash Memory n随机存取存储器RAM qRAM(Random Access Memory)是随机存取存储器。正常工作时信息既可读出又可写入。数据读出后原数据不变,新数据写入后,原数据自然消失,并被新数据代替。因此,RAM存储器可以用来存储实时数据、中间数据、最终结果或作为程序的堆栈区使用。但是,RAM是易失性存储器,掉电后其数据随即消失。qRAM通常可分为静态RAM和动态RAM两大类,其差别主要在于基本存储电路存储信息
4、的方式不同。静态RAM依靠触发器来存储二进制信息,存储容量较小。动态RAM依靠存储电容来存储二进制信息,存储容量大 2.单片机存储器扩展的实现单片机存储器扩展的实现 nP0口线用作数据线口线用作数据线/低低8位地址线位地址线 P0口线具有地址线/数据线双重复用功能,以ALE为锁存控制信号,选择高电平或下降沿选通的锁存器作为地址锁存器(通常使用的锁存器是74LS373或74LS273),确保低8位地址信息在消失前被送入锁存器暂存起来,从而实现了对地址和数据的分离 nP2口线用作高8位地址线P2口线用于进行高8位地址线的扩展。由于只具有地址线扩展的功能,P2口线可直接与存储器芯片的地址线相连,无需
5、锁存。P2与P0提供的16根地址线实现了51单片机系统64KB的寻址范围 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0n控制信号 q(1)ALE是锁存信号,用于进行P0口地址线和数据线的隔离。q(2)是程序存储器读选通控制信号。q(3)是程序存储器访问控制信号。当它为低电平时,对程序存储器的访问仅限于外部存储器;为高电平时,对程序存储器的访问从单片机的内部存储器开始延至外部存储器。q(4)、是外部数据存储器的读/写选通控制信号 3.片选
6、方式及地址映像片选方式及地址映像 片选方式研究多个芯片扩展时的连线,从而保证对存储芯片访问的惟一性。地址映像则研究各存储器芯片在整个存储空间中所占据的地址范围,从而为存储器的使用提供依据 n片选方式片选方式 存储器编址是扩展存储器的重点。所谓存储器编址,就是使用系统提供的地址线,通过适当的连接,最终达到一个编址唯一地对应存储器中一个存储单元的目的。通常的单片机系统都会扩展多片存储器芯片,因此存储器编址应从两个方面进行考虑:(1)存储芯片的选择,即片选。用来解决与芯片的片选端连接问题;(2)芯片内部存储单元的选择,用来解决与芯片的地址线连接问题。q芯片的选择有两种方式:线选和译码(1)线选方式:
7、直接以系统的高地址作为存储芯片的片选信号,为此只需把用到的地址线与存储器的片选端直接连接即可。同时最多只能有一个存储器芯片被选中,此时,与被选中芯片相连的地址线有效,其他用于线选的地址线均无效 q(2)译码方式:使用译码器对系统的高位地址进行译码,以译码输出作为存储芯片的片选信号。这是一种最常用的片选方式,能有效利用存储空间,适用于大容量多芯片存储器的扩展 当扩展的同类存储器芯片的存储容量相同时,译码方式可产生连续的地址映像,充分利用存储空间。具体做法是:(1)若用于地址线扩展的P2口线是,则从起与译码器输入选择端依照高低次序进行连接。(2)多个芯片的片选端依次与相邻的译码输出端相连。下面以扩
8、展多片存储容量为2KB的存储器芯片为例进行说明。则每片存储器的地址线数量为11条(A10A0),即P0经锁存器后为地址低8位(A7A0),P2口的用于地址扩展(A10A8),译码电路则从P2.3起始,若采用74LS138作为译码器,电路如下 n地址映像对存储器芯片进行地址映像,是对存储器进行访问的前提。现在以扩展2KB存储容量的芯片进行说明。如图9-3所示,设4片存储芯片的片选端分别与Y0、Y1、Y2、Y3相连,则扩展4片存储器芯片时,P2、P0口各引脚连线对应关系如下P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.
9、0/CBAA10A9A8A7A6A5A4A3A2A1A0其中 、用于片内地址的选择,范围从000 0000 0000B到111 1111 1111B。用于芯片的选择,由于4#芯片的片选端与Y3相连,为011B时,用于选中4#芯片。这里设P2.7和P2.6为全0,则4#芯片的地址范围是1800H1FFFH。同样地,3#芯片的地址范围是1000H17FFH,2#芯片的地址范围是0800H0FFFH,1#芯片的地址范围是000H07FFH。这4片芯片的地址是完全连续。4.地址锁存器及地址锁存器及EPROM,EEPROM芯片介绍芯片介绍 n地址锁存器 由于51单片机的P0口是数据和地址总线分时复用的,
10、因此在进行单片机的程序存储器外部扩展时,就必须应用地址锁存器将P0口送出的低8位地址信号从地址/数据总线中分离出来。程序存储器扩展时,地址锁存信号为ALE,地址锁存器可使用带有三态缓冲输出的8D74LS373,也可以使用带清除端的8D74LS273等 74LS373作为地址锁存器使用时,它们的锁存控制端G可直接与单片机的锁存控制信号ALE相连,以便在ALE的下降沿信号到来时进行地址锁存;当应用74LS273作为地址锁存器时,由于该芯片要求CLK端上沿锁存,因此单片机输出的ALE控制信号必须经过一个反相器后才能连接到74LS273的CLK端 n常用程序存储器EPROM、EEPROM简介紫外线擦除
11、电可编程只读存储器EPROM,以前常用作51系列单片机的外部程序存储器,常见的型号有:2764(8K8),27128(16K8),27256(32K8),27512(64K8)等。现在这种存储器基本已被淘汰,代替它们的是型号中间带C的CMOS电可擦除程序存储器:27C64,27C128,27C256,27C512 电擦除可编程只读存储器EEPROM是常用的另一种单片机外扩程序存储器。其主要特点有(1)对硬件电路没有特殊的要求,操作十分简便。由于EEPROM片内设有编程所需的高电压脉冲产生电路,因而无需外加编程电源和编程脉冲即可完成写入工作;(2)采用+5V电擦除的EEPROM后,通常不需要设置
12、单独的擦除操作,在对芯片进行编程同时完成自动擦除工作;(3)不仅可用于外扩程序存储器也可用于外扩数据存储器。常用的EEPROM有2816,2817A,2864,28C04,28C16,28C17,28C64等【课堂思考】【课堂思考】请分别查找芯片27C128、2817A、28C64的引脚及其功能 n1.引脚功能引脚功能 n2.逻辑连线逻辑连线 n3.地址映像地址映像 任务实施(扩展扩展1片片27C64)n引脚功能引脚功能:27C64是一种8K8位的电可擦除只读存储器,其工作电压是+5.0V,存取时间为120ns,容量为64K位,动作电流20mA,采用单独的芯片允许和输出允许控制。常用的27C6
13、4为28管脚PID(双列直插)封装 n逻辑连线逻辑连线(1)8051的引脚P0.7P0.0直接与27C64的数据线D7D0相连,完成数据线扩展。(2)8051的引脚P0.7P0.0经过锁存器与27C64的地址线A7A0相连,P2.4P2.0直接与27C64的地址线A12A8相连,完成地址线扩展。(3)8051的程序存储器访问控制 与27C64的输出允许端相连完成控制线的扩展。(4)8051的引脚P2.5经非门与27C64片选端相连,进行芯片选择控制。(5)8051的端接地,对程序的访问完全在片外进行 n地址映像地址映像 P2.7、P2.6与寻址无关,均设为“1”。P2.5经非门与片选端相连,当
14、它为“1”时,可使片选段有效。因此,此片27C64的地址范围是0E000H0F000H【课堂思考】若扩展三片27C64,地址范围从0A000H开始,应如何实现?n【Task9-1】扩展1片27C64,程序装在27C64,运行点亮LED流水灯。q(1)电路设计:单片机EA脚接地,通过74LS373扩展1片27C64。流水灯安装在P1口上。n(2)程序设计)程序设计void main()while(1)P1=led_lighti+;delay();if(i=8)i=0;void delay()unsigned char t1,t2;for(t1=0;t1200;t1+)for(t2=0;t2200
15、;t2+);任务描述:任务描述:任务分析:任务分析:客户同时还要求数据存储的容量不能少于客户同时还要求数据存储的容量不能少于2KB,以方便项目今后能,以方便项目今后能满足扩充要求。满足扩充要求。当一个项目涉及到大量的数据时,就可能会超过单片机片内数据存当一个项目涉及到大量的数据时,就可能会超过单片机片内数据存储器的存储容量(储器的存储容量(8051单片机数据存储容量实际只有单片机数据存储容量实际只有128B),然而由于其),然而由于其16位地址线,最大可寻址位地址线,最大可寻址64KB字节,因此仍可以通过外部扩展的方法来字节,因此仍可以通过外部扩展的方法来增大数据存储器容量增大数据存储器容量
16、任务2扩展数据存储器 1.RAM扩展原理扩展原理 n扩展RAM和扩展ROM类似,由P2口提供高8位地址,P0口分时地作为低8位地址线和8位双向数据总线。片外RAM的读 和写 由8051的 和 信号控制,所以,虽然与ROM的地址重叠,但不会发生混乱 2.常见的数据存储器常见的数据存储器 n目前,常用的数据存储器SRAM芯片有6116、6264、62256等,AiA0:地址输入线,i=10/12/13/14(6116/6264/62128/62256)。D7D0:三态双向数据线。:片选信号输入线,低电平有效。:读选通信号输入线,低电平有效。:写选通信号输入线,低电平有效。:6264的片选信号输入线
17、,高电平有效,可用于掉电保护。表示该管脚不用。n1.逻辑连线逻辑连线n2.地址映像地址映像 任务实施(扩展扩展1片片6116)n逻辑连线逻辑连线 数据线扩展。8051的引脚P0.7P0.0直接与6116的数据线D7D0相连。地址线扩展。8051的引脚P0.7P0.0经过锁存器与6116的地址线A7A0相连,P2.4P2.0直接与6116的地址线A12A8相连。8051读访问控制端 与6116的输出允许端 相连;写访问控制端 与6116写选通信号端 相连;P2.3与片选信号 相连完成控制线的扩展。芯片选择。外部数据存储器扩展时的数据线扩展、地址线扩展、芯片选择方法与程序存储器扩展时的方法完全相同
18、 n地址映像地址映像 P2.7P2.4与寻址无关,均设为“1”,P2.3为0选中芯片,因此,此片6116的地址范围是0F000H0F700H n【Task9-2】扩展1片27C512、1片6264。程序全部装在27C512,通过向6264存储器地址1000h、1001h写入点亮LED编码,再读取1000h、1001h编码点亮LED灯。q(1)电路设计:单片机EA脚接地,通过74LS373扩展1片27C512、1片6264。LED灯安装在P1口上。n(2)程序设计)程序设计#defineLED10 x1000#defineLED20 x1001unsigned char led_light=0
19、x55,0 xaa;/点亮LED编码unsigned char i;void main()XBYTELED1=led_light0;/写入外部RAM地址1000h、10002hdelay1();/写入延时 XBYTELED2=led_light1;delay1();while(1)i=XBYTELED1;P1=i;delay();i=XBYTELED2;P1=i;delay();任务描述:任务描述:任务分析:任务分析:客户提出项目今后可能需要接更多的外部设备,因此需要预留更多客户提出项目今后可能需要接更多的外部设备,因此需要预留更多的的IO口,才能满足项目的扩展需求。口,才能满足项目的扩展需求
20、。8051单片机有单片机有4个个IO,共,共32位位IO,然而其,然而其LED模块,显示模块,按模块,显示模块,按键模块等电路已经占用了不少键模块等电路已经占用了不少IO,要满足今后的扩展需要,唯一的办法就,要满足今后的扩展需要,唯一的办法就是扩展是扩展IO,即让单片机能使用的,即让单片机能使用的IO口超过本身自有的口超过本身自有的32位位 任务3扩展I/O 1.扩展扩展IO基础知识基础知识 n由于MCS-51单片机的外部数据存储器RAM和I/O是统一编址的,因此,用户可以把外部64KB的数据存储器RAM空间的一部分作为扩展外部I/O的地址空间。这样,单片机就可以像访问外部RAM一样访问外部接
21、口芯片,对其进行读写操作 2.8255A可编程并行可编程并行IO电路电路 n8255A的结构及功能(1)3个8位的I/O接口:A口、B口、C口A口具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。可编程为8位输入/输出或双向寄存器。B口具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。可编程为8位输入或输出寄存器,但不能双向输入/输出。C口具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。C口可分作两个4位口使用。它除了作为输入/输出口外,还可作为A口、B口选通方式工作时的状态控制信号。(2)读/写控制逻辑读/写控制逻辑的功能用于管理所有的数据、控制字或状态字的传
22、送。它接收来自CPU的地址信号及一些控制信号来控制各个口的工作状态,这些控制信号有:(片选信号)低电平有效。允许8255A与CPU交换信息。(读信号)低电平有效。允许CPU从8255A端口读取数据或外设状态信息。(写信号)低电平有效。允许CPU将数据、控制字写入8255A中 (复位)高电平有效。有效时,控制寄存器全部清0,所有端口置成输入方式 (端口选择信号)它们与 、信号相配合用来选择端口及内部控制寄存器,并控制信息传送的方向 A1 A0操作0 00 11 00 00 11 01 1x x1 1x x0 1 0 0 1 0 0 1 0 1 0 01 0 01 0 0 1 0 0 x x 1
23、0 1 0 1 1 0A口数据总线B口数据总线C口数据总线数据总线A口数据总线B口数据总线C口数据总线控制寄存器数据总线为三态非法状态数据总线为三态(3)A组和B组控制电路这是两组根据CPU命令控制8255A工作方式的电路。每组控制电路从读、写控制逻辑接收各种命令,从内部数据总线接收控制字(指令),并发出适当的命令到相应的端口。A组控制电路控制A口及C口的高4位。B组控制电路控制B口及C口的低4位。(4)数据总线缓冲器这是一个双向三态的8位缓冲器,用于和系统的数据总线直接相连,以实现CPU和8255A间传送信息 n8255A的工作方式选择(1)方式0(基本输入/输出方式)这种工作方式不需要任何
24、选通信号。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口的PC3PC7用来作为输入/输出的同步控制信号。在这
25、种情况下,B口和PC0PC2只能编程为方式0或方式1工作 n8255A的控制字 n例9-1:将B8H(10111000B)写入控制寄存器后,则8255A设置A口为方式1输入,B口为方式0输出,C口高4位为方式1输入,C口低4位为方式0输出。n例9-2:将0BH(00001011B)写入控制寄存器后,则8255A的PC5置1 n8255A与MCS-51单片机的连接电路如图9-13所示。图中:8255A的片选信号 及端口地址选择线A1、A0分别由8051的P0.7、P0.1、P0.0经74LS373锁存后提供;8255A的 、分别接8051的 、;8255A的D0D7接8051的P0.7P0.7。
26、该电路中8255A的A口、B口、C口以及控制口的地址分别为FF7CH、FF7DH、FF7EH和FF7FH 任务实施(扩展扩展1片片8255A)n【Task9-3】扩展1片8255A。按键和LED灯安装在8255A中,通过读入B口按键状态,输出点亮A口相连的LED灯的过程。q(1)电路设计:扩展1片8255A。LED灯安装在PA口上,按键安装在PB口中。n(2)程序设计)程序设计#define PORTA 0 x7CFF/A口 注意:8255A的A1、A0与单片机的P2.1、P2.0相连#define PORTB0 x7DFF/B口#define PORTC0 x7EFF/C口#define C
27、ADDR0 x7FFF/控制字地址unsigned char i;void main()XBYTECADDR=0 x82;/设置8255A工作方式0,A、C口输出,B口输入while(1)i=XBYTEPORTB;/读入B口XBYTEPORTA=i;/输出到A口小结n8051单片机内部只有4K程序存储器、128B可用的数据存储器,对16位地址总线的51系列单片机,其寻址空间为216=65535,即64K字节,地址从0000H0FFFFFH,因此8051单片机程序存储器和数据存储器均可扩展为64KB。n8051单片机共有32位I/O,当采用外部程序存储器或数据存储器时,由于地址总线的应用,致使单片机可用I/O减少到14个左右,因此单片机外围要连接的设备较多时,势必会出现I/O口不够用的情况,因而在实际应用中,也需要对单片机的I/O口作一定的扩展。I/O扩展常选用8255A或8155芯片 作业n技能拓展一选择题n技能拓展二设计题谢谢!