1、单片机原理及应用杨恢先黄辉先主编单片机原理及应用单片机原理及应用第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 6.1 总线并行扩展总线并行扩展 6.2 存贮器接口扩展存贮器接口扩展 6.3 输入输入/输出并行接口扩展输出并行接口扩展 6.4 D/A转换器接口扩展转换器接口扩展 6.5 A/D转换器接口扩展转换器接口扩展 6.6 显示及键盘接口扩展显示及键盘接口扩展 6.7 微型打印机接口微型打印机接口 单片机原理及应用杨恢先黄辉先主编MCS 51系统单片机(系统单片机(8031、8032除外)尽管是一除外)尽管是一功能完全的单片机,但因其内部资源(功能完全的单片机,但因其
2、内部资源(RAM、ROM、I/O、A/D、D/A等)不足,在实际应用中不加以扩展等)不足,在实际应用中不加以扩展直接用其基本系统的情况较少,直接用其基本系统的情况较少,一般情况下需扩展一般情况下需扩展。6.1 6.1 并行扩展总线并行扩展总线 一、总线并行扩展方法一、总线并行扩展方法 MCS 51可以扩展可以扩展64KB的程序存贮器的程序存贮器和和64KB的数据存贮器的数据存贮器或或输输入入/输出口输出口。第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口803180518751P2ALEP0PSENWRRDD0D7A0A7A8A15地址总线地址总线数据总线数据总线 控制总线控
3、制总线地址地址锁存器锁存器单片机原理及应用杨恢先黄辉先主编 P0、P2口口可以可以直接直接作为输入输出口使用,作为输入输出口使用,其其更重要的用途是用来更重要的用途是用来扩展总线口使用扩展总线口使用。P0口作为地址口作为地址(地(地址低址低8位)位)/数据(数据(D0D7)总线口。总线口。P2口作为地址总线口作为地址总线口口(地址高(地址高8位)位)。第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口803180518751P2ALEP0PSENWRRDD0D7A0A7A8A15地址总线地址总线数据总线数据总线 控制总线控制总线地址地址锁存器锁存器单片机原理及应用杨恢先黄辉先主
4、编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 一般用一般用74LS373作地址锁存器,作地址锁存器,输出的地址当输出的地址当ALE上升以后有效,当上升以后有效,当ALE下降以后消失下降以后消失,因此可以,因此可以用用ALE的负跳变将地址打入地址锁存器的负跳变将地址打入地址锁存器,即当,即当ALE由高由高变低时,将出现在变低时,将出现在P0口的地址信号低口的地址信号低8位锁存到外部地位锁存到外部地址锁存器中(如图址锁存器中(如图6 2所示),直到下一次所示),直到下一次ALE变高时,变高时,地址才发生变化。地址才发生变化。用用74LS373作地址锁存器作地址锁存器D0.D
5、7Q0.Q7锁存器锁存器三态门三态门(a)74LS373逻辑符号逻辑符号GEINOUT19 A716 A69 A35 A12 A0D0.0D0.1D0.2D0.3D0.4D0.5D0.6D0.78D7D6D5D4D3D2D1D32 1834 1433 1735 1336 837 738 439 315 A512 A46 A28Q7Q6Q5Q4Q3Q2Q1QGALE+5V20GND11074LS37330803180518751(b)MCS 51地址扩展电路地址扩展电路Vcc11EN单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 PSENMCS
6、51 P2,P0 RD WR外部程序外部程序存存 贮贮 器器扩展RAM并行I/O接口串行I/O接口A/D转换D/A转换定时器计数器外部数据存贮器扩展外部数据存贮器扩展并行I/O设 备串行I/O设 备模拟量输 入模拟量输 出扩展总线扩展总线外部外部程序程序存贮器用存贮器用PSEN作为作为读读选通信号选通信号外部外部数据数据存贮器用存贮器用RD和和WR作为作为读读/写写选通信号选通信号 单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口二、地址译码方法二、地址译码方法 1、线选法、线选法 一般片选端(一般片选端(CS、CE等)低电平有效,只要连接片等
7、)低电平有效,只要连接片选信号端的引线状态为选信号端的引线状态为低电平低电平,就,就表示选中该芯片表示选中该芯片。在在确定地址时,该芯片未用到的地址线为确定地址时,该芯片未用到的地址线为1,用,用到的地址到的地址线由所访问的芯片和单线由所访问的芯片和单元确定。元确定。线选法线选法有可能产生地址有可能产生地址重叠重叠:若片选线中除和存贮:若片选线中除和存贮芯片芯片CS相连的以外还存在相连的以外还存在悬空的片选线,则存贮单元悬空的片选线,则存贮单元的地址就有重叠现象;否则,的地址就有重叠现象;否则,存贮单元的地址就是唯一的。存贮单元的地址就是唯一的。单片机原理及应用杨恢先黄辉先主编第六章第六章 M
8、CS 51单片机的并行扩展接口单片机的并行扩展接口2、全地址译码法、全地址译码法全地址译码就是将系统中全地址译码就是将系统中未用到的全部高位地址未用到的全部高位地址作作为译码信号的输入端,由此产生的译码输出信号作为选为译码信号的输入端,由此产生的译码输出信号作为选片信号的一种译码方式。片信号的一种译码方式。在全地址在全地址译码法中,存译码法中,存贮器每个存贮贮器每个存贮单元单元只有唯一只有唯一的一个的一个CPU地地址和它一一对址和它一一对应应,只要单片,只要单片机发出这个机发出这个地址就可选中该存贮单元工作,故不存在地址就可选中该存贮单元工作,故不存在地址重叠现象。地址重叠现象。单片机原理及应
9、用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口3、部分地址译码法、部分地址译码法 部分地址译码法是指单片机片选线中部分地址译码法是指单片机片选线中只有一部分参只有一部分参加了译码,其余部分是悬空的加了译码,其余部分是悬空的,在实际应用中这种使,在实际应用中这种使用方式不太多。当使用部分地址译码法时,无论用方式不太多。当使用部分地址译码法时,无论CPU使悬空片选地址线上电平如何变化,都不会影响它对使悬空片选地址线上电平如何变化,都不会影响它对存贮单元的选址,故存贮器每个存贮单元的地址不是存贮单元的选址,故存贮器每个存贮单元的地址不是唯一的,必然会有一个以上的
10、唯一的,必然会有一个以上的CPU地址和它对应(既地址和它对应(既地址有重叠)。地址有重叠)。采用部分地址译码法时必须把程序和数据采用部分地址译码法时必须把程序和数据放在基本放在基本地址范围内地址范围内(即(即悬空片选地址线全为悬空片选地址线全为低电平低电平时存贮芯时存贮芯片的地址范围),以避免因地址重叠引起程序运行的片的地址范围),以避免因地址重叠引起程序运行的错误。错误。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口三、总线驱动能力及扩展方法三、总线驱动能力及扩展方法 MCS 51系列单片机,作为数据总线和低系列单片机,作为数据总线和低8位
11、地址位地址总线的总线的P0口可驱动口可驱动8个个TTL电路电路,而如,而如P2口等其它口只口等其它口只能驱动能驱动4个个TTL电路电路。当应用系统规模过大,可能造成。当应用系统规模过大,可能造成负载过重,致使驱动能力不够,系统不能可靠地工作时,负载过重,致使驱动能力不够,系统不能可靠地工作时,需另增设总线驱动。需另增设总线驱动。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口1 1、总线的驱动扩展、总线的驱动扩展 G803180518751地址总线地址总线缓冲器缓冲器控制总线控制总线83数据总线数据总线8A8A15(P2口)口)D0D7(P0口
12、)口)PSENWRRDGDBEODBEI缓冲器缓冲器ABDBCB单向驱动单向驱动 74LS244双向驱动双向驱动 74LS245单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口地址总线和控制总线的驱动器为地址总线和控制总线的驱动器为单向驱动器单向驱动器,并具,并具有三态输出功能。驱动器有一个控制端有三态输出功能。驱动器有一个控制端G,以控制驱动以控制驱动器开通或处于高阻状态。器开通或处于高阻状态。常用的地址总线和控制总线的驱动器有常用的地址总线和控制总线的驱动器有74LS240(带反向输出带反向输出)、)、74LS241和和74LS244。2
13、2、地址和控制总线的驱动扩展、地址和控制总线的驱动扩展74LS244P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7246811131517A8A9A10A11A12A13A14A151816141297531020+5V119图图6 6(b)P2口的单向驱动扩展口的单向驱动扩展74LS2441G1A12Y41A22Y31A32Y21A42Y1GND图图6 6(a)单向驱动器单向驱动器74LS24412345678910VCC2G2Y12A41Y22A31Y32A21Y42A120191817161514131211单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片
14、机的并行扩展接口单片机的并行扩展接口3 3、数据总线的驱动扩展、数据总线的驱动扩展 数据总线为双向驱动器。常用的双向总线驱动器数据总线为双向驱动器。常用的双向总线驱动器为为74LS24574LS245。1+5V74LS245P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.723456789D0D1D2D3D4D5D6D71817161514131211102019图67(b)P0口的双向驱动扩展74LS245DIRA0A1A2A3A4A5A6A7GND图67(a)双向驱动器74LS24512345678910VCCGB0B1B2B3B4B5B6B72019181716151413
15、1211GDIRPSENRDA0A7 B0B774LS245当G=0时:DIR=1时,ABDIR=0时,BA单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 6.2 6.2 MCS MCS 5151存贮器的扩展存贮器的扩展 对于用内部无对于用内部无ROM的芯片的芯片8031,8032来建立系统,来建立系统,则则必须必须外部扩展程序存贮器。外部扩展程序存贮器。对于仅靠内部对于仅靠内部ROM,其,其ROM容量不能满足要求的容量不能满足要求的情况,则可外部扩展程序存贮器。情况,则可外部扩展程序存贮器。程序存贮器的程序存贮器的作用作用:用于存贮程序代码
16、或程序常数用于存贮程序代码或程序常数。一、程序存贮器的扩展一、程序存贮器的扩展 EPROM和和E2PROM都可作单片机的外部程序存贮都可作单片机的外部程序存贮器,由于器,由于EPROM价格低廉,性能可靠,故应用最广泛,价格低廉,性能可靠,故应用最广泛,目前因目前因E2PROM的的价格在不断下降,读、写速度在不断价格在不断下降,读、写速度在不断增快,加上可用电擦除及掉电后信息不会丢失,编程也增快,加上可用电擦除及掉电后信息不会丢失,编程也方便等特点,故应用也越来越多。方便等特点,故应用也越来越多。1、常用的、常用的EPROM芯片介绍芯片介绍单片机原理及应用杨恢先黄辉先主编 EPROM是是紫外线可
17、擦除电可编程紫外线可擦除电可编程的半导体只读存的半导体只读存贮器,掉电后信息不会丢失。贮器,掉电后信息不会丢失。EPROM中的程序一般由中的程序一般由专门的专门的编程器写入编程器写入,由专门的擦除器擦除(擦除后,由专门的擦除器擦除(擦除后EPROM阵列阵列全为全为1状态),擦除时紫外线强度为状态),擦除时紫外线强度为12000m mw/cm2,波长为波长为l=l=2537,时间为时间为1020min。常用的常用的EPROM有:有:2716,2732,2764,.。EPROM电路电路第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口单片机原理及应用杨恢先黄辉先主编第六章第六章 M
18、CS 51单片机的并行扩展接口单片机的并行扩展接口A0 Ai:地址输入线。地址输入线。2716:i=10;27512:i=15;(2K64K)O0O7:三态数据总线。三态数据总线。接接CPU的的P0.0P0.7读或读或编程校验时为数据输出线编程校验时为数据输出线编程时为数据输入线编程时为数据输入线维持或编程禁止时呈高阻态维持或编程禁止时呈高阻态有有的的芯芯片片合合用用引引脚脚CE:片选信号输入线(片选信号输入线(接接CPU地址线地址线)PGM:编程脉冲输入线编程脉冲输入线OE:读选通信号输入线读选通信号输入线(输出使能输出使能)(接接CPU 的的PSEN线线)VPP:编程电源输入线编程电源输入
19、线VCC:主电源输入线主电源输入线GND:线路地线路地单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 E2PROM电路电路 E2PROM是是电可擦除电可编程电可擦除电可编程的半导体存贮器,掉的半导体存贮器,掉电后信息不会丢失。编程时简单,不需要专门的编程器电后信息不会丢失。编程时简单,不需要专门的编程器和擦除器。故和擦除器。故E2PROM实际上是一种特殊的可读写存贮实际上是一种特殊的可读写存贮器器。E2PROM兼有程序存贮器和数据存贮器的特点,故兼有程序存贮器和数据存贮器的特点,故在单片机应用系统中既可作为程序存贮器,又可作为数在单片机应用系
20、统中既可作为程序存贮器,又可作为数据存贮器。据存贮器。常用的并行常用的并行E2PROM有:有:2817,2864。A0 Ai:地址输入线。地址输入线。2817:i=10;2864:i=12;(;(2K,8K)I/O0I/O7:双向三态数据线。(双向三态数据线。(P0.0P0.7)单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口CE:片选信号输入线(片选信号输入线(接接CPU地址线地址线)OE:读选通信号输入线读选通信号输入线(接接CPU RD PSEN)WE:写选通信号输入线写选通信号输入线(接接CPU WR)RDY/BUSY:2817的状态输
21、出线,为的状态输出线,为“0”表示正在表示正在进行写操作,写入完毕呈高阻态进行写操作,写入完毕呈高阻态VCC:主电源主电源+5VGND:线路地线路地E2PROM有有读、写、维持三种操作方式。读、写、维持三种操作方式。2817的写操作:的写操作:当当2817收到收到CPU发来的地址、数据和写控制信号后,发来的地址、数据和写控制信号后,便启动内部电路对该地址单元进行写操作,此时便启动内部电路对该地址单元进行写操作,此时RDY/BUSY输出输出低电平低电平,大约,大约16ms以后,写操作完成,完成以后,写操作完成,完成后后RDY/BUSY呈呈高电平(外接上拉电阻)或高阻。高电平(外接上拉电阻)或高阻
22、。2817单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口的的RDY/BUSY状态线可供状态线可供CPU采用中断或查询方式来采用中断或查询方式来控制对控制对2817的字节写操作。的字节写操作。2864的写操作:的写操作:Inter公司的公司的2864采用页面写操作方式。采用页面写操作方式。Inter公司公司的的2864A内设有内设有16B的页缓冲器的页缓冲器,其整个存贮空间分为其整个存贮空间分为512页(每页页(每页16B),),页面操作分页面操作分“页加载页加载”和和“页存页存贮贮”两步进行两步进行。“页加载页加载”指在软件控制下,将一页(指
23、在软件控制下,将一页(116B)的的数据写入数据写入2864内的内的“页缓冲器页缓冲器”。“页存贮页存贮”是是2864A在其内部电路控制下把在其内部电路控制下把页缓冲页缓冲器器的内容存入的内容存入E2PROM单元。单元。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口“某一值某一值”由内部程序由内部程序存贮器的容量存贮器的容量决定。决定。PSEN是是MCS51对外部程序存贮器的读选通信号对外部程序存贮器的读选通信号输出线,仅当输出线,仅当CPU访问外部程序存贮器时,访问外部程序存贮器时,PSEN才有才有效效。程序存贮器扩展的基本原理程序存贮器扩
24、展的基本原理2、程序存贮器的扩展方法、程序存贮器的扩展方法PC 某一值,某一值,CPU从内部从内部存贮器中取存贮器中取指令指令PC 某一值,某一值,CPU从外部从外部存贮器中取存贮器中取指令指令EA=1EA=0 CPU总是总是从外部存贮器中读取指令从外部存贮器中读取指令单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口MCS51访问外部程序存贮器时序波形如下:访问外部程序存贮器时序波形如下:MCS51访问外部程序存贮器时序波形单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 程序存贮器扩展的一般方
25、法程序存贮器扩展的一般方法P2口口ALEP0口口PSEN MCS51地址锁存器地址锁存器 A0A7 A8A15 O0O7A8A15A0A7D0D7EA+5V10KW W 常用的地址锁存器有:常用的地址锁存器有:74LS373(三态缓冲输出的三态缓冲输出的八八D锁存器);锁存器);8282(三态缓冲输出的八(三态缓冲输出的八D锁存器);锁存器);74LS273(带清除端的八带清除端的八D锁存器)。锁存器)。最常用的是最常用的是74LS373,当然地址锁存器芯片不同,则与单片机的连当然地址锁存器芯片不同,则与单片机的连接方式不同。接方式不同。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 5
26、1单片机的并行扩展接口单片机的并行扩展接口 E低电平有效(一低电平有效(一般接地)。般接地)。G(STB)为锁存信号输入端为锁存信号输入端,高电平时高电平时Q0Q7=D0D7 G(STB)电平负跳电平负跳变(为变(为0)时,)时,Q0Q7状态保持不变。状态保持不变。G(STB)实际连接时接单片机的实际连接时接单片机的ALE。74LS373和和8282都是透明的三态门八都是透明的三态门八D锁存器,其锁存器,其工作原理为:工作原理为:单片机原理及应用杨恢先黄辉先主编 当需扩展时,单片机一般采用片内无一般采用片内无ROM的的8031芯片芯片。P2.0P2.i ALE 8031 EA P0 PSEN
27、锁 存 器 E A8An A0A7 EPROM CE D0D7 OEG8n78eg:2716 2K n=10,则为P2.0P2.2 用8031单片机,无内部ROM,EA必须接地。只扩展一片EPROM,故CE=0当用带内部当用带内部ROMROM的的单片机芯片时单片机芯片时,EA=1(+5V)第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 P2.i+1P2.0P2.i ALE8031 EA P0 PSEN 锁 存 器 EA0A7 A8An1 EPROM(1)CE D0D7 OEG8
28、n178A0A7 A8An2 EPROM(2)CE D0D7 OE8n27 当采用74LS273作地址锁存器时,锁存器控制端为上升沿锁存上升沿锁存,故ALE须反相才能接到74LS273的锁存器控制端。用8031单片机,无内ROM,EA必须接地。扩展多片EPROM,故必须用一条或多条地址一条或多条地址线线 来片选来片选。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口二、数据存贮器的二、数据存贮器的扩展扩展 MCS 51单片机内已具有单片机内已具有128或或256B的的RAM,它们它们可以作为可以作为工作寄存器工作寄存器、堆栈堆栈、软件标志软件标
29、志和和数据缓冲器数据缓冲器使使用,用,一般应用场合已基本满足要求,但当需要大容量一般应用场合已基本满足要求,但当需要大容量RAM时(如数据采集系统),就须外部扩展时(如数据采集系统),就须外部扩展RAM。1、常用的数据存贮器、常用的数据存贮器 最常用的最常用的RAM为半导体为半导体静态随机存取存贮器静态随机存取存贮器,如,如6116,6264,62256。E2PROM也可作外部也可作外部RAM(但(但速度慢),但因它掉电后信息不丢失,对某些要求不间速度慢),但因它掉电后信息不丢失,对某些要求不间断工作、对于一些关键性的实时数据不允许丢失的场合断工作、对于一些关键性的实时数据不允许丢失的场合较合
30、适,较合适,但其读但其读/写速度稍慢写速度稍慢(尤其是写的速度)故用(尤其是写的速度)故用其作扩展时,在硬件和软件设计都应着重考虑这一因素。其作扩展时,在硬件和软件设计都应着重考虑这一因素。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 静态随机存取存贮器静态随机存取存贮器RAM,具有速度快、使用方具有速度快、使用方便和价格低廉等优点,但也具有掉电丢失数据的缺点。便和价格低廉等优点,但也具有掉电丢失数据的缺点。A0 Ai:地址输入线。地址输入线。6116:i=10;6264:i=12;(2K64K)I/O0I/O7:双向三态数据线。(接双向三
31、态数据线。(接CPU的的P0.0P0.7)CE:片选信号输入线(片选信号输入线(接接CPU地址线地址线)OE:读选通信号输入线读选通信号输入线(接接CPU RD)WE:写选通信号输入线写选通信号输入线(接接CPU WR)VCC:主电源主电源+5V GND:线路地线路地单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口2、数据存贮器扩展方法、数据存贮器扩展方法 MCS51 对外部数据存贮器的操作指令对外部数据存贮器的操作指令MOVX A,RiMOVX Ri,AMOVX A,DPTRMOVX DPTR,A只能寻址较小的外部数据存贮器空间能对64KB的
32、外部数据存贮器空间寻址 CPU在访问外部数据存贮器时在访问外部数据存贮器时,在在ALE下降为低电下降为低电平后,平后,P2口输出的地址信息保持不变口输出的地址信息保持不变,而,而P0口转为浮空,口转为浮空,原来的低原来的低8位地址信息丢失,因此位地址信息丢失,因此需要外部锁存器在需要外部锁存器在ALE下降时把下降时把P0口的地址信息锁存起来口的地址信息锁存起来。ALE返回低电平后,读信号返回低电平后,读信号RD或写信号或写信号WR有效,有效,而而PSEN始终无效始终无效,故外部程序存贮器单元不会被选通故外部程序存贮器单元不会被选通。见下页的时序图。单片机原理及应用杨恢先黄辉先主编第六章第六章
33、MCS 51单片机的并行扩展接口单片机的并行扩展接口 MCS51 读外部数据存贮器时序波形读外部数据存贮器时序波形单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 MCS51 写外部数据存贮器时序波形写外部数据存贮器时序波形单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 MCS51 和外部数据存贮器的接口方法和外部数据存贮器的接口方法CPU 存贮器 RD OE WR WEP0.0P0.7 D0D7CPU 存贮器 RD OE WR WEP0.0P0.7 D0D7A0A7P2.0P2.?A8An
34、P2.i+1CE经地址锁存A0A7经地址锁存单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口三、存贮器三、存贮器扩展举例扩展举例下图中,扩展一片27256(32K),一片62256(32K)P2.7 P2.0P26 ALE EA P0 PSENRD WR 7ALS373 E GNDA0A7 A8A14 27256(ROM)CE O0O7 OEG878A0A7 A8A14 CE 62256(RAM)O0O7 OE WE8788031RAM的地址为:07FFFH(P2.7为片选信号,P2.7=0)ROM的地址为:07FFFH(CE接地)由PSEN、
35、RD、WR有效访问。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 6.3 输入输出并行接口扩展输入输出并行接口扩展 MCS51具有4个I/O口P0P3,但P0、P2口往往作为扩展总线使用,P3往往用其第二功能,故实际常用来作I/O口使用的就仅剩下P1口,如外接较多的I/O设备(打印机,键盘,显示器等),显然得扩展I/O接口。I/O接口扩展一般用并行扩展,常用来扩展的器件有:可编程并行接口8255;三态门电路,锁存器 eg:74LS377(373,273)扩展输出,74LS244(245)扩展输入;可编程RAM/IO扩展器8155;利用串行口
36、的移位寄存器工作方式(方式0)也可以扩展I/O口,这时所扩展的I/O口不占用片外的RAM地址。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口一、采用一、采用8255A扩展并行扩展并行I/O接口接口1、8255A的结构的结构8255A是Intel公司的一种通用的可编程的并行接口电路,它具有三个8位并行口PA,PB,PC。D0D7:双向三态数据总线 PA,PB,PC:三个8位I/O口 RD:读选通信号输入线 WR:写选通信号输入线 A1A0:端口地址输入线,用于选择内部端口寄存器(一般接CPU P0经地址锁存后的P0.1、P0.0或P2.1、P2
37、.0)CS:选片信号输入线。(接CPU地址线)RESET:复位信号输入线。复位后PA,PB,PC均为 输入方式。0 1C口1 0控制器1 1B口A口0 0口号A1 A0单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口8255A逻辑框图8255A引脚图P163 表6-1列出了8255A的端口寻址和操作WR=0为写写PA,PB,PC口及控制口。D0D7 PA,PB,PC,控制口RD=0为读读PA,PB,PC口。PA,PB,PC D0D7 Vcc:主电源+5VGND:线路地 8255A的引脚图及逻辑框图如下所示:单片机原理及应用杨恢先黄辉先主编第六章
38、第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口2、8255A操作方式操作方式 8255A有三种工作方式:方式有三种工作方式:方式0,方式,方式1,方式,方式2 方式方式0基本输入/输出工作方式这种方式不需要任何选通信号不需要任何选通信号,A口,B口,C口中任何一个端口都可以设定为输入或输出。作为输出口时,输出数据被锁存。作为输入口时,输入数据不锁存。适应于无条件无条件传输数据的设备。选通输入/输出方式A口,B口可由编程设定为输入口或输出口,C口的大部分口的大部分位用来作为输入位用来作为输入/输出的控制和同步信号输出的控制和同步信号。A口和B口的输入数据或输出数据都被锁存都被锁存。
39、方式方式18255A方式1的输入、输出逻辑组态及输入时序波形如下:单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口8255A方式1输入时序波形8255A方式1的输入输入逻辑组态(a)8255A方式1的输入逻辑组态(b)单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口8255A方式1的输出逻辑组态(b)8255A方式1的输出逻辑组态(a)8255A方式1输出时序波形单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 方式2双方选通输入/输出方式A口为
40、双向三态数据总线口,既可发送数据又可接收数据,在这种方式下,C口的P37用来作为输入/输出的控制同步信号。只有只有 A口允许口允许作为双向三态数据总线口使用,这时B口和PC02则可编程为方式0和方式1工作。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口3、8255A的控制字的控制字 方式控制字方式控制字A口00方式0 01 1 1 2A口0输出 1输入D61D5D4D3D2D1D0PC口0PC74输出 1 PC74输入B口0方式0 1方式1B口0输出 1输入PC口0PC30输出 1 PC30输入0D3D2D1D0000PC.0001PC.1。
41、111PC.70清01置1 PC口置位口置位/复位控制字复位控制字单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口4、MCS-51和和8255A的接口方法的接口方法eg:8255 PA接一组开关接一组开关,PB口口接一组接一组指示灯指示灯。以下程序是将开关状态读入PA口再从PB口输出。MCS 518255A74LS373GGCSA1A0D0D7RDWRRESET88P2.7ALEP0RDWR+5VPAPBPC888I/OI/OI/O图617 8255A与MCS51的一种接口逻辑单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并
42、行扩展接口单片机的并行扩展接口C51C51参考程序如下:参考程序如下:#include#include#define unchar unsigned char#define CONT 0 x90#define ADDR8D XBYTE 0 x7FFF/定义8255A端口地址#define ADDR8B XBYTE 0 x7FFD#define ADDR8A XBYTE 0 x7FFCunchar iofunc(void)/8255A 输入输出控制函数unchar mid;ADDR8D=CONT;/输出控制字 mid=ADDR8A;/读A口信息 ADDR8B=mid;/输出信息到B口 retur
43、n mid;void main(void)unchar b;b=iofunc();/调用8255A 芯片控制程序 单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 eg:把内部RAM中30H开始的32个单元的字符输出至打印机。微 型打印机MCS 518255A74LS373GGCSA1A0D0D7RDWRRESETINTRB88P2.6ALEP0RDWRINT0+5VPAPB88I/O图618 8255A与MCS51的另一种接口逻辑D0D7OBFBACKB单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行
44、扩展接口C51C51参考程序如下:参考程序如下:#include#include#define unchar unsigned char#define _8255A_Control XBYTE0 xBFFF/8255A控制口的地址控制口的地址#define _8255A_PA XBYTE0 xBFFC/8255A的的PA口的地址口的地址#define _8255A_PB XBYTE0 xBFFD /8255A的的PB口的地址口的地址#define _8255A_PC XBYTE0 xBFFE /8255A的的PC口的地址口的地址idata unchar text32 _at_ 0 x30;/定
45、义从地址定义从地址30H开始的开始的32个单元的字符数个单元的字符数组组idata unchar count=0;/text数组索引数组索引void INT0_ISR(void)interrupt 0 using 1 /外部中断外部中断0中断服务函数中断服务函数count=count+1;/输出数据则自增输出数据则自增1if(count=32)EX0=0;/数据输出完,禁止外部中断数据输出完,禁止外部中断0else_8255A_PB=textcount;/全部数据未输出完,继续输出数据全部数据未输出完,继续输出数据 单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口
46、单片机的并行扩展接口void main(void)unchar i;for(i=0;i 32;i+)texti=i+0 x30;/text数组初始化数组初始化_8255A_Control=0 x05;/置置PC2=1(即即INTEB置置1)_8255A_Control=0 xBC;/设置设置PB口为方式口为方式1输出输出_8255A_PB=textcount;/从从PB口输出第一个数据口输出第一个数据EA=1;/开中断开中断EX0=1;/允许外部中断允许外部中断0,电平触发方式,电平触发方式while(1);当打印机取走当打印机取走CPUCPU通过通过8255A8255A的的PBPB口送来的数
47、据后,反馈回答口送来的数据后,反馈回答信号使信号使INTRBINTRB变为高电平,经过反向器后引起外部中断变为高电平,经过反向器后引起外部中断0 0提出中断提出中断申请,申请,CPUCPU响应外部中断响应外部中断0 0的中断申请,并执行相应的中断服务程的中断申请,并执行相应的中断服务程序序INT0_ISRINT0_ISR。在中断服务程序中再输出一个数据至微型打印机,。在中断服务程序中再输出一个数据至微型打印机,同样会再次引起中断,直至全部数据输出完毕并设置禁止外部中同样会再次引起中断,直至全部数据输出完毕并设置禁止外部中断断0 0。单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片
48、机的并行扩展接口单片机的并行扩展接口二、采用二、采用8155A扩展并行扩展并行I/O接口接口 256B的静态RAM,最快存取时间为400ns 两个可编程的8位并行I/O口(PA、PB)一个可编程的6位并行I/O口(PC)一个可编程的14位减法计数器8155的的片内资片内资源源 1、8155结构结构 AD0AD7:地址/数据总线 IO/M :高电平选择I/O口,低电平选择RAM CE :片选信号 ALE :地址允许锁存信号输入线 RD :读选通信号输入线 WR :写选通信号输入线 TI :计数器的计数脉冲输入线 TO :计数器的输出信号线 RESET PA0PA7、PB0PB7、PC0PC5单片
49、机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 3、8155的命令字和状态字的命令字和状态字TM2TM1IEBIEAPC2PC1PBPA00空操作,不影响定时器/计数器工作01立即停止定时器/计数器计数10待定时器/计数器溢出时停止计数11启动定时器/计数器计数0禁止中断,1允许中断00PA、PB为基本I/O,PC为输入口11PA、PB为基本I/O,PC为输出口01PA为选通I/O,PB为基本I/O,PC02为控制线,PC35输出10PA、PB为选通I/O,PC为控制线0输入口,输入口,1输出口输出口 命令字命令字命令字只能写不能读命令字只能写不
50、能读。2、8155内部寄存器内部寄存器8155内部寄存器编址内部寄存器编址:命令字寄存器、状态寄存器:000 PA口寄存器:001 PB口寄存器:010 PC口寄存器:011 定时器/计数器低字节寄存器:100 定时器/计数器高字节寄存器:101单片机原理及应用杨恢先黄辉先主编第六章第六章 MCS 51单片机的并行扩展接口单片机的并行扩展接口 状态字状态字状态字只能读不能写状态字只能读不能写。TIMER INTEBBFBINTRBINTEABFAINTRAPA中断请求标志PA缓冲器满标志PA中断允许标志定时器/计数器中断请求标志。定时器/计数器溢出时置位,CPU读读8155状态后清零状态后清零
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。