




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/8/6,1,MCS-51单片机系统的扩展技术,单片机内部: 有一定容量的存储器但一般容量较小,远远满足不了实际需要, 4个I/O口 因此需要从外部进行扩展,配置外部存储器和接口,以满足实际需要。 系统的扩展主要包括:程序存贮器、数据存贮器、定时器/计数器、中断源及串行口、并行I/O端口等。 扩展原则:就是利用单片机的可寻址空间。 本章主要介绍: 扩展技术:ROM、RAM、并行I/O 常用通道接口技术:A/D、D/A接口,键盘与显示接口,501,2020/8/6,2,MCS-51单片机系统的扩展技术,5.1 MCS-51单片机最小应用系统 5.2 MCS-51单片机的外部扩展性能 5.
2、3 程序存贮器的扩展 5.4 数据存贮器的扩展 5.5 I/O口的扩展 5.6 A/D转换电路接口技术 5.7 D/A接口的扩展 5.8 单片机的键盘与显示接口,2020/8/6,3,8051/8751的最小应用系统,80518751内部含有4K字节的ROMEPROM,因此,这种芯片构成的最小应用系统最为简单: 只要将单片机接上时钟电路和复位电路即可。由于单片机内部资源有限,它只用在比较简单的场合。 其应用特点是:,(1)单片机的P0、P1、P2、P3口都可用作IO口使用,故,口资源比较丰富。由于没有外部存贮器扩展,EA应该接高电平。 (2)内部存贮器容量有限(只4KB)。 (3)8051的应
3、用软件需要依靠半导体厂家用半导体掩模技术置入,故8051适合于用作大批量生产的应用场合。,XTAL1,XTAL2,RESET,EA,P0,P1,P2,P3,8051 8751,8,8,8,8,+5V,+5V,Ra,Ka,Ra1,Ca,Co1,Co2,19,18,2020/8/6,4,8031最小应用系统,8031是片内无程序存贮器的芯片,因此,其最小应用系统必须在片外扩展EPROM 。,在这个系统中,EPROM的4KB单片地址要求 12根地址线(A11A0),由 P0和P2.3P2.0组成。 ALE:地址锁存器的锁存信 号 PSEN:程序存贮器的取指 信号。 程序存贮器芯片只有一 片,故其片选
4、线直接接地。 8031因用外部程序存贮 器,故 EA 必须接地, 晶体振荡电路和复位电路 与80518751最小应用系 统相同。,地址 锁存,EPROM,+5V,Ra,Ra1,Ca,Co1,Co2,Ka,XTAL1,XTAL2,RESET,EA,P2.3-P2.0,ALE,PSEN,P0.7-P0.0,8,4,4,8,AB11-AB8,AB7-AB0,0V,8031,2020/8/6,5,MCS-51单片机的片外总线结构,单片机都是通过片外引脚进行系统扩展的。为了满足系统扩展的要求,MCS-51单片机片外引脚可以构成如下图所示的三总线结构,即地址总线(AB),数据总线(DB)和控制总线(CB)
5、。所有的外部芯片都通过这三组总线进行扩展。,地址 锁存器,16位地址总线,8位数据总线,控制总线,低8位地址线,高8位地址线,8,+5V,或地,EA,P2口,P0口,ALE,RD,WR,PSEN,8051,2020/8/6,6,控制线的连接 对存储器来讲控制线无非是:芯片的选通控制、读写控制 选通:CPU与器件交换数据或信息,需先发出选通信号/CE或/CS,以便选中芯片。 读 / 写:CPU向外部设备发出的读/写控制命令。 EPROM:/OE /PSEN SRAM: /WE /WR /OE /RD 单片机与外部器件数据交换要遵循两个重要原则: 地址唯一性,一个单元一个地址。 同一时刻,CPU只
6、能访问一个地址,即只能与一个单元交换数据。不交换时,外 部器件处于锁闭状态,对总线呈浮空状态。,地址锁存控制,EA=0:只访问外 EA=1:先内后外,2020/8/6,7,MCS-51单片机的系统扩展能力,因为MCS-51的地址总线宽度为16位,在片外可扩展的存贮器最大容量为64KB,地址范围为0000HFFFFH。 可扩展的片外数据RAM和程序ROM,均64KB,允许两者地址重复。(操作使用不同的指令和控制信号MOVX ,MOVC) 片内数据RAM与片外数据RAM的操作指令也不同,所以也允许两者地址重复,即外部数据存贮器的地址可以从0000H开始。 。(MOV ,MOVX ) 片外程序ROM
7、与片内程序ROM采用相同的操作指令,对片内、片外程序ROM的选择依靠硬件实现: 当EA=0时,只执行片外程序ROM程序,地址从0000H开始 当EA=1时,则前4KB的地址(0000H0FFFH)为片内程序ROM所有,片外扩展的程序ROM的地址只能从1000H开始设置。 为了配置外围设备而需要扩展的IO口与片外数据存贮器统一编址,不再另外提供地址线。所以,当应用系统需要大量配置外围设备以及扩展较多的IO口时,要占去大量的RAM地址。,扩展原则:就是利用单片机的可寻址空间。,2020/8/6,8,5.3 程序存贮器的扩展,8051和8751内部有4K字节的程序存贮器,仅当此容量不够时,才 需予以
8、扩展; 而80318032内部无程序存贮器,当用此芯片组成应用系统时, 必须在外部进行程序存贮器的扩展。 根据应用系统对程序存贮器容量的不同要求,可采用不同容量的 存贮芯片。 常用的EPROM扩展芯片有: 2K字节:2716 4K字节:2732 8K字节:2764 16K字节:27128 等。,2020/8/6,9,外部程序存储器扩展的一般方法,存贮器芯片与单片机可按如下方式连接: 1. 地址线的连接 存贮器低8位地址线A7A0: 接P0口(P0.7P0.0); 存贮器高8位地址线A15A8: 接P2口(P2.7P2.0); 2.数据线的连接 存贮器的8位数据线D7D0: 接P0口(P0.7P
9、0.0) 3.控制线的连接 OE (存贮器输出允许信号);在程序存储器端 PSEN (片外程序存贮器取指信号); ALE (地址锁存允许信号)地址锁存器锁存信号; EA (片内片外存贮器选择信号),当采用80318032时EA应接地;当采用80518751,且选用内部ROMEPROM时,EA 应接高电平。,2020/8/6,10,关于片选,若扩展一片,则/CE接地 若扩多片,一般用未用到的高位地址线线选,或高位地址线经译码后做片选。,74LS138 (3/8 ) 74LS139 (2/4) 74LS154 (4/16),2020/8/6,11,3.控制线 OE (存贮器输出允许信号); PSE
10、N (片外程序存贮器取指信号);,外部程序存储器扩展的一般方法示意图,P2.7 P2.0,P0.7 P0.0,ALE,PSEN,EA,CE,A16 A8,A7 A0,D7 D0,OE,外 部 程 序 锁 存 器 (0K -64K),地址 锁存器,8031,8,8,8,未用到的高位地址线线选,或高位地址线经译码后做片选。,1. 地址线的连接 低8位A7A0: 接P0口(P0.7P0.0) 高8位A15A8: 接P2口(P2.7P2.0),2.数据线的连接 8位数据线D7D0: 接P0口(P0.7P0.0),EA (片内片外存贮器选择信号), 应接地,ALE (地址锁存允许信号),2020/8/6
11、,12,锁存器74LS373 管脚图,1 20 2 19 3 18 4 17 5 16 6 15 7 14 8 13 9 12 10 11,CE 1Q 1D 2D 2Q 3Q 3D 4D 4Q GND,VCC 8Q 8D 7D 7Q 6Q 6D 5D 5Q G,3 2 4 5 7 6 8 9 13 12 14 15 17 16 18 19,P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,A7 A6 A5 A4 A3 A2 A1 A0,ALE,G,CE,当/CE时: 若G=1:锁存器输出QQ状态输入(D 8D)状态 G=10时:即下降沿,输入端(D 8D)数据锁入
12、QQ中,74LS373,74LS373,与单片机连接图: ALE=1时,AP ALE从10,低8锁存到A端,选不同的芯片做锁存器时,与单片机接法不同!,带三态输出的8D锁存器,2020/8/6,13,EPROM 2732 管脚图,1 24 2 23 3 22 4 21 5 20 6 19 7 18 8 17 9 16 10 15 11 14 12 13,A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 GND,VCC A8 A9 A11 OE/VPP A10 CE O7 O6 O5 O4 O3,2732,1. 地址线: A11A0 2. 数据线:O0 O7 3. 电源线:GND
13、 、VCC 4. 片选线:CE 5. 输出允许:OE,2020/8/6,14,外部程序存储器扩展的一般方法示意图,P2.7 P2.0,P0.7 P0.0,ALE,PSEN,EA,CE,A16 A8,A7 A0,D7 D0,OE,外 部 程 序 锁 存 器 (0K -64K),地址 锁存器,8031,8,8,8,未用到的高位地址线线选,或高位地址线经译码后做片选。,2020/8/6,15,典型EPROM扩展电路,OE,2020/8/6,16,典型EPROM扩展电路,OE,若G=1:QD G=10时:锁存,2020/8/6,17,外部程序存储器访问时序,控制信号有: ALE:低位地址锁存控制。 P
14、SEN:外部程序存储器读取控制。 P2口承担地址高八位线。A8 A15。 P0口是复用口:承担地址低八位线(A0 A7)和数据线。如何区分?靠 ALE和PSEN。 ALE时: P2口出A8 A15, P0口出A0 A7,靠ALE下降沿将低 地址锁存;此时PSEN,所以不能取指令。 PSEN时,将高低组合地址的指令内容送上数据总线输入单片机中, 当PSEN时,CPU完成对P0口指令的采样。译码后执行指令。 用此法实现P0口地址/数据的分离。 ALE信号:一个机器周期出现次, 频率固定,ALE=1/6(f0SC),可定时 PSEN信号:依指令的字节数和执行时间的不同,在一个机器周期内出现次数不同。
15、 如:ADD A,#08H; 24 08, 1MC INC A; 04, 1MC,则第二个取指操作无效 MOVX A,R0; E2, 2MC,2020/8/6,18,外部程序存储器访问时序,ALE,PSEN,P2,P0,ALE信号:一个机器周期出现次, 频率固定,ALE=1/6(f0SC),可定时 PSEN信号:依指令的字节数和执行时间的不同,在一个机器周期内出现次数不同。,2020/8/6,19,典型EPROM扩展电路,OE,若G=1:QD G=10时:锁存,2020/8/6,20,ALE信号:一个机器周期出现次, 频率固定,ALE=1/6(f0SC),可定时 PSEN信号:依指令的字节数和
16、执行时间的不同,在一个机器周期内出现次数不同。,如:ADD A,#08H ; 24 08, 1MC INC A ; 04, 1MC,则第二个取指操作无效 MOVX A,R0 ;E2, 2MC,2020/8/6,21,8051/8751的最小应用系统,XTAL1,XTAL2,RESET,EA,P0,P1,P2,P3,8051 8751,8,8,8,8,+5V,+5V,Ra,Ka,Ra1,Ca,Co1,Co2,19,18,2020/8/6,22,8031最小应用系统,8031是片内无程序存贮器的芯片,因此,其最小应用系统必须在片外扩展EPROM 。,地址 锁存,EPROM,+5V,Ra,Ra1,C
17、a,Co1,Co2,Ka,XTAL1,XTAL2,RESET,EA,P2.3-P2.0,ALE,PSEN,P0.7-P0.0,8,4,4,8,AB11-AB8,AB 7-A B0,0V,2020/8/6,23,外部程序存储器扩展的一般方法示意图,P2.7 P2.0,P0.7 P0.0,ALE,PSEN,EA,CE,A16 A8,A7 A0,D7 D0,OE,外 部 程 序 锁 存 器 (0K -64K),地址 锁存器,8031,8,8,8,未用到的高位地址线线选,或高位地址线经译码后做片选。,2020/8/6,24,小结,关于最小系统 程序存储器的扩展 思考题: 5.1 作业:5.4,2020
18、/8/6,25,5.4 数据存贮器的扩展,在MCS-51系列单片机中,片内数据存贮器的容量一般为128256字节。当数据量大时,就需要在片外扩展RAM数据存贮器,扩展的容量最大可达64KB。 但由于51系列单片机对片外扩展的IO口采用外部数据存贮器映射方式进行输入输出(即将片外IO口当作外部数据存贮器的存贮单元,在指令及接口上不加区别),在这种情况下,如果系统扩展的有IO口,则允许直接扩展的外部数据存贮器的容量将不足64KB。,502,2020/8/6,26,5.4 数据存贮器的扩展,在MCS-51系列单片机中,片内数据存贮器的容量一般为128256字节。当数据量大时,就需要在片外扩展RAM数
19、据存贮器,扩展的容量最大可达64KB。 但由于51系列单片机对片外扩展的IO口采用外部数据存贮器映射方式进行输入输出(即将片外IO口当作外部数据存贮器的存贮单元,在指令及接口上不加区别),在这种情况下,如果系统扩展的有IO口,则允许直接扩展的外部数据存贮器的容量将不足64KB。,片外RAM I/O口,2020/8/6,27,数据存贮器扩展的一般方法,单片机与数据存贮器的连接方法和单片机与程序存贮器的连接方法大致相同: 地址线的连接方法与程序存贮器连接的方法相同 数据线的连接方法与程序存贮器连接的方法相同; 控制线的连接要用到下述控制信号: 存贮器读(输入)信号RDRD(P3.7)单片机(输出)
20、信号; 存贮器写(输入)信号WRWR(P3.6)单片机写(输出)信号; ALE的连接与程序存贮器的连接相同。,2020/8/6,28,数据存贮器扩展的一般方法,P2.7 P2.0,P0.7 P0.0,ALE,CE,A16 A8,A7 A0,D7 D0,地址 锁存器,8031,8,8,8,RD,MEMW,WR,MEMR,RAM,8,2020/8/6,29,8031存储器的地址空间分配,片内RAM,专用存储器,最大可达 64KB,内部数据存储器,片外数据存储器,00H 7FH 80H FFH,0000H,FFFFH,最大可达 64KB,片外程序存储器,0000H,FFFFH,片内外地址是重叠的,但
21、访问指令不同 MOV MOVX, MOVX指令也有两种类型: 1) 8位指针寻址空间为256个字节 MOVX A,Ri ;(i=0,1) MOVX Ri,A ;(i=0,1) 2) 16位指针访问的RAM单元地址256时 MOVX A,DPTR MOVX DPTR,A,2020/8/6,30,数据存贮器扩展的一般方法,片内RAM与扩展的外RAM地址是重叠的,但访问的指令不同 MOV 访问内部RAM, MOVX访问外部数据存贮器。 外部数据存贮器通常又设置成两个数据区,因此,MOVX指令也有两种类型: (1)低8位地址线寻址的外部数据区,此区域的寻址空间为256个字节。CPU可以使用下列读、写指
22、令来访问此存贮区: MOVX A,Ri ;(i=0,1) MOVX Ri,A ;(i=0,1) 由于8位寻址指令所占字节少,指令执行速度快,故在数据量不大的情况下,应尽可能采用这种8位寻址指令。 (2)16位地址线寻址的外部数据区 当外部RAM容量较大,要访问的RAM单元地址256时,则要采用如下的16位寻址指令: MOVX A,DPTR MOVX DPTR,A,2020/8/6,31,常用数据存储器扩展电路 8031扩展2KB字节的数据存贮器,/RD /WR P2.7 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 EA ALE,
23、/OE /WE /CE A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0,D7 Q7 D6 Q6 D5 Q5 D4 Q4 D3 Q3 D2 Q2 D1 Q1 D0 Q0,8031,6116 2K,74LS373,2020/8/6,32,(2) 应用系统中接有片外RAM,在S4结束后,先把需读取RAM中的地址放到总线上,包括P0口上的低8位地址A0-A7和P2口上的高8位地址A8-A15。当RD选通脉冲有效时,将RAM的数据通过P0数据总线读进CPU。第二个机器周期的ALE信号仍然出现,进行一次外部ROM的读操作,但是这一次的读操
24、作属于无效操作。对外部RAM进行写操作时,CPU输出的则是WR(写选通信号),将数据通过P0数据总线写入外部存储,MOVX A,R0 ;E2, 2MC,2020/8/6,33,常用数据存储器扩展电路 8031扩展2KB字节的数据存贮器,/RD /WR P2.7 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 EA ALE,/OE /WE /CE A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0,D7 Q7 D6 Q6 D5 Q5 D4 Q4 D3 Q3 D2 Q2 D
25、1 Q1 D0 Q0,8031,6116 2K,74LS373,片选决定外RAM地址,2020/8/6,34,8031扩展2KB字节的数据存贮器,由图可知: 由ALE把P0端口输出的低8位地址A0A7锁存在74LS373, P2口的P2.0P2.2直接输出高3位地址A8A10, 执行读操作指令时,RD及OE有效,使6116RAM中指定地址单元的数据经D0D7从P0口读入。 写操作时,WR及WE有效,由P0口提供的数据经D0D7写入6116的指定单元中。 若只有一片数据存贮器,且无IO扩展时,CE可直接接地;若有地址,或有多片数据存贮器时,CE可由译码产生。 6116的片选 CE接P2.7,其地
26、址空间是重叠的,2020/8/6,35,SRAM6116:“16” 2K8b = 2KB 21210 = 211 即6116有11根地址线。 地址空间: A10 A9 A8 ,A7 A6 A5 A4, A3A2 A1 A0 最低地址: 0 0 0 , 0 0 0 0 , 0 00 0 0000H 最高地址: 1 1 , 1 1 1 1 , 1 1 1 1 07FFH 6116本身的地址空间:0000H 07FFH ,2K MCS-51单片机寻址范围:64KB 26210 = 216 即16位地址线 地址空间: A15 A14 A13 A12 A11 A10 A9 A8 A7A0 单片机 A10
27、 A9 A8 A7A0 6116 25 = 32 2KB 上式中:“”表示0或1。 即单片机地址空间中包含有32个2KB。 某片6116占据的是哪2KB不能确定地址浮动。 只有限定A15A11的取值才能确定6116在系统中的地址范围。,芯片本身的片内地址 从最小0到最大7FFH 连续变化,2020/8/6,36,A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 A10 A9 A8 A7 A0 0 1 1 1 1 A10 A9 A8 A7 A0 1 0 1 1 1 A10 A9 A8 A7 A0 如,P2.7 = 0
28、,选中6116的/CS线。设P2.6 P2.5 P2.4 P2.3假定全为1 则: 6116地址范围是?。 同理, P26 P25 P24 P23假定全为0 则: 6116地址范围是 ?; 再设P26选中6116 (设P27 P25 P24 P23全为1) 则:地址范围是?,0000H 07FFH,地址空间:,7800H 7FFFH,B800H BFFFH,MOV DPTR, #7800H MOV A, #12H MOVX DPTR,A MOVX A,DPTR ,2020/8/6,37,可见:,存储器芯片在系统中地址分布由两个因素决定: 一是,芯片本身的地址线(与容量有关) 二是,芯片选通信号
29、的获得方式。 原则:扩展存储器时,总是让单片机低位地址与存储器芯片地址线相接;而让单片机剩余的高位地址线(在P2口)常作为片选信号线(也可译码后做片选)。这样地址连续,便于编程。 这种方法对SRAM、EPROM、扩展I / O芯片、外设同样适用。,2020/8/6,38,当单片机既要扩展外部程序存贮器,又要扩展外部数据存贮器时,其电路形式可参照如图5.9所示的电路进行安排。 图中,8031单片机扩展了2732EPROM和6116RAM,构成具有4K程序存贮器2K数据存贮器的单片机系统,其中,两片存贮器共用一个地址锁存器,高位地址线和数据线共用。由于2732由 PSEN选通,6116由 RD和W
30、R选通,因此,即使两个片选信号同时有效,也不会出现同时对两片进行操作的情况。 由图可知,2732为4K程序存贮器,P2.3 作为其最高位的地址线,片选信号直接接地,而对6116 RAM,P2.3 则作为其片选信号,所以2732的有效地址空间为0000H0FFFH,而6116的有效地址空间为0000H07FFH。,2020/8/6,39,常用数据存储器扩展电路 8031同时扩展程序存贮器和数据存贮器电路,0000H0FFFH,0000H07FFH,1,2020/8/6,40,上图中: 2732在本系统内地址范围: 0000H0FFFH 6116在本系统内地址范围:0000H07FFH 可见,61
31、16与2732在0000H07FFH范围内地址重叠,这是不是违反交换原则呢? 因为,6116是SRAM,2764是EPROM。除地址和选通信号外,还有读/写控制信号起作用。 RAM /WE /WR 可用来区分二 /OE /RD 二器件 ROM /OE /PSEN 若6116与2732都用P2.4选中可否? 可以。此时6116: 0000H07FFH 2732:0000H0FFFH (不唯一) 2732、6116片选同时接地可以吗?,2020/8/6,41,上图中: 2732在本系统内地址范围: 0000H0FFFH 6116在本系统内地址范围:0000H07FFH 可见,6116与2732在0
32、000H07FFH范围内地址重叠,这是不是违反交换原则呢?不! 因为,6116是SRAM,2764是EPROM。除地址和选通信号外,还有读/写控制信号起作用。 RAM /WE /WR 可用来区分二 /OE /RD 二器件 ROM /OE /PSEN 若6116与2732都用P2.4选中可否? 可以。此时6116: 0000H07FFH 2732:0000H0FFFH 2732、6116片选同时接地可以吗?,2020/8/6,42,即:,外RAM与外ROM同时扩展时: 允许二者使用相同的地址线,即地址可重叠; 片选线可相同,也可不同 二者靠读写控制信号进行区别。,2020/8/6,43,5.5
33、IO口扩展,MCS51单片机共有4个IO端口:P0、P1、P2、P3,在MCS-51应用系统中,单片机本身提供给用户使用的输入、输出口线并不多,只有P1和部分P3口线。因此,在大部分MCS-51单片机应用系统设计中都不可避免的要进行I/O口的扩展。 MCS51单片机对于片外扩展IO口,是采用外部数据存贮器映射方式进行输入、输出的。 由于MCS -51的外部数据存储器RAM和I/O口是统一编址的,因此用户可以把外部字节的数据存储器RAM空间的一部分作为扩展外围I/O的地址空间。这样,单片机就可以像访问外部RAM存储器那样访问外部接口芯片,对其进行读/写操作。,数据来自具有读写能力的接口芯片,地址
34、借用可扩展64K外RAM某区间。,MOVX,2020/8/6,44,从功能上看,单片机IO口的扩展有两种基本类型: 简单IO口扩展:功能单一,多用于简单外设的数据输入、输出,例如数据显示器的控制,一组开关状态的输入等; 74LS系列的LSTTL电路或MOS电路 可编程IO口扩展:功能丰富,应用范围广,但芯片价格相对较昂贵。 MCS51单片机对于片外扩展IO口,是采用外部数据存贮器映射方式进行输入、输出的。因此,外部IO口的扩展与外部数据存贮器的扩展在方法上是基本相同的。,IO口扩展概述,2020/8/6,45,IO口扩展概述,MCS-51单片机属Intel公司产品,故采用Intel公司的配套外
35、围接口芯片与MCS-51单片机的接口电路最为简单、可靠。Intel公司常用外围器件如下表 另外,74LS系列的LSTTL电路或MOS电路也可以作为MCS-51的扩展I/O口,利用单片机本身的串行口也可扩展并行输入/输出口。,2020/8/6,46,简单IO口扩展,当单片机需要扩展的端口数量不多时,可利用缓冲器和锁存器直接在总线上扩展IO端口。 注意:输入口和输出口要分别扩展 输出数据要能在输出口上保留,以供外设读取使用,所以,构成输出口时,接口芯片应具有锁存功能; 当构成输入口时,接口芯片应具有一定的总线缓冲能力。(即带控制端的接口) 例图就是利用8位三态缓冲器74LS244组成的输入口, 8
36、D锁存器74LS273组成的输出口电路。,2020/8/6,47,CLR CLK D Q L L;清零或复位 H H H;上升沿锁存 H L L H L Q0;保持,G=0时,Q=D,导通 1G=2G=1时,高阻状态,只有时钟上升沿时刻的输入才锁存到输出,非时钟上升沿时刻的输入不影响输出。,D触发器,三态缓冲器 74LS244,2020/8/6,48,简单IO口扩展,FEFFH,FEFFH,输入和输出都是在P2.0为“0”时有效。,在连接芯片时,可利用执行MOVX类指令时产生的RD和WR信号来参加片选。,2020/8/6,49,用MOVX类指令访问外RAM:,MCS51单片机是将外部IO和外部
37、RAM统一编址的,每个扩展的接口相当于一个扩展的外部RAM单元。因此,访问外部接口就像访问外部RAM一样,用的是MOVX类指令。 据此,在连接芯片时,可利用执行MOVX类指令时产生的RD和WR信号来参加片选。 例图输出控制信号由P2.0和 WR合成,输入控制信号由P2.0和RD合成。输入和输出都是在P2.0为“0”时有效。(也可分别选通),2020/8/6,50,简单IO口扩展,FEFFH,FEFFH,输入和输出都是在P2.0为“0”时有效。,LOOP: MOV DPTR,0FEFFH ;数据指针指向IO口地址 MOVX A,DPTR ;从244读入数据,检测按扭 MOVX DPTR,A ;向
38、273输出数据,驱动相应的LED SJMP LOOP ;循环,例图中,如果需要实现的功能是按下任意一个键,对应的LED发亮,则程序如下:,2020/8/6,51,例图中,如果需要实现的功能是按下任意一个键,对应的LED发亮,则程序如下:,LOOP: MOV DPTR,0FEFFH ;数据指针指向IO口地址 MOVX A,DPTR ;从244读入数据,检测按扭 MOVX DPTR,A ;向273输出数据,驱动相应的LED SJMP LOOP ;循环,2020/8/6,52,I/O口地址译码技术,在实际的应用系统中,需要扩展: 程序存储器 数据存储器 I/O接口 程序存储器与数据存储器之间不会因为
39、地址重叠而产生数据冲突问题:不同控制信号 但外围I/O芯片与数据存储器是统一编址的, (二者只能靠地址区分),2020/8/6,53,I/O口地址译码技术,MCS-51单片机的地址总线宽度为16位,P2口提供高8位地址(A8-A15),P0口经外部锁存后提供低8位地址(A0-A7)。 为了唯一地选中外部某一存储单元(I/O接口芯片已作为数据存储器的一部分), 必须:一是片选:二是字(片内单元)选。 常用的片选方法有两种: 线选法 全地址译码法,2020/8/6,54,I/O口地址译码技术 线选法,若系统只扩展少量的RAM和I/O接口芯片,可采用选线法。 所谓选线法即是把单独的地址线(通常是P2
40、口的某一根线)接到外围芯片的片选端上,只要该地址为低电平,就选中该芯片。下图为线选法实例 。,8031 P2.3 P2.4 P2.0 P2.5 P2.6 EA P2.7,6116 CE,8255 CS,0832,CE 8253,8155 IO/M CE,A0 A10,A0 A1,AD0 AD7,A0 A1,2020/8/6,55,8031 P2.3 P2.4 P2.0 P2.5 P2.6 EA P2.7,6116 CE,8255 CS,0832,CE 8253,8155 IO/M CE,A0 A10,A0 A1,AD0 AD7,A0 A1,2020/8/6,56,I/O口地址译码技术 线选法,
41、根据上图中地址连接方法,全部地址译码如表所示。,上述地址选择译码中未用到的地址位均设成“1”状态,将它们推向高位。 线选法的特点是硬件电路结构简单,但由于所用片选都是高位地址线,它们的权值较大,地址空间没有充分利用,芯片之间的地址不连续。,2020/8/6,57,I/O口地址译码技术 全地址译码法,P2.0 8031 P2.5 P2.6 P2.7 EA,A Y0 B Y1 C Y3 Y4 Y5 G2A Y6 G2B Y7,6264 CE,8255 CS,0832,CE 8253,8155 IO/M CE,对于RAM和I/O容量较大的应用系统,当芯片所需的片选信号多于可利用的地址线时,常采用全地
42、址译码法。一般采用74LS138作地址译码器,它的逻辑符号如图。,A0 A12,A0 A1,AD0 AD7,A0 A1,74LS138,+5V,2020/8/6,58,P2.0 8031 P2.5 P2.6 P2.7 EA,A Y0 B Y1 C Y3 Y4 Y5 G2A Y6 G2B Y7,74LS138,+5V,2020/8/6,59,P2.0 8031 P2.5 P2.6 P2.7 EA,A Y0 B Y1 C Y3 Y4 Y5 G2A Y6 G2B Y7,6264 CE,8255 CS,0832,CE 8253,8155 IO/M CE,A0 A12,A0 A1,AD0 AD7,A0
43、A1,74LS138,+5V,2020/8/6,60,原则:,不管用什么方法片选,目的是一个地址一定要唯一地选中外部某一个存储单元,2020/8/6,61,例:作业5.5 用74LS138设计一个译码电路,利用8031单片机的P0口和P2口译出地址为2000H3FFFH的片选信号CS。,A15 A14 A13 A12, A11 A10 A9 A8, A7A6 A5 A4, A3 A2 A1 A0 单片机 0 0 1 0, 0 0 0 0, 0 0 0 0, 0 0 0 02000H 0 0 1 1, 1 1 1 1, 1 1 1 1, 1 1 1 1 3FFFH,8031 P2.5 P2.6
44、P2.7 EA,A Y0 B Y1 C Y3 Y4 Y5 G2A Y6 G2B Y7,74LS138,CS,01FFFH,8K,片内地址。在全地址变化范围为8K,+5V,2020/8/6,62,小结,数据存储器的扩展 IO口的扩展 思考题: 5.2 5.3 5.6 5.8 作业: 5.7 ,5.9,2020/8/6,63,可编程IO口的扩展,在单片机接口中,常使用一些结构复杂的接口芯片,以完成各种复杂的操作。这类芯片一般具有多种功能,在使用前,必须由CPU对其编程,以设定其工作方式,之后才能使芯片按设定的方式进行操作,这就是可编程接口。 常见的可编程接口芯片如表5.1所示。这些原是Intel公
45、司MCS80808085CPU的通用外围接口芯片,由于MCS-51单片机也具有类似的总线结构,因此,这些芯片几乎可以与MCS51单片机进行直接配接。,503,2020/8/6,64,8155的结构和技术性能,下图是8155的内部结构和引脚配置。在8155内部具有: 256字节的静态随机存贮器,最快存取时间为400ns; 有三个通用的输入、输出口。其中A口和B口是8位口,C口是6位口。 C口可作状态口,这时,A口和B口能在应答式的输入输出方式下工作; 有一个14位的可编程定时计数器;(减) 内部有地址锁存器,多路转换的地址和数据总线;(AD0AD7是地址数据复用线) 单一+5V电源,40条引脚。
46、,PC0PC5,2020/8/6,65,8155的结构和技术性能,包括:256B静态RAM; 2 个8位和1个6位可编程并行I / O口; 1个14位定时器(减1计数); 1个8位地址锁存器; 一些控制逻辑电路等。 引脚: AD0 AD7 地址/数据线。 传送地址、数据、命令、状态等。 ALE 地址锁存(输入) IO / /M IO口/RAM选择 0:选内RAM 1:选内IO口 /CS 片选线 /RD、/WR 读、写控制 PA7 PA0 A口输入/输出线 PB7 PB0 B口输入/输出线 PC5 PC0 C口输入/输出线 TIMERIN 定时器输入(输入定时器所需时钟) TIMEROUT 定时
47、器输出(输出所产生的方波脉冲),PC0PC5,2020/8/6,66,8155的结构和技术性能,包括:256B静态RAM; 2 个8位和1个6位可编程并行I / O口; 1个14位定时器(减1计数); 1个8位地址锁存器; 一些控制逻辑电路等。 引脚: AD0 AD7 地址/数据线。 传送地址、数据、命令、状态等。 ALE 地址锁存(输入) IO / /M IO口/RAM选择 0:选内RAM 1:选内IO口 /CS 片选线 /RD、/WR 读、写控制 PA7 PA0 A口输入/输出线 PB7 PB0 B口输入/输出线 PC5 PC0 C口输入/输出线 TIMERIN 定时器输入(输入定时器所需
48、时钟) TIMEROUT 定时器输出(输出所产生的方波脉冲),2020/8/6,67,8155的片选、内部RAM和IO口地址,8155的片选信号为 /CS,当 /CS= 0时,选中该片。 8155的另一脚IOM对片内RAM和IO口进行选择, 当IOM = 0时,选中片内RAM;当 IO/ M = 1时,选中IO口。 8155的IO寄存器共有6个,它们各占有的地址如表5.2所示。,2020/8/6,68,8155的RAM和I / O口地址编码,包括: 内RAM 256B对应256个地址 命令/状态寄存器地址 1个地址 PA口地址 1个地址 PB口地址 1个地址 PC口地址 1个地址 定时器低8位
49、地址 1个地址 定时器高8位地址 1个地址,由AD7 AD0 及IO / /M决定。,2020/8/6,69,8155与8031的连接,由于8155内部既有256字节的静态RAM,又有三个IO口和一个计数器,因此是单片机系统的理想扩展器件。下图给出了8155与8031的最基本连接方式。,图中将P2.4 与IOM相连,因此: 当P2.4 = 0时,锁存的地址指向RAM; 地址为:EF00EFFFH 当P2.4 = 1时,则指向IO口。 FF00H(命令状态字) FF01H(A口) FF02H (B口) FF03H (C口) FF04H (计数器低) FF05H (计数器高) 地址之后出现的数据是
50、写入8155还是从8155读出,取决于是 WR信号有效还是 RD信号有效。 读写指令:MOVX,A15 A14 A13 A12, A11 A10 A9 A8, A7A6 A5 A4, A3 A2 A1 A0 单片机 1 1 1 0, 1 1 1 1, 0 0 0 0, 0 0 0 0EF00H 1 1 1 0, 1 1 1 1, 1 1 1 1, 1 1 1 1 EFFFH 1 1 1 1, 1 1 1 1, 0 0 0 0, 0 0 0 0FF00H 1 1 1 1, 1 1 1 1, 0 0 0 0, 0 0 0 1FF01H 1 1 1 1, 1 1 1 1, 0 0 0 0, 0 0
51、1 0FF02H 1 1 1 1, 1 1 1 1, 0 0 0 0, 0 0 1 1FF03H 1 1 1 1, 1 1 1 1, 0 0 0 0, 0 1 0 0FF04H 1 1 1 1, 1 1 1 1, 0 0 0 0, 0 1 0 1FF05H,图5.12,2020/8/6,70,8155的工作方式与基本操作,1、作单片机片外256B数据存储器 2、作扩展I / O口使用 3、作定时器扩展使用,2020/8/6,71,1、作单片机片外256B数据存储器,2020/8/6,72,8155片内RAM的使用,注意:确保IO/M=0。与其它数据存储器统一编址。用MOVX访问。 下面是一段测
52、试程序,可以检验数据是否能正确地从8155读出和写入。 EXAM: MOV DPTR,0E700H ;指向8155RAM的零单元 MOV A,01H ;存入数1 MOVX DPTR,A INC DPTR ;指向下一个单元 MOV A,0FFH MOVX DPTR,A ;存入数FFH MOV DPTR,0E700H ;重新指向零单元 MOVX A,DPTR ;从8155 RAM中读数 MOV R2,A ;暂存到R2中 INC DPTR MOVX A,DPTR ;将取出的数相加 ADD A,2 ;取出第二个数 JZ OK ;判断和数是否为0 ERR: ;不为零,读写不正确 OK: ;和为零,读写正
53、确,2020/8/6,73,2、作扩展I / O口使用 关键: 了解工作方式 写好控制字,2020/8/6,74,8155片内IO口的使用 命令寄存器的用法,8155的命令控制字格式如图5.13所示。这里的8个控制位全部用于IO口和定时器的方式控制。图如下所示。,C口可以设置成四种工作方式(ALT1、ALT2、ALT3、ALT4),2020/8/6,75, 在ALT1方式时,A口、B口为基本IO口,C口为输入口。 在ALT2方式时,A口、B口为基本IO口,C口为输出口。 在ALT3方式时,A口被定义为选通输入/输出方式,由C口的低3位作为A口的 络联线,C口的其余位作输出口线,而B口为基本IO
54、口。 在ALT4方式时,A口、B口均定义为选通输入输出方式,C口的低3位仍作为 A口的络联线,C口的另外3位作为B口的联络线。,2020/8/6,76,8155A口B口选通方式下的逻辑图,PA PC0 PC1 PC2 PC3 PC4 PC5 PB,WR,RD,I/O口,设备数据线,AINTR至单片机中断请求输入端,BINTR至单片机中断请求输入端,I/O口,设备数据线,BBF至设备,ABF至设备,BSTB来自外设,ASTB来自外设,8155,2020/8/6,77,8155A口B口选通方式下工作过程:,选通输入操作:外设数据备好后写入8155A口,向单片机提中断读8155A口 如A口设为输入口,相当于单片机的一个输入口,此时为应答方式,C口低位为联络线; 当外设数据准备好时,向8155发一选通信号STB(低有效),外设将数据写入8155,当8155缓冲器满时,BF变高,然后释放STB,当STB从低高时,INTR变高,向单片机申请中断; 当单片机在中断服务程序中读取数据时,INTR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 媒体资源协作合同(2篇)
- 地砖改造租房合同范本
- 2025至2030年中国印刷夹棍市场现状分析及前景预测报告
- 2025至2030年中国单层热压机市场现状分析及前景预测报告
- 2025至2030年中国匝间绝缘测试仪数据监测研究报告
- 2025至2030年中国动态可调光衰减器行业投资前景及策略咨询报告
- 2025至2030年中国加热溶剂型反光标线涂料市场分析及竞争策略研究报告
- 2025至2030年中国凹凸海绵行业发展研究报告
- 2025至2030年中国冶炼电炉湿式除尘器行业发展研究报告
- 2025至2030年中国六角扁铲市场分析及竞争策略研究报告001
- 火锅店创业计划书:营销策略
- 交通大数据分析-深度研究
- 基础护理学试题及标准答案
- DB11-T 1754-2024 老年人能力综合评估规范
- 招聘团队管理
- 【课件】用坐标描述简单几何图形+课件人教版七年级数学下册
- 电商运营岗位聘用合同样本
- 2023年浙江省杭州市上城区中考数学一模试卷
- 租赁钻杆合同范例
- 消毒管理办法
- 湖北省黄冈市部分学校2024-2025学年七年级上学期期中地理试卷(含答案)
评论
0/150
提交评论