《单片机原理与应用授课-第六章课件.ppt》由会员分享,可在线阅读,更多相关《单片机原理与应用授课-第六章课件.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章第六章 MCS-51MCS-51存储器和存储器和I/OI/O扩展扩展6-1 -1 存储器扩展存储器扩展6-2 -2 并行并行I/OI/O口扩展口扩展6-1存储器扩展存储器扩展一、MCS-51总线扩展结构1、单片机系统结构2、单片机总线扩展结构(1)地址线与存储器容量的关系地址线与存储器容量的关系A7A0:8根地址线,有28=256个单元A9A0:10根地址线,有210=1KBA10A0:11根地址线,有211=2KA11A0:12根地址线,有212=4KA12A0:13根地址线,有213=8K等等(2)16位地址位地址/8位数据的形成位数据的形成51系列单片机P0口和P2口既是通用I/O
2、口,同时 P0P0口还是分时复用分时复用的双向数据总线双向数据总线和低低8 8位地址总线位地址总线(一般需要加一级锁存器),而P2P2口则是高高8 8位地址总位地址总 线线。低8位地址和数据的区分:ALE高电平信号与P0口有效地址信号同时出现,ALE下降沿时锁存低8位地址,ALE低电平时P0口为数据。高8位地址的形成:有P2口送出高8位地址,A15A8,在执行MOVX、MOVC指令时P2口数据作为地址送出,常用来作为RAM、ROM的片选信号。(3)地址锁存器)地址锁存器-74LS373(8D三态同相锁存器)引脚功能:D7D0:8位并行数据输入端Q7Q0:8位并行数据输出端G:为1时D端数据=Q
3、端数据,为0时Q端数据保持。:片选端,低电平有效 74LS373的引脚和示意图:真值表:G D QLHHHLHLLLL不变H高阻3、典型RAM和ROM芯片介绍1)半导体存储器的分为:RAM和ROM。RAM分为静态RAM(SRAM)和动态RAM(DRAM)两种。目前计算机内的主存储器都是DRAM。图示为静态RAM的原理图2)6116的引脚结构如下图所示6116-2K SRAM6116-2K SRAM6116引脚功能A0A10地址线 CE选片 OE读D0D7数据线A7A6A5A4A3A2A1A0D0D1D2GNDVccA8A9WEOEA10CED7D6D5D4D36116写 WE3)ROM的组成结
4、构典型的EPROM芯片有Intel公司的2716(2K2716(2K8)8)、2732(42732(4 K K8)8)、2764(82764(8 K K8)8)、27128(1627128(16 K K8)8)、27256(3227256(32 K K8)8)、27512(6427512(64 K K8)8)等。等。2732-4K EPROM2732-4K EPROM27322732引脚功能引脚功能A0-A11地址线 CE选片 OE/Vpp输出允许/编程电源O0-O7数据线A7A6A5A4A3A2A1A0O0O1O2GNDVccA8A9A11OE/VppA10CEO7O6O5O4O32732二
5、、存储器扩展的基本方法1、存储器扩展的基本问题。1)扩展容量:16根地址线最大可扩展到64K2)扩展要解决的问题:地址线、扩展芯片在64K范围内所占的地址范围3)存储器扩展的编址:存储芯片片的选择、片内单元的编址4)选择芯片的方法:片选技术2、存储器扩展的片选技术一般产生片选有两种方法:线选线选法法和和译码译码法。法。(1 1)线选线选法法 线选法用低位地址线对片内的存储单元进行寻址,所需的地址线由片内地址线决定,用余下的高位地址线分别接至芯片的片选端,以区分各芯片的地址范围。例如要扩展8K容量的外RAM,地址线和片选如下:地址地址线线:loglog2 2(8(8 K)K)loglog2 2(
6、2 21313)1313条条(A(A1212A A0 0)片选线:余下的A15A13分别接至芯片的片选端。A15A13轮流 出现低电平,可保证一次只选一片。用线选法扩展存储器的缺点 各芯片间地址不连续。而习惯上使用连续地址,如24K范围地址从0000H到5FFFH。有相当数量的地址不能使用,否则造成片选混乱。例例6-1扩展三片2K存储芯片,试用线选法给出接线图和地址。分析:显然要11根地址线和3根片选线,分配如下低位地址线:P0.7P0.0-A7A0,P2.2P2.0-A10A8,合成11根地址线;高位地址线:P2.5、P2.4、P2.3-A13、A12、A11,作3片的片选,余下:P2.7、
7、P2.6不用,取00扩展接线结构如图:编址:P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0P0.7P0.01号片001 1000000H00110111FFH2号片001 0100000H001 01111FFH3号片000 1100000H00011111FFH显然,三片的地址范围是:1号片3000H37FFH2号片2800H2FFFH3号片1800H1FFFH(2)译码法 译码法将低位地址总线直接连至各芯片的地址线,将高位地址总线经地址译码器译码后作为各芯片的片选信号。一般使用2/4译码器、3/8译码器,对P2口高位地址线进行译码,适用于大规模扩展。2/4译
8、码器、3/8译码器的引脚图:如图所示74LS13974LS138ABCG2AG2BGY7GNDVccY0Y1Y2Y3Y4Y5Y61 162 153 144 135 126 117 108 974LS13874LS13874LS13874LS138 1G1A1B1Y01Y11Y21Y3GNDVcc2G2A2B2Y02Y12Y22Y31 162 153 144 135 126 117 108 974LS13974LS13974LS13974LS13913874LS138真值表例如:在上例中同样扩展三片2K存储芯片,采用译码法低位地址线:同前P0口A7A0,P2口A10A8,合成作为11根地址线2/
9、4译码器作为片选高位地址线:P2口A12、A11,作为译码器输入,利用2/4译码输出端Y0、Y1、Y2作为片选。三个信号作为3片芯片的片选,实际上可选4片,本例只需3片扩展接线结构如图:编址:P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0P0.7P0.01号片000 0000000H000 00111FFH2号片0000100000H000 01111FFH3号片000 1000000H000 10111FFH显然,三片的地址范围是:1号片0000H07FFH2号片0800H0FFFH3号片1000H17FFH3/8译码器作为片选高位地址线:P2口A13、A12
10、、A11,作为译码器输入,利用3/8译码输出端Y0、Y1、Y2三个信号作为3片芯片的片选,实际上可选8片,本例只需3片扩展接线结构如图:编址:P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0P0.7P0.01号片0000000000H000 00111FFH2号片0000100000H00001111FFH3号片000 1000000H00010111FFH显然,三片的地址范围是:1号片0000H07FFH2号片0800H0FFFH3号片1000H17FFH三、存储器扩展实例1、扩展外ROM1)扩展一片4K容量的EPROM,2732地址线:A11A0,共12根,接
11、8031的P2.3.P2.0,P0.7P0.0片选线:P2.7P2.4,不用,取0值,2732片选端直接接地,常选中。扩展接线结构如图:数据线:P0.7P0.02732的D7D0控制线:PSEN2732的OE端,ALE锁存器74LS373门控端G2732的地址范围:0000H0FFFH2)线选法扩展二片2K容量的EPROM,2716,共4K地址线:A10A0,共11根,接8031的P2.2P2.0,P0.7P0.0片选线:利用P2.3,加一个非门,接存储芯片的片选端,既可完成2片的选择,而P2.72.4,取0值数据线:P0.7P0.0分别接2片2732的D7D0控制线:PSEN分别接2片273
12、2的OE端ALE锁存器74LS373的门控端G扩展的接线如下页图所示:2732的地址范围:1号片0000H07FFH2号片0800H0FFFH扩展的接线如下页图所示:2、扩展外RAM1)扩展一片2K容量的RAM,6116地址线:A10A0,共11根,接8031的P2.2P2.0,P0.7P0.0片选线:P2.7P2.3,不用,取0值,因为只扩展1片,6116片选端直接接地,常选中数据线:P0.7P0.06116的D7D0控制线:WR6116的WE端RD6116的OE端ALE锁存器74LS373的门控端G6116的地址范围:0000H07FFH2)线选法扩展二片2K容量的RAM,6116,一片4
13、K容量的ROM,2716接线图如下页所示:扩展一片2K容量的RAM,6116线选法扩展二片2K容量,6116,一片4K容量,27162716:0000H07FFH6116(1):0000H07FFH6116(2):0800H0FFFH6-2并行I/O口扩展一、用74系列器件扩展并行I/O口常用并行I/O扩展芯片,如74LS244、74LS245、273、74LS377等1、74LS2732、74LS2443、扩展实例高位地址组合法,如图所示:输入:74LS244扩展K0K7并 由 P2.0+RD端,全 0时,74LS244选 通 读 入K0K7状态。实现:MOVDPTR,#FEFFHMOVXA
14、,DPTR;读入输出:74LS273扩展LED0LED7并由P2.0+WR端,全0时,74LS273将P0口数据送出,控制LED0LED7实现:MOVXDPTR,A;输出二、可编程并行接口8255A1、8255A的基本性能可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。8255A具有三个相互独立的输入/输出通道:通道A、通道B、通道C。A,B,C三通道可以联合使用,构成单线、双线或三线联络信号的并行接口。此时C口完全服务于A、B口。
15、A口有三种工作方式:方式0、方式1、方式2。B口有两种工作方式:方式0、方式1。2、8255A内部结构8255A内部结构由以下四部分组成:数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。结构如图所示端口A:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。端口B:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。端口C:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可在方式字控制下分为两个4位的端口(C端口上和下),每个4位端
16、口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。A组和B组控制的作用如下:A组 控 制 逻 辑 控 制 端 口 A及 端 口 C的 上 半 部;B组控制逻辑控制端口B及端口C的下半部。方式选择控制字:方式选择控制字:C端口置1置0控制字:端口C的数位常常作为控制位来使用,所以,在设计8255A芯片时,应使端口C中的各位可以用置1置0控制字来单独设置。其具体格式如下图所示。注意:C端口置1置0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。工作方式:工作方式:1)方式)方式0是一种基本输入或输出方式,它适用于无需握手信号的
17、简单输入输出应用场合,端口A、B、C都可作为输入或输出数据使用,输出有锁存而输入无锁存。2)方式)方式1也称选通的输入/输出方式。在这种方式下,无论是输入还是输出都通过应答关系实现,这时端口A或B用作数据口,端口C的一部分引脚用作握手信号线与中断请求线。若端口A工作于方式1,则B可工作于方式0;若端口B工作于方式1,则A可工作于方式0或余下的13位可工作于方式0;若端口A和B同时工作于方式1,端口C余下的两位还可用于传送数据或控制信号。3)方式)方式2也称选通的双向I/O方式,仅适用于端口A,这时A口的PA7-PA0作为双向的数据总线,端口C有5条引脚用作A的握手信号线和中断请求线,而B口和C
18、口余下的3位仍可工作于方式0或1。它可以认为是方式1输出和输入的组合但有以下不同:(1)当CPU将数据写入A口时,尽管OBF变为有效,但数据并不出现在PA7-PA0上,只有外设发出ACKA信号时,数据才进入PA7-PA0。(2)输出和输入引起的中断请求信号都通过同一引脚输出,CPU必须通过查询OBF和IBF状态才能确定是输入引起的中断请求还是输出引起的中断请求。(3)ACKA和STBA信号信号不能同时有效,否则将出现数据传送“冲突”。3、MCS-51和8255A的接口方法如图所示为MCS-51和8255A的一种接口逻辑。PA口、PB口、PC口、控制口的地址分别为:7FFCH、7FFDH、7FF
19、EH、7FFFH。假设图中8255A的PA口接一组开关,PB接一组指示灯,如果,要将MCS-51的寄存器R2的内容送指示灯显示,将开关状态读入MCS-51的累加器A,则8255初始化和输入/输出程序如下:ORG1000HR8255:MOVDPTR,#7FFFH;MOVA,#98HMOVXDPTR,AMOVDPTR,#7FFDHMOVA,R2MOVDPTR,AMOVDPTR,#7FFCHMOVXA,DPTRRET*三、可编程并行接口芯片8155与8255A相比,8155具有更强的功能,可以扩展单片机的I/O口、定时器、外部数据存储器RAM。1 1、81558155芯片的构成芯片的构成1)逻辑结构
20、2)引脚图3)接口信号8155芯片的内部结构256B256B静态静态RAMRAM A A 定时器定时器B B C C 口APA0PA7口BPB0PB7PC0PC5口CIO/MAD0AD7CEALERDWRRESET定时器输入定时器输出接单片机接外设接外设接外设8155引脚功能PC3PC4PC5IO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssVccPC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155TIMERINRESETTIMEROUTAD0-AD7AD0-AD7三态地址三态地址/数据线数据线
21、 IO/M IO/M端口端口/存储存储器选择器选择 RD RD读读ALEALE地址锁存地址锁存允许允许写写 WR WR选片选片 CE CE定时器输定时器输入入TIMER INTIMER IN定时器输定时器输出出TIMER OUTTIMER OUTPA0-PA7PA0-PA7A A口端口线口端口线PB0-PB7PB0-PB7B B口端口线口端口线PC0-PC5PC0-PC5C C口端口线口端口线PA0-PA7端口A的I/O线(8位,接外设)PB0-PB7端口B的I/O线(8位,接外设)PC0-PC5端口C的I/O线(6位,接外设)AD0-AD7三态地址/数据复用线(8位,一般接单片机P0口,CP
22、U与8155之间的地址、数据、命令、状态等信号都通过它来传送)端口/存储器 选择控制“0”选择片内RAM “1”选择片内I/O口TIMER IN8155片内定时器/计数器的计数脉冲输入引脚TIMER OUT8155片内定时器/计数器的计满回零输出引脚分别是对8155片内的RAM或I/O口的的读、写控制信号ALE地址锁存引脚选片RESET复位引脚IO/MRD、WRCE2 2、81558155的的RAMRAM和和I/OI/O口地址口地址RAMRAM地址-当IO/M 加低电平:此时AD0-AD7上得到的地址值是指8155的某一RAMRAM单元的地址,地址范围是:0000 0000-1111 1111
23、分别指向8155 RAM 的256个存储单元。I/OI/O口地址口地址-当IO/M 加高电平:此时AD0-AD7(仅用到低三位AD2、AD1、AD0)上得到的地址值是指8155的某一I/O口的地址,具体端口地址分配是:8155的RAM和I/O口编址 AD7 AD6 AD5 AD4 AD3 AD2 AD1AD0I/O端口 0 0 0命令/状态寄存器 0 0 1PA口 0 1 0PB口 0 1 1PC口 1 0 0计数器低8位 1 0 1计数器高6位3 3、81558155的使用的使用1)8155内RAM的使用:与一般外部数据存储器的使用基本一样,唯一区别是事先要使IO/M 为低电平。2)8155
24、各端口的使用:A、B、C各端口可工作于不同的工作方式,使用前要进行初始化(写命令字到命令口)。4、扩展电路的连接实例扩展电路的连接实例 1)以高位地址直接作为IO/M信号扩展,接口电路非常简单,基本上是相同信号对接,如图:8031803181558155RESETRDWRALEP2.4P0.0P0.1P0.2P.03P0.4P0.5P0.6P0.7RESETRDWRALEIO/MCEAD0AD1AD2AD3AD4AD5AD6AD7口APA0PA7口BPB0PB7PC0PC5口C2)多芯片扩展8031373G27166116(2)6116(1)8155P0P2.2-P2.0PSENALEWRRD
25、ABCG2AG2BG1P1.0A0A7A8A10D7D0D7D0D7D0 CECECEOEA0A7A8A10WEWEOEOEWERDALEAD0AD7CEY2Y1Y0+5VIO/MPAPBPCP2.3P2.4P2.5P2.6P2.7上图中的各扩展地址分别为:8155:0000H0000H、0001H0001H、0005H0005H8031的P2.7-P2.3=00000时,选中8155,在此前提下,当8031的P0口输出地址是XXXXX000-XXXXX101,且IO/M=1时,选中8155的各端口,即:当IO/M=0时,选中8155的RAM单元,所以:其内部RAM地址范围是:0000H-00
26、FFH。P2.7 P2.0 P0.7 P0.0 P2.7 P2.0 P0.7 P0.0 端口端口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0(0000H)命令口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1(0001H)PA口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0(0002H)PB口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1(0003H)PC口 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0(0004H
27、)计数器低 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1(0005H)计数器高61166116(1 1):):0800H-0FFFH0800H-0FFFH61166116(2 2):):1000H-17FFH1000H-17FFH分析:根据74LS138,8031的P2.7-P2.3=00001时,选中6116(1),在此前提下,加上P2.2-P2.0,P0.7-P0.0低位地址,既有:6116(1)的地址范围是:0000 1 000 0000 0000-0000 1 111 1111 1111 即:8000H-FFFFH。6116(2)同理可得:1000H
28、-17FFH:3)常用I/O口综合扩展线选法80316116CE8255CS8155IO/MCECE8253CS0832P2.3P2.4P2.0P2.5P2.6P2.7线选法译码地址外围器件外围器件地址选择线(地址选择线(A15A0)片内地址单元单元数地址编码地址编码611611110AAAAAAAAAAA2KF000F7FFH825511101111111111AA4EFFCEFFFH8155RAM11011110AAAAAAAA256DE00DEFFH8155I/O1101111111111AAA6DFF8DFFDH083210111111111111111BFFFH82530111111
29、1111111AA47FFC7FFFH80316264CE8255CS8155IO/MCECE8253CS0832P2.5P2.6P2.7P2.0ABCG2AG2BG1Y0Y1Y2Y3Y4+5V138译码法译码法译码地址外围器件外围器件地址选择线(地址选择线(A15A0)片内地址单元单元数地址编码地址编码6264000AAAAAAAAAAAAA8K00001FFFH825500111111111111AA43FFC3FFFH8155RAM01011110AAAAAAAA2565E005EFFH8155I/O0101111111111AAA65FF85FFDH0832011111111111111117FFFH825310011111111111AA49FFC9FFFH本章小结1、程序存储器扩展设计,EPROM外特性介绍(2716、2732、2764),8031单片机最小系统设计,扩展设计2、数据存储器和外部I/0端口扩展设计,RAM外特性介绍(6116、6264),扩展设计3、外部I/0端口扩展技术介绍重点:存储器扩展电路设计及连线,译码地址和译码范围,MCS-51单片机P0、P1口的功能。难点:译码地址和译码范围,端口的灵活应用。